diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c381b50f1b..6bf2034006 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -4,5 +4,5 @@ ## **Discord contact info** - - \ No newline at end of file + + diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 283e6f8fb5..a99c99283d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,8 +32,9 @@ jobs: repository: pret/agbcc - name: Install binutils - run: sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi - # build-essential, git, and libpng-dev are already installed + run: | + sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi libpng-dev + # build-essential and git are already installed # gcc-arm-none-eabi is only needed for the modern build # as an alternative to dkP diff --git a/.gitignore b/.gitignore index 082430d794..f940d26b21 100644 --- a/.gitignore +++ b/.gitignore @@ -21,7 +21,6 @@ sound/**/*.bin sound/songs/midi/*.s tools/agbcc *.map -*.ld *.bat *.dump *.sa* @@ -39,3 +38,5 @@ prefabs.json *.diff *.sym *.js +/pokeemerald-*.png +/pokeemerald_modern-*.png diff --git a/INSTALL.md b/INSTALL.md index 920e03c713..03b28ba464 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -24,7 +24,7 @@ Unscientific benchmarks suggest **msys2 is 2x slower** than WSL1, and **Cygwin i All of the Windows instructions assume that the default drive is C:\\. If this differs to your actual drive letter, then replace C with the correct drive letter when reading the instructions. -**A note of caution**: As Windows 7 is officially unsupported by Microsoft and Windows 8 has very little usage, some maintainers are unwilling to maintain the Windows 7/8 instructions. Thus, these instructions may break in the future with fixes taking longer than fixes to the Windows 10 instructions. +**A note of caution**: As Windows 7 and Windows 8 are officially unsupported by Microsoft, some maintainers are unwilling to maintain the Windows 7/8 instructions. Thus, these instructions may break in the future with fixes taking longer than fixes to the Windows 10/11 instructions. ## Windows 10/11 (WSL1) WSL1 is the preferred terminal to build **pokeemerald**. The following instructions will explain how to install WSL1 (referred to interchangeably as WSL). @@ -33,27 +33,23 @@ WSL1 is the preferred terminal to build **pokeemerald**. The following instructi - Otherwise, **open WSL** and go to [Choosing where to store pokeemerald (WSL1)](#Choosing-where-to-store-pokeemerald-WSL1). ### Installing WSL1 -1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following command (Right Click or Shift+Insert is paste in the Powershell). +1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following commands (Right Click or Shift+Insert is paste in the Powershell). ```powershell - dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart + wsl --install -d Ubuntu --enable-wsl1 ``` 2. Once the process finishes, restart your machine. -3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice. +3. Open Windows Powershell **as Administrator** again (after restarting), and run the following command to configure Ubuntu to use WSL1. + + ```powershell + wsl --set-version Ubuntu 1 + ```
- Note for advanced users... + Note... - > You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested. -
- -4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution. -
- Notes... - - > Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog. - > Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number). + > WSL may open automatically after restarting, but you can ignore it for now.
### Setting up WSL1 @@ -354,6 +350,13 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to > [install devkitARM on Arch Linux](#installing-devkitarm-on-arch-linux). +### NixOS +Run the following command to start an interactive shell with the necessary packages: +```bash +nix-shell -p pkgsCross.arm-embedded.stdenv.cc git pkg-config libpng +``` +Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to-store-pokeemerald-linux). + ### Other distributions _(Specific instructions for other distributions would be greatly appreciated!)_ diff --git a/Makefile b/Makefile index 5c073b36ca..354c335235 100644 --- a/Makefile +++ b/Makefile @@ -1,49 +1,53 @@ -TOOLCHAIN := $(DEVKITARM) -COMPARE ?= 0 +# GBA rom header +TITLE := POKEMON EMER +GAME_CODE := BPEE +MAKER_CODE := 01 +REVISION := 0 +MODERN ?= 0 +KEEP_TEMPS ?= 0 +# `File name`.gba ('_modern' will be appended to the modern builds) +FILE_NAME := pokeemerald +BUILD_DIR := build + +# Builds the ROM using a modern compiler +MODERN ?= 0 +# Compares the ROM to a checksum of the original - only makes sense using when non-modern +COMPARE ?= 0 + +ifeq (modern,$(MAKECMDGOALS)) + MODERN := 1 +endif ifeq (compare,$(MAKECMDGOALS)) COMPARE := 1 endif +# Default make rule +all: rom + +# Toolchain selection +TOOLCHAIN := $(DEVKITARM) # don't use dkP's base_tools anymore # because the redefinition of $(CC) conflicts # with when we want to use $(CC) to preprocess files # thus, manually create the variables for the bin # files, or use arm-none-eabi binaries on the system # if dkP is not installed on this system - ifneq (,$(TOOLCHAIN)) -ifneq ($(wildcard $(TOOLCHAIN)/bin),) -export PATH := $(TOOLCHAIN)/bin:$(PATH) -endif + ifneq ($(wildcard $(TOOLCHAIN)/bin),) + export PATH := $(TOOLCHAIN)/bin:$(PATH) + endif endif PREFIX := arm-none-eabi- OBJCOPY := $(PREFIX)objcopy OBJDUMP := $(PREFIX)objdump AS := $(PREFIX)as - LD := $(PREFIX)ld -# note: the makefile must be set up so MODERNCC is never called -# if MODERN=0 -MODERNCC := $(PREFIX)gcc -PATH_MODERNCC := PATH="$(PATH)" $(MODERNCC) - -ifeq ($(OS),Windows_NT) -EXE := .exe -else EXE := -endif - -TITLE := POKEMON EMER -GAME_CODE := BPEE -MAKER_CODE := 01 -REVISION := 0 -MODERN ?= 0 - -ifeq (modern,$(MAKECMDGOALS)) - MODERN := 1 +ifeq ($(OS),Windows_NT) + EXE := .exe endif # use arm-none-eabi-cpp for macOS @@ -63,81 +67,89 @@ else CPP := $(PREFIX)cpp endif -ROM_NAME := pokeemerald.gba +ROM_NAME := $(FILE_NAME).gba +OBJ_DIR_NAME := $(BUILD_DIR)/emerald +MODERN_ROM_NAME := $(FILE_NAME)_modern.gba +MODERN_OBJ_DIR_NAME := $(BUILD_DIR)/modern + ELF_NAME := $(ROM_NAME:.gba=.elf) MAP_NAME := $(ROM_NAME:.gba=.map) -OBJ_DIR_NAME := build/emerald - -MODERN_ROM_NAME := pokeemerald_modern.gba MODERN_ELF_NAME := $(MODERN_ROM_NAME:.gba=.elf) MODERN_MAP_NAME := $(MODERN_ROM_NAME:.gba=.map) -MODERN_OBJ_DIR_NAME := build/modern -SHELL := /bin/bash -o pipefail - -ELF = $(ROM:.gba=.elf) -MAP = $(ROM:.gba=.map) -SYM = $(ROM:.gba=.sym) +# Pick our active variables +ifeq ($(MODERN),0) + ROM := $(ROM_NAME) + OBJ_DIR := $(OBJ_DIR_NAME) +else + ROM := $(MODERN_ROM_NAME) + OBJ_DIR := $(MODERN_OBJ_DIR_NAME) +endif +ELF := $(ROM:.gba=.elf) +MAP := $(ROM:.gba=.map) +SYM := $(ROM:.gba=.sym) +# Commonly used directories C_SUBDIR = src -GFLIB_SUBDIR = gflib ASM_SUBDIR = asm DATA_SRC_SUBDIR = src/data DATA_ASM_SUBDIR = data SONG_SUBDIR = sound/songs MID_SUBDIR = sound/songs/midi -SAMPLE_SUBDIR = sound/direct_sound_samples -CRY_SUBDIR = sound/direct_sound_samples/cries C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR) -GFLIB_BUILDDIR = $(OBJ_DIR)/$(GFLIB_SUBDIR) ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR) DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR) SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) +SHELL := bash -o pipefail + +# Set flags for tools ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=$(MODERN) +INCLUDE_DIRS := include +INCLUDE_CPP_ARGS := $(INCLUDE_DIRS:%=-iquote %) +INCLUDE_SCANINC_ARGS := $(INCLUDE_DIRS:%=-I %) + +O_LEVEL ?= 2 +CPPFLAGS := $(INCLUDE_CPP_ARGS) -Wno-trigraphs -DMODERN=$(MODERN) ifeq ($(MODERN),0) -CC1 := tools/agbcc/bin/agbcc$(EXE) -override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -g -ROM := $(ROM_NAME) -OBJ_DIR := $(OBJ_DIR_NAME) -LIBPATH := -L ../../tools/agbcc/lib -LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall + CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef -std=gnu89 + CC1 := tools/agbcc/bin/agbcc$(EXE) + override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O$(O_LEVEL) -fhex-asm -g + LIBPATH := -L ../../tools/agbcc/lib + LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall else -CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet -override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -ROM := $(MODERN_ROM_NAME) -OBJ_DIR := $(MODERN_OBJ_DIR_NAME) -LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" -LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall + # Note: The makefile must be set up to not call these if modern == 0 + MODERNCC := $(PREFIX)gcc + PATH_MODERNCC := PATH="$(PATH)" $(MODERNCC) + CC1 := $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet + override CFLAGS += -mthumb -mthumb-interwork -O$(O_LEVEL) -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast + LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" + LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall +endif +# Enable debug info if set +ifeq ($(DINFO),1) + override CFLAGS += -g endif -CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN) -ifneq ($(MODERN),1) -CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef -endif - -LDFLAGS = -Map ../../$(MAP) - -SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c -GFX := tools/gbagfx/gbagfx$(EXE) -AIF := tools/aif2pcm/aif2pcm$(EXE) -MID := tools/mid2agb/mid2agb$(EXE) -SCANINC := tools/scaninc/scaninc$(EXE) -PREPROC := tools/preproc/preproc$(EXE) -RAMSCRGEN := tools/ramscrgen/ramscrgen$(EXE) -FIX := tools/gbafix/gbafix$(EXE) -MAPJSON := tools/mapjson/mapjson$(EXE) -JSONPROC := tools/jsonproc/jsonproc$(EXE) +# Variable filled out in other make files +AUTO_GEN_TARGETS := +include make_tools.mk +# Tool executables +GFX := $(TOOLS_DIR)/gbagfx/gbagfx$(EXE) +AIF := $(TOOLS_DIR)/aif2pcm/aif2pcm$(EXE) +MID := $(TOOLS_DIR)/mid2agb/mid2agb$(EXE) +SCANINC := $(TOOLS_DIR)/scaninc/scaninc$(EXE) +PREPROC := $(TOOLS_DIR)/preproc/preproc$(EXE) +RAMSCRGEN := $(TOOLS_DIR)/ramscrgen/ramscrgen$(EXE) +FIX := $(TOOLS_DIR)/gbafix/gbafix$(EXE) +MAPJSON := $(TOOLS_DIR)/mapjson/mapjson$(EXE) +JSONPROC := $(TOOLS_DIR)/jsonproc/jsonproc$(EXE) PERL := perl - -# Inclusive list. If you don't want a tool to be built, don't add it here. -TOOLDIRS := tools/aif2pcm tools/bin2c tools/gbafix tools/gbagfx tools/jsonproc tools/mapjson tools/mid2agb tools/preproc tools/ramscrgen tools/rsfont tools/scaninc -TOOLBASE = $(TOOLDIRS:tools/%=%) -TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE)) +SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c MAKEFLAGS += --no-print-directory @@ -148,45 +160,46 @@ MAKEFLAGS += --no-print-directory # Delete files that weren't built properly .DELETE_ON_ERROR: -# Secondary expansion is required for dependency variables in object rules. -.SECONDEXPANSION: - -.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) libagbsyscall modern tidymodern tidynonmodern +RULES_NO_SCAN += libagbsyscall clean clean-assets tidy tidymodern tidynonmodern generated clean-generated +.PHONY: all rom modern compare +.PHONY: $(RULES_NO_SCAN) infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) -# Build tools when building the rom -# Disable dependency scanning for clean/tidy/tools -# Use a separate minimal makefile for speed -# Since we don't need to reload most of this makefile -ifeq (,$(filter-out all rom compare modern libagbsyscall syms,$(MAKECMDGOALS))) -$(call infoshell, $(MAKE) -f make_tools.mk) -else -NODEP ?= 1 -endif - -# check if we need to scan dependencies based on the rule -ifeq (,$(MAKECMDGOALS)) - SCAN_DEPS ?= 1 -else - # clean, tidy, tools, mostlyclean, clean-tools, $(TOOLDIRS), tidymodern, tidynonmodern don't even build the ROM - # libagbsyscall does its own thing - ifeq (,$(filter-out clean tidy tools mostlyclean clean-tools $(TOOLDIRS) tidymodern tidynonmodern libagbsyscall,$(MAKECMDGOALS))) - SCAN_DEPS ?= 0 - else - SCAN_DEPS ?= 1 +# Check if we need to scan dependencies based on the chosen rule OR user preference +NODEP ?= 0 +# Check if we need to pre-build tools and generate assets based on the chosen rule. +SETUP_PREREQS ?= 1 +# Disable dependency scanning for rules that don't need it. +ifneq (,$(MAKECMDGOALS)) + ifeq (,$(filter-out $(RULES_NO_SCAN),$(MAKECMDGOALS))) + NODEP := 1 + SETUP_PREREQS := 0 endif endif -ifeq ($(SCAN_DEPS),1) +.SHELLSTATUS ?= 0 + +ifeq ($(SETUP_PREREQS),1) + # If set on: Default target or a rule requiring a scan + # Forcibly execute `make tools` since we need them for what we are doing. + $(foreach line, $(shell $(MAKE) -f make_tools.mk | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) + ifneq ($(.SHELLSTATUS),0) + $(error Errors occurred while building tools. See error messages above for more details) + endif + # Oh and also generate mapjson sources before we use `SCANINC`. + $(foreach line, $(shell $(MAKE) generated | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) + ifneq ($(.SHELLSTATUS),0) + $(error Errors occurred while generating map-related sources. See error messages above for more details) + endif +endif + +# Collect sources C_SRCS_IN := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) C_SRCS := $(foreach src,$(C_SRCS_IN),$(if $(findstring .inc.c,$(src)),,$(src))) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) -GFLIB_SRCS := $(wildcard $(GFLIB_SUBDIR)/*.c) -GFLIB_OBJS := $(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o,$(GFLIB_SRCS)) - -C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s) +C_ASM_SRCS := $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s) C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS)) ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s) @@ -204,46 +217,34 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS)) MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid) MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS)) -OBJS := $(C_OBJS) $(GFLIB_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) +OBJS := $(C_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS) OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS)) SUBDIRS := $(sort $(dir $(OBJS))) $(shell mkdir -p $(SUBDIRS)) -endif -AUTO_GEN_TARGETS := - -all: rom - -tools: $(TOOLDIRS) - -syms: $(SYM) - -$(TOOLDIRS): - @$(MAKE) -C $@ +# Pretend rules that are actually flags defer to `make all` +modern: all +compare: all +# Other rules rom: $(ROM) ifeq ($(COMPARE),1) @$(SHA1) rom.sha1 endif -# For contributors to make sure a change didn't affect the contents of the ROM. -compare: all +syms: $(SYM) -clean: mostlyclean clean-tools +clean: tidy clean-tools clean-generated clean-assets + @$(MAKE) clean -C libagbsyscall -clean-tools: - @$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);) - -mostlyclean: tidynonmodern tidymodern - find sound -iname '*.bin' -exec rm {} + +clean-assets: rm -f $(MID_SUBDIR)/*.s - find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc + find sound -iname '*.bin' -exec rm {} + + find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} + - rm -f $(AUTO_GEN_TARGETS) - @$(MAKE) clean -C libagbsyscall tidy: tidynonmodern tidymodern @@ -255,146 +256,105 @@ tidymodern: rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME) rm -rf $(MODERN_OBJ_DIR_NAME) -ifneq ($(MODERN),0) -$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member -endif - +# Other rules include graphics_file_rules.mk include map_data_rules.mk include spritesheet_rules.mk include json_data_rules.mk -include songs.mk +include audio_rules.mk -%.s: ; +# NOTE: Tools must have been built prior (FIXME) +# so you can't really call this rule directly +generated: $(AUTO_GEN_TARGETS) + @: # Silence the "Nothing to be done for `generated'" message, which some people were confusing for an error. + + +%.s: ; %.png: ; %.pal: ; %.aif: ; -%.1bpp: %.png ; $(GFX) $< $@ -%.4bpp: %.png ; $(GFX) $< $@ -%.8bpp: %.png ; $(GFX) $< $@ -%.gbapal: %.pal ; $(GFX) $< $@ -%.gbapal: %.png ; $(GFX) $< $@ -%.lz: % ; $(GFX) $< $@ -%.rl: % ; $(GFX) $< $@ -$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress -sound/%.bin: sound/%.aif ; $(AIF) $< $@ +%.1bpp: %.png ; $(GFX) $< $@ +%.4bpp: %.png ; $(GFX) $< $@ +%.8bpp: %.png ; $(GFX) $< $@ +%.gbapal: %.pal ; $(GFX) $< $@ +%.gbapal: %.png ; $(GFX) $< $@ +%.lz: % ; $(GFX) $< $@ +%.rl: % ; $(GFX) $< $@ +clean-generated: + @rm -f $(AUTO_GEN_TARGETS) + @echo "rm -f " ifeq ($(MODERN),0) -$(C_BUILDDIR)/libc.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE) +$(C_BUILDDIR)/libc.o: CC1 := $(TOOLS_DIR)/agbcc/bin/old_agbcc$(EXE) $(C_BUILDDIR)/libc.o: CFLAGS := -O2 - $(C_BUILDDIR)/siirtc.o: CFLAGS := -mthumb-interwork - $(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork $(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork $(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork - $(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE) - $(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding -$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm$(EXE) +$(C_BUILDDIR)/librfu_intr.o: CC1 := $(TOOLS_DIR)/agbcc/bin/agbcc_arm$(EXE) $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet else $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast +$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member endif -ifeq ($(DINFO),1) -override CFLAGS += -g -endif +# Dependency rules (for the *.c & *.s sources to .o files) +# Have to be explicit or else missing files won't be reported. -# The dep rules have to be explicit or else missing files won't be reported. # As a side effect, they're evaluated immediately instead of when the rule is invoked. -# It doesn't look like $(shell) can be deferred so there might not be a better way. +# It doesn't look like $(shell) can be deferred so there might not be a better way (Icedude_907: there is soon). -ifeq ($(SCAN_DEPS),1) -ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.c -ifeq (,$(KEEP_TEMPS)) +ifneq ($(KEEP_TEMPS),1) @echo "$(CC1) -o $@ $<" - @$(CPP) $(CPPFLAGS) $< | $(PREPROC) $< charmap.txt -i | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ - + @$(CPP) $(CPPFLAGS) $< | $(PREPROC) -i $< charmap.txt | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ - else @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s @echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s endif -else -define C_DEP -$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include -I gflib $2) -ifeq (,$$(KEEP_TEMPS)) - @echo "$$(CC1) -o $$@ $$<" - @$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ - -else - @$$(CPP) $$(CPPFLAGS) $$< -o $$(C_BUILDDIR)/$3.i - @$$(PREPROC) $$(C_BUILDDIR)/$3.i charmap.txt | $$(CC1) $$(CFLAGS) -o $$(C_BUILDDIR)/$3.s - @echo -e ".text\n\t.align\t2, 0\n" >> $$(C_BUILDDIR)/$3.s - $$(AS) $$(ASFLAGS) -o $$@ $$(C_BUILDDIR)/$3.s -endif -endef -$(foreach src, $(C_SRCS), $(eval $(call C_DEP,$(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(src)),$(src),$(patsubst $(C_SUBDIR)/%.c,%,$(src))))) + +$(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.c + $(SCANINC) -M $@ $(INCLUDE_SCANINC_ARGS) -I tools/agbcc/include $< + +ifneq ($(NODEP),1) +-include $(addprefix $(OBJ_DIR)/,$(C_SRCS:.c=.d)) endif -ifeq ($(NODEP),1) -$(GFLIB_BUILDDIR)/%.o: $(GFLIB_SUBDIR)/%.c $$(c_dep) -ifeq (,$(KEEP_TEMPS)) - @echo "$(CC1) -o $@ $<" - @$(CPP) $(CPPFLAGS) $< | $(PREPROC) $< charmap.txt -i | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ - -else - @$(CPP) $(CPPFLAGS) $< -o $(GFLIB_BUILDDIR)/$*.i - @$(PREPROC) $(GFLIB_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(GFLIB_BUILDDIR)/$*.s - @echo -e ".text\n\t.align\t2, 0\n" >> $(GFLIB_BUILDDIR)/$*.s - $(AS) $(ASFLAGS) -o $@ $(GFLIB_BUILDDIR)/$*.s -endif -else -define GFLIB_DEP -$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include -I gflib $2) -ifeq (,$$(KEEP_TEMPS)) - @echo "$$(CC1) -o $$@ $$<" - @$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ - -else - @$$(CPP) $$(CPPFLAGS) $$< -o $$(GFLIB_BUILDDIR)/$3.i - @$$(PREPROC) $$(GFLIB_BUILDDIR)/$3.i charmap.txt | $$(CC1) $$(CFLAGS) -o $$(GFLIB_BUILDDIR)/$3.s - @echo -e ".text\n\t.align\t2, 0\n" >> $$(GFLIB_BUILDDIR)/$3.s - $$(AS) $$(ASFLAGS) -o $$@ $$(GFLIB_BUILDDIR)/$3.s -endif -endef -$(foreach src, $(GFLIB_SRCS), $(eval $(call GFLIB_DEP,$(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o, $(src)),$(src),$(patsubst $(GFLIB_SUBDIR)/%.c,%, $(src))))) -endif - -ifeq ($(NODEP),1) -$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s - $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ -else -define SRC_ASM_DATA_DEP -$1: $2 $$(shell $(SCANINC) -I include -I "" $2) - $$(PREPROC) $$< charmap.txt | $$(CPP) -I include - | $$(AS) $$(ASFLAGS) -o $$@ -endef -$(foreach src, $(C_ASM_SRCS), $(eval $(call SRC_ASM_DATA_DEP,$(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o, $(src)),$(src)))) -endif - -ifeq ($(NODEP),1) $(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $(AS) $(ASFLAGS) -o $@ $< -else -define ASM_DEP -$1: $2 $$(shell $(SCANINC) -I include -I "" $2) - $$(AS) $$(ASFLAGS) -o $$@ $$< -endef -$(foreach src, $(ASM_SRCS), $(eval $(call ASM_DEP,$(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o, $(src)),$(src)))) + +$(ASM_BUILDDIR)/%.d: $(ASM_SUBDIR)/%.s + $(SCANINC) -M $@ $(INCLUDE_SCANINC_ARGS) -I "" $< + +ifneq ($(NODEP),1) +-include $(addprefix $(OBJ_DIR)/,$(ASM_SRCS:.s=.d)) +endif + +$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s + $(PREPROC) $< charmap.txt | $(CPP) $(INCLUDE_SCANINC_ARGS) - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@ + +$(C_BUILDDIR)/%.d: $(C_SUBDIR)/%.s + $(SCANINC) -M $@ $(INCLUDE_SCANINC_ARGS) -I "" $< + +ifneq ($(NODEP),1) +-include $(addprefix $(OBJ_DIR)/,$(C_ASM_SRCS:.s=.d)) endif -ifeq ($(NODEP),1) $(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s - $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ -else -$(foreach src, $(REGULAR_DATA_ASM_SRCS), $(eval $(call SRC_ASM_DATA_DEP,$(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o, $(src)),$(src)))) -endif -endif + $(PREPROC) $< charmap.txt | $(CPP) $(INCLUDE_SCANINC_ARGS) - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@ -$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s - $(AS) $(ASFLAGS) -I sound -o $@ $< +$(DATA_ASM_BUILDDIR)/%.d: $(DATA_ASM_SUBDIR)/%.s + $(SCANINC) -M $@ $(INCLUDE_SCANINC_ARGS) -I "" $< + +ifneq ($(NODEP),1) +-include $(addprefix $(OBJ_DIR)/,$(REGULAR_DATA_ASM_SRCS:.s=.d)) +endif $(OBJ_DIR)/sym_bss.ld: sym_bss.txt $(RAMSCRGEN) .bss $< ENGLISH > $@ @@ -405,34 +365,32 @@ $(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt) $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ +# Linker script ifeq ($(MODERN),0) -LD_SCRIPT := ld_script.txt +LD_SCRIPT := ld_script.ld LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld else -LD_SCRIPT := ld_script_modern.txt +LD_SCRIPT := ld_script_modern.ld LD_SCRIPT_DEPS := endif -$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS) - cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT) > ld_script.ld - -$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) libagbsyscall - @echo "cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ " - @cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) - $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent - -$(ROM): $(ELF) - $(OBJCOPY) -O binary $< $@ - $(FIX) $@ -p --silent - -modern: all +# Final rules libagbsyscall: @$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN) -################### -### Symbol file ### -################### +# Elf from object files +LDFLAGS = -Map ../../$(MAP) +$(ELF): $(LD_SCRIPT) $(LD_SCRIPT_DEPS) $(OBJS) libagbsyscall + @cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../../$< --print-memory-usage -o ../../$@ $(OBJS_REL) $(LIB) | cat + @echo "cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../../$< --print-memory-usage -o ../../$@ | cat" + $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent +# Builds the rom from the elf file +$(ROM): $(ELF) + $(OBJCOPY) -O binary $< $@ + $(FIX) $@ -p --silent + +# Symbol file (`make syms`) $(SYM): $(ELF) $(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" | $(PERL) -p -e 's/^(\w{8}) (\w).{6} \S+\t(\w{8}) (\S+)$$/\1 \2 \3 \4/g' > $@ diff --git a/asm/macros/battle_frontier/battle_pyramid.inc b/asm/macros/battle_frontier/battle_pyramid.inc index bb5069f18a..42141d9937 100644 --- a/asm/macros/battle_frontier/battle_pyramid.inc +++ b/asm/macros/battle_frontier/battle_pyramid.inc @@ -69,8 +69,8 @@ .endm @ VAR_RESULT is 1 if player is on a Pyramid floor, 2 if on the Pyramid peak, 0 otherwise - .macro pyramid_inchallenge - setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN + .macro pyramid_getlocation + setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_CURRENT_LOCATION special CallBattlePyramidFunction .endm diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index ccb887327f..0bb9e072be 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1044,7 +1044,7 @@ .byte 0xcb .endm - .macro callterrainattack + .macro callenvironmentattack .byte 0xcc .endm @@ -1192,7 +1192,7 @@ .4byte \ptr .endm - .macro settypetoterrain ptr:req + .macro settypetoenvironment ptr:req .byte 0xeb .4byte \ptr .endm diff --git a/asm/macros/contest_ai_script.inc b/asm/macros/contest_ai_script.inc index 9ab7184c3c..d66d9a8ffd 100644 --- a/asm/macros/contest_ai_script.inc +++ b/asm/macros/contest_ai_script.inc @@ -141,25 +141,25 @@ .macro if_points_less_than num:req, destination:req .byte 0x16 - .byte \num + .2byte \num .4byte \destination .endm .macro if_points_more_than num:req, destination:req .byte 0x17 - .byte \num + .2byte \num .4byte \destination .endm .macro if_points_eq num:req, destination:req .byte 0x18 - .byte \num + .2byte \num .4byte \destination .endm .macro if_points_not_eq num:req, destination:req .byte 0x19 - .byte \num + .2byte \num .4byte \destination .endm @@ -171,25 +171,25 @@ .macro if_preliminary_points_less_than num:req, destination:req .byte 0x1B - .byte \num + .2byte \num .4byte \destination .endm .macro if_preliminary_points_more_than num:req, destination:req .byte 0x1C - .byte \num + .2byte \num .4byte \destination .endm .macro if_preliminary_points_eq num:req, destination:req .byte 0x1D - .byte \num + .2byte \num .4byte \destination .endm .macro if_preliminary_points_not_eq num:req, destination:req .byte 0x1E - .byte \num + .2byte \num .4byte \destination .endm diff --git a/asm/macros/event.inc b/asm/macros/event.inc index b91ac68210..797d549dc9 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1,52 +1,55 @@ + .set ALLOCATE_SCRIPT_CMD_TABLE, 0 + .include "data/script_cmd_table.inc" + @ Does nothing. .macro nop - .byte 0x00 + .byte SCR_OP_NOP .endm @ Does nothing. .macro nop1 - .byte 0x01 + .byte SCR_OP_NOP1 .endm @ Terminates script execution. .macro end - .byte 0x02 + .byte SCR_OP_END .endm @ Jumps back to after the last-executed call statement, and continues script execution from there. .macro return - .byte 0x03 + .byte SCR_OP_RETURN .endm @ Jumps to destination and continues script execution from there. The location of the calling script is remembered and can be returned to later. .macro call destination:req - .byte 0x04 + .byte SCR_OP_CALL .4byte \destination .endm @ Jumps to destination and continues script execution from there. .macro goto destination:req - .byte 0x05 + .byte SCR_OP_GOTO .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there. .macro goto_if condition:req, destination:req - .byte 0x06 + .byte SCR_OP_GOTO_IF .byte \condition .4byte \destination .endm @ If the result of the last comparison matches condition (see Comparison operators), calls destination. .macro call_if condition:req, destination:req - .byte 0x07 + .byte SCR_OP_CALL_IF .byte \condition .4byte \destination .endm @ Jumps to the script in gStdScripts at index function. .macro gotostd function:req - .byte 0x08 + .byte SCR_OP_GOTO_STD .byte \function .endm @@ -58,120 +61,123 @@ @ Calls the script in gStdScripts at index function. .macro callstd function:req - .byte 0x09 + .byte SCR_OP_CALL_STD .byte \function .endm @ If the result of the last comparison matches condition (see Comparison operators), jumps to the script in gStdScripts at index function. .macro gotostd_if condition:req, function:req - .byte 0x0a + .byte SCR_OP_GOTO_STD_IF .byte \condition .byte \function .endm @ If the result of the last comparison matches condition (see Comparison operators), calls the script in gStdScripts at index function. .macro callstd_if condition:req, function:req - .byte 0x0b + .byte SCR_OP_CALL_STD_IF .byte \condition .byte \function .endm @ Equivalent to the 'return' command for a RAM script. .macro returnram - .byte 0x0c + .byte SCR_OP_RETURNRAM .endm @ Equivalent to the 'end' command for a RAM script. .macro endram - .byte 0x0d + .byte SCR_OP_ENDRAM .endm @ Sets the Mystery Event script status (MEVENT_STATUS_*). .macro setmysteryeventstatus value:req - .byte 0x0e + .byte SCR_OP_SETMYSTERYEVENTSTATUS .byte \value .endm @ Sets the value at the specified script data index to a fixed 4-byte value. .macro loadword destIndex:req, value:req - .byte 0x0f + .byte SCR_OP_LOAD_WORD .byte \destIndex .4byte \value .endm @ Sets the value at the specified script data index to a fixed byte value. .macro loadbyte destIndex:req, value:req - .byte 0x10 + .byte SCR_OP_LOAD_BYTE .byte \destIndex .byte \value .endm @ Sets the value at the specified pointer. .macro setptr value:req, ptr:req - .byte 0x11 + .byte SCR_OP_SETPTR .byte \value .4byte \ptr .endm @ Sets the value at the specified script data index to the value at pointer 'source'. .macro loadbytefromptr destIndex:req, source:req - .byte 0x12 + .byte SCR_OP_LOADBYTEFROMPTR .byte \destIndex .4byte \source .endm @ Sets the value at pointer 'destination' to the contents of the script data at 'srcIndex'. .macro setptrbyte srcIndex:req, destination:req - .byte 0x13 + .byte SCR_OP_SETPTRBYTE .byte \srcIndex .4byte \destination .endm @ Copies the contents of the script data from one index to another. .macro copylocal destIndex:req, srcIndex:req - .byte 0x14 + .byte SCR_OP_COPYLOCAL .byte \destIndex .byte \srcIndex .endm @ Copies the byte at source to destination, replacing whatever byte was previously there. .macro copybyte destination:req, source:req - .byte 0x15 + .byte SCR_OP_COPYBYTE .4byte \destination .4byte \source .endm @ Changes the value of destination to value. - .macro setvar destination:req, value:req - .byte 0x16 + .macro setvar destination:req, value:req, warn=TRUE + .if \warn && ((\value >= VARS_START && \value <= VARS_END) || (\value >= SPECIAL_VARS_START && \value <= SPECIAL_VARS_END)) + .warning "setvar with a value that might be a VAR_ constant; did you mean copyvar instead?" + .endif + .byte SCR_OP_SETVAR .2byte \destination .2byte \value .endm @ Changes the value of destination by adding value to it. Overflow is not prevented (0xFFFF + 1 = 0x0000). .macro addvar destination:req, value:req - .byte 0x17 + .byte SCR_OP_ADDVAR .2byte \destination .2byte \value .endm @ Changes the value of destination by subtracting value to it. Overflow is not prevented (0x0000 - 1 = 0xFFFF). .macro subvar destination:req, value:req - .byte 0x18 + .byte SCR_OP_SUBVAR .2byte \destination .2byte \value .endm @ Copies the value of source into destination. .macro copyvar destination:req, source:req - .byte 0x19 + .byte SCR_OP_COPYVAR .2byte \destination .2byte \source .endm @ If source is not a variable, then this function acts like setvar. Otherwise, it acts like copyvar. .macro setorcopyvar destination:req, source:req - .byte 0x1a + .byte SCR_OP_SETORCOPYVAR .2byte \destination .2byte \source .endm @@ -179,7 +185,7 @@ @ Compares the values of the script data at indexes 'local1' and 'local2'. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_local_to_local local1:req, local2:req - .byte 0x1b + .byte SCR_OP_COMPARE_LOCAL_TO_LOCAL .byte \local1 .byte \local2 .endm @@ -187,7 +193,7 @@ @ Compares the value of the script data at index 'local' to a fixed value. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_local_to_value local:req, value:req - .byte 0x1c + .byte SCR_OP_COMPARE_LOCAL_TO_VALUE .byte \local .byte \value .endm @@ -195,7 +201,7 @@ @ Compares the value of the script data at index 'local' to the value at 'ptr' @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_local_to_ptr local:req, ptr:req - .byte 0x1d + .byte SCR_OP_COMPARE_LOCAL_TO_PTR .byte \local .4byte \ptr .endm @@ -203,7 +209,7 @@ @ Compares the value at 'ptr' to the value of the script data at index 'local'. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_ptr_to_local ptr:req, local:req - .byte 0x1e + .byte SCR_OP_COMPARE_PTR_TO_LOCAL .4byte \ptr .byte \local .endm @@ -211,7 +217,7 @@ @ Compares the value at 'ptr' to a fixed value. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_ptr_to_value ptr:req, value:req - .byte 0x1f + .byte SCR_OP_COMPARE_PTR_TO_VALUE .4byte \ptr .byte \value .endm @@ -219,7 +225,7 @@ @ Compares the value at 'ptr1' to the value at 'ptr2'. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_ptr_to_ptr ptr1:req, ptr2:req - .byte 0x20 + .byte SCR_OP_COMPARE_PTR_TO_PTR .4byte \ptr1 .4byte \ptr2 .endm @@ -227,7 +233,7 @@ @ Compares the value of 'var' to a fixed value. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_var_to_value var:req, value:req - .byte 0x21 + .byte SCR_OP_COMPARE_VAR_TO_VALUE .2byte \var .2byte \value .endm @@ -235,7 +241,7 @@ @ Compares the value of 'var1' to the value of 'var2'. @ The result is stored in comparisonResult to be acted on by goto_if / call_if .macro compare_var_to_var var1:req, var2:req - .byte 0x22 + .byte SCR_OP_COMPARE_VAR_TO_VAR .2byte \var1 .2byte \var2 .endm @@ -252,26 +258,26 @@ @ Calls the native C function stored at func. .macro callnative func:req - .byte 0x23 + .byte SCR_OP_CALLNATIVE .4byte \func .endm @ Replaces the script with the function stored at func. Execution returns to the bytecode script when func returns TRUE. .macro gotonative func:req - .byte 0x24 + .byte SCR_OP_GOTONATIVE .4byte \func .endm @ Calls a function listed in the table in data/specials.inc. .macro special function:req - .byte 0x25 + .byte SCR_OP_SPECIAL .2byte SPECIAL_\function .endm @ Calls a function listed in the table in data/specials.inc. @ That function's output (if any) will be written to the variable specified by 'output'. .macro specialvar output:req, function:req - .byte 0x26 + .byte SCR_OP_SPECIALVAR .2byte \output .2byte SPECIAL_\function .endm @@ -279,77 +285,77 @@ @ Blocks script execution until a command or C code manually unblocks it. Generally used with specific @ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue. .macro waitstate - .byte 0x27 + .byte SCR_OP_WAITSTATE .endm @ Blocks script execution for frames. (Pokemon Emerald runs at just shy of 60 frames per second.) .macro delay frames:req - .byte 0x28 + .byte SCR_OP_DELAY .2byte \frames .endm @ Sets flag to TRUE. .macro setflag flag:req - .byte 0x29 + .byte SCR_OP_SETFLAG .2byte \flag .endm @ Sets flag to FALSE. .macro clearflag flag:req - .byte 0x2a + .byte SCR_OP_CLEARFLAG .2byte \flag .endm @ Compares flag to TRUE and stores the result in comparisonResult to be used by goto_if, etc @ See additional _if_unset and _if_set macros .macro checkflag flag:req - .byte 0x2b + .byte SCR_OP_CHECKFLAG .2byte \flag .endm @ Initializes the RTC`s local time offset to the given hour and minute. .macro initclock hour:req, minute:req - .byte 0x2c + .byte SCR_OP_INITCLOCK .2byte \hour .2byte \minute .endm @ Updates local time using the RTC and runs time based events. .macro dotimebasedevents - .byte 0x2d + .byte SCR_OP_DOTIMEBASEDEVENTS .endm @ Sets the values of variables VAR_0x8000, VAR_0x8001, and VAR_0x8002 to the current hour, minute, and second. .macro gettime - .byte 0x2e + .byte SCR_OP_GETTIME .endm @ Plays the specified sound. Only one sound may play at a time, with newer ones interrupting older ones. .macro playse song:req - .byte 0x2f + .byte SCR_OP_PLAYSE .2byte \song .endm @ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing. .macro waitse - .byte 0x30 + .byte SCR_OP_WAITSE .endm @ Plays the fanfare specified by the song number. If the specified song is not a fanfare it will instead play the first song in sFanfares. .macro playfanfare song:req - .byte 0x31 + .byte SCR_OP_PLAYFANFARE .2byte \song .endm @ Blocks script execution until all currently-playing fanfares finish. .macro waitfanfare - .byte 0x32 + .byte SCR_OP_WAITFANFARE .endm @ Plays the specified song. If save_song is TRUE, the @ specified song will be saved as if savebgm was called with it. .macro playbgm song:req, save_song:req - .byte 0x33 + .byte SCR_OP_PLAYBGM .2byte \song .byte \save_song .endm @@ -357,30 +363,30 @@ @ Saves the specified song to be played later. Saved music may be played when Overworld_PlaySpecialMapMusic is called. This occurs on @ exiting most warps. .macro savebgm song:req - .byte 0x34 + .byte SCR_OP_SAVEBGM .2byte \song .endm @ Crossfades the currently-playing song into the map's default song. .macro fadedefaultbgm - .byte 0x35 + .byte SCR_OP_FADEDEFAULTBGM .endm @ Crossfades the currently-playing song into the specified song. .macro fadenewbgm song:req - .byte 0x36 + .byte SCR_OP_FADENEWBGM .2byte \song .endm @ Fades out the currently-playing song. .macro fadeoutbgm speed:req - .byte 0x37 + .byte SCR_OP_FADEOUTBGM .byte \speed .endm @ Fades the previously-playing song back in. .macro fadeinbgm speed:req - .byte 0x38 + .byte SCR_OP_FADEINBGM .byte \speed .endm @@ -424,7 +430,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warp map:req, a, b, c - .byte 0x39 + .byte SCR_OP_WARP formatwarp \map, \a, \b, \c .endm @@ -432,7 +438,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warpsilent map:req, a, b, c - .byte 0x3a + .byte SCR_OP_WARPSILENT formatwarp \map, \a, \b, \c .endm @@ -440,7 +446,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warpdoor map:req, a, b, c - .byte 0x3b + .byte SCR_OP_WARPDOOR formatwarp \map, \a, \b, \c .endm @@ -448,7 +454,7 @@ @ use the map set by setholewarp. In either case the target coordinates on the destination map will be the @ player's current position. .macro warphole map:req - .byte 0x3c + .byte SCR_OP_WARPHOLE map \map .endm @@ -457,7 +463,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warpteleport map:req, a, b, c - .byte 0x3d + .byte SCR_OP_WARPTELEPORT formatwarp \map, \a, \b, \c .endm @@ -465,7 +471,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setwarp map:req, a, b, c - .byte 0x3e + .byte SCR_OP_SETWARP formatwarp \map, \a, \b, \c .endm @@ -473,7 +479,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setdynamicwarp map:req, a, b, c - .byte 0x3f + .byte SCR_OP_SETDYNAMICWARP formatwarp \map, \a, \b, \c .endm @@ -483,7 +489,7 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setdivewarp map:req, a, b, c - .byte 0x40 + .byte SCR_OP_SETDIVEWARP formatwarp \map, \a, \b, \c .endm @@ -494,26 +500,26 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setholewarp map:req, a=0, b=0, c - .byte 0x41 + .byte SCR_OP_SETHOLEWARP formatwarp \map, \a, \b, \c .endm @ Retrieves the player's zero-indexed x- and y-coordinates in the map, and stores them in the specified variables. .macro getplayerxy x:req, y:req - .byte 0x42 + .byte SCR_OP_GETPLAYERXY .2byte \x .2byte \y .endm @ Retrieves the number of Pokemon in the player's party, and stores that number in VAR_RESULT. .macro getpartysize - .byte 0x43 + .byte SCR_OP_GETPARTYSIZE .endm @ Attempts to add quantity of the specified item to the player's Bag. If the player has enough room, the item will @ be added and VAR_RESULT will be set to TRUE; otherwise, VAR_RESULT is set to FALSE. .macro additem itemId:req, quantity=1 - .byte 0x44 + .byte SCR_OP_ADDITEM .2byte \itemId .2byte \quantity .endm @@ -521,7 +527,7 @@ @ Removes quantity of the specified item from the player's Bag. If the player has fewer than 'quantity' in their bag @ then none will be removed and VAR_RESULT will be set to FALSE. Otherwise it will be set to TRUE. .macro removeitem itemId:req, quantity=1 - .byte 0x45 + .byte SCR_OP_REMOVEITEM .2byte \itemId .2byte \quantity .endm @@ -529,7 +535,7 @@ @ Checks if the player has enough space in their Bag to hold quantity more of the specified item. Sets VAR_RESULT to @ TRUE if there is room, or FALSE is there is no room. .macro checkitemspace itemId:req, quantity=1 - .byte 0x46 + .byte SCR_OP_CHECKITEMSPACE .2byte \itemId .2byte \quantity .endm @@ -537,7 +543,7 @@ @ Checks if the player has quantity or more of the specified item in their Bag. Sets VAR_RESULT to TRUE if the player has @ enough of the item, or FALSE if they have fewer than quantity of the item. .macro checkitem itemId:req, quantity=1 - .byte 0x47 + .byte SCR_OP_CHECKITEM .2byte \itemId .2byte \quantity .endm @@ -545,58 +551,58 @@ @ Checks which Bag pocket the specified item belongs in, and writes the pocket value (POCKET_*) to VAR_RESULT. @ This is used to show the name of the proper Bag pocket when the player receives an item via callstd. .macro checkitemtype itemId:req - .byte 0x48 + .byte SCR_OP_CHECKITEMTYPE .2byte \itemId .endm @ Adds quantity of the specified item to the player's PC. .macro addpcitem itemId:req, quantity=1 - .byte 0x49 + .byte SCR_OP_ADDPCITEM .2byte \itemId .2byte \quantity .endm @ Checks for quantity of the specified item in the player's PC. .macro checkpcitem itemId:req, quantity=1 - .byte 0x4a + .byte SCR_OP_CHECKPCITEM .2byte \itemId .2byte \quantity .endm @ Adds a decoration to the player's PC. .macro adddecoration decoration:req - .byte 0x4b + .byte SCR_OP_ADDDECORATION .2byte \decoration .endm @ Removes a decoration from the player's PC. .macro removedecoration decoration:req - .byte 0x4c + .byte SCR_OP_REMOVEDECORATION .2byte \decoration .endm @ Checks for decoration in the player's PC. .macro checkdecor decoration:req - .byte 0x4d + .byte SCR_OP_CHECKDECOR .2byte \decoration .endm @ Checks if the player has enough space in their PC to hold the decoration. @ Sets VAR_RESULT to TRUE if there is room, or FALSE is there is no room. .macro checkdecorspace decoration:req - .byte 0x4e + .byte SCR_OP_CHECKDECORSPACE .2byte \decoration .endm @ Applies the movement data at movements to the specified (localId) object. If no map is specified, then the current map is used. .macro applymovement localId:req, movements:req, map .ifb \map - .byte 0x4f + .byte SCR_OP_APPLYMOVEMENT .2byte \localId .4byte \movements .else @ Really only useful if the object has followed from one map to another (e.g. Wally during the catching event). - .byte 0x50 + .byte SCR_OP_APPLYMOVEMENTAT .2byte \localId .4byte \movements map \map @@ -604,15 +610,15 @@ .endm @ Blocks script execution until the movements being applied to the specified (localId) object finish. - @ If localId is 0, then the id of the last-moved object will be used instead. If the specified object - @ is not currently being manipulated with applymovement, then this command does nothing. + @ If localId is LOCALID_NONE (0), then the id of the last-moved object will be used instead. + @ If the specified object is not currently being manipulated with applymovement, then this command does nothing. @ If no map is specified, then the current map is used. - .macro waitmovement localId:req, map + .macro waitmovement localId=LOCALID_NONE, map .ifb \map - .byte 0x51 + .byte SCR_OP_WAITMOVEMENT .2byte \localId .else - .byte 0x52 + .byte SCR_OP_WAITMOVEMENTAT .2byte \localId map \map .endif @@ -623,10 +629,10 @@ @ If no map is specified, then the current map is used. .macro removeobject localId:req, map .ifb \map - .byte 0x53 + .byte SCR_OP_REMOVEOBJECT .2byte \localId .else - .byte 0x54 + .byte SCR_OP_REMOVEOBJECTAT .2byte \localId map \map .endif @@ -637,10 +643,10 @@ @ If no map is specified, then the current map is used. .macro addobject localId:req, map .ifb \map - .byte 0x55 + .byte SCR_OP_ADDOBJECT .2byte \localId .else - .byte 0x56 + .byte SCR_OP_ADDOBJECTAT .2byte \localId map \map .endif @@ -648,7 +654,7 @@ @ Sets the specified (localId) object's position on the current map. .macro setobjectxy localId:req, x:req, y:req - .byte 0x57 + .byte SCR_OP_SETOBJECTXY .2byte \localId .2byte \x .2byte \y @@ -656,33 +662,33 @@ @ Sets the specified object's invisibility to FALSE. .macro showobjectat localId:req, map:req - .byte 0x58 + .byte SCR_OP_SHOWOBJECTAT .2byte \localId map \map .endm @ Sets the specified object's invisibility to TRUE. .macro hideobjectat localId:req, map:req - .byte 0x59 + .byte SCR_OP_HIDEOBJECTAT .2byte \localId map \map .endm @ Turns the currently selected object (if there is one) to face the player. .macro faceplayer - .byte 0x5a + .byte SCR_OP_FACEPLAYER .endm @ Turns the specified object in the specified direction. .macro turnobject localId:req, direction:req - .byte 0x5b + .byte SCR_OP_TURNOBJECT .2byte \localId .byte \direction .endm @ Configures the arguments for a trainer battle, then jumps to the appropriate script in scripts/trainer_battle.inc .macro trainerbattle type:req, trainer:req, local_id:req, pointer1:req, pointer2, pointer3, pointer4 - .byte 0x5c + .byte SCR_OP_TRAINERBATTLE .byte \type .2byte \trainer .2byte \local_id @@ -741,11 +747,11 @@ @ When used with an event script, you can also pass in an optional flag to disable music .macro trainerbattle_single trainer:req, intro_text:req, lose_text:req, event_script=FALSE, music=TRUE .if \event_script == FALSE - trainerbattle TRAINER_BATTLE_SINGLE, \trainer, 0, \intro_text, \lose_text + trainerbattle TRAINER_BATTLE_SINGLE, \trainer, LOCALID_NONE, \intro_text, \lose_text .elseif \music == TRUE - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, \trainer, 0, \intro_text, \lose_text, \event_script + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, \trainer, LOCALID_NONE, \intro_text, \lose_text, \event_script .else - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \event_script + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, \trainer, LOCALID_NONE, \intro_text, \lose_text, \event_script .endif .endm @@ -753,68 +759,68 @@ @ and an optional event script. When used with an event script you can pass in an optional flag to disable music .macro trainerbattle_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req, event_script=FALSE, music=TRUE .if \event_script == FALSE - trainerbattle TRAINER_BATTLE_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text + trainerbattle TRAINER_BATTLE_DOUBLE, \trainer, LOCALID_NONE, \intro_text, \lose_text, \not_enough_pkmn_text .elseif \music == TRUE - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, \trainer, LOCALID_NONE, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script .else - trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script + trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, \trainer, LOCALID_NONE, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script .endif .endm @ Starts a rematch battle. Takes a trainer, intro text and loss text .macro trainerbattle_rematch trainer:req, intro_text:req, lose_text:req - trainerbattle TRAINER_BATTLE_REMATCH, \trainer, 0, \intro_text, \lose_text + trainerbattle TRAINER_BATTLE_REMATCH, \trainer, LOCALID_NONE, \intro_text, \lose_text .endm @ Starts a rematch double battle. Takes a trainer, intro text, loss text, and text for when you have too few pokemon .macro trainerbattle_rematch_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req - trainerbattle TRAINER_BATTLE_REMATCH_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text + trainerbattle TRAINER_BATTLE_REMATCH_DOUBLE, \trainer, LOCALID_NONE, \intro_text, \lose_text, \not_enough_pkmn_text .endm @ Starts a trainer battle, skipping intro text. Takes a trainer and loss text .macro trainerbattle_no_intro trainer:req, lose_text:req - trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text + trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, LOCALID_NONE, \lose_text .endm @ Starts a trainer battle using the battle information stored in RAM (usually by the scripts in trainer_battle.inc, which @ are run by trainerbattle), and blocks script execution until the battle finishes. .macro dotrainerbattle - .byte 0x5d + .byte SCR_OP_DOTRAINERBATTLE .endm @ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c) .macro gotopostbattlescript - .byte 0x5e + .byte SCR_OP_GOTOPOSTBATTLESCRIPT .endm @ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c) .macro gotobeatenscript - .byte 0x5f + .byte SCR_OP_GOTOBEATENSCRIPT .endm @ Checks if the trainer has been defeated by the player (by comparing the flag 'trainer + TRAINER_FLAGS_START' to TRUE). .macro checktrainerflag trainer:req - .byte 0x60 + .byte SCR_OP_CHECKTRAINERFLAG .2byte \trainer .endm @ Sets the trainer flag (trainer + TRAINER_FLAGS_START) to TRUE (defeated). .macro settrainerflag trainer:req - .byte 0x61 + .byte SCR_OP_SETTRAINERFLAG .2byte \trainer .endm @ Sets the trainer flag (trainer + TRAINER_FLAGS_START) to FALSE (not defeated). .macro cleartrainerflag trainer:req - .byte 0x62 + .byte SCR_OP_CLEARTRAINERFLAG .2byte \trainer .endm @ Sets the coordinates of an object's template, so that if the sprite goes off screen @ it'll still be there when it comes back on screen. .macro setobjectxyperm localId:req, x:req, y:req - .byte 0x63 + .byte SCR_OP_SETOBJECTXYPERM .2byte \localId .2byte \x .2byte \y @@ -823,13 +829,13 @@ @ Copies a live object event's xy position to its template, so that if the sprite goes off screen @ it'll still be there when it comes back on screen. .macro copyobjectxytoperm localId:req - .byte 0x64 + .byte SCR_OP_COPYOBJECTXYTOPERM .2byte \localId .endm @ Sets the movement type (MOVEMENT_TYPE_*) for an object's template. .macro setobjectmovementtype localId:req, movementType:req - .byte 0x65 + .byte SCR_OP_SETOBJECTMOVEMENTTYPE .2byte \localId .byte \movementType .endm @@ -837,51 +843,51 @@ @ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the @ box and its text have been fully drawn. .macro waitmessage - .byte 0x66 + .byte SCR_OP_WAITMESSAGE .endm @ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at @ that offset will be loaded and used. If text is NULL, then the value of script data 0 will be treated as @ a pointer to the text. The 'loadword 0' in msgbox sets this value, for instance. .macro message text:req - .byte 0x67 + .byte SCR_OP_MESSAGE .4byte \text .endm @ Closes the current message box. .macro closemessage - .byte 0x68 + .byte SCR_OP_CLOSEMESSAGE .endm @ Freezes all objects immediately except the player. The player is frozen once their movement is finished. .macro lockall - .byte 0x69 + .byte SCR_OP_LOCKALL .endm @ Freezes all objects immediately except the player and the selected object. The player and selected object are frozen once their movement is finished. .macro lock - .byte 0x6a + .byte SCR_OP_LOCK .endm @ Resumes normal movement for all objects on-screen, and closes any standard message boxes that are still open. .macro releaseall - .byte 0x6b + .byte SCR_OP_RELEASEALL .endm @ Resumes normal movement for the selected object (if there is one) and the player. Also closes any standard message boxes that are still open. .macro release - .byte 0x6c + .byte SCR_OP_RELEASE .endm @ Blocks script execution until the player presses the A or B button. .macro waitbuttonpress - .byte 0x6d + .byte SCR_OP_WAITBUTTONPRESS .endm @ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. @ Their selection is stored in VAR_RESULT as NO (0) or YES (1). Pressing B is equivalent to answering NO .macro yesnobox x:req, y:req - .byte 0x6e + .byte SCR_OP_YESNOBOX .byte \x .byte \y .endm @@ -890,7 +896,7 @@ @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId. @ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. .macro multichoice x:req, y:req, multichoiceId:req, ignoreBPress:req - .byte 0x6f + .byte SCR_OP_MULTICHOICE .byte \x .byte \y .byte \multichoiceId @@ -902,7 +908,7 @@ @ The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0. @ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. .macro multichoicedefault x:req, y:req, multichoiceId:req, default:req, ignoreBPress:req - .byte 0x70 + .byte SCR_OP_MULTICHOICEDEFAULT .byte \x .byte \y .byte \multichoiceId @@ -915,7 +921,7 @@ @ The per_row argument determines how many list items will be shown on a single row of the box. @ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button. .macro multichoicegrid x:req, y:req, multichoiceId:req, per_row:req, ignoreBPress:req - .byte 0x71 + .byte SCR_OP_MULTICHOICEGRID .byte \x .byte \y .byte \multichoiceId @@ -925,12 +931,12 @@ @ Nopped in Emerald. .macro drawbox - .byte 0x72 + .byte SCR_OP_DRAWBOX .endm @ Nopped in Emerald, but still consumes parameters. .macro erasebox left:req, top:req, right:req, bottom:req - .byte 0x73 + .byte SCR_OP_ERASEBOX .byte \left .byte \top .byte \right @@ -939,7 +945,7 @@ @ Nopped in Emerald, but still consumes parameters. .macro drawboxtext left:req, top:req, multichoiceId:req, ignoreBPress:req - .byte 0x74 + .byte SCR_OP_DRAWBOXTEXT .byte \left .byte \top .byte \multichoiceId @@ -948,7 +954,7 @@ @ Displays a box containing the front sprite for the specified Pokemon species. .macro showmonpic species:req, x:req, y:req - .byte 0x75 + .byte SCR_OP_SHOWMONPIC .2byte \species .byte \x .byte \y @@ -956,12 +962,12 @@ @ Hides the box displayed by showmonpic. .macro hidemonpic - .byte 0x76 + .byte SCR_OP_HIDEMONPIC .endm @ Draws an image of the winner of the contest. winnerId is any CONTEST_WINNER_* constant. .macro showcontestpainting winnerId:req - .byte 0x77 + .byte SCR_OP_SHOWCONTESTPAINTING .byte \winnerId .endm @@ -969,7 +975,7 @@ @ to convert text to braille, and be preceded by brailleformat. The brailleformat data is skipped over (in RS, these @ bytes determined the box's size and position, but in Emerald these are calculated automatically). .macro braillemessage text:req - .byte 0x78 + .byte SCR_OP_BRAILLEMESSAGE .4byte \text .endm @@ -987,7 +993,7 @@ @ Gives the player a Pokémon of the specified species and level, holding the specified item. The trailing 0s are unused parameters. @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. .macro givemon species:req, level:req, item=ITEM_NONE - .byte 0x79 + .byte SCR_OP_GIVEMON .2byte \species .byte \level .2byte \item @@ -999,7 +1005,7 @@ @ Gives the player an Egg of the specified species. @ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome. .macro giveegg species:req - .byte 0x7a + .byte SCR_OP_GIVEEGG .2byte \species .endm @@ -1007,7 +1013,7 @@ @ If a value greater than PARTY_SIZE is given for partyIndex it will use the last Pokémon in the party instead. @ Note that this means in vanilla a value equal to PARTY_SIZE for partyIndex will go out of bounds. .macro setmonmove partyIndex:req, slot:req, move:req - .byte 0x7b + .byte SCR_OP_SETMONMOVE .byte \partyIndex .byte \slot .2byte \move @@ -1017,7 +1023,7 @@ @ (zero-indexed) slot number of the first Pokemon that knows the move. If not, VAR_RESULT is set to PARTY_SIZE. @ VAR_0x8004 is also set to this Pokemon's species. .macro checkpartymove move:req - .byte 0x7c + .byte SCR_OP_CHECKPARTYMOVE .2byte \move .endm @@ -1039,21 +1045,21 @@ @ Writes the name of the given Pokemon species to the specified buffer. .macro bufferspeciesname stringVarId:req, species:req - .byte 0x7d + .byte SCR_OP_BUFFERSPECIESNAME stringvar \stringVarId .2byte \species .endm @ Writes the name of the species of the first Pokemon in the player's party to the specified buffer. .macro bufferleadmonspeciesname stringVarId:req - .byte 0x7e + .byte SCR_OP_BUFFERLEADMONSPECIESNAME stringvar \stringVarId .endm @ Writes the nickname of the Pokemon in 'slot' (zero-indexed) of the player's party to the specified buffer. @ If an empty or invalid slot is specified, ten spaces ("") are written to the buffer. .macro bufferpartymonnick stringVarId:req, slot:req - .byte 0x7f + .byte SCR_OP_BUFFERPARTYMONNICK stringvar \stringVarId .2byte \slot .endm @@ -1061,42 +1067,42 @@ @ Writes the name of the specified item to the specified buffer. If itemId is >= ITEMS_COUNT, @ then the name of ITEM_NONE ("????????") is buffered instead. .macro bufferitemname stringVarId:req, item:req - .byte 0x80 + .byte SCR_OP_BUFFERITEMNAME stringvar \stringVarId .2byte \item .endm @ Writes the name of the specified decoration to the specified buffer. .macro bufferdecorationname stringVarId:req, decoration:req - .byte 0x81 + .byte SCR_OP_BUFFERDECORATIONNAME stringvar \stringVarId .2byte \decoration .endm @ Writes the name of the specified move to the specified buffer. .macro buffermovename stringVarId:req, move:req - .byte 0x82 + .byte SCR_OP_BUFFERMOVENAME stringvar \stringVarId .2byte \move .endm @ Converts the value of input to a decimal string, and writes that string to the specified buffer. .macro buffernumberstring stringVarId:req, input:req - .byte 0x83 + .byte SCR_OP_BUFFERNUMBERSTRING stringvar \stringVarId .2byte \input .endm @ Writes the given standard string (STDSTRING_*) to the specified buffer. Invalid std string ids are not handled. .macro bufferstdstring stringVarId:req, index:req - .byte 0x84 + .byte SCR_OP_BUFFERSTDSTRING stringvar \stringVarId .2byte \index .endm @ Copies the string at the given pointer to the specified buffer. .macro bufferstring stringVarId:req, text:req - .byte 0x85 + .byte SCR_OP_BUFFERSTRING stringvar \stringVarId .4byte \text .endm @@ -1104,33 +1110,40 @@ @ Opens the Pokemart system, offering the specified products for sale. @ Products should be a list of .2byte item values preceded by an .align 2 .macro pokemart products:req - .byte 0x86 + .byte SCR_OP_POKEMART .4byte \products .endm + @ Used as the endpoint for a Pokemart item list + .macro pokemartlistend + .2byte ITEM_NONE + release + end + .endm + @ Opens the Pokemart system and treats the list of items as decorations. @ Products should be a list of .2byte decoration values preceded by an .align 2 .macro pokemartdecoration products:req - .byte 0x87 + .byte SCR_OP_POKEMARTDECORATION .4byte \products .endm @ Identical to pokemartdecoration, but with slight changes to the clerk dialogue. See uses of MART_TYPE_DECOR2. .macro pokemartdecoration2 products:req - .byte 0x88 + .byte SCR_OP_POKEMARTDECORATION2 .4byte \products .endm @ Starts up the slot machine minigame. id is a SLOT_MACHINE_* value that influences probabilities of certain reel outcomes. .macro playslotmachine id:req - .byte 0x89 + .byte SCR_OP_PLAYSLOTMACHINE .2byte \id .endm @ Sets a berry tree's berry and growth stage. treeId is any BERRY_TREE_* constant (an index into berryTrees in SaveBlock1), @ berry is any ITEM_TO_BERRY(ITEM_BERRY_NAME) value, and growthStage is any BERRY_STAGE_* constant. .macro setberrytree treeId:req, berry:req, growthStage:req - .byte 0x8a + .byte SCR_OP_SETBERRYTREE .byte \treeId .byte \berry .byte \growthStage @@ -1138,34 +1151,34 @@ @ Opens the party menu to select a Pokemon for a contest. .macro choosecontestmon - .byte 0x8b + .byte SCR_OP_CHOOSECONTESTMON .endm @ Starts the appeals round of a contest. .macro startcontest - .byte 0x8c + .byte SCR_OP_STARTCONTEST .endm @ Shows the results screen of a contest. .macro showcontestresults - .byte 0x8d + .byte SCR_OP_SHOWCONTESTRESULTS .endm @ Starts communication to initialize a link contest. .macro contestlinktransfer - .byte 0x8e + .byte SCR_OP_CONTESTLINKTRANSFER .endm @ Stores a random integer between 0 and limit (exclusive of limit) in VAR_RESULT. .macro random limit:req - .byte 0x8f + .byte SCR_OP_RANDOM .2byte \limit .endm @ Adds value to the player's money. If adding 'value' money would exceed MAX_MONEY, the player's money is set to MAX_MONEY. @ If 'disable' is set to anything but 0 then this command does nothing. .macro addmoney value:req, disable=0 - .byte 0x90 + .byte SCR_OP_ADDMONEY .4byte \value .byte \disable .endm @@ -1173,7 +1186,7 @@ @ Subtracts value from the player's money. If the player has less than 'value' money, their money is set to 0. @ If 'disable' is set to anything but 0 then this command does nothing. .macro removemoney value:req, disable=0 - .byte 0x91 + .byte SCR_OP_REMOVEMONEY .4byte \value .byte \disable .endm @@ -1181,7 +1194,7 @@ @ Checks if the player has money >= value. VAR_RESULT is set to TRUE if the player has enough money, or FALSE if they do not. @ If 'disable' is set to anything but 0 then this command does nothing. .macro checkmoney value:req, disable=0 - .byte 0x92 + .byte SCR_OP_CHECKMONEY .4byte \value .byte \disable .endm @@ -1189,7 +1202,7 @@ @ Creates a window showing how much money the player has. @ If 'disable' is set to anything but 0 then this command does nothing. .macro showmoneybox x:req, y:req, disable=0 - .byte 0x93 + .byte SCR_OP_SHOWMONEYBOX .byte \x .byte \y .byte \disable @@ -1197,7 +1210,7 @@ @ Destroys the window created by showmoneybox. Consumption of the x and y arguments was dummied out. .macro hidemoneybox - .byte 0x94 + .byte SCR_OP_HIDEMONEYBOX .byte 0 @ \x .byte 0 @ \y .endm @@ -1205,7 +1218,7 @@ @ Updates the window created by showmoneybox. Consumption of the x and y arguments was dummied out. @ If 'disable' is set to anything but 0 then this command does nothing. .macro updatemoneybox disable=0 - .byte 0x95 + .byte SCR_OP_UPDATEMONEYBOX .byte 0 @ \x .byte 0 @ \y .byte \disable @@ -1213,19 +1226,19 @@ @ Gets whether the effects of the specified PokeNews program are active. newsKind is a POKENEWS_* constant. .macro getpokenewsactive newsKind:req - .byte 0x96 + .byte SCR_OP_GETPOKENEWSACTIVE .2byte \newsKind .endm @ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK) .macro fadescreen mode:req - .byte 0x97 + .byte SCR_OP_FADESCREEN .byte \mode .endm @ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK) .macro fadescreenspeed mode:req, speed:req - .byte 0x98 + .byte SCR_OP_FADESCREENSPEED .byte \mode .byte \speed .endm @@ -1233,64 +1246,64 @@ @ Sets the flash level. A level of 0 is fully bright, a level of 1 is the largest flash radius, a level @ of 7 is the smallest flash radius, a level of 8 is fully black. .macro setflashlevel level:req - .byte 0x99 + .byte SCR_OP_SETFLASHLEVEL .2byte \level .endm @ Animates the flash radius from its current size to the size it would be at the specified level. @ Note that this does not actually change the current flash level. It's typically used just before a setflashlevel. .macro animateflash level:req - .byte 0x9a + .byte SCR_OP_ANIMATEFLASH .byte \level .endm @ Automatically scrolls through the message without player input and at a fixed speed. .macro messageautoscroll text:req - .byte 0x9b + .byte SCR_OP_MESSAGEAUTOSCROLL .4byte \text .endm @ Executes the specified field effect animation (FLDEFF_*). .macro dofieldeffect animation:req - .byte 0x9c + .byte SCR_OP_DOFIELDEFFECT .2byte \animation .endm @ Sets the field effect argument at index 'argNum' to 'value.' .macro setfieldeffectargument argNum:req, value:req - .byte 0x9d + .byte SCR_OP_SETFIELDEFFECTARGUMENT .byte \argNum .2byte \value .endm @ Blocks script execution until all playing field effect animations complete. .macro waitfieldeffect animation:req - .byte 0x9e + .byte SCR_OP_WAITFIELDEFFECT .2byte \animation .endm @ Sets which healing location (HEAL_LOCATION_*) the player will return to if all of the Pokemon in their party faint. .macro setrespawn heallocation:req - .byte 0x9f + .byte SCR_OP_SETRESPAWN .2byte \heallocation .endm @ Checks the player's gender. Stores the result (MALE (0) or FEMALE (1)) in VAR_RESULT. .macro checkplayergender - .byte 0xa0 + .byte SCR_OP_CHECKPLAYERGENDER .endm @ Plays the cry of the given species. Mode is any CRY_MODE_* constant. @ You can use waitmoncry to block script execution until the cry finishes. .macro playmoncry species:req, mode:req - .byte 0xa1 + .byte SCR_OP_PLAYMONCRY .2byte \species .2byte \mode .endm @ Set the metatile at (x, y) on the current map to the given metatile and impassability. .macro setmetatile x:req, y:req, metatileId:req, impassable:req - .byte 0xa2 + .byte SCR_OP_SETMETATILE .2byte \x .2byte \y .2byte \metatileId @@ -1299,37 +1312,37 @@ @ Queues a weather change to the default weather for the map. .macro resetweather - .byte 0xa3 + .byte SCR_OP_RESETWEATHER .endm @ Queues a weather change to type weather. .macro setweather type:req - .byte 0xa4 + .byte SCR_OP_SETWEATHER .2byte \type .endm @ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather. .macro doweather - .byte 0xa5 + .byte SCR_OP_DOWEATHER .endm @ Enables the overworld task specified by stepCbId (STEP_CB_*). Only 1 can be active at a time. See src/field_tasks.c for more. .macro setstepcallback stepCbId:req - .byte 0xa6 + .byte SCR_OP_SETSTEPCALLBACK .byte \stepCbId .endm @ Sets the current map layout to the one specified by index (LAYOUT_*). @ This should be done before the layout is loaded, typically in the ON_TRANSITION map script. .macro setmaplayoutindex index:req - .byte 0xa7 + .byte SCR_OP_SETMAPLAYOUTINDEX .2byte \index .endm @ Sets the specified object's sprite's subpriority, and sets fixedPriority to TRUE. @ Only used to hide the player and Briney behind the boat. .macro setobjectsubpriority localId:req, map:req, subpriority:req - .byte 0xa8 + .byte SCR_OP_SETOBJECTSUBPRIORITY .2byte \localId map \map .byte \subpriority @@ -1337,7 +1350,7 @@ @ Sets the specified object's fixedPriority to FALSE. Does not change the subpriority field. .macro resetobjectsubpriority localId:req, map:req - .byte 0xa9 + .byte SCR_OP_RESETOBJECTSUBPRIORITY .2byte \localId map \map .endm @@ -1346,7 +1359,7 @@ @ the object event limit (e.g. Contest / Battle Dome audiences and Union Room group members). @ The specified id can be used to refer to the sprite again later with turnvobject. .macro createvobject graphicsId:req, id:req, x:req, y:req, elevation=3, direction=DIR_SOUTH - .byte 0xaa + .byte SCR_OP_CREATEVOBJECT .byte \graphicsId .byte \id .2byte \x @@ -1357,47 +1370,47 @@ @ Turns a sprite created with createvobject. .macro turnvobject id:req, direction:req - .byte 0xab + .byte SCR_OP_TURNVOBJECT .byte \id .byte \direction .endm @ Opens the door metatile at (x, y) with an animation. .macro opendoor x:req, y:req - .byte 0xac + .byte SCR_OP_OPENDOOR .2byte \x .2byte \y .endm @ Closes the door metatile at (x, y) with an animation. .macro closedoor x:req, y:req - .byte 0xad + .byte SCR_OP_CLOSEDOOR .2byte \x .2byte \y .endm @ Waits for the door animation started with opendoor or closedoor to finish. .macro waitdooranim - .byte 0xae + .byte SCR_OP_WAITDOORANIM .endm @ Sets the door metatile at (x, y) to be open without an animation. .macro setdooropen x:req, y:req - .byte 0xaf + .byte SCR_OP_SETDOOROPEN .2byte \x .2byte \y .endm @ Sets the door metatile at (x, y) to be closed without an animation. .macro setdoorclosed x:req, y:req - .byte 0xb0 + .byte SCR_OP_SETDOORCLOSED .2byte \x .2byte \y .endm @ Consumes its parameters and does nothing. It is implemented but unused in Ruby/Sapphire. .macro addelevmenuitem a:req, b:req, c:req, d:req - .byte 0xb1 + .byte SCR_OP_ADDELEVMENUITEM .byte \a .2byte \b .2byte \c @@ -1406,19 +1419,19 @@ @ Does nothing. It is implemented but unused in Ruby/Sapphire. .macro showelevmenu - .byte 0xb2 + .byte SCR_OP_SHOWELEVMENU .endm @ Gets the number of coins the player has and stores it in the variable 'out'. .macro checkcoins out:req - .byte 0xb3 + .byte SCR_OP_CHECKCOINS .2byte \out .endm @ Gives 'count' coins to the player, up to a total of MAX_COINS. @ If the player already has MAX_COINS then VAR_RESULT is set to TRUE, otherwise it is set to FALSE. .macro addcoins count:req - .byte 0xb4 + .byte SCR_OP_ADDCOINS .2byte \count .endm @@ -1426,14 +1439,14 @@ @ If the player has fewer than 'count' coins then no coins are taken and VAR_RESULT is set to TRUE. @ Otherwise VAR_RESULT is set to FALSE. .macro removecoins count:req - .byte 0xb5 + .byte SCR_OP_REMOVECOINS .2byte \count .endm @ Prepares to start a wild battle against a 'species' at 'level' holding 'item'. Running this command will not affect @ normal wild battles. You start the prepared battle with dowildbattle. .macro setwildbattle species:req, level:req, item=ITEM_NONE - .byte 0xb6 + .byte SCR_OP_SETWILDBATTLE .2byte \species .byte \level .2byte \item @@ -1441,84 +1454,84 @@ @ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes. .macro dowildbattle - .byte 0xb7 + .byte SCR_OP_DOWILDBATTLE .endm @ Sets a relative address to be used by the other vcommands as part of a Mystery Gift script. .macro setvaddress pointer:req - .byte 0xb8 + .byte SCR_OP_SETVADDRESS .4byte \pointer .endm @ Equivalent to goto using the relative address set by setvaddress. .macro vgoto destination:req - .byte 0xb9 + .byte SCR_OP_VGOTO .4byte \destination .endm @ Equivalent to call using the relative address set by setvaddress. .macro vcall destination:req - .byte 0xba + .byte SCR_OP_VCALL .4byte \destination .endm @ Equivalent to goto_if using the relative address set by setvaddress. .macro vgoto_if condition:req, destination:req - .byte 0xbb + .byte SCR_OP_VGOTO_IF .byte \condition .4byte \destination .endm @ Equivalent to call_if using the relative address set by setvaddress. .macro vcall_if condition:req, destination:req - .byte 0xbc + .byte SCR_OP_VCALL_IF .byte \condition .4byte \destination .endm @ Equivalent to message using the relative address set by setvaddress. .macro vmessage text:req - .byte 0xbd + .byte SCR_OP_VMESSAGE .4byte \text .endm @ Expands the given text at the pointer (- the relative address set by setvaddress) into gStringVar4 .macro vbuffermessage text:req - .byte 0xbe + .byte SCR_OP_VBUFFERMESSAGE .4byte \text .endm @ Equivalent to bufferstring using the relative address set by setvaddress. .macro vbufferstring stringVarIndex:req, text:req - .byte 0xbf + .byte SCR_OP_VBUFFERSTRING stringvar \stringVarIndex .4byte \text .endm @ Create a window showing how many Coins the player has. .macro showcoinsbox x:req, y:req - .byte 0xc0 + .byte SCR_OP_SHOWCOINSBOX .byte \x .byte \y .endm @ Destroys the window created by showcoins. It consumes its arguments but doesn't use them. .macro hidecoinsbox x:req, y:req - .byte 0xc1 + .byte SCR_OP_HIDECOINSBOX .byte \x .byte \y .endm @ Updates the window created by showcoins. It consumes its arguments but doesn't use them. .macro updatecoinsbox x:req, y:req - .byte 0xc2 + .byte SCR_OP_UPDATECOINSBOX .byte \x .byte \y .endm @ Increases the value of the specified game stat by 1. The maximum value of a stat is 0xFFFFFF. See include/constants/game_stat.h .macro incrementgamestat stat:req - .byte 0xc3 + .byte SCR_OP_INCREMENTGAMESTAT .byte \stat .endm @@ -1526,78 +1539,78 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setescapewarp map:req, a, b, c - .byte 0xc4 + .byte SCR_OP_SETESCAPEWARP formatwarp \map, \a, \b, \c .endm @ Blocks script execution until cry finishes. .macro waitmoncry - .byte 0xc5 + .byte SCR_OP_WAITMONCRY .endm @ Writes the name of the specified PC box to the specified buffer. .macro bufferboxname stringVarId:req, box:req - .byte 0xc6 + .byte SCR_OP_BUFFERBOXNAME stringvar \stringVarId .2byte \box .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro textcolor color:req - .byte 0xc7 + .byte SCR_OP_TEXTCOLOR .byte \color .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro loadhelp text:req - .byte 0xc8 + .byte SCR_OP_LOADHELP .4byte \text .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro unloadhelp - .byte 0xc9 + .byte SCR_OP_UNLOADHELP .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro signmsg - .byte 0xca + .byte SCR_OP_SIGNMSG .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro normalmsg - .byte 0xcb + .byte SCR_OP_NORMALMSG .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro comparehiddenvar a:req, value:req - .byte 0xcc + .byte SCR_OP_COMPAREHIDDENVAR .byte \a .4byte \value .endm @ Sets the modernFatefulEncounter bit for the Pokemon in the specified slot of the player's party. .macro setmodernfatefulencounter slot:req - .byte 0xcd + .byte SCR_OP_SETMODERNFATEFULENCOUNTER .2byte \slot .endm @ Checks if the modernFatefulEncounter bit is set for the Pokemon in the specified slot of the player's party. If it isn't set, @ VAR_RESULT is TRUE. If the bit is set (or if the specified slot is empty or invalid), VAR_RESULT is FALSE. .macro checkmodernfatefulencounter slot:req - .byte 0xce + .byte SCR_OP_CHECKMODERNFATEFULENCOUNTER .2byte \slot .endm @ Jumps to the ram script saved from a Wonder Card. If there is no valid saved Wonder Card or if the @ ram script is invalid then this does nothing. .macro trywondercardscript - .byte 0xcf + .byte SCR_OP_TRYWONDERCARDSCRIPT .endm @ Used only in FireRed/LeafGreen, does nothing in Emerald. .macro setworldmapflag worldmapflag:req - .byte 0xd0 + .byte SCR_OP_SETWORLDMAPFLAG .2byte \worldmapflag .endm @@ -1606,13 +1619,13 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warpspinenter map:req, a, b, c - .byte 0xd1 + .byte SCR_OP_WARPSPINENTER formatwarp \map, \a, \b, \c .endm @ Changes the location where the player caught the Pokemon in the specified slot of their party. .macro setmonmetlocation slot:req, location:req - .byte 0xd2 + .byte SCR_OP_SETMONMETLOCATION .2byte \slot .byte \location .endm @@ -1620,26 +1633,26 @@ @ For the rotating tile puzzles in Mossdeep Gym / Trick House Room 7. Moves the objects one rotation @ on the colored puzzle specified by puzzleNumber. .macro moverotatingtileobjects puzzleNumber:req - .byte 0xd3 + .byte SCR_OP_MOVEROTATINGTILEOBJECTS .2byte \puzzleNumber .endm @ For the rotating tile puzzles in Mossdeep Gym / Trick House Room 7. Updates the facing direction of all objects on the puzzle tiles .macro turnrotatingtileobjects - .byte 0xd4 + .byte SCR_OP_TURNROTATINGTILEOBJECTS .endm @ For the rotating tile puzzles in Mossdeep Gym / Trick House Room 7. Allocates memory for the puzzle objects. @ isTrickHouse is needed to determine which of the two maps the puzzle is on, in order to know where in the tileset @ the puzzle tiles start (TRUE for Trick House Room, FALSE for Mossdeep Gym). .macro initrotatingtilepuzzle isTrickHouse:req - .byte 0xd5 + .byte SCR_OP_INITROTATINGTILEPUZZLE .2byte \isTrickHouse .endm @ For the rotating tile puzzles in Mossdeep Gym / Trick House Room 7. Frees the memory allocated for the puzzle objects. .macro freerotatingtilepuzzle - .byte 0xd6 + .byte SCR_OP_FREEROTATINGTILEPUZZLE .endm @ Warp used by the teleport tiles in the Mossdeep Gym. Plays SE_WARP_IN and does a simple fade transition. @@ -1647,44 +1660,44 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warpmossdeepgym map:req, a, b, c - .byte 0xd7 + .byte SCR_OP_WARPMOSSDEEPGYM formatwarp \map, \a, \b, \c .endm @ Sets the selected object to the id of the currently approaching trainer. .macro selectapproachingtrainer - .byte 0xd8 + .byte SCR_OP_SELECTAPPROACHINGTRAINER .endm @ Freezes all objects immediately except the player and the approaching trainers. @ The player and trainers are frozen once their movement is finished. .macro lockfortrainer - .byte 0xd9 + .byte SCR_OP_LOCKFORTRAINER .endm @ Destroys the window created by braillemessage. .macro closebraillemessage - .byte 0xda + .byte SCR_OP_CLOSEBRAILLEMESSAGE .endm @ Prints and draws the message all at once rather than character by character. @ Does not wait for player input to continue. .macro messageinstant text:req - .byte 0xdb + .byte SCR_OP_MESSAGEINSTANT .4byte \text .endm @ Equivalent to fadescreen but copies gPlttBufferUnfaded to gPaletteDecompressionBuffer on the fade out @ and the reverse on the fade in, in effect saving gPlttBufferUnfaded to restore it. .macro fadescreenswapbuffers mode:req - .byte 0xdc + .byte SCR_OP_FADESCREENSWAPBUFFERS .byte \mode .endm @ Buffers the specified trainer's class name to the given string var. @ If the trainer id is >= TRAINERS_COUNT it will be treated as TRAINER_NONE. .macro buffertrainerclassname stringVarId:req, trainerId:req - .byte 0xdd + .byte SCR_OP_BUFFERTRAINERCLASSNAME stringvar \stringVarId .2byte \trainerId .endm @@ -1692,14 +1705,14 @@ @ Buffers the specified trainer's name to the given string var. @ If the trainer id is >= TRAINERS_COUNT it will be treated as TRAINER_NONE. .macro buffertrainername stringVarId:req, trainerId:req - .byte 0xde + .byte SCR_OP_BUFFERTRAINERNAME stringvar \stringVarId .2byte \trainerId .endm @ Starts a Pokenav call with the given text. .macro pokenavcall text:req - .byte 0xdf + .byte SCR_OP_POKENAVCALL .4byte \text .endm @@ -1707,14 +1720,14 @@ @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro warpwhitefade map:req, a, b, c - .byte 0xe0 + .byte SCR_OP_WARPWHITEFADE formatwarp \map, \a, \b, \c .endm @ Buffers the name of the contest category to the buffer. @ For example a category of CONTEST_CATEGORY_COOL will buffer the string "COOLNESS CONTEST". .macro buffercontestname stringVarId:req, category:req - .byte 0xe1 + .byte SCR_OP_BUFFERCONTESTNAME stringvar \stringVarId .2byte \category .endm @@ -1723,7 +1736,7 @@ @ and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). @ If the specified item is >= ITEMS_COUNT then the name of ITEM_NONE ("????????") is buffered instead. .macro bufferitemnameplural stringVarId:req, item:req, quantity:req - .byte 0xe2 + .byte SCR_OP_BUFFERITEMNAMEPLURAL stringvar \stringVarId .2byte \item .2byte \quantity diff --git a/asmdiff.sh b/asmdiff.sh index f5a7010747..aca670e324 100755 --- a/asmdiff.sh +++ b/asmdiff.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash if [[ -d "$DEVKITARM/bin/" ]]; then OBJDUMP_BIN="$DEVKITARM/bin/arm-none-eabi-objdump" diff --git a/audio_rules.mk b/audio_rules.mk new file mode 100644 index 0000000000..0acbccec07 --- /dev/null +++ b/audio_rules.mk @@ -0,0 +1,45 @@ +# This file contains rules for making assemblies for most music in the game. + +CRY_SUBDIR := sound/direct_sound_samples/cries + +MID_ASM_DIR := $(MID_SUBDIR) +CRY_BIN_DIR := $(CRY_SUBDIR) +SOUND_BIN_DIR := sound + +SPECIAL_OUTDIRS := $(MID_ASM_DIR) $(CRY_BIN_DIR) +SPECIAL_OUTDIRS += $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/direct_sound_samples/phonemes $(SOUND_BIN_DIR)/direct_sound_samples/cries +$(shell mkdir -p $(SPECIAL_OUTDIRS) ) + +# Assembly song compilation +$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s + $(AS) $(ASFLAGS) -I sound -o $@ $< +$(MID_BUILDDIR)/%.o: $(MID_ASM_DIR)/%.s + $(AS) $(ASFLAGS) -I sound -o $@ $< + +# Compressed cries +$(CRY_BIN_DIR)/%.bin: $(CRY_SUBDIR)/%.aif + $(AIF) $< $@ --compress + +# Uncompressed sounds +$(SOUND_BIN_DIR)/%.bin: sound/%.aif + $(AIF) $< $@ + +# For each line in midi.cfg, we do some trickery to convert it into a make rule for the `.mid` file described on the line +# Data following the colon in said file corresponds to arguments passed into mid2agb +MID_CFG_PATH := $(MID_SUBDIR)/midi.cfg + +# $1: Source path no extension, $2 Options +define MID_RULE +$(MID_ASM_DIR)/$1.s: $(MID_SUBDIR)/$1.mid $(MID_CFG_PATH) + $(MID) $$< $$@ $2 +endef +# source path, remaining text (options) +define MID_EXPANSION + $(eval $(call MID_RULE,$(basename $(patsubst %:,%,$(word 1,$1))),$(wordlist 2,999,$1))) +endef + +$(foreach line,$(shell cat $(MID_CFG_PATH) | sed "s/ /__SPACE__/g"),$(call MID_EXPANSION,$(subst __SPACE__, ,$(line)))) + +# Warn users building without a .cfg - build will fail at link time +$(MID_ASM_DIR)/%.s: $(MID_SUBDIR)/%.mid + $(warning $< does not have an associated entry in midi.cfg! It cannot be built) diff --git a/common_syms/AgbRfu_LinkManager.txt b/common_syms/AgbRfu_LinkManager.txt deleted file mode 100644 index 7ff8cd53dd..0000000000 --- a/common_syms/AgbRfu_LinkManager.txt +++ /dev/null @@ -1 +0,0 @@ -lman diff --git a/common_syms/agb_flash.txt b/common_syms/agb_flash.txt deleted file mode 100644 index cb421ec80d..0000000000 --- a/common_syms/agb_flash.txt +++ /dev/null @@ -1,10 +0,0 @@ -gFlashTimeoutFlag -PollFlashStatus -WaitForFlashWrite -ProgramFlashSector -gFlash -ProgramFlashByte -gFlashNumRemainingBytes -EraseFlashChip -EraseFlashSector -gFlashMaxTime diff --git a/common_syms/apprentice.txt b/common_syms/apprentice.txt deleted file mode 100644 index 0d3569dcbb..0000000000 --- a/common_syms/apprentice.txt +++ /dev/null @@ -1,3 +0,0 @@ -gApprenticePartyMovesData -gApprenticeQuestionData -gApprenticeFunc diff --git a/common_syms/battle_anim_throw.txt b/common_syms/battle_anim_throw.txt deleted file mode 100755 index 5e2e8b3ff3..0000000000 --- a/common_syms/battle_anim_throw.txt +++ /dev/null @@ -1,3 +0,0 @@ -gMonShrinkDuration -gMonShrinkDelta -gMonShrinkDistance diff --git a/common_syms/battle_factory_screen.txt b/common_syms/battle_factory_screen.txt deleted file mode 100644 index 3ddeb6d3b1..0000000000 --- a/common_syms/battle_factory_screen.txt +++ /dev/null @@ -1 +0,0 @@ -gFactorySelect_CurrentOptionFunc diff --git a/common_syms/battle_main.txt b/common_syms/battle_main.txt deleted file mode 100644 index f6f02c48d3..0000000000 --- a/common_syms/battle_main.txt +++ /dev/null @@ -1,9 +0,0 @@ -gPreBattleCallback1 -gBattleMainFunc -gBattleResults -gLeveledUpInBattle -gBattlerControllerFuncs -gHealthboxSpriteIds -gMultiUsePlayerCursor -gNumberOfMovesToChoose -gBattleControllerData diff --git a/common_syms/battle_tower.txt b/common_syms/battle_tower.txt deleted file mode 100644 index 7371109d51..0000000000 --- a/common_syms/battle_tower.txt +++ /dev/null @@ -1 +0,0 @@ -gFrontierTempParty diff --git a/common_syms/berry_blender.txt b/common_syms/berry_blender.txt deleted file mode 100644 index 1b15a33d61..0000000000 --- a/common_syms/berry_blender.txt +++ /dev/null @@ -1 +0,0 @@ -gInGameOpponentsNo diff --git a/common_syms/bg.txt b/common_syms/bg.txt deleted file mode 100644 index 0a3c3aecca..0000000000 --- a/common_syms/bg.txt +++ /dev/null @@ -1 +0,0 @@ -gWindowTileAutoAllocEnabled diff --git a/common_syms/contest.txt b/common_syms/contest.txt deleted file mode 100644 index 6a519fb463..0000000000 --- a/common_syms/contest.txt +++ /dev/null @@ -1 +0,0 @@ -gContestRngValue diff --git a/common_syms/contest_painting.txt b/common_syms/contest_painting.txt deleted file mode 100644 index 32bb8be161..0000000000 --- a/common_syms/contest_painting.txt +++ /dev/null @@ -1,4 +0,0 @@ -gContestMonPixels -gImageProcessingContext -gContestPaintingWinner -gContestPaintingMonPalette diff --git a/common_syms/ereader_screen.txt b/common_syms/ereader_screen.txt deleted file mode 100644 index 2189eedbc9..0000000000 --- a/common_syms/ereader_screen.txt +++ /dev/null @@ -1 +0,0 @@ -gEReaderData diff --git a/common_syms/evolution_scene.txt b/common_syms/evolution_scene.txt deleted file mode 100644 index 137cd3e05d..0000000000 --- a/common_syms/evolution_scene.txt +++ /dev/null @@ -1 +0,0 @@ -gCB2_AfterEvolution diff --git a/common_syms/faraway_island.txt b/common_syms/faraway_island.txt deleted file mode 100755 index e02ca2ec25..0000000000 --- a/common_syms/faraway_island.txt +++ /dev/null @@ -1,3 +0,0 @@ -sPlayerToMewDeltaX -sPlayerToMewDeltaY -sMewDirectionCandidates diff --git a/common_syms/field_camera.txt b/common_syms/field_camera.txt deleted file mode 100644 index 02301ce23c..0000000000 --- a/common_syms/field_camera.txt +++ /dev/null @@ -1,3 +0,0 @@ -gFieldCamera -gTotalCameraPixelOffsetY -gTotalCameraPixelOffsetX diff --git a/common_syms/field_control_avatar.txt b/common_syms/field_control_avatar.txt deleted file mode 100644 index 268f60c641..0000000000 --- a/common_syms/field_control_avatar.txt +++ /dev/null @@ -1 +0,0 @@ -gSelectedObjectEvent diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt deleted file mode 100644 index 7adb3f6692..0000000000 --- a/common_syms/field_specials.txt +++ /dev/null @@ -1 +0,0 @@ -gScrollableMultichoice_ListMenuTemplate diff --git a/common_syms/fieldmap.txt b/common_syms/fieldmap.txt deleted file mode 100644 index 0ead758462..0000000000 --- a/common_syms/fieldmap.txt +++ /dev/null @@ -1 +0,0 @@ -gBackupMapLayout diff --git a/common_syms/image_processing_effects.txt b/common_syms/image_processing_effects.txt deleted file mode 100644 index 134f7e88b2..0000000000 --- a/common_syms/image_processing_effects.txt +++ /dev/null @@ -1,10 +0,0 @@ -gCanvasColumnStart -gCanvasPixels -gCanvasRowEnd -gCanvasHeight -gCanvasColumnEnd -gCanvasRowStart -gCanvasMonPersonality -gCanvasWidth -gCanvasPalette -gCanvasPaletteStart diff --git a/common_syms/intro.txt b/common_syms/intro.txt deleted file mode 100644 index d069b1014f..0000000000 --- a/common_syms/intro.txt +++ /dev/null @@ -1,2 +0,0 @@ -gIntroFrameCounter -gMultibootProgramStruct diff --git a/common_syms/librfu_rfu.txt b/common_syms/librfu_rfu.txt deleted file mode 100644 index 4b742dcd25..0000000000 --- a/common_syms/librfu_rfu.txt +++ /dev/null @@ -1,5 +0,0 @@ -gRfuSlotStatusUNI -gRfuSlotStatusNI -gRfuLinkStatus -gRfuStatic -gRfuFixed diff --git a/common_syms/librfu_sio32id.txt b/common_syms/librfu_sio32id.txt deleted file mode 100644 index 97395e84b3..0000000000 --- a/common_syms/librfu_sio32id.txt +++ /dev/null @@ -1 +0,0 @@ -gRfuSIO32Id diff --git a/common_syms/librfu_stwi.txt b/common_syms/librfu_stwi.txt deleted file mode 100644 index a1f7735535..0000000000 --- a/common_syms/librfu_stwi.txt +++ /dev/null @@ -1 +0,0 @@ -gSTWIStatus diff --git a/common_syms/link.txt b/common_syms/link.txt deleted file mode 100644 index 4118d1eb4b..0000000000 --- a/common_syms/link.txt +++ /dev/null @@ -1,35 +0,0 @@ -gLinkPartnersHeldKeys -gLinkDebugSeed -gLocalLinkPlayerBlock -gLinkErrorOccurred -gLinkDebugFlags -gLinkFiller1 -gRemoteLinkPlayersNotReceived -gBlockReceivedStatus -gLinkFiller2 -gLinkHeldKeys -gRecvCmds -gLinkStatus -gLinkDummy1 -gLinkDummy2 -gReadyToExitStandby -gReadyToCloseLink -gReadyCloseLinkType -gSuppressLinkErrorMessage -gWirelessCommType -gSavedLinkPlayerCount -gSendCmd -gSavedMultiplayerId -gReceivedRemoteLinkPlayers -gLinkTestBGInfo -gLinkCallback -gShouldAdvanceLinkState -gLinkTestBlockChecksums -gBlockRequestType -gLinkFiller3 -gLinkFiller4 -gLinkFiller5 -gLastSendQueueCount -gLink -gLastRecvQueueCount -gLinkSavedIme diff --git a/common_syms/link_rfu_2.txt b/common_syms/link_rfu_2.txt deleted file mode 100644 index 4b8f02bad8..0000000000 --- a/common_syms/link_rfu_2.txt +++ /dev/null @@ -1,2 +0,0 @@ -gRfuAPIBuffer -gRfu diff --git a/common_syms/list_menu.txt b/common_syms/list_menu.txt deleted file mode 100644 index ed5343618c..0000000000 --- a/common_syms/list_menu.txt +++ /dev/null @@ -1,2 +0,0 @@ -gListMenuOverride -gMultiuseListMenuTemplate diff --git a/common_syms/load_save.txt b/common_syms/load_save.txt deleted file mode 100644 index 2d3d9b802f..0000000000 --- a/common_syms/load_save.txt +++ /dev/null @@ -1,4 +0,0 @@ -gFlashMemoryPresent -gSaveBlock1Ptr -gSaveBlock2Ptr -gPokemonStoragePtr diff --git a/common_syms/m4a.txt b/common_syms/m4a.txt deleted file mode 100644 index 0d6b13a79b..0000000000 --- a/common_syms/m4a.txt +++ /dev/null @@ -1,12 +0,0 @@ -gSoundInfo -gPokemonCrySongs -gPokemonCryMusicPlayers -gMPlayInfo_BGM -gMPlayJumpTable -gCgbChans -gMPlayInfo_SE1 -gMPlayInfo_SE2 -gPokemonCryTracks -gPokemonCrySong -gMPlayMemAccArea -gMPlayInfo_SE3 diff --git a/common_syms/main.txt b/common_syms/main.txt deleted file mode 100644 index a620083d19..0000000000 --- a/common_syms/main.txt +++ /dev/null @@ -1,9 +0,0 @@ -gKeyRepeatStartDelay -gLinkTransferringData -gMain -gKeyRepeatContinueDelay -gSoftResetDisabled -gIntrTable -gLinkVSyncDisabled -IntrMain_Buffer -gPcmDmaCounter diff --git a/common_syms/mauville_old_man.txt b/common_syms/mauville_old_man.txt deleted file mode 100644 index 9d77b8692b..0000000000 --- a/common_syms/mauville_old_man.txt +++ /dev/null @@ -1 +0,0 @@ -gBardSong diff --git a/common_syms/overworld.txt b/common_syms/overworld.txt deleted file mode 100644 index dcada0bbef..0000000000 --- a/common_syms/overworld.txt +++ /dev/null @@ -1,8 +0,0 @@ -gOverworldTilemapBuffer_Bg2 -gOverworldTilemapBuffer_Bg1 -gOverworldTilemapBuffer_Bg3 -gHeldKeyCodeToSend -gFieldCallback -gFieldCallback2 -gLocalLinkPlayerId -gFieldLinkPlayerCount diff --git a/common_syms/party_menu.txt b/common_syms/party_menu.txt deleted file mode 100644 index 6ed37392c2..0000000000 --- a/common_syms/party_menu.txt +++ /dev/null @@ -1 +0,0 @@ -gItemUseCB diff --git a/common_syms/pokedex.txt b/common_syms/pokedex.txt deleted file mode 100644 index c7a297b2af..0000000000 --- a/common_syms/pokedex.txt +++ /dev/null @@ -1,2 +0,0 @@ -gUnusedPokedexU8 -gPokedexVBlankCB diff --git a/common_syms/pokedex_cry_screen.txt b/common_syms/pokedex_cry_screen.txt deleted file mode 100644 index d16ec36d64..0000000000 --- a/common_syms/pokedex_cry_screen.txt +++ /dev/null @@ -1 +0,0 @@ -gDexCryScreenState diff --git a/common_syms/random.txt b/common_syms/random.txt deleted file mode 100644 index 8037c69586..0000000000 --- a/common_syms/random.txt +++ /dev/null @@ -1,2 +0,0 @@ -gRngValue -gRng2Value diff --git a/common_syms/rtc.txt b/common_syms/rtc.txt deleted file mode 100644 index fa00a34d51..0000000000 --- a/common_syms/rtc.txt +++ /dev/null @@ -1 +0,0 @@ -gLocalTime diff --git a/common_syms/save.txt b/common_syms/save.txt deleted file mode 100644 index 131031d506..0000000000 --- a/common_syms/save.txt +++ /dev/null @@ -1,13 +0,0 @@ -gLastWrittenSector -gLastSaveCounter -gLastKnownGoodSector -gDamagedSaveSectors -gSaveCounter -gReadWriteSector -gIncrementalSectorId -gSaveUnusedVar -gSaveFileStatus -gGameContinueCallback -gRamSaveSectorLocations -gSaveUnusedVar2 -gSaveAttemptStatus diff --git a/common_syms/sound.txt b/common_syms/sound.txt deleted file mode 100644 index 0f6f2fc758..0000000000 --- a/common_syms/sound.txt +++ /dev/null @@ -1 +0,0 @@ -gDisableMusic diff --git a/common_syms/sprite.txt b/common_syms/sprite.txt deleted file mode 100644 index 627c01c0d0..0000000000 --- a/common_syms/sprite.txt +++ /dev/null @@ -1,2 +0,0 @@ -gOamMatrixAllocBitmap -gReservedSpritePaletteCount diff --git a/common_syms/start_menu.txt b/common_syms/start_menu.txt deleted file mode 100644 index 05beaf57c2..0000000000 --- a/common_syms/start_menu.txt +++ /dev/null @@ -1 +0,0 @@ -gMenuCallback diff --git a/common_syms/task.txt b/common_syms/task.txt deleted file mode 100644 index 6601bd11bb..0000000000 --- a/common_syms/task.txt +++ /dev/null @@ -1 +0,0 @@ -gTasks diff --git a/common_syms/text.txt b/common_syms/text.txt deleted file mode 100644 index cd8886e5b1..0000000000 --- a/common_syms/text.txt +++ /dev/null @@ -1,4 +0,0 @@ -gFonts -gDisableTextPrinters -gCurGlyph -gTextFlags diff --git a/common_syms/trainer_see.txt b/common_syms/trainer_see.txt deleted file mode 100644 index 0b30a632a0..0000000000 --- a/common_syms/trainer_see.txt +++ /dev/null @@ -1,5 +0,0 @@ -gWhichTrainerToFaceAfterBattle -gPostBattleMovementScript -gApproachingTrainers -gNoOfApproachingTrainers -gTrainerApproachedPlayer diff --git a/common_syms/tv.txt b/common_syms/tv.txt deleted file mode 100644 index 0370f65e1f..0000000000 --- a/common_syms/tv.txt +++ /dev/null @@ -1,4 +0,0 @@ -sCurTVShowSlot -sTV_SecretBaseVisitMovesTemp -sTV_DecorationsBuffer -sTV_SecretBaseVisitMonsTemp diff --git a/common_syms/window.txt b/common_syms/window.txt deleted file mode 100644 index 24c093a226..0000000000 --- a/common_syms/window.txt +++ /dev/null @@ -1,2 +0,0 @@ -gTransparentTileNumber -gWindowBgTilemapBuffers diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index a43c889502..19ee9d18a5 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -1613,6 +1613,8 @@ AI_CV_Disable2: AI_CV_Disable_End: end +@ BUG: The original script would score up Counter when the target's types were not physical +@ This is incorrect since Counter only deals double the damage received if hit by a physical attack AI_CV_Counter: if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Counter_ScoreDown1 if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_Counter_ScoreDown1 @@ -1625,7 +1627,7 @@ AI_CV_Counter2: if_random_less_than 100, AI_CV_Counter3 score -1 AI_CV_Counter3: - if_has_move AI_USER, MOVE_MIRROR_COAT, AI_CV_Counter7 + if_has_move AI_USER, MOVE_MIRROR_COAT, AI_CV_Counter8 get_last_used_bank_move AI_TARGET get_move_power_from_result if_equal 0, AI_CV_Counter5 @@ -1645,15 +1647,24 @@ AI_CV_Counter5: if_random_less_than 100, AI_CV_Counter6 score +1 AI_CV_Counter6: +#ifdef BUGFIX + get_target_type1 + if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter7 + get_target_type2 + if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter7 + goto AI_CV_Counter_End +#else get_target_type1 if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End get_target_type2 if_in_bytes AI_CV_Counter_PhysicalTypeList, AI_CV_Counter_End - if_random_less_than 50, AI_CV_Counter_End +#endif AI_CV_Counter7: - if_random_less_than 100, AI_CV_Counter8 - score +4 + if_random_less_than 50, AI_CV_Counter_End AI_CV_Counter8: + if_random_less_than 100, AI_CV_Counter9 + score +4 +AI_CV_Counter9: end AI_CV_Counter_ScoreDown1: @@ -2100,6 +2111,8 @@ AI_CV_PsychUp_ScoreDown2: AI_CV_PsychUp_End: end +@ BUG: The original script would score up Mirror Coat when the target's types were not special +@ This is incorrect since Mirror Coat only deals double the damage received if hit by a special attack AI_CV_MirrorCoat: if_status AI_TARGET, STATUS1_SLEEP, AI_CV_MirrorCoat_ScoreDown1 if_status2 AI_TARGET, STATUS2_INFATUATION, AI_CV_MirrorCoat_ScoreDown1 @@ -2132,10 +2145,19 @@ AI_CV_MirrorCoat5: if_random_less_than 100, AI_CV_MirrorCoat6 score +1 AI_CV_MirrorCoat6: +#ifdef BUGFIX + get_target_type1 + if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat7 + get_target_type2 + if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat7 + goto AI_CV_MirrorCoat_End +#else get_target_type1 if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End get_target_type2 if_in_bytes AI_CV_MirrorCoat_SpecialTypeList, AI_CV_MirrorCoat_End +#endif +AI_CV_MirrorCoat7: if_random_less_than 50, AI_CV_MirrorCoat_End AI_CV_MirrorCoat_ScoreUp4: if_random_less_than 100, AI_CV_MirrorCoat_ScoreUp4_End diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 4519761845..489bffb207 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2097,7 +2097,7 @@ Move_MEAN_LOOK: Move_ROCK_THROW: loadspritegfx ANIM_TAG_ROCKS - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_TARGET, 2, 6, 1, 15, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_TARGET, 2, 6, 1, 15, 1 createsprite gFallingRockSpriteTemplate, ANIM_TARGET, 2, 0, 1, 0, 0 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET delay 6 @@ -2119,7 +2119,7 @@ Move_ROCK_THROW: Move_ROCK_SLIDE: loadspritegfx ANIM_TAG_ROCKS monbg ANIM_DEF_PARTNER - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 7, 1, 11, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, 7, 1, 11, 1 createsprite gFallingRockSpriteTemplate, ANIM_TARGET, 2, -5, 1, -5, 1 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET delay 2 @@ -2909,7 +2909,7 @@ Move_BARRAGE: createvisualtask AnimTask_BarrageBall, 3 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER delay 24 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, 40, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, 40, 1 createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 4, 20, 1 createvisualtask AnimTask_ShakeMon, 3, ANIM_DEF_PARTNER, 0, 4, 20, 1 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 2 @@ -3660,7 +3660,7 @@ Move_SUPERPOWER: createsprite gSuperpowerOrbSpriteTemplate, ANIM_TARGET, 2, ANIM_ATTACKER playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER delay 20 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 180, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 180, 1 createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_EARTHQUAKE, 0 delay 40 createsprite gSuperpowerRockSpriteTemplate, ANIM_ATTACKER, 41, 200, 96, 1, 120 @@ -5011,7 +5011,7 @@ SnoreEffect: playsewithpan SE_M_SNORE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 7, ANIM_ATTACKER, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, 14, 0, 0 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, 14, 0, 0 createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, -42, -38, 24, 0, 0 createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0, -42, 24, 0, 0 createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0 @@ -6871,7 +6871,7 @@ Move_ANCIENT_POWER: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 10, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 10, 1 createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 20, 32, -48, 50, 2 createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, -38, 25, 5 createsprite gAncientPowerRockSpriteTemplate, ANIM_ATTACKER, 2, 32, 32, -28, 40, 3 @@ -7292,14 +7292,14 @@ Move_METAL_CLAW: playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, 10, 0 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 delay 8 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 delay 2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, -10, 1 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, 10, 1 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 waitforvisualfinish end @@ -8515,7 +8515,7 @@ HyperVoiceEffect: createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 1, 0, 6, 1 createvisualtask SoundTask_WaitForCry, 5 return @@ -8637,7 +8637,7 @@ Move_DRAGON_CLAW: createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, 10, 0 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, ANIM_ATTACKER delay 2 createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, ANIM_ATTACKER @@ -8650,7 +8650,7 @@ Move_DRAGON_CLAW: createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, -10, 1 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 10, 10, 1 - createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 + createsprite gShakeMonOrPlatformSpriteTemplate, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1 createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, ANIM_ATTACKER delay 2 createsprite gFireSpinSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, ANIM_ATTACKER @@ -9111,7 +9111,7 @@ Move_BLAST_BURN: createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 70, 60, -30, 24, 0, 0, 0 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, 3, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 12, 0, 20, 1 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 2, 0, 10, 1 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 96, 0, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 66, 60, 30, 24, 0, 0, 0 createsprite gFirePlumeSpriteTemplate, ANIM_ATTACKER, 2, 0, 48, 24, 0, 0, 0 @@ -9125,32 +9125,32 @@ Move_BLAST_BURN: Move_ROCK_TOMB: loadspritegfx ANIM_TAG_X_SIGN loadspritegfx ANIM_TAG_ROCKS - createvisualtask AnimTask_ShakeBattleTerrain, 2, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 2, 0, 10, 1 waitforvisualfinish createsprite gRockTombRockSpriteTemplate, ANIM_TARGET, 2, 20, 12, 64, 114, 0 delay 8 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 0, 2, 3, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 0, 2, 3, 1 playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET delay 8 createsprite gRockTombRockSpriteTemplate, ANIM_TARGET, 2, -20, 12, 64, 98, 0 delay 8 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 0, 2, 3, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 0, 2, 3, 1 playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET delay 8 createsprite gRockTombRockSpriteTemplate, ANIM_TARGET, 66, 3, 6, 64, 82, 0 delay 8 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 0, 2, 3, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 0, 2, 3, 1 playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET delay 8 createsprite gRockTombRockSpriteTemplate, ANIM_TARGET, 2, -3, 13, 64, 66, 0 delay 8 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 0, 2, 3, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 0, 2, 3, 1 playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET delay 24 playsewithpan SE_M_HYPER_BEAM, SOUND_PAN_TARGET createsprite gRedXSpriteTemplate, ANIM_TARGET, 5, ANIM_TARGET, 50 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 20, 1 - createvisualtask AnimTask_ShakeBattleTerrain, 2, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeBattlePlatforms, 2, 2, 0, 10, 1 waitforvisualfinish end @@ -9635,16 +9635,16 @@ Move_SKY_UPPERCUT: end Move_SECRET_POWER: - createvisualtask AnimTask_GetBattleTerrain, 5 - jumpargeq 0, BATTLE_TERRAIN_GRASS, Move_NEEDLE_ARM - jumpargeq 0, BATTLE_TERRAIN_LONG_GRASS, Move_MAGICAL_LEAF - jumpargeq 0, BATTLE_TERRAIN_SAND, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_UNDERWATER, Move_WATERFALL - jumpargeq 0, BATTLE_TERRAIN_WATER, Move_SURF - jumpargeq 0, BATTLE_TERRAIN_POND, Move_BUBBLE_BEAM - jumpargeq 0, BATTLE_TERRAIN_MOUNTAIN, Move_ROCK_THROW - jumpargeq 0, BATTLE_TERRAIN_CAVE, Move_BITE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_STRENGTH + createvisualtask AnimTask_GetBattleEnvironment, 5 + jumpargeq 0, BATTLE_ENVIRONMENT_GRASS, Move_NEEDLE_ARM + jumpargeq 0, BATTLE_ENVIRONMENT_LONG_GRASS, Move_MAGICAL_LEAF + jumpargeq 0, BATTLE_ENVIRONMENT_SAND, Move_MUD_SHOT + jumpargeq 0, BATTLE_ENVIRONMENT_UNDERWATER, Move_WATERFALL + jumpargeq 0, BATTLE_ENVIRONMENT_WATER, Move_SURF + jumpargeq 0, BATTLE_ENVIRONMENT_POND, Move_BUBBLE_BEAM + jumpargeq 0, BATTLE_ENVIRONMENT_MOUNTAIN, Move_ROCK_THROW + jumpargeq 0, BATTLE_ENVIRONMENT_CAVE, Move_BITE + jumpargeq 0, BATTLE_ENVIRONMENT_BUILDING, Move_STRENGTH goto Move_SLAM Move_TWISTER: diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0c0dc72831..00a40fbbb0 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2289,7 +2289,7 @@ BattleScript_EffectNaturePower:: attackcanceler attackstring pause B_WAIT_TIME_SHORT - callterrainattack + callenvironmentattack printstring STRINGID_NATUREPOWERTURNEDINTO waitmessage B_WAIT_TIME_LONG return @@ -2799,7 +2799,7 @@ BattleScript_EffectCamouflage:: attackcanceler attackstring ppreduce - settypetoterrain BattleScript_ButItFailed + settypetoenvironment BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNCHANGEDTYPE diff --git a/data/event_scripts.s b/data/event_scripts.s index e8fb9dcbd1..0cc95940f8 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -60,6 +60,7 @@ .section script_data, "aw", %progbits + .set ALLOCATE_SCRIPT_CMD_TABLE, 1 .include "data/script_cmd_table.inc" gSpecialVars:: @@ -563,8 +564,8 @@ gStdScripts_End:: .include "data/maps/Route110_TrickHousePuzzle6/scripts.inc" .include "data/maps/Route110_TrickHousePuzzle7/scripts.inc" .include "data/maps/Route110_TrickHousePuzzle8/scripts.inc" - .include "data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc" .include "data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc" + .include "data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc" .include "data/maps/Route113_GlassWorkshop/scripts.inc" .include "data/maps/Route123_BerryMastersHouse/scripts.inc" .include "data/maps/Route119_WeatherInstitute_1F/scripts.inc" @@ -774,8 +775,8 @@ EventScript_HideMrBriney:: return RusturfTunnel_EventScript_SetRusturfTunnelOpen:: - removeobject LOCALID_WANDAS_BF - removeobject LOCALID_WANDA + removeobject LOCALID_RUSTURF_TUNNEL_WANDAS_BF + removeobject LOCALID_RUSTURF_TUNNEL_WANDA clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA setvar VAR_RUSTURF_TUNNEL_STATE, 6 @@ -784,11 +785,11 @@ RusturfTunnel_EventScript_SetRusturfTunnelOpen:: EventScript_UnusedBoardFerry:: delay 30 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 - showobjectat OBJ_EVENT_ID_PLAYER, 0 + showobjectat LOCALID_PLAYER, 0 delay 30 - applymovement OBJ_EVENT_ID_PLAYER, Movement_UnusedBoardFerry + applymovement LOCALID_PLAYER, Movement_UnusedBoardFerry waitmovement 0 delay 30 return @@ -801,7 +802,7 @@ Common_EventScript_FerryDepartIsland:: call_if_eq VAR_FACING, DIR_SOUTH, Ferry_EventScript_DepartIslandSouth call_if_eq VAR_FACING, DIR_WEST, Ferry_EventScript_DepartIslandWest delay 30 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 call Common_EventScript_FerryDepart return diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json index bc58b8d6be..fb8bf6ed36 100644 --- a/data/maps/AquaHideout_B2F/map.json +++ b/data/maps/AquaHideout_B2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_AQUA_HIDEOUT_MATT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 23, "y": 19, @@ -54,6 +55,7 @@ "flag": "FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL" }, { + "local_id": "LOCALID_AQUA_HIDEOUT_SUBMARINE", "graphics_id": "OBJ_EVENT_GFX_SUBMARINE_SHADOW", "x": 19, "y": 20, diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc index 8d7a27bee1..234833a8e1 100644 --- a/data/maps/AquaHideout_B2F/scripts.inc +++ b/data/maps/AquaHideout_B2F/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_MATT, 1 -.set LOCALID_SUBMARINE, 4 - AquaHideout_B2F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, AquaHideout_B2F_OnTransition end_map_scripts @@ -15,7 +12,7 @@ AquaHideout_B2F_EventScript_PreventMattNoticing:: AquaHideout_B2F_EventScript_MattNoticePlayer:: lockall - setvar VAR_0x8008, LOCALID_MATT + setvar VAR_0x8008, LOCALID_AQUA_HIDEOUT_MATT playse SE_PIN applymovement VAR_0x8008, Common_Movement_ExclamationMark waitmovement 0 @@ -32,8 +29,8 @@ AquaHideout_B2F_EventScript_Matt:: end AquaHideout_B2F_EventScript_SubmarineEscape:: - setvar VAR_0x8008, LOCALID_MATT - setvar VAR_0x8009, LOCALID_SUBMARINE + setvar VAR_0x8008, LOCALID_AQUA_HIDEOUT_MATT + setvar VAR_0x8009, LOCALID_AQUA_HIDEOUT_SUBMARINE applymovement VAR_0x8008, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 20 diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/map.json b/data/maps/BattleFrontier_BattleArenaBattleRoom/map.json index b7b4e168a6..6aa89f9055 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_ARENA_BATTLE_BLACK_BELT_1", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 5, "y": 3, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_BLACK_BELT_2", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 10, "y": 3, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_BLACK_BELT_3", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 5, "y": 9, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_BLACK_BELT_4", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 10, "y": 9, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 4, "y": 5, @@ -93,6 +98,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 15, "y": 6, @@ -106,6 +112,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 0, "y": 6, @@ -119,6 +126,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ARENA_BATTLE_ANNOUNCER", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 7, "y": 4, diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc index d739735452..38045b8623 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc @@ -1,12 +1,7 @@ -.set LOCALID_BLACK_BELT_1, 1 -.set LOCALID_BLACK_BELT_2, 2 -.set LOCALID_BLACK_BELT_3, 3 -.set LOCALID_BLACK_BELT_4, 4 -.set LOCALID_ATTENDANT, 5 -.set LOCALID_OPPONENT, 7 -.set LOCALID_PLAYER, 8 -.set LOCALID_ANNOUNCER, 9 - +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_ARENA_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_1. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by tower_setopponent. BattleFrontier_BattleArenaBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleArenaBattleRoom_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaBattleRoom_OnFrame @@ -14,9 +9,6 @@ BattleFrontier_BattleArenaBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleArenaBattleRoom_OnResume end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_1 - BattleFrontier_BattleArenaBattleRoom_OnResume: special OffsetCameraForBattle end @@ -46,47 +38,47 @@ BattleFrontier_BattleArenaBattleRoom_OnFrame: BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom:: lockall - showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter + showobjectat LOCALID_ARENA_BATTLE_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter waitmovement 0 frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft + applymovement LOCALID_ARENA_BATTLE_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft setvar VAR_TEMP_2, 1 frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE goto BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers:: tower_setopponent - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter + addobject LOCALID_ARENA_BATTLE_OPPONENT + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentEnter waitmovement 0 - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_M_BELLY_DRUM waitse waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward waitmovement 0 - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_M_BELLY_DRUM waitse waitmovement 0 arena_gettrainername msgbox BattleFrontier_BattleArenaBattleRoom_Text_OpponentStepForward, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward waitmovement 0 - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_M_BELLY_DRUM waitse waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_SetKOTourneyBegin, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForward + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward waitmovement 0 palace_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT @@ -95,11 +87,11 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers:: switch VAR_RESULT case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner:: - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown - applymovement LOCALID_BLACK_BELT_1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown - applymovement LOCALID_BLACK_BELT_2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown - applymovement LOCALID_BLACK_BELT_3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp - applymovement LOCALID_BLACK_BELT_4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp playse SE_M_SNORE waitse waitmovement 0 @@ -117,12 +109,12 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent:: frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerWalkBackToLine + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentExit waitmovement 0 - removeobject LOCALID_OPPONENT - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft + removeobject LOCALID_ARENA_BATTLE_OPPONENT + applymovement LOCALID_ARENA_BATTLE_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT special LoadPlayerParty @@ -191,8 +183,8 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_AskRetireChallenge:: BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge:: closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight + applymovement LOCALID_ARENA_BATTLE_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight waitmovement 0 goto BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers waitstate @@ -269,27 +261,27 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord:: BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta:: call BattleFrontier_EventScript_SetBrainObjectGfx - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight + applymovement LOCALID_ARENA_BATTLE_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceRight waitmovement 0 - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_M_BELLY_DRUM waitse waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_PlayerStepForward, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong + applymovement LOCALID_ARENA_BATTLE_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerStepForwardLong waitmovement 0 - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown playse SE_M_BELLY_DRUM waitse waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_MakeWayForGreta, MSGBOX_DEFAULT closemessage - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter + addobject LOCALID_ARENA_BATTLE_OPPONENT + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaEnter waitmovement 0 - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForward waitmovement 0 switch VAR_TEMP_F case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold @@ -300,11 +292,11 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta:: msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger, MSGBOX_DEFAULT closemessage frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_IsThatRight, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_YouLookWeakTakeThingsEasy, MSGBOX_DEFAULT BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver:: @@ -317,7 +309,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver:: call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner frontier_getsymbols goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_SYMBOL @@ -334,11 +326,11 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold:: msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain, MSGBOX_DEFAULT closemessage frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaLookAroundPlayer waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_SoAreYouReady, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_GretaWalkBackToCenter waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_WontAllowHalfheartedEffort, MSGBOX_DEFAULT BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold:: @@ -351,7 +343,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold:: call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner frontier_getsymbols goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon - applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong + applymovement LOCALID_ARENA_BATTLE_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_SYMBOL @@ -382,11 +374,11 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle:: return BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner:: - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown - applymovement LOCALID_BLACK_BELT_1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown - applymovement LOCALID_BLACK_BELT_2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown - applymovement LOCALID_BLACK_BELT_3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp - applymovement LOCALID_BLACK_BELT_4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp + applymovement LOCALID_ARENA_BATTLE_ANNOUNCER, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_1, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_2, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceDown + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_3, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp + applymovement LOCALID_ARENA_BATTLE_BLACK_BELT_4, BattleFrontier_BattleArenaBattleRoom_Movement_JumpInPlaceUp playse SE_BANG waitse waitmovement 0 @@ -469,10 +461,10 @@ BattleFrontier_BattleArenaBattleRoom_OnWarp: end_map_script_table BattleFrontier_BattleArenaBattleRoom_EventScript_SetUpRoomObjects:: - hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM - removeobject LOCALID_OPPONENT + hideobjectat LOCALID_ARENA_BATTLE_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM + removeobject LOCALID_ARENA_BATTLE_OPPONENT call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible setvar VAR_TEMP_1, 1 end diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/map.json b/data/maps/BattleFrontier_BattleArenaCorridor/map.json index dbf6093250..6ec197aba6 100644 --- a/data/maps/BattleFrontier_BattleArenaCorridor/map.json +++ b/data/maps/BattleFrontier_BattleArenaCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_ARENA_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 9, "y": 12, diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc index e7e4dc1696..8a9574c64a 100644 --- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleArenaCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaCorridor_OnFrame end_map_scripts @@ -11,15 +9,15 @@ BattleFrontier_BattleArenaCorridor_OnFrame: BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom:: delay 16 setvar VAR_TEMP_0, 1 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor + applymovement LOCALID_ARENA_CORRIDOR_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantWalkToDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerWalkToDoor waitmovement 0 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer + applymovement LOCALID_ARENA_CORRIDOR_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantFacePlayer waitmovement 0 msgbox BattleFrontier_BattleArenaCorridor_Text_PleaseStepIn, MSGBOX_SIGN - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay + applymovement LOCALID_ARENA_CORRIDOR_ATTENDANT, BattleFrontier_BattleArenaCorridor_Movement_AttendantMoveOutOfWay waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor waitmovement 0 setvar VAR_0x8006, 0 warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 7, 5 diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.json b/data/maps/BattleFrontier_BattleArenaLobby/map.json index 210da8118c..0985255d9c 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/map.json +++ b/data/maps/BattleFrontier_BattleArenaLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_ARENA_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 7, "y": 7, diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index 14e69b3874..aad650f764 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleArenaLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleArenaLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleArenaLobby_OnWarp @@ -11,7 +9,7 @@ BattleFrontier_BattleArenaLobby_OnWarp: BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleArenaLobby_OnFrame: @@ -201,13 +199,13 @@ BattleFrontier_BattleArenaLobby_EventScript_EndCancelChallenge:: end BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor + applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToLeftDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToLeftDoor waitmovement 0 opendoor 2, 2 waitdooranim - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor + applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 2, 2 waitdooranim @@ -250,13 +248,13 @@ BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor: step_end BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor + applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantWalkToRightDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerWalkToRightDoor waitmovement 0 opendoor 11, 2 waitdooranim - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor + applymovement LOCALID_ARENA_ATTENDANT, BattleFrontier_BattleArenaLobby_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 11, 2 waitdooranim diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/map.json b/data/maps/BattleFrontier_BattleDomeBattleRoom/map.json index c2b427cbe3..b4407e55d6 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DOME_ANNOUNCER", "graphics_id": "OBJ_EVENT_GFX_REPORTER_M", "x": 5, "y": 4, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DOME_AUDIENCE_TWIN", "graphics_id": "OBJ_EVENT_GFX_TWIN", "x": 7, "y": 2, @@ -80,6 +82,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DOME_AUDIENCE_WALKING", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 4, "y": 2, @@ -119,6 +122,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DOME_REFEREE", "graphics_id": "OBJ_EVENT_GFX_MAN_2", "x": 0, "y": 4, @@ -171,6 +175,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DOME_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 4, "y": 9, @@ -197,6 +202,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DOME_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 11, "y": 6, diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index 6391523f8d..744b75d55b 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -1,9 +1,7 @@ -.set LOCALID_ANNOUNCER, 1 -.set LOCALID_AUDIENCE_TWIN, 2 -.set LOCALID_AUDIENCE_WALKING, 6 -.set LOCALID_REFEREE, 9 -.set LOCALID_PLAYER, 13 -.set LOCALID_OPPONENT, 15 +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_DOME_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_1. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by dome_setopponentgfx. .set NO_DRAW, 0 .set DRAW_TRAINER, 1 @@ -46,20 +44,20 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom:: lockall call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum call_if_eq VAR_RESULT, DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat - applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown + applymovement LOCALID_DOME_ANNOUNCER, Common_Movement_WalkInPlaceDown waitmovement 0 call BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerHasEnteredDome, MSGBOX_DEFAULT closemessage - showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM + showobjectat LOCALID_DOME_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM goto_if_ne VAR_TEMP_F, DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter goto_if_ne VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter:: - applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter + applymovement LOCALID_DOME_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnter goto BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker:: - applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker + applymovement LOCALID_DOME_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerEnterForTucker BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer:: playse SE_M_ENCORE2 call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround @@ -70,8 +68,8 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent:: dome_getopponentname msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward - applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward + applymovement LOCALID_DOME_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward + applymovement LOCALID_DOME_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_OpponentStepForward waitmovement 0 tower_getopponentintro 0 msgbox gStringVar4, MSGBOX_DEFAULT @@ -90,19 +88,19 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_Draw:: playse SE_M_ENCORE2 call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround delay 60 - applymovement LOCALID_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeEnter + applymovement LOCALID_DOME_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeEnter waitmovement 0 - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerFaceLeft + applymovement LOCALID_DOME_ANNOUNCER, BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerFaceLeft waitmovement 0 delay 180 - applymovement LOCALID_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeExit + applymovement LOCALID_DOME_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeExit waitmovement 0 goto_if_eq VAR_TEMP_2, DRAW_TUCKER, BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent @ Tucker always wins on a draw dome_compareseeds switch VAR_RESULT case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent:: - applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown + applymovement LOCALID_DOME_ANNOUNCER, Common_Movement_WalkInPlaceDown waitmovement 0 dome_getopponentname call_if_eq VAR_TEMP_2, NO_DRAW, BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon @@ -135,7 +133,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw:: return BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent:: - applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown + applymovement LOCALID_DOME_ANNOUNCER, Common_Movement_WalkInPlaceDown waitmovement 0 call_if_eq VAR_TEMP_2, NO_DRAW, BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon call_if_eq VAR_TEMP_2, DRAW_TRAINER, BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw @@ -154,7 +152,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent:: waitstate BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney:: - applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience + applymovement LOCALID_DOME_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerApproachAudience waitmovement 0 frontier_get FRONTIER_DATA_LVL_MODE switch VAR_RESULT @@ -340,9 +338,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTuckerGold:: msgbox BattleFrontier_BattleDomeBattleRoom_Text_LegendHasReturnedDomeAceTucker, MSGBOX_DEFAULT BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter:: closemessage - applymovement LOCALID_AUDIENCE_TWIN, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump - applymovement LOCALID_ANNOUNCER, BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerMoveForTuckerEntrance - applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance + applymovement LOCALID_DOME_AUDIENCE_TWIN, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump + applymovement LOCALID_DOME_ANNOUNCER, BattleFrontier_BattleDomeBattleRoom_Movement_AnnouncerMoveForTuckerEntrance + applymovement LOCALID_DOME_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerEnterAndDance playse SE_M_ENCORE2 call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround waitse @@ -384,7 +382,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver:: frontier_getsymbols goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney closemessage - applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer + applymovement LOCALID_DOME_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer waitmovement 0 msgbox BattleFrontier_BattleDomeBattleRoom_Text_SeeYourFrontierPass, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_SYMBOL @@ -412,7 +410,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold:: frontier_getsymbols goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney closemessage - applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer + applymovement LOCALID_DOME_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer waitmovement 0 msgbox BattleFrontier_BattleDomeBattleRoom_Text_NeverLostWhenPowerUnleashed, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_SYMBOL @@ -426,8 +424,8 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold:: BattleFrontier_BattleDomeBattleRoom_EventScript_DoTuckerBattle:: msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTucker, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2 - applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward + applymovement LOCALID_DOME_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_PlayerStepForward2 + applymovement LOCALID_DOME_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerStepForward waitmovement 0 call BattleFrontier_BattleDomeBattleRoom_EventScript_DoDomeBattle return @@ -462,21 +460,21 @@ BattleFrontier_BattleDomeBattleRoom_OnWarp: end_map_script_table BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects:: - hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM + hideobjectat LOCALID_DOME_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM call BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx setvar VAR_TEMP_1, 1 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_ne VAR_RESULT, DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects frontier_getbrainstatus copyvar VAR_TEMP_E, VAR_RESULT goto_if_eq VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects call BattleFrontier_EventScript_SetBrainObjectGfx - setobjectxyperm LOCALID_OPPONENT, 13, 9 - removeobject LOCALID_OPPONENT - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp + setobjectxyperm LOCALID_DOME_OPPONENT, 13, 9 + removeobject LOCALID_DOME_OPPONENT + addobject LOCALID_DOME_OPPONENT + applymovement LOCALID_DOME_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisibleFacingUp BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects:: end @@ -869,13 +867,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos:: random 2 copyvar VAR_TEMP_D, VAR_RESULT goto_if_eq VAR_TEMP_D, 0, Common_EventScript_NopReturn - setobjectxyperm LOCALID_AUDIENCE_WALKING, 2, 0 - setobjectmovementtype LOCALID_AUDIENCE_WALKING, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_DOME_AUDIENCE_WALKING, 2, 0 + setobjectmovementtype LOCALID_DOME_AUDIENCE_WALKING, MOVEMENT_TYPE_FACE_RIGHT return BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat:: goto_if_eq VAR_TEMP_D, 0, Common_EventScript_NopReturn - applymovement LOCALID_AUDIENCE_WALKING, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat + applymovement LOCALID_DOME_AUDIENCE_WALKING, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat return BattleFrontier_BattleDomeBattleRoom_Movement_AudienceTwinJump: diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/map.json b/data/maps/BattleFrontier_BattleDomeCorridor/map.json index 5a68af443c..bb2088e7fc 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/map.json +++ b/data/maps/BattleFrontier_BattleDomeCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DOME_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 23, "y": 5, diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc index 9dbbc98b5f..e9c049cf00 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleDomeCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeCorridor_OnFrame end_map_scripts @@ -13,26 +11,26 @@ BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor:: setvar VAR_TEMP_0, 1 frontier_get FRONTIER_DATA_LVL_MODE goto_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50 + applymovement LOCALID_DOME_CORRIDOR_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLv50 + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLv50 waitmovement 0 opendoor 13, 3 waitdooranim - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50 + applymovement LOCALID_DOME_CORRIDOR_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLv50 + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLv50 waitmovement 0 closedoor 13, 3 waitdooranim goto BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen + applymovement LOCALID_DOME_CORRIDOR_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantWalkToDoorLvOpen + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerWalkToDoorLvOpen waitmovement 0 opendoor 37, 3 waitdooranim - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen + applymovement LOCALID_DOME_CORRIDOR_ATTENDANT, BattleFrontier_BattleDomeCorridor_Movement_AttendantEnterDoorLvOpen + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_PlayerEnterDoorLvOpen waitmovement 0 closedoor 37, 3 waitdooranim diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.json b/data/maps/BattleFrontier_BattleDomeLobby/map.json index d47bb0f2b4..283379b0be 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/map.json +++ b/data/maps/BattleFrontier_BattleDomeLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DOME_ATTENDANT_SINGLES", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 5, "y": 10, @@ -80,6 +81,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DOME_ATTENDANT_DOUBLES", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 17, "y": 10, diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index fa6fccf51a..192f46a7ed 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_ATTENDANT_SINGLES, 1 -.set LOCALID_ATTENDANT_DOUBLES, 6 - BattleFrontier_BattleDomeLobby_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleDomeLobby_OnResume map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomeLobby_OnFrame @@ -17,7 +14,7 @@ BattleFrontier_BattleDomeLobby_OnWarp: BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleDomeLobby_OnFrame: @@ -231,14 +228,14 @@ BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge:: BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor:: call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor waitmovement 0 call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_OpenSinglesDoor call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_OpenDoublesDoor waitdooranim call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_PlayerEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_PlayerEnterDoor waitmovement 0 call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_CloseSinglesDoor call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_CloseDoublesDoor @@ -246,19 +243,19 @@ BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor:: return BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor:: - applymovement LOCALID_ATTENDANT_SINGLES, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor + applymovement LOCALID_DOME_ATTENDANT_SINGLES, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor return BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor:: - applymovement LOCALID_ATTENDANT_DOUBLES, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor + applymovement LOCALID_DOME_ATTENDANT_DOUBLES, BattleFrontier_BattleDomeLobby_Movement_WalkToDoor return BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor:: - applymovement LOCALID_ATTENDANT_SINGLES, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor + applymovement LOCALID_DOME_ATTENDANT_SINGLES, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor return BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor:: - applymovement LOCALID_ATTENDANT_DOUBLES, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor + applymovement LOCALID_DOME_ATTENDANT_DOUBLES, BattleFrontier_BattleDomeLobby_Movement_AttendantEnterDoor return BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles:: diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json index a175248ab2..5c5b891797 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DOME_PRE_BATTLE_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 5, "y": 2, diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc index 2ab9a56205..c83022f674 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleDomePreBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomePreBattleRoom_OnWarp @@ -11,7 +9,7 @@ BattleFrontier_BattleDomePreBattleRoom_OnWarp: BattleFrontier_BattleDomePreBattleRoom_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleDomePreBattleRoom_OnFrame: @@ -22,7 +20,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom:: goto_if_eq VAR_0x8006, 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE setvar VAR_TEMP_0, 1 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnter waitmovement 0 lockall BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound:: @@ -150,13 +148,13 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge:: dome_setopponent msgbox BattleFrontier_BattleDomePreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside + applymovement LOCALID_DOME_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleDomePreBattleRoom_Movement_AttendantMoveAside waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerWalkToDoor waitmovement 0 opendoor 5, 1 waitdooranim - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_PlayerEnterDoor waitmovement 0 closedoor 5, 1 waitdooranim diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.json b/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.json index ef68f89ecb..dca5284cae 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FACTORY_BATTLE_SCIENTIST_1", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 0, "y": 6, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 7, "y": 4, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_SCIENTIST_2", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 0, "y": 4, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_SCIENTIST_3", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 0, "y": 8, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_SCIENTIST_4", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 12, "y": 4, @@ -80,6 +85,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_SCIENTIST_5", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 12, "y": 6, @@ -93,6 +99,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_SCIENTIST_6", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 12, "y": 8, @@ -106,6 +113,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_F", "x": 5, "y": 11, diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index dd7d1f6a74..2d96100a6c 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -1,11 +1,7 @@ -.set LOCALID_SCIENTIST_1, 1 -.set LOCALID_OPPONENT, 2 -.set LOCALID_SCIENTIST_2, 3 -.set LOCALID_SCIENTIST_3, 4 -.set LOCALID_SCIENTIST_4, 5 -.set LOCALID_SCIENTIST_5, 6 -.set LOCALID_SCIENTIST_6, 7 -.set LOCALID_PLAYER, 8 +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_FACTORY_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_F. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by factory_setopponentgfx. BattleFrontier_BattleFactoryBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleFactoryBattleRoom_OnTransition @@ -13,9 +9,6 @@ BattleFrontier_BattleFactoryBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryBattleRoom_OnFrame end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_F - BattleFrontier_BattleFactoryBattleRoom_OnTransition: frontier_settrainers checkplayergender @@ -28,7 +21,7 @@ BattleFrontier_BattleFactoryBattleRoom_OnTransition: BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj:: call BattleFrontier_EventScript_SetBrainObjectGfx - setobjectxyperm LOCALID_OPPONENT, 7, 9 + setobjectxyperm LOCALID_FACTORY_BATTLE_OPPONENT, 7, 9 end BattleFrontier_BattleFactoryBattleRoom_OnWarp: @@ -37,9 +30,9 @@ BattleFrontier_BattleFactoryBattleRoom_OnWarp: BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects:: setvar VAR_TEMP_1, 1 - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM + hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects - hideobjectat LOCALID_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM + hideobjectat LOCALID_FACTORY_BATTLE_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects:: end @@ -58,9 +51,9 @@ BattleFrontier_BattleFactoryBattleRoom_OnFrame: BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle:: msgbox BattleFrontier_BattleFactoryBattleRoom_Text_GetAMoveOn, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle + applymovement LOCALID_FACTORY_BATTLE_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle + applymovement LOCALID_FACTORY_BATTLE_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom waitmovement 0 call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle goto BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent @@ -68,15 +61,15 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle:: BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom:: goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle + applymovement LOCALID_FACTORY_BATTLE_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom waitmovement 0 call BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle factory_setopponentgfx - removeobject LOCALID_OPPONENT - setobjectxyperm LOCALID_OPPONENT, 7, 1 - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter + removeobject LOCALID_FACTORY_BATTLE_OPPONENT + setobjectxyperm LOCALID_FACTORY_BATTLE_OPPONENT, 7, 1 + addobject LOCALID_FACTORY_BATTLE_OPPONENT + applymovement LOCALID_FACTORY_BATTLE_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter waitmovement 0 BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent:: goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland @@ -138,7 +131,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver:: goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandLetsSeeFrontierPass, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland + applymovement LOCALID_FACTORY_BATTLE_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland waitmovement 0 playfanfare MUS_OBTAIN_SYMBOL message BattleFrontier_BattleFactoryBattleRoom_Text_ReceivedKnowledgeSymbol @@ -164,7 +157,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold:: goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland msgbox BattleFrontier_BattleFactoryBattleRoom_Text_OutOfMyLeagueLetsSeePass, MSGBOX_DEFAULT waitmessage - applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland + applymovement LOCALID_FACTORY_BATTLE_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerApproachNoland waitmovement 0 playfanfare MUS_OBTAIN_SYMBOL message BattleFrontier_BattleFactoryBattleRoom_Text_KnowledgeSymbolTookGoldenShine @@ -241,12 +234,12 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles:: end BattleFrontier_BattleFactoryBattleRoom_EventScript_ScientistsFaceBattle:: - applymovement LOCALID_SCIENTIST_1, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_SCIENTIST_2, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_SCIENTIST_3, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_SCIENTIST_4, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_SCIENTIST_5, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_SCIENTIST_6, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_FACTORY_BATTLE_SCIENTIST_1, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_FACTORY_BATTLE_SCIENTIST_2, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_FACTORY_BATTLE_SCIENTIST_3, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_FACTORY_BATTLE_SCIENTIST_4, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_FACTORY_BATTLE_SCIENTIST_5, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_FACTORY_BATTLE_SCIENTIST_6, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.json b/data/maps/BattleFrontier_BattleFactoryLobby/map.json index 15d395fd83..1375c5f2b5 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/map.json +++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FACTORY_ATTENDANT_SINGLES", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 4, "y": 7, @@ -80,6 +81,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FACTORY_ATTENDANT_DOUBLES", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 14, "y": 7, diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index 06745e34a5..0d4b8118a3 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_ATTENDANT_SINGLES, 1 -.set LOCALID_ATTENDANT_DOUBLES, 6 - BattleFrontier_BattleFactoryLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_OnWarp @@ -12,7 +9,7 @@ BattleFrontier_BattleFactoryLobby_OnWarp: BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleFactoryLobby_OnFrame: @@ -170,7 +167,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 13 setvar VAR_TEMP_CHALLENGE_STATUS, 0 @@ -178,11 +175,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: end BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES + setvar VAR_LAST_TALKED, LOCALID_FACTORY_ATTENDANT_SINGLES return BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES + setvar VAR_LAST_TALKED, LOCALID_FACTORY_ATTENDANT_DOUBLES return BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge:: diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.json b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.json index cf4ea2a6b4..9add31441f 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FACTORY_PRE_BATTLE_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 8, "y": 12, diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc index 7af1daed2c..0972c1af2e 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryPreBattleRoom_OnWarp @@ -12,10 +10,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_OnWarp: BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects:: setvar VAR_TEMP_1, 1 goto_if_ne VAR_0x8006, 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth - setobjectxy LOCALID_ATTENDANT, 8, 7 - turnobject LOCALID_ATTENDANT, DIR_SOUTH + setobjectxy LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, 8, 7 + turnobject LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, DIR_SOUTH BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleFactoryPreBattleRoom_OnFrame: @@ -25,8 +23,8 @@ BattleFrontier_BattleFactoryPreBattleRoom_OnFrame: BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom:: goto_if_eq VAR_0x8006, 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle setvar VAR_TEMP_0, 1 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom + applymovement LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantEnterRoom + applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom waitmovement 0 goto_if_eq VAR_0x8006, 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge factory_generaterentalmons @@ -66,11 +64,11 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle:: waitse msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall + applymovement LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantMoveToReceiveCall waitmovement 0 msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_UnderstoodSirWillDo, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer + applymovement LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_AttendantReturnToPlayer waitmovement 0 msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_MessageFromHeadComeRightNow, MSGBOX_DEFAULT closemessage @@ -378,13 +376,13 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead:: case MULTI_B_PRESSED, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50 + applymovement LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLv50 + applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLv50 return BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen + applymovement LOCALID_FACTORY_PRE_BATTLE_ATTENDANT, BattleFrontier_BattleFactoryPreBattleRoom_Movement_GuideWalkToBattleRoomLvOpen + applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerWalkToBattleRoomLvOpen return BattleFrontier_BattleFactoryPreBattleRoom_Movement_PlayerEnterRoom: diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json index a0d00b5c01..e344c99951 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PALACE_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 1, "y": 9, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PALACE_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 13, "y": 1, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PALACE_BATTLE_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 1, "y": 4, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PALACE_DUSCLOPS", "graphics_id": "OBJ_EVENT_GFX_DUSCLOPS", "x": 13, "y": 1, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PALACE_AZURILL", "graphics_id": "OBJ_EVENT_GFX_AZURILL", "x": 13, "y": 1, diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index eeae5fcc50..6e53432484 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -1,8 +1,7 @@ -.set LOCALID_PLAYER, 1 -.set LOCALID_OPPONENT, 2 -.set LOCALID_ATTENDANT, 3 -.set LOCALID_DUSCLOPS, 4 -.set LOCALID_AZURILL, 5 +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_PALACE_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_1. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by tower_setopponent. BattleFrontier_BattlePalaceBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePalaceBattleRoom_OnTransition @@ -10,10 +9,6 @@ BattleFrontier_BattlePalaceBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceBattleRoom_OnWarp end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_0 - @ The opponent is represented by LOCALID_OPPONENT, which has the gfx id VAR_OBJ_GFX_ID_1 - BattleFrontier_BattlePalaceBattleRoom_OnTransition: frontier_settrainers call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx @@ -41,23 +36,23 @@ BattleFrontier_BattlePalaceBattleRoom_OnFrame: end_map_script_table BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom:: - showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + showobjectat LOCALID_PALACE_BATTLE_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge waitmovement 0 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown setvar VAR_TEMP_2, 1 frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE goto BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge:: - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerEnterRoom waitmovement 0 BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter:: tower_setopponent - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter + addobject LOCALID_PALACE_BATTLE_OPPONENT + applymovement LOCALID_PALACE_BATTLE_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentEnter waitmovement 0 palace_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT @@ -76,11 +71,11 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent:: frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon - applymovement LOCALID_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit + applymovement LOCALID_PALACE_BATTLE_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_OpponentExit waitmovement 0 - removeobject LOCALID_OPPONENT - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown + removeobject LOCALID_PALACE_BATTLE_OPPONENT + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown waitmovement 0 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT special LoadPlayerParty @@ -148,8 +143,8 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_AskRetireChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge:: - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight closemessage goto BattleFrontier_BattlePalaceBattleRoom_EventScript_NextOpponentEnter @@ -196,16 +191,16 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser:: call BattleFrontier_EventScript_SetBrainObjectGfx msgbox BattleFrontier_BattlePalaceBattleRoom_Text_AnnounceArrivalOfSpenser, MSGBOX_DEFAULT closemessage - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight - setobjectxyperm LOCALID_OPPONENT, 15, 1 - addobject LOCALID_OPPONENT - hideobjectat LOCALID_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM - setobjectxy LOCALID_OPPONENT, 13, 1 - setobjectxyperm LOCALID_OPPONENT, 13, 1 - applymovement LOCALID_DUSCLOPS, BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter - applymovement LOCALID_AZURILL, BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter - applymovement LOCALID_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceRight + setobjectxyperm LOCALID_PALACE_BATTLE_OPPONENT, 15, 1 + addobject LOCALID_PALACE_BATTLE_OPPONENT + hideobjectat LOCALID_PALACE_BATTLE_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + setobjectxy LOCALID_PALACE_BATTLE_OPPONENT, 13, 1 + setobjectxyperm LOCALID_PALACE_BATTLE_OPPONENT, 13, 1 + applymovement LOCALID_PALACE_DUSCLOPS, BattleFrontier_BattlePalaceBattleRoom_Movement_DusclopsEnter + applymovement LOCALID_PALACE_AZURILL, BattleFrontier_BattlePalaceBattleRoom_Movement_AzurillEnter + applymovement LOCALID_PALACE_BATTLE_OPPONENT, BattleFrontier_BattlePalaceBattleRoom_Movement_SpenserEnter waitmovement 0 switch VAR_TEMP_F case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold @@ -226,18 +221,18 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver:: frontier_getsymbols goto_if_ne VAR_RESULT, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserPostSilverBattle, MSGBOX_DEFAULT - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetsSeeFrontierPass, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_SYMBOL message BattleFrontier_BattlePalaceBattleRoom_Text_ReceivedSpiritsSymbol waitmessage waitfanfare frontier_givesymbol - applymovement LOCALID_OPPONENT, Common_Movement_WalkInPlaceLeft + applymovement LOCALID_PALACE_BATTLE_OPPONENT, Common_Movement_WalkInPlaceLeft waitmovement 0 - applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PALACE_BATTLE_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserAwaitNextTime, MSGBOX_DEFAULT goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon @@ -258,18 +253,18 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold:: frontier_getsymbols goto_if_eq VAR_RESULT, 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserYourTeamIsAdmirable, MSGBOX_DEFAULT - applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown + applymovement LOCALID_PALACE_BATTLE_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceUp + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown msgbox BattleFrontier_BattlePalaceBattleRoom_Text_HurryWithFrontierPass, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_SYMBOL message BattleFrontier_BattlePalaceBattleRoom_Text_SpiritsSymbolTookGoldenShine waitmessage waitfanfare frontier_givesymbol - applymovement LOCALID_OPPONENT, Common_Movement_WalkInPlaceLeft + applymovement LOCALID_PALACE_BATTLE_OPPONENT, Common_Movement_WalkInPlaceLeft waitmovement 0 - applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PALACE_BATTLE_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PALACE_BATTLE_ATTENDANT, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserComeSeeMeAgain, MSGBOX_DEFAULT goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon @@ -293,13 +288,13 @@ BattleFrontier_BattlePalaceBattleRoom_OnWarp: end_map_script_table BattleFrontier_BattlePalaceBattleRoom_EventScript_SetUpRoomObjects:: - hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM + hideobjectat LOCALID_PALACE_BATTLE_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM call BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx setvar VAR_TEMP_1, 1 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible - removeobject LOCALID_OPPONENT - applymovement LOCALID_DUSCLOPS, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible - applymovement LOCALID_AZURILL, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible + removeobject LOCALID_PALACE_BATTLE_OPPONENT + applymovement LOCALID_PALACE_DUSCLOPS, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible + applymovement LOCALID_PALACE_AZURILL, BattleFrontier_BattlePalaceBattleRoom_Movement_SetInvisible end BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent:: diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/map.json b/data/maps/BattleFrontier_BattlePalaceCorridor/map.json index e96f6d9e83..477ecc7c8d 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/map.json +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PALACE_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 8, "y": 12, diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc index caecb6eccd..4bd36d24ac 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattlePalaceCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceCorridor_OnFrame end_map_scripts @@ -10,8 +8,8 @@ BattleFrontier_BattlePalaceCorridor_OnFrame: BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: delay 16 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor + applymovement LOCALID_PALACE_CORRIDOR_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_EnterCorridor waitmovement 0 lockall palace_getcomment @@ -23,26 +21,26 @@ BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor:: closemessage frontier_get FRONTIER_DATA_LVL_MODE goto_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom + applymovement LOCALID_PALACE_CORRIDOR_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkTo50BattleRoom + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkTo50BattleRoom waitmovement 0 opendoor 6, 3 waitdooranim - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom + applymovement LOCALID_PALACE_CORRIDOR_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom waitmovement 0 closedoor 6, 3 waitdooranim goto BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom + applymovement LOCALID_PALACE_CORRIDOR_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantWalkToOpenBattleRoom + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerWalkToOpenBattleRoom waitmovement 0 opendoor 10, 3 waitdooranim - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom + applymovement LOCALID_PALACE_CORRIDOR_ATTENDANT, BattleFrontier_BattlePalaceCorridor_Movement_AttendantEnterBattleRoom + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_PlayerEnterBattleRoom waitmovement 0 closedoor 10, 3 waitdooranim diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.json b/data/maps/BattleFrontier_BattlePalaceLobby/map.json index 7c8ee0cd13..90ac895fa4 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/map.json +++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PALACE_ATTENDANT_SINGLES", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 5, "y": 6, @@ -80,6 +81,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PALACE_ATTENDANT_DOUBLES", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 19, "y": 6, diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index 761153e767..24c0c19c41 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_ATTENDANT_SINGLES, 1 -.set LOCALID_ATTENDANT_DOUBLES, 6 - BattleFrontier_BattlePalaceLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePalaceLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePalaceLobby_OnWarp @@ -12,7 +9,7 @@ BattleFrontier_BattlePalaceLobby_OnWarp: BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePalaceLobby_OnFrame: @@ -241,13 +238,13 @@ BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor:: call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_WalkToDoor waitmovement 0 call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceLobby_EventScript_OpenDoublesHallDoor waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_PlayerEnterDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_PlayerEnterDoor waitmovement 0 call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattlePalaceLobby_EventScript_CloseSinglesHallDoor call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceLobby_EventScript_CloseDoublesHallDoor @@ -255,11 +252,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor:: return BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES + setvar VAR_LAST_TALKED, LOCALID_PALACE_ATTENDANT_SINGLES return BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES + setvar VAR_LAST_TALKED, LOCALID_PALACE_ATTENDANT_DOUBLES return BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor:: diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/map.json b/data/maps/BattleFrontier_BattlePikeCorridor/map.json index 1a5faadeab..c5f407e8a9 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/map.json +++ b/data/maps/BattleFrontier_BattlePikeCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PIKE_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_LINK_RECEPTIONIST", "x": 6, "y": 6, diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc index 1b23238503..32c5f7c22b 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattlePikeCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeCorridor_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeCorridor_OnWarp @@ -14,14 +12,14 @@ BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor:: frontier_set FRONTIER_DATA_BATTLE_NUM, 1 pike_cleartrainerids pike_nohealing TRUE - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor + applymovement LOCALID_PIKE_CORRIDOR_ATTENDANT, BattleFrontier_BattlePikeCorridor_Movement_AttendantEnterCorridor waitmovement 0 lockall msgbox BattleFrontier_BattlePikeCorridor_Text_YourChallengeHasBegun, MSGBOX_DEFAULT closemessage releaseall - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerExitCorridor + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_PlayerExitCorridor waitmovement 0 frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99 call BattleFrontier_BattlePike_EventScript_CloseCurtain @@ -35,7 +33,7 @@ BattleFrontier_BattlePikeCorridor_OnWarp: BattleFrontier_BattlePikeCorridor_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeCorridor_Movement_PlayerEnterCorridor: diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.json b/data/maps/BattleFrontier_BattlePikeLobby/map.json index 0faca2e94f..038a3c59bb 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/map.json +++ b/data/maps/BattleFrontier_BattlePikeLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PIKE_LOBBY_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_LINK_RECEPTIONIST", "x": 5, "y": 5, diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index cb210d93cf..28e5a5aee5 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattlePikeLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_OnWarp @@ -18,7 +16,7 @@ BattleFrontier_BattlePikeLobby_OnWarp: BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus:: @@ -198,8 +196,8 @@ BattleFrontier_BattlePikeLobby_EventScript_ShowResults:: end BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor + applymovement LOCALID_PIKE_LOBBY_ATTENDANT, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json b/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json index 5a53ad19c9..e1b1008a03 100644 --- a/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json +++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PIKE_FINAL_ROOM_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_LINK_RECEPTIONIST", "x": 2, "y": 4, diff --git a/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc index 8022b79e6e..742d62efce 100644 --- a/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattlePikeRoomFinal_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeRoomFinal_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoomFinal_OnWarp @@ -11,7 +9,7 @@ BattleFrontier_BattlePikeRoomFinal_OnFrame: BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom:: delay 16 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer + applymovement LOCALID_PIKE_FINAL_ROOM_ATTENDANT, BattleFrontier_BattlePikeRoomFinal_Movement_AttendantApproachPlayer waitmovement 0 frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON lockall @@ -33,7 +31,7 @@ BattleFrontier_BattlePikeRoomFinal_OnWarp: BattleFrontier_BattlePikeRoomFinal_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_4, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease: diff --git a/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json b/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json index 82414ac6a3..a75c5de15f 100644 --- a/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json +++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PIKE_ROOM_NPC_1", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 4, "y": 4, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PIKE_ROOM_NPC_2", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 3, "y": 4, diff --git a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc index fe3a53f2ab..5e36ec8d8d 100644 --- a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc @@ -1,8 +1,3 @@ -@ Objects in this room are set dynamically with OBJ_EVENT_GFX_VAR_0 and OBJ_EVENT_GFX_VAR_1 -@ Note: LOCALIDs shared with data/scripts/battle_pike.inc -.equ LOCALID_OBJ_0, 1 -.equ LOCALID_OBJ_1, 2 - BattleFrontier_BattlePikeRoomNormal_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition @@ -29,7 +24,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom:: BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom:: lockall delay 16 - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer waitmovement 0 pike_gettrainerintro 0 msgbox gStringVar4, MSGBOX_DEFAULT @@ -49,7 +44,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost:: end BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle:: - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit waitmovement 0 end @@ -59,7 +54,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom:: msgbox BattleFrontier_BattlePikeRoomNormal_Text_BattleSomewhatToughTrainer, MSGBOX_DEFAULT waitmessage closemessage - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer waitmovement 0 pike_gettrainerintro 0 msgbox gStringVar4, MSGBOX_DEFAULT @@ -76,9 +71,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterHardBattleRoom:: end BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle:: - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit waitmovement 0 - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCApproachPlayer waitmovement 0 lock faceplayer @@ -89,14 +84,14 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_WonHardBattle:: msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge2, MSGBOX_DEFAULT closemessage release - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit waitmovement 0 end BattleFrontier_BattlePikeRoomNormal_EventScript_EnterBrainRoom:: delay 22 lockall - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_PreQueenHealNPCApproachPlayer waitmovement 0 pike_prequeenheal switch VAR_RESULT @@ -108,8 +103,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter:: msgbox BattleFrontier_BattlePikeRoomNormal_Text_ShallFetchOurMaster, MSGBOX_DEFAULT closemessage special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy + applymovement LOCALID_CAMERA, BattleFrontier_BattlePikeRoomNormal_Movement_CameraPanUp + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExitForLucy waitmovement 0 playse SE_PIKE_CURTAIN_CLOSE call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed @@ -123,13 +118,13 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter:: playse SE_PIKE_CURTAIN_OPEN delay 65 call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed - showobjectat LOCALID_OBJ_0, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL + showobjectat LOCALID_PIKE_ROOM_NPC_1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL delay 4 call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed delay 4 call BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen waitse - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyEnter waitmovement 0 pike_getbrainstatus switch VAR_RESULT @@ -187,9 +182,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold:: end BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy:: - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_LucyMoveAside waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2 + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2 waitmovement 0 pike_get PIKE_DATA_WIN_STREAK addvar VAR_RESULT, 1 @@ -220,7 +215,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_PreQueenHealTwoMons:: BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: lockall delay 16 - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_ApproachPlayer waitmovement 0 message BattleFrontier_BattlePikeRoomNormal_Text_WillRestoreToFullHealth waitmessage @@ -229,7 +224,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: special HealPlayerParty msgbox BattleFrontier_BattlePikeRoomNormal_Text_EnjoyRestOfChallenge, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCExit waitmovement 0 releaseall end @@ -237,22 +232,22 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterFullHealRoom:: BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom:: lockall delay 16 - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1WalkRight + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2WalkLeft waitmovement 0 - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_DoubleTrainersWalkDown waitmovement 0 - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1FacePlayer + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2FacePlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1 + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer1 waitmovement 0 pike_gettrainerintro 0 msgbox gStringVar4, MSGBOX_DEFAULT closemessage delay 16 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2 + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2 waitmovement 0 pike_gettrainerintro 1 msgbox gStringVar4, MSGBOX_DEFAULT @@ -267,20 +262,20 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterDoubleBattleRoom:: end BattleFrontier_BattlePikeRoomNormal_EventScript_WonDoubleBattle:: - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2 + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceTrainer2 waitmovement 0 - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer1Exit waitmovement 0 - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_Trainer2Exit waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerFaceUp waitmovement 0 end BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom:: lockall message BattleFrontier_BattlePikeRoomNormal_Text_WatchOut - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_MonApproachPlayer waitmovement 0 pike_getstatusmon copyvar VAR_0x8004, VAR_RESULT @@ -304,9 +299,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack:: call_if_eq VAR_RESULT, PIKE_STATUS_SLEEP, BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis pike_flashscreen waitstate - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon waitmovement 0 - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC waitmovement 0 waitse playmoncry SPECIES_KIRLIA, CRY_MODE_NORMAL @@ -316,8 +311,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack:: playmoncry SPECIES_KIRLIA, CRY_MODE_NORMAL waitmoncry closemessage - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer waitmovement 0 msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForKirlia, MSGBOX_DEFAULT return @@ -333,9 +328,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack:: call_if_eq VAR_RESULT, PIKE_STATUS_BURN, BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp pike_flashscreen waitstate - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon waitmovement 0 - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceNPC waitmovement 0 waitse playmoncry SPECIES_DUSCLOPS, CRY_MODE_NORMAL @@ -345,8 +340,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack:: playmoncry SPECIES_DUSCLOPS, CRY_MODE_NORMAL waitmoncry closemessage - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_MonMoveAside + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_StatusNPCApproachPlayer waitmovement 0 msgbox BattleFrontier_BattlePikeRoomNormal_Text_ApologizeForDusclops, MSGBOX_DEFAULT return @@ -383,7 +378,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp:: BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle:: closemessage - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2 + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_PlayerWalkUp2 waitmovement 0 setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE setvar VAR_0x8005, 0 @@ -562,7 +557,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC:: msgbox BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell, MSGBOX_DEFAULT closemessage release - applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit + applymovement LOCALID_PIKE_ROOM_NPC_1, BattleFrontier_BattlePikeRoomNormal_Movement_HealNPCExit waitmovement 0 end @@ -587,7 +582,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon:: msgbox BattleFrontier_BattlePikeRoomNormal_Text_Silence, MSGBOX_DEFAULT closemessage release - applymovement LOCALID_OBJ_1, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight + applymovement LOCALID_PIKE_ROOM_NPC_2, BattleFrontier_BattlePikeRoomNormal_Movement_MonFaceRight waitmovement 0 end diff --git a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc index e3a035e539..016f0cded2 100644 --- a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc @@ -26,7 +26,7 @@ BattleFrontier_BattlePikeRoomWildMons_OnWarp: BattleFrontier_BattlePikeRoomWildMons_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_4, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRoomWildMons_OnResume: diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json index 536e02a898..9f2000ef1e 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PIKE_HINT_GIVER", "graphics_id": "OBJ_EVENT_GFX_LINK_RECEPTIONIST", "x": 8, "y": 5, diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc index e545b96c6e..175f45570d 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_HINT_GIVER, 2 - BattleFrontier_BattlePikeThreePathRoom_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePikeRoom_OnResume map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeThreePathRoom_OnFrame @@ -20,7 +18,7 @@ BattleFrontier_BattlePikeThreePathRoom_OnWarp: BattleFrontier_BattlePikeThreePathRoom_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_4, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus:: @@ -160,12 +158,12 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint:: end BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint:: - applymovement LOCALID_HINT_GIVER, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer + applymovement LOCALID_PIKE_HINT_GIVER, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverApproachPlayer waitmovement 0 lockall msgbox BattleFrontier_BattlePikeThreePathRoom_Text_TerrifyingEvent, MSGBOX_DEFAULT releaseall - applymovement LOCALID_HINT_GIVER, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos + applymovement LOCALID_PIKE_HINT_GIVER, BattleFrontier_BattlePikeThreePathRoom_Movement_HintGiverReturnToPos waitmovement 0 setvar VAR_TEMP_5, 255 end diff --git a/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc index 3aa5559f82..080b4f8f7e 100644 --- a/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc @@ -105,7 +105,7 @@ BattlePyramid_WarpToTop:: @ TRAINER_PHILLIP is used as a placeholder BattlePyramid_TrainerBattle:: - trainerbattle TRAINER_BATTLE_PYRAMID, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText + trainerbattle TRAINER_BATTLE_PYRAMID, TRAINER_PHILLIP, LOCALID_NONE, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText pyramid_showhint waitmessage waitbuttonpress diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.json b/data/maps/BattleFrontier_BattlePyramidLobby/map.json index 4652af2747..4913cdb953 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/map.json +++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PYRAMID_LOBBY_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 7, "y": 12, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PYRAMID_LOBBY_HINT_GIVER", "graphics_id": "OBJ_EVENT_GFX_HEX_MANIAC", "x": 14, "y": 13, diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index a3d0ceb9e3..5c49dae76a 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_ATTENDANT, 1 -.set LOCALID_HINT_GIVER, 2 - BattleFrontier_BattlePyramidLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleDomeLobby_OnWarp @@ -13,7 +10,7 @@ BattleFrontier_BattlePyramidLobby_OnWarp: BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePyramidLobby_OnFrame: @@ -204,7 +201,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_EndCancelChallenge:: BattleFrontier_BattlePyramidLobby_EventScript_HintGiver:: lockall - applymovement LOCALID_HINT_GIVER, Common_Movement_FacePlayer + applymovement LOCALID_PYRAMID_LOBBY_HINT_GIVER, Common_Movement_FacePlayer waitmovement 0 msgbox BattleFrontier_BattlePyramidLobby_Text_TellYouWhatMisfortunesAwait, MSGBOX_DEFAULT call BattleFrontier_BattlePyramidLobby_EventScript_GiveHint @@ -366,8 +363,8 @@ BattleFrontier_BattlePyramidLobby_EventScript_ShowResults:: end BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel + applymovement LOCALID_PYRAMID_LOBBY_ATTENDANT, BattleFrontier_BattlePyramidLobby_Movement_AttendantWalkToPanel + applymovement LOCALID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerWalkToPanel waitmovement 0 msgbox BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping, MSGBOX_DEFAULT pyramid_get PYRAMID_DATA_WIN_STREAK @@ -384,9 +381,9 @@ BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag:: waitse msgbox BattleFrontier_BattlePyramidLobby_Text_StepOnFloorPanel, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside + applymovement LOCALID_PYRAMID_LOBBY_ATTENDANT, BattleFrontier_BattlePyramidLobby_Movement_AttendantMoveAside waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel + applymovement LOCALID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_PlayerStepOnPanel waitmovement 0 return diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.json b/data/maps/BattleFrontier_BattlePyramidTop/map.json index 4299f31834..570fd27c8d 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/map.json +++ b/data/maps/BattleFrontier_BattlePyramidTop/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PYRAMID_TOP_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 17, "y": 11, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BRANDON", "graphics_id": "OBJ_EVENT_GFX_BRANDON", "x": 17, "y": 7, diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index d980f4826d..7f026f628d 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_ATTENDANT, 1 -.set LOCALID_BRANDON, 2 - BattleFrontier_BattlePyramidTop_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattlePyramidTop_OnResume map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePyramidTop_OnFrame @@ -19,7 +16,7 @@ BattleFrontier_BattlePyramidTop_OnWarp: BattleFrontier_BattlePyramidTop_EventScript_SetUpObjects:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH goto_if_ne VAR_TEMP_C, 0, BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects setobjectxyperm LOCALID_BRANDON, 0, 0 BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects:: @@ -73,11 +70,11 @@ BattleFrontier_BattlePyramidTop_EventScript_Attendant:: goto_if_ne VAR_TEMP_C, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside msgbox BattleFrontier_BattlePyramidTop_Text_ReachedSummitUpYouGo, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside + applymovement LOCALID_PYRAMID_TOP_ATTENDANT, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_PlayerClimbToTop + applymovement LOCALID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_PlayerClimbToTop waitmovement 0 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidTop_Movement_AttendantBlockPath + applymovement LOCALID_PYRAMID_TOP_ATTENDANT, BattleFrontier_BattlePyramidTop_Movement_AttendantBlockPath waitmovement 0 message BattleFrontier_BattlePyramidTop_Text_PlayerConqueredPyramid waitmessage @@ -97,7 +94,7 @@ BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady:: BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside:: msgbox BattleFrontier_BattlePyramidTop_Text_ChiefBeatYouHere, MSGBOX_DEFAULT - applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside + applymovement LOCALID_PYRAMID_TOP_ATTENDANT, BattleFrontier_BattlePyramidTop_Movement_AttendantMoveAside setvar VAR_TEMP_D, 1 closemessage end @@ -111,7 +108,7 @@ BattleFrontier_BattlePyramidTop_EventScript_BattleBrandon:: frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp + applymovement LOCALID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp waitmovement 0 msgbox BattleFrontier_BattlePyramidTop_Text_ExplorationsAreGrandestAdventure, MSGBOX_DEFAULT closemessage @@ -148,7 +145,7 @@ BattleFrontier_BattlePyramidTop_EventScript_BrandonIntroGold:: frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp + applymovement LOCALID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp waitmovement 0 msgbox BattleFrontier_BattlePyramidTop_Text_BrandonYouveReturned, MSGBOX_DEFAULT closemessage diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json index 1018ebb6d9..5798ab5667 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 5, "y": 1, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" }, { + "local_id": "LOCALID_TOWER_BATTLE_ATTENDANT_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 1, "y": 7, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_BATTLE_ATTENDANT_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 4, "y": 8, diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc index 22acf7aaae..4c76a68aaa 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_OPPONENT, 1 -.set LOCALID_ATTENDANT_1, 2 -.set LOCALID_ATTENDANT_2, 3 - BattleFrontier_BattleTowerBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerBattleRoom_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerBattleRoom_OnWarp @@ -13,7 +9,7 @@ BattleFrontier_BattleTowerBattleRoom_OnWarp: BattleFrontier_BattleTowerBattleRoom_EventScript_SetUpObjects:: setvar VAR_TEMP_1, 1 - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SetInvisible + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SetInvisible end BattleFrontier_BattleTowerBattleRoom_OnFrame: @@ -22,13 +18,13 @@ BattleFrontier_BattleTowerBattleRoom_OnFrame: BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom:: setvar VAR_TEMP_0, 1 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter waitmovement 0 frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 setvar VAR_TEMP_2, 1 frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE @@ -36,8 +32,8 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom:: BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter:: tower_setopponent - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentEnter + addobject LOCALID_TOWER_BATTLE_OPPONENT + applymovement LOCALID_TOWER_BATTLE_OPPONENT, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentEnter waitmovement 0 tower_getopponentintro 0 msgbox gStringVar4, MSGBOX_DEFAULT @@ -57,14 +53,14 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent:: tower_setbattlewon switch VAR_RESULT case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon - applymovement LOCALID_OPPONENT, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentExit + applymovement LOCALID_TOWER_BATTLE_OPPONENT, BattleFrontier_BattleTowerBattleRoom_Movement_OpponentExit waitmovement 0 - removeobject LOCALID_OPPONENT + removeobject LOCALID_TOWER_BATTLE_OPPONENT frontier_getbrainstatus call_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT playfanfare MUS_HEAL @@ -125,9 +121,9 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_AskRetireChallenge:: BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge:: closemessage - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle waitmovement 0 - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos waitmovement 0 goto BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter @@ -193,19 +189,19 @@ BattleFrontier_EventScript_IncrementWinStreak:: return BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter:: - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantEnter + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantEnter waitmovement 0 - applymovement LOCALID_ATTENDANT_2, Common_Movement_WalkInPlaceLeft + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_2, Common_Movement_WalkInPlaceLeft waitmovement 0 playse SE_PIN - applymovement LOCALID_ATTENDANT_1, Common_Movement_ExclamationMark + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_ATTENDANT_1, Common_Movement_Delay48 + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantDelay - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantFaceSecondAttendant + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantDelay + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantFaceSecondAttendant waitmovement 0 - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantExit + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerBattleRoom_Movement_SecondAttendantExit waitmovement 0 return @@ -237,12 +233,12 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord:: BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel:: call BattleFrontier_EventScript_SetBrainObjectGfx closemessage - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceBattle waitmovement 0 - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos + applymovement LOCALID_TOWER_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantReturnToPos waitmovement 0 - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter + addobject LOCALID_TOWER_BATTLE_OPPONENT + applymovement LOCALID_TOWER_BATTLE_OPPONENT, BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter waitmovement 0 switch VAR_TEMP_F case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleTowerBattleRoom_EventScript_AnabelGoldIntro diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/map.json b/data/maps/BattleFrontier_BattleTowerCorridor/map.json index 10d5ca7f71..e521df1ca3 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor/map.json +++ b/data/maps/BattleFrontier_BattleTowerCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 9, "y": 2, diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc index fcc7cb087b..37c5b1e9d7 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleTowerCorridor_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, BattleFrontier_BattleTowerCorridor_OnLoad map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerCorridor_OnFrame @@ -23,14 +21,14 @@ BattleFrontier_BattleTowerCorridor_OnFrame: BattleFrontier_BattleTowerCorridor_EventScript_EnterCorridor:: setvar VAR_TEMP_0, 1 goto_if_eq VAR_0x8006, 1, BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToDoor + applymovement LOCALID_TOWER_CORRIDOR_ATTENDANT, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToDoor waitmovement 0 goto BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToFarDoor - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToFarDoor + applymovement LOCALID_TOWER_CORRIDOR_ATTENDANT, BattleFrontier_BattleTowerCorridor_Movement_AttendantWalkToFarDoor + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_PlayerWalkToFarDoor waitmovement 0 BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom:: diff --git a/data/maps/BattleFrontier_BattleTowerElevator/map.json b/data/maps/BattleFrontier_BattleTowerElevator/map.json index f74dce2336..d925ca2fc3 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/map.json +++ b/data/maps/BattleFrontier_BattleTowerElevator/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_ELEVATOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 1, "y": 5, diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 59deb6b088..337c9fab74 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleTowerElevator_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerElevator_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerElevator_OnWarp @@ -11,16 +9,16 @@ BattleFrontier_BattleTowerElevator_OnFrame: BattleFrontier_BattleTowerElevator_EventScript_EnterElevator:: setvar VAR_TEMP_0, 1 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerElevator_Movement_AttendantEnter - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerEnter + applymovement LOCALID_TOWER_ELEVATOR_ATTENDANT, BattleFrontier_BattleTowerElevator_Movement_AttendantEnter + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerEnter waitmovement 0 special BufferBattleTowerElevatorFloors waitse special MoveElevator waitstate delay 48 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerElevator_Movement_AttendantExit - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerExit + applymovement LOCALID_TOWER_ELEVATOR_ATTENDANT, BattleFrontier_BattleTowerElevator_Movement_AttendantExit + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_PlayerExit waitmovement 0 call BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoom end @@ -83,6 +81,6 @@ BattleFrontier_BattleTowerElevator_OnWarp: BattleFrontier_BattleTowerElevator_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end diff --git a/data/maps/BattleFrontier_BattleTowerLobby/map.json b/data/maps/BattleFrontier_BattleTowerLobby/map.json index d672f07189..b5c95b22bf 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/map.json +++ b/data/maps/BattleFrontier_BattleTowerLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_ATTENDANT_SINGLES", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 6, "y": 5, @@ -67,6 +68,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_LOBBY_REPORTER", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 11, "y": 9, @@ -80,6 +82,7 @@ "flag": "FLAG_HIDE_BATTLE_TOWER_REPORTER" }, { + "local_id": "LOCALID_APPRENTICE", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 1, "y": 5, @@ -93,6 +96,7 @@ "flag": "FLAG_HIDE_APPRENTICE" }, { + "local_id": "LOCALID_TOWER_ATTENDANT_DOUBLES", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 10, "y": 5, @@ -106,6 +110,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_ATTENDANT_MULTIS", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 14, "y": 5, @@ -119,6 +124,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_ATTENDANT_LINK_MULTIS", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 18, "y": 5, diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index e1f9d52d0e..cac3884852 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_ATTENDANT_SINGLES, 1 -.set LOCALID_ATTENDANT_DOUBLES, 7 -.set LOCALID_ATTENDANT_MULTIS, 8 -.set LOCALID_ATTENDANT_LINK_MULTIS, 9 - -@ Note: LOCALID_BATTLE_TOWER_LOBBY_REPORTER is a local id for this map used elsewhere. It's defined in event_objects.h - BattleFrontier_BattleTowerLobby_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerLobby_OnResume map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerLobby_OnTransition @@ -37,7 +30,7 @@ BattleFrontier_BattleTowerLobby_OnWarp: BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleTowerLobby_OnFrame: @@ -621,12 +614,12 @@ BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator:: call BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo call BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_WalkToElevator waitmovement 0 opendoor VAR_0x8004, 1 waitdooranim applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_AttendantEnterElevator - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_PlayerEnterElevator waitmovement 0 closedoor VAR_0x8004, 1 waitdooranim @@ -690,19 +683,19 @@ BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo:: return BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES + setvar VAR_LAST_TALKED, LOCALID_TOWER_ATTENDANT_SINGLES return BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES + setvar VAR_LAST_TALKED, LOCALID_TOWER_ATTENDANT_DOUBLES return BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_MULTIS + setvar VAR_LAST_TALKED, LOCALID_TOWER_ATTENDANT_MULTIS return BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant:: - setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_LINK_MULTIS + setvar VAR_LAST_TALKED, LOCALID_TOWER_ATTENDANT_LINK_MULTIS return BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord:: diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json index e48bcefd1b..eebfd53c47 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 5, "y": 1, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" }, { + "local_id": "LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 1, "y": 4, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 1, "y": 5, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 4, "y": 1, @@ -67,6 +71,7 @@ "flag": "FLAG_HIDE_BATTLE_TOWER_OPPONENT" }, { + "local_id": "LOCALID_TOWER_MULTI_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_F", "x": 4, "y": 8, @@ -80,6 +85,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_MULTI_BATTLE_PARTNER", "graphics_id": "OBJ_EVENT_GFX_VAR_E", "x": 5, "y": 8, diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index 4f3aa08fd6..4a975f3c48 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -1,9 +1,8 @@ -.set LOCALID_OPPONENT_1, 1 -.set LOCALID_ATTENDANT_1, 2 -.set LOCALID_ATTENDANT_2, 3 -.set LOCALID_OPPONENT_2, 4 -.set LOCALID_PLAYER, 5 -.set LOCALID_PARTNER, 6 +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_TOWER_MULTI_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_F. +@ The graphics of the partner are represented with VAR_OBJ_GFX_ID_E, which will ultimately be set by tower_setpartnergfx. +@ The graphics of the opponents are represented with VAR_OBJ_GFX_ID_0 and OBJ_EVENT_GFX_VAR_1, which will ultimately be set by tower_setopponent. BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiBattleRoom_OnTransition @@ -11,10 +10,6 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiBattleRoom_OnFrame end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_F - @ The multi partner is represented by LOCALID_PARTNER, which has the gfx id VAR_OBJ_GFX_ID_E - BattleFrontier_BattleTowerMultiBattleRoom_OnTransition: call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetLinkPlayerGfx @@ -40,7 +35,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_OnWarp: end_map_script_table BattleFrontier_BattleTowerMultiBattleRoom_EventScript_HidePlayerObj:: - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM + hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM end BattleFrontier_BattleTowerMultiBattleRoom_OnFrame: @@ -49,36 +44,36 @@ BattleFrontier_BattleTowerMultiBattleRoom_OnFrame: BattleFrontier_BattleTowerMultiBattleRoom_EventScript_EnterRoom:: setvar VAR_TEMP_0, 1 - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PlayerEnterRoom - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom + applymovement LOCALID_TOWER_MULTI_BATTLE_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PlayerEnterRoom + applymovement LOCALID_TOWER_MULTI_BATTLE_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom waitmovement 0 frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + applymovement LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + applymovement LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + applymovement LOCALID_TOWER_MULTI_BATTLE_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + applymovement LOCALID_TOWER_MULTI_BATTLE_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant waitmovement 0 frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter:: tower_setopponent - addobject LOCALID_OPPONENT_1 - addobject LOCALID_OPPONENT_2 - applymovement LOCALID_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter - applymovement LOCALID_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter + addobject LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1 + addobject LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2 + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter waitmovement 0 goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink tower_getopponentintro 0 delay 15 - applymovement LOCALID_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft waitmovement 0 msgbox gStringVar4, MSGBOX_DEFAULT waitmessage tower_getopponentintro 1 - applymovement LOCALID_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft waitmovement 0 msgbox gStringVar4, MSGBOX_DEFAULT waitmessage @@ -87,13 +82,13 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter:: BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink:: tower_getopponentintro 0 delay 15 - applymovement LOCALID_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft waitmovement 0 messageautoscroll gStringVar4 waitmessage delay 48 tower_getopponentintro 1 - applymovement LOCALID_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_WalkInPlaceLeft waitmovement 0 messageautoscroll gStringVar4 waitmessage @@ -114,16 +109,16 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DefeatedOpponents:: tower_setbattlewon switch VAR_RESULT case 7, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyWon - applymovement LOCALID_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Exit - applymovement LOCALID_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Exit + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Exit + applymovement LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Exit waitmovement 0 - removeobject LOCALID_OPPONENT_1 - removeobject LOCALID_OPPONENT_2 - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + removeobject LOCALID_TOWER_MULTI_BATTLE_OPPONENT_1 + removeobject LOCALID_TOWER_MULTI_BATTLE_OPPONENT_2 + applymovement LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer + applymovement LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + applymovement LOCALID_TOWER_MULTI_BATTLE_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant + applymovement LOCALID_TOWER_MULTI_BATTLE_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant waitmovement 0 goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT @@ -194,11 +189,11 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallenge:: BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge:: closemessage clearflag FLAG_TEMP_2 - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle + applymovement LOCALID_TOWER_MULTI_BATTLE_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle + applymovement LOCALID_TOWER_MULTI_BATTLE_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceBattle waitmovement 0 - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos + applymovement LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos + applymovement LOCALID_TOWER_MULTI_BATTLE_ATTENDANT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_AttendantReturnToPos waitmovement 0 goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter end diff --git a/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json b/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json index 36b4ecd46e..51d962dbe8 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json +++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_MULTI_CORRIDOR_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_F", "x": 1, "y": 1, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 14, "y": 3, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 1, "y": 3, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TOWER_MULTI_CORRIDOR_PARTNER", "graphics_id": "OBJ_EVENT_GFX_VAR_E", "x": 14, "y": 1, diff --git a/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc index 13bf1717e3..726746afa9 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc @@ -1,7 +1,7 @@ -.set LOCALID_PLAYER, 1 -.set LOCALID_ATTENDANT_1, 2 -.set LOCALID_ATTENDANT_2, 3 -.set LOCALID_PARTNER, 4 +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_TOWER_MULTI_CORRIDOR_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_F. +@ The graphics of the partner are represented with VAR_OBJ_GFX_ID_E, which will ultimately be set by tower_setpartnergfx. BattleFrontier_BattleTowerMultiCorridor_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiCorridor_OnTransition @@ -9,10 +9,6 @@ BattleFrontier_BattleTowerMultiCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiCorridor_OnFrame end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by LOCALID_PLAYER, and has the gfx id VAR_OBJ_GFX_ID_F - @ The multi partner is represented by LOCALID_PARTNER, and has the gfx id VAR_OBJ_GFX_ID_E - BattleFrontier_BattleTowerMultiCorridor_OnTransition: call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx @@ -38,9 +34,9 @@ BattleFrontier_BattleTowerMultiCorridor_OnWarp: end_map_script_table BattleFrontier_BattleTowerMultiCorridor_EventScript_SetUpObjects:: - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR hideobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR - hideobjectat LOCALID_PARTNER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + hideobjectat LOCALID_TOWER_MULTI_CORRIDOR_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + hideobjectat LOCALID_TOWER_MULTI_CORRIDOR_PARTNER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR special OffsetCameraForBattle end @@ -56,10 +52,10 @@ BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor:: opendoor 1, 1 waitdooranim clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR - showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR - showobjectat LOCALID_PARTNER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator + showobjectat LOCALID_TOWER_MULTI_CORRIDOR_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + showobjectat LOCALID_TOWER_MULTI_CORRIDOR_PARTNER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR + applymovement LOCALID_TOWER_MULTI_CORRIDOR_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator + applymovement LOCALID_TOWER_MULTI_CORRIDOR_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_ExitElevator waitmovement 0 setflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR setvar VAR_0x8004, 14 @ x coord of far door, used by DrawDoor @@ -67,21 +63,21 @@ BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor:: closedoor 1, 1 waitdooranim clearflag FLAG_ENABLE_MULTI_CORRIDOR_DOOR - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerWalkToDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerWalkToDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_2, BattleFrontier_BattleTowerMultiCorridor_Movement_PlayerAttendantWalkToDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_1, BattleFrontier_BattleTowerMultiCorridor_Movement_PartnerAttendantWalkToDoor waitmovement 0 delay 40 - applymovement LOCALID_ATTENDANT_2, Common_Movement_WalkInPlaceFasterUp - applymovement LOCALID_ATTENDANT_1, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_2, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_1, Common_Movement_WalkInPlaceFasterUp waitmovement 0 opendoor 7, 1 waitdooranim - applymovement LOCALID_ATTENDANT_2, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor - applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor - applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor - applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_2, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_ATTENDANT_1, BattleFrontier_BattleTowerMultiCorridor_Movement_AttendantEnterDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_PLAYER, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor + applymovement LOCALID_TOWER_MULTI_CORRIDOR_PARTNER, BattleFrontier_BattleTowerMultiCorridor_Movement_TrainerEnterDoor waitmovement 0 closedoor 7, 1 waitdooranim diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json index c48458344f..687099d560 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json +++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TOWER_PARTNER_ROOM_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 11, "y": 2, diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc index f4f94f44ac..e9d17fbf8f 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - BattleFrontier_BattleTowerMultiPartnerRoom_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerMultiPartnerRoom_OnResume map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition @@ -35,7 +33,7 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner:: setvar VAR_OBJ_GFX_ID_7, OBJ_EVENT_GFX_BOY_1 setvar VAR_TEMP_1, 1 setvar VAR_TEMP_3, 1 - setobjectxyperm LOCALID_ATTENDANT, 10, 2 + setobjectxyperm LOCALID_TOWER_PARTNER_ROOM_ATTENDANT, 10, 2 end BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp: @@ -43,7 +41,7 @@ BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp: end_map_script_table BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame: @@ -59,12 +57,12 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom:: BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom:: lockall - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom waitmovement 0 - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit + applymovement LOCALID_TOWER_PARTNER_ROOM_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit waitmovement 0 - copyobjectxytoperm LOCALID_ATTENDANT - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + copyobjectxytoperm LOCALID_TOWER_PARTNER_ROOM_ATTENDANT + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner, MSGBOX_DEFAULT special HealPlayerParty @@ -100,7 +98,7 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge:: BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator:: msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_ThankYouForChoosingPartner, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_TOWER_PARTNER_ROOM_ATTENDANT, Common_Movement_WalkInPlaceFasterUp waitmovement 0 opendoor 10, 1 waitdooranim @@ -113,22 +111,22 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator:: end BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator:: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator + applymovement LOCALID_TOWER_PARTNER_ROOM_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator waitmovement 0 return @ Unused BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorEast: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast + applymovement LOCALID_TOWER_PARTNER_ROOM_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast waitmovement 0 return @ Unused BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorWest: - applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest + applymovement LOCALID_TOWER_PARTNER_ROOM_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator + applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest waitmovement 0 return diff --git a/data/maps/BattleFrontier_Mart/map.json b/data/maps/BattleFrontier_Mart/map.json index 28261958ab..1f182365e1 100644 --- a/data/maps/BattleFrontier_Mart/map.json +++ b/data/maps/BattleFrontier_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FRONTIER_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_MART_OLD_WOMAN", "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 5, "y": 4, diff --git a/data/maps/BattleFrontier_Mart/scripts.inc b/data/maps/BattleFrontier_Mart/scripts.inc index bc7321db51..0f3caac8d6 100644 --- a/data/maps/BattleFrontier_Mart/scripts.inc +++ b/data/maps/BattleFrontier_Mart/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_OLD_WOMAN, 2 - BattleFrontier_Mart_MapScripts:: end_map_scripts @@ -28,9 +26,7 @@ BattleFrontier_Mart_Pokemart: .2byte ITEM_ZINC .2byte ITEM_CARBOS .2byte ITEM_HP_UP - .2byte ITEM_NONE - release - end + pokemartlistend BattleFrontier_Mart_EventScript_OldMan:: msgbox BattleFrontier_Mart_Text_ChaperonGrandson, MSGBOX_NPC @@ -38,7 +34,7 @@ BattleFrontier_Mart_EventScript_OldMan:: BattleFrontier_Mart_EventScript_OldWoman:: lock - applymovement LOCALID_OLD_WOMAN, Common_Movement_FaceDown + applymovement LOCALID_FRONTIER_MART_OLD_WOMAN, Common_Movement_FaceDown waitmovement 0 msgbox BattleFrontier_Mart_Text_ProteinMakeNiceGift, MSGBOX_DEFAULT release diff --git a/data/maps/BattleFrontier_OutsideEast/map.json b/data/maps/BattleFrontier_OutsideEast/map.json index c99fe30474..ab871be653 100644 --- a/data/maps/BattleFrontier_OutsideEast/map.json +++ b/data/maps/BattleFrontier_OutsideEast/map.json @@ -190,6 +190,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_SUDOWOODO", "graphics_id": "OBJ_EVENT_GFX_SUDOWOODO", "x": 54, "y": 62, diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index 92be9f2c8b..e05d85d7a5 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_SUDOWOODO, 14 - BattleFrontier_OutsideEast_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_OutsideEast_OnResume map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideEast_OnTransition @@ -108,7 +106,7 @@ BattleFrontier_OutsideEast_EventScript_Sudowoodo:: faceplayer waitse playse SE_SUDOWOODO_SHAKE - applymovement LOCALID_SUDOWOODO, BattleFrontier_OutsideEast_Movement_SudowoodoShake + applymovement LOCALID_FRONTIER_SUDOWOODO, BattleFrontier_OutsideEast_Movement_SudowoodoShake waitmovement 0 release end @@ -120,7 +118,7 @@ BattleFrontier_OutsideEast_EventScript_WaterSudowoodo:: waitstate waitse playse SE_SUDOWOODO_SHAKE - applymovement LOCALID_SUDOWOODO, BattleFrontier_OutsideEast_Movement_SudowoodoShake + applymovement LOCALID_FRONTIER_SUDOWOODO, BattleFrontier_OutsideEast_Movement_SudowoodoShake waitmovement 0 msgbox gText_Sudowoodo_Attacked, MSGBOX_DEFAULT closemessage @@ -128,7 +126,7 @@ BattleFrontier_OutsideEast_EventScript_WaterSudowoodo:: playmoncry SPECIES_SUDOWOODO, CRY_MODE_ENCOUNTER delay 40 waitmoncry - setvar VAR_LAST_TALKED, LOCALID_SUDOWOODO + setvar VAR_LAST_TALKED, LOCALID_FRONTIER_SUDOWOODO setwildbattle SPECIES_SUDOWOODO, 40 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle diff --git a/data/maps/BattleFrontier_OutsideWest/map.json b/data/maps/BattleFrontier_OutsideWest/map.json index bcf579cf1d..a77f6ac578 100644 --- a/data/maps/BattleFrontier_OutsideWest/map.json +++ b/data/maps/BattleFrontier_OutsideWest/map.json @@ -34,6 +34,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 20, "y": 70, @@ -47,6 +48,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_FERRY_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 19, "y": 68, @@ -125,6 +127,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_MANIAC_1", "graphics_id": "OBJ_EVENT_GFX_MANIAC", "x": 13, "y": 44, @@ -138,6 +141,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_MANIAC_2", "graphics_id": "OBJ_EVENT_GFX_MANIAC", "x": 14, "y": 44, @@ -164,6 +168,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_GIRL", "graphics_id": "OBJ_EVENT_GFX_GIRL_1", "x": 38, "y": 27, @@ -190,6 +195,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_CAMPER", "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 9, "y": 47, @@ -242,6 +248,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_FISHERMAN_2", "graphics_id": "OBJ_EVENT_GFX_FISHERMAN", "x": 42, "y": 48, @@ -307,6 +314,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_MAN_4", "graphics_id": "OBJ_EVENT_GFX_MAN_4", "x": 8, "y": 5, diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc index 3b75180550..74fd3418f4 100644 --- a/data/maps/BattleFrontier_OutsideWest/scripts.inc +++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc @@ -1,12 +1,3 @@ -.set LOCALID_SS_TIDAL, 2 -.set LOCALID_FERRY_ATTENDANT, 3 -.set LOCALID_MANIAC_1, 9 -.set LOCALID_MANIAC_2, 10 -.set LOCALID_GIRL, 12 -.set LOCALID_CAMPER, 14 -.set LOCALID_FISHERMAN_2, 18 -.set LOCALID_MAN_4, 23 - BattleFrontier_OutsideWest_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_OutsideWest_OnTransition end_map_scripts @@ -72,8 +63,8 @@ BattleFrontier_OutsideWest_EventScript_BoardFerry:: applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 - hideobjectat LOCALID_FERRY_ATTENDANT, MAP_BATTLE_FRONTIER_OUTSIDE_WEST - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_FRONTIER_FERRY_ATTENDANT, MAP_BATTLE_FRONTIER_OUTSIDE_WEST + setvar VAR_0x8004, LOCALID_FRONTIER_SS_TIDAL call Common_EventScript_FerryDepartIsland return @@ -113,7 +104,7 @@ BattleFrontier_OutsideWest_EventScript_Fisherman2:: faceplayer message BattleFrontier_OutsideWest_Text_GotSeasickOnWayHere waitmessage - applymovement LOCALID_FISHERMAN_2, Common_Movement_FaceAwayPlayer + applymovement LOCALID_FRONTIER_FISHERMAN_2, Common_Movement_FaceAwayPlayer waitmovement 0 waitbuttonpress release @@ -134,16 +125,16 @@ BattleFrontier_OutsideWest_EventScript_Maniac2:: end BattleFrontier_OutsideWest_EventScript_FactoryChallengersTalk:: - applymovement LOCALID_MANIAC_1, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_FRONTIER_MANIAC_1, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox BattleFrontier_OutsideWest_Text_SureWeCanChallengeWithNoMons, MSGBOX_DEFAULT - applymovement LOCALID_MANIAC_2, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_FRONTIER_MANIAC_2, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox BattleFrontier_OutsideWest_Text_BigGuySaidIllLendYouMons, MSGBOX_DEFAULT closemessage delay 25 - applymovement LOCALID_MANIAC_1, Common_Movement_WalkInPlaceFasterUp - applymovement LOCALID_MANIAC_2, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_FRONTIER_MANIAC_1, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_FRONTIER_MANIAC_2, Common_Movement_WalkInPlaceFasterUp waitmovement 0 release end @@ -161,7 +152,7 @@ BattleFrontier_OutsideWest_EventScript_Camper:: end BattleFrontier_OutsideWest_EventScript_CamperFaceFactory:: - applymovement LOCALID_CAMPER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_FRONTIER_CAMPER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return @@ -182,22 +173,22 @@ BattleFrontier_OutsideWest_EventScript_Girl:: end BattleFrontier_OutsideWest_EventScript_GirlShudderNorth:: - applymovement LOCALID_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderNorth + applymovement LOCALID_FRONTIER_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderNorth waitmovement 0 return BattleFrontier_OutsideWest_EventScript_GirlShudderSouth:: - applymovement LOCALID_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderSouth + applymovement LOCALID_FRONTIER_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderSouth waitmovement 0 return BattleFrontier_OutsideWest_EventScript_GirlShudderWest:: - applymovement LOCALID_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderWest + applymovement LOCALID_FRONTIER_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderWest waitmovement 0 return BattleFrontier_OutsideWest_EventScript_GirlShudderEast:: - applymovement LOCALID_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderEast + applymovement LOCALID_FRONTIER_GIRL, BattleFrontier_OutsideWest_Movement_GirlShudderEast waitmovement 0 return @@ -298,7 +289,7 @@ BattleFrontier_OutsideWest_EventScript_Man4:: faceplayer msgbox BattleFrontier_OutsideWest_Text_FansOverThereUsedToBeTrainers, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MAN_4, Common_Movement_FaceOriginalDirection + applymovement LOCALID_FRONTIER_MAN_4, Common_Movement_FaceOriginalDirection waitmovement 0 release end diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/map.json b/data/maps/BattleFrontier_PokemonCenter_1F/map.json index b993e92777..b44bd4b379 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FRONTIER_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc index 1a70f0edee..71758b58d9 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - BattleFrontier_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -10,7 +8,7 @@ BattleFrontier_PokemonCenter_1F_OnTransition: end BattleFrontier_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_FRONTIER_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/BattleFrontier_ReceptionGate/map.json b/data/maps/BattleFrontier_ReceptionGate/map.json index 12a178198d..8f92c5e94b 100644 --- a/data/maps/BattleFrontier_ReceptionGate/map.json +++ b/data/maps/BattleFrontier_ReceptionGate/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FRONTIER_RECEPTION_GREETER", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 0, "y": 11, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_RECEPTION_GUIDE", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 8, "y": 11, @@ -54,6 +56,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FRONTIER_RECEPTION_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 4, "y": 5, diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc index 54b57124c2..eaa1dc8138 100644 --- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc +++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_GREETER, 1 -.set LOCALID_GUIDE, 2 -.set LOCALID_SCOTT, 4 - BattleFrontier_ReceptionGate_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_ReceptionGate_OnFrame map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_ReceptionGate_OnTransition @@ -19,13 +15,13 @@ BattleFrontier_ReceptionGate_EventScript_FirstTimeEntering:: lockall setvar VAR_HAS_ENTERED_BATTLE_FRONTIER, 1 playse SE_PIN - applymovement LOCALID_GREETER, Common_Movement_ExclamationMark + applymovement LOCALID_FRONTIER_RECEPTION_GREETER, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_GREETER, Common_Movement_Delay48 + applymovement LOCALID_FRONTIER_RECEPTION_GREETER, Common_Movement_Delay48 waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_FirstTimeHereThisWay, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerApproachCounter + applymovement LOCALID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerApproachCounter waitmovement 0 goto BattleFrontier_ReceptionGate_EventScript_ScottScene end @@ -42,27 +38,27 @@ BattleFrontier_ReceptionGate_EventScript_ScottScene:: msgbox BattleFrontier_ReceptionGate_Text_EnjoyBattleFrontier, MSGBOX_DEFAULT msgbox BattleFrontier_ReceptionGate_Text_IfItIsntPlayerYouCame, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GREETER, Common_Movement_WalkInPlaceFasterUp - applymovement LOCALID_GUIDE, Common_Movement_WalkInPlaceFasterUp - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_FRONTIER_RECEPTION_GREETER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_FRONTIER_RECEPTION_GUIDE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 playse SE_PIN - applymovement LOCALID_GREETER, Common_Movement_ExclamationMark - applymovement LOCALID_GUIDE, Common_Movement_ExclamationMark - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_ExclamationMark + applymovement LOCALID_FRONTIER_RECEPTION_GREETER, Common_Movement_ExclamationMark + applymovement LOCALID_FRONTIER_RECEPTION_GUIDE, Common_Movement_ExclamationMark + applymovement LOCALID_PLAYER, Common_Movement_ExclamationMark waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_OhMrScottGoodDay, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GREETER, BattleFrontier_ReceptionGate_Movement_GreeterFaceScott - applymovement LOCALID_GUIDE, BattleFrontier_ReceptionGate_Movement_FacilityGuideFaceScott - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerFaceScott - applymovement LOCALID_SCOTT, BattleFrontier_ReceptionGate_Movement_ScottEnter + applymovement LOCALID_FRONTIER_RECEPTION_GREETER, BattleFrontier_ReceptionGate_Movement_GreeterFaceScott + applymovement LOCALID_FRONTIER_RECEPTION_GUIDE, BattleFrontier_ReceptionGate_Movement_FacilityGuideFaceScott + applymovement LOCALID_PLAYER, BattleFrontier_ReceptionGate_Movement_PlayerFaceScott + applymovement LOCALID_FRONTIER_RECEPTION_SCOTT, BattleFrontier_ReceptionGate_Movement_ScottEnter waitmovement 0 msgbox BattleFrontier_ReceptionGate_Text_ScottGreatToSeeYouHere, MSGBOX_DEFAULT closemessage - applymovement LOCALID_SCOTT, BattleFrontier_ReceptionGate_Movement_ScottExit + applymovement LOCALID_FRONTIER_RECEPTION_SCOTT, BattleFrontier_ReceptionGate_Movement_ScottExit waitmovement 0 - removeobject LOCALID_SCOTT + removeobject LOCALID_FRONTIER_RECEPTION_SCOTT releaseall end diff --git a/data/maps/BattleFrontier_ScottsHouse/map.json b/data/maps/BattleFrontier_ScottsHouse/map.json index 7a6de715ab..60d7f4ccfc 100644 --- a/data/maps/BattleFrontier_ScottsHouse/map.json +++ b/data/maps/BattleFrontier_ScottsHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SCOTTS_HOUSE_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 2, "y": 3, diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index 1b38c5368f..d6065ef4fe 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_SCOTT, 1 - BattleFrontier_ScottsHouse_MapScripts:: end_map_scripts @@ -149,7 +147,7 @@ BattleFrontier_ScottsHouse_EventScript_WelcomeToFrontier:: call_if_eq VAR_FACING, DIR_EAST, BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast call_if_eq VAR_FACING, DIR_WEST, BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest msgbox BattleFrontier_ScottsHouse_Text_HowMuchEffortItTookToMakeReal, MSGBOX_DEFAULT - applymovement LOCALID_SCOTT, Common_Movement_FacePlayer + applymovement LOCALID_SCOTTS_HOUSE_SCOTT, Common_Movement_FacePlayer waitmovement 0 msgbox BattleFrontier_ScottsHouse_Text_HaveThisAsMementoOfOurPathsCrossing, MSGBOX_DEFAULT goto_if_eq VAR_SCOTT_STATE, 13, BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints @@ -192,22 +190,22 @@ BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints:: end BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth:: - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SCOTTS_HOUSE_SCOTT, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth:: - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SCOTTS_HOUSE_SCOTT, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast:: - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SCOTTS_HOUSE_SCOTT, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest:: - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SCOTTS_HOUSE_SCOTT, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json index 3c5cc874cb..996fc0ca14 100644 --- a/data/maps/BirthIsland_Exterior/map.json +++ b/data/maps/BirthIsland_Exterior/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK", "graphics_id": "OBJ_EVENT_GFX_DEOXYS_TRIANGLE", "x": 15, "y": 12, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE" }, { + "local_id": "LOCALID_BIRTH_ISLAND_DEOXYS", "graphics_id": "OBJ_EVENT_GFX_DEOXYS", "x": 15, "y": 3, diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 410de55f0d..d3d67d361d 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_DEOXYS, 2 - -@ Note: LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK is a local id for this map used elsewhere. It's defined in event_objects.h - BirthIsland_Exterior_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, BirthIsland_Exterior_OnTransition map_script MAP_SCRIPT_ON_RESUME, BirthIsland_Exterior_OnResume @@ -39,7 +35,7 @@ BirthIsland_Exterior_OnResume: BirthIsland_Exterior_EventScript_TryRemoveDeoxys:: specialvar VAR_RESULT, GetBattleOutcome goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn - removeobject LOCALID_DEOXYS + removeobject LOCALID_BIRTH_ISLAND_DEOXYS return BirthIsland_Exterior_EventScript_Triangle:: @@ -72,19 +68,19 @@ BirthIsland_Exterior_EventScript_Complete:: BirthIsland_Exterior_EventScript_Deoxys:: waitse setfieldeffectargument 0, LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK - setfieldeffectargument 1, MAP_NUM(BIRTH_ISLAND_EXTERIOR) - setfieldeffectargument 2, MAP_GROUP(BIRTH_ISLAND_EXTERIOR) + setfieldeffectargument 1, MAP_NUM(MAP_BIRTH_ISLAND_EXTERIOR) + setfieldeffectargument 2, MAP_GROUP(MAP_BIRTH_ISLAND_EXTERIOR) dofieldeffect FLDEFF_DESTROY_DEOXYS_ROCK playbgm MUS_RG_ENCOUNTER_DEOXYS, FALSE waitfieldeffect FLDEFF_DESTROY_DEOXYS_ROCK - addobject LOCALID_DEOXYS - applymovement LOCALID_DEOXYS, BirthIsland_Exterior_Movement_DeoxysApproach + addobject LOCALID_BIRTH_ISLAND_DEOXYS + applymovement LOCALID_BIRTH_ISLAND_DEOXYS, BirthIsland_Exterior_Movement_DeoxysApproach waitmovement 0 waitse playmoncry SPECIES_DEOXYS, CRY_MODE_ENCOUNTER delay 40 waitmoncry - setvar VAR_LAST_TALKED, LOCALID_DEOXYS + setvar VAR_LAST_TALKED, LOCALID_BIRTH_ISLAND_DEOXYS seteventmon SPECIES_DEOXYS, 30 setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json index cce96bfc13..93f399963e 100644 --- a/data/maps/BirthIsland_Harbor/map.json +++ b/data/maps/BirthIsland_Harbor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_BIRTH_ISLAND_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 5, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BIRTH_ISLAND_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 8, "y": 7, diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc index b939153d76..3a96378d28 100644 --- a/data/maps/BirthIsland_Harbor/scripts.inc +++ b/data/maps/BirthIsland_Harbor/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_SAILOR, 1 -.set LOCALID_SS_TIDAL, 2 - BirthIsland_Harbor_MapScripts:: end_map_scripts @@ -14,8 +11,8 @@ BirthIsland_Harbor_EventScript_Sailor:: applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 - hideobjectat LOCALID_SAILOR, MAP_BIRTH_ISLAND_HARBOR - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_BIRTH_ISLAND_SAILOR, MAP_BIRTH_ISLAND_HARBOR + setvar VAR_0x8004, LOCALID_BIRTH_ISLAND_SS_TIDAL call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 8, 11 waitstate diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json index 166f79998b..5756705323 100644 --- a/data/maps/CaveOfOrigin_B1F/map.json +++ b/data/maps/CaveOfOrigin_B1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_CAVE_OF_ORIGIN_WALLACE", "graphics_id": "OBJ_EVENT_GFX_WALLACE", "x": 9, "y": 13, diff --git a/data/maps/CaveOfOrigin_B1F/scripts.inc b/data/maps/CaveOfOrigin_B1F/scripts.inc index a8de64b52c..2b544f0400 100644 --- a/data/maps/CaveOfOrigin_B1F/scripts.inc +++ b/data/maps/CaveOfOrigin_B1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WALLACE, 1 - CaveOfOrigin_B1F_MapScripts:: end_map_scripts @@ -8,16 +6,16 @@ CaveOfOrigin_B1F_EventScript_Wallace:: faceplayer msgbox CaveOfOrigin_B1F_Text_WallaceStory, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_CAVE_OF_ORIGIN_WALLACE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 60 playse SE_PIN - applymovement LOCALID_WALLACE, Common_Movement_ExclamationMark + applymovement LOCALID_CAVE_OF_ORIGIN_WALLACE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_WALLACE, Common_Movement_Delay48 + applymovement LOCALID_CAVE_OF_ORIGIN_WALLACE, Common_Movement_Delay48 waitmovement 0 delay 30 - applymovement LOCALID_WALLACE, Common_Movement_FacePlayer + applymovement LOCALID_CAVE_OF_ORIGIN_WALLACE, Common_Movement_FacePlayer waitmovement 0 message CaveOfOrigin_B1F_Text_WhereIsRayquaza waitmessage @@ -55,7 +53,7 @@ CaveOfOrigin_B1F_EventScript_AtSkyPillar:: fadescreenspeed FADE_TO_BLACK, 4 setflag FLAG_WALLACE_GOES_TO_SKY_PILLAR setvar VAR_SOOTOPOLIS_CITY_STATE, 3 - removeobject LOCALID_WALLACE + removeobject LOCALID_CAVE_OF_ORIGIN_WALLACE clearflag FLAG_HIDE_SKY_PILLAR_WALLACE fadescreen FADE_FROM_BLACK release diff --git a/data/maps/ContestHall/map.json b/data/maps/ContestHall/map.json index 842c57968d..2d5c0b7c0c 100644 --- a/data/maps/ContestHall/map.json +++ b/data/maps/ContestHall/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_CONTEST_MC", "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 6, "y": 4, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_JUDGE", "graphics_id": "OBJ_EVENT_GFX_CONTEST_JUDGE", "x": 7, "y": 4, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTESTANT_1", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 4, "y": 7, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTESTANT_2", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 6, "y": 7, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTESTANT_3", "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 8, "y": 7, @@ -80,6 +85,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_1", "graphics_id": "OBJ_EVENT_GFX_VAR_4", "x": 2, "y": 6, @@ -93,6 +99,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_3", "graphics_id": "OBJ_EVENT_GFX_VAR_6", "x": 4, "y": 2, @@ -106,6 +113,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_4", "graphics_id": "OBJ_EVENT_GFX_VAR_7", "x": 5, "y": 2, @@ -119,6 +127,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_5", "graphics_id": "OBJ_EVENT_GFX_VAR_8", "x": 9, "y": 2, @@ -132,6 +141,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_6", "graphics_id": "OBJ_EVENT_GFX_VAR_9", "x": 10, "y": 2, @@ -145,6 +155,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_7", "graphics_id": "OBJ_EVENT_GFX_VAR_A", "x": 12, "y": 5, @@ -158,6 +169,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_AUDIENCE_2", "graphics_id": "OBJ_EVENT_GFX_VAR_5", "x": 2, "y": 5, @@ -171,6 +183,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_POKEBALL", "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 7, "y": 5, @@ -184,6 +197,7 @@ "flag": "FLAG_HIDE_CONTEST_POKE_BALL" }, { + "local_id": "LOCALID_CONTESTANT_4", "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 10, "y": 7, @@ -197,6 +211,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_ARTIST", "graphics_id": "OBJ_EVENT_GFX_ARTIST", "x": 12, "y": 6, diff --git a/data/maps/ContestHall/scripts.inc b/data/maps/ContestHall/scripts.inc index 015ed60aaa..b655447fe7 100644 --- a/data/maps/ContestHall/scripts.inc +++ b/data/maps/ContestHall/scripts.inc @@ -69,7 +69,7 @@ ContestHall_EventScript_Contest:: ContestHall_EventScript_SetContestObjects:: special LoadLinkContestPlayerPalettes - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_PLAYER, MAP_LITTLEROOT_TOWN call ContestHall_EventScript_CreateAudience end diff --git a/data/maps/DesertUnderpass/map.json b/data/maps/DesertUnderpass/map.json index 152d32a794..386c28b2af 100644 --- a/data/maps/DesertUnderpass/map.json +++ b/data/maps/DesertUnderpass/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_UNDERPASS_FOSSIL", "graphics_id": "OBJ_EVENT_GFX_FOSSIL", "x": 132, "y": 10, diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc index 3df13364ac..57d5aabe79 100644 --- a/data/maps/DesertUnderpass/scripts.inc +++ b/data/maps/DesertUnderpass/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_FOSSIL, 1 - DesertUnderpass_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, DesertUnderpass_OnTransition end_map_scripts @@ -18,13 +16,13 @@ DesertUnderpass_EventScript_Fossil:: DesertUnderpass_EventScript_GiveClawFossil:: giveitem ITEM_CLAW_FOSSIL - removeobject LOCALID_FOSSIL + removeobject LOCALID_UNDERPASS_FOSSIL release end DesertUnderpass_EventScript_GiveRootFossil:: giveitem ITEM_ROOT_FOSSIL - removeobject LOCALID_FOSSIL + removeobject LOCALID_UNDERPASS_FOSSIL release end diff --git a/data/maps/DewfordTown/map.json b/data/maps/DewfordTown/map.json index f073a74368..ac958202a8 100644 --- a/data/maps/DewfordTown/map.json +++ b/data/maps/DewfordTown/map.json @@ -39,6 +39,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEWFORD_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 12, "y": 9, @@ -65,6 +66,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEWFORD_BOAT", "graphics_id": "OBJ_EVENT_GFX_MR_BRINEYS_BOAT", "x": 12, "y": 8, diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc index d7d9a6c681..7de2ad1dfc 100644 --- a/data/maps/DewfordTown/scripts.inc +++ b/data/maps/DewfordTown/scripts.inc @@ -1,15 +1,3 @@ -@ Sailing to and from Dewford uses local IDs from different maps -@ e.g. Route 104's sail to Dewford script references local IDs from Dewford's map -@ All of these local IDs are labeled here -.equ LOCALID_BRINEY_DEWFORD, 2 -.equ LOCALID_BOAT_DEWFORD, 4 - -.equ LOCALID_BOAT_R109, 1 -.equ LOCALID_BRINEY_R109, 2 - -.equ LOCALID_BOAT_R104, 7 -.equ LOCALID_BRINEY_R104, 8 - DewfordTown_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_OnTransition end_map_scripts @@ -123,30 +111,30 @@ DewfordTown_EventScript_FishingNotSoGood:: DewfordTown_EventScript_SailToPetalburg:: call EventScript_BackupMrBrineyLocation - setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0 - setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN, 0 - applymovement LOCALID_BRINEY_DEWFORD, DewfordTown_Movement_BrineyBoardBoat + setobjectsubpriority LOCALID_DEWFORD_BRINEY, MAP_DEWFORD_TOWN, 0 + setobjectsubpriority LOCALID_PLAYER, MAP_DEWFORD_TOWN, 0 + applymovement LOCALID_DEWFORD_BRINEY, DewfordTown_Movement_BrineyBoardBoat waitmovement 0 - removeobject LOCALID_BRINEY_DEWFORD - applymovement OBJ_EVENT_ID_PLAYER, DewfordTown_Movement_PlayerBoardBoat + removeobject LOCALID_DEWFORD_BRINEY + applymovement LOCALID_PLAYER, DewfordTown_Movement_PlayerBoardBoat waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN + hideobjectat LOCALID_PLAYER, MAP_DEWFORD_TOWN call Common_EventScript_PlayBrineysBoatMusic - applymovement LOCALID_BOAT_DEWFORD, DewfordTown_Movement_SailToPetalburg - applymovement OBJ_EVENT_ID_PLAYER, DewfordTown_Movement_SailToPetalburg + applymovement LOCALID_DEWFORD_BOAT, DewfordTown_Movement_SailToPetalburg + applymovement LOCALID_PLAYER, DewfordTown_Movement_SailToPetalburg waitmovement 0 - showobjectat OBJ_EVENT_ID_PLAYER, MAP_ROUTE104 + showobjectat LOCALID_PLAYER, MAP_ROUTE104 call Common_EventScript_StopBrineysBoatMusic - applymovement OBJ_EVENT_ID_PLAYER, DewfordTown_Movement_ExitBoatPetalburg + applymovement LOCALID_PLAYER, DewfordTown_Movement_ExitBoatPetalburg waitmovement 0 - showobjectat OBJ_EVENT_ID_PLAYER, MAP_ROUTE104 + showobjectat LOCALID_PLAYER, MAP_ROUTE104 clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - hideobjectat LOCALID_BOAT_DEWFORD, MAP_DEWFORD_TOWN + hideobjectat LOCALID_DEWFORD_BOAT, MAP_DEWFORD_TOWN setvar VAR_BOARD_BRINEY_BOAT_STATE, 2 - resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN + resetobjectsubpriority LOCALID_PLAYER, MAP_DEWFORD_TOWN warp MAP_ROUTE104_MR_BRINEYS_HOUSE, 5, 4 copyvar VAR_BRINEY_LOCATION, VAR_0x8008 waitstate @@ -155,39 +143,39 @@ DewfordTown_EventScript_SailToPetalburg:: DewfordTown_EventScript_SailToSlateport:: call EventScript_BackupMrBrineyLocation - setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0 - setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN, 1 - applymovement LOCALID_BRINEY_DEWFORD, DewfordTown_Movement_BrineyBoardBoat + setobjectsubpriority LOCALID_DEWFORD_BRINEY, MAP_DEWFORD_TOWN, 0 + setobjectsubpriority LOCALID_PLAYER, MAP_DEWFORD_TOWN, 1 + applymovement LOCALID_DEWFORD_BRINEY, DewfordTown_Movement_BrineyBoardBoat waitmovement 0 - removeobject LOCALID_BRINEY_DEWFORD - applymovement OBJ_EVENT_ID_PLAYER, DewfordTown_Movement_PlayerBoardBoat + removeobject LOCALID_DEWFORD_BRINEY + applymovement LOCALID_PLAYER, DewfordTown_Movement_PlayerBoardBoat waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN + hideobjectat LOCALID_PLAYER, MAP_DEWFORD_TOWN call Common_EventScript_PlayBrineysBoatMusic - applymovement LOCALID_BOAT_DEWFORD, DewfordTown_Movement_SailToSlateport - applymovement OBJ_EVENT_ID_PLAYER, DewfordTown_Movement_SailToSlateport + applymovement LOCALID_DEWFORD_BOAT, DewfordTown_Movement_SailToSlateport + applymovement LOCALID_PLAYER, DewfordTown_Movement_SailToSlateport waitmovement 0 call Common_EventScript_StopBrineysBoatMusic - showobjectat OBJ_EVENT_ID_PLAYER, MAP_ROUTE109 - applymovement OBJ_EVENT_ID_PLAYER, DewfordTown_Movement_ExitBoatSlateport + showobjectat LOCALID_PLAYER, MAP_ROUTE109 + applymovement LOCALID_PLAYER, DewfordTown_Movement_ExitBoatSlateport waitmovement 0 - setobjectxyperm LOCALID_BRINEY_R109, 21, 26 - addobject LOCALID_BRINEY_R109 - setobjectsubpriority LOCALID_BRINEY_R109, MAP_ROUTE109, 0 - applymovement LOCALID_BRINEY_R109, DewfordTown_Movement_BrineyExitBoat + setobjectxyperm LOCALID_ROUTE109_BRINEY, 21, 26 + addobject LOCALID_ROUTE109_BRINEY + setobjectsubpriority LOCALID_ROUTE109_BRINEY, MAP_ROUTE109, 0 + applymovement LOCALID_ROUTE109_BRINEY, DewfordTown_Movement_BrineyExitBoat waitmovement 0 clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY - addobject LOCALID_BOAT_R109 + addobject LOCALID_ROUTE109_BOAT clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - hideobjectat LOCALID_BOAT_DEWFORD, MAP_DEWFORD_TOWN + hideobjectat LOCALID_DEWFORD_BOAT, MAP_DEWFORD_TOWN call_if_unset FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateportDeliverGoods call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateport closemessage copyvar VAR_BRINEY_LOCATION, VAR_0x8008 - resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN - resetobjectsubpriority LOCALID_BRINEY_R109, MAP_ROUTE109 - copyobjectxytoperm LOCALID_BRINEY_R109 + resetobjectsubpriority LOCALID_PLAYER, MAP_DEWFORD_TOWN + resetobjectsubpriority LOCALID_ROUTE109_BRINEY, MAP_ROUTE109 + copyobjectxytoperm LOCALID_ROUTE109_BRINEY release end diff --git a/data/maps/DewfordTown_Hall/map.json b/data/maps/DewfordTown_Hall/map.json index 9489a3d1ee..c253d16a61 100644 --- a/data/maps/DewfordTown_Hall/map.json +++ b/data/maps/DewfordTown_Hall/map.json @@ -54,6 +54,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEWFORD_HALL_EXPERT_M", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 9, "y": 3, @@ -67,6 +68,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEWFORD_HALL_TWIN", "graphics_id": "OBJ_EVENT_GFX_TWIN", "x": 5, "y": 2, @@ -93,6 +95,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEWFORD_HALL_SCHOOL_KID_M", "graphics_id": "OBJ_EVENT_GFX_SCHOOL_KID_M", "x": 12, "y": 3, @@ -106,6 +109,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEWFORD_HALL_PSYCHIC_M", "graphics_id": "OBJ_EVENT_GFX_PSYCHIC_M", "x": 15, "y": 3, diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index f671180d50..c6b842d4e6 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_EXPERT_M, 4 -.set LOCALID_TWIN, 5 -.set LOCALID_SCHOOL_KID_M, 7 -.set LOCALID_PSYCHIC_M, 8 - DewfordTown_Hall_MapScripts:: end_map_scripts @@ -55,7 +50,7 @@ DewfordTown_Hall_EventScript_ExpertM:: call Common_EventScript_BufferTrendyPhrase msgbox DewfordTown_Hall_Text_TVShowAboutTrend, MSGBOX_DEFAULT closemessage - applymovement LOCALID_EXPERT_M, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_DEWFORD_HALL_EXPERT_M, Common_Movement_WalkInPlaceFasterUp waitmovement 0 release end @@ -66,7 +61,7 @@ DewfordTown_Hall_EventScript_Twin:: call Common_EventScript_BufferTrendyPhrase msgbox DewfordTown_Hall_Text_IsTrendMorePopularAcrossSea, MSGBOX_DEFAULT closemessage - applymovement LOCALID_TWIN, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_DEWFORD_HALL_TWIN, Common_Movement_WalkInPlaceFasterUp waitmovement 0 release end @@ -191,7 +186,7 @@ DewfordTown_Hall_EventScript_DontMovePlayer1:: return DewfordTown_Hall_EventScript_DebateReact1:: - applymovement LOCALID_PSYCHIC_M, DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft + applymovement LOCALID_DEWFORD_HALL_PSYCHIC_M, DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft waitmovement 0 goto_if_eq VAR_0x8008, 0, DewfordTown_Hall_EventScript_PlayerReactWest goto_if_eq VAR_0x8008, 1, DewfordTown_Hall_EventScript_DontMovePlayer2 @@ -199,7 +194,7 @@ DewfordTown_Hall_EventScript_DebateReact1:: DewfordTown_Hall_EventScript_PlayerReactWest:: goto_if_eq VAR_FACING, DIR_EAST, DewfordTown_Hall_EventScript_DontMovePlayer1 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return @@ -207,7 +202,7 @@ DewfordTown_Hall_EventScript_DontMovePlayer2:: return DewfordTown_Hall_EventScript_DebateReact2:: - applymovement LOCALID_SCHOOL_KID_M, DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight + applymovement LOCALID_DEWFORD_HALL_SCHOOL_KID_M, DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight waitmovement 0 goto_if_eq VAR_0x8008, 0, DewfordTown_Hall_EventScript_PlayerReactNorthSouth goto_if_eq VAR_0x8008, 1, DewfordTown_Hall_EventScript_PlayerReactEast @@ -219,18 +214,18 @@ DewfordTown_Hall_EventScript_PlayerReactNorthSouth:: return DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return DewfordTown_Hall_EventScript_PlayerReactEast:: goto_if_eq VAR_FACING, DIR_WEST, DewfordTown_Hall_EventScript_DontMovePlayer1 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return diff --git a/data/maps/DewfordTown_PokemonCenter_1F/map.json b/data/maps/DewfordTown_PokemonCenter_1F/map.json index 5e5c7b93e4..4993440839 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DEWFORD_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index 2e144e293b..d6046c06a5 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - DewfordTown_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, DewfordTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ DewfordTown_PokemonCenter_1F_OnTransition: end DewfordTown_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_DEWFORD_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/EverGrandeCity_ChampionsRoom/map.json b/data/maps/EverGrandeCity_ChampionsRoom/map.json index 305a1f16f7..abd9c2e6cf 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/map.json +++ b/data/maps/EverGrandeCity_ChampionsRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_CHAMPIONS_ROOM_WALLACE", "graphics_id": "OBJ_EVENT_GFX_WALLACE", "x": 6, "y": 5, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CHAMPIONS_ROOM_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 6, "y": 12, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_CHAMPIONS_ROOM_RIVAL" }, { + "local_id": "LOCALID_CHAMPIONS_ROOM_BIRCH", "graphics_id": "OBJ_EVENT_GFX_PROF_BIRCH", "x": 6, "y": 12, diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 8f86d74983..54262a9d74 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_WALLACE, 1 -.set LOCALID_RIVAL, 2 -.set LOCALID_BIRCH, 3 - EverGrandeCity_ChampionsRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_ChampionsRoom_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_ChampionsRoom_OnWarp @@ -17,7 +13,7 @@ EverGrandeCity_ChampionsRoom_OnWarp: end_map_script_table EverGrandeCity_ChampionsRoom_EventScript_PlayerTurnNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end EverGrandeCity_ChampionsRoom_OnFrame: @@ -26,10 +22,10 @@ EverGrandeCity_ChampionsRoom_OnFrame: EverGrandeCity_ChampionsRoom_EventScript_EnterRoom:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkUp4 + applymovement LOCALID_PLAYER, Common_Movement_WalkUp4 waitmovement 0 delay 40 - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace + applymovement LOCALID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace waitmovement 0 setvar VAR_TEMP_1, 1 goto EverGrandeCity_ChampionsRoom_EventScript_Wallace @@ -59,7 +55,7 @@ EverGrandeCity_ChampionsRoom_EventScript_Defeated:: checkplayergender call_if_eq VAR_RESULT, MALE, EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic call_if_eq VAR_RESULT, FEMALE, EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic - addobject LOCALID_RIVAL + addobject LOCALID_CHAMPIONS_ROOM_RIVAL call EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer checkplayergender goto_if_eq VAR_RESULT, MALE, EverGrandeCity_ChampionsRoom_EventScript_MayAdvice @@ -78,9 +74,9 @@ EverGrandeCity_ChampionsRoom_EventScript_MayAdvice:: msgbox EverGrandeCity_ChampionsRoom_Text_MayAdvice, MSGBOX_DEFAULT delay 40 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, Common_Movement_Delay48 waitmovement 0 call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth msgbox EverGrandeCity_ChampionsRoom_Text_MayItsAlreadyOver, MSGBOX_DEFAULT @@ -91,9 +87,9 @@ EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice:: msgbox EverGrandeCity_ChampionsRoom_Text_BrendanAdvice, MSGBOX_DEFAULT delay 40 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, Common_Movement_Delay48 waitmovement 0 call EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth msgbox EverGrandeCity_ChampionsRoom_Text_BrendanYouveWon, MSGBOX_DEFAULT @@ -102,37 +98,37 @@ EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice:: EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF:: closemessage - addobject LOCALID_BIRCH - applymovement LOCALID_BIRCH, EverGrandeCity_ChampionsRoom_Movement_BirchArrives + addobject LOCALID_CHAMPIONS_ROOM_BIRCH + applymovement LOCALID_CHAMPIONS_ROOM_BIRCH, EverGrandeCity_ChampionsRoom_Movement_BirchArrives waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_BirchArriveRatePokedex, MSGBOX_DEFAULT call ProfBirch_EventScript_RatePokedex msgbox EverGrandeCity_ChampionsRoom_Text_BirchCongratulations, MSGBOX_DEFAULT - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_CHAMPIONS_ROOM_WALLACE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 20 - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_CHAMPIONS_ROOM_WALLACE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_WallaceComeWithMe, MSGBOX_DEFAULT closemessage delay 30 - applymovement LOCALID_WALLACE, EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterUp - applymovement LOCALID_RIVAL, EverGrandeCity_ChampionsRoom_Movement_RivalFollows + applymovement LOCALID_CHAMPIONS_ROOM_WALLACE, EverGrandeCity_ChampionsRoom_Movement_WallaceExitStart + applymovement LOCALID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExitStart + applymovement LOCALID_CHAMPIONS_ROOM_BIRCH, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, EverGrandeCity_ChampionsRoom_Movement_RivalFollows waitmovement 0 delay 20 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside, MSGBOX_DEFAULT checkplayergender call_if_eq VAR_RESULT, MALE, EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations call_if_eq VAR_RESULT, FEMALE, EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations closemessage - applymovement LOCALID_WALLACE, EverGrandeCity_ChampionsRoom_Movement_WallaceExit - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExit + applymovement LOCALID_CHAMPIONS_ROOM_WALLACE, EverGrandeCity_ChampionsRoom_Movement_WallaceExit + applymovement LOCALID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_PlayerExit waitmovement 0 setflag FLAG_HIDE_PETALBURG_GYM_GREETER warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 7, 16 @@ -149,14 +145,14 @@ EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations:: return EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer:: - applymovement LOCALID_RIVAL, EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, EverGrandeCity_ChampionsRoom_Movement_RivalApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return EverGrandeCity_ChampionsRoom_EventScript_RivalLookBackAndForth:: - applymovement LOCALID_RIVAL, EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth + applymovement LOCALID_CHAMPIONS_ROOM_RIVAL, EverGrandeCity_ChampionsRoom_Movement_RivalLookBackAndForth waitmovement 0 return diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc index e5787974ea..693f0b39b8 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc @@ -10,7 +10,7 @@ EverGrandeCity_DrakesRoom_OnWarp: end_map_script_table EverGrandeCity_DrakesRoom_EventScript_PlayerTurnNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end EverGrandeCity_DrakesRoom_OnFrame: diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc index bf00f8c077..c70e35fb34 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_GlaciasRoom_OnWarp: end_map_script_table EverGrandeCity_GlaciasRoom_EventScript_PlayerTurnNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end EverGrandeCity_GlaciasRoom_OnFrame: diff --git a/data/maps/EverGrandeCity_Hall1/scripts.inc b/data/maps/EverGrandeCity_Hall1/scripts.inc index 362f77518b..89bd11d0d9 100644 --- a/data/maps/EverGrandeCity_Hall1/scripts.inc +++ b/data/maps/EverGrandeCity_Hall1/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall1_OnWarp: end_map_script_table EverGrandeCity_Hall1_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall2/scripts.inc b/data/maps/EverGrandeCity_Hall2/scripts.inc index 8decfb4d1c..ba1fb34f71 100644 --- a/data/maps/EverGrandeCity_Hall2/scripts.inc +++ b/data/maps/EverGrandeCity_Hall2/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall2_OnWarp: end_map_script_table EverGrandeCity_Hall2_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall3/scripts.inc b/data/maps/EverGrandeCity_Hall3/scripts.inc index a05090ea58..7523371178 100644 --- a/data/maps/EverGrandeCity_Hall3/scripts.inc +++ b/data/maps/EverGrandeCity_Hall3/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall3_OnWarp: end_map_script_table EverGrandeCity_Hall3_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall4/scripts.inc b/data/maps/EverGrandeCity_Hall4/scripts.inc index 34777731ee..032a0b8bca 100644 --- a/data/maps/EverGrandeCity_Hall4/scripts.inc +++ b/data/maps/EverGrandeCity_Hall4/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall4_OnWarp: end_map_script_table EverGrandeCity_Hall4_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall5/scripts.inc b/data/maps/EverGrandeCity_Hall5/scripts.inc index b09423da4b..0ab8e67472 100644 --- a/data/maps/EverGrandeCity_Hall5/scripts.inc +++ b/data/maps/EverGrandeCity_Hall5/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall5_OnWarp: end_map_script_table EverGrandeCity_Hall5_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_HallOfFame/map.json b/data/maps/EverGrandeCity_HallOfFame/map.json index 82219dfd43..5f3f30c27d 100644 --- a/data/maps/EverGrandeCity_HallOfFame/map.json +++ b/data/maps/EverGrandeCity_HallOfFame/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_HALL_OF_FAME_WALLACE", "graphics_id": "OBJ_EVENT_GFX_WALLACE", "x": 6, "y": 16, diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 3183279815..0b2cc37b98 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WALLACE, 1 - EverGrandeCity_HallOfFame_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, EverGrandeCity_HallOfFame_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, EverGrandeCity_HallOfFame_OnWarp @@ -10,7 +8,7 @@ EverGrandeCity_HallOfFame_OnWarp: end_map_script_table EverGrandeCity_HallOfFame_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end EverGrandeCity_HallOfFame_OnFrame: @@ -19,25 +17,25 @@ EverGrandeCity_HallOfFame_OnFrame: EverGrandeCity_HallOfFame_EventScript_EnterHallOfFame:: lockall - applymovement LOCALID_WALLACE, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1 - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1 + applymovement LOCALID_HALL_OF_FAME_WALLACE, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1 + applymovement LOCALID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame1 waitmovement 0 - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_HALL_OF_FAME_WALLACE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_HereWeHonorLeagueChampions, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WALLACE, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2 - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2 + applymovement LOCALID_HALL_OF_FAME_WALLACE, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2 + applymovement LOCALID_PLAYER, EverGrandeCity_HallOfFame_Movement_WalkIntoHallOfFame2 waitmovement 0 delay 20 - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_HALL_OF_FAME_WALLACE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox EverGrandeCity_HallOfFame_Text_LetsRecordYouAndYourPartnersNames, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterUp - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_HALL_OF_FAME_WALLACE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 20 dofieldeffect FLDEFF_HALL_OF_FAME_RECORD diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc index ab3dc51656..10b83161f4 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_PhoebesRoom_OnWarp: end_map_script_table EverGrandeCity_PhoebesRoom_EventScript_PlayerTurnNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end EverGrandeCity_PhoebesRoom_OnFrame: diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json index a146dc11a2..b74207871d 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_EVER_GRANDE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, @@ -54,6 +55,7 @@ "flag": "0" }, { + "local_id": "LOCALID_EVER_GRANDE_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 9, "y": 4, diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index dcd246714d..16d8b83138 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_NURSE, 1 -.set LOCALID_SCOTT, 4 - EverGrandeCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -17,7 +14,7 @@ EverGrandeCity_PokemonCenter_1F_EventScript_TryShowScott:: return EverGrandeCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_EVER_GRANDE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress @@ -44,17 +41,17 @@ EverGrandeCity_PokemonCenter_1F_EventScript_Scott:: setflag FLAG_MET_SCOTT_IN_EVERGRANDE playse SE_EXIT waitse - removeobject LOCALID_SCOTT + removeobject LOCALID_EVER_GRANDE_SCOTT release end EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth:: - applymovement LOCALID_SCOTT, EverGrandeCity_PokemonCenter_1F_Movement_ScottExitNorth + applymovement LOCALID_EVER_GRANDE_SCOTT, EverGrandeCity_PokemonCenter_1F_Movement_ScottExitNorth waitmovement 0 return EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit:: - applymovement LOCALID_SCOTT, EverGrandeCity_PokemonCenter_1F_Movement_ScottExit + applymovement LOCALID_EVER_GRANDE_SCOTT, EverGrandeCity_PokemonCenter_1F_Movement_ScottExit waitmovement 0 return diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json index 6dd97c0b72..e599b815b6 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_LEAGUE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 3, "y": 2, @@ -41,6 +42,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LEAGUE_GUARD_1", "graphics_id": "OBJ_EVENT_GFX_MAN_3", "x": 8, "y": 2, @@ -54,6 +56,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LEAGUE_GUARD_2", "graphics_id": "OBJ_EVENT_GFX_MAN_3", "x": 11, "y": 2, diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index 5c05ce836d..e6ea2e1a9a 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_NURSE, 1 -.set LOCALID_GUARD_1, 3 -.set LOCALID_GUARD_2, 4 - EverGrandeCity_PokemonLeague_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, EverGrandeCity_PokemonLeague_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -14,12 +10,12 @@ EverGrandeCity_PokemonLeague_1F_OnTransition: end EverGrandeCity_PokemonLeague_1F_EventScript_GuardsBlockDoor:: - setobjectxyperm LOCALID_GUARD_1, 9, 2 - setobjectxyperm LOCALID_GUARD_2, 10, 2 + setobjectxyperm LOCALID_LEAGUE_GUARD_1, 9, 2 + setobjectxyperm LOCALID_LEAGUE_GUARD_2, 10, 2 return EverGrandeCity_PokemonLeague_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_LEAGUE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress @@ -45,9 +41,7 @@ EverGrandeCity_PokemonLeague_1F_Pokemart: .2byte ITEM_FULL_HEAL .2byte ITEM_REVIVE .2byte ITEM_MAX_REPEL - .2byte ITEM_NONE - release - end + pokemartlistend @ The door guards only check for FLAG_BADGE06_GET because Winonas badge is the only one that can be skipped @ Its assumed the player has the remaining badges @@ -62,8 +56,8 @@ EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard:: delay 120 goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_NotAllBadges closemessage - applymovement LOCALID_GUARD_1, EverGrandeCity_PokemonLeague_1F_Movement_LeftGuardOutOfWay - applymovement LOCALID_GUARD_2, EverGrandeCity_PokemonLeague_1F_Movement_RightGuardOutOfWay + applymovement LOCALID_LEAGUE_GUARD_1, EverGrandeCity_PokemonLeague_1F_Movement_LeftGuardOutOfWay + applymovement LOCALID_LEAGUE_GUARD_2, EverGrandeCity_PokemonLeague_1F_Movement_RightGuardOutOfWay waitmovement 0 delay 10 playfanfare MUS_OBTAIN_BADGE @@ -71,19 +65,19 @@ EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard:: waitmessage waitfanfare closemessage - copyobjectxytoperm LOCALID_GUARD_1 - copyobjectxytoperm LOCALID_GUARD_2 + copyobjectxytoperm LOCALID_LEAGUE_GUARD_1 + copyobjectxytoperm LOCALID_LEAGUE_GUARD_2 setflag FLAG_ENTERED_ELITE_FOUR releaseall end EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight:: - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromRight + applymovement LOCALID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromRight waitmovement 0 return EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft:: - applymovement OBJ_EVENT_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromLeft + applymovement LOCALID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_MoveToFrontFromLeft waitmovement 0 return diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index 2e04dbbbb8..be97dafd1b 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -28,7 +28,7 @@ EverGrandeCity_SidneysRoom_OnWarp: end_map_script_table EverGrandeCity_SidneysRoom_EventScript_PlayerTurnNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end EverGrandeCity_SidneysRoom_OnFrame: diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/map.json b/data/maps/FallarborTown_BattleTentBattleRoom/map.json index 7b702dc0e5..a03588eca6 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/map.json +++ b/data/maps/FallarborTown_BattleTentBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FALLARBOR_TENT_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 4, "y": 8, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 3, "y": 2, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FALLARBOR_TENT_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 5, "y": 1, diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc index c3de569488..bc3d1014bc 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc @@ -1,17 +1,13 @@ -.set LOCALID_PLAYER, 1 -.set LOCALID_ATTENDANT, 2 -.set LOCALID_OPPONENT, 3 - +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_FALLARBOR_TENT_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_1. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by tower_setopponent. FallarborTown_BattleTentBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_BattleTentBattleRoom_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentBattleRoom_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentBattleRoom_OnWarp end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1 - @ The opponent is represented by object event 3, which has the gfx id VAR_OBJ_GFX_ID_0 - FallarborTown_BattleTentBattleRoom_OnTransition: call FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfx end @@ -38,17 +34,17 @@ FallarborTown_BattleTentBattleRoom_OnFrame: FallarborTown_BattleTentBattleRoom_EventScript_EnterRoom:: lockall - showobjectat LOCALID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM - applymovement LOCALID_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter + showobjectat LOCALID_FALLARBOR_TENT_BATTLE_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + applymovement LOCALID_FALLARBOR_TENT_BATTLE_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter waitmovement 0 frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_ne VAR_RESULT, 0, FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: tower_setopponent - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, FallarborTown_BattleTentBattleRoom_Movement_OpponentEnter + addobject LOCALID_FALLARBOR_TENT_BATTLE_OPPONENT + applymovement LOCALID_FALLARBOR_TENT_BATTLE_OPPONENT, FallarborTown_BattleTentBattleRoom_Movement_OpponentEnter waitmovement 0 - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump + applymovement LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump playse SE_M_BELLY_DRUM waitse waitmovement 0 @@ -59,7 +55,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: call BattleFrontier_BattleArenaBattleRoom_EventScript_DoArenaBattle switch VAR_RESULT case 1, FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump + applymovement LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump playse SE_M_SNORE waitse waitmovement 0 @@ -72,7 +68,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost:: waitstate FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent:: - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump + applymovement LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantJump playse SE_BANG waitse waitmovement 0 @@ -84,12 +80,12 @@ FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum:: frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT case 3, FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon - applymovement LOCALID_OPPONENT, FallarborTown_BattleTentBattleRoom_Movement_OpponentExit + applymovement LOCALID_FALLARBOR_TENT_BATTLE_OPPONENT, FallarborTown_BattleTentBattleRoom_Movement_OpponentExit waitmovement 0 - removeobject LOCALID_OPPONENT - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer + removeobject LOCALID_FALLARBOR_TENT_BATTLE_OPPONENT + applymovement LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement LOCALID_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant + applymovement LOCALID_FALLARBOR_TENT_BATTLE_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 msgbox BattleFrontier_BattleArenaBattleRoom_Text_MonsWillBeRestored, MSGBOX_DEFAULT special LoadPlayerParty @@ -126,9 +122,9 @@ FallarborTown_BattleTentBattleRoom_EventScript_AskRetireChallenge:: FallarborTown_BattleTentBattleRoom_EventScript_ContinueChallenge:: closemessage - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantReturnToPos + applymovement LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantReturnToPos waitmovement 0 - applymovement LOCALID_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceBattle + applymovement LOCALID_FALLARBOR_TENT_BATTLE_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceBattle waitmovement 0 goto FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter waitstate @@ -168,9 +164,9 @@ FallarborTown_BattleTentBattleRoom_EventScript_PauseChallenge:: end FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge:: - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer + applymovement LOCALID_FALLARBOR_TENT_BATTLE_ATTENDANT, FallarborTown_BattleTentBattleRoom_Movement_AttendantApproachPlayer waitmovement 0 - applymovement LOCALID_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant + applymovement LOCALID_FALLARBOR_TENT_BATTLE_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerFaceAttendant waitmovement 0 goto FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge end @@ -234,9 +230,9 @@ FallarborTown_BattleTentBattleRoom_OnWarp: end_map_script_table FallarborTown_BattleTentBattleRoom_EventScript_SetUpObjects:: - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM hideobjectat LOCALID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM - removeobject LOCALID_OPPONENT + hideobjectat LOCALID_FALLARBOR_TENT_BATTLE_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + removeobject LOCALID_FALLARBOR_TENT_BATTLE_OPPONENT setvar VAR_TEMP_1, 1 end diff --git a/data/maps/FallarborTown_BattleTentCorridor/map.json b/data/maps/FallarborTown_BattleTentCorridor/map.json index c086a32880..111889fe07 100644 --- a/data/maps/FallarborTown_BattleTentCorridor/map.json +++ b/data/maps/FallarborTown_BattleTentCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FALLARBOR_TENT_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 2, "y": 6, diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc index 6a5032ecbc..dda0fdde73 100644 --- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc +++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - FallarborTown_BattleTentCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentCorridor_OnFrame end_map_scripts @@ -11,13 +9,13 @@ FallarborTown_BattleTentCorridor_OnFrame: FallarborTown_BattleTentCorridor_EventScript_EnterCorridor:: lockall setvar VAR_TEMP_0, 1 - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentCorridor_Movement_WalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_WalkToDoor + applymovement LOCALID_FALLARBOR_TENT_CORRIDOR_ATTENDANT, FallarborTown_BattleTentCorridor_Movement_WalkToDoor + applymovement LOCALID_PLAYER, FallarborTown_BattleTentCorridor_Movement_WalkToDoor waitmovement 0 opendoor 2, 1 waitdooranim - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentCorridor_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_PlayerEnterDoor + applymovement LOCALID_FALLARBOR_TENT_CORRIDOR_ATTENDANT, FallarborTown_BattleTentCorridor_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, FallarborTown_BattleTentCorridor_Movement_PlayerEnterDoor waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/FallarborTown_BattleTentLobby/map.json b/data/maps/FallarborTown_BattleTentLobby/map.json index b8f274df31..16a0b81dfa 100644 --- a/data/maps/FallarborTown_BattleTentLobby/map.json +++ b/data/maps/FallarborTown_BattleTentLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FALLARBOR_TENT_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 6, "y": 5, diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index aa0346582e..8bbf5978af 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - FallarborTown_BattleTentLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentLobby_OnWarp @@ -11,7 +9,7 @@ FallarborTown_BattleTentLobby_OnWarp: FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end FallarborTown_BattleTentLobby_OnFrame: @@ -191,13 +189,13 @@ FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge:: end FallarborTown_BattleTentLobby_EventScript_WalkToDoor:: - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor + applymovement LOCALID_FALLARBOR_TENT_ATTENDANT, FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor + applymovement LOCALID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor waitmovement 0 opendoor 6, 1 waitdooranim - applymovement LOCALID_ATTENDANT, FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor + applymovement LOCALID_FALLARBOR_TENT_ATTENDANT, FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 6, 1 waitdooranim diff --git a/data/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json index c72605a36d..b4e4560577 100644 --- a/data/maps/FallarborTown_Mart/map.json +++ b/data/maps/FallarborTown_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FALLARBOR_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/FallarborTown_Mart/scripts.inc b/data/maps/FallarborTown_Mart/scripts.inc index be92c3ddcb..917c8457b5 100644 --- a/data/maps/FallarborTown_Mart/scripts.inc +++ b/data/maps/FallarborTown_Mart/scripts.inc @@ -25,9 +25,7 @@ FallarborTown_Mart_Pokemart: .2byte ITEM_X_DEFEND .2byte ITEM_DIRE_HIT .2byte ITEM_GUARD_SPEC - .2byte ITEM_NONE - release - end + pokemartlistend FallarborTown_Mart_EventScript_Woman:: msgbox FallarborTown_Mart_Text_DecidingSkittyEvolve, MSGBOX_NPC diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/map.json b/data/maps/FallarborTown_MoveRelearnersHouse/map.json index 9479677200..9cde3440cb 100644 --- a/data/maps/FallarborTown_MoveRelearnersHouse/map.json +++ b/data/maps/FallarborTown_MoveRelearnersHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MOVE_RELEARNER", "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 4, "y": 4, diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc index 7739a1c8dd..13ae9b4b27 100644 --- a/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc +++ b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_MOVE_RELEARNER, 1 - FallarborTown_MoveRelearnersHouse_MapScripts:: end_map_scripts diff --git a/data/maps/FallarborTown_PokemonCenter_1F/map.json b/data/maps/FallarborTown_PokemonCenter_1F/map.json index 93204a215a..b3ca4a253e 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FALLARBOR_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, @@ -54,6 +55,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FALLARBOR_LANETTE", "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 10, "y": 2, @@ -64,7 +66,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "FallarborTown_PokemonCenter_1F_EventScript_Lanette", - "flag": "FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE" + "flag": "FLAG_HIDE_FALLARBOR_POKEMON_CENTER_LANETTE" } ], "warp_events": [ diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index b61edc8af7..6e769fa229 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_NURSE, 1 -.set LOCALID_LANETTE, 4 - FallarborTown_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, FallarborTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -12,7 +9,7 @@ FallarborTown_PokemonCenter_1F_OnTransition: end FallarborTown_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_FALLARBOR_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress @@ -38,20 +35,20 @@ FallarborTown_PokemonCenter_1F_EventScript_Lanette:: end FallarborTown_PokemonCenter_1F_EventScript_LanetteExitNorth:: - applymovement LOCALID_LANETTE, FallarborTown_PokemonCenter_1F_Movement_LanetteExitNorth + applymovement LOCALID_FALLARBOR_LANETTE, FallarborTown_PokemonCenter_1F_Movement_LanetteExitNorth waitmovement 0 goto FallarborTown_PokemonCenter_1F_EventScript_LanetteExited end FallarborTown_PokemonCenter_1F_EventScript_LanetteExitWest:: - applymovement LOCALID_LANETTE, FallarborTown_PokemonCenter_1F_Movement_LanetteExitWest + applymovement LOCALID_FALLARBOR_LANETTE, FallarborTown_PokemonCenter_1F_Movement_LanetteExitWest waitmovement 0 goto FallarborTown_PokemonCenter_1F_EventScript_LanetteExited end FallarborTown_PokemonCenter_1F_EventScript_LanetteExited:: playse SE_SLIDING_DOOR - removeobject LOCALID_LANETTE + removeobject LOCALID_FALLARBOR_LANETTE clearflag FLAG_HIDE_LANETTES_HOUSE_LANETTE release end diff --git a/data/maps/FarawayIsland_Entrance/map.json b/data/maps/FarawayIsland_Entrance/map.json index bd42f12953..bf3ea1d863 100644 --- a/data/maps/FarawayIsland_Entrance/map.json +++ b/data/maps/FarawayIsland_Entrance/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FARAWAY_ISLAND_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 13, "y": 39, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FARAWAY_ISLAND_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 13, "y": 41, diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc index 3f38aff73c..863dd513b5 100644 --- a/data/maps/FarawayIsland_Entrance/scripts.inc +++ b/data/maps/FarawayIsland_Entrance/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_SAILOR, 1 -.set LOCALID_SS_TIDAL, 2 - FarawayIsland_Entrance_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Entrance_OnTransition end_map_scripts @@ -29,8 +26,8 @@ FarawayIsland_Entrance_EventScript_Sailor:: applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 - hideobjectat LOCALID_SAILOR, MAP_FARAWAY_ISLAND_ENTRANCE - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_FARAWAY_ISLAND_SAILOR, MAP_FARAWAY_ISLAND_ENTRANCE + setvar VAR_0x8004, LOCALID_FARAWAY_ISLAND_SS_TIDAL call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 8, 11 waitstate diff --git a/data/maps/FarawayIsland_Interior/map.json b/data/maps/FarawayIsland_Interior/map.json index 14850995ca..53be2ae914 100644 --- a/data/maps/FarawayIsland_Interior/map.json +++ b/data/maps/FarawayIsland_Interior/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FARAWAY_ISLAND_MEW", "graphics_id": "OBJ_EVENT_GFX_MEW", "x": 13, "y": 17, diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index 81760e3e8f..8880b333af 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -1,5 +1,3 @@ -@ Note: LOCALID_FARAWAY_ISLAND_MEW is a local id for this map used elsewhere. It's defined in event_objects.h - FarawayIsland_Interior_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, FarawayIsland_Interior_OnResume map_script MAP_SCRIPT_ON_TRANSITION, FarawayIsland_Interior_OnTransition diff --git a/data/maps/FortreeCity_DecorationShop/scripts.inc b/data/maps/FortreeCity_DecorationShop/scripts.inc index 26ce2a52a8..43c101e592 100644 --- a/data/maps/FortreeCity_DecorationShop/scripts.inc +++ b/data/maps/FortreeCity_DecorationShop/scripts.inc @@ -29,9 +29,7 @@ FortreeCity_DecorationShop_PokemartDecor_Desks: .2byte DECOR_BRICK_DESK .2byte DECOR_CAMP_DESK .2byte DECOR_HARD_DESK - .2byte DECOR_NONE - release - end + pokemartlistend FortreeCity_DecorationShop_EventScript_ClerkChairs:: lock @@ -53,9 +51,7 @@ FortreeCity_DecorationShop_PokemartDecor_Chairs: .2byte DECOR_BRICK_CHAIR .2byte DECOR_CAMP_CHAIR .2byte DECOR_HARD_CHAIR - .2byte DECOR_NONE - release - end + pokemartlistend FortreeCity_DecorationShop_Text_MerchandiseSentToPC: .string "Merchandise you buy here is sent to\n" diff --git a/data/maps/FortreeCity_House4/map.json b/data/maps/FortreeCity_House4/map.json index 8123d2c4d7..778f0d7465 100644 --- a/data/maps/FortreeCity_House4/map.json +++ b/data/maps/FortreeCity_House4/map.json @@ -41,6 +41,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FORTREE_HOUSE_WINGULL", "graphics_id": "OBJ_EVENT_GFX_WINGULL", "x": 2, "y": 3, diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc index 3e9fdc4c4d..07634e9ab5 100644 --- a/data/maps/FortreeCity_House4/scripts.inc +++ b/data/maps/FortreeCity_House4/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WINGULL, 3 - FortreeCity_House4_MapScripts:: end_map_scripts @@ -16,9 +14,9 @@ FortreeCity_House4_EventScript_Boy:: closemessage setflag FLAG_WINGULL_SENT_ON_ERRAND clearflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL - applymovement LOCALID_WINGULL, FortreeCity_House4_Movement_WingullExit + applymovement LOCALID_FORTREE_HOUSE_WINGULL, FortreeCity_House4_Movement_WingullExit waitmovement 0 - removeobject LOCALID_WINGULL + removeobject LOCALID_FORTREE_HOUSE_WINGULL releaseall end diff --git a/data/maps/FortreeCity_Mart/map.json b/data/maps/FortreeCity_Mart/map.json index 27a82e69f3..8620c47863 100644 --- a/data/maps/FortreeCity_Mart/map.json +++ b/data/maps/FortreeCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FORTREE_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/FortreeCity_Mart/scripts.inc b/data/maps/FortreeCity_Mart/scripts.inc index 286602611b..7b80edb027 100644 --- a/data/maps/FortreeCity_Mart/scripts.inc +++ b/data/maps/FortreeCity_Mart/scripts.inc @@ -23,9 +23,7 @@ FortreeCity_Mart_Pokemart: .2byte ITEM_REVIVE .2byte ITEM_SUPER_REPEL .2byte ITEM_WOOD_MAIL - .2byte ITEM_NONE - release - end + pokemartlistend FortreeCity_Mart_EventScript_Woman:: msgbox FortreeCity_Mart_Text_SuperRepelBetter, MSGBOX_NPC diff --git a/data/maps/FortreeCity_PokemonCenter_1F/map.json b/data/maps/FortreeCity_PokemonCenter_1F/map.json index e28907ad4b..6b64978d15 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FORTREE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index 5ca69277c9..7c401ba993 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - FortreeCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, FortreeCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -10,7 +8,7 @@ FortreeCity_PokemonCenter_1F_OnTransition: end FortreeCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_FORTREE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/GraniteCave_StevensRoom/map.json b/data/maps/GraniteCave_StevensRoom/map.json index 280af56c81..9529a999e2 100644 --- a/data/maps/GraniteCave_StevensRoom/map.json +++ b/data/maps/GraniteCave_StevensRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_GRANITE_CAVE_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 7, "y": 8, diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc index da74cd3f87..4a84711522 100644 --- a/data/maps/GraniteCave_StevensRoom/scripts.inc +++ b/data/maps/GraniteCave_StevensRoom/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_STEVEN, 1 - GraniteCave_StevensRoom_MapScripts:: end_map_scripts @@ -29,24 +27,24 @@ GraniteCave_StevensRoom_EventScript_Steven:: call_if_eq VAR_FACING, DIR_WEST, GraniteCave_StevensRoom_EventScript_StevenExitWestEast call_if_eq VAR_FACING, DIR_EAST, GraniteCave_StevensRoom_EventScript_StevenExitWestEast playse SE_EXIT - removeobject LOCALID_STEVEN + removeobject LOCALID_GRANITE_CAVE_STEVEN release end GraniteCave_StevensRoom_EventScript_StevenExitNorth:: - applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenExit + applymovement LOCALID_GRANITE_CAVE_STEVEN, GraniteCave_StevensRoom_Movement_StevenExit waitmovement 0 return GraniteCave_StevensRoom_EventScript_StevenExitWestEast:: - applymovement OBJ_EVENT_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit - applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenExit + applymovement LOCALID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit + applymovement LOCALID_GRANITE_CAVE_STEVEN, GraniteCave_StevensRoom_Movement_StevenExit waitmovement 0 return GraniteCave_StevensRoom_EventScript_StevenExitSouth:: - applymovement OBJ_EVENT_ID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit - applymovement LOCALID_STEVEN, GraniteCave_StevensRoom_Movement_StevenExitSouth + applymovement LOCALID_PLAYER, GraniteCave_StevensRoom_Movement_PlayerTurnTowardExit + applymovement LOCALID_GRANITE_CAVE_STEVEN, GraniteCave_StevensRoom_Movement_StevenExitSouth waitmovement 0 return diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json index 4b027853ad..f767ddf43f 100644 --- a/data/maps/InsideOfTruck/map.json +++ b/data/maps/InsideOfTruck/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TRUCK_BOX_TOP", "graphics_id": "OBJ_EVENT_GFX_MOVING_BOX", "x": 0, "y": 0, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRUCK_BOX_BOTTOM_L", "graphics_id": "OBJ_EVENT_GFX_MOVING_BOX", "x": 0, "y": 3, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRUCK_BOX_BOTTOM_R", "graphics_id": "OBJ_EVENT_GFX_MOVING_BOX", "x": 2, "y": 3, diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json index ba4cdf3e0e..59d0663574 100644 --- a/data/maps/JaggedPass/map.json +++ b/data/maps/JaggedPass/map.json @@ -67,6 +67,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_GUARD", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 16, "y": 19, diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc index 6f08db61c7..5adb9787db 100644 --- a/data/maps/JaggedPass/scripts.inc +++ b/data/maps/JaggedPass/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_HIDEOUT_GUARD, 5 - JaggedPass_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, JaggedPass_OnResume map_script MAP_SCRIPT_ON_TRANSITION, JaggedPass_OnTransition @@ -69,27 +67,27 @@ JaggedPass_EventScript_MagmaHideoutGuard:: goto_if_set FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS, JaggedPass_EventScript_GuardDefeated waitse playse SE_PIN - applymovement LOCALID_HIDEOUT_GUARD, Common_Movement_ExclamationMark + applymovement LOCALID_MAGMA_HIDEOUT_GUARD, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_HIDEOUT_GUARD, Common_Movement_Delay48 + applymovement LOCALID_MAGMA_HIDEOUT_GUARD, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_HIDEOUT_GUARD, Common_Movement_FacePlayer + applymovement LOCALID_MAGMA_HIDEOUT_GUARD, Common_Movement_FacePlayer waitmovement 0 msgbox JaggedPass_Text_GruntIntro, MSGBOX_DEFAULT closemessage trainerbattle_no_intro TRAINER_GRUNT_JAGGED_PASS, JaggedPass_Text_GruntDefeat setflag FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS - applymovement LOCALID_HIDEOUT_GUARD, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MAGMA_HIDEOUT_GUARD, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end JaggedPass_EventScript_GuardDefeated:: - applymovement LOCALID_HIDEOUT_GUARD, Common_Movement_FacePlayer + applymovement LOCALID_MAGMA_HIDEOUT_GUARD, Common_Movement_FacePlayer waitmovement 0 msgbox JaggedPass_Text_GoWhereverYouWant, MSGBOX_DEFAULT closemessage - applymovement LOCALID_HIDEOUT_GUARD, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MAGMA_HIDEOUT_GUARD, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end diff --git a/data/maps/LavaridgeTown/map.json b/data/maps/LavaridgeTown/map.json index ecf7c5b9f1..1009c8c9d9 100644 --- a/data/maps/LavaridgeTown/map.json +++ b/data/maps/LavaridgeTown/map.json @@ -99,6 +99,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LAVARIDGE_RIVAL_ON_BIKE", "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 6, "y": 16, @@ -112,6 +113,7 @@ "flag": "FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE" }, { + "local_id": "LOCALID_LAVARIDGE_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 12, "y": 15, diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index 4d1950867f..12163fb32a 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_RIVAL_ON_BIKE, 7 -.set LOCALID_RIVAL, 8 - LavaridgeTown_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, LavaridgeTown_OnFrame @@ -26,9 +23,9 @@ LavaridgeTown_EventScript_CheckSetRivalPos:: return LavaridgeTown_EventScript_SetRivalPos:: - setobjectxyperm LOCALID_RIVAL, 11, 9 - setobjectxyperm LOCALID_RIVAL_ON_BIKE, 9, 8 - setobjectmovementtype LOCALID_RIVAL_ON_BIKE, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_LAVARIDGE_RIVAL, 11, 9 + setobjectxyperm LOCALID_LAVARIDGE_RIVAL_ON_BIKE, 9, 8 + setobjectmovementtype LOCALID_LAVARIDGE_RIVAL_ON_BIKE, MOVEMENT_TYPE_FACE_UP clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL return @@ -78,12 +75,12 @@ LavaridgeTown_EventScript_BrendanGiveGoGoggles:: LavaridgeTown_EventScript_RivalExit:: closemessage - removeobject LOCALID_RIVAL - addobject LOCALID_RIVAL_ON_BIKE + removeobject LOCALID_LAVARIDGE_RIVAL + addobject LOCALID_LAVARIDGE_RIVAL_ON_BIKE delay 30 call_if_eq VAR_0x8008, 9, LavaridgeTown_EventScript_RivalExit1 call_if_ne VAR_0x8008, 9, LavaridgeTown_EventScript_RivalExit2 - removeobject LOCALID_RIVAL_ON_BIKE + removeobject LOCALID_LAVARIDGE_RIVAL_ON_BIKE setvar VAR_LAVARIDGE_TOWN_STATE, 2 clearflag FLAG_HIDE_MAP_NAME_POPUP savebgm MUS_DUMMY @@ -100,52 +97,52 @@ LavaridgeTown_EventScript_PlayBrendanMusic:: return LavaridgeTown_EventScript_RivalNoticePlayer:: - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_LAVARIDGE_RIVAL, Common_Movement_WalkInPlaceFasterUp waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_LAVARIDGE_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_LAVARIDGE_RIVAL, Common_Movement_Delay48 waitmovement 0 return LavaridgeTown_EventScript_RivalExitHerbShop:: opendoor 12, 15 waitdooranim - addobject LOCALID_RIVAL - applymovement LOCALID_RIVAL, LavaridgeTown_Movement_RivalExitHerbShop + addobject LOCALID_LAVARIDGE_RIVAL + applymovement LOCALID_LAVARIDGE_RIVAL, LavaridgeTown_Movement_RivalExitHerbShop waitmovement 0 closedoor 12, 15 waitdooranim - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_LAVARIDGE_RIVAL, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_LAVARIDGE_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_LAVARIDGE_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return LavaridgeTown_EventScript_RivalApproachPlayer1:: - applymovement LOCALID_RIVAL, LavaridgeTown_Movement_RivalApproachPlayer1 + applymovement LOCALID_LAVARIDGE_RIVAL, LavaridgeTown_Movement_RivalApproachPlayer1 waitmovement 0 return LavaridgeTown_EventScript_RivalApproachPlayer2:: - applymovement LOCALID_RIVAL, LavaridgeTown_Movement_RivalApproachPlayer2 + applymovement LOCALID_LAVARIDGE_RIVAL, LavaridgeTown_Movement_RivalApproachPlayer2 waitmovement 0 return LavaridgeTown_EventScript_RivalExit1:: - applymovement OBJ_EVENT_ID_PLAYER, LavaridgeTown_Movement_PlayerWatchRivalExit - applymovement LOCALID_RIVAL_ON_BIKE, LavaridgeTown_Movement_RivalExit1 + applymovement LOCALID_PLAYER, LavaridgeTown_Movement_PlayerWatchRivalExit + applymovement LOCALID_LAVARIDGE_RIVAL_ON_BIKE, LavaridgeTown_Movement_RivalExit1 waitmovement 0 return LavaridgeTown_EventScript_RivalExit2:: - applymovement LOCALID_RIVAL_ON_BIKE, LavaridgeTown_Movement_RivalExit2 + applymovement LOCALID_LAVARIDGE_RIVAL_ON_BIKE, LavaridgeTown_Movement_RivalExit2 waitmovement 0 return diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json index dc30c6ea9c..5dc1ebeaa3 100644 --- a/data/maps/LavaridgeTown_Gym_1F/map.json +++ b/data/maps/LavaridgeTown_Gym_1F/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_COLE", "graphics_id": "OBJ_EVENT_GFX_MAN_5", "x": 3, "y": 14, @@ -41,6 +42,7 @@ "flag": "0" }, { + "local_id": "LOCALID_GERALD", "graphics_id": "OBJ_EVENT_GFX_MAN_3", "x": 2, "y": 15, @@ -54,6 +56,7 @@ "flag": "0" }, { + "local_id": "LOCALID_AXLE", "graphics_id": "OBJ_EVENT_GFX_MAN_5", "x": 3, "y": 10, @@ -67,6 +70,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DANIELLE", "graphics_id": "OBJ_EVENT_GFX_GIRL_3", "x": 5, "y": 2, diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index e7d2514068..d660b42368 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_COLE, 2 -.set LOCALID_GERALD, 3 -.set LOCALID_AXLE, 4 -.set LOCALID_DANIELLE, 5 - LavaridgeTown_Gym_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_Gym_1F_OnTransition end_map_scripts diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json index b90802b173..b7f29174c4 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/map.json +++ b/data/maps/LavaridgeTown_Gym_B1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_JACE", "graphics_id": "OBJ_EVENT_GFX_MAN_5", "x": 4, "y": 18, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_KEEGAN", "graphics_id": "OBJ_EVENT_GFX_MAN_5", "x": 3, "y": 6, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_JEFF", "graphics_id": "OBJ_EVENT_GFX_MAN_5", "x": 13, "y": 17, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ELI", "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 4, "y": 16, diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc index e8a01522cb..6a9d549125 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc @@ -1,8 +1,3 @@ -.equ LOCALID_JACE, 1 -.equ LOCALID_KEEGAN, 2 -.equ LOCALID_JEFF, 3 -.equ LOCALID_ELI, 4 - LavaridgeTown_Gym_B1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_Gym_B1F_OnTransition end_map_scripts diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc index fb6d67861c..58318914d9 100644 --- a/data/maps/LavaridgeTown_HerbShop/scripts.inc +++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc @@ -17,9 +17,7 @@ LavaridgeTown_HerbShop_Pokemart: .2byte ITEM_ENERGY_ROOT .2byte ITEM_HEAL_POWDER .2byte ITEM_REVIVAL_HERB - .2byte ITEM_NONE - release - end + pokemartlistend LavaridgeTown_HerbShop_EventScript_ExpertM:: msgbox LavaridgeTown_HerbShop_Text_HerbalMedicineWorksButMonWillDislike, MSGBOX_NPC diff --git a/data/maps/LavaridgeTown_Mart/map.json b/data/maps/LavaridgeTown_Mart/map.json index 82078a3827..0105c0d560 100644 --- a/data/maps/LavaridgeTown_Mart/map.json +++ b/data/maps/LavaridgeTown_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_LAVARIDGE_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/LavaridgeTown_Mart/scripts.inc b/data/maps/LavaridgeTown_Mart/scripts.inc index 2732d1ab2c..75f8ddf5a3 100644 --- a/data/maps/LavaridgeTown_Mart/scripts.inc +++ b/data/maps/LavaridgeTown_Mart/scripts.inc @@ -22,9 +22,7 @@ LavaridgeTown_Mart_Pokemart: .2byte ITEM_REVIVE .2byte ITEM_SUPER_REPEL .2byte ITEM_X_SPEED - .2byte ITEM_NONE - release - end + pokemartlistend LavaridgeTown_Mart_EventScript_ExpertM:: msgbox LavaridgeTown_Mart_Text_XSpeedFirstStrike, MSGBOX_NPC diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json index 8cbeae0923..2d9372d1d1 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_LAVARIDGE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 0a8108172e..7dd31d0958 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - LavaridgeTown_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LavaridgeTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ LavaridgeTown_PokemonCenter_1F_OnTransition: end LavaridgeTown_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_LAVARIDGE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json index 398cf219ea..2eff099ab9 100644 --- a/data/maps/LilycoveCity/map.json +++ b/data/maps/LilycoveCity/map.json @@ -260,6 +260,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LILYCOVE_WOMAN_1", "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 41, "y": 25, @@ -273,6 +274,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LILYCOVE_MAN_1", "graphics_id": "OBJ_EVENT_GFX_MAN_2", "x": 40, "y": 25, diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 30d3d3b3d6..b2f84d1d63 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_WOMAN_1, 19 -.set LOCALID_MAN_1, 20 - LilycoveCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_OnTransition map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_OnLoad @@ -136,13 +133,13 @@ LilycoveCity_EventScript_FatMan:: LilycoveCity_EventScript_Man1:: lockall msgbox LilycoveCity_Text_JustArrivedAndSawRarePokemon, MSGBOX_NPC - applymovement LOCALID_MAN_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_LILYCOVE_MAN_1, Common_Movement_FaceOriginalDirection end LilycoveCity_EventScript_Woman1:: lockall msgbox LilycoveCity_Text_HoneymoonVowToSeeRarePokemon, MSGBOX_NPC - applymovement LOCALID_WOMAN_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_LILYCOVE_WOMAN_1, Common_Movement_FaceOriginalDirection end LilycoveCity_EventScript_CitySign:: diff --git a/data/maps/LilycoveCity_ContestHall/map.json b/data/maps/LilycoveCity_ContestHall/map.json index a55d214988..9979ca34bc 100644 --- a/data/maps/LilycoveCity_ContestHall/map.json +++ b/data/maps/LilycoveCity_ContestHall/map.json @@ -54,6 +54,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_MC", "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 12, "y": 22, @@ -67,6 +68,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_JUDGE", "graphics_id": "OBJ_EVENT_GFX_CONTEST_JUDGE", "x": 15, "y": 22, @@ -80,6 +82,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_CONTESTANT_1", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 10, "y": 25, @@ -93,6 +96,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_CONTESTANT_2", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 12, "y": 25, @@ -106,6 +110,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_CONTESTANT_3", "graphics_id": "OBJ_EVENT_GFX_MANIAC", "x": 14, "y": 25, @@ -119,6 +124,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_CONTESTANT_4", "graphics_id": "OBJ_EVENT_GFX_LINK_RECEPTIONIST", "x": 16, "y": 25, @@ -145,6 +151,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_AUDIENCE_4", "graphics_id": "OBJ_EVENT_GFX_WOMAN_5", "x": 18, "y": 24, @@ -158,6 +165,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_AUDIENCE_2", "graphics_id": "OBJ_EVENT_GFX_BOY_1", "x": 8, "y": 22, @@ -171,6 +179,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_MC", "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 24, "y": 10, @@ -184,6 +193,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_JUDGE", "graphics_id": "OBJ_EVENT_GFX_CONTEST_JUDGE", "x": 27, "y": 10, @@ -197,6 +207,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_CONTESTANT_1", "graphics_id": "OBJ_EVENT_GFX_WOMAN_4", "x": 22, "y": 13, @@ -210,6 +221,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_CONTESTANT_2", "graphics_id": "OBJ_EVENT_GFX_TWIN", "x": 24, "y": 13, @@ -223,6 +235,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_CONTESTANT_3", "graphics_id": "OBJ_EVENT_GFX_PSYCHIC_M", "x": 26, "y": 13, @@ -236,6 +249,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_CONTESTANT_4", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_F", "x": 28, "y": 13, @@ -249,6 +263,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_AUDIENCE_1", "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 20, "y": 10, @@ -262,6 +277,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_AUDIENCE_3", "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 30, "y": 11, @@ -275,6 +291,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BEAUTY_AUDIENCE_2", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 26, "y": 8, @@ -288,6 +305,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SMART_AUDIENCE_3", "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 13, "y": 20, @@ -301,6 +319,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_MC", "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 36, "y": 22, @@ -314,6 +333,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_JUDGE", "graphics_id": "OBJ_EVENT_GFX_CONTEST_JUDGE", "x": 39, "y": 22, @@ -327,6 +347,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_CONTESTANT_1", "graphics_id": "OBJ_EVENT_GFX_BOY_2", "x": 34, "y": 25, @@ -340,6 +361,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_CONTESTANT_2", "graphics_id": "OBJ_EVENT_GFX_GIRL_2", "x": 36, "y": 25, @@ -353,6 +375,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_CONTESTANT_3", "graphics_id": "OBJ_EVENT_GFX_BOY_3", "x": 38, "y": 25, @@ -366,6 +389,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_CONTESTANT_4", "graphics_id": "OBJ_EVENT_GFX_EXPERT_F", "x": 40, "y": 25, @@ -379,6 +403,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_AUDIENCE_1", "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 32, "y": 23, @@ -392,6 +417,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_AUDIENCE_3", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 37, "y": 20, @@ -405,6 +431,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CUTE_AUDIENCE_2", "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 42, "y": 24, diff --git a/data/maps/LilycoveCity_ContestHall/scripts.inc b/data/maps/LilycoveCity_ContestHall/scripts.inc index fbfb94c20a..791bb3cbdb 100644 --- a/data/maps/LilycoveCity_ContestHall/scripts.inc +++ b/data/maps/LilycoveCity_ContestHall/scripts.inc @@ -1,32 +1,7 @@ -@ VAR_LAST_TALKED would have made all these direct references unnecessary -.set LOCALID_SMART_MC, 4 -.set LOCALID_SMART_JUDGE, 5 -.set LOCALID_SMART_CONTESTANT_1, 6 -.set LOCALID_SMART_CONTESTANT_2, 7 -.set LOCALID_SMART_CONTESTANT_3, 8 -.set LOCALID_SMART_CONTESTANT_4, 9 -.set LOCALID_SMART_AUDIENCE_4, 11 -.set LOCALID_SMART_AUDIENCE_2, 12 -.set LOCALID_BEAUTY_MC, 13 -.set LOCALID_BEAUTY_JUDGE, 14 -.set LOCALID_BEAUTY_CONTESTANT_1, 15 -.set LOCALID_BEAUTY_CONTESTANT_2, 16 -.set LOCALID_BEAUTY_CONTESTANT_3, 17 -.set LOCALID_BEAUTY_CONTESTANT_4, 18 -.set LOCALID_BEAUTY_AUDIENCE_1, 19 -.set LOCALID_BEAUTY_AUDIENCE_3, 20 -.set LOCALID_BEAUTY_AUDIENCE_2, 21 -.set LOCALID_SMART_AUDIENCE_3, 22 -.set LOCALID_CUTE_MC, 23 -.set LOCALID_CUTE_JUDGE, 24 -.set LOCALID_CUTE_CONTESTANT_1, 25 -.set LOCALID_CUTE_CONTESTANT_2, 26 -.set LOCALID_CUTE_CONTESTANT_3, 27 -.set LOCALID_CUTE_CONTESTANT_4, 28 -.set LOCALID_CUTE_AUDIENCE_1, 29 -.set LOCALID_CUTE_AUDIENCE_3, 30 -.set LOCALID_CUTE_AUDIENCE_2, 31 - +@ All the LOCALID constants used in this file are essentially redundant. +@ They're all used to have the NPC the player talked to turn back so they're facing +@ their original direction (because they're watching/participating in the contests). +@ They could all be substituted for VAR_LAST_TALKED. LilycoveCity_ContestHall_MapScripts:: end_map_scripts diff --git a/data/maps/LilycoveCity_ContestLobby/map.json b/data/maps/LilycoveCity_ContestLobby/map.json index 276b5a6c2c..220a4f8300 100644 --- a/data/maps/LilycoveCity_ContestLobby/map.json +++ b/data/maps/LilycoveCity_ContestLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_CONTEST_LOBBY_RECEPTIONIST", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 14, "y": 2, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_LOBBY_LINK_RECEPTIONIST", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 15, "y": 2, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_LOBBY_BLENDER_2_LEADER", "graphics_id": "OBJ_EVENT_GFX_MAN_4", "x": 26, "y": 9, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_LOBBY_ARTIST", "graphics_id": "OBJ_EVENT_GFX_ARTIST", "x": 9, "y": 1, @@ -119,6 +123,7 @@ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER" }, { + "local_id": "LOCALID_CONTEST_LOBBY_BLENDER_3_PARTICIPANT_1", "graphics_id": "OBJ_EVENT_GFX_BOY_1", "x": 23, "y": 8, @@ -132,6 +137,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_LOBBY_BLENDER_2_PARTICIPANT", "graphics_id": "OBJ_EVENT_GFX_TWIN", "x": 28, "y": 9, @@ -145,6 +151,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_LOBBY_LINK_ARTIST", "graphics_id": "OBJ_EVENT_GFX_ARTIST", "x": 21, "y": 1, @@ -197,6 +204,7 @@ "flag": "0" }, { + "local_id": "LOCALID_CONTEST_LOBBY_BLENDER_3_LEADER", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_F", "x": 22, "y": 9, @@ -210,6 +218,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BLEND_MASTER", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 26, "y": 5, @@ -223,6 +232,7 @@ "flag": "FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT" }, { + "local_id": "LOCALID_CONTEST_LOBBY_BLENDER_3_PARTICIPANT_2", "graphics_id": "OBJ_EVENT_GFX_GIRL_1", "x": 24, "y": 9, diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index 75a0c8d256..6fff15a939 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -1,9 +1,3 @@ -@ Note: data/scripts/berry_blender.inc is for the same map, so shares local IDs -.set LOCALID_RECEPTIONIST, 1 -.set LOCALID_LINK_RECEPTIONIST, 2 -.set LOCALID_ARTIST, 4 -.set LOCALID_ARTIST_LINK, 11 - LilycoveCity_ContestLobby_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_ContestLobby_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_ContestLobby_OnFrame @@ -40,10 +34,10 @@ LilycoveCity_ContestLobby_EventScript_TryDoContestArtist:: LilycoveCity_ContestLobby_EventScript_ContestArtist:: lockall - addobject LOCALID_ARTIST - applymovement LOCALID_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistApproachPlayer - waitmovement LOCALID_ARTIST - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceArtist + addobject LOCALID_CONTEST_LOBBY_ARTIST + applymovement LOCALID_CONTEST_LOBBY_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistApproachPlayer + waitmovement LOCALID_CONTEST_LOBBY_ARTIST + applymovement LOCALID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceArtist waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint, MSGBOX_DEFAULT lockall @@ -63,9 +57,9 @@ LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum:: setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 specialvar VAR_RESULT, GiveMonArtistRibbon call_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon - applymovement LOCALID_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistExit + applymovement LOCALID_CONTEST_LOBBY_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistExit waitmovement 0 - removeobject LOCALID_ARTIST + removeobject LOCALID_CONTEST_LOBBY_ARTIST call LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons call LilycoveCity_ContestLobby_EventScript_SetPaintingFlag releaseall @@ -76,22 +70,22 @@ LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting:: goto_if_eq VAR_RESULT, YES, LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum msgbox LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistExit + applymovement LOCALID_CONTEST_LOBBY_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistExit waitmovement 0 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 - removeobject LOCALID_ARTIST + removeobject LOCALID_CONTEST_LOBBY_ARTIST releaseall end LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon:: incrementgamestat GAME_STAT_RECEIVED_RIBBONS special BufferContestWinnerMonName - applymovement LOCALID_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistBeginToExit + applymovement LOCALID_CONTEST_LOBBY_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistBeginToExit waitmovement 0 playse SE_PIN - applymovement LOCALID_ARTIST, Common_Movement_ExclamationMark + applymovement LOCALID_CONTEST_LOBBY_ARTIST, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistReturnToPlayer + applymovement LOCALID_CONTEST_LOBBY_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistReturnToPlayer waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_TakeMementoOfPainting, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_ITEM @@ -210,10 +204,10 @@ LilycoveCity_ContestLobby_EventScript_TryDoLinkContestArtist:: LilycoveCity_ContestLobby_EventScript_LinkContestArtist:: lockall - addobject LOCALID_ARTIST_LINK - applymovement LOCALID_ARTIST_LINK, LilycoveCity_ContestLobby_Movement_LinkArtistApproachPlayer - waitmovement LOCALID_ARTIST_LINK - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceLinkArtist + addobject LOCALID_CONTEST_LOBBY_LINK_ARTIST + applymovement LOCALID_CONTEST_LOBBY_LINK_ARTIST, LilycoveCity_ContestLobby_Movement_LinkArtistApproachPlayer + waitmovement LOCALID_CONTEST_LOBBY_LINK_ARTIST + applymovement LOCALID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerFaceLinkArtist waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_YourPokemonSpurredMeToPaint, MSGBOX_DEFAULT lockall @@ -231,9 +225,9 @@ LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink:: setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 specialvar VAR_RESULT, GiveMonArtistRibbon call_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon - applymovement LOCALID_ARTIST_LINK, LilycoveCity_ContestLobby_Movement_LinkArtistExit + applymovement LOCALID_CONTEST_LOBBY_LINK_ARTIST, LilycoveCity_ContestLobby_Movement_LinkArtistExit waitmovement 0 - removeobject LOCALID_ARTIST_LINK + removeobject LOCALID_CONTEST_LOBBY_LINK_ARTIST call LilycoveCity_ContestLobby_EventScript_UpdateMuseumPatrons call LilycoveCity_ContestLobby_EventScript_SetPaintingFlag releaseall @@ -244,10 +238,10 @@ LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink:: goto_if_eq VAR_RESULT, YES, LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink msgbox LilycoveCity_ContestLobby_Text_FineThatsTheWayItIs, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARTIST_LINK, LilycoveCity_ContestLobby_Movement_LinkArtistExit + applymovement LOCALID_CONTEST_LOBBY_LINK_ARTIST, LilycoveCity_ContestLobby_Movement_LinkArtistExit waitmovement 0 setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0 - removeobject LOCALID_ARTIST_LINK + removeobject LOCALID_CONTEST_LOBBY_LINK_ARTIST releaseall end @@ -255,12 +249,12 @@ LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon:: incrementgamestat GAME_STAT_RECEIVED_RIBBONS setflag FLAG_SYS_RIBBON_GET special BufferContestWinnerMonName - applymovement LOCALID_ARTIST_LINK, LilycoveCity_ContestLobby_Movement_LinkArtistBeginExit + applymovement LOCALID_CONTEST_LOBBY_LINK_ARTIST, LilycoveCity_ContestLobby_Movement_LinkArtistBeginExit waitmovement 0 playse SE_PIN - applymovement LOCALID_ARTIST_LINK, Common_Movement_ExclamationMark + applymovement LOCALID_CONTEST_LOBBY_LINK_ARTIST, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_ARTIST_LINK, LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer + applymovement LOCALID_CONTEST_LOBBY_LINK_ARTIST, LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_TakeMementoOfPainting, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_ITEM @@ -405,27 +399,27 @@ LilycoveCity_ContestLobby_EventScript_WarpToToughContestHall:: LilycoveCity_ContestLobby_EventScript_LeadToContestHall:: lockall - applymovement LOCALID_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter + applymovement LOCALID_CONTEST_LOBBY_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter waitmovement 0 playse SE_BRIDGE_WALK setmetatile 12, 2, METATILE_Contest_WallShadow, TRUE setmetatile 12, 3, METATILE_Contest_FloorShadow, TRUE special DrawWholeMapView - applymovement LOCALID_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter + applymovement LOCALID_CONTEST_LOBBY_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter waitmovement 0 playse SE_BRIDGE_WALK setmetatile 12, 2, METATILE_Contest_CounterFlap_Top, TRUE setmetatile 12, 3, METATILE_Contest_CounterFlap_Bottom, TRUE special DrawWholeMapView delay 20 - applymovement LOCALID_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistFacePlayer + applymovement LOCALID_CONTEST_LOBBY_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistFacePlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachReceptionist + applymovement LOCALID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachReceptionist waitmovement 0 msgbox LilycoveCity_ContestLobby_Text_ComeThroughHere, MSGBOX_DEFAULT closemessage - applymovement LOCALID_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistWalkToContestHall - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToContestHall + applymovement LOCALID_CONTEST_LOBBY_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistWalkToContestHall + applymovement LOCALID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToContestHall waitmovement 0 releaseall return @@ -896,30 +890,30 @@ LilycoveCity_ContestLobby_EventScript_LeadToLinkContestHall:: waitmessage delay 20 closemessage - applymovement LOCALID_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter + applymovement LOCALID_CONTEST_LOBBY_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter waitmovement 0 playse SE_BRIDGE_WALK setmetatile 17, 2, METATILE_Contest_WallShadow, TRUE setmetatile 17, 3, METATILE_Contest_FloorShadow, TRUE special DrawWholeMapView - applymovement LOCALID_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter + applymovement LOCALID_CONTEST_LOBBY_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter waitmovement 0 playse SE_BRIDGE_WALK setmetatile 17, 2, METATILE_Contest_CounterFlap_Top, TRUE setmetatile 17, 3, METATILE_Contest_CounterFlap_Bottom, TRUE special DrawWholeMapView delay 20 - applymovement LOCALID_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistFacePlayer + applymovement LOCALID_CONTEST_LOBBY_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistFacePlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachLinkReceptionist + applymovement LOCALID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerApproachLinkReceptionist waitmovement 0 messageautoscroll LilycoveCity_ContestLobby_Text_ComeThroughHere waitmessage delay 20 closemessage call LilycoveCity_ContestLobby_EventScript_DelayIfContestWithRSPlayer - applymovement LOCALID_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistWalkToContestHall - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToLinkContestHall + applymovement LOCALID_CONTEST_LOBBY_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistWalkToContestHall + applymovement LOCALID_PLAYER, LilycoveCity_ContestLobby_Movement_PlayerWalkToLinkContestHall waitmovement 0 release return diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json index 098b533360..859b0f11b6 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MOTEL_OWNER", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 10, "y": 3, diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc index 816bfd174d..f21806329d 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_OWNER, 1 - LilycoveCity_CoveLilyMotel_1F_MapScripts:: end_map_scripts @@ -8,33 +6,33 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_MotelOwner:: goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear goto_if_set FLAG_BADGE07_GET, LilycoveCity_CoveLilyMotel_1F_EventScript_AquaHideoutBusted msgbox LilycoveCity_CoveLilyMotel_1F_Text_GuestsDoubledByMascot, MSGBOX_DEFAULT - applymovement LOCALID_OWNER, Common_Movement_FacePlayer + applymovement LOCALID_MOTEL_OWNER, Common_Movement_FacePlayer waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_NoGuestsWithTeamAqua, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OWNER, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MOTEL_OWNER, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end LilycoveCity_CoveLilyMotel_1F_EventScript_AquaHideoutBusted:: msgbox LilycoveCity_CoveLilyMotel_1F_Text_MonFoundLostItem, MSGBOX_DEFAULT - applymovement LOCALID_OWNER, Common_Movement_FacePlayer + applymovement LOCALID_MOTEL_OWNER, Common_Movement_FacePlayer waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_HeardAquaHideoutBusted, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OWNER, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MOTEL_OWNER, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear:: msgbox LilycoveCity_CoveLilyMotel_1F_Text_HouseSittingMonCaughtBurglar, MSGBOX_DEFAULT - applymovement LOCALID_OWNER, Common_Movement_FacePlayer + applymovement LOCALID_MOTEL_OWNER, Common_Movement_FacePlayer waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_BetterGetWorkingOnGuestsDinner, MSGBOX_DEFAULT closemessage - applymovement LOCALID_OWNER, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MOTEL_OWNER, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end @@ -42,18 +40,18 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_GameClear:: LilycoveCity_CoveLilyMotel_1F_EventScript_BlockingTV:: lockall playse SE_PIN - applymovement LOCALID_OWNER, Common_Movement_ExclamationMark + applymovement LOCALID_MOTEL_OWNER, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_OWNER, Common_Movement_Delay48 + applymovement LOCALID_MOTEL_OWNER, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox LilycoveCity_CoveLilyMotel_1F_Text_CantSeeTheTV, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_PlayerPushFromTV - applymovement LOCALID_OWNER, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerPushPlayer + applymovement LOCALID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_PlayerPushFromTV + applymovement LOCALID_MOTEL_OWNER, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerPushPlayer waitmovement 0 - applymovement LOCALID_OWNER, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerReturn + applymovement LOCALID_MOTEL_OWNER, LilycoveCity_CoveLilyMotel_1F_Movement_OwnerReturn waitmovement 0 release end diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.json b/data/maps/LilycoveCity_DepartmentStore_1F/map.json index 951777f8f4..98c58a1bad 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LOTTERY_CLERK", "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 10, "y": 2, diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index f166a6962c..cad41c6777 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_LOTTERY_CLERK, 2 - LilycoveCity_DepartmentStore_1F_MapScripts:: end_map_scripts diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc index 92a6b9624b..009c757f59 100644 --- a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc @@ -36,9 +36,7 @@ LilycoveCity_DepartmentStore_2F_Pokemart1: .2byte ITEM_ICE_HEAL .2byte ITEM_AWAKENING .2byte ITEM_FLUFFY_TAIL - .2byte ITEM_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_2F_EventScript_ClerkRight:: lock @@ -62,9 +60,7 @@ LilycoveCity_DepartmentStore_2F_Pokemart2: .2byte ITEM_MAX_REPEL .2byte ITEM_WAVE_MAIL .2byte ITEM_MECH_MAIL - .2byte ITEM_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_2F_Text_LearnToUseItemsProperly: .string "Learn to use items properly.\n" diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc index 14c4ddfa2c..7f65844598 100644 --- a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc @@ -19,9 +19,7 @@ LilycoveCity_DepartmentStore_3F_Pokemart_Vitamins: .2byte ITEM_ZINC .2byte ITEM_CARBOS .2byte ITEM_HP_UP - .2byte ITEM_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight:: lock @@ -42,9 +40,7 @@ LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters: .2byte ITEM_DIRE_HIT .2byte ITEM_GUARD_SPEC .2byte ITEM_X_ACCURACY - .2byte ITEM_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_3F_EventScript_TriathleteM:: msgbox LilycoveCity_DepartmentStore_3F_Text_ItemsBestForTougheningPokemon, MSGBOX_NPC diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc index d2bf3c31ca..6c792b8817 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc @@ -29,9 +29,7 @@ LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs: .2byte ITEM_TM_THUNDER .2byte ITEM_TM_BLIZZARD .2byte ITEM_TM_HYPER_BEAM - .2byte ITEM_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight:: lock @@ -49,9 +47,7 @@ LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs: .2byte ITEM_TM_SAFEGUARD .2byte ITEM_TM_REFLECT .2byte ITEM_TM_LIGHT_SCREEN - .2byte ITEM_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_4F_Text_AttackOrDefenseTM: .string "Hmm…\p" diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.json b/data/maps/LilycoveCity_DepartmentStore_5F/map.json index e816d3f217..a7d258ec9c 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.json @@ -93,6 +93,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEPARTMENT_STORE_STAIRS_WOMAN", "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 9, "y": 5, diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc index 6b7e30ba05..872c142b8b 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WOMAN, 7 - LilycoveCity_DepartmentStore_5F_MapScripts:: map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LilycoveCity_DepartmentStore_5F_OnWarp end_map_scripts @@ -13,8 +11,8 @@ LilycoveCity_DepartmentStore_5F_OnWarp: end_map_script_table LilycoveCity_DepartmentStore_5F_EventScript_BlockRoofStairs:: - setobjectxy LOCALID_WOMAN, 16, 2 - turnobject LOCALID_WOMAN, DIR_NORTH + setobjectxy LOCALID_DEPARTMENT_STORE_STAIRS_WOMAN, 16, 2 + turnobject LOCALID_DEPARTMENT_STORE_STAIRS_WOMAN, DIR_NORTH end LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarLeft:: @@ -41,9 +39,7 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Dolls: .2byte DECOR_SKITTY_DOLL .2byte DECOR_SWABLU_DOLL .2byte DECOR_GULPIN_DOLL - .2byte DECOR_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidLeft:: lock @@ -66,9 +62,7 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Cushions: .2byte DECOR_GRASS_CUSHION .2byte DECOR_FIRE_CUSHION .2byte DECOR_WATER_CUSHION - .2byte DECOR_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_5F_EventScript_ClerkMidRight:: lock @@ -91,9 +85,7 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Posters: .2byte DECOR_LONG_POSTER .2byte DECOR_SEA_POSTER .2byte DECOR_SKY_POSTER - .2byte DECOR_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_5F_EventScript_ClerkFarRight:: lock @@ -117,9 +109,7 @@ LilycoveCity_DepartmentStore_5F_Pokemart_Mats: .2byte DECOR_GLITTER_MAT .2byte DECOR_JUMP_MAT .2byte DECOR_SPIN_MAT - .2byte DECOR_NONE - release - end + pokemartlistend LilycoveCity_DepartmentStore_5F_EventScript_PokefanF:: msgbox LilycoveCity_DepartmentStore_5F_Text_PlaceFullOfCuteDolls, MSGBOX_NPC @@ -127,7 +117,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_PokefanF:: LilycoveCity_DepartmentStore_5F_EventScript_Woman:: lockall - applymovement LOCALID_WOMAN, Common_Movement_FacePlayer + applymovement LOCALID_DEPARTMENT_STORE_STAIRS_WOMAN, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 0, LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal @@ -143,7 +133,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal:: LilycoveCity_DepartmentStore_5F_EventScript_WomanLegendaryWeather:: msgbox LilycoveCity_DepartmentStore_5F_Text_ClosedRooftopForWeather, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WOMAN, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_DEPARTMENT_STORE_STAIRS_WOMAN, Common_Movement_WalkInPlaceFasterUp waitmovement 0 releaseall end diff --git a/data/maps/LilycoveCity_Harbor/map.json b/data/maps/LilycoveCity_Harbor/map.json index 06d49e0c88..671e6edd74 100644 --- a/data/maps/LilycoveCity_Harbor/map.json +++ b/data/maps/LilycoveCity_Harbor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_LILYCOVE_HARBOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 8, "y": 10, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT" }, { + "local_id": "LOCALID_LILYCOVE_HARBOR_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 8, "y": 9, @@ -54,6 +56,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 10, @@ -67,6 +70,7 @@ "flag": "FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR" }, { + "local_id": "LOCALID_LILYCOVE_HARBOR_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 8, "y": 10, diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 7538ce9f2c..11f3f85288 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_ATTENDANT, 1 -.set LOCALID_SS_TIDAL, 2 -.set LOCALID_FERRY_SAILOR, 4 -.set LOCALID_BRINEY, 5 - LilycoveCity_Harbor_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_Harbor_OnTransition end_map_scripts @@ -231,16 +226,16 @@ LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: call LilycoveCity_Harbor_EventScript_GetEventTicketSailor msgbox EventTicket_Text_OldSeaMapTooFar, MSGBOX_DEFAULT closemessage - applymovement LOCALID_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterUp waitmovement 0 playse SE_PIN - applymovement LOCALID_FERRY_SAILOR, Common_Movement_ExclamationMark + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_FERRY_SAILOR, Common_Movement_Delay48 + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, Common_Movement_Delay48 waitmovement 0 call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast - addobject LOCALID_BRINEY + addobject LOCALID_LILYCOVE_HARBOR_BRINEY call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast msgbox EventTicket_Text_BrineyHoldOnASecond, MSGBOX_DEFAULT @@ -250,7 +245,7 @@ LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime:: closemessage call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast - setvar VAR_0x8004, LOCALID_SS_TIDAL + setvar VAR_0x8004, LOCALID_LILYCOVE_HARBOR_SS_TIDAL call Common_EventScript_FerryDepart warp MAP_FARAWAY_ISLAND_ENTRANCE, 13, 38 waitstate @@ -305,14 +300,14 @@ LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime:: LilycoveCity_Harbor_EventScript_ExitFirstTimeTicketSailSelect:: msgbox EventTicket_Text_AsYouLike, MSGBOX_DEFAULT closemessage - applymovement LOCALID_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 30 - removeobject LOCALID_FERRY_SAILOR + removeobject LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR delay 30 - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_LILYCOVE_HARBOR_ATTENDANT, Common_Movement_WalkInPlaceFasterDown waitmovement 0 - showobjectat LOCALID_ATTENDANT, MAP_LILYCOVE_CITY_HARBOR + showobjectat LOCALID_LILYCOVE_HARBOR_ATTENDANT, MAP_LILYCOVE_CITY_HARBOR delay 30 msgbox LilycoveCity_Harbor_Text_SailAnotherTime, MSGBOX_DEFAULT release @@ -324,22 +319,22 @@ LilycoveCity_Harbor_EventScript_GetEventTicketSailor:: delay 30 hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR delay 60 - addobject LOCALID_FERRY_SAILOR + addobject LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR delay 30 - applymovement LOCALID_FERRY_SAILOR, Common_Movement_FacePlayer + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, Common_Movement_FacePlayer waitmovement 0 return LilycoveCity_Harbor_EventScript_BoardFerryWithSailor:: - applymovement LOCALID_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 30 - removeobject LOCALID_FERRY_SAILOR + removeobject LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast delay 30 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_PLAYER, 0 + setvar VAR_0x8004, LOCALID_LILYCOVE_HARBOR_SS_TIDAL call Common_EventScript_FerryDepart return @@ -398,18 +393,18 @@ LilycoveCity_Harbor_EventScript_BoardFerry:: call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast delay 30 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_PLAYER, 0 + setvar VAR_0x8004, LOCALID_LILYCOVE_HARBOR_SS_TIDAL call Common_EventScript_FerryDepart return LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast:: - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryEast + applymovement LOCALID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryEast waitmovement 0 return LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth:: - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth + applymovement LOCALID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardFerryNorth waitmovement 0 return @@ -445,12 +440,12 @@ LilycoveCity_Harbor_EventScript_SailorFerryAvailable:: end LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth:: - applymovement LOCALID_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorOutOfWayNorth + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorOutOfWayNorth waitmovement 0 return LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast:: - applymovement LOCALID_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorOutOfWayEast + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorOutOfWayEast waitmovement 0 return @@ -468,36 +463,36 @@ LilycoveCity_Harbor_Movement_SailorOutOfWayEast: step_end LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth:: - applymovement LOCALID_BRINEY, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_LILYCOVE_HARBOR_BRINEY, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast:: - applymovement LOCALID_BRINEY, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_LILYCOVE_HARBOR_BRINEY, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth:: - applymovement LOCALID_BRINEY, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_LILYCOVE_HARBOR_BRINEY, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast:: - applymovement LOCALID_BRINEY, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_LILYCOVE_HARBOR_BRINEY, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth:: - applymovement LOCALID_BRINEY, LilycoveCity_Harbor_Movement_BrineyBoardFerry - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyNorth - applymovement LOCALID_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyNorth + applymovement LOCALID_LILYCOVE_HARBOR_BRINEY, LilycoveCity_Harbor_Movement_BrineyBoardFerry + applymovement LOCALID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyNorth + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyNorth waitmovement 0 return LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast:: - applymovement LOCALID_BRINEY, LilycoveCity_Harbor_Movement_BrineyBoardFerry - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyEast - applymovement LOCALID_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyEast + applymovement LOCALID_LILYCOVE_HARBOR_BRINEY, LilycoveCity_Harbor_Movement_BrineyBoardFerry + applymovement LOCALID_PLAYER, LilycoveCity_Harbor_Movement_PlayerBoardWithBrineyEast + applymovement LOCALID_LILYCOVE_HARBOR_FERRY_SAILOR, LilycoveCity_Harbor_Movement_SailorBoardWithBrineyEast waitmovement 0 return diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json index 1710e0df8f..6b44c299fe 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MUSEUM_1F_CURATOR", "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 16, "y": 2, @@ -106,6 +107,7 @@ "flag": "FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1" }, { + "local_id": "LOCALID_MUSEUM_1F_ARTIST_2", "graphics_id": "OBJ_EVENT_GFX_ARTIST", "x": 19, "y": 3, diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc index fa8c5f142d..716512111c 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_CURATOR, 2 -.set LOCALID_ARTIST_2, 8 - LilycoveCity_LilycoveMuseum_1F_MapScripts:: end_map_scripts @@ -10,7 +7,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_Greeter:: LilycoveCity_LilycoveMuseum_1F_EventScript_Curator:: lockall - applymovement LOCALID_CURATOR, Common_Movement_FacePlayer + applymovement LOCALID_MUSEUM_1F_CURATOR, Common_Movement_FacePlayer message LilycoveCity_LilycoveMuseum_1F_Text_ImCuratorHaveYouViewedOurPaintings waitmessage multichoice 20, 8, MULTI_VIEWED_PAINTINGS, TRUE @@ -35,9 +32,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested:: LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings:: msgbox LilycoveCity_LilycoveMuseum_1F_Text_ExcellentCanYouComeWithMe, MSGBOX_SIGN - applymovement LOCALID_CURATOR, LilycoveCity_LilycoveMuseum_1F_Movement_CuratorEnterStairs + applymovement LOCALID_MUSEUM_1F_CURATOR, LilycoveCity_LilycoveMuseum_1F_Movement_CuratorEnterStairs waitmovement 0 - removeobject LOCALID_CURATOR + removeobject LOCALID_MUSEUM_1F_CURATOR switch VAR_FACING case DIR_NORTH, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth case DIR_WEST, LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest @@ -46,7 +43,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings:: LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth:: lockall - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth + applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 11, 8 waitstate @@ -54,7 +51,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth:: LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest:: lockall - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest + applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 11, 8 waitstate @@ -62,7 +59,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest:: LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorEast:: lockall - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast + applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast waitmovement 0 warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 11, 8 waitstate @@ -152,7 +149,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_Artist2:: faceplayer msgbox LilycoveCity_LilycoveMuseum_1F_Text_AimToSeeGreatPaintings, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARTIST_2, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MUSEUM_1F_ARTIST_2, Common_Movement_FaceOriginalDirection waitmovement 0 release end diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json index 83fe63aab0..be3467f2d1 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MUSEUM_2F_CURATOR", "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 10, "y": 8, diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index bae81451c1..e656232136 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_CURATOR, 1 - LilycoveCity_LilycoveMuseum_2F_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, LilycoveCity_LilycoveMuseum_2F_OnLoad map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_LilycoveMuseum_2F_OnFrame @@ -64,18 +62,18 @@ LilycoveCity_LilycoveMuseum_2F_OnFrame: LilycoveCity_LilycoveMuseum_2F_EventScript_ShowExhibitHall:: lockall - applymovement LOCALID_CURATOR, Common_Movement_FacePlayer - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft + applymovement LOCALID_MUSEUM_2F_CURATOR, Common_Movement_FacePlayer + applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_ThisIsExhibitHall, MSGBOX_SIGN - applymovement LOCALID_CURATOR, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall + applymovement LOCALID_MUSEUM_2F_CURATOR, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall + applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_ExplainExhibitHall, MSGBOX_SIGN - applymovement LOCALID_CURATOR, Common_Movement_FacePlayer + applymovement LOCALID_MUSEUM_2F_CURATOR, Common_Movement_FacePlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft + applymovement LOCALID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_PlayerWalkInPlaceLeft waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_PleaseObtainPaintingsForExhibit, MSGBOX_SIGN copyvar VAR_LILYCOVE_MUSEUM_2F_STATE, 1 @@ -109,16 +107,16 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_AddedPainting:: end LilycoveCity_LilycoveMuseum_2F_EventScript_ThankPlayer:: - applymovement LOCALID_CURATOR, Common_Movement_FacePlayer + applymovement LOCALID_MUSEUM_2F_CURATOR, Common_Movement_FacePlayer waitmovement 0 msgbox LilycoveCity_LilycoveMuseum_2F_Text_ItsYouPlayer, MSGBOX_DEFAULT - applymovement LOCALID_CURATOR, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall + applymovement LOCALID_MUSEUM_2F_CURATOR, LilycoveCity_LilycoveMuseum_2F_Movement_FaceExhibitHall msgbox LilycoveCity_LilycoveMuseum_2F_Text_PaintingsAttractedMoreGuests, MSGBOX_DEFAULT goto LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament end LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament:: - applymovement LOCALID_CURATOR, Common_Movement_FacePlayer + applymovement LOCALID_MUSEUM_2F_CURATOR, Common_Movement_FacePlayer msgbox LilycoveCity_LilycoveMuseum_2F_Text_TokenOfGratitude, MSGBOX_DEFAULT givedecoration DECOR_GLASS_ORNAMENT goto_if_eq VAR_RESULT, FALSE, LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/map.json b/data/maps/LilycoveCity_MoveDeletersHouse/map.json index 29c6f3636e..f10630570a 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/map.json +++ b/data/maps/LilycoveCity_MoveDeletersHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MOVE_DELETER", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 4, "y": 4, diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc index 7607115951..41891ea0c5 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc +++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_MOVE_DELETER, 1 - LilycoveCity_MoveDeletersHouse_MapScripts:: end_map_scripts diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/map.json b/data/maps/LilycoveCity_PokemonCenter_1F/map.json index 595b5af54b..8eb6312fb2 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_LILYCOVE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, @@ -54,6 +55,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LILYCOVE_LADY", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 1, "y": 3, @@ -67,6 +69,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LILYCOVE_LADYS_MON", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 2, "y": 3, diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index cdb88a443c..968e3bfbc6 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - LilycoveCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -26,7 +24,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon:: end LilycoveCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_LILYCOVE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json index ccd988bf3a..db0c31aa16 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TRAINER_FAN_CLUB_LASS", "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 3, "y": 11, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_MAN", "graphics_id": "OBJ_EVENT_GFX_MAN_4", "x": 8, "y": 10, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_POKEFAN_M", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "x": 6, "y": 11, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_LITTLE_GIRL", "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 5, "y": 8, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_NINJA_BOY", "graphics_id": "OBJ_EVENT_GFX_NINJA_BOY", "x": 7, "y": 11, @@ -80,6 +85,7 @@ "flag": "FLAG_HIDE_FANCLUB_LITTLE_BOY" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_BOY", "graphics_id": "OBJ_EVENT_GFX_BOY_2", "x": 1, "y": 9, @@ -93,6 +99,7 @@ "flag": "FLAG_HIDE_FANCLUB_BOY" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_WOMAN", "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 3, "y": 10, @@ -106,6 +113,7 @@ "flag": "FLAG_HIDE_FANCLUB_LADY" }, { + "local_id": "LOCALID_TRAINER_FAN_CLUB_EXPERT_F", "graphics_id": "OBJ_EVENT_GFX_EXPERT_F", "x": 10, "y": 10, diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index 849e516b1a..e73dd3e518 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -1,12 +1,3 @@ -.set LOCALID_LASS, 1 -.set LOCALID_MAN, 2 -.set LOCALID_POKEFAN_M, 3 -.set LOCALID_LITTLE_GIRL, 4 -.set LOCALID_NINJA_BOY, 5 -.set LOCALID_BOY, 6 -.set LOCALID_WOMAN, 7 -.set LOCALID_EXPERT_F, 8 - LilycoveCity_PokemonTrainerFanClub_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, LilycoveCity_PokemonTrainerFanClub_OnFrame map_script MAP_SCRIPT_ON_TRANSITION, LilycoveCity_PokemonTrainerFanClub_OnTransition @@ -20,20 +11,20 @@ LilycoveCity_PokemonTrainerFanClub_OnFrame: LilycoveCity_PokemonTrainerFanClub_EventScript_MeetFirstFans:: lockall - applymovement LOCALID_LASS, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_TRAINER_FAN_CLUB_LASS, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWowItsPlayer, MSGBOX_DEFAULT - applymovement LOCALID_LITTLE_GIRL, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer - applymovement LOCALID_MAN, LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer + applymovement LOCALID_TRAINER_FAN_CLUB_LITTLE_GIRL, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer + applymovement LOCALID_TRAINER_FAN_CLUB_MAN, LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox LilycoveCity_PokemonTrainerFanClub_Text_HeardAboutYouImYourFan, MSGBOX_DEFAULT - applymovement LOCALID_LITTLE_GIRL, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer + applymovement LOCALID_TRAINER_FAN_CLUB_LITTLE_GIRL, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 - applymovement LOCALID_LITTLE_GIRL, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer + applymovement LOCALID_TRAINER_FAN_CLUB_LITTLE_GIRL, LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer waitmovement 0 setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2 releaseall @@ -157,35 +148,35 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow:: return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable:: - setobjectxyperm LOCALID_LASS, 7, 5 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_LASS, 7, 5 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable:: - setobjectxyperm LOCALID_POKEFAN_M, 3, 4 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_POKEFAN_M, 3, 4 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable:: - setobjectxyperm LOCALID_LITTLE_GIRL, 7, 2 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_LITTLE_GIRL, 7, 2 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable:: - setobjectxyperm LOCALID_NINJA_BOY, 5, 5 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_NINJA_BOY, 5, 5 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable:: - setobjectxyperm LOCALID_BOY, 5, 2 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_BOY, 5, 2 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable:: - setobjectxyperm LOCALID_MAN, 8, 4 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_MAN, 8, 4 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable:: - setobjectxyperm LOCALID_WOMAN, 3, 3 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_WOMAN, 3, 3 return LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable:: - setobjectxyperm LOCALID_EXPERT_F, 8, 3 + setobjectxyperm LOCALID_TRAINER_FAN_CLUB_EXPERT_F, 8, 3 return LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting:: diff --git a/data/maps/LittlerootTown/map.json b/data/maps/LittlerootTown/map.json index 8311ffaa3c..f5c8c7846d 100644 --- a/data/maps/LittlerootTown/map.json +++ b/data/maps/LittlerootTown/map.json @@ -21,6 +21,7 @@ ], "object_events": [ { + "local_id": "LOCALID_LITTLEROOT_TWIN", "graphics_id": "OBJ_EVENT_GFX_TWIN", "x": 16, "y": 10, @@ -60,6 +61,7 @@ "flag": "0" }, { + "local_id": "LOCALID_LITTLEROOT_MOM", "graphics_id": "OBJ_EVENT_GFX_MOM", "x": 5, "y": 8, @@ -99,6 +101,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK" }, { + "local_id": "LOCALID_LITTLEROOT_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 13, "y": 10, @@ -112,6 +115,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_RIVAL" }, { + "local_id": "LOCALID_LITTLEROOT_BIRCH", "graphics_id": "OBJ_EVENT_GFX_PROF_BIRCH", "x": 14, "y": 10, diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index 3867dd628f..cda504e24c 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_TWIN, 1 -.set LOCALID_MOM, 4 -.set LOCALID_RIVAL, 7 -.set LOCALID_BIRCH, 8 - LittlerootTown_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, LittlerootTown_OnFrame @@ -76,34 +71,34 @@ LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent:: return LittlerootTown_EventScript_MoveMomToMaysDoor:: - setobjectxyperm LOCALID_MOM, 14, 8 + setobjectxyperm LOCALID_LITTLEROOT_MOM, 14, 8 return LittlerootTown_EventScript_SetTwinPos:: goto_if_eq VAR_LITTLEROOT_TOWN_STATE, 0, LittlerootTown_EventScript_SetTwinGuardingRoutePos - setobjectxyperm LOCALID_TWIN, 10, 1 - setobjectmovementtype LOCALID_TWIN, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_LITTLEROOT_TWIN, 10, 1 + setobjectmovementtype LOCALID_LITTLEROOT_TWIN, MOVEMENT_TYPE_FACE_UP return LittlerootTown_EventScript_SetTwinGuardingRoutePos:: - setobjectxyperm LOCALID_TWIN, 7, 2 - setobjectmovementtype LOCALID_TWIN, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_LITTLEROOT_TWIN, 7, 2 + setobjectmovementtype LOCALID_LITTLEROOT_TWIN, MOVEMENT_TYPE_FACE_DOWN return LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos:: clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_DOWN + setobjectmovementtype LOCALID_LITTLEROOT_MOM, MOVEMENT_TYPE_FACE_DOWN checkplayergender call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_SetMomInFrontOfDoorMale call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_SetMomInFrontOfDoorFemale return LittlerootTown_EventScript_SetMomInFrontOfDoorMale:: - setobjectxyperm LOCALID_MOM, 5, 9 + setobjectxyperm LOCALID_LITTLEROOT_MOM, 5, 9 return LittlerootTown_EventScript_SetMomInFrontOfDoorFemale:: - setobjectxyperm LOCALID_MOM, 14, 9 + setobjectxyperm LOCALID_LITTLEROOT_MOM, 14, 9 return LittlerootTown_OnFrame: @@ -137,31 +132,31 @@ LittlerootTown_EventScript_StepOffTruckFemale:: LittlerootTown_EventScript_GoInsideWithMom:: delay 15 playse SE_LEDGE - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_Movement_PlayerStepOffTruck + applymovement LOCALID_PLAYER, LittlerootTown_Movement_PlayerStepOffTruck waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim - addobject LOCALID_MOM - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitHouse + addobject LOCALID_LITTLEROOT_MOM + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitHouse waitmovement 0 closedoor VAR_0x8004, VAR_0x8005 waitdooranim delay 10 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerAtTruck + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerAtTruck waitmovement 0 msgbox LittlerootTown_Text_OurNewHomeLetsGoInside, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachDoor - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_Movement_PlayerApproachDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachDoor + applymovement LOCALID_PLAYER, LittlerootTown_Movement_PlayerApproachDoor waitmovement 0 opendoor VAR_0x8004, VAR_0x8005 waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomEnterHouse - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_Movement_PlayerEnterHouse + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomEnterHouse + applymovement LOCALID_PLAYER, LittlerootTown_Movement_PlayerEnterHouse waitmovement 0 setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE setvar VAR_LITTLEROOT_INTRO_STATE, 3 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 closedoor VAR_0x8004, VAR_0x8005 waitdooranim clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN @@ -210,7 +205,7 @@ LittlerootTown_Movement_PlayerStepOffTruck: LittlerootTown_EventScript_BeginDexUpgradeScene:: lockall playse SE_PIN - applymovement LOCALID_BIRCH, Common_Movement_ExclamationMark + applymovement LOCALID_LITTLEROOT_BIRCH, Common_Movement_ExclamationMark waitmovement 0 delay 80 msgbox LittlerootTown_Text_BirchSomethingToShowYouAtLab, MSGBOX_DEFAULT @@ -229,21 +224,21 @@ LittlerootTown_OnWarp: end_map_script_table LittlerootTown_EventScript_SetRivalBirchPosForDexUpgrade:: - addobject LOCALID_BIRCH - addobject LOCALID_RIVAL + addobject LOCALID_LITTLEROOT_BIRCH + addobject LOCALID_LITTLEROOT_RIVAL checkplayergender goto_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale goto LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale end LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale:: - setobjectxy LOCALID_RIVAL, 6, 10 - setobjectxy LOCALID_BIRCH, 5, 10 + setobjectxy LOCALID_LITTLEROOT_RIVAL, 6, 10 + setobjectxy LOCALID_LITTLEROOT_BIRCH, 5, 10 end LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale:: - setobjectxy LOCALID_RIVAL, 13, 10 - setobjectxy LOCALID_BIRCH, 14, 10 + setobjectxy LOCALID_LITTLEROOT_RIVAL, 13, 10 + setobjectxy LOCALID_LITTLEROOT_BIRCH, 14, 10 end LittlerootTown_EventScript_FatMan:: @@ -268,7 +263,7 @@ LittlerootTown_EventScript_GoSaveBirch:: special GetPlayerBigGuyGirlString msgbox LittlerootTown_Text_CanYouGoSeeWhatsHappening, MSGBOX_DEFAULT closemessage - applymovement LOCALID_TWIN, Common_Movement_FaceOriginalDirection + applymovement LOCALID_LITTLEROOT_TWIN, Common_Movement_FaceOriginalDirection waitmovement 0 setvar VAR_LITTLEROOT_TOWN_STATE, 2 release @@ -287,10 +282,10 @@ LittlerootTown_EventScript_GoodLuck:: LittlerootTown_EventScript_NeedPokemonTriggerLeft:: lockall - applymovement LOCALID_TWIN, LittlerootTown_Movement_TwinApproachPlayerLeft + applymovement LOCALID_LITTLEROOT_TWIN, LittlerootTown_Movement_TwinApproachPlayerLeft waitmovement 0 call LittlerootTown_EventScript_DangerousWithoutPokemon - applymovement LOCALID_TWIN, LittlerootTown_Movement_TwinReturnLeft + applymovement LOCALID_LITTLEROOT_TWIN, LittlerootTown_Movement_TwinReturnLeft waitmovement 0 releaseall end @@ -298,8 +293,8 @@ LittlerootTown_EventScript_NeedPokemonTriggerLeft:: LittlerootTown_EventScript_DangerousWithoutPokemon:: msgbox LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut, MSGBOX_DEFAULT closemessage - applymovement LOCALID_TWIN, LittlerootTown_Movement_TwinPushPlayerFromRoute - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_Movement_PushPlayerBackFromRoute + applymovement LOCALID_LITTLEROOT_TWIN, LittlerootTown_Movement_TwinPushPlayerFromRoute + applymovement LOCALID_PLAYER, LittlerootTown_Movement_PushPlayerBackFromRoute waitmovement 0 msgbox LittlerootTown_Text_DangerousIfYouDontHavePokemon, MSGBOX_DEFAULT closemessage @@ -345,10 +340,10 @@ LittlerootTown_Movement_PushPlayerBackFromRoute: LittlerootTown_EventScript_NeedPokemonTriggerRight:: lockall - applymovement LOCALID_TWIN, LittlerootTown_Movement_TwinApproachPlayerRight + applymovement LOCALID_LITTLEROOT_TWIN, LittlerootTown_Movement_TwinApproachPlayerRight waitmovement 0 call LittlerootTown_EventScript_DangerousWithoutPokemon - applymovement LOCALID_TWIN, LittlerootTown_Movement_TwinReturnRight + applymovement LOCALID_LITTLEROOT_TWIN, LittlerootTown_Movement_TwinReturnRight waitmovement 0 releaseall end @@ -379,14 +374,14 @@ LittlerootTown_Movement_TwinReturnRight: LittlerootTown_EventScript_GoSaveBirchTrigger:: lockall - applymovement LOCALID_TWIN, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_LITTLEROOT_TWIN, Common_Movement_WalkInPlaceFasterRight waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 special GetPlayerBigGuyGirlString msgbox LittlerootTown_Text_CanYouGoSeeWhatsHappening, MSGBOX_DEFAULT closemessage - applymovement LOCALID_TWIN, Common_Movement_FaceOriginalDirection + applymovement LOCALID_LITTLEROOT_TWIN, Common_Movement_FaceOriginalDirection waitmovement 0 setvar VAR_LITTLEROOT_TOWN_STATE, 2 releaseall @@ -435,14 +430,14 @@ LittlerootTown_EventScript_PlayersHouseSignFemale:: LittlerootTown_EventScript_GiveRunningShoesTrigger0:: lockall setvar VAR_0x8008, 0 - setobjectxy LOCALID_MOM, 10, 9 + setobjectxy LOCALID_LITTLEROOT_MOM, 10, 9 goto LittlerootTown_EventScript_GiveRunningShoesTrigger end LittlerootTown_EventScript_GiveRunningShoesTrigger1:: lockall setvar VAR_0x8008, 1 - setobjectxy LOCALID_MOM, 11, 9 + setobjectxy LOCALID_LITTLEROOT_MOM, 11, 9 goto LittlerootTown_EventScript_GiveRunningShoesTrigger end @@ -500,12 +495,12 @@ LittlerootTown_EventScript_SetHomeDoorCoordsFemale:: return LittlerootTown_EventScript_MomNoticePlayerMale:: - applymovement LOCALID_MOM, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_LITTLEROOT_MOM, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return LittlerootTown_EventScript_MomNoticePlayerFemale:: - applymovement LOCALID_MOM, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_LITTLEROOT_MOM, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return @@ -528,72 +523,72 @@ LittlerootTown_EventScript_MomApproachPlayerFemale:: return LittlerootTown_EventScript_MomApproachPlayer0:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayer0 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayer0 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayer1:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayer1 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayer1 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerMale2:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerMale2 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerMale2 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerMale3:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerMale3 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerMale3 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerMale4:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerMale4 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerMale4 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerMale5:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerMale5 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerMale5 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerFemale2:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerFemale2 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerFemale2 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerFemale3:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerFemale3 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerFemale3 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerFemale4:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerFemale4 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerFemale4 waitmovement 0 return LittlerootTown_EventScript_MomApproachPlayerFemale5:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 - applymovement LOCALID_MOM, LittlerootTown_Movement_MomApproachPlayerFemale5 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomApproachPlayerFemale5 waitmovement 0 return @@ -616,107 +611,107 @@ LittlerootTown_EventScript_MomReturnHomeFemale:: return LittlerootTown_EventScript_MomReturnHome0:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHome0 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHome0 waitmovement 0 return LittlerootTown_EventScript_MomReturnHome1:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHome1 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHome1 waitmovement 0 return LittlerootTown_EventScript_MomReturnHomeMale2:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeMale2 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeMale2 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeMale3:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeMale3 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeMale3 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeMale4:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeMale4 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeMale4 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeMale5:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeMale5 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeMale5 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeFemale2:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeFemale2 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeFemale2 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeFemale3:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeFemale3 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeFemale3 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeFemale4:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeFemale4 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeFemale4 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return LittlerootTown_EventScript_MomReturnHomeFemale5:: - applymovement LOCALID_MOM, LittlerootTown_Movement_MomReturnHomeFemale5 + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomReturnHomeFemale5 waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim return @@ -878,20 +873,20 @@ LittlerootTown_EventScript_Mom:: call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_SetHomeDoorCoordsMale call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_SetHomeDoorCoordsFemale call LittlerootTown_EventScript_GiveRunningShoes - applymovement LOCALID_MOM, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_LITTLEROOT_MOM, Common_Movement_WalkInPlaceFasterUp waitmovement 0 opendoor VAR_0x8009, VAR_0x800A waitdooranim - applymovement LOCALID_MOM, LittlerootTown_Movement_MomExitThroughDoor + applymovement LOCALID_LITTLEROOT_MOM, LittlerootTown_Movement_MomExitThroughDoor waitmovement 0 - hideobjectat LOCALID_MOM, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_LITTLEROOT_MOM, MAP_LITTLEROOT_TOWN closedoor VAR_0x8009, VAR_0x800A waitdooranim goto LittlerootTown_EventScript_SetReceivedRunningShoes end LittlerootTown_EventScript_SetReceivedRunningShoes:: - removeobject LOCALID_MOM + removeobject LOCALID_LITTLEROOT_MOM setflag FLAG_SYS_B_DASH setvar VAR_LITTLEROOT_TOWN_STATE, 4 release diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.json b/data/maps/LittlerootTown_BrendansHouse_1F/map.json index 23b1bf28c6..d8f2f818e1 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PLAYERS_HOUSE_1F_MOM", "graphics_id": "OBJ_EVENT_GFX_MOM", "x": 2, "y": 6, @@ -54,6 +55,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1" }, { + "local_id": "LOCALID_RIVALS_HOUSE_1F_MOM", "graphics_id": "OBJ_EVENT_GFX_WOMAN_4", "x": 2, "y": 7, @@ -67,6 +69,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM" }, { + "local_id": "LOCALID_PLAYERS_HOUSE_1F_DAD", "graphics_id": "OBJ_EVENT_GFX_NORMAN", "x": 5, "y": 6, @@ -93,6 +96,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING" }, { + "local_id": "LOCALID_RIVALS_HOUSE_1F_RIVAL", "graphics_id": "OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL", "x": 8, "y": 8, diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index bee4f8e9a2..544041bcdf 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_MOM, 1 -.set LOCALID_RIVAL_MOM, 4 -.set LOCALID_RIVAL, 7 - LittlerootTown_BrendansHouse_1F_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_BrendansHouse_1F_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_1F_OnTransition @@ -34,18 +30,18 @@ LittlerootTown_BrendansHouse_1F_OnTransition: end LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs:: - setobjectxyperm LOCALID_MOM, 8, 4 - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_PLAYERS_HOUSE_1F_MOM, 8, 4 + setobjectmovementtype LOCALID_PLAYERS_HOUSE_1F_MOM, MOVEMENT_TYPE_FACE_UP return LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV:: - setobjectxyperm LOCALID_MOM, 4, 5 - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_PLAYERS_HOUSE_1F_MOM, 4, 5 + setobjectmovementtype LOCALID_PLAYERS_HOUSE_1F_MOM, MOVEMENT_TYPE_FACE_UP return LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor:: - setobjectxyperm LOCALID_MOM, 9, 8 - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_PLAYERS_HOUSE_1F_MOM, 9, 8 + setobjectmovementtype LOCALID_PLAYERS_HOUSE_1F_MOM, MOVEMENT_TYPE_FACE_UP return @ Many of the below scripts have no gender check because they assume youre in the correct house @@ -62,8 +58,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_GoUpstairsToSetClock:: lockall msgbox PlayersHouse_1F_Text_GoSetTheClock, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs - applymovement LOCALID_MOM, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs + applymovement LOCALID_PLAYERS_HOUSE_1F_MOM, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs waitmovement 0 warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 7, 1 waitstate @@ -76,7 +72,7 @@ LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs: LittlerootTown_BrendansHouse_1F_EventScript_EnterHouseMovingIn:: lockall - setvar VAR_0x8004, LOCALID_MOM + setvar VAR_0x8004, LOCALID_PLAYERS_HOUSE_1F_MOM setvar VAR_0x8005, MALE goto PlayersHouse_1F_EventScript_EnterHouseMovingIn end @@ -84,19 +80,19 @@ LittlerootTown_BrendansHouse_1F_EventScript_EnterHouseMovingIn:: LittlerootTown_BrendansHouse_1F_EventScript_PetalburgGymReport:: lockall setvar VAR_0x8004, MALE - setvar VAR_0x8005, LOCALID_MOM + setvar VAR_0x8005, LOCALID_PLAYERS_HOUSE_1F_MOM goto PlayersHouse_1F_EventScript_PetalburgGymReportMale end LittlerootTown_BrendansHouse_1F_EventScript_YoureNewNeighbor:: lockall playse SE_PIN - applymovement LOCALID_RIVAL_MOM, Common_Movement_ExclamationMark + applymovement LOCALID_RIVALS_HOUSE_1F_MOM, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL_MOM, Common_Movement_Delay48 + applymovement LOCALID_RIVALS_HOUSE_1F_MOM, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_RIVAL_MOM, LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_RIVALS_HOUSE_1F_MOM, LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach waitmovement 0 special GetRivalSonDaughterString msgbox RivalsHouse_1F_Text_OhYoureTheNewNeighbor, MSGBOX_DEFAULT @@ -116,7 +112,7 @@ LittlerootTown_BrendansHouse_1F_Movement_RivalMomApproach: LittlerootTown_BrendansHouse_1F_EventScript_GoSeeRoom:: lockall - setvar VAR_0x8004, LOCALID_MOM + setvar VAR_0x8004, LOCALID_PLAYERS_HOUSE_1F_MOM setvar VAR_0x8005, MALE applymovement VAR_0x8004, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 @@ -144,12 +140,12 @@ LittlerootTown_BrendansHouse_1F_EventScript_MeetRival2:: LittlerootTown_BrendansHouse_1F_EventScript_MeetRival:: playse SE_EXIT delay 10 - addobject LOCALID_RIVAL + addobject LOCALID_RIVALS_HOUSE_1F_RIVAL delay 30 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, Common_Movement_Delay48 waitmovement 0 call_if_ne VAR_0x8008, 1, LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan playbgm MUS_ENCOUNTER_BRENDAN, TRUE @@ -162,7 +158,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_MeetRival:: call_if_eq VAR_0x8008, 1, LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1 call_if_eq VAR_0x8008, 2, LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2 playse SE_EXIT - removeobject LOCALID_RIVAL + removeobject LOCALID_RIVALS_HOUSE_1F_RIVAL setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM @@ -175,22 +171,22 @@ LittlerootTown_BrendansHouse_1F_EventScript_MeetRival:: end LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer0 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer0 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer1 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer1 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2 waitmovement 0 return @@ -221,20 +217,20 @@ LittlerootTown_BrendansHouse_1F_Movement_BrendanApproachPlayer2: step_end LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0:: - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit0 - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs0 + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit0 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs0 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1:: - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit1 - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs1 + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit1 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs1 waitmovement 0 return LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2:: - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit2 - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs2 + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PlayerWatchBrendanExit2 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_BrendansHouse_1F_Movement_BrendanGoUpstairs2 waitmovement 0 return diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.json b/data/maps/LittlerootTown_BrendansHouse_2F/map.json index e9b6834ee5..9b3852767a 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_RIVALS_HOUSE_2F_RIVAL", "graphics_id": "OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL", "x": 7, "y": 1, @@ -184,6 +185,7 @@ "flag": "FLAG_DECORATION_12" }, { + "local_id": "LOCALID_PLAYERS_HOUSE_2F_MOM", "graphics_id": "OBJ_EVENT_GFX_MOM", "x": 7, "y": 1, diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index fb0ceae4bf..5e9e72ee0c 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_RIVAL, 1 - LittlerootTown_BrendansHouse_2F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_BrendansHouse_2F_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_BrendansHouse_2F_OnWarp @@ -23,8 +21,8 @@ LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos:: goto_if_eq VAR_RESULT, MALE, LittlerootTown_BrendansHouse_2F_EventScript_Ret @ Odd that the MaysHouse equivalent was used below instead goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_MaysHouse_2F_EventScript_Ret - setobjectxyperm LOCALID_RIVAL, 0, 2 - setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_RIVALS_HOUSE_2F_RIVAL, 0, 2 + setobjectmovementtype LOCALID_RIVALS_HOUSE_2F_RIVAL, MOVEMENT_TYPE_FACE_UP return LittlerootTown_BrendansHouse_2F_EventScript_Ret:: @@ -57,13 +55,13 @@ LittlerootTown_BrendansHouse_2F_EventScript_RivalsPokeBall:: LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan:: delay 10 - addobject LOCALID_RIVAL - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanEnters + addobject LOCALID_RIVALS_HOUSE_2F_RIVAL + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanEnters waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, Common_Movement_Delay48 waitmovement 0 delay 10 playbgm MUS_ENCOUNTER_BRENDAN, TRUE @@ -81,49 +79,49 @@ LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan:: end LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerNorth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerNorth waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanNorth - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCNorth + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanNorth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCNorth waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerSouth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerSouth waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanSouth - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCSouth + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanSouth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCSouth waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerWest + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerWest waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanWest - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCWest + applymovement LOCALID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanWest + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCWest waitmovement 0 return LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast:: - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerEast + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanApproachPlayerEast waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox RivalsHouse_2F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement LOCALID_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCEast + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_BrendansHouse_2F_Movement_BrendanWalkToPCEast waitmovement 0 return diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.json b/data/maps/LittlerootTown_MaysHouse_1F/map.json index 4e4887003f..6fd26a9b96 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PLAYERS_HOUSE_1F_MOM", "graphics_id": "OBJ_EVENT_GFX_MOM", "x": 8, "y": 6, @@ -54,6 +55,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2" }, { + "local_id": "LOCALID_RIVALS_HOUSE_1F_MOM", "graphics_id": "OBJ_EVENT_GFX_WOMAN_4", "x": 8, "y": 7, @@ -67,6 +69,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM" }, { + "local_id": "LOCALID_PLAYERS_HOUSE_1F_DAD", "graphics_id": "OBJ_EVENT_GFX_NORMAN", "x": 5, "y": 6, @@ -93,6 +96,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING" }, { + "local_id": "LOCALID_RIVALS_HOUSE_1F_RIVAL", "graphics_id": "OBJ_EVENT_GFX_RIVAL_MAY_NORMAL", "x": 2, "y": 8, diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index 9924dcb921..368e86c2c4 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_MOM, 1 -.set LOCALID_RIVAL_MOM, 4 -.set LOCALID_RIVAL, 7 - LittlerootTown_MaysHouse_1F_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, LittlerootTown_MaysHouse_1F_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_1F_OnTransition @@ -34,18 +30,18 @@ LittlerootTown_MaysHouse_1F_OnTransition: end LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs:: - setobjectxyperm LOCALID_MOM, 2, 4 - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_PLAYERS_HOUSE_1F_MOM, 2, 4 + setobjectmovementtype LOCALID_PLAYERS_HOUSE_1F_MOM, MOVEMENT_TYPE_FACE_UP return LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV:: - setobjectxyperm LOCALID_MOM, 6, 5 - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_PLAYERS_HOUSE_1F_MOM, 6, 5 + setobjectmovementtype LOCALID_PLAYERS_HOUSE_1F_MOM, MOVEMENT_TYPE_FACE_UP return LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor:: - setobjectxyperm LOCALID_MOM, 1, 8 - setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_PLAYERS_HOUSE_1F_MOM, 1, 8 + setobjectmovementtype LOCALID_PLAYERS_HOUSE_1F_MOM, MOVEMENT_TYPE_FACE_UP return @ Many of the below scripts have no gender check because they assume youre in the correct house @@ -61,8 +57,8 @@ LittlerootTown_MaysHouse_1F_EventScript_GoUpstairsToSetClock:: lockall msgbox PlayersHouse_1F_Text_GoSetTheClock, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs - applymovement LOCALID_MOM, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs + applymovement LOCALID_PLAYERS_HOUSE_1F_MOM, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs waitmovement 0 warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 1, 1 waitstate @@ -75,7 +71,7 @@ LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs: LittlerootTown_MaysHouse_1F_EventScript_EnterHouseMovingIn:: lockall - setvar VAR_0x8004, LOCALID_MOM + setvar VAR_0x8004, LOCALID_PLAYERS_HOUSE_1F_MOM setvar VAR_0x8005, FEMALE goto PlayersHouse_1F_EventScript_EnterHouseMovingIn end @@ -83,19 +79,19 @@ LittlerootTown_MaysHouse_1F_EventScript_EnterHouseMovingIn:: LittlerootTown_MaysHouse_1F_EventScript_PetalburgGymReport:: lockall setvar VAR_0x8004, FEMALE - setvar VAR_0x8005, LOCALID_MOM + setvar VAR_0x8005, LOCALID_PLAYERS_HOUSE_1F_MOM goto PlayersHouse_1F_EventScript_PetalburgGymReportFemale end LittlerootTown_MaysHouse_1F_EventScript_YoureNewNeighbor:: lockall playse SE_PIN - applymovement LOCALID_RIVAL_MOM, Common_Movement_ExclamationMark + applymovement LOCALID_RIVALS_HOUSE_1F_MOM, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL_MOM, Common_Movement_Delay48 + applymovement LOCALID_RIVALS_HOUSE_1F_MOM, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_RIVAL_MOM, LittlerootTown_MaysHouse_1F_Movement_RivalMomApproach + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_RIVALS_HOUSE_1F_MOM, LittlerootTown_MaysHouse_1F_Movement_RivalMomApproach waitmovement 0 special GetRivalSonDaughterString msgbox RivalsHouse_1F_Text_OhYoureTheNewNeighbor, MSGBOX_DEFAULT @@ -149,7 +145,7 @@ RivalsHouse_1F_EventScript_RivalSibling:: LittlerootTown_MaysHouse_1F_EventScript_GoSeeRoom:: lockall - setvar VAR_0x8004, LOCALID_MOM + setvar VAR_0x8004, LOCALID_PLAYERS_HOUSE_1F_MOM setvar VAR_0x8005, FEMALE applymovement VAR_0x8004, Common_Movement_WalkInPlaceFasterRight waitmovement 0 @@ -177,12 +173,12 @@ LittlerootTown_MaysHouse_1F_EventScript_MeetRival2:: LittlerootTown_MaysHouse_1F_EventScript_MeetRival:: playse SE_EXIT delay 10 - addobject LOCALID_RIVAL + addobject LOCALID_RIVALS_HOUSE_1F_RIVAL delay 30 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, Common_Movement_Delay48 waitmovement 0 call_if_ne VAR_0x8008, 1, LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay playbgm MUS_ENCOUNTER_MAY, TRUE @@ -195,7 +191,7 @@ LittlerootTown_MaysHouse_1F_EventScript_MeetRival:: call_if_eq VAR_0x8008, 1, LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1 call_if_eq VAR_0x8008, 2, LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2 playse SE_EXIT - removeobject LOCALID_RIVAL + removeobject LOCALID_RIVALS_HOUSE_1F_RIVAL setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM @@ -208,22 +204,22 @@ LittlerootTown_MaysHouse_1F_EventScript_MeetRival:: end LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer0 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer0 waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer1 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer1 waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2 waitmovement 0 return @@ -254,20 +250,20 @@ LittlerootTown_MaysHouse_1F_Movement_MayApproachPlayer2: step_end LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0:: - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit0 - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs0 + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit0 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs0 waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1:: - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit1 - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs1 + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit1 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs1 waitmovement 0 return LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2:: - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit2 - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs2 + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PlayerWatchMayExit2 + applymovement LOCALID_RIVALS_HOUSE_1F_RIVAL, LittlerootTown_MaysHouse_1F_Movement_MayGoUpstairs2 waitmovement 0 return diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.json b/data/maps/LittlerootTown_MaysHouse_2F/map.json index ce3a5f5701..3cec7006c1 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_RIVALS_HOUSE_2F_RIVAL", "graphics_id": "OBJ_EVENT_GFX_RIVAL_MAY_NORMAL", "x": 1, "y": 1, @@ -184,6 +185,7 @@ "flag": "FLAG_DECORATION_12" }, { + "local_id": "LOCALID_PLAYERS_HOUSE_2F_MOM", "graphics_id": "OBJ_EVENT_GFX_MOM", "x": 1, "y": 1, diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index cef07a60a3..69217006a0 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_RIVAL, 1 - LittlerootTown_MaysHouse_2F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_MaysHouse_2F_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_MaysHouse_2F_OnWarp @@ -22,8 +20,8 @@ LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos:: checkplayergender goto_if_eq VAR_RESULT, FEMALE, LittlerootTown_MaysHouse_2F_EventScript_Ret goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_MaysHouse_2F_EventScript_Ret - setobjectxyperm LOCALID_RIVAL, 8, 2 - setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_RIVALS_HOUSE_2F_RIVAL, 8, 2 + setobjectmovementtype LOCALID_RIVALS_HOUSE_2F_RIVAL, MOVEMENT_TYPE_FACE_UP return LittlerootTown_MaysHouse_2F_EventScript_Ret:: @@ -56,13 +54,13 @@ LittlerootTown_MaysHouse_2F_EventScript_RivalsPokeBall:: LittlerootTown_MaysHouse_2F_EventScript_MeetMay:: delay 10 - addobject LOCALID_RIVAL - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayEnters + addobject LOCALID_RIVALS_HOUSE_2F_RIVAL + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayEnters waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, Common_Movement_Delay48 waitmovement 0 delay 10 playbgm MUS_ENCOUNTER_MAY, TRUE @@ -80,49 +78,49 @@ LittlerootTown_MaysHouse_2F_EventScript_MeetMay:: end LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerNorth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerNorth waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayNorth - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCNorth + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayNorth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCNorth waitmovement 0 return LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerSouth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerSouth waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMaySouth - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCSouth + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMaySouth + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCSouth waitmovement 0 return LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerWest + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerWest waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCWest + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCWest waitmovement 0 return LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast:: - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerEast + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayApproachPlayerEast waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox RivalsHouse_2F_Text_MayWhoAreYou, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayEast - applymovement LOCALID_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCEast + applymovement LOCALID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_PlayerWatchMayEast + applymovement LOCALID_RIVALS_HOUSE_2F_RIVAL, LittlerootTown_MaysHouse_2F_Movement_MayWalkToPCEast waitmovement 0 return diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json index d97c026bda..a701b4522d 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_BIRCHS_LAB_AIDE", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 9, "y": 8, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BIRCHS_LAB_BIRCH", "graphics_id": "OBJ_EVENT_GFX_PROF_BIRCH", "x": 6, "y": 4, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH" }, { + "local_id": "LOCALID_BIRCHS_LAB_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 7, "y": 4, @@ -54,6 +57,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL" }, { + "local_id": "LOCALID_BIRCHS_LAB_CYNDAQUIL_BALL", "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 8, @@ -67,6 +71,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL" }, { + "local_id": "LOCALID_BIRCHS_LAB_TOTODILE_BALL", "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 8, @@ -80,6 +85,7 @@ "flag": "FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE" }, { + "local_id": "LOCALID_BIRCHS_LAB_CHIKORITA_BALL", "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 8, diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index 6e050ba7ae..f404e0b218 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_AIDE, 1 -.set LOCALID_BIRCH, 2 -.set LOCALID_RIVAL, 3 -.set LOCALID_BALL_CYNDAQUIL, 4 -.set LOCALID_BALL_TOTODILE, 5 -.set LOCALID_BALL_CHIKORITA, 6 - LittlerootTown_ProfessorBirchsLab_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, LittlerootTown_ProfessorBirchsLab_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, LittlerootTown_ProfessorBirchsLab_OnWarp @@ -37,8 +30,8 @@ LittlerootTown_ProfessorBirchsLab_OnTransition: LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter:: specialvar VAR_RESULT, HasAllHoennMons goto_if_eq VAR_RESULT, TRUE, LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter - setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_WANDER_UP_AND_DOWN - setobjectxyperm LOCALID_RIVAL, 5, 10 + setobjectmovementtype LOCALID_BIRCHS_LAB_RIVAL, MOVEMENT_TYPE_WANDER_UP_AND_DOWN + setobjectxyperm LOCALID_BIRCHS_LAB_RIVAL, 5, 10 end LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter:: @@ -51,8 +44,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout:: LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout:: setmaplayoutindex LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE - setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_WANDER_UP_AND_DOWN - setobjectxyperm LOCALID_RIVAL, 5, 10 + setobjectmovementtype LOCALID_BIRCHS_LAB_RIVAL, MOVEMENT_TYPE_WANDER_UP_AND_DOWN + setobjectxyperm LOCALID_BIRCHS_LAB_RIVAL, 5, 10 end LittlerootTown_ProfessorBirchsLab_OnWarp: @@ -66,40 +59,40 @@ LittlerootTown_ProfessorBirchsLab_OnWarp: end_map_script_table LittlerootTown_ProfessorBirchsLab_EventScript_SetPlayerPosForReceiveStarter:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForDexUpgrade:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH - addobject LOCALID_BIRCH - addobject LOCALID_RIVAL - turnobject LOCALID_RIVAL, DIR_NORTH - setobjectxy LOCALID_RIVAL, 5, 5 - turnobject LOCALID_BIRCH, DIR_SOUTH - setobjectxy LOCALID_BIRCH, 6, 4 - turnobject LOCALID_AIDE, DIR_EAST - setobjectxy LOCALID_AIDE, 10, 10 + turnobject LOCALID_PLAYER, DIR_NORTH + addobject LOCALID_BIRCHS_LAB_BIRCH + addobject LOCALID_BIRCHS_LAB_RIVAL + turnobject LOCALID_BIRCHS_LAB_RIVAL, DIR_NORTH + setobjectxy LOCALID_BIRCHS_LAB_RIVAL, 5, 5 + turnobject LOCALID_BIRCHS_LAB_BIRCH, DIR_SOUTH + setobjectxy LOCALID_BIRCHS_LAB_BIRCH, 6, 4 + turnobject LOCALID_BIRCHS_LAB_AIDE, DIR_EAST + setobjectxy LOCALID_BIRCHS_LAB_AIDE, 10, 10 end LittlerootTown_ProfessorBirchsLab_EventScript_AddRivalObject:: - addobject LOCALID_RIVAL + addobject LOCALID_BIRCHS_LAB_RIVAL end LittlerootTown_ProfessorBirchsLab_EventScript_SetObjectPosForJohtoStarters:: - addobject LOCALID_BALL_CYNDAQUIL - addobject LOCALID_BALL_TOTODILE - addobject LOCALID_BALL_CHIKORITA - addobject LOCALID_RIVAL - turnobject LOCALID_BALL_CYNDAQUIL, DIR_SOUTH - setobjectxy LOCALID_BALL_CYNDAQUIL, 8, 4 - turnobject LOCALID_BALL_TOTODILE, DIR_SOUTH - setobjectxy LOCALID_BALL_TOTODILE, 9, 4 - turnobject LOCALID_BALL_CHIKORITA, DIR_SOUTH - setobjectxy LOCALID_BALL_CHIKORITA, 10, 4 - turnobject LOCALID_BIRCH, DIR_SOUTH - setobjectxy LOCALID_BIRCH, 6, 4 - turnobject LOCALID_RIVAL, DIR_EAST - setobjectxy LOCALID_RIVAL, 5, 5 + addobject LOCALID_BIRCHS_LAB_CYNDAQUIL_BALL + addobject LOCALID_BIRCHS_LAB_TOTODILE_BALL + addobject LOCALID_BIRCHS_LAB_CHIKORITA_BALL + addobject LOCALID_BIRCHS_LAB_RIVAL + turnobject LOCALID_BIRCHS_LAB_CYNDAQUIL_BALL, DIR_SOUTH + setobjectxy LOCALID_BIRCHS_LAB_CYNDAQUIL_BALL, 8, 4 + turnobject LOCALID_BIRCHS_LAB_TOTODILE_BALL, DIR_SOUTH + setobjectxy LOCALID_BIRCHS_LAB_TOTODILE_BALL, 9, 4 + turnobject LOCALID_BIRCHS_LAB_CHIKORITA_BALL, DIR_SOUTH + setobjectxy LOCALID_BIRCHS_LAB_CHIKORITA_BALL, 10, 4 + turnobject LOCALID_BIRCHS_LAB_BIRCH, DIR_SOUTH + setobjectxy LOCALID_BIRCHS_LAB_BIRCH, 6, 4 + turnobject LOCALID_BIRCHS_LAB_RIVAL, DIR_EAST + setobjectxy LOCALID_BIRCHS_LAB_RIVAL, 5, 5 end LittlerootTown_ProfessorBirchsLab_OnFrame: @@ -150,7 +143,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival:: LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedexEvent:: lockall - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForPokedex + applymovement LOCALID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForPokedex waitmovement 0 goto LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex end @@ -170,7 +163,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex:: delay 30 msgbox LittlerootTown_ProfessorBirchsLab_Text_OtherRegionsUpgradeToNational, MSGBOX_DEFAULT closemessage - applymovement LOCALID_BIRCH, LittlerootTown_ProfessorBirchsLab_Movement_BirchRetrievePokedexes + applymovement LOCALID_BIRCHS_LAB_BIRCH, LittlerootTown_ProfessorBirchsLab_Movement_BirchRetrievePokedexes waitmovement 0 delay 20 playse SE_CLICK @@ -181,8 +174,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex:: delay 10 playse SE_CLICK delay 20 - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_BIRCHS_LAB_RIVAL, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 checkplayergender call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment @@ -190,10 +183,10 @@ LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex:: playse SE_PC_ON waitse delay 20 - applymovement LOCALID_BIRCH, LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex + applymovement LOCALID_BIRCHS_LAB_BIRCH, LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterUp - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_BIRCHS_LAB_RIVAL, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_OkayAllDone, MSGBOX_DEFAULT playfanfare MUS_OBTAIN_ITEM @@ -256,7 +249,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_BirchReturnPokedex: LittlerootTown_ProfessorBirchsLab_EventScript_ChooseJohtoStarter:: lockall - applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter + applymovement LOCALID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter waitmovement 0 msgbox LittlerootTown_ProfessorBirchsLab_Text_CompletedDexChoosePokemon, MSGBOX_DEFAULT setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5 @@ -296,7 +289,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter:: LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil:: release goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_BIRCHS_LAB_BIRCH, Common_Movement_WalkInPlaceFasterRight waitmovement 0 showmonpic SPECIES_CYNDAQUIL, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeCyndaquil, MSGBOX_YESNO @@ -307,7 +300,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil:: LittlerootTown_ProfessorBirchsLab_EventScript_Totodile:: release goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_BIRCHS_LAB_BIRCH, Common_Movement_WalkInPlaceFasterRight waitmovement 0 showmonpic SPECIES_TOTODILE, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeTotodile, MSGBOX_YESNO @@ -318,7 +311,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_Totodile:: LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita:: release goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_BIRCHS_LAB_BIRCH, Common_Movement_WalkInPlaceFasterRight waitmovement 0 showmonpic SPECIES_CHIKORITA, 10, 3 msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeChikorita, MSGBOX_YESNO @@ -349,7 +342,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil:: LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter - removeobject LOCALID_BALL_CYNDAQUIL + removeobject LOCALID_BIRCHS_LAB_CYNDAQUIL_BALL msgbox gText_NicknameThisPokemon, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil call Common_EventScript_GetGiftMonPartySlot @@ -359,7 +352,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty:: LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter - removeobject LOCALID_BALL_CYNDAQUIL + removeobject LOCALID_BIRCHS_LAB_CYNDAQUIL_BALL msgbox gText_NicknameThisPokemon, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC call Common_EventScript_NameReceivedBoxMon @@ -390,7 +383,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile:: LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter - removeobject LOCALID_BALL_TOTODILE + removeobject LOCALID_BIRCHS_LAB_TOTODILE_BALL msgbox gText_NicknameThisPokemon, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile call Common_EventScript_GetGiftMonPartySlot @@ -400,7 +393,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty:: LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter - removeobject LOCALID_BALL_TOTODILE + removeobject LOCALID_BIRCHS_LAB_TOTODILE_BALL msgbox gText_NicknameThisPokemon, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC call Common_EventScript_NameReceivedBoxMon @@ -431,7 +424,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita:: LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter - removeobject LOCALID_BALL_CHIKORITA + removeobject LOCALID_BIRCHS_LAB_CHIKORITA_BALL msgbox gText_NicknameThisPokemon, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita call Common_EventScript_GetGiftMonPartySlot @@ -441,7 +434,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty:: LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter - removeobject LOCALID_BALL_CHIKORITA + removeobject LOCALID_BIRCHS_LAB_CHIKORITA_BALL msgbox gText_NicknameThisPokemon, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC call Common_EventScript_NameReceivedBoxMon @@ -515,9 +508,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex:: call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivePokedex msgbox LittlerootTown_ProfessorBirchsLab_Text_ExplainPokedex, MSGBOX_DEFAULT closemessage - applymovement LOCALID_RIVAL, LittlerootTown_ProfessorBirchsLab_Movement_RivalApproachPlayer + applymovement LOCALID_BIRCHS_LAB_RIVAL, LittlerootTown_ProfessorBirchsLab_Movement_RivalApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 checkplayergender call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls diff --git a/data/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json index d426affdec..f257ebaf5c 100644 --- a/data/maps/MagmaHideout_4F/map.json +++ b/data/maps/MagmaHideout_4F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_GROUDON", "graphics_id": "OBJ_EVENT_GFX_GROUDON_FRONT", "x": 16, "y": 17, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 31, "y": 22, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 30, "y": 13, @@ -54,6 +57,7 @@ "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_GRUNT_3", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 26, "y": 13, @@ -67,6 +71,7 @@ "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_TABITHA", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 22, "y": 4, @@ -80,6 +85,7 @@ "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 16, "y": 21, @@ -93,6 +99,7 @@ "flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS" }, { + "local_id": "LOCALID_MAGMA_HIDEOUT_4F_GROUDON_SLEEPING", "graphics_id": "OBJ_EVENT_GFX_GROUDON_ASLEEP", "x": 16, "y": 17, diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc index f44c86adae..7e9931447b 100644 --- a/data/maps/MagmaHideout_4F/scripts.inc +++ b/data/maps/MagmaHideout_4F/scripts.inc @@ -1,11 +1,3 @@ -.set LOCALID_GROUDON, 1 -.set LOCALID_GRUNT_1, 2 -.set LOCALID_GRUNT_2, 3 -.set LOCALID_GRUNT_3, 4 -.set LOCALID_TABITHA, 5 -.set LOCALID_MAXIE, 6 -.set LOCALID_GROUDON_SLEEPING, 7 - MagmaHideout_4F_MapScripts:: end_map_scripts @@ -23,14 +15,14 @@ MagmaHideout_4F_EventScript_Maxie:: playfanfare MUS_AWAKEN_LEGEND playse SE_ORB special DoOrbEffect - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 150 - removeobject LOCALID_GROUDON_SLEEPING - addobject LOCALID_GROUDON + removeobject LOCALID_MAGMA_HIDEOUT_4F_GROUDON_SLEEPING + addobject LOCALID_MAGMA_HIDEOUT_4F_GROUDON waitstate delay 60 - applymovement LOCALID_GROUDON, MagmaHideout_4F_Movement_GroudonApproach + applymovement LOCALID_MAGMA_HIDEOUT_4F_GROUDON, MagmaHideout_4F_Movement_GroudonApproach waitmovement 0 special FadeOutOrbEffect waitstate @@ -40,9 +32,9 @@ MagmaHideout_4F_EventScript_Maxie:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_GROUDON, MagmaHideout_4F_Movement_GroudonExit + applymovement LOCALID_MAGMA_HIDEOUT_4F_GROUDON, MagmaHideout_4F_Movement_GroudonExit waitmovement 0 - removeobject LOCALID_GROUDON + removeobject LOCALID_MAGMA_HIDEOUT_4F_GROUDON delay 4 setvar VAR_0x8004, 2 @ vertical pan setvar VAR_0x8005, 2 @ horizontal pan @@ -51,14 +43,14 @@ MagmaHideout_4F_EventScript_Maxie:: special ShakeCamera waitstate delay 30 - applymovement LOCALID_MAXIE, MagmaHideout_4F_Movement_MaxieLookAround + applymovement LOCALID_MAGMA_HIDEOUT_4F_MAXIE, MagmaHideout_4F_Movement_MaxieLookAround waitmovement 0 msgbox MagmaHideout_4F_Text_MaxieGroudonWhatsWrong, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 30 - applymovement LOCALID_MAXIE, Common_Movement_FacePlayer + applymovement LOCALID_MAGMA_HIDEOUT_4F_MAXIE, Common_Movement_FacePlayer waitmovement 0 msgbox MagmaHideout_4F_Text_MaxieOhItWasYou, MSGBOX_DEFAULT closemessage @@ -71,11 +63,11 @@ MagmaHideout_4F_EventScript_Maxie:: setflag FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT setvar VAR_SLATEPORT_HARBOR_STATE, 1 fadescreen FADE_TO_BLACK - removeobject LOCALID_MAXIE - removeobject LOCALID_GRUNT_1 - removeobject LOCALID_GRUNT_2 - removeobject LOCALID_GRUNT_3 - removeobject LOCALID_TABITHA + removeobject LOCALID_MAGMA_HIDEOUT_4F_MAXIE + removeobject LOCALID_MAGMA_HIDEOUT_4F_GRUNT_1 + removeobject LOCALID_MAGMA_HIDEOUT_4F_GRUNT_2 + removeobject LOCALID_MAGMA_HIDEOUT_4F_GRUNT_3 + removeobject LOCALID_MAGMA_HIDEOUT_4F_TABITHA setflag FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS fadescreen FADE_FROM_BLACK releaseall diff --git a/data/maps/MarineCave_End/map.json b/data/maps/MarineCave_End/map.json index 3430b2da0d..6e59768d5b 100644 --- a/data/maps/MarineCave_End/map.json +++ b/data/maps/MarineCave_End/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MARINE_CAVE_KYOGRE", "graphics_id": "OBJ_EVENT_GFX_KYOGRE_FRONT", "x": 9, "y": 22, diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index 349436166b..8e2aad4257 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_KYOGRE, 1 - MarineCave_End_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, MarineCave_End_OnResume map_script MAP_SCRIPT_ON_TRANSITION, MarineCave_End_OnTransition @@ -12,7 +10,7 @@ MarineCave_End_OnResume: MarineCave_End_EventScript_TryRemoveKyogre:: specialvar VAR_RESULT, GetBattleOutcome goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn - removeobject LOCALID_KYOGRE + removeobject LOCALID_MARINE_CAVE_KYOGRE return MarineCave_End_OnTransition: @@ -26,15 +24,15 @@ MarineCave_End_EventScript_ShowKyogre:: MarineCave_End_EventScript_Kyogre:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement LOCALID_KYOGRE, MarineCave_End_Movement_KyogreApproach + applymovement LOCALID_MARINE_CAVE_KYOGRE, MarineCave_End_Movement_KyogreApproach waitmovement 0 waitse playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER delay 40 waitmoncry - setvar VAR_LAST_TALKED, LOCALID_KYOGRE + setvar VAR_LAST_TALKED, LOCALID_MARINE_CAVE_KYOGRE setwildbattle SPECIES_KYOGRE, 70 setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json index f4da4222b1..cac4bf8067 100644 --- a/data/maps/MauvilleCity/map.json +++ b/data/maps/MauvilleCity/map.json @@ -101,6 +101,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MAUVILLE_WALLY", "graphics_id": "OBJ_EVENT_GFX_WALLY", "x": 8, "y": 6, @@ -114,6 +115,7 @@ "flag": "FLAG_HIDE_MAUVILLE_CITY_WALLY" }, { + "local_id": "LOCALID_MAUVILLE_WALLYS_UNCLE", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "x": 9, "y": 6, @@ -166,6 +168,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MAUVILLE_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 12, "y": 14, diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index e09d2a2885..795844d722 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_WALLY, 6 -.set LOCALID_WALLYS_UNCLE, 7 -.set LOCALID_SCOTT, 11 - MauvilleCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_OnTransition end_map_scripts @@ -74,7 +70,7 @@ MauvilleCity_EventScript_WallysUncle:: goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_UncleAskPlayerToBattleWally msgbox MauvilleCity_Text_UncleHesTooPeppy, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WALLYS_UNCLE, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -82,7 +78,7 @@ MauvilleCity_EventScript_WallysUncle:: MauvilleCity_EventScript_UncleAskPlayerToBattleWally:: msgbox MauvilleCity_Text_UncleCanYouBattleWally, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WALLYS_UNCLE, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -90,17 +86,17 @@ MauvilleCity_EventScript_UncleAskPlayerToBattleWally:: MauvilleCity_EventScript_Wally:: lockall goto_if_set FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, MauvilleCity_EventScript_WallyRequestBattleAgain - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox MauvilleCity_Text_WallyWantToChallengeGym, MSGBOX_DEFAULT msgbox MauvilleCity_Text_UncleYourePushingIt, MSGBOX_DEFAULT msgbox MauvilleCity_Text_WallyWeCanBeatAnyone, MSGBOX_DEFAULT - applymovement LOCALID_WALLY, Common_Movement_FacePlayer + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_FacePlayer waitmovement 0 playse SE_PIN - applymovement LOCALID_WALLY, Common_Movement_ExclamationMark + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_WALLY, Common_Movement_Delay48 + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_Delay48 waitmovement 0 msgbox MauvilleCity_Text_WallyWillYouBattleMe, MSGBOX_YESNO goto MauvilleCity_EventScript_BattleWallyPrompt @@ -116,47 +112,47 @@ MauvilleCity_EventScript_BattleWallyPrompt:: end MauvilleCity_EventScript_WallyAndUncleExitNorth:: - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth1 - applymovement LOCALID_WALLY, MauvilleCity_Movement_WallyExitNorth1 - applymovement LOCALID_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitNorth1 + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth1 + applymovement LOCALID_MAUVILLE_WALLY, MauvilleCity_Movement_WallyExitNorth1 + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitNorth1 waitmovement 0 - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 30 - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerFaceUncleNorth - applymovement LOCALID_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleApproachPlayerNorth + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerFaceUncleNorth + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleApproachPlayerNorth waitmovement 0 msgbox MauvilleCity_Text_UncleVisitUsSometime, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth2 - applymovement LOCALID_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitNorth2 - applymovement LOCALID_WALLY, MauvilleCity_Movement_WallyExitNorth2 + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitNorth2 + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitNorth2 + applymovement LOCALID_MAUVILLE_WALLY, MauvilleCity_Movement_WallyExitNorth2 waitmovement 0 goto MauvilleCity_EventScript_DefeatedWally end MauvilleCity_EventScript_WallyAndUncleExitEast:: - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast1 - applymovement LOCALID_WALLY, MauvilleCity_Movement_WallyExitEast1 - applymovement LOCALID_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitEast1 + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast1 + applymovement LOCALID_MAUVILLE_WALLY, MauvilleCity_Movement_WallyExitEast1 + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitEast1 waitmovement 0 - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 30 - applymovement LOCALID_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleApproachPlayerEast + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleApproachPlayerEast waitmovement 0 msgbox MauvilleCity_Text_UncleVisitUsSometime, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast2 - applymovement LOCALID_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitEast2 - applymovement LOCALID_WALLY, MauvilleCity_Movement_WallyExitEast2 + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerWatchWallyExitEast2 + applymovement LOCALID_MAUVILLE_WALLYS_UNCLE, MauvilleCity_Movement_WallysUncleExitEast2 + applymovement LOCALID_MAUVILLE_WALLY, MauvilleCity_Movement_WallyExitEast2 waitmovement 0 goto MauvilleCity_EventScript_DefeatedWally end MauvilleCity_EventScript_DefeatedWally:: - removeobject LOCALID_WALLY - removeobject LOCALID_WALLYS_UNCLE + removeobject LOCALID_MAUVILLE_WALLY + removeobject LOCALID_MAUVILLE_WALLYS_UNCLE clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE setflag FLAG_DEFEATED_WALLY_MAUVILLE @@ -164,52 +160,52 @@ MauvilleCity_EventScript_DefeatedWally:: setflag FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL call_if_eq VAR_FACING, DIR_NORTH, MauvilleCity_EventScript_ScottApproachPlayerNorth call_if_eq VAR_FACING, DIR_EAST, MauvilleCity_EventScript_ScottApproachPlayerEast - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox MauvilleCity_Text_ScottYouDidntHoldBack, MSGBOX_DEFAULT closemessage addvar VAR_SCOTT_STATE, 1 call_if_eq VAR_FACING, DIR_NORTH, MauvilleCity_EventScript_ScottExitNorth call_if_eq VAR_FACING, DIR_EAST, MauvilleCity_EventScript_ScottExitEast - removeobject LOCALID_SCOTT + removeobject LOCALID_MAUVILLE_SCOTT releaseall end MauvilleCity_EventScript_ScottApproachPlayerNorth:: - addobject LOCALID_SCOTT - applymovement LOCALID_SCOTT, MauvilleCity_Movement_ScottApproachPlayerNorth + addobject LOCALID_MAUVILLE_SCOTT + applymovement LOCALID_MAUVILLE_SCOTT, MauvilleCity_Movement_ScottApproachPlayerNorth waitmovement 0 return MauvilleCity_EventScript_ScottApproachPlayerEast:: - setobjectxyperm LOCALID_SCOTT, 12, 13 - addobject LOCALID_SCOTT - applymovement LOCALID_SCOTT, MauvilleCity_Movement_ScottApproachPlayerEast + setobjectxyperm LOCALID_MAUVILLE_SCOTT, 12, 13 + addobject LOCALID_MAUVILLE_SCOTT + applymovement LOCALID_MAUVILLE_SCOTT, MauvilleCity_Movement_ScottApproachPlayerEast waitmovement 0 return MauvilleCity_EventScript_ScottExitNorth:: - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitNorth - applymovement LOCALID_SCOTT, MauvilleCity_Movement_ScottExitNorth + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitNorth + applymovement LOCALID_MAUVILLE_SCOTT, MauvilleCity_Movement_ScottExitNorth waitmovement 0 return MauvilleCity_EventScript_ScottExitEast:: - applymovement OBJ_EVENT_ID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitEast - applymovement LOCALID_SCOTT, MauvilleCity_Movement_ScottExitEast + applymovement LOCALID_PLAYER, MauvilleCity_Movement_PlayerWatchScottExitEast + applymovement LOCALID_MAUVILLE_SCOTT, MauvilleCity_Movement_ScottExitEast waitmovement 0 return MauvilleCity_EventScript_BattleWally:: msgbox MauvilleCity_Text_WallyHereICome, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_WALLY_MAUVILLE, MauvilleCity_Text_WallyDefeat - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox MauvilleCity_Text_WallyIllGoBackToVerdanturf, MSGBOX_DEFAULT - applymovement LOCALID_WALLY, Common_Movement_FacePlayer + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_FacePlayer waitmovement 0 msgbox MauvilleCity_Text_ThankYouNotEnoughToBattle, MSGBOX_DEFAULT - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox MauvilleCity_Text_UncleNoNeedToBeDown, MSGBOX_DEFAULT return @@ -221,7 +217,7 @@ MauvilleCity_EventScript_DeclineWallyBattle:: end MauvilleCity_EventScript_WallyRequestBattleAgain:: - applymovement LOCALID_WALLY, Common_Movement_FacePlayer + applymovement LOCALID_MAUVILLE_WALLY, Common_Movement_FacePlayer waitmovement 0 msgbox MauvilleCity_Text_WallyPleaseBattleMe, MSGBOX_YESNO goto MauvilleCity_EventScript_BattleWallyPrompt diff --git a/data/maps/MauvilleCity_Mart/map.json b/data/maps/MauvilleCity_Mart/map.json index 53ab6ce227..d48970d9ea 100644 --- a/data/maps/MauvilleCity_Mart/map.json +++ b/data/maps/MauvilleCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MAUVILLE_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/MauvilleCity_Mart/scripts.inc b/data/maps/MauvilleCity_Mart/scripts.inc index 46faa9a420..656405285c 100644 --- a/data/maps/MauvilleCity_Mart/scripts.inc +++ b/data/maps/MauvilleCity_Mart/scripts.inc @@ -25,9 +25,7 @@ MauvilleCity_Mart_Pokemart: .2byte ITEM_GUARD_SPEC .2byte ITEM_DIRE_HIT .2byte ITEM_X_ACCURACY - .2byte ITEM_NONE - release - end + pokemartlistend MauvilleCity_Mart_EventScript_ExpertM:: msgbox MauvilleCity_Mart_Text_ItemsToTemporarilyElevateStats, MSGBOX_NPC diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/map.json b/data/maps/MauvilleCity_PokemonCenter_1F/map.json index 1b0a401b84..4592d77b72 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MAUVILLE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index 1d81e417ef..4314a3ac11 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - MauvilleCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MauvilleCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -16,7 +14,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_SetMauvilleOldManGfx:: end MauvilleCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_MAUVILLE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index e0d32c5804..7aa0e579ce 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -67,6 +67,7 @@ "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP" }, { + "local_id": "LOCALID_METEOR_FALLS_MAGMA_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 12, "y": 20, @@ -80,6 +81,7 @@ "flag": "FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA" }, { + "local_id": "LOCALID_METEOR_FALLS_MAGMA_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 14, "y": 21, @@ -93,6 +95,7 @@ "flag": "FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA" }, { + "local_id": "LOCALID_METEOR_FALLS_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 6, "y": 20, @@ -106,6 +109,7 @@ "flag": "FLAG_HIDE_METEOR_FALLS_TEAM_AQUA" }, { + "local_id": "LOCALID_METEOR_FALLS_AQUA_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 6, "y": 20, @@ -119,6 +123,7 @@ "flag": "FLAG_HIDE_METEOR_FALLS_TEAM_AQUA" }, { + "local_id": "LOCALID_METEOR_FALLS_AQUA_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 6, "y": 21, diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc index 06549b010e..7ae9866661 100644 --- a/data/maps/MeteorFalls_1F_1R/scripts.inc +++ b/data/maps/MeteorFalls_1F_1R/scripts.inc @@ -1,9 +1,3 @@ -.set LOCALID_MAGMA_GRUNT_1, 5 -.set LOCALID_MAGMA_GRUNT_2, 6 -.set LOCALID_ARCHIE, 7 -.set LOCALID_AQUA_GRUNT_1, 8 -.set LOCALID_AQUA_GRUNT_2, 9 - MeteorFalls_1F_1R_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, MeteorFalls_1F_1R_OnLoad end_map_scripts @@ -22,73 +16,73 @@ MeteorFalls_1F_1R_EventScript_OpenStevensCave:: MeteorFalls_1F_1R_EventScript_MagmaStealsMeteoriteScene:: lockall playbgm MUS_ENCOUNTER_MAGMA, FALSE - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceDown + applymovement LOCALID_PLAYER, Common_Movement_FaceDown waitmovement 0 delay 30 - applymovement LOCALID_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceDown + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceDown waitmovement 0 msgbox MeteorFalls_1F_1R_Text_WithThisMeteorite, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceFasterUp - applymovement LOCALID_MAGMA_GRUNT_2, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_2, Common_Movement_WalkInPlaceFasterUp waitmovement 0 playse SE_PIN - applymovement LOCALID_MAGMA_GRUNT_1, Common_Movement_ExclamationMark + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_MAGMA_GRUNT_1, Common_Movement_Delay48 + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, Common_Movement_Delay48 waitmovement 0 msgbox MeteorFalls_1F_1R_Text_DontExpectMercyFromMagma, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MAGMA_GRUNT_1, MeteorFalls_1F_1R_Movement_MagmaGruntApproachPlayer + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, MeteorFalls_1F_1R_Movement_MagmaGruntApproachPlayer waitmovement 0 msgbox MeteorFalls_1F_1R_Text_HoldItRightThereMagma, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_MAGMA_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 - addobject LOCALID_ARCHIE - addobject LOCALID_AQUA_GRUNT_1 - addobject LOCALID_AQUA_GRUNT_2 + addobject LOCALID_METEOR_FALLS_ARCHIE + addobject LOCALID_METEOR_FALLS_AQUA_GRUNT_1 + addobject LOCALID_METEOR_FALLS_AQUA_GRUNT_2 playbgm MUS_ENCOUNTER_AQUA, FALSE - applymovement LOCALID_ARCHIE, MeteorFalls_1F_1R_Movement_ArchieArrive - applymovement LOCALID_AQUA_GRUNT_1, MeteorFalls_1F_1R_Movement_AquaGrunt1Arrive - applymovement LOCALID_AQUA_GRUNT_2, MeteorFalls_1F_1R_Movement_AquaGrunt2Arrive + applymovement LOCALID_METEOR_FALLS_ARCHIE, MeteorFalls_1F_1R_Movement_ArchieArrive + applymovement LOCALID_METEOR_FALLS_AQUA_GRUNT_1, MeteorFalls_1F_1R_Movement_AquaGrunt1Arrive + applymovement LOCALID_METEOR_FALLS_AQUA_GRUNT_2, MeteorFalls_1F_1R_Movement_AquaGrunt2Arrive waitmovement 0 - applymovement LOCALID_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_MAGMA_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox MeteorFalls_1F_1R_Text_BeSeeingYouTeamAqua, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, MeteorFalls_1F_1R_Movement_PushPlayerOutOfWay - applymovement LOCALID_MAGMA_GRUNT_1, MeteorFalls_1F_1R_Movement_MagmaGrunt1Exit - applymovement LOCALID_MAGMA_GRUNT_2, MeteorFalls_1F_1R_Movement_MagmaGrunt2Exit + applymovement LOCALID_PLAYER, MeteorFalls_1F_1R_Movement_PushPlayerOutOfWay + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_1, MeteorFalls_1F_1R_Movement_MagmaGrunt1Exit + applymovement LOCALID_METEOR_FALLS_MAGMA_GRUNT_2, MeteorFalls_1F_1R_Movement_MagmaGrunt2Exit waitmovement 0 - removeobject LOCALID_MAGMA_GRUNT_1 - removeobject LOCALID_MAGMA_GRUNT_2 - applymovement LOCALID_ARCHIE, MeteorFalls_1F_1R_Movement_ArchieApproachPlayer + removeobject LOCALID_METEOR_FALLS_MAGMA_GRUNT_1 + removeobject LOCALID_METEOR_FALLS_MAGMA_GRUNT_2 + applymovement LOCALID_METEOR_FALLS_ARCHIE, MeteorFalls_1F_1R_Movement_ArchieApproachPlayer waitmovement 0 msgbox MeteorFalls_1F_1R_Text_ArchieSeenYouBefore, MSGBOX_DEFAULT closemessage - applymovement LOCALID_AQUA_GRUNT_1, MeteorFalls_1F_1R_Movement_AquaGrunt1ApproachArchie - applymovement LOCALID_AQUA_GRUNT_2, MeteorFalls_1F_1R_Movement_AquaGrunt2ApproachArchie + applymovement LOCALID_METEOR_FALLS_AQUA_GRUNT_1, MeteorFalls_1F_1R_Movement_AquaGrunt1ApproachArchie + applymovement LOCALID_METEOR_FALLS_AQUA_GRUNT_2, MeteorFalls_1F_1R_Movement_AquaGrunt2ApproachArchie waitmovement 0 msgbox MeteorFalls_1F_1R_Text_BossWeShouldChaseMagma, MSGBOX_DEFAULT - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_METEOR_FALLS_ARCHIE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox MeteorFalls_1F_1R_Text_ArchieYesNoTellingWhatMagmaWillDo, MSGBOX_DEFAULT - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_METEOR_FALLS_ARCHIE, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox MeteorFalls_1F_1R_Text_ArchieFarewell, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARCHIE, MeteorFalls_1F_1R_Movement_ArchieExit - applymovement LOCALID_AQUA_GRUNT_1, MeteorFalls_1F_1R_Movement_AquaGrunt1Exit - applymovement LOCALID_AQUA_GRUNT_2, MeteorFalls_1F_1R_Movement_AquaGrunt2Exit + applymovement LOCALID_METEOR_FALLS_ARCHIE, MeteorFalls_1F_1R_Movement_ArchieExit + applymovement LOCALID_METEOR_FALLS_AQUA_GRUNT_1, MeteorFalls_1F_1R_Movement_AquaGrunt1Exit + applymovement LOCALID_METEOR_FALLS_AQUA_GRUNT_2, MeteorFalls_1F_1R_Movement_AquaGrunt2Exit waitmovement 0 fadedefaultbgm - removeobject LOCALID_ARCHIE - removeobject LOCALID_AQUA_GRUNT_1 - removeobject LOCALID_AQUA_GRUNT_2 + removeobject LOCALID_METEOR_FALLS_ARCHIE + removeobject LOCALID_METEOR_FALLS_AQUA_GRUNT_1 + removeobject LOCALID_METEOR_FALLS_AQUA_GRUNT_2 setflag FLAG_HIDE_ROUTE_112_TEAM_MAGMA setflag FLAG_MET_ARCHIE_METEOR_FALLS setflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT diff --git a/data/maps/MeteorFalls_StevensCave/map.json b/data/maps/MeteorFalls_StevensCave/map.json index 8e329fc0d3..69520324c6 100644 --- a/data/maps/MeteorFalls_StevensCave/map.json +++ b/data/maps/MeteorFalls_StevensCave/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_METEOR_FALLS_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 19, "y": 3, diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc index 45669e978b..73ce1b38fc 100644 --- a/data/maps/MeteorFalls_StevensCave/scripts.inc +++ b/data/maps/MeteorFalls_StevensCave/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_STEVEN, 1 - MeteorFalls_StevensCave_MapScripts:: end_map_scripts @@ -8,11 +6,11 @@ MeteorFalls_StevensCave_EventScript_Steven:: goto_if_set FLAG_DEFEATED_METEOR_FALLS_STEVEN, MeteorFalls_StevensCave_EventScript_Defeated waitse playse SE_PIN - applymovement LOCALID_STEVEN, Common_Movement_ExclamationMark + applymovement LOCALID_METEOR_FALLS_STEVEN, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_STEVEN, Common_Movement_Delay48 + applymovement LOCALID_METEOR_FALLS_STEVEN, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_STEVEN, Common_Movement_FacePlayer + applymovement LOCALID_METEOR_FALLS_STEVEN, Common_Movement_FacePlayer waitmovement 0 msgbox MeteorFalls_StevensCave_Text_ShouldKnowHowGoodIAmExpectWorst, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_StevenDefeat @@ -22,7 +20,7 @@ MeteorFalls_StevensCave_EventScript_Steven:: end MeteorFalls_StevensCave_EventScript_Defeated:: - applymovement LOCALID_STEVEN, Common_Movement_FacePlayer + applymovement LOCALID_METEOR_FALLS_STEVEN, Common_Movement_FacePlayer waitmovement 0 msgbox MeteorFalls_StevensCave_Text_MyPredictionCameTrue, MSGBOX_DEFAULT release diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json index fb375f6ae1..a1873a9c54 100644 --- a/data/maps/MirageTower_4F/map.json +++ b/data/maps/MirageTower_4F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MIRAGE_ROOT_FOSSIL", "graphics_id": "OBJ_EVENT_GFX_FOSSIL", "x": 5, "y": 4, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL" }, { + "local_id": "LOCALID_MIRAGE_CLAW_FOSSIL", "graphics_id": "OBJ_EVENT_GFX_FOSSIL", "x": 7, "y": 4, diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc index 06026c9a61..e87ef8de33 100644 --- a/data/maps/MirageTower_4F/scripts.inc +++ b/data/maps/MirageTower_4F/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_ROOT_FOSSIL, 1 -.set LOCALID_CLAW_FOSSIL, 2 - MirageTower_4F_MapScripts:: end_map_scripts @@ -13,7 +10,7 @@ MirageTower_4F_EventScript_RootFossil:: closemessage setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL - removeobject LOCALID_ROOT_FOSSIL + removeobject LOCALID_MIRAGE_ROOT_FOSSIL delay 30 setflag FLAG_CHOSE_ROOT_FOSSIL goto MirageTower_4F_EventScript_CollapseMirageTower @@ -33,7 +30,7 @@ MirageTower_4F_EventScript_ClawFossil:: closemessage setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL - removeobject LOCALID_CLAW_FOSSIL + removeobject LOCALID_MIRAGE_CLAW_FOSSIL delay 30 setflag FLAG_CHOSE_CLAW_FOSSIL goto MirageTower_4F_EventScript_CollapseMirageTower diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json index 3759694d88..446d2b9966 100644 --- a/data/maps/MossdeepCity/map.json +++ b/data/maps/MossdeepCity/map.json @@ -148,6 +148,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MOSSDEEP_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 44, "y": 23, @@ -161,6 +162,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA" }, { + "local_id": "LOCALID_MOSSDEEP_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 44, "y": 24, @@ -174,6 +176,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA" }, { + "local_id": "LOCALID_MOSSDEEP_GRUNT_3", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 44, "y": 25, @@ -187,6 +190,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA" }, { + "local_id": "LOCALID_MOSSDEEP_GRUNT_4", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 44, "y": 26, @@ -200,6 +204,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA" }, { + "local_id": "LOCALID_MOSSDEEP_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 45, "y": 25, @@ -226,6 +231,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MOSSDEEP_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 61, "y": 29, diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index ac7c03f205..374b23c72c 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_GRUNT_1, 10 -.set LOCALID_GRUNT_2, 11 -.set LOCALID_GRUNT_3, 12 -.set LOCALID_GRUNT_4, 13 -.set LOCALID_MAXIE, 14 -.set LOCALID_SCOTT, 16 - MossdeepCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_OnTransition end_map_scripts @@ -82,24 +75,24 @@ MossdeepCity_EventScript_VisitedMossdeep:: MossdeepCity_EventScript_TeamMagmaEnterSpaceCenter:: lockall - applymovement LOCALID_MAXIE, MossdeepCity_Movement_MaxieGestureToSpaceCenter + applymovement LOCALID_MOSSDEEP_MAXIE, MossdeepCity_Movement_MaxieGestureToSpaceCenter waitmovement 0 - applymovement LOCALID_GRUNT_1, MossdeepCity_Movement_GruntFaceSpaceCenter - applymovement LOCALID_GRUNT_2, MossdeepCity_Movement_GruntFaceSpaceCenter - applymovement LOCALID_GRUNT_3, MossdeepCity_Movement_GruntFaceSpaceCenter - applymovement LOCALID_GRUNT_4, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_1, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_2, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_3, MossdeepCity_Movement_GruntFaceSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_4, MossdeepCity_Movement_GruntFaceSpaceCenter waitmovement 0 - applymovement LOCALID_MAXIE, MossdeepCity_Movement_MaxieEnterSpaceCenter - applymovement LOCALID_GRUNT_1, MossdeepCity_Movement_Grunt1EnterSpaceCenter - applymovement LOCALID_GRUNT_2, MossdeepCity_Movement_Grunt2EnterSpaceCenter - applymovement LOCALID_GRUNT_3, MossdeepCity_Movement_Grunt3EnterSpaceCenter - applymovement LOCALID_GRUNT_4, MossdeepCity_Movement_Grunt4EnterSpaceCenter + applymovement LOCALID_MOSSDEEP_MAXIE, MossdeepCity_Movement_MaxieEnterSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_1, MossdeepCity_Movement_Grunt1EnterSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_2, MossdeepCity_Movement_Grunt2EnterSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_3, MossdeepCity_Movement_Grunt3EnterSpaceCenter + applymovement LOCALID_MOSSDEEP_GRUNT_4, MossdeepCity_Movement_Grunt4EnterSpaceCenter waitmovement 0 - removeobject LOCALID_MAXIE - removeobject LOCALID_GRUNT_1 - removeobject LOCALID_GRUNT_2 - removeobject LOCALID_GRUNT_3 - removeobject LOCALID_GRUNT_4 + removeobject LOCALID_MOSSDEEP_MAXIE + removeobject LOCALID_MOSSDEEP_GRUNT_1 + removeobject LOCALID_MOSSDEEP_GRUNT_2 + removeobject LOCALID_MOSSDEEP_GRUNT_3 + removeobject LOCALID_MOSSDEEP_GRUNT_4 delay 30 setvar VAR_MOSSDEEP_CITY_STATE, 2 setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA @@ -263,19 +256,19 @@ MossdeepCity_EventScript_Scott:: call_if_eq VAR_FACING, DIR_NORTH, MossdeepCity_EventScript_ScottExitNorth call_if_eq VAR_FACING, DIR_EAST, MossdeepCity_EventScript_ScottExitEast addvar VAR_SCOTT_STATE, 1 - removeobject LOCALID_SCOTT + removeobject LOCALID_MOSSDEEP_SCOTT release end MossdeepCity_EventScript_ScottExitNorth:: - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit - applymovement LOCALID_SCOTT, MossdeepCity_Movement_ScottExitNorth + applymovement LOCALID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit + applymovement LOCALID_MOSSDEEP_SCOTT, MossdeepCity_Movement_ScottExitNorth waitmovement 0 return MossdeepCity_EventScript_ScottExitEast:: - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit - applymovement LOCALID_SCOTT, MossdeepCity_Movement_ScottExitEast + applymovement LOCALID_PLAYER, MossdeepCity_Movement_PlayerWatchScottExit + applymovement LOCALID_MOSSDEEP_SCOTT, MossdeepCity_Movement_ScottExitEast waitmovement 0 return diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index 760ba1dc99..fd53f4dbca 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -114,7 +114,7 @@ MossdeepCity_Gym_EventScript_Switch1:: lockall goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_1, MossdeepCity_Gym_EventScript_ClearSwitch1 setflag FLAG_MOSSDEEP_GYM_SWITCH_1 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 5, 5, METATILE_RSMossdeepGym_RedArrow_Right, FALSE setmetatile 2, 7, METATILE_RSMossdeepGym_Switch_Down, TRUE @@ -129,7 +129,7 @@ MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed:: MossdeepCity_Gym_EventScript_ClearSwitch1:: clearflag FLAG_MOSSDEEP_GYM_SWITCH_1 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 5, 5, METATILE_RSMossdeepGym_RedArrow_Left, FALSE setmetatile 2, 7, METATILE_RSMossdeepGym_Switch_Up, TRUE @@ -140,7 +140,7 @@ MossdeepCity_Gym_EventScript_Switch2:: lockall goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_2, MossdeepCity_Gym_EventScript_ClearSwitch2 setflag FLAG_MOSSDEEP_GYM_SWITCH_2 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 8, 14, METATILE_RSMossdeepGym_RedArrow_Right, FALSE setmetatile 8, 10, METATILE_RSMossdeepGym_Switch_Down, TRUE @@ -149,7 +149,7 @@ MossdeepCity_Gym_EventScript_Switch2:: MossdeepCity_Gym_EventScript_ClearSwitch2:: clearflag FLAG_MOSSDEEP_GYM_SWITCH_2 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 8, 14, METATILE_RSMossdeepGym_RedArrow_Down, FALSE setmetatile 8, 10, METATILE_RSMossdeepGym_Switch_Up, TRUE @@ -160,7 +160,7 @@ MossdeepCity_Gym_EventScript_Switch3:: lockall goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_3, MossdeepCity_Gym_EventScript_ClearSwitch3 setflag FLAG_MOSSDEEP_GYM_SWITCH_3 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 15, 17, METATILE_RSMossdeepGym_RedArrow_Left, FALSE setmetatile 17, 15, METATILE_RSMossdeepGym_Switch_Down, TRUE @@ -169,7 +169,7 @@ MossdeepCity_Gym_EventScript_Switch3:: MossdeepCity_Gym_EventScript_ClearSwitch3:: clearflag FLAG_MOSSDEEP_GYM_SWITCH_3 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 15, 17, METATILE_RSMossdeepGym_RedArrow_Right, FALSE setmetatile 17, 15, METATILE_RSMossdeepGym_Switch_Up, TRUE @@ -180,7 +180,7 @@ MossdeepCity_Gym_EventScript_Switch4:: lockall goto_if_set FLAG_MOSSDEEP_GYM_SWITCH_4, MossdeepCity_Gym_EventScript_ClearSwitch4 setflag FLAG_MOSSDEEP_GYM_SWITCH_4 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 1, 23, METATILE_RSMossdeepGym_RedArrow_Up, FALSE setmetatile 5, 24, METATILE_RSMossdeepGym_Switch_Down, TRUE @@ -189,7 +189,7 @@ MossdeepCity_Gym_EventScript_Switch4:: MossdeepCity_Gym_EventScript_ClearSwitch4:: clearflag FLAG_MOSSDEEP_GYM_SWITCH_4 - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse + applymovement LOCALID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse waitmovement 0 setmetatile 1, 23, METATILE_RSMossdeepGym_RedArrow_Right, FALSE setmetatile 5, 24, METATILE_RSMossdeepGym_Switch_Up, TRUE diff --git a/data/maps/MossdeepCity_House2/map.json b/data/maps/MossdeepCity_House2/map.json index a8a03ed958..8bd4a210e3 100644 --- a/data/maps/MossdeepCity_House2/map.json +++ b/data/maps/MossdeepCity_House2/map.json @@ -41,6 +41,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MOSSDEEP_HOUSE_WINGULL", "graphics_id": "OBJ_EVENT_GFX_WINGULL", "x": 4, "y": 5, diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc index 1fe8a5c64a..4732d3ac0d 100644 --- a/data/maps/MossdeepCity_House2/scripts.inc +++ b/data/maps/MossdeepCity_House2/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WINGULL, 3 - MossdeepCity_House2_MapScripts:: end_map_scripts @@ -23,17 +21,17 @@ MossdeepCity_House2_EventScript_Wingull:: clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL call_if_eq VAR_FACING, DIR_NORTH, MossdeepCity_House2_EventScript_WingullExitNorth call_if_eq VAR_FACING, DIR_WEST, MossdeepCity_House2_EventScript_WingullExitWest - removeobject LOCALID_WINGULL + removeobject LOCALID_MOSSDEEP_HOUSE_WINGULL release end MossdeepCity_House2_EventScript_WingullExitNorth:: - applymovement LOCALID_WINGULL, MossdeepCity_House2_Movement_WingullExitNorth + applymovement LOCALID_MOSSDEEP_HOUSE_WINGULL, MossdeepCity_House2_Movement_WingullExitNorth waitmovement 0 return MossdeepCity_House2_EventScript_WingullExitWest:: - applymovement LOCALID_WINGULL, MossdeepCity_House2_Movement_WingullExitEast + applymovement LOCALID_MOSSDEEP_HOUSE_WINGULL, MossdeepCity_House2_Movement_WingullExitEast waitmovement 0 return diff --git a/data/maps/MossdeepCity_Mart/map.json b/data/maps/MossdeepCity_Mart/map.json index 9679df7892..dce4f7576c 100644 --- a/data/maps/MossdeepCity_Mart/map.json +++ b/data/maps/MossdeepCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MOSSDEEP_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/MossdeepCity_Mart/scripts.inc b/data/maps/MossdeepCity_Mart/scripts.inc index acb48d96c2..89ee8aec26 100644 --- a/data/maps/MossdeepCity_Mart/scripts.inc +++ b/data/maps/MossdeepCity_Mart/scripts.inc @@ -22,9 +22,7 @@ MossdeepCity_Mart_Pokemart: .2byte ITEM_MAX_REPEL .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND - .2byte ITEM_NONE - release - end + pokemartlistend MossdeepCity_Mart_EventScript_Woman:: msgbox MossdeepCity_Mart_Text_ReviveIsFantastic, MSGBOX_NPC diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/map.json b/data/maps/MossdeepCity_PokemonCenter_1F/map.json index 72863244c7..db1471925a 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MOSSDEEP_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 3b7acd422f..4cf230d425 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - MossdeepCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -10,7 +8,7 @@ MossdeepCity_PokemonCenter_1F_OnTransition: end MossdeepCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_MOSSDEEP_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.json b/data/maps/MossdeepCity_SpaceCenter_1F/map.json index e7f47bcfb8..f6b04f5f2f 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SPACE_CENTER_1F_SCIENTIST_1", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 7, "y": 2, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_1F_SCIENTIST_2", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 2, "y": 2, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_1F_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 6, "y": 6, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_1F_OLD_MAN", "graphics_id": "OBJ_EVENT_GFX_OLD_MAN", "x": 10, "y": 2, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_1F_WOMAN", "graphics_id": "OBJ_EVENT_GFX_WOMAN_4", "x": 14, "y": 7, @@ -119,6 +124,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA" }, { + "local_id": "LOCALID_SPACE_CENTER_1F_STAIR_GRUNT", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 13, "y": 2, diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc index 17f7275433..857b37d786 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_SCIENTIST_1, 1 -.set LOCALID_SCIENTIST_2, 2 -.set LOCALID_SAILOR, 3 -.set LOCALID_OLD_MAN, 4 -.set LOCALID_WOMAN, 5 -.set LOCALID_STAIR_GRUNT, 9 - MossdeepCity_SpaceCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_SpaceCenter_1F_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_1F_OnTransition @@ -15,31 +8,31 @@ MossdeepCity_SpaceCenter_1F_OnTransition: end MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma:: - setobjectxyperm LOCALID_SAILOR, 1, 9 - setobjectmovementtype LOCALID_SAILOR, MOVEMENT_TYPE_FACE_RIGHT - setobjectxyperm LOCALID_WOMAN, 0, 8 - setobjectmovementtype LOCALID_WOMAN, MOVEMENT_TYPE_FACE_RIGHT - setobjectxyperm LOCALID_OLD_MAN, 1, 6 - setobjectmovementtype LOCALID_OLD_MAN, MOVEMENT_TYPE_FACE_RIGHT - setobjectxyperm LOCALID_SCIENTIST_1, 3, 4 - setobjectmovementtype LOCALID_SCIENTIST_1, MOVEMENT_TYPE_FACE_RIGHT - setobjectmovementtype LOCALID_SCIENTIST_2, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_1F_SAILOR, 1, 9 + setobjectmovementtype LOCALID_SPACE_CENTER_1F_SAILOR, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_1F_WOMAN, 0, 8 + setobjectmovementtype LOCALID_SPACE_CENTER_1F_WOMAN, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_1F_OLD_MAN, 1, 6 + setobjectmovementtype LOCALID_SPACE_CENTER_1F_OLD_MAN, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_1F_SCIENTIST_1, 3, 4 + setobjectmovementtype LOCALID_SPACE_CENTER_1F_SCIENTIST_1, MOVEMENT_TYPE_FACE_RIGHT + setobjectmovementtype LOCALID_SPACE_CENTER_1F_SCIENTIST_2, MOVEMENT_TYPE_FACE_RIGHT goto_if_eq VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1, MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft goto_if_eq VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown goto_if_eq VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3, MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight end MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft:: - setobjectxyperm LOCALID_STAIR_GRUNT, 12, 2 + setobjectxyperm LOCALID_SPACE_CENTER_1F_STAIR_GRUNT, 12, 2 end MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown:: - setobjectxyperm LOCALID_STAIR_GRUNT, 13, 3 + setobjectxyperm LOCALID_SPACE_CENTER_1F_STAIR_GRUNT, 13, 3 end @ Functionally unused. See comment on MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight:: - setobjectxyperm LOCALID_STAIR_GRUNT, 14, 2 + setobjectxyperm LOCALID_SPACE_CENTER_1F_STAIR_GRUNT, 14, 2 end MossdeepCity_SpaceCenter_1F_OnLoad: @@ -226,7 +219,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_Grunt2:: msgbox MossdeepCity_SpaceCenter_1F_Text_Grunt2Intro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_2, MossdeepCity_SpaceCenter_1F_Text_Grunt2Defeat setflag FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F - copyobjectxytoperm LOCALID_STAIR_GRUNT + copyobjectxytoperm LOCALID_SPACE_CENTER_1F_STAIR_GRUNT switch VAR_FACING case DIR_WEST, MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest #ifdef BUGFIX @@ -234,7 +227,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_Grunt2:: #else case DIR_WEST, MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast #endif - applymovement LOCALID_STAIR_GRUNT, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairs + applymovement LOCALID_SPACE_CENTER_1F_STAIR_GRUNT, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairs waitmovement 0 setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2 release @@ -246,7 +239,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_Grunt2Defeated:: end MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest:: - applymovement LOCALID_STAIR_GRUNT, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsWest + applymovement LOCALID_SPACE_CENTER_1F_STAIR_GRUNT, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsWest waitmovement 0 setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1 release @@ -255,7 +248,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsWest:: @ Functionally unused by mistake. The movement is handled anyway after the switch (see above) @ This also means VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE can never be 3 MossdeepCity_SpaceCenter_1F_EventScript_MoveGruntFromStairsEast:: - applymovement LOCALID_STAIR_GRUNT, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsEast + applymovement LOCALID_SPACE_CENTER_1F_STAIR_GRUNT, MossdeepCity_SpaceCenter_1F_Movement_MoveGruntFromStairsEast waitmovement 0 setvar VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3 release diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.json b/data/maps/MossdeepCity_SpaceCenter_2F/map.json index f68b5bfd3e..74d83a905f 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SPACE_CENTER_2F_RICH_BOY", "graphics_id": "OBJ_EVENT_GFX_RICH_BOY", "x": 6, "y": 2, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_2F_GENTLEMAN", "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 11, "y": 8, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_2F_SCIENTIST", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 5, "y": 6, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SPACE_CENTER_2F_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 1, "y": 8, @@ -67,6 +71,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN" }, { + "local_id": "LOCALID_SPACE_CENTER_GRUNT_6", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 12, "y": 2, @@ -80,6 +85,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { + "local_id": "LOCALID_SPACE_CENTER_GRUNT_5", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 13, "y": 3, @@ -93,6 +99,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { + "local_id": "LOCALID_SPACE_CENTER_GRUNT_7", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 14, "y": 2, @@ -106,6 +113,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { + "local_id": "LOCALID_SPACE_CENTER_TABITHA", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 0, "y": 8, @@ -119,6 +127,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA" }, { + "local_id": "LOCALID_SPACE_CENTER_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 1, "y": 9, diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 416e89f89b..639532f1cf 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -1,14 +1,3 @@ -.set LOCALID_RICH_BOY, 1 -.set LOCALID_GENTLEMAN, 2 -.set LOCALID_SCIENTIST, 3 -.set LOCALID_STEVEN, 4 -@ Grunt names numbered like their Trainer values (which are for the full Space Center) -.set LOCALID_GRUNT_6, 5 -.set LOCALID_GRUNT_5, 6 -.set LOCALID_GRUNT_7, 7 -.set LOCALID_TABITHA, 8 -.set LOCALID_MAXIE, 9 - MossdeepCity_SpaceCenter_2F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_SpaceCenter_2F_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, MossdeepCity_SpaceCenter_2F_OnFrame @@ -21,18 +10,18 @@ MossdeepCity_SpaceCenter_2F_OnTransition: MossdeepCity_SpaceCenter_2F_EventScript_MoveCivilians:: clearflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER - setobjectxyperm LOCALID_SCIENTIST, 5, 3 - setobjectmovementtype LOCALID_SCIENTIST, MOVEMENT_TYPE_FACE_RIGHT - setobjectxyperm LOCALID_RICH_BOY, 3, 2 - setobjectmovementtype LOCALID_RICH_BOY, MOVEMENT_TYPE_FACE_RIGHT - setobjectxyperm LOCALID_GENTLEMAN, 1, 3 - setobjectmovementtype LOCALID_GENTLEMAN, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_2F_SCIENTIST, 5, 3 + setobjectmovementtype LOCALID_SPACE_CENTER_2F_SCIENTIST, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_2F_RICH_BOY, 3, 2 + setobjectmovementtype LOCALID_SPACE_CENTER_2F_RICH_BOY, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SPACE_CENTER_2F_GENTLEMAN, 1, 3 + setobjectmovementtype LOCALID_SPACE_CENTER_2F_GENTLEMAN, MOVEMENT_TYPE_FACE_RIGHT return MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts:: - setobjectxyperm LOCALID_GRUNT_6, 11, 2 - setobjectxyperm LOCALID_GRUNT_7, 15, 2 - setobjectxyperm LOCALID_GRUNT_5, 13, 4 + setobjectxyperm LOCALID_SPACE_CENTER_GRUNT_6, 11, 2 + setobjectxyperm LOCALID_SPACE_CENTER_GRUNT_7, 15, 2 + setobjectxyperm LOCALID_SPACE_CENTER_GRUNT_5, 13, 4 return MossdeepCity_SpaceCenter_2F_OnFrame: @@ -41,15 +30,15 @@ MossdeepCity_SpaceCenter_2F_OnFrame: MossdeepCity_SpaceCenter_2F_EventScript_ThreeMagmaGrunts:: playse SE_PIN - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_ExclamationMark + applymovement LOCALID_PLAYER, Common_Movement_ExclamationMark waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_Delay48 + applymovement LOCALID_PLAYER, Common_Movement_Delay48 waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_YoureOutnumberedTakeUsOn, MSGBOX_YESNO goto_if_eq VAR_RESULT, YES, MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts msgbox MossdeepCity_SpaceCenter_2F_Text_GoodAnswer, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_PlayerExit + applymovement LOCALID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_PlayerExit waitmovement 0 warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 13, 1 waitstate @@ -63,24 +52,24 @@ MossdeepCity_SpaceCenter_2F_Movement_PlayerExit: MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts:: msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt5Intro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_5, MossdeepCity_SpaceCenter_2F_Text_Grunt5Defeat - applymovement LOCALID_GRUNT_5, MossdeepCity_SpaceCenter_2F_Movement_Grunt5Defeated + applymovement LOCALID_SPACE_CENTER_GRUNT_5, MossdeepCity_SpaceCenter_2F_Movement_Grunt5Defeated waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt6Intro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_6, MossdeepCity_SpaceCenter_2F_Text_Grunt6Defeat - applymovement LOCALID_GRUNT_6, MossdeepCity_SpaceCenter_2F_Movement_Grunt6Defeated + applymovement LOCALID_SPACE_CENTER_GRUNT_6, MossdeepCity_SpaceCenter_2F_Movement_Grunt6Defeated waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox MossdeepCity_SpaceCenter_2F_Text_Grunt7Intro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_SPACE_CENTER_7, MossdeepCity_SpaceCenter_2F_Text_Grunt7Defeat - applymovement LOCALID_GRUNT_7, MossdeepCity_SpaceCenter_2F_Movement_Grunt7Defeated + applymovement LOCALID_SPACE_CENTER_GRUNT_7, MossdeepCity_SpaceCenter_2F_Movement_Grunt7Defeated waitmovement 0 setvar VAR_MOSSDEEP_SPACE_CENTER_STATE, 2 - copyobjectxytoperm LOCALID_GRUNT_6 - copyobjectxytoperm LOCALID_GRUNT_7 - copyobjectxytoperm LOCALID_GRUNT_5 + copyobjectxytoperm LOCALID_SPACE_CENTER_GRUNT_6 + copyobjectxytoperm LOCALID_SPACE_CENTER_GRUNT_7 + copyobjectxytoperm LOCALID_SPACE_CENTER_GRUNT_5 releaseall end @@ -198,13 +187,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_Steven:: playse SE_NOT_EFFECTIVE switch VAR_FACING case DIR_SOUTH, MossdeepCity_SpaceCenter_2F_EventScript_StevenFightMovementSouth - applymovement LOCALID_STEVEN, MossdeepCity_SpaceCenter_2F_Movement_StevenFight + applymovement LOCALID_SPACE_CENTER_2F_STEVEN, MossdeepCity_SpaceCenter_2F_Movement_StevenFight waitmovement 0 releaseall end MossdeepCity_SpaceCenter_2F_EventScript_StevenFightMovementSouth:: - applymovement LOCALID_STEVEN, MossdeepCity_SpaceCenter_2F_Movement_StevenFightSouth + applymovement LOCALID_SPACE_CENTER_2F_STEVEN, MossdeepCity_SpaceCenter_2F_Movement_StevenFightSouth waitmovement 0 releaseall end @@ -275,12 +264,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha:: msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieWeFailedIsAquaAlsoMisguided, MSGBOX_DEFAULT closemessage delay 20 - applymovement LOCALID_MAXIE, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_TABITHA, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SPACE_CENTER_MAXIE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SPACE_CENTER_TABITHA, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 60 - applymovement LOCALID_MAXIE, Common_Movement_WalkInPlaceFasterUp - applymovement LOCALID_TABITHA, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SPACE_CENTER_MAXIE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SPACE_CENTER_TABITHA, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 20 msgbox MossdeepCity_SpaceCenter_2F_Text_MaxieWeWillGiveUp, MSGBOX_DEFAULT @@ -292,17 +281,17 @@ MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha:: setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA - removeobject LOCALID_GRUNT_6 - removeobject LOCALID_GRUNT_7 - removeobject LOCALID_GRUNT_5 - removeobject LOCALID_TABITHA - removeobject LOCALID_MAXIE - setobjectxy LOCALID_SCIENTIST, 5, 6 - turnobject LOCALID_SCIENTIST, DIR_SOUTH - setobjectxy LOCALID_GENTLEMAN, 11, 8 - turnobject LOCALID_GENTLEMAN, DIR_NORTH - setobjectxy LOCALID_RICH_BOY, 6, 2 - turnobject LOCALID_RICH_BOY, DIR_NORTH + removeobject LOCALID_SPACE_CENTER_GRUNT_6 + removeobject LOCALID_SPACE_CENTER_GRUNT_7 + removeobject LOCALID_SPACE_CENTER_GRUNT_5 + removeobject LOCALID_SPACE_CENTER_TABITHA + removeobject LOCALID_SPACE_CENTER_MAXIE + setobjectxy LOCALID_SPACE_CENTER_2F_SCIENTIST, 5, 6 + turnobject LOCALID_SPACE_CENTER_2F_SCIENTIST, DIR_SOUTH + setobjectxy LOCALID_SPACE_CENTER_2F_GENTLEMAN, 11, 8 + turnobject LOCALID_SPACE_CENTER_2F_GENTLEMAN, DIR_NORTH + setobjectxy LOCALID_SPACE_CENTER_2F_RICH_BOY, 6, 2 + turnobject LOCALID_SPACE_CENTER_2F_RICH_BOY, DIR_NORTH call MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer fadescreen FADE_FROM_BLACK msgbox MossdeepCity_SpaceCenter_2F_Text_StevenThankYouComeSeeMeAtHome, MSGBOX_DEFAULT @@ -310,16 +299,19 @@ MossdeepCity_SpaceCenter_2F_EventScript_DefeatedMaxieTabitha:: fadescreen FADE_TO_BLACK setflag FLAG_DEFEATED_MAGMA_SPACE_CENTER setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN - removeobject LOCALID_STEVEN + removeobject LOCALID_SPACE_CENTER_2F_STEVEN setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN setvar VAR_STEVENS_HOUSE_STATE, 1 setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT - removeobject LOCALID_SCIENTIST - setobjectxyperm LOCALID_SCIENTIST, 5, 6 - setobjectmovementtype LOCALID_SCIENTIST, MOVEMENT_TYPE_WANDER_AROUND - addobject LOCALID_SCIENTIST + removeobject LOCALID_SPACE_CENTER_2F_SCIENTIST + setobjectxyperm LOCALID_SPACE_CENTER_2F_SCIENTIST, 5, 6 + setobjectmovementtype LOCALID_SPACE_CENTER_2F_SCIENTIST, MOVEMENT_TYPE_WANDER_AROUND + addobject LOCALID_SPACE_CENTER_2F_SCIENTIST fadescreen FADE_FROM_BLACK +#ifdef BUGFIX + releaseall +#endif end MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer:: @@ -329,19 +321,19 @@ MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayer:: return MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerSouth:: - turnobject LOCALID_STEVEN, DIR_NORTH + turnobject LOCALID_SPACE_CENTER_2F_STEVEN, DIR_NORTH return MossdeepCity_SpaceCenter_2F_EventScript_StevenFacePlayerWest:: - turnobject LOCALID_STEVEN, DIR_EAST + turnobject LOCALID_SPACE_CENTER_2F_STEVEN, DIR_EAST return MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer:: - trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_MOSSDEEP, 0, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand + trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_MOSSDEEP, LOCALID_NONE, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand, MossdeepCity_SpaceCenter_2F_Text_JustWantToExpandLand end MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer:: - trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_MOSSDEEP, 0, MossdeepCity_SpaceCenter_Text_TabithaDefeat, MossdeepCity_SpaceCenter_Text_TabithaDefeat + trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_MOSSDEEP, LOCALID_NONE, MossdeepCity_SpaceCenter_Text_TabithaDefeat, MossdeepCity_SpaceCenter_Text_TabithaDefeat end MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall:: diff --git a/data/maps/MossdeepCity_StevensHouse/map.json b/data/maps/MossdeepCity_StevensHouse/map.json index 3a864a67c9..330e92b635 100644 --- a/data/maps/MossdeepCity_StevensHouse/map.json +++ b/data/maps/MossdeepCity_StevensHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_STEVENS_HOUSE_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 9, "y": 6, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN" }, { + "local_id": "LOCALID_STEVENS_HOUSE_BALL", "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 4, "y": 3, diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 3e4c5261f9..6d7a5dfabd 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_STEVEN, 1 -.set LOCALID_BELDUM_BALL, 2 - MossdeepCity_StevensHouse_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, MossdeepCity_StevensHouse_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, MossdeepCity_StevensHouse_OnTransition @@ -20,8 +17,8 @@ MossdeepCity_StevensHouse_OnTransition: end MossdeepCity_StevensHouse_EventScript_SetStevenPos:: - setobjectxyperm LOCALID_STEVEN, 6, 5 - setobjectmovementtype LOCALID_STEVEN, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_STEVENS_HOUSE_STEVEN, 6, 5 + setobjectmovementtype LOCALID_STEVENS_HOUSE_STEVEN, MOVEMENT_TYPE_FACE_UP return MossdeepCity_StevensHouse_OnFrame: @@ -30,14 +27,14 @@ MossdeepCity_StevensHouse_OnFrame: MossdeepCity_StevensHouse_EventScript_StevenGivesDive:: lockall - applymovement LOCALID_STEVEN, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_STEVENS_HOUSE_STEVEN, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 playse SE_PIN - applymovement LOCALID_STEVEN, Common_Movement_ExclamationMark + applymovement LOCALID_STEVENS_HOUSE_STEVEN, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_STEVEN, Common_Movement_Delay48 + applymovement LOCALID_STEVENS_HOUSE_STEVEN, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_STEVEN, MossdeepCity_StevensHouse_Movement_StevenApproachPlayer + applymovement LOCALID_STEVENS_HOUSE_STEVEN, MossdeepCity_StevensHouse_Movement_StevenApproachPlayer waitmovement 0 msgbox MossdeepCity_StevensHouse_Text_YouveEarnedHMDive, MSGBOX_DEFAULT giveitem ITEM_HM_DIVE @@ -46,7 +43,7 @@ MossdeepCity_StevensHouse_EventScript_StevenGivesDive:: msgbox MossdeepCity_StevensHouse_Text_ExplainDive, MSGBOX_DEFAULT closemessage delay 20 - applymovement LOCALID_STEVEN, MossdeepCity_StevensHouse_Movement_StevenReturn + applymovement LOCALID_STEVENS_HOUSE_STEVEN, MossdeepCity_StevensHouse_Movement_StevenReturn waitmovement 0 setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT setflag FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT @@ -116,7 +113,7 @@ MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC:: MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare:: bufferspeciesname STR_VAR_2, SPECIES_BELDUM - removeobject LOCALID_BELDUM_BALL + removeobject LOCALID_STEVENS_HOUSE_BALL playfanfare MUS_OBTAIN_ITEM message MossdeepCity_StevensHouse_Text_ObtainedBeldum waitmessage diff --git a/data/maps/MtChimney/map.json b/data/maps/MtChimney/map.json index 55bd065cb6..e4cf247d0e 100644 --- a/data/maps/MtChimney/map.json +++ b/data/maps/MtChimney/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MT_CHIMNEY_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 24, "y": 19, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA" }, { + "local_id": "LOCALID_MT_CHIMNEY_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 13, "y": 6, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { + "local_id": "LOCALID_MT_CHIMNEY_TABITHA", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 12, "y": 11, @@ -288,6 +291,7 @@ "flag": "FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA" }, { + "local_id": "LOCALID_MT_CHIMNEY_MAGMA_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 9, "y": 16, @@ -379,6 +383,7 @@ "flag": "FLAG_HIDE_MT_CHIMNEY_TRAINERS" }, { + "local_id": "LOCALID_MT_CHIMNEY_MAGMA_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_F", "x": 13, "y": 16, diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 3cd63f29e5..e1fc21a835 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_ARCHIE, 1 -.set LOCALID_MAXIE, 2 -.set LOCALID_TABITHA, 3 -.set LOCALID_MAGMA_GRUNT_2, 22 -.set LOCALID_MAGMA_GRUNT_1, 29 - - MtChimney_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, MtChimney_OnResume map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_OnTransition @@ -24,7 +17,7 @@ MtChimney_EventScript_Archie:: call_if_unset FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_ArchieGoStopTeamMagma call_if_set FLAG_EVIL_LEADER_PLEASE_STOP, MtChimney_EventScript_ArchieBusyFighting closemessage - applymovement LOCALID_ARCHIE, Common_Movement_FaceOriginalDirection + applymovement LOCALID_MT_CHIMNEY_ARCHIE, Common_Movement_FaceOriginalDirection waitmovement 0 setflag FLAG_EVIL_LEADER_PLEASE_STOP release @@ -42,12 +35,12 @@ MtChimney_EventScript_Maxie:: lockall playbgm MUS_ENCOUNTER_MAGMA, FALSE msgbox MtChimney_Text_MeteoriteWillActivateVolcano, MSGBOX_DEFAULT - applymovement LOCALID_MAXIE, Common_Movement_FacePlayer + applymovement LOCALID_MT_CHIMNEY_MAXIE, Common_Movement_FacePlayer waitmovement 0 playse SE_PIN - applymovement LOCALID_MAXIE, Common_Movement_ExclamationMark + applymovement LOCALID_MT_CHIMNEY_MAXIE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_MAXIE, Common_Movement_Delay48 + applymovement LOCALID_MT_CHIMNEY_MAXIE, Common_Movement_Delay48 waitmovement 0 msgbox MtChimney_Text_MaxieIntro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_MAXIE_MT_CHIMNEY, MtChimney_Text_MaxieDefeat @@ -55,23 +48,23 @@ MtChimney_EventScript_Maxie:: closemessage delay 30 fadescreen FADE_TO_BLACK - removeobject LOCALID_MAXIE - removeobject LOCALID_MAGMA_GRUNT_1 - removeobject LOCALID_TABITHA - removeobject LOCALID_MAGMA_GRUNT_2 + removeobject LOCALID_MT_CHIMNEY_MAXIE + removeobject LOCALID_MT_CHIMNEY_MAGMA_GRUNT_1 + removeobject LOCALID_MT_CHIMNEY_TABITHA + removeobject LOCALID_MT_CHIMNEY_MAGMA_GRUNT_2 setflag FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA fadescreen FADE_FROM_BLACK - setobjectxyperm LOCALID_ARCHIE, 10, 12 - addobject LOCALID_ARCHIE + setobjectxyperm LOCALID_MT_CHIMNEY_ARCHIE, 10, 12 + addobject LOCALID_MT_CHIMNEY_ARCHIE call_if_eq VAR_FACING, DIR_EAST, MtChimney_EventScript_ArchieApproachPlayerEast call_if_eq VAR_FACING, DIR_NORTH, MtChimney_EventScript_ArchieApproachPlayerNorth - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox MtChimney_Text_ArchieThankYou, MSGBOX_DEFAULT closemessage call_if_eq VAR_FACING, DIR_EAST, MtChimney_EventScript_ArchieExitEast call_if_eq VAR_FACING, DIR_NORTH, MtChimney_EventScript_ArchieExitNorth - removeobject LOCALID_ARCHIE + removeobject LOCALID_MT_CHIMNEY_ARCHIE setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY clearflag FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO @@ -81,22 +74,22 @@ MtChimney_EventScript_Maxie:: end MtChimney_EventScript_ArchieApproachPlayerEast:: - applymovement LOCALID_ARCHIE, MtChimney_Movement_ArchieApproachPlayerEast + applymovement LOCALID_MT_CHIMNEY_ARCHIE, MtChimney_Movement_ArchieApproachPlayerEast waitmovement 0 return MtChimney_EventScript_ArchieApproachPlayerNorth:: - applymovement LOCALID_ARCHIE, MtChimney_Movement_ArchieApproachPlayerNorth + applymovement LOCALID_MT_CHIMNEY_ARCHIE, MtChimney_Movement_ArchieApproachPlayerNorth waitmovement 0 return MtChimney_EventScript_ArchieExitEast:: - applymovement LOCALID_ARCHIE, MtChimney_Movement_ArchieExitEast + applymovement LOCALID_MT_CHIMNEY_ARCHIE, MtChimney_Movement_ArchieExitEast waitmovement 0 return MtChimney_EventScript_ArchieExitNorth:: - applymovement LOCALID_ARCHIE, MtChimney_Movement_ArchieExitNorth + applymovement LOCALID_MT_CHIMNEY_ARCHIE, MtChimney_Movement_ArchieExitNorth waitmovement 0 return diff --git a/data/maps/MtChimney_CableCarStation/map.json b/data/maps/MtChimney_CableCarStation/map.json index 5fe36a3735..be716e5b75 100644 --- a/data/maps/MtChimney_CableCarStation/map.json +++ b/data/maps/MtChimney_CableCarStation/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 6, "y": 6, diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc index c9ae499c9d..5e16c12b40 100644 --- a/data/maps/MtChimney_CableCarStation/scripts.inc +++ b/data/maps/MtChimney_CableCarStation/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - MtChimney_CableCarStation_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MtChimney_CableCarStation_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, MtChimney_CableCarStation_OnFrame @@ -10,8 +8,8 @@ MtChimney_CableCarStation_OnTransition: end MtChimney_CableCarStation_EventScript_MoveAttendantAside:: - setobjectxyperm LOCALID_ATTENDANT, 5, 4 - setobjectmovementtype LOCALID_ATTENDANT, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT, 5, 4 + setobjectmovementtype LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT, MOVEMENT_TYPE_FACE_RIGHT return MtChimney_CableCarStation_OnFrame: @@ -20,12 +18,12 @@ MtChimney_CableCarStation_OnFrame: MtChimney_CableCarStation_EventScript_ExitCableCar:: lockall - applymovement OBJ_EVENT_ID_PLAYER, MtChimney_CableCarStation_Movement_ExitCableCar - applymovement LOCALID_ATTENDANT, MtChimney_CableCarStation_Movement_FollowPlayerOutFromCableCar + applymovement LOCALID_PLAYER, MtChimney_CableCarStation_Movement_ExitCableCar + applymovement LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT, MtChimney_CableCarStation_Movement_FollowPlayerOutFromCableCar waitmovement 0 setvar VAR_CABLE_CAR_STATION_STATE, 0 - setobjectxyperm LOCALID_ATTENDANT, 6, 7 - setobjectmovementtype LOCALID_ATTENDANT, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT, 6, 7 + setobjectmovementtype LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT, MOVEMENT_TYPE_FACE_DOWN releaseall end @@ -40,8 +38,8 @@ MtChimney_CableCarStation_EventScript_Attendant:: MtChimney_CableCarStation_EventScript_RideCableCar:: msgbox MtChimney_CableCarStation_Text_StepThisWay, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, MtChimney_CableCarStation_Movement_LeadPlayerToCableCar - applymovement OBJ_EVENT_ID_PLAYER, MtChimney_CableCarStation_Movement_BoardCableCar + applymovement LOCALID_MT_CHIMNEY_CABLE_CAR_ATTENDANT, MtChimney_CableCarStation_Movement_LeadPlayerToCableCar + applymovement LOCALID_PLAYER, MtChimney_CableCarStation_Movement_BoardCableCar waitmovement 0 setvar VAR_0x8004, TRUE @ Going down setvar VAR_CABLE_CAR_STATION_STATE, 2 diff --git a/data/maps/MtPyre_Summit/map.json b/data/maps/MtPyre_Summit/map.json index 49fd8b9f72..7a2cccdd36 100644 --- a/data/maps/MtPyre_Summit/map.json +++ b/data/maps/MtPyre_Summit/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 23, "y": 6, @@ -41,6 +42,7 @@ "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_OLD_LADY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_F", "x": 23, "y": 5, @@ -54,6 +56,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 21, "y": 15, @@ -67,6 +70,7 @@ "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 25, "y": 18, @@ -80,6 +84,7 @@ "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_GRUNT_3", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 21, "y": 11, @@ -93,6 +98,7 @@ "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_GRUNT_4", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_F", "x": 25, "y": 11, @@ -106,6 +112,7 @@ "flag": "FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA" }, { + "local_id": "LOCALID_MT_PYRE_SUMMIT_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 23, "y": 6, diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc index 36e3d78070..c2130968ee 100644 --- a/data/maps/MtPyre_Summit/scripts.inc +++ b/data/maps/MtPyre_Summit/scripts.inc @@ -1,11 +1,3 @@ -.set LOCALID_ARCHIE, 2 -.set LOCALID_OLD_LADY, 3 -.set LOCALID_GRUNT_1, 4 -.set LOCALID_GRUNT_2, 5 -.set LOCALID_GRUNT_3, 6 -.set LOCALID_GRUNT_4, 7 -.set LOCALID_MAXIE, 8 - MtPyre_Summit_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, MtPyre_Summit_OnTransition end_map_scripts @@ -15,8 +7,8 @@ MtPyre_Summit_OnTransition: end MtPyre_Summit_EventScript_SetArchieMaxiePositions:: - setobjectxyperm LOCALID_MAXIE, 23, 6 - setobjectxyperm LOCALID_ARCHIE, 22, 6 + setobjectxyperm LOCALID_MT_PYRE_SUMMIT_MAXIE, 23, 6 + setobjectxyperm LOCALID_MT_PYRE_SUMMIT_ARCHIE, 22, 6 end MtPyre_Summit_EventScript_TeamAquaTrigger0:: @@ -39,9 +31,9 @@ MtPyre_Summit_EventScript_TeamAquaTrigger2:: MtPyre_Summit_EventScript_TeamAquaExits:: playbgm MUS_ENCOUNTER_AQUA, FALSE - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 50 call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_ArchieFacePlayer0 @@ -50,11 +42,11 @@ MtPyre_Summit_EventScript_TeamAquaExits:: msgbox MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo, MSGBOX_DEFAULT closemessage fadescreen FADE_TO_BLACK - removeobject LOCALID_ARCHIE - removeobject LOCALID_GRUNT_1 - removeobject LOCALID_GRUNT_2 - removeobject LOCALID_GRUNT_3 - removeobject LOCALID_GRUNT_4 + removeobject LOCALID_MT_PYRE_SUMMIT_ARCHIE + removeobject LOCALID_MT_PYRE_SUMMIT_GRUNT_1 + removeobject LOCALID_MT_PYRE_SUMMIT_GRUNT_2 + removeobject LOCALID_MT_PYRE_SUMMIT_GRUNT_3 + removeobject LOCALID_MT_PYRE_SUMMIT_GRUNT_4 setflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE setflag FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA fadedefaultbgm @@ -72,7 +64,7 @@ MtPyre_Summit_EventScript_TeamAquaExits:: end MtPyre_Summit_EventScript_ArchieFacePlayer0:: - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieFacePlayer0 + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieFacePlayer0 waitmovement 0 return @@ -81,26 +73,26 @@ MtPyre_Summit_EventScript_ArchieFacePlayer1:: return MtPyre_Summit_EventScript_ArchieFacePlayer2:: - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieFacePlayer2 + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieFacePlayer2 waitmovement 0 return MtPyre_Summit_EventScript_OldLadyApproachPlayer0:: - applymovement LOCALID_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer0 + applymovement LOCALID_MT_PYRE_SUMMIT_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer0 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return MtPyre_Summit_EventScript_OldLadyApproachPlayer1:: - applymovement LOCALID_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer1 + applymovement LOCALID_MT_PYRE_SUMMIT_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer1 waitmovement 0 return MtPyre_Summit_EventScript_OldLadyApproachPlayer2:: - applymovement LOCALID_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer2 + applymovement LOCALID_MT_PYRE_SUMMIT_OLD_LADY, MtPyre_Summit_Movement_OldLadyApproachPlayer2 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return @@ -204,16 +196,16 @@ MtPyre_Summit_EventScript_ArchieMaxieTrigger2:: end MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 60 call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_ArchieMaxieBeginExit0 call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_ArchieMaxieBeginExit1 call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_ArchieMaxieBeginExit2 playse SE_PIN - applymovement LOCALID_MAXIE, Common_Movement_ExclamationMark + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_MAXIE, Common_Movement_Delay48 + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, Common_Movement_Delay48 waitmovement 0 delay 30 call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_MaxieApproachPlayer0 @@ -225,78 +217,78 @@ MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs:: call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_MaxieApproachArchie1 call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_MaxieApproachArchie2 delay 30 - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieExit + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieExit waitmovement 0 - removeobject LOCALID_ARCHIE - removeobject LOCALID_MAXIE + removeobject LOCALID_MT_PYRE_SUMMIT_ARCHIE + removeobject LOCALID_MT_PYRE_SUMMIT_MAXIE setvar VAR_MT_PYRE_STATE, 3 releaseall end MtPyre_Summit_EventScript_ArchieMaxieBeginExit0:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0 - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit0 + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieExit + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieExit waitmovement 0 return MtPyre_Summit_EventScript_ArchieMaxieBeginExit1:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1 - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit1 + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieExit + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieExit waitmovement 0 return MtPyre_Summit_EventScript_ArchieMaxieBeginExit2:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2 - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieExit - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieExit + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerWatchArchieMaxieExit2 + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieExit + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieExit waitmovement 0 return MtPyre_Summit_EventScript_MaxieApproachPlayer0:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie0 - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer0 + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie0 + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer0 waitmovement 0 return MtPyre_Summit_EventScript_MaxieApproachPlayer1:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer1 + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer1 waitmovement 0 return MtPyre_Summit_EventScript_MaxieApproachPlayer2:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie - applymovement LOCALID_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer2 + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerFaceMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, MtPyre_Summit_Movement_ArchieWatchMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieApproachPlayer2 waitmovement 0 return MtPyre_Summit_EventScript_MaxieApproachArchie0:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie0 + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie0 waitmovement 0 - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return MtPyre_Summit_EventScript_MaxieApproachArchie1:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie1 + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie1 waitmovement 0 - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return MtPyre_Summit_EventScript_MaxieApproachArchie2:: - applymovement OBJ_EVENT_ID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie - applymovement LOCALID_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie2 + applymovement LOCALID_PLAYER, MtPyre_Summit_Movement_PlayerWatchMaxie + applymovement LOCALID_MT_PYRE_SUMMIT_MAXIE, MtPyre_Summit_Movement_MaxieApproachArchie2 waitmovement 0 - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_MT_PYRE_SUMMIT_ARCHIE, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return diff --git a/data/maps/NavelRock_Bottom/map.json b/data/maps/NavelRock_Bottom/map.json index bd7ce3ffec..695465e21d 100644 --- a/data/maps/NavelRock_Bottom/map.json +++ b/data/maps/NavelRock_Bottom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_NAVEL_ROCK_LUGIA", "graphics_id": "OBJ_EVENT_GFX_LUGIA", "x": 11, "y": 13, diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index eda2020a4a..d352be9564 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_LUGIA, 1 - NavelRock_Bottom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Bottom_OnTransition map_script MAP_SCRIPT_ON_RESUME, NavelRock_Bottom_OnResume @@ -26,7 +24,7 @@ NavelRock_Bottom_OnResume: NavelRock_Bottom_EventScript_TryRemoveLugia:: specialvar VAR_RESULT, GetBattleOutcome goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn - removeobject LOCALID_LUGIA + removeobject LOCALID_NAVEL_ROCK_LUGIA return NavelRock_Bottom_EventScript_Lugia:: diff --git a/data/maps/NavelRock_Harbor/map.json b/data/maps/NavelRock_Harbor/map.json index ed0bb70dac..c3ca23d82d 100644 --- a/data/maps/NavelRock_Harbor/map.json +++ b/data/maps/NavelRock_Harbor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_NAVEL_ROCK_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 5, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_NAVEL_ROCK_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 8, "y": 7, diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc index e9a888e641..0caf59fc95 100644 --- a/data/maps/NavelRock_Harbor/scripts.inc +++ b/data/maps/NavelRock_Harbor/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_SAILOR, 1 -.set LOCALID_SS_TIDAL, 2 - NavelRock_Harbor_MapScripts:: end_map_scripts @@ -14,8 +11,8 @@ NavelRock_Harbor_EventScript_Sailor:: applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 - hideobjectat LOCALID_SAILOR, MAP_NAVEL_ROCK_HARBOR - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_NAVEL_ROCK_SAILOR, MAP_NAVEL_ROCK_HARBOR + setvar VAR_0x8004, LOCALID_NAVEL_ROCK_SS_TIDAL call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 8, 11 waitstate diff --git a/data/maps/NavelRock_Top/map.json b/data/maps/NavelRock_Top/map.json index c818fc3994..e208dd7099 100644 --- a/data/maps/NavelRock_Top/map.json +++ b/data/maps/NavelRock_Top/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_NAVEL_ROCK_HO_OH", "graphics_id": "OBJ_EVENT_GFX_HOOH", "x": 12, "y": 4, diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index a37b2738cc..878e2801eb 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_HO_OH, 1 - NavelRock_Top_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, NavelRock_Top_OnTransition map_script MAP_SCRIPT_ON_RESUME, NavelRock_Top_OnResume @@ -29,7 +27,7 @@ NavelRock_Top_OnResume: NavelRock_Top_EventScript_TryRemoveHoOh:: specialvar VAR_RESULT, GetBattleOutcome goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn - removeobject LOCALID_HO_OH + removeobject LOCALID_NAVEL_ROCK_HO_OH return NavelRock_Top_EventScript_HoOh:: @@ -39,8 +37,8 @@ NavelRock_Top_EventScript_HoOh:: setvar VAR_0x8004, 3 @ num loops setvar VAR_0x8005, 35 @ delay special LoopWingFlapSE - applymovement LOCALID_HO_OH, NavelRock_Top_Movement_HoOhAppear - applymovement OBJ_EVENT_ID_CAMERA, NavelRock_Top_Movement_CameraPanUp + applymovement LOCALID_NAVEL_ROCK_HO_OH, NavelRock_Top_Movement_HoOhAppear + applymovement LOCALID_CAMERA, NavelRock_Top_Movement_CameraPanUp waitmovement 0 delay 50 setweather WEATHER_NONE @@ -53,8 +51,8 @@ NavelRock_Top_EventScript_HoOh:: setvar VAR_0x8004, 3 @ num loops setvar VAR_0x8005, 35 @ delay special LoopWingFlapSE - applymovement OBJ_EVENT_ID_CAMERA, NavelRock_Top_Movement_CameraPanDown - applymovement LOCALID_HO_OH, NavelRock_Top_Movement_HoOhApproach + applymovement LOCALID_CAMERA, NavelRock_Top_Movement_CameraPanDown + applymovement LOCALID_NAVEL_ROCK_HO_OH, NavelRock_Top_Movement_HoOhApproach waitmovement 0 special RemoveCameraObject seteventmon SPECIES_HO_OH, 70 @@ -62,7 +60,7 @@ NavelRock_Top_EventScript_HoOh:: special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - setvar VAR_LAST_TALKED, LOCALID_HO_OH + setvar VAR_LAST_TALKED, LOCALID_NAVEL_ROCK_HO_OH specialvar VAR_RESULT, GetBattleOutcome goto_if_eq VAR_RESULT, B_OUTCOME_WON, NavelRock_Top_EventScript_DefeatedHoOh goto_if_eq VAR_RESULT, B_OUTCOME_RAN, NavelRock_Top_EventScript_RanFromHoOh diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc index 7e8c214ea6..29d11a19b0 100644 --- a/data/maps/NewMauville_Entrance/scripts.inc +++ b/data/maps/NewMauville_Entrance/scripts.inc @@ -22,7 +22,7 @@ NewMauville_Entrance_OnTransition: NewMauville_Entrance_EventScript_Door:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox NewMauville_Entrance_Text_DoorIsLocked, MSGBOX_DEFAULT checkitem ITEM_BASEMENT_KEY diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json index 302ef5e9d0..d368e0bcbf 100644 --- a/data/maps/OldaleTown/map.json +++ b/data/maps/OldaleTown/map.json @@ -44,6 +44,7 @@ "flag": "0" }, { + "local_id": "LOCALID_OLDALE_MART_EMPLOYEE", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 13, "y": 7, @@ -57,6 +58,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FOOTPRINTS_MAN", "graphics_id": "OBJ_EVENT_GFX_MANIAC", "x": 8, "y": 9, @@ -70,6 +72,7 @@ "flag": "0" }, { + "local_id": "LOCALID_OLDALE_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 11, "y": 19, diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index 13b05b475d..42dfc3c03c 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_MART_EMPLOYEE, 2 -.set LOCALID_FOOTPRINTS_MAN, 3 -.set LOCALID_RIVAL, 4 - OldaleTown_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_OnTransition end_map_scripts @@ -25,8 +21,8 @@ OldaleTown_EventScript_BlockWestEntrance:: return OldaleTown_EventScript_MoveMartEmployee:: - setobjectxyperm LOCALID_MART_EMPLOYEE, 13, 14 - setobjectmovementtype LOCALID_MART_EMPLOYEE, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_OLDALE_MART_EMPLOYEE, 13, 14 + setobjectmovementtype LOCALID_OLDALE_MART_EMPLOYEE, MOVEMENT_TYPE_FACE_DOWN return OldaleTown_EventScript_TownSign:: @@ -53,22 +49,22 @@ OldaleTown_EventScript_MartEmployee:: end OldaleTown_EventScript_GoToMartSouth:: - applymovement LOCALID_MART_EMPLOYEE, OldaleTown_Movement_EmployeeSouth - applymovement OBJ_EVENT_ID_PLAYER, OldaleTown_Movement_PlayerSouth + applymovement LOCALID_OLDALE_MART_EMPLOYEE, OldaleTown_Movement_EmployeeSouth + applymovement LOCALID_PLAYER, OldaleTown_Movement_PlayerSouth waitmovement 0 goto OldaleTown_EventScript_ExplainPokemonMart end OldaleTown_EventScript_GoToMartNorth:: - applymovement LOCALID_MART_EMPLOYEE, OldaleTown_Movement_EmployeeNorth - applymovement OBJ_EVENT_ID_PLAYER, OldaleTown_Movement_PlayerNorth + applymovement LOCALID_OLDALE_MART_EMPLOYEE, OldaleTown_Movement_EmployeeNorth + applymovement LOCALID_PLAYER, OldaleTown_Movement_PlayerNorth waitmovement 0 goto OldaleTown_EventScript_ExplainPokemonMart end OldaleTown_EventScript_GoToMartEast:: - applymovement OBJ_EVENT_ID_PLAYER, OldaleTown_Movement_PlayerEast - applymovement LOCALID_MART_EMPLOYEE, OldaleTown_Movement_EmployeeEast + applymovement LOCALID_PLAYER, OldaleTown_Movement_PlayerEast + applymovement LOCALID_OLDALE_MART_EMPLOYEE, OldaleTown_Movement_EmployeeEast waitmovement 0 goto OldaleTown_EventScript_ExplainPokemonMart end @@ -204,7 +200,7 @@ OldaleTown_EventScript_FootprintsMan:: OldaleTown_EventScript_BlockedPath:: lockall - applymovement OBJ_EVENT_ID_PLAYER, OldaleTown_Movement_PlayerStepBack + applymovement LOCALID_PLAYER, OldaleTown_Movement_PlayerStepBack applymovement LOCALID_FOOTPRINTS_MAN, OldaleTown_Movement_BackUp waitmovement 0 msgbox OldaleTown_Text_WaitDontComeInHere, MSGBOX_DEFAULT @@ -221,7 +217,7 @@ OldaleTown_EventScript_NotBlockingPath:: OldaleTown_EventScript_Rival:: lockall - applymovement LOCALID_RIVAL, Common_Movement_FacePlayer + applymovement LOCALID_OLDALE_RIVAL, Common_Movement_FacePlayer waitmovement 0 setvar VAR_0x8009, 0 goto OldaleTown_EventScript_ShowRivalMessage @@ -229,9 +225,9 @@ OldaleTown_EventScript_Rival:: OldaleTown_EventScript_RivalTrigger1:: lockall - applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalApproachPlayer1 + applymovement LOCALID_OLDALE_RIVAL, OldaleTown_Movement_RivalApproachPlayer1 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_ShowRivalMessage @@ -239,9 +235,9 @@ OldaleTown_EventScript_RivalTrigger1:: OldaleTown_EventScript_RivalTrigger2:: lockall - applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalApproachPlayer2 + applymovement LOCALID_OLDALE_RIVAL, OldaleTown_Movement_RivalApproachPlayer2 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_ShowRivalMessage @@ -249,9 +245,9 @@ OldaleTown_EventScript_RivalTrigger2:: OldaleTown_EventScript_RivalTrigger3:: lockall - applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalApproachPlayer3 + applymovement LOCALID_OLDALE_RIVAL, OldaleTown_Movement_RivalApproachPlayer3 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 setvar VAR_0x8009, 1 goto OldaleTown_EventScript_ShowRivalMessage @@ -277,9 +273,9 @@ OldaleTown_EventScript_RivalFinish:: closemessage call_if_eq VAR_0x8009, 0, OldaleTown_EventScript_DoExitMovement1 call_if_eq VAR_0x8009, 1, OldaleTown_EventScript_DoExitMovement2 - applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalExit + applymovement LOCALID_OLDALE_RIVAL, OldaleTown_Movement_RivalExit waitmovement 0 - removeobject LOCALID_RIVAL + removeobject LOCALID_OLDALE_RIVAL setvar VAR_OLDALE_RIVAL_STATE, 2 setflag FLAG_HIDE_OLDALE_TOWN_RIVAL releaseall @@ -287,13 +283,13 @@ OldaleTown_EventScript_RivalFinish:: OldaleTown_EventScript_DoExitMovement1:: goto_if_ne VAR_FACING, DIR_SOUTH, OldaleTown_EventScript_DoExitMovement2 - applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalExit + applymovement LOCALID_OLDALE_RIVAL, OldaleTown_Movement_RivalExit waitmovement 0 return OldaleTown_EventScript_DoExitMovement2:: - applymovement OBJ_EVENT_ID_PLAYER, OldaleTown_Movement_WatchRivalExit - applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalExit + applymovement LOCALID_PLAYER, OldaleTown_Movement_WatchRivalExit + applymovement LOCALID_OLDALE_RIVAL, OldaleTown_Movement_RivalExit waitmovement 0 return diff --git a/data/maps/OldaleTown_Mart/map.json b/data/maps/OldaleTown_Mart/map.json index cfca496fd9..7ec9e7ab68 100644 --- a/data/maps/OldaleTown_Mart/map.json +++ b/data/maps/OldaleTown_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_OLDALE_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc index b387253d85..7c3d1d87d4 100644 --- a/data/maps/OldaleTown_Mart/scripts.inc +++ b/data/maps/OldaleTown_Mart/scripts.inc @@ -18,9 +18,7 @@ OldaleTown_Mart_Pokemart_Basic: .2byte ITEM_ANTIDOTE .2byte ITEM_PARALYZE_HEAL .2byte ITEM_AWAKENING - .2byte ITEM_NONE - release - end + pokemartlistend OldaleTown_Mart_ExpandedItems:: pokemart OldaleTown_Mart_Pokemart_Expanded @@ -35,9 +33,7 @@ OldaleTown_Mart_Pokemart_Expanded: .2byte ITEM_ANTIDOTE .2byte ITEM_PARALYZE_HEAL .2byte ITEM_AWAKENING - .2byte ITEM_NONE - release - end + pokemartlistend OldaleTown_Mart_EventScript_Woman:: lock diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.json b/data/maps/OldaleTown_PokemonCenter_1F/map.json index d3f72b8492..123d371cf4 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_OLDALE_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index 6a5bf709eb..4fb17689d3 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - OldaleTown_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, OldaleTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ OldaleTown_PokemonCenter_1F_OnTransition: end OldaleTown_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_OLDALE_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json index f98fdb3dd7..08f661ce97 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PACIFIDLOG_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index 52e084a49a..4f43403587 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - PacifidlogTown_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, PacifidlogTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -10,7 +8,7 @@ PacifidlogTown_PokemonCenter_1F_OnTransition: end PacifidlogTown_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_PACIFIDLOG_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json index d653e46aec..3d9f2cc361 100644 --- a/data/maps/PetalburgCity/map.json +++ b/data/maps/PetalburgCity/map.json @@ -39,6 +39,7 @@ "flag": "FLAG_HIDE_PETALBURG_CITY_WALLYS_MOM" }, { + "local_id": "LOCALID_PETALBURG_WALLY", "graphics_id": "OBJ_EVENT_GFX_WALLY", "x": 15, "y": 10, @@ -52,6 +53,7 @@ "flag": "FLAG_HIDE_PETALBURG_CITY_WALLY" }, { + "local_id": "LOCALID_PETALBURG_BOY", "graphics_id": "OBJ_EVENT_GFX_BOY_1", "x": 8, "y": 22, @@ -78,6 +80,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PETALBURG_WALLYS_DAD", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "x": 15, "y": 10, @@ -117,6 +120,7 @@ "flag": "FLAG_ITEM_PETALBURG_CITY_ETHER" }, { + "local_id": "LOCALID_GYM_BOY", "graphics_id": "OBJ_EVENT_GFX_BOY_2", "x": 12, "y": 15, @@ -130,6 +134,7 @@ "flag": "0" }, { + "local_id": "LOCALID_PETALBURG_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 13, "y": 12, diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc index 238bc3c47a..1b625878b5 100644 --- a/data/maps/PetalburgCity/scripts.inc +++ b/data/maps/PetalburgCity/scripts.inc @@ -1,9 +1,3 @@ -.set LOCALID_WALLY, 2 -.set LOCALID_BOY, 3 -.set LOCALID_WALLYS_DAD, 5 -.set LOCALID_GYM_BOY, 8 -.set LOCALID_SCOTT, 9 - PetalburgCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_OnFrame @@ -39,15 +33,15 @@ PetalburgCity_EventScript_WallyTutorial:: lockall special SavePlayerParty special LoadWallyZigzagoon - applymovement LOCALID_WALLY, PetalburgCity_Movement_WallyTutorialWally - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_WallyTutorialPlayer + applymovement LOCALID_PETALBURG_WALLY, PetalburgCity_Movement_WallyTutorialWally + applymovement LOCALID_PLAYER, PetalburgCity_Movement_WallyTutorialPlayer waitmovement 0 msgbox Route102_Text_WatchMeCatchPokemon, MSGBOX_DEFAULT special StartWallyTutorialBattle waitstate msgbox Route102_Text_WallyIDidIt, MSGBOX_DEFAULT - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterLeft, MAP_PETALBURG_CITY - waitmovement LOCALID_WALLY, MAP_PETALBURG_CITY + applymovement LOCALID_PETALBURG_WALLY, Common_Movement_WalkInPlaceFasterLeft, MAP_PETALBURG_CITY + waitmovement LOCALID_PETALBURG_WALLY, MAP_PETALBURG_CITY msgbox Route102_Text_LetsGoBack, MSGBOX_DEFAULT closemessage clearflag FLAG_HIDE_MAP_NAME_POPUP @@ -64,18 +58,18 @@ PetalburgCity_EventScript_WallyTutorial:: PetalburgCity_EventScript_WalkToWallyHouse:: lockall setflag FLAG_HIDE_MAP_NAME_POPUP - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Movement_WalkToWallyHouseWallysDad - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_WalkToWallyHousePlayer + applymovement LOCALID_PETALBURG_WALLYS_DAD, PetalburgCity_Movement_WalkToWallyHouseWallysDad + applymovement LOCALID_PLAYER, PetalburgCity_Movement_WalkToWallyHousePlayer waitmovement 0 setvar VAR_0x8004, 7 setvar VAR_0x8005, 5 opendoor VAR_0x8004, VAR_0x8005 waitdooranim - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Movement_WalkInsideHouseWallysDad - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_WalkInsideHousePlayer + applymovement LOCALID_PETALBURG_WALLYS_DAD, PetalburgCity_Movement_WalkInsideHouseWallysDad + applymovement LOCALID_PLAYER, PetalburgCity_Movement_WalkInsideHousePlayer waitmovement 0 setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_DAD - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_PETALBURG_CITY + hideobjectat LOCALID_PLAYER, MAP_PETALBURG_CITY closedoor VAR_0x8004, VAR_0x8005 waitdooranim clearflag FLAG_HIDE_MAP_NAME_POPUP @@ -91,7 +85,7 @@ PetalburgCity_EventScript_Boy:: faceplayer msgbox PetalburgCity_Text_WaterReflection, MSGBOX_DEFAULT closemessage - applymovement LOCALID_BOY, Common_Movement_FaceOriginalDirection + applymovement LOCALID_PETALBURG_BOY, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -285,7 +279,7 @@ PetalburgCity_EventScript_ShowGymToPlayer:: call_if_eq VAR_0x8008, 3, PetalburgCity_EventScript_LeadPlayerToGym3 msgbox PetalburgCity_Text_ThisIsPetalburgGym, MSGBOX_DEFAULT applymovement LOCALID_GYM_BOY, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox PetalburgCity_Text_ThisIsGymSign, MSGBOX_DEFAULT closemessage @@ -298,7 +292,7 @@ PetalburgCity_EventScript_ShowGymToPlayer:: PetalburgCity_EventScript_BoyApproachPlayer0:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyApproachPlayer0 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return @@ -310,38 +304,38 @@ PetalburgCity_EventScript_BoyApproachPlayer1:: PetalburgCity_EventScript_BoyApproachPlayer2:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyApproachPlayer2 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return PetalburgCity_EventScript_BoyApproachPlayer3:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyApproachPlayer3 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return PetalburgCity_EventScript_LeadPlayerToGym0:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyWalkToGym0 - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym0 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym0 waitmovement 0 return PetalburgCity_EventScript_LeadPlayerToGym1:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyWalkToGym1 - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym1 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym1 waitmovement 0 return PetalburgCity_EventScript_LeadPlayerToGym2:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyWalkToGym2 - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym2 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym2 waitmovement 0 return PetalburgCity_EventScript_LeadPlayerToGym3:: applymovement LOCALID_GYM_BOY, PetalburgCity_Movement_BoyWalkToGym3 - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym3 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWalkToGym3 waitmovement 0 return @@ -504,57 +498,57 @@ PetalburgCity_Movement_PlayerWalkToGym3: PetalburgCity_EventScript_Scott0:: lockall - addobject LOCALID_SCOTT + addobject LOCALID_PETALBURG_SCOTT setvar VAR_0x8008, 0 - setobjectxy LOCALID_SCOTT, 13, 10 + setobjectxy LOCALID_PETALBURG_SCOTT, 13, 10 goto PetalburgCity_EventScript_Scott end PetalburgCity_EventScript_Scott1:: lockall - addobject LOCALID_SCOTT + addobject LOCALID_PETALBURG_SCOTT setvar VAR_0x8008, 1 - setobjectxy LOCALID_SCOTT, 13, 11 + setobjectxy LOCALID_PETALBURG_SCOTT, 13, 11 goto PetalburgCity_EventScript_Scott end PetalburgCity_EventScript_Scott2:: lockall - addobject LOCALID_SCOTT + addobject LOCALID_PETALBURG_SCOTT setvar VAR_0x8008, 2 - setobjectxy LOCALID_SCOTT, 13, 12 + setobjectxy LOCALID_PETALBURG_SCOTT, 13, 12 goto PetalburgCity_EventScript_Scott end PetalburgCity_EventScript_Scott3:: lockall - addobject LOCALID_SCOTT + addobject LOCALID_PETALBURG_SCOTT setvar VAR_0x8008, 3 - setobjectxy LOCALID_SCOTT, 13, 13 + setobjectxy LOCALID_PETALBURG_SCOTT, 13, 13 goto PetalburgCity_EventScript_Scott end PetalburgCity_EventScript_Scott:: - applymovement LOCALID_SCOTT, PetalburgCity_Movement_ScottStartWalkLeft + applymovement LOCALID_PETALBURG_SCOTT, PetalburgCity_Movement_ScottStartWalkLeft waitmovement 0 playse SE_PIN - applymovement LOCALID_SCOTT, Common_Movement_ExclamationMark + applymovement LOCALID_PETALBURG_SCOTT, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_SCOTT, Common_Movement_Delay48 + applymovement LOCALID_PETALBURG_SCOTT, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_SCOTT, PetalburgCity_Movement_ScottApproachPlayer + applymovement LOCALID_PETALBURG_SCOTT, PetalburgCity_Movement_ScottApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 setvar VAR_SCOTT_STATE, 1 msgbox PetalburgCity_Text_AreYouATrainer, MSGBOX_DEFAULT closemessage - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PETALBURG_SCOTT, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 30 msgbox PetalburgCity_Text_WellMaybeNot, MSGBOX_DEFAULT closemessage - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PETALBURG_SCOTT, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 30 msgbox PetalburgCity_Text_ImLookingForTalentedTrainers, MSGBOX_DEFAULT @@ -564,31 +558,31 @@ PetalburgCity_EventScript_Scott:: call_if_eq VAR_0x8008, 2, PetalburgCity_EventScript_ScottExit2 call_if_eq VAR_0x8008, 3, PetalburgCity_EventScript_ScottExit3 setvar VAR_SCOTT_PETALBURG_ENCOUNTER, 1 - removeobject LOCALID_SCOTT + removeobject LOCALID_PETALBURG_SCOTT releaseall end PetalburgCity_EventScript_ScottExit0:: - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit0 - applymovement LOCALID_SCOTT, PetalburgCity_Movement_ScottExit0 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit0 + applymovement LOCALID_PETALBURG_SCOTT, PetalburgCity_Movement_ScottExit0 waitmovement 0 return PetalburgCity_EventScript_ScottExit1:: - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit1 - applymovement LOCALID_SCOTT, PetalburgCity_Movement_ScottExit1 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit1 + applymovement LOCALID_PETALBURG_SCOTT, PetalburgCity_Movement_ScottExit1 waitmovement 0 return PetalburgCity_EventScript_ScottExit2:: - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit2 - applymovement LOCALID_SCOTT, PetalburgCity_Movement_ScottExit2 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit2 + applymovement LOCALID_PETALBURG_SCOTT, PetalburgCity_Movement_ScottExit2 waitmovement 0 return PetalburgCity_EventScript_ScottExit3:: - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit3 - applymovement LOCALID_SCOTT, PetalburgCity_Movement_ScottExit3 + applymovement LOCALID_PLAYER, PetalburgCity_Movement_PlayerWatchScottExit3 + applymovement LOCALID_PETALBURG_SCOTT, PetalburgCity_Movement_ScottExit3 waitmovement 0 return diff --git a/data/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json index ef58491713..ecc3176b20 100644 --- a/data/maps/PetalburgCity_Gym/map.json +++ b/data/maps/PetalburgCity_Gym/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PETALBURG_GYM_NORMAN", "graphics_id": "OBJ_EVENT_GFX_NORMAN", "x": 4, "y": 2, @@ -132,6 +133,7 @@ "flag": "FLAG_HIDE_PETALBURG_GYM_GREETER" }, { + "local_id": "LOCALID_PETALBURG_GYM_WALLY", "graphics_id": "OBJ_EVENT_GFX_WALLY", "x": 4, "y": 111, @@ -145,6 +147,7 @@ "flag": "FLAG_HIDE_PETALBURG_GYM_WALLY" }, { + "local_id": "LOCALID_PETALBURG_GYM_WALLYS_DAD", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "x": 1, "y": 7, diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index 1c519adce5..6995eeda9c 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_NORMAN, 1 -.set LOCALID_WALLY, 10 -.set LOCALID_WALLYS_DAD, 11 - PetalburgCity_Gym_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, PetalburgCity_Gym_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_Gym_OnTransition @@ -46,11 +42,11 @@ PetalburgCity_Gym_OnTransition: end PetalburgCity_Gym_EventScript_MoveWallyToEntrance:: - setobjectxyperm LOCALID_WALLY, 5, 108 + setobjectxyperm LOCALID_PETALBURG_GYM_WALLY, 5, 108 return PetalburgCity_Gym_EventScript_MoveNormanToEntrance:: - setobjectxyperm LOCALID_NORMAN, 4, 107 + setobjectxyperm LOCALID_PETALBURG_GYM_NORMAN, 4, 107 return PetalburgCity_Gym_EventScript_CheckNormanForRematch:: @@ -58,7 +54,7 @@ PetalburgCity_Gym_EventScript_CheckNormanForRematch:: specialvar VAR_RESULT, IsTrainerReadyForRematch goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontMoveNormanToFront goto_if_eq VAR_PETALBURG_GYM_STATE, 8, PetalburgCity_Gym_EventScript_DontMoveNormanToFront - setobjectxyperm LOCALID_NORMAN, 4, 107 + setobjectxyperm LOCALID_PETALBURG_GYM_NORMAN, 4, 107 return PetalburgCity_Gym_EventScript_DontMoveNormanToFront:: @@ -70,7 +66,7 @@ PetalburgCity_Gym_OnWarp: end_map_script_table PetalburgCity_Gym_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end PetalburgCity_Gym_OnFrame: @@ -82,14 +78,14 @@ PetalburgCity_Gym_EventScript_ReturnFromWallyTutorial:: msgbox PetalburgCity_Gym_Text_DadSoDidItWorkOut, MSGBOX_DEFAULT msgbox PetalburgCity_Gym_Text_WallyThankYouBye, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyExitGym + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyExitGym waitmovement 0 playse SE_EXIT - removeobject LOCALID_WALLY + removeobject LOCALID_PETALBURG_GYM_WALLY setflag FLAG_HIDE_PETALBURG_CITY_WALLY delay 30 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox PetalburgCity_Gym_Text_DadGoCollectBadges, MSGBOX_DEFAULT setvar VAR_PETALBURG_GYM_STATE, 2 @@ -144,7 +140,7 @@ PetalburgCity_Gym_EventScript_BeginWallyTutorialEast:: end PetalburgCity_Gym_EventScript_BeginWallyTutorial:: - addobject LOCALID_WALLY + addobject LOCALID_PETALBURG_GYM_WALLY playse SE_DOOR call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_WallyArriveSouth call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_WallyArriveNorth @@ -182,7 +178,7 @@ PetalburgCity_Gym_EventScript_BeginWallyTutorial:: call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_ExitGymWithWallyWest call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_ExitGymWithWallyEast - removeobject LOCALID_WALLY + removeobject LOCALID_PETALBURG_GYM_WALLY setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_MOM setvar VAR_PETALBURG_GYM_STATE, 1 setvar VAR_PETALBURG_CITY_STATE, 2 @@ -196,101 +192,101 @@ PetalburgCity_Gym_EventScript_BeginWallyTutorial:: end PetalburgCity_Gym_EventScript_WallyArriveSouth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyArrive + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyArrive waitmovement 0 return PetalburgCity_Gym_EventScript_WallyArriveNorth:: - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyArriveNorth + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyArriveNorth waitmovement 0 - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return PetalburgCity_Gym_EventScript_WallyArriveWestEast:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyArrive + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyArrive waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallySouth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyExitSouthWest - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallySouth + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyExitSouthWest + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallySouth waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth:: - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyExitNorth - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyExitNorth + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyNorth waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallyWest:: - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyExitSouthWest - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyWest + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyExitSouthWest + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyWest waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallyEast:: - applymovement LOCALID_WALLY, PetalburgCity_Gym_Movement_WallyExitEast - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyEast + applymovement LOCALID_PETALBURG_GYM_WALLY, PetalburgCity_Gym_Movement_WallyExitEast + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallyEast waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressPlayerWest:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressPlayerEast:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterLeft - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressWallySouth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressWallyNorth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressWallyWest:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return PetalburgCity_Gym_EventScript_NormanAddressWallyEast:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return PetalburgCity_Gym_EventScript_WallyFacePlayer:: - applymovement LOCALID_WALLY, Common_Movement_FacePlayer + applymovement LOCALID_PETALBURG_GYM_WALLY, Common_Movement_FacePlayer waitmovement 0 return PetalburgCity_Gym_EventScript_WallyFaceDown:: - applymovement LOCALID_WALLY, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_WALLY, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return @@ -319,7 +315,7 @@ PetalburgCity_Gym_EventScript_NormanFaceDoorSouth:: @ For all other NormanFaceDoorX, Norman is already facing the door from NormanAddressWallyX PetalburgCity_Gym_EventScript_NormanFaceDoorNorth:: - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return @@ -397,7 +393,7 @@ PetalburgCity_Gym_EventScript_NormanBattle:: delay 40 playse SE_DOOR delay 10 - addobject LOCALID_WALLYS_DAD + addobject LOCALID_PETALBURG_GYM_WALLYS_DAD switch VAR_FACING case DIR_NORTH, PetalburgCity_Gym_EventScript_WallysDadArrivesNorth case DIR_WEST, PetalburgCity_Gym_EventScript_WallysDadArrivesWest @@ -424,12 +420,12 @@ PetalburgCity_Gym_EventScript_WallysDadArrivesWest:: goto PetalburgCity_Gym_EventScript_WallysDadArrives PetalburgCity_Gym_EventScript_WallysDadArrives:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadEnterGym + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadEnterGym waitmovement 0 playse SE_PIN - applymovement LOCALID_WALLYS_DAD, Common_Movement_ExclamationMark + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_WALLYS_DAD, Common_Movement_Delay48 + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, Common_Movement_Delay48 waitmovement 0 delay 10 call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_WallysDadApproachPlayerNorth @@ -448,7 +444,7 @@ PetalburgCity_Gym_EventScript_WallysDadArrives:: call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_ExitGymWithWallysDadNorth call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_ExitGymWithWallysDadEast call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_ExitGymWithWallysDadWest - removeobject LOCALID_WALLYS_DAD + removeobject LOCALID_PETALBURG_GYM_WALLYS_DAD setvar VAR_PETALBURG_CITY_STATE, 4 clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_DAD warp MAP_PETALBURG_CITY, 15, 8 @@ -457,60 +453,60 @@ PetalburgCity_Gym_EventScript_WallysDadArrives:: end PetalburgCity_Gym_EventScript_WallysDadFaceNormanNorth:: - applymovement LOCALID_WALLYS_DAD, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return PetalburgCity_Gym_EventScript_WallysDadFaceNormanEast:: - applymovement LOCALID_WALLYS_DAD, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return PetalburgCity_Gym_EventScript_WallysDadFaceNormanWest:: - applymovement LOCALID_WALLYS_DAD, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return PetalburgCity_Gym_EventScript_WallysDadApproachPlayerNorth:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadApproachPlayerNorth + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadApproachPlayerNorth waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return PetalburgCity_Gym_EventScript_WallysDadApproachPlayerEast:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadApproachPlayerEast + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadApproachPlayerEast waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return PetalburgCity_Gym_EventScript_WallysDadApproachPlayerWest:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadApproachPlayerWest + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadApproachPlayerWest waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallysDadNorth:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadExitNorth - applymovement LOCALID_NORMAN, Common_Movement_WalkInPlaceFasterDown - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysDadNorth + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadExitNorth + applymovement LOCALID_PETALBURG_GYM_NORMAN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysDadNorth waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallysDadEast:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadExitEast - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysDadEast + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadExitEast + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysDadEast waitmovement 0 return PetalburgCity_Gym_EventScript_ExitGymWithWallysDadWest:: - applymovement LOCALID_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadExitWest - applymovement OBJ_EVENT_ID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysDadWest + applymovement LOCALID_PETALBURG_GYM_WALLYS_DAD, PetalburgCity_Gym_Movement_WallysDadExitWest + applymovement LOCALID_PLAYER, PetalburgCity_Gym_Movement_PlayerExitWithWallysDadWest waitmovement 0 return diff --git a/data/maps/PetalburgCity_Mart/map.json b/data/maps/PetalburgCity_Mart/map.json index 7c8a70b28e..884e25d3ea 100644 --- a/data/maps/PetalburgCity_Mart/map.json +++ b/data/maps/PetalburgCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PETALBURG_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc index ac47d7766f..5f426cb0b6 100644 --- a/data/maps/PetalburgCity_Mart/scripts.inc +++ b/data/maps/PetalburgCity_Mart/scripts.inc @@ -25,9 +25,7 @@ PetalburgCity_Mart_Pokemart_Basic: .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND .2byte ITEM_ORANGE_MAIL - .2byte ITEM_NONE - release - end + pokemartlistend PetalburgCity_Mart_EventScript_ExpandedItems:: pokemart PetalburgCity_Mart_Pokemart_Expanded @@ -50,9 +48,7 @@ PetalburgCity_Mart_Pokemart_Expanded: .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND .2byte ITEM_ORANGE_MAIL - .2byte ITEM_NONE - release - end + pokemartlistend PetalburgCity_Mart_EventScript_Woman:: msgbox PetalburgCity_Mart_Text_WeakWillGrowStronger, MSGBOX_NPC diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json index 12b7810df9..ae19e848b3 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_PETALBURG_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index ca53d94ecb..f4469e0081 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - PetalburgCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, PetalburgCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ PetalburgCity_PokemonCenter_1F_OnTransition: end PetalburgCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_PETALBURG_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/PetalburgCity_WallysHouse/map.json b/data/maps/PetalburgCity_WallysHouse/map.json index f2fd03e7ff..8fb48df1ba 100644 --- a/data/maps/PetalburgCity_WallysHouse/map.json +++ b/data/maps/PetalburgCity_WallysHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_WALLYS_HOUSE_WALLYS_DAD", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "x": 3, "y": 4, diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc index bf3eaa50b6..1baef8808f 100644 --- a/data/maps/PetalburgCity_WallysHouse/scripts.inc +++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WALLYS_DAD, 1 - PetalburgCity_WallysHouse_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, PetalburgCity_WallysHouse_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PetalburgCity_WallysHouse_OnWarp @@ -10,8 +8,8 @@ PetalburgCity_WallysHouse_OnWarp: end_map_script_table PetalburgCity_WallysHouse_EventScript_PlayerWallysDadFaceEachOther:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_EAST - turnobject LOCALID_WALLYS_DAD, DIR_WEST + turnobject LOCALID_PLAYER, DIR_EAST + turnobject LOCALID_WALLYS_HOUSE_WALLYS_DAD, DIR_WEST end PetalburgCity_WallysHouse_OnFrame: diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index 2979e7e469..5b6fa65fa7 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -41,6 +41,7 @@ "flag": "FLAG_TEMP_12" }, { + "local_id": "LOCALID_PETALBURG_WOODS_GRUNT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 26, "y": 17, @@ -54,6 +55,7 @@ "flag": "FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT" }, { + "local_id": "LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE", "graphics_id": "OBJ_EVENT_GFX_MAN_2", "x": 26, "y": 20, diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc index c58184cb20..e5a67b6a5b 100644 --- a/data/maps/PetalburgWoods/scripts.inc +++ b/data/maps/PetalburgWoods/scripts.inc @@ -1,40 +1,37 @@ -.set LOCALID_GRUNT, 3 -.set LOCALID_DEVON_EMPLOYEE, 4 - PetalburgWoods_MapScripts:: end_map_scripts PetalburgWoods_EventScript_DevonResearcherLeft:: lockall call PetalburgWoods_EventScript_DevonResearcherIntro - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherApproachPlayerLeft + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherApproachPlayerLeft waitmovement 0 msgbox PetalburgWoods_Text_HaveYouSeenShroomish, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_AQUA, FALSE - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaEntrance + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaEntrance waitmovement 0 msgbox PetalburgWoods_Text_IWasGoingToAmbushYou, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaApproachResearcherLeft + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaApproachResearcherLeft waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox PetalburgWoods_Text_HandOverThosePapers, MSGBOX_DEFAULT closemessage - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherFleeToPlayerLeft + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherFleeToPlayerLeft waitmovement 0 msgbox PetalburgWoods_Text_YouHaveToHelpMe, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaApproachPlayer + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaApproachPlayer waitmovement 0 msgbox PetalburgWoods_Text_NoOneCrossesTeamAqua, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_PETALBURG_WOODS, PetalburgWoods_Text_YoureKiddingMe - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaBackOff + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaBackOff waitmovement 0 call PetalburgWoods_EventScript_DevonResearcherPostBattle - applymovement OBJ_EVENT_ID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherExitLeft + applymovement LOCALID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherExitLeft waitmovement 0 goto PetalburgWoods_EventScript_RemoveDevonResearcher end @@ -42,41 +39,41 @@ PetalburgWoods_EventScript_DevonResearcherLeft:: PetalburgWoods_EventScript_DevonResearcherRight:: lockall call PetalburgWoods_EventScript_DevonResearcherIntro - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherApproachPlayerRight + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherApproachPlayerRight waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox PetalburgWoods_Text_HaveYouSeenShroomish, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_AQUA, FALSE - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaEntrance + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaEntrance waitmovement 0 msgbox PetalburgWoods_Text_IWasGoingToAmbushYou, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaApproachResearcherRight + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaApproachResearcherRight waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox PetalburgWoods_Text_HandOverThosePapers, MSGBOX_DEFAULT closemessage - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherFleeToPlayerRight + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherFleeToPlayerRight waitmovement 0 msgbox PetalburgWoods_Text_YouHaveToHelpMe, MSGBOX_DEFAULT - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox PetalburgWoods_Text_NoOneCrossesTeamAqua, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_PETALBURG_WOODS, PetalburgWoods_Text_YoureKiddingMe - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaBackOff + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaBackOff waitmovement 0 call PetalburgWoods_EventScript_DevonResearcherPostBattle - applymovement OBJ_EVENT_ID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherExitRight + applymovement LOCALID_PLAYER, PetalburgWoods_Movement_WatchResearcherLeave + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherExitRight waitmovement 0 goto PetalburgWoods_EventScript_RemoveDevonResearcher end PetalburgWoods_EventScript_DevonResearcherIntro:: - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherLookAround + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherLookAround waitmovement 0 msgbox PetalburgWoods_Text_NotAOneToBeFound, MSGBOX_DEFAULT closemessage @@ -85,10 +82,10 @@ PetalburgWoods_EventScript_DevonResearcherIntro:: PetalburgWoods_EventScript_DevonResearcherPostBattle:: msgbox PetalburgWoods_Text_YouveGotSomeNerve, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, PetalburgWoods_Movement_AquaRunAway + applymovement LOCALID_PETALBURG_WOODS_GRUNT, PetalburgWoods_Movement_AquaRunAway waitmovement 0 - removeobject LOCALID_GRUNT - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + removeobject LOCALID_PETALBURG_WOODS_GRUNT + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox PetalburgWoods_Text_ThatWasAwfullyClose, MSGBOX_DEFAULT giveitem ITEM_GREAT_BALL @@ -103,14 +100,14 @@ PetalburgWoods_EventScript_BagFull:: PetalburgWoods_EventScript_DevonResearcherFinish:: msgbox PetalburgWoods_Text_TeamAquaAfterSomethingInRustboro, MSGBOX_DEFAULT - applymovement LOCALID_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherStartExit + applymovement LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE, PetalburgWoods_Movement_DevonResearcherStartExit waitmovement 0 msgbox PetalburgWoods_Text_ICantBeWastingTime, MSGBOX_DEFAULT closemessage return PetalburgWoods_EventScript_RemoveDevonResearcher:: - removeobject LOCALID_DEVON_EMPLOYEE + removeobject LOCALID_PETALBURG_WOODS_DEVON_EMPLOYEE setvar VAR_PETALBURG_WOODS_STATE, 1 releaseall end diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json index 1abb23030b..d24d997151 100644 --- a/data/maps/Route101/map.json +++ b/data/maps/Route101/map.json @@ -39,6 +39,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE101_BIRCH", "graphics_id": "OBJ_EVENT_GFX_PROF_BIRCH", "x": 9, "y": 13, @@ -65,6 +66,7 @@ "flag": "FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG" }, { + "local_id": "LOCALID_ROUTE101_ZIGZAGOON", "graphics_id": "OBJ_EVENT_GFX_ZIGZAGOON_1", "x": 10, "y": 13, diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index 86898150e3..51177f3e3f 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_BIRCH, 2 -.set LOCALID_ZIGZAGOON, 4 - Route101_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route101_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route101_OnFrame @@ -24,19 +21,19 @@ Route101_EventScript_StartBirchRescue:: playbgm MUS_HELP, TRUE msgbox Route101_Text_HelpMe, MSGBOX_DEFAULT closemessage - setobjectxy LOCALID_BIRCH, 0, 15 - setobjectxy LOCALID_ZIGZAGOON, 0, 16 - applymovement OBJ_EVENT_ID_PLAYER, Route101_Movement_EnterScene - applymovement LOCALID_BIRCH, Route101_Movement_BirchRunAway1 - applymovement LOCALID_ZIGZAGOON, Route101_Movement_ZigzagoonChase1 + setobjectxy LOCALID_ROUTE101_BIRCH, 0, 15 + setobjectxy LOCALID_ROUTE101_ZIGZAGOON, 0, 16 + applymovement LOCALID_PLAYER, Route101_Movement_EnterScene + applymovement LOCALID_ROUTE101_BIRCH, Route101_Movement_BirchRunAway1 + applymovement LOCALID_ROUTE101_ZIGZAGOON, Route101_Movement_ZigzagoonChase1 waitmovement 0 - applymovement LOCALID_ZIGZAGOON, Route101_Movement_ZigzagoonChaseInCircles - applymovement LOCALID_BIRCH, Route101_Movement_BirchRunInCircles + applymovement LOCALID_ROUTE101_ZIGZAGOON, Route101_Movement_ZigzagoonChaseInCircles + applymovement LOCALID_ROUTE101_BIRCH, Route101_Movement_BirchRunInCircles waitmovement 0 - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_ROUTE101_BIRCH, Common_Movement_WalkInPlaceFasterRight waitmovement 0 - applymovement LOCALID_ZIGZAGOON, Route101_Movement_ZigzagoonFaceBirch - applymovement LOCALID_BIRCH, Route101_Movement_BirchFaceZigzagoon + applymovement LOCALID_ROUTE101_ZIGZAGOON, Route101_Movement_ZigzagoonFaceBirch + applymovement LOCALID_ROUTE101_BIRCH, Route101_Movement_BirchFaceZigzagoon waitmovement 0 msgbox Route101_Text_PleaseHelp, MSGBOX_DEFAULT closemessage @@ -48,7 +45,7 @@ Route101_EventScript_PreventExitSouth:: lockall msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Route101_Movement_PreventExitSouth + applymovement LOCALID_PLAYER, Route101_Movement_PreventExitSouth waitmovement 0 releaseall end @@ -57,7 +54,7 @@ Route101_EventScript_PreventExitWest:: lockall msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Route101_Movement_PreventExitWest + applymovement LOCALID_PLAYER, Route101_Movement_PreventExitWest waitmovement 0 releaseall end @@ -66,7 +63,7 @@ Route101_EventScript_PreventExitNorth:: lockall msgbox Route101_Text_DontLeaveMe, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Route101_Movement_PreventExitNorth + applymovement LOCALID_PLAYER, Route101_Movement_PreventExitNorth waitmovement 0 releaseall end @@ -224,13 +221,13 @@ Route101_EventScript_BirchsBag:: setflag FLAG_SYS_POKEMON_GET setflag FLAG_RESCUED_BIRCH fadescreen FADE_TO_BLACK - removeobject LOCALID_ZIGZAGOON - setobjectxy OBJ_EVENT_ID_PLAYER, 6, 13 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + removeobject LOCALID_ROUTE101_ZIGZAGOON + setobjectxy LOCALID_PLAYER, 6, 13 + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 special ChooseStarter waitstate - applymovement LOCALID_BIRCH, Route101_Movement_BirchApproachPlayer + applymovement LOCALID_ROUTE101_BIRCH, Route101_Movement_BirchApproachPlayer waitmovement 0 msgbox Route101_Text_YouSavedMe, MSGBOX_DEFAULT special HealPlayerParty diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index 9bc6fed67f..65e4a9014e 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -39,6 +39,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE103_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 10, "y": 3, diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 6b2acc1c7d..495f711ce3 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_RIVAL, 2 - Route103_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route103_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route103_OnLoad @@ -30,11 +28,11 @@ Route103_EventScript_RivalMay:: msgbox Route103_Text_MayRoute103Pokemon, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_MAY, TRUE - applymovement LOCALID_RIVAL, Common_Movement_FacePlayer + applymovement LOCALID_ROUTE103_RIVAL, Common_Movement_FacePlayer waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_ROUTE103_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_ROUTE103_RIVAL, Common_Movement_Delay48 waitmovement 0 msgbox Route103_Text_MayLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON @@ -47,11 +45,11 @@ Route103_EventScript_RivalBrendan:: msgbox Route103_Text_BrendanRoute103Pokemon, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_BRENDAN, TRUE - applymovement LOCALID_RIVAL, Common_Movement_FacePlayer + applymovement LOCALID_ROUTE103_RIVAL, Common_Movement_FacePlayer waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_ROUTE103_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_ROUTE103_RIVAL, Common_Movement_Delay48 waitmovement 0 msgbox Route103_Text_BrendanLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON @@ -110,36 +108,36 @@ Route103_EventScript_RivalExit:: end Route103_EventScript_RivalExitFacingNorth:: - applymovement OBJ_EVENT_ID_PLAYER, Route103_Movement_WatchRivalExitFacingNorth - applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth1 + applymovement LOCALID_PLAYER, Route103_Movement_WatchRivalExitFacingNorth + applymovement LOCALID_ROUTE103_RIVAL, Route103_Movement_RivalExitFacingNorth1 waitmovement 0 playse SE_LEDGE - applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth2 + applymovement LOCALID_ROUTE103_RIVAL, Route103_Movement_RivalExitFacingNorth2 waitmovement 0 goto Route103_EventScript_RivalEnd end Route103_EventScript_RivalExitFacingEastOrWest:: - applymovement OBJ_EVENT_ID_PLAYER, Route103_Movement_WatchRivalExitFacingEastOrWest - applymovement LOCALID_RIVAL, Route103_Movement_RivalExit1 + applymovement LOCALID_PLAYER, Route103_Movement_WatchRivalExitFacingEastOrWest + applymovement LOCALID_ROUTE103_RIVAL, Route103_Movement_RivalExit1 waitmovement 0 playse SE_LEDGE - applymovement LOCALID_RIVAL, Route103_Movement_RivalExit2 + applymovement LOCALID_ROUTE103_RIVAL, Route103_Movement_RivalExit2 waitmovement 0 goto Route103_EventScript_RivalEnd end Route103_EventScript_RivalExitFacingSouth:: - applymovement LOCALID_RIVAL, Route103_Movement_RivalExit1 + applymovement LOCALID_ROUTE103_RIVAL, Route103_Movement_RivalExit1 waitmovement 0 playse SE_LEDGE - applymovement LOCALID_RIVAL, Route103_Movement_RivalExit2 + applymovement LOCALID_ROUTE103_RIVAL, Route103_Movement_RivalExit2 waitmovement 0 goto Route103_EventScript_RivalEnd end Route103_EventScript_RivalEnd:: - removeobject LOCALID_RIVAL + removeobject LOCALID_ROUTE103_RIVAL setvar VAR_BIRCH_LAB_STATE, 4 clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL setflag FLAG_DEFEATED_RIVAL_ROUTE103 diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index 80af8aa6d8..4a4679acd3 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -109,6 +109,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE104_BOAT", "graphics_id": "OBJ_EVENT_GFX_MR_BRINEYS_BOAT", "x": 12, "y": 54, @@ -122,6 +123,7 @@ "flag": "FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT" }, { + "local_id": "LOCALID_ROUTE104_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 12, "y": 51, @@ -460,6 +462,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE104_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 17, "y": 50, diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index ba66981d1b..c3c8552388 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -1,7 +1,3 @@ -@ NOTE: Route 104's sail to Dewford script references local IDs from Dewford's map. -@ These are labeled in DewfordTown/scripts.inc -.set LOCALID_RIVAL, 34 - Route104_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, Route104_OnFrame map_script MAP_SCRIPT_ON_TRANSITION, Route104_OnTransition @@ -36,7 +32,7 @@ Route104_EventScript_TrySetRivalPos:: goto_if_ge VAR_BOARD_BRINEY_BOAT_STATE, 1, Route104_EventScript_DontSetRivalPos goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_DontSetRivalPos goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_DontSetRivalPos - setobjectxyperm LOCALID_RIVAL, 17, 52 + setobjectxyperm LOCALID_ROUTE104_RIVAL, 17, 52 return Route104_EventScript_DontSetRivalPos:: @@ -45,7 +41,7 @@ Route104_EventScript_DontSetRivalPos:: Route104_EventScript_Rival:: lockall setvar VAR_0x8008, 1 - applymovement LOCALID_RIVAL, Common_Movement_FacePlayer + applymovement LOCALID_ROUTE104_RIVAL, Common_Movement_FacePlayer waitmovement 0 goto Route104_EventScript_RivalEncounter @@ -54,22 +50,22 @@ Route104_EventScript_RivalTrigger:: setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL setvar VAR_RUSTBORO_CITY_STATE, 8 setvar VAR_ROUTE104_STATE, 2 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 10 - addobject LOCALID_RIVAL + addobject LOCALID_ROUTE104_RIVAL clearflag FLAG_HIDE_ROUTE_104_RIVAL - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_PlayerBackUp + applymovement LOCALID_PLAYER, Route104_Movement_PlayerBackUp waitmovement 0 - applymovement LOCALID_RIVAL, Route104_Movement_RivalExitBrineysCottage + applymovement LOCALID_ROUTE104_RIVAL, Route104_Movement_RivalExitBrineysCottage waitmovement 0 delay 20 setvar VAR_0x8008, 0 call RustboroCity_EventScript_PlayRivalMusic playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_ROUTE104_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_ROUTE104_RIVAL, Common_Movement_Delay48 waitmovement 0 goto Route104_EventScript_RivalEncounter @@ -107,14 +103,14 @@ Route104_EventScript_MayEncounter:: closemessage delay 30 setflag FLAG_ENABLE_RIVAL_MATCH_CALL - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_PlayerFaceRival - applymovement LOCALID_RIVAL, Route104_Movement_RivalWalkSlowLeft + applymovement LOCALID_PLAYER, Route104_Movement_PlayerFaceRival + applymovement LOCALID_ROUTE104_RIVAL, Route104_Movement_RivalWalkSlowLeft msgbox Route104_Text_MayHowsYourPokedex, MSGBOX_DEFAULT closemessage waitmovement 0 - applymovement LOCALID_RIVAL, Route104_Movement_RivalApproachPlayer + applymovement LOCALID_ROUTE104_RIVAL, Route104_Movement_RivalApproachPlayer waitmovement 0 - copyobjectxytoperm LOCALID_RIVAL + copyobjectxytoperm LOCALID_ROUTE104_RIVAL msgbox Route104_Text_MayMinesDecentLetsBattle, MSGBOX_YESNO goto_if_eq VAR_RESULT, YES, Route104_EventScript_BattleMay msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT @@ -193,14 +189,14 @@ Route104_EventScript_BrendanEncounter:: closemessage delay 30 setflag FLAG_ENABLE_RIVAL_MATCH_CALL - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_PlayerFaceRival - applymovement LOCALID_RIVAL, Route104_Movement_RivalWalkSlowLeft + applymovement LOCALID_PLAYER, Route104_Movement_PlayerFaceRival + applymovement LOCALID_ROUTE104_RIVAL, Route104_Movement_RivalWalkSlowLeft msgbox Route104_Text_BrendanHowsYourPokedex, MSGBOX_DEFAULT closemessage waitmovement 0 - applymovement LOCALID_RIVAL, Route104_Movement_RivalApproachPlayer + applymovement LOCALID_ROUTE104_RIVAL, Route104_Movement_RivalApproachPlayer waitmovement 0 - copyobjectxytoperm LOCALID_RIVAL + copyobjectxytoperm LOCALID_ROUTE104_RIVAL msgbox Route104_Text_BrendanDoingGreatLetsBattle, MSGBOX_YESNO goto_if_eq VAR_RESULT, YES, Route104_EventScript_BattleBrendan msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT @@ -347,28 +343,28 @@ Route104_EventScript_Girl2:: end Route104_EventScript_SailToDewford:: - setobjectsubpriority LOCALID_BRINEY_R104, MAP_ROUTE104, 0 - setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE104, 0 - applymovement LOCALID_BRINEY_R104, Route104_Movement_BrineyBoardBoat + setobjectsubpriority LOCALID_ROUTE104_BRINEY, MAP_ROUTE104, 0 + setobjectsubpriority LOCALID_PLAYER, MAP_ROUTE104, 0 + applymovement LOCALID_ROUTE104_BRINEY, Route104_Movement_BrineyBoardBoat waitmovement 0 - removeobject LOCALID_BRINEY_R104 - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_PlayerBoardBoat + removeobject LOCALID_ROUTE104_BRINEY + applymovement LOCALID_PLAYER, Route104_Movement_PlayerBoardBoat waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_ROUTE104 + hideobjectat LOCALID_PLAYER, MAP_ROUTE104 call Common_EventScript_PlayBrineysBoatMusic goto_if_set FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_SailToDewfordNoCall goto_if_unset FLAG_ENABLE_NORMAN_MATCH_CALL, Route104_EventScript_SailToDewfordDadCalls end Route104_EventScript_SailToDewfordNoCall:: - applymovement LOCALID_BOAT_R104, Route104_Movement_SailToDewford - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_SailToDewford + applymovement LOCALID_ROUTE104_BOAT, Route104_Movement_SailToDewford + applymovement LOCALID_PLAYER, Route104_Movement_SailToDewford waitmovement 0 goto Route104_EventScript_ArriveInDewford Route104_EventScript_SailToDewfordDadCalls:: - applymovement LOCALID_BOAT_R104, Route104_Movement_SailToDewfordBeforeDadCalls - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_SailToDewfordBeforeDadCalls + applymovement LOCALID_ROUTE104_BOAT, Route104_Movement_SailToDewfordBeforeDadCalls + applymovement LOCALID_PLAYER, Route104_Movement_SailToDewfordBeforeDadCalls waitmovement 0 pokenavcall Route104_Text_DadPokenavCall waitmessage @@ -379,35 +375,35 @@ Route104_EventScript_SailToDewfordDadCalls:: closemessage delay 30 setflag FLAG_ENABLE_NORMAN_MATCH_CALL - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_SailToDewfordAfterDadCalls - applymovement LOCALID_BOAT_R104, Route104_Movement_SailToDewfordAfterDadCalls, MAP_ROUTE104 - waitmovement LOCALID_BOAT_R104, MAP_ROUTE104 + applymovement LOCALID_PLAYER, Route104_Movement_SailToDewfordAfterDadCalls + applymovement LOCALID_ROUTE104_BOAT, Route104_Movement_SailToDewfordAfterDadCalls, MAP_ROUTE104 + waitmovement LOCALID_ROUTE104_BOAT, MAP_ROUTE104 waitmovement 0 goto Route104_EventScript_ArriveInDewford Route104_EventScript_ArriveInDewford:: delay 50 - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_PlayerExitBoat + applymovement LOCALID_PLAYER, Route104_Movement_PlayerExitBoat waitmovement 0 call Common_EventScript_StopBrineysBoatMusic - showobjectat OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN - applymovement OBJ_EVENT_ID_PLAYER, Route104_Movement_PlayerMoveForBriney + showobjectat LOCALID_PLAYER, MAP_DEWFORD_TOWN + applymovement LOCALID_PLAYER, Route104_Movement_PlayerMoveForBriney waitmovement 0 - setobjectxyperm LOCALID_BRINEY_DEWFORD, 12, 8 - addobject LOCALID_BRINEY_DEWFORD - setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0 + setobjectxyperm LOCALID_DEWFORD_BRINEY, 12, 8 + addobject LOCALID_DEWFORD_BRINEY + setobjectsubpriority LOCALID_DEWFORD_BRINEY, MAP_DEWFORD_TOWN, 0 clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN - applymovement LOCALID_BRINEY_DEWFORD, Route104_Movement_BrineyExitBoat + applymovement LOCALID_DEWFORD_BRINEY, Route104_Movement_BrineyExitBoat waitmovement 0 - addobject LOCALID_BOAT_DEWFORD + addobject LOCALID_DEWFORD_BOAT clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN call Common_EventScript_StopBrineysBoatMusic setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT - hideobjectat LOCALID_BOAT_R104, MAP_ROUTE104 + hideobjectat LOCALID_ROUTE104_BOAT, MAP_ROUTE104 copyvar VAR_BRINEY_LOCATION, VAR_0x8008 - resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE104 - resetobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN - copyobjectxytoperm LOCALID_BRINEY_DEWFORD + resetobjectsubpriority LOCALID_PLAYER, MAP_ROUTE104 + resetobjectsubpriority LOCALID_DEWFORD_BRINEY, MAP_DEWFORD_TOWN + copyobjectxytoperm LOCALID_DEWFORD_BRINEY setvar VAR_BOARD_BRINEY_BOAT_STATE, 0 goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_DeliverLetterReminder goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_LandedInDewford diff --git a/data/maps/Route104_MrBrineysHouse/map.json b/data/maps/Route104_MrBrineysHouse/map.json index 6424965291..91420bd746 100644 --- a/data/maps/Route104_MrBrineysHouse/map.json +++ b/data/maps/Route104_MrBrineysHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_BRINEYS_HOUSE_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 5, "y": 3, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY" }, { + "local_id": "LOCALID_BRINEYS_HOUSE_PEEKO", "graphics_id": "OBJ_EVENT_GFX_WINGULL", "x": 6, "y": 3, diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc index 73e6010b33..9d60778d17 100644 --- a/data/maps/Route104_MrBrineysHouse/scripts.inc +++ b/data/maps/Route104_MrBrineysHouse/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_BRINEY, 1 -.set LOCALID_PEEKO, 2 - Route104_MrBrineysHouse_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route104_MrBrineysHouse_OnTransition end_map_scripts @@ -16,10 +13,10 @@ Route104_MrBrineysHouse_EventScript_HideRustboroRival:: return Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos:: - setobjectxyperm LOCALID_BRINEY, 9, 3 - setobjectmovementtype LOCALID_BRINEY, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT - setobjectxyperm LOCALID_PEEKO, 9, 6 - setobjectmovementtype LOCALID_PEEKO, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + setobjectxyperm LOCALID_BRINEYS_HOUSE_BRINEY, 9, 3 + setobjectmovementtype LOCALID_BRINEYS_HOUSE_BRINEY, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + setobjectxyperm LOCALID_BRINEYS_HOUSE_PEEKO, 9, 6 + setobjectmovementtype LOCALID_BRINEYS_HOUSE_PEEKO, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN return Route104_MrBrineysHouse_EventScript_Briney:: diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.json b/data/maps/Route104_PrettyPetalFlowerShop/map.json index 27e18ddc71..9f81453c60 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/map.json +++ b/data/maps/Route104_PrettyPetalFlowerShop/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FLOWER_SHOP_OWNER", "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 0, "y": 3, diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc index 4b59177b42..ea88d663f0 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_OWNER, 1 - Route104_PrettyPetalFlowerShop_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route104_PrettyPetalFlowerShop_OnTransition end_map_scripts @@ -12,7 +10,7 @@ Route104_PrettyPetalFlowerShop_OnTransition: end Route104_PrettyPetalFlowerShop_EventScript_MoveShopOwner:: - setobjectxyperm LOCALID_OWNER, 4, 6 + setobjectxyperm LOCALID_FLOWER_SHOP_OWNER, 4, 6 end Route104_PrettyPetalFlowerShop_EventScript_ShopOwner:: @@ -59,9 +57,7 @@ Route104_PrettyPetalFlowerShop_Pokemart_Plants: .2byte DECOR_COLORFUL_PLANT .2byte DECOR_BIG_PLANT .2byte DECOR_GORGEOUS_PLANT - .2byte DECOR_NONE - release - end + pokemartlistend Route104_PrettyPetalFlowerShop_EventScript_WailmerPailGirl:: lock diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json index 49357f0a0e..be5fa5a6b2 100644 --- a/data/maps/Route109/map.json +++ b/data/maps/Route109/map.json @@ -26,6 +26,7 @@ ], "object_events": [ { + "local_id": "LOCALID_ROUTE109_BOAT", "graphics_id": "OBJ_EVENT_GFX_MR_BRINEYS_BOAT", "x": 21, "y": 26, @@ -39,6 +40,7 @@ "flag": "FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT" }, { + "local_id": "LOCALID_ROUTE109_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 21, "y": 24, diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc index 76875b65dc..f292ded32a 100644 --- a/data/maps/Route109/scripts.inc +++ b/data/maps/Route109/scripts.inc @@ -6,11 +6,11 @@ Route109_MapScripts:: Route109_EventScript_StartDepartForDewford:: call EventScript_BackupMrBrineyLocation - setobjectsubpriority LOCALID_BRINEY_R109, MAP_ROUTE109, 0 - setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE109, 0 - applymovement LOCALID_BRINEY_R109, Route109_Movement_BrineyEnterBoat + setobjectsubpriority LOCALID_ROUTE109_BRINEY, MAP_ROUTE109, 0 + setobjectsubpriority LOCALID_PLAYER, MAP_ROUTE109, 0 + applymovement LOCALID_ROUTE109_BRINEY, Route109_Movement_BrineyEnterBoat waitmovement 0 - removeobject LOCALID_BRINEY_R109 + removeobject LOCALID_ROUTE109_BRINEY switch VAR_FACING case DIR_SOUTH, Route109_EventScript_EnterBoatSouth case DIR_WEST, Route109_EventScript_EnterBoatWest @@ -18,50 +18,50 @@ Route109_EventScript_StartDepartForDewford:: end Route109_EventScript_EnterBoatSouth:: - applymovement OBJ_EVENT_ID_PLAYER, Route109_Movement_PlayerEnterBoatSouth + applymovement LOCALID_PLAYER, Route109_Movement_PlayerEnterBoatSouth waitmovement 0 goto Route109_EventScript_DoSailToDewford end Route109_EventScript_EnterBoatEast:: - applymovement OBJ_EVENT_ID_PLAYER, Route109_Movement_PlayerEnterBoatEast + applymovement LOCALID_PLAYER, Route109_Movement_PlayerEnterBoatEast waitmovement 0 goto Route109_EventScript_DoSailToDewford end Route109_EventScript_EnterBoatWest:: - applymovement OBJ_EVENT_ID_PLAYER, Route109_Movement_PlayerEnterBoatWest + applymovement LOCALID_PLAYER, Route109_Movement_PlayerEnterBoatWest waitmovement 0 goto Route109_EventScript_DoSailToDewford end Route109_EventScript_DoSailToDewford:: - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_ROUTE109 + hideobjectat LOCALID_PLAYER, MAP_ROUTE109 call Common_EventScript_PlayBrineysBoatMusic - applymovement LOCALID_BOAT_R109, Route109_Movement_SailToDewford - applymovement OBJ_EVENT_ID_PLAYER, Route109_Movement_SailToDewford + applymovement LOCALID_ROUTE109_BOAT, Route109_Movement_SailToDewford + applymovement LOCALID_PLAYER, Route109_Movement_SailToDewford waitmovement 0 delay 50 call Common_EventScript_StopBrineysBoatMusic - showobjectat OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN - applymovement OBJ_EVENT_ID_PLAYER, Route109_Movement_PlayerExitBoat + showobjectat LOCALID_PLAYER, MAP_DEWFORD_TOWN + applymovement LOCALID_PLAYER, Route109_Movement_PlayerExitBoat waitmovement 0 - addobject LOCALID_BOAT_DEWFORD + addobject LOCALID_DEWFORD_BOAT clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN - setobjectxyperm LOCALID_BRINEY_DEWFORD, 12, 8 - addobject LOCALID_BRINEY_DEWFORD - setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0 - applymovement LOCALID_BRINEY_DEWFORD, Route109_Movement_BrineyExitBoat + setobjectxyperm LOCALID_DEWFORD_BRINEY, 12, 8 + addobject LOCALID_DEWFORD_BRINEY + setobjectsubpriority LOCALID_DEWFORD_BRINEY, MAP_DEWFORD_TOWN, 0 + applymovement LOCALID_DEWFORD_BRINEY, Route109_Movement_BrineyExitBoat waitmovement 0 clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT - hideobjectat LOCALID_BOAT_R109, MAP_ROUTE109 + hideobjectat LOCALID_ROUTE109_BOAT, MAP_ROUTE109 msgbox DewfordTown_Text_BrineyLandedInDewford, MSGBOX_DEFAULT closemessage copyvar VAR_BRINEY_LOCATION, VAR_0x8008 - resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE109 - resetobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN - copyobjectxytoperm LOCALID_BRINEY_DEWFORD + resetobjectsubpriority LOCALID_PLAYER, MAP_ROUTE109 + resetobjectsubpriority LOCALID_DEWFORD_BRINEY, MAP_DEWFORD_TOWN + copyobjectxytoperm LOCALID_DEWFORD_BRINEY release end diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json index 2b52164113..989229f8c9 100644 --- a/data/maps/Route110/map.json +++ b/data/maps/Route110/map.json @@ -291,6 +291,7 @@ "flag": "FLAG_ITEM_ROUTE_110_RARE_CANDY" }, { + "local_id": "LOCALID_CHALLENGE_BIKER", "graphics_id": "OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M", "x": 27, "y": 92, @@ -382,6 +383,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE110_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 34, "y": 54, @@ -395,6 +397,7 @@ "flag": "FLAG_HIDE_ROUTE_110_RIVAL" }, { + "local_id": "LOCALID_ROUTE110_RIVAL_ON_BIKE", "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 34, "y": 54, @@ -486,6 +489,7 @@ "flag": "FLAG_ITEM_ROUTE_110_ELIXIR" }, { + "local_id": "LOCALID_ROUTE110_BIRCH", "graphics_id": "OBJ_EVENT_GFX_PROF_BIRCH", "x": 9, "y": 79, @@ -518,28 +522,28 @@ "x": 15, "y": 16, "elevation": 0, - "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", + "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", "dest_warp_id": "0" }, { "x": 18, "y": 16, "elevation": 0, - "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", + "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", "dest_warp_id": "2" }, { "x": 16, "y": 88, "elevation": 0, - "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", + "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", "dest_warp_id": "0" }, { "x": 19, "y": 88, "elevation": 0, - "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", + "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", "dest_warp_id": "2" } ], diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 152ffa13ce..add7cb9f62 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_CHALLENGE_BIKER, 21 -.set LOCALID_RIVAL, 28 -.set LOCALID_RIVAL_ON_BIKE, 29 -.set LOCALID_BIRCH, 36 - Route110_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, Route110_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_OnTransition @@ -378,11 +373,11 @@ Route110_EventScript_RivalScene:: checkplayergender call_if_eq VAR_RESULT, MALE, Route110_EventScript_PlayMayMusic call_if_eq VAR_RESULT, FEMALE, Route110_EventScript_PlayBrendanMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_ROUTE110_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_ROUTE110_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_ROUTE110_RIVAL, Common_Movement_Delay48 waitmovement 0 delay 30 call_if_eq VAR_0x8008, 1, Route110_EventScript_RivalApproachPlayer1 @@ -471,15 +466,15 @@ Route110_EventScript_RivalExit:: call_if_eq VAR_0x8008, 1, Route110_EventScript_MoveRival1 call_if_eq VAR_0x8008, 2, Route110_EventScript_MoveRival2 call_if_eq VAR_0x8008, 3, Route110_EventScript_MoveRival3 - setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_FACE_RIGHT - setobjectmovementtype LOCALID_RIVAL_ON_BIKE, MOVEMENT_TYPE_FACE_RIGHT - removeobject LOCALID_RIVAL - addobject LOCALID_RIVAL_ON_BIKE + setobjectmovementtype LOCALID_ROUTE110_RIVAL, MOVEMENT_TYPE_FACE_RIGHT + setobjectmovementtype LOCALID_ROUTE110_RIVAL_ON_BIKE, MOVEMENT_TYPE_FACE_RIGHT + removeobject LOCALID_ROUTE110_RIVAL + addobject LOCALID_ROUTE110_RIVAL_ON_BIKE delay 45 call_if_eq VAR_0x8008, 1, Route110_EventScript_RivalExit1 call_if_eq VAR_0x8008, 2, Route110_EventScript_RivalExit2 call_if_eq VAR_0x8008, 3, Route110_EventScript_RivalExit3 - removeobject LOCALID_RIVAL_ON_BIKE + removeobject LOCALID_ROUTE110_RIVAL_ON_BIKE setvar VAR_ROUTE110_STATE, 1 savebgm MUS_DUMMY fadedefaultbgm @@ -487,45 +482,45 @@ Route110_EventScript_RivalExit:: end Route110_EventScript_RivalApproachPlayer1:: - applymovement LOCALID_RIVAL, Route110_Movement_RivalApproachPlayer1 + applymovement LOCALID_ROUTE110_RIVAL, Route110_Movement_RivalApproachPlayer1 waitmovement 0 return Route110_EventScript_RivalApproachPlayer2:: - applymovement LOCALID_RIVAL, Route110_Movement_RivalApproachPlayer2 + applymovement LOCALID_ROUTE110_RIVAL, Route110_Movement_RivalApproachPlayer2 waitmovement 0 return Route110_EventScript_RivalApproachPlayer3:: - applymovement LOCALID_RIVAL, Route110_Movement_RivalApproachPlayer3 + applymovement LOCALID_ROUTE110_RIVAL, Route110_Movement_RivalApproachPlayer3 waitmovement 0 return Route110_EventScript_RivalExit1:: - applymovement LOCALID_RIVAL_ON_BIKE, Route110_Movement_RivalExit1 + applymovement LOCALID_ROUTE110_RIVAL_ON_BIKE, Route110_Movement_RivalExit1 waitmovement 0 return Route110_EventScript_RivalExit2:: - applymovement LOCALID_RIVAL_ON_BIKE, Route110_Movement_RivalExit2 + applymovement LOCALID_ROUTE110_RIVAL_ON_BIKE, Route110_Movement_RivalExit2 waitmovement 0 return Route110_EventScript_RivalExit3:: - applymovement LOCALID_RIVAL_ON_BIKE, Route110_Movement_RivalExit3 + applymovement LOCALID_ROUTE110_RIVAL_ON_BIKE, Route110_Movement_RivalExit3 waitmovement 0 return Route110_EventScript_MoveRival1:: - setobjectxyperm LOCALID_RIVAL_ON_BIKE, 33, 55 + setobjectxyperm LOCALID_ROUTE110_RIVAL_ON_BIKE, 33, 55 return Route110_EventScript_MoveRival2:: - setobjectxyperm LOCALID_RIVAL_ON_BIKE, 34, 55 + setobjectxyperm LOCALID_ROUTE110_RIVAL_ON_BIKE, 34, 55 return Route110_EventScript_MoveRival3:: - setobjectxyperm LOCALID_RIVAL_ON_BIKE, 35, 55 + setobjectxyperm LOCALID_ROUTE110_RIVAL_ON_BIKE, 35, 55 return Route110_Movement_RivalApproachPlayer1: @@ -596,13 +591,13 @@ Route110_EventScript_BirchScene4:: goto Route110_EventScript_BirchScene Route110_EventScript_BirchScene:: - addobject LOCALID_BIRCH - applymovement LOCALID_BIRCH, Route110_Movement_BirchEntrance + addobject LOCALID_ROUTE110_BIRCH + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchEntrance waitmovement 0 playse SE_PIN - applymovement LOCALID_BIRCH, Common_Movement_ExclamationMark + applymovement LOCALID_ROUTE110_BIRCH, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_BIRCH, Common_Movement_Delay48 + applymovement LOCALID_ROUTE110_BIRCH, Common_Movement_Delay48 waitmovement 0 call_if_eq VAR_0x8008, 1, Route110_EventScript_BirchApproachPlayer1 call_if_eq VAR_0x8008, 2, Route110_EventScript_BirchApproachPlayer2 @@ -611,13 +606,13 @@ Route110_EventScript_BirchScene:: msgbox Route110_Text_ImagineSeeingYouHere, MSGBOX_DEFAULT closemessage delay 20 - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_ROUTE110_BIRCH, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 10 - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_ROUTE110_BIRCH, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 20 - applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_ROUTE110_BIRCH, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 msgbox Route110_Text_HeardYouInstallMatchCall, MSGBOX_DEFAULT @@ -635,48 +630,48 @@ Route110_EventScript_BirchScene:: call_if_eq VAR_0x8008, 2, Route110_EventScript_BirchExit2 call_if_eq VAR_0x8008, 3, Route110_EventScript_BirchExit3 call_if_eq VAR_0x8008, 4, Route110_EventScript_BirchExit4 - removeobject LOCALID_BIRCH + removeobject LOCALID_ROUTE110_BIRCH setvar VAR_REGISTER_BIRCH_STATE, 2 releaseall end Route110_EventScript_BirchApproachPlayer1:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer1 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchApproachPlayer1 waitmovement 0 return Route110_EventScript_BirchApproachPlayer2:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer2 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchApproachPlayer2 waitmovement 0 return Route110_EventScript_BirchApproachPlayer3:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer3 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchApproachPlayer3 waitmovement 0 return Route110_EventScript_BirchApproachPlayer4:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer4 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchApproachPlayer4 waitmovement 0 return Route110_EventScript_BirchExit1:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchExit1 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchExit1 waitmovement 0 return Route110_EventScript_BirchExit2:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchExit2 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchExit2 waitmovement 0 return Route110_EventScript_BirchExit3:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchExit3 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchExit3 waitmovement 0 return Route110_EventScript_BirchExit4:: - applymovement LOCALID_BIRCH, Route110_Movement_BirchExit4 + applymovement LOCALID_ROUTE110_BIRCH, Route110_Movement_BirchExit4 waitmovement 0 return diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json index 6f3c6c75c5..88cbf1cc88 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json @@ -34,28 +34,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "4" + "dest_warp_id": "2" }, { "x": 2, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "4" + "dest_warp_id": "2" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "5" + "dest_warp_id": "3" }, { "x": 13, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "5" + "dest_warp_id": "3" } ], "coord_events": [ diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc index eeffe54d82..cc872413b8 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc @@ -1,6 +1,16 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: + map_script MAP_SCRIPT_ON_TRANSITION, Route110_SeasideCyclingRoadNorthEntrance_OnTransition end_map_scripts +Route110_SeasideCyclingRoadNorthEntrance_OnTransition: + call_if_eq VAR_CYCLING_CHALLENGE_STATE, 3, Route110_SeasideCyclingRoadNorthEntrance_EventScript_RestartChallenge + call_if_eq VAR_CYCLING_CHALLENGE_STATE, 2, Route110_SeasideCyclingRoadNorthEntrance_EventScript_RestartChallenge + end + +Route110_SeasideCyclingRoadNorthEntrance_EventScript_RestartChallenge:: + setvar VAR_CYCLING_CHALLENGE_STATE, 1 + return + Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk:: lock faceplayer @@ -11,16 +21,21 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk:: Route110_SeasideCyclingRoadNorthEntrance_EventScript_BikeCheck:: lockall specialvar VAR_RESULT, GetPlayerAvatarBike + call_if_eq VAR_RESULT, 2, Route110_SeasideCyclingRoadNorthEntrance_EventScript_OnMachBike goto_if_eq VAR_RESULT, 0, Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike setflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 1 releaseall end +Route110_SeasideCyclingRoadNorthEntrance_EventScript_OnMachBike:: + setvar VAR_CYCLING_CHALLENGE_STATE, 1 + return + Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike:: msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_TooDangerousToWalk, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end @@ -31,6 +46,7 @@ Route110_SeasideCyclingRoadNorthEntrance_Movement_PushPlayerBackFromCounter: Route110_SeasideCyclingRoadNorthEntrance_EventScript_ClearCyclingRoad:: lockall + setvar VAR_CYCLING_CHALLENGE_STATE, 0 clearflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 0 releaseall diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json index 59e3e5be65..943984075d 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json @@ -34,28 +34,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "2" + "dest_warp_id": "4" }, { "x": 2, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "2" + "dest_warp_id": "4" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "3" + "dest_warp_id": "5" }, { "x": 13, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": "3" + "dest_warp_id": "5" } ], "coord_events": [ diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 2c627ded69..fc035fdd9d 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -1,16 +1,6 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: - map_script MAP_SCRIPT_ON_TRANSITION, Route110_SeasideCyclingRoadSouthEntrance_OnTransition end_map_scripts -Route110_SeasideCyclingRoadSouthEntrance_OnTransition: - call_if_eq VAR_CYCLING_CHALLENGE_STATE, 3, Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge - call_if_eq VAR_CYCLING_CHALLENGE_STATE, 2, Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge - end - -Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge:: - setvar VAR_CYCLING_CHALLENGE_STATE, 1 - return - Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk:: lock faceplayer @@ -21,21 +11,16 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk:: Route110_SeasideCyclingRoadSouthEntrance_EventScript_BikeCheck:: lockall specialvar VAR_RESULT, GetPlayerAvatarBike - call_if_eq VAR_RESULT, 2, Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike goto_if_eq VAR_RESULT, 0, Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike setflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 1 releaseall end -Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike:: - setvar VAR_CYCLING_CHALLENGE_STATE, 1 - return - Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike:: msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_TooDangerousToWalk, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end @@ -46,7 +31,6 @@ Route110_SeasideCyclingRoadSouthEntrance_Movement_PushPlayerBackFromCounter: Route110_SeasideCyclingRoadSouthEntrance_EventScript_ClearCyclingRoad:: lockall - setvar VAR_CYCLING_CHALLENGE_STATE, 0 clearflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 0 releaseall diff --git a/data/maps/Route110_TrickHouseEnd/map.json b/data/maps/Route110_TrickHouseEnd/map.json index 90d2285496..2a44e297c4 100644 --- a/data/maps/Route110_TrickHouseEnd/map.json +++ b/data/maps/Route110_TrickHouseEnd/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TRICK_MASTER_END", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 4, "y": 5, diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index 0bd743a1cf..1aa1344fb9 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_TRICK_MASTER, 1 - Route110_TrickHouseEnd_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, Route110_TrickHouseEnd_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEnd_OnTransition @@ -22,9 +20,9 @@ Route110_TrickHouseEnd_OnWarp: end_map_script_table Route110_TrickHouseEnd_EventScript_SetTrickMasterPos:: - addobject LOCALID_TRICK_MASTER - showobjectat LOCALID_TRICK_MASTER, MAP_ROUTE110_TRICK_HOUSE_END - turnobject LOCALID_TRICK_MASTER, DIR_EAST + addobject LOCALID_TRICK_MASTER_END + showobjectat LOCALID_TRICK_MASTER_END, MAP_ROUTE110_TRICK_HOUSE_END + turnobject LOCALID_TRICK_MASTER_END, DIR_EAST end Route110_TrickHouseEnd_OnFrame: @@ -151,7 +149,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle8:: delay 30 msgbox Route110_TrickHouseEnd_Text_FountainOfIdeasRunDry, MSGBOX_DEFAULT closemessage - applymovement LOCALID_TRICK_MASTER, Common_Movement_FacePlayer + applymovement LOCALID_TRICK_MASTER_END, Common_Movement_FacePlayer waitmovement 0 delay 30 msgbox Route110_TrickHouseEnd_Text_DefeatedMePreferWhichTent, MSGBOX_DEFAULT @@ -179,12 +177,12 @@ Route110_TrickHouseEnd_EventScript_GiveBlueTent:: return Route110_TrickHouseEnd_EventScript_TrickMasterExit:: - applymovement LOCALID_TRICK_MASTER, Route110_TrickHouse_Movement_TrickMasterSpin + applymovement LOCALID_TRICK_MASTER_END, Route110_TrickHouse_Movement_TrickMasterSpin waitmovement 0 playse SE_M_EXPLOSION - applymovement LOCALID_TRICK_MASTER, Route110_TrickHouse_Movement_TrickMasterJumpAway + applymovement LOCALID_TRICK_MASTER_END, Route110_TrickHouse_Movement_TrickMasterJumpAway waitmovement 0 - removeobject LOCALID_TRICK_MASTER + removeobject LOCALID_TRICK_MASTER_END addvar VAR_TRICK_HOUSE_LEVEL, 1 return @@ -201,43 +199,43 @@ Route110_TrickHouseEnd_EventScript_NoRoomForTent:: return Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth:: - applymovement LOCALID_TRICK_MASTER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_TRICK_MASTER_END, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth:: - applymovement LOCALID_TRICK_MASTER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_TRICK_MASTER_END, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest:: - applymovement LOCALID_TRICK_MASTER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_TRICK_MASTER_END, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast:: - applymovement LOCALID_TRICK_MASTER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_TRICK_MASTER_END, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return Route110_TrickHouseEnd_EventScript_TrickMasterExitTrigger:: lockall - turnobject LOCALID_TRICK_MASTER, DIR_WEST + turnobject LOCALID_TRICK_MASTER_END, DIR_WEST playse SE_PIN - applymovement LOCALID_TRICK_MASTER, Common_Movement_ExclamationMark + applymovement LOCALID_TRICK_MASTER_END, Common_Movement_ExclamationMark waitmovement 0 delay 20 - applymovement LOCALID_TRICK_MASTER, Route110_TrickHouseEnd_Movement_TrickMasterSurprise + applymovement LOCALID_TRICK_MASTER_END, Route110_TrickHouseEnd_Movement_TrickMasterSurprise waitmovement 0 playse SE_M_EXPLOSION - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox Route110_TrickHouseEnd_Text_YoureIgnoringMe, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, Route110_TrickHouseEnd_Movement_KeepPlayerInRoom + applymovement LOCALID_PLAYER, Route110_TrickHouseEnd_Movement_KeepPlayerInRoom waitmovement 0 delay 4 - turnobject LOCALID_TRICK_MASTER, DIR_EAST + turnobject LOCALID_TRICK_MASTER_END, DIR_EAST releaseall end diff --git a/data/maps/Route110_TrickHouseEntrance/map.json b/data/maps/Route110_TrickHouseEntrance/map.json index 5584a534c3..60f2bec2a0 100644 --- a/data/maps/Route110_TrickHouseEntrance/map.json +++ b/data/maps/Route110_TrickHouseEntrance/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TRICK_MASTER", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 6, "y": 2, diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index d4e2d2ec46..330858c535 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_TRICK_MASTER, 1 - Route110_TrickHouseEntrance_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHouseEntrance_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_TrickHouseEntrance_OnFrame @@ -129,7 +127,7 @@ Route110_TrickHouseEntrance_EventScript_TrickMasterFound:: addobject LOCALID_TRICK_MASTER showobjectat LOCALID_TRICK_MASTER, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE turnobject LOCALID_TRICK_MASTER, DIR_EAST - turnobject OBJ_EVENT_ID_PLAYER, DIR_WEST + turnobject LOCALID_PLAYER, DIR_WEST end Route110_TrickHouseEntrance_EventScript_SetTrickMasterHidingSpot:: @@ -231,9 +229,9 @@ Route110_TrickHouseEntrance_EventScript_TrickMaster:: Route110_TrickHouseEntrance_EventScript_FoundTrickMaster:: playse SE_PIN - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_ExclamationMark + applymovement LOCALID_PLAYER, Common_Movement_ExclamationMark waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_Delay48 + applymovement LOCALID_PLAYER, Common_Movement_Delay48 waitmovement 0 call_if_eq VAR_TRICK_HOUSE_LEVEL, 0, Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk call_if_eq VAR_TRICK_HOUSE_LEVEL, 1, Route110_TrickHouseEntrance_EventScript_FoundBehindTree @@ -467,9 +465,9 @@ Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom:: setmetatile 5, 1, METATILE_GenericBuilding_TrickHouse_Stairs_Down, FALSE special DrawWholeMapView delay 20 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkUp + applymovement LOCALID_PLAYER, Common_Movement_WalkUp waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Route110_TrickHouseEntrance_Movement_EnterRoom + applymovement LOCALID_PLAYER, Route110_TrickHouseEntrance_Movement_EnterRoom waitmovement 0 switch VAR_TRICK_HOUSE_LEVEL case 0, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom1 diff --git a/data/maps/Route110_TrickHousePuzzle5/map.json b/data/maps/Route110_TrickHousePuzzle5/map.json index 3775505235..e094688bbf 100644 --- a/data/maps/Route110_TrickHousePuzzle5/map.json +++ b/data/maps/Route110_TrickHousePuzzle5/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MECHADOLL_1", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 6, "y": 17, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MECHADOLL_2", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 0, "y": 7, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MECHADOLL_3", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 14, "y": 10, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MECHADOLL_4", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 14, "y": 19, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_MECHADOLL_5", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 10, "y": 4, diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc index 588ca63625..db94674d1b 100644 --- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc @@ -1,9 +1,3 @@ -.set LOCALID_MECHADOLL_1, 1 -.set LOCALID_MECHADOLL_2, 2 -.set LOCALID_MECHADOLL_3, 3 -.set LOCALID_MECHADOLL_4, 4 -.set LOCALID_MECHADOLL_5, 5 - Route110_TrickHousePuzzle5_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route110_TrickHousePuzzle5_OnTransition end_map_scripts diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index 6efa1770e2..c090b61c9f 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -31,6 +31,7 @@ ], "object_events": [ { + "local_id": "LOCALID_ROUTE111_VICTOR", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 13, "y": 114, @@ -44,6 +45,7 @@ "flag": "FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE" }, { + "local_id": "LOCALID_ROUTE111_VICTORIA", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_F", "x": 13, "y": 113, @@ -57,6 +59,7 @@ "flag": "FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE" }, { + "local_id": "LOCALID_ROUTE111_VIVI", "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 13, "y": 113, @@ -70,6 +73,7 @@ "flag": "FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE" }, { + "local_id": "LOCALID_ROUTE111_VICKY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_F", "x": 13, "y": 113, @@ -187,6 +191,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE111_TY_1", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 14, "y": 86, @@ -200,6 +205,7 @@ "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1" }, { + "local_id": "LOCALID_ROUTE111_GABBY_1", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 13, "y": 86, @@ -291,6 +297,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE111_GABBY_2", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 13, "y": 86, @@ -301,9 +308,10 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "GabbyAndTy_EventScript_GabbyBattle4", - "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3" + "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2" }, { + "local_id": "LOCALID_ROUTE111_TY_2", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 14, "y": 86, @@ -314,9 +322,10 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "GabbyAndTy_EventScript_TyBattle4", - "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3" + "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2" }, { + "local_id": "LOCALID_ROUTE111_GABBY_3", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 13, "y": 86, @@ -327,9 +336,10 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "GabbyAndTy_EventScript_GabbyBattle6", - "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2" + "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3" }, { + "local_id": "LOCALID_ROUTE111_TY_3", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 14, "y": 86, @@ -340,7 +350,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", "script": "GabbyAndTy_EventScript_TyBattle6", - "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2" + "flag": "FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", @@ -603,6 +613,7 @@ "flag": "FLAG_HIDE_ROUTE_111_DESERT_FOSSIL" }, { + "local_id": "LOCALID_ROUTE111_PLAYER_FALLING", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 19, "y": 53, @@ -616,6 +627,7 @@ "flag": "FLAG_HIDE_ROUTE_111_PLAYER_DESCENT" }, { + "local_id": "LOCALID_ROUTE111_ROCK_SMASH_MAN", "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 19, "y": 101, diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index fa4be81a77..dd4a34d60e 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -1,11 +1,3 @@ -.set LOCALID_VICTOR, 1 -.set LOCALID_VICTORIA, 2 -.set LOCALID_VIVI, 3 -.set LOCALID_VICKY, 4 -.set LOCALID_ROCK_SMASH_MAN, 46 - -@ Note: LOCALID_ROUTE111_PLAYER_FALLING is a local id for this map used elsewhere. It's defined in event_objects.h - Route111_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, Route111_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, Route111_OnTransition @@ -105,7 +97,7 @@ Route111_OnWarp: end_map_script_table Route111_EventScript_HidePlayerForMirageTower:: - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_LITTLEROOT_TOWN + hideobjectat LOCALID_PLAYER, MAP_LITTLEROOT_TOWN end Route111_OnFrame: @@ -121,10 +113,10 @@ Route111_EventScript_MirageTowerDisappear:: addobject LOCALID_ROUTE111_PLAYER_FALLING special StartPlayerDescendMirageTower waitstate - showobjectat OBJ_EVENT_ID_PLAYER, MAP_LITTLEROOT_TOWN + showobjectat LOCALID_PLAYER, MAP_LITTLEROOT_TOWN removeobject LOCALID_ROUTE111_PLAYER_FALLING delay 16 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH delay 16 special StartMirageTowerDisintegration waitstate @@ -216,22 +208,22 @@ Route111_EventScript_PreventRouteAccess:: end Route111_EventScript_PushUpFromRoute:: - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_PushUpFromRoute + applymovement LOCALID_PLAYER, Route111_Movement_PushUpFromRoute waitmovement 0 return Route111_EventScript_PushDownFromRoute:: - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_PushDownFromRoute + applymovement LOCALID_PLAYER, Route111_Movement_PushDownFromRoute waitmovement 0 return Route111_EventScript_PushLeftFromRoute:: - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_PushLeftFromRoute + applymovement LOCALID_PLAYER, Route111_Movement_PushLeftFromRoute waitmovement 0 return Route111_EventScript_PushRightFromRoute:: - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_PushRightFromRoute + applymovement LOCALID_PLAYER, Route111_Movement_PushRightFromRoute waitmovement 0 return @@ -277,68 +269,68 @@ Route111_EventScript_Victor:: Route111_EventScript_BattleWinstrates:: msgbox Route111_Text_VictorIntro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_VictorDefeat - applymovement LOCALID_VICTOR, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE111_VICTOR, Common_Movement_WalkInPlaceFasterUp waitmovement 0 call Route111_EventScript_OpenWinstrateDoor msgbox Route111_Text_VictorPostBattle, MSGBOX_DEFAULT closemessage - applymovement LOCALID_VICTOR, Route111_Movement_WinstrateEnterHouse + applymovement LOCALID_ROUTE111_VICTOR, Route111_Movement_WinstrateEnterHouse waitmovement 0 - removeobject LOCALID_VICTOR + removeobject LOCALID_ROUTE111_VICTOR call Route111_EventScript_CloseWinstrateDoor - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_WaitForNextWinstrate + applymovement LOCALID_PLAYER, Route111_Movement_WaitForNextWinstrate waitmovement 0 call Route111_EventScript_OpenWinstrateDoor - addobject LOCALID_VICTORIA - applymovement LOCALID_VICTORIA, Route111_Movement_WinstrateExitHouse + addobject LOCALID_ROUTE111_VICTORIA + applymovement LOCALID_ROUTE111_VICTORIA, Route111_Movement_WinstrateExitHouse waitmovement 0 call Route111_EventScript_CloseWinstrateDoor msgbox Route111_Text_VictoriaIntro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_VictoriaDefeat - applymovement LOCALID_VICTORIA, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE111_VICTORIA, Common_Movement_WalkInPlaceFasterUp waitmovement 0 call Route111_EventScript_OpenWinstrateDoor msgbox Route111_Text_VictoriaPostBattle, MSGBOX_DEFAULT closemessage - applymovement LOCALID_VICTORIA, Route111_Movement_WinstrateEnterHouse + applymovement LOCALID_ROUTE111_VICTORIA, Route111_Movement_WinstrateEnterHouse waitmovement 0 - removeobject LOCALID_VICTORIA + removeobject LOCALID_ROUTE111_VICTORIA call Route111_EventScript_CloseWinstrateDoor - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_WaitForNextWinstrate + applymovement LOCALID_PLAYER, Route111_Movement_WaitForNextWinstrate waitmovement 0 call Route111_EventScript_OpenWinstrateDoor - addobject LOCALID_VIVI - applymovement LOCALID_VIVI, Route111_Movement_WinstrateExitHouse + addobject LOCALID_ROUTE111_VIVI + applymovement LOCALID_ROUTE111_VIVI, Route111_Movement_WinstrateExitHouse waitmovement 0 call Route111_EventScript_CloseWinstrateDoor msgbox Route111_Text_ViviIntro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VIVI, Route111_Text_ViviDefeat - applymovement LOCALID_VIVI, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE111_VIVI, Common_Movement_WalkInPlaceFasterUp waitmovement 0 call Route111_EventScript_OpenWinstrateDoor msgbox Route111_Text_ViviPostBattle, MSGBOX_DEFAULT closemessage - applymovement LOCALID_VIVI, Route111_Movement_WinstrateEnterHouse + applymovement LOCALID_ROUTE111_VIVI, Route111_Movement_WinstrateEnterHouse waitmovement 0 - removeobject LOCALID_VIVI + removeobject LOCALID_ROUTE111_VIVI call Route111_EventScript_CloseWinstrateDoor - applymovement OBJ_EVENT_ID_PLAYER, Route111_Movement_WaitForNextWinstrate + applymovement LOCALID_PLAYER, Route111_Movement_WaitForNextWinstrate waitmovement 0 call Route111_EventScript_OpenWinstrateDoor - addobject LOCALID_VICKY - applymovement LOCALID_VICKY, Route111_Movement_WinstrateExitHouse + addobject LOCALID_ROUTE111_VICKY + applymovement LOCALID_ROUTE111_VICKY, Route111_Movement_WinstrateExitHouse waitmovement 0 call Route111_EventScript_CloseWinstrateDoor msgbox Route111_Text_VickyIntro, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_VICKY, Route111_Text_VickyDefeat msgbox Route111_Text_VickyPostBattle, MSGBOX_DEFAULT closemessage - applymovement LOCALID_VICKY, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE111_VICKY, Common_Movement_WalkInPlaceFasterUp waitmovement 0 call Route111_EventScript_OpenWinstrateDoor - applymovement LOCALID_VICKY, Route111_Movement_WinstrateEnterHouse + applymovement LOCALID_ROUTE111_VICKY, Route111_Movement_WinstrateEnterHouse waitmovement 0 - removeobject LOCALID_VICKY + removeobject LOCALID_ROUTE111_VICKY call Route111_EventScript_CloseWinstrateDoor release end @@ -427,11 +419,11 @@ Route111_EventScript_HikerMirageTowerVisible:: Route111_EventScript_RockSmashTipFatMan:: lockall - applymovement LOCALID_ROCK_SMASH_MAN, Common_Movement_FacePlayer + applymovement LOCALID_ROUTE111_ROCK_SMASH_MAN, Common_Movement_FacePlayer waitmovement 0 msgbox Route111_Text_MauvilleUncleToldMeToTakeRockSmash, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ROCK_SMASH_MAN, Common_Movement_FaceOriginalDirection + applymovement LOCALID_ROUTE111_ROCK_SMASH_MAN, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end diff --git a/data/maps/Route111_WinstrateFamilysHouse/map.json b/data/maps/Route111_WinstrateFamilysHouse/map.json index 5e6f9d75e8..3e061ae94e 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/map.json +++ b/data/maps/Route111_WinstrateFamilysHouse/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_WINSTRATE_HOUSE_VIVI", "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 7, "y": 5, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_WINSTRATE_HOUSE_VICTOR", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 4, "y": 5, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_WINSTRATE_HOUSE_VICTORIA", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_F", "x": 7, "y": 4, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_WINSTRATE_HOUSE_VICKY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_F", "x": 4, "y": 4, diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc index c5177f1cad..83438e2612 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc +++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc @@ -1,15 +1,10 @@ -.set LOCALID_VIVI, 1 -.set LOCALID_VICTOR, 2 -.set LOCALID_VICTORIA, 3 -.set LOCALID_VICKY, 4 - Route111_WinstrateFamilysHouse_MapScripts:: end_map_scripts Route111_WinstrateFamilysHouse_EventScript_Victor:: lock faceplayer - setvar VAR_0x8008, LOCALID_VICTOR + setvar VAR_0x8008, LOCALID_WINSTRATE_HOUSE_VICTOR msgbox Route111_WinstrateFamilysHouse_Text_MySonIsStrongerThanYou, MSGBOX_DEFAULT goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end @@ -17,7 +12,7 @@ Route111_WinstrateFamilysHouse_EventScript_Victor:: Route111_WinstrateFamilysHouse_EventScript_Victoria:: lock faceplayer - setvar VAR_0x8008, LOCALID_VICTORIA + setvar VAR_0x8008, LOCALID_WINSTRATE_HOUSE_VICTORIA goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace msgbox Route111_WinstrateFamilysHouse_Text_LikeYouToHaveMachoBrace, MSGBOX_DEFAULT giveitem ITEM_MACHO_BRACE @@ -34,7 +29,7 @@ Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace:: Route111_WinstrateFamilysHouse_EventScript_Vivi:: lock faceplayer - setvar VAR_0x8008, LOCALID_VIVI + setvar VAR_0x8008, LOCALID_WINSTRATE_HOUSE_VIVI msgbox Route111_WinstrateFamilysHouse_Text_StrongerFamilyMembers, MSGBOX_DEFAULT goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection end @@ -42,7 +37,7 @@ Route111_WinstrateFamilysHouse_EventScript_Vivi:: Route111_WinstrateFamilysHouse_EventScript_Vicky:: lock faceplayer - setvar VAR_0x8008, LOCALID_VICKY + setvar VAR_0x8008, LOCALID_WINSTRATE_HOUSE_VICKY goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_AlreadySpokenTo msgbox Route111_WinstrateFamilysHouse_Text_GrandsonStrong, MSGBOX_DEFAULT setflag FLAG_TEMP_4 diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json index 5340680ea5..d3260f27fe 100644 --- a/data/maps/Route112/map.json +++ b/data/maps/Route112/map.json @@ -31,6 +31,7 @@ ], "object_events": [ { + "local_id": "LOCALID_ROUTE112_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 26, "y": 30, @@ -96,6 +97,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE112_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 27, "y": 30, diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc index 282d006af6..d24decd40a 100644 --- a/data/maps/Route112/scripts.inc +++ b/data/maps/Route112/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_GRUNT_1, 1 -.set LOCALID_GRUNT_2, 6 - Route112_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route112_OnTransition end_map_scripts @@ -13,36 +10,36 @@ Route112_OnTransition: Route112_EventScript_MagmaGrunts:: lockall delay 40 - applymovement LOCALID_GRUNT_1, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_ROUTE112_GRUNT_1, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 20 msgbox Route112_Text_LeaderGoingToAwakenThing, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_ROUTE112_GRUNT_1, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement LOCALID_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_ROUTE112_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 20 msgbox Route112_Text_YeahWeNeedMeteorite, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_2, Common_Movement_FaceOriginalDirection + applymovement LOCALID_ROUTE112_GRUNT_2, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement LOCALID_GRUNT_1, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_ROUTE112_GRUNT_1, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 20 msgbox Route112_Text_OhThatsWhyCrewWentToFallarbor, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_ROUTE112_GRUNT_1, Common_Movement_FaceOriginalDirection waitmovement 0 delay 40 - applymovement LOCALID_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_ROUTE112_GRUNT_2, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 20 msgbox Route112_Text_CantLetAnyonePassUntilTheyreBack, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_2, Common_Movement_FaceOriginalDirection + applymovement LOCALID_ROUTE112_GRUNT_2, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end diff --git a/data/maps/Route112_CableCarStation/map.json b/data/maps/Route112_CableCarStation/map.json index 09401d83b0..3aeadc6f1f 100644 --- a/data/maps/Route112_CableCarStation/map.json +++ b/data/maps/Route112_CableCarStation/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_ROUTE112_CABLE_CAR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 6, "y": 6, diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc index 44d216f5c1..5d07a11d42 100644 --- a/data/maps/Route112_CableCarStation/scripts.inc +++ b/data/maps/Route112_CableCarStation/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - Route112_CableCarStation_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route112_CableCarStation_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route112_CableCarStation_OnFrame @@ -11,8 +9,8 @@ Route112_CableCarStation_OnTransition: end Route112_CableCarStation_EventScript_MoveAttendantAside:: - setobjectxyperm LOCALID_ATTENDANT, 7, 4 - setobjectmovementtype LOCALID_ATTENDANT, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_ROUTE112_CABLE_CAR_ATTENDANT, 7, 4 + setobjectmovementtype LOCALID_ROUTE112_CABLE_CAR_ATTENDANT, MOVEMENT_TYPE_FACE_LEFT return Route112_CableCarStation_OnFrame: @@ -21,12 +19,12 @@ Route112_CableCarStation_OnFrame: Route112_CableCarStation_EventScript_ExitCableCar:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Route112_CableCarStation_Movement_ExitCableCar - applymovement LOCALID_ATTENDANT, Route112_CableCarStation_Movement_FollowPlayerOutFromCableCar + applymovement LOCALID_PLAYER, Route112_CableCarStation_Movement_ExitCableCar + applymovement LOCALID_ROUTE112_CABLE_CAR_ATTENDANT, Route112_CableCarStation_Movement_FollowPlayerOutFromCableCar waitmovement 0 setvar VAR_CABLE_CAR_STATION_STATE, 0 - setobjectxyperm LOCALID_ATTENDANT, 6, 7 - setobjectmovementtype LOCALID_ATTENDANT, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_ROUTE112_CABLE_CAR_ATTENDANT, 6, 7 + setobjectmovementtype LOCALID_ROUTE112_CABLE_CAR_ATTENDANT, MOVEMENT_TYPE_FACE_DOWN releaseall end @@ -41,8 +39,8 @@ Route112_CableCarStation_EventScript_Attendant:: Route112_CableCarStation_EventScript_RideCableCar:: msgbox Route112_CableCarStation_Text_StepThisWay, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, Route112_CableCarStation_Movement_LeadPlayerToCableCar - applymovement OBJ_EVENT_ID_PLAYER, Route112_CableCarStation_Movement_BoardCableCar + applymovement LOCALID_ROUTE112_CABLE_CAR_ATTENDANT, Route112_CableCarStation_Movement_LeadPlayerToCableCar + applymovement LOCALID_PLAYER, Route112_CableCarStation_Movement_BoardCableCar waitmovement 0 setvar VAR_0x8004, FALSE @ Going up setvar VAR_CABLE_CAR_STATION_STATE, 1 diff --git a/data/maps/Route114_FossilManiacsTunnel/map.json b/data/maps/Route114_FossilManiacsTunnel/map.json index 034545e6ba..625c5afc08 100644 --- a/data/maps/Route114_FossilManiacsTunnel/map.json +++ b/data/maps/Route114_FossilManiacsTunnel/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_FOSSIL_MANIAC", "graphics_id": "OBJ_EVENT_GFX_MANIAC", "x": 5, "y": 3, diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc index 1a9bf281cd..b5bcf1b35b 100644 --- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc +++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_FOSSIL_MANIAC, 1 - Route114_FossilManiacsTunnel_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route114_FossilManiacsTunnel_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route114_FossilManiacsTunnel_OnLoad @@ -26,7 +24,7 @@ Route114_FossilManiacsTunnel_EventScript_CloseDesertUnderpass:: Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn:: lockall applymovement LOCALID_FOSSIL_MANIAC, Common_Movement_WalkInPlaceFasterUp - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox Route114_FossilManiacsTunnel_Text_NotSafeThatWay, MSGBOX_DEFAULT setvar VAR_FOSSIL_MANIAC_STATE, 2 diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index adf9a86d59..6e4da0ac0a 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -156,6 +156,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE116_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 46, "y": 9, @@ -286,6 +287,7 @@ "flag": "FLAG_ITEM_ROUTE_116_X_SPECIAL" }, { + "local_id": "LOCALID_ROUTE116_WANDAS_BF", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 38, "y": 9, diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 0494f6e787..117c3ebe3d 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_BRINEY, 11 -.set LOCALID_WANDAS_BF_OUTSIDE, 21 - Route116_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route116_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route116_OnLoad @@ -15,7 +12,7 @@ Route116_OnTransition: end Route116_EventScript_SetWandasBoyfriendPos:: - setobjectxyperm LOCALID_WANDAS_BF_OUTSIDE, 38, 10 + setobjectxyperm LOCALID_ROUTE116_WANDAS_BF, 38, 10 return Route116_OnLoad: @@ -144,8 +141,8 @@ Route116_EventScript_Briney:: Route116_EventScript_BrineyTrigger:: lockall - applymovement LOCALID_BRINEY, Common_Movement_WalkInPlaceFasterRight - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_ROUTE116_BRINEY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox Route116_Text_ScoundrelMadeOffWithPeeko, MSGBOX_DEFAULT setvar VAR_ROUTE116_STATE, 2 diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index 80304ddf4b..07a08500c7 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -52,6 +52,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DAYCARE_MAN", "graphics_id": "OBJ_EVENT_GFX_OLD_MAN", "x": 47, "y": 4, diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc index a665eec82a..23e66b8873 100644 --- a/data/maps/Route117/scripts.inc +++ b/data/maps/Route117/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_DAYCARE_MAN, 3 - Route117_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route117_OnTransition end_map_scripts diff --git a/data/maps/Route117_PokemonDayCare/map.json b/data/maps/Route117_PokemonDayCare/map.json index 128c9f6e72..31849863de 100644 --- a/data/maps/Route117_PokemonDayCare/map.json +++ b/data/maps/Route117_PokemonDayCare/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DAYCARE_LADY", "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 2, "y": 2, diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index 1068e4a1a7..f1a292c00d 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -83,6 +83,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE118_GABBY_1", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 33, "y": 8, @@ -96,6 +97,7 @@ "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1" }, { + "local_id": "LOCALID_ROUTE118_TY_1", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 34, "y": 8, @@ -122,6 +124,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE118_GABBY_2", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 33, "y": 8, @@ -135,6 +138,7 @@ "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2" }, { + "local_id": "LOCALID_ROUTE118_TY_2", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 34, "y": 8, @@ -148,6 +152,7 @@ "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2" }, { + "local_id": "LOCALID_ROUTE118_GABBY_3", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 33, "y": 8, @@ -161,6 +166,7 @@ "flag": "FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3" }, { + "local_id": "LOCALID_ROUTE118_TY_3", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 34, "y": 8, @@ -265,6 +271,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE118_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 44, "y": 7, diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index eb572e304c..f851e026e5 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_STEVEN, 19 - Route118_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route118_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route118_OnLoad @@ -64,9 +62,9 @@ Route118_EventScript_RouteSign119:: Route118_EventScript_StevenTrigger0:: lockall setvar VAR_0x8008, 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement LOCALID_STEVEN, Route118_Movement_StevenApproachLedge0 + applymovement LOCALID_ROUTE118_STEVEN, Route118_Movement_StevenApproachLedge0 waitmovement 0 goto Route118_EventScript_StevenTrigger end @@ -74,7 +72,7 @@ Route118_EventScript_StevenTrigger0:: Route118_EventScript_StevenTrigger1:: lockall setvar VAR_0x8008, 1 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 goto Route118_EventScript_StevenTrigger end @@ -82,16 +80,16 @@ Route118_EventScript_StevenTrigger1:: Route118_EventScript_StevenTrigger2:: lockall setvar VAR_0x8008, 2 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement LOCALID_STEVEN, Route118_Movement_StevenApproachLedge2 + applymovement LOCALID_ROUTE118_STEVEN, Route118_Movement_StevenApproachLedge2 waitmovement 0 goto Route118_EventScript_StevenTrigger end Route118_EventScript_StevenTrigger:: playse SE_LEDGE - applymovement LOCALID_STEVEN, Route118_Movement_StevenJumpLedge + applymovement LOCALID_ROUTE118_STEVEN, Route118_Movement_StevenJumpLedge waitmovement 0 delay 30 msgbox Route118_Text_StevenQuestions, MSGBOX_DEFAULT @@ -100,25 +98,25 @@ Route118_EventScript_StevenTrigger:: call_if_eq VAR_0x8008, 1, Route118_EventScript_StevenExit1 call_if_eq VAR_0x8008, 2, Route118_EventScript_StevenExit2 setvar VAR_ROUTE118_STATE, 1 - removeobject LOCALID_STEVEN + removeobject LOCALID_ROUTE118_STEVEN releaseall end Route118_EventScript_StevenExit0:: - applymovement OBJ_EVENT_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit - applymovement LOCALID_STEVEN, Route118_Movement_StevenExit0 + applymovement LOCALID_PLAYER, Route118_Movement_PlayerWatchStevenExit + applymovement LOCALID_ROUTE118_STEVEN, Route118_Movement_StevenExit0 waitmovement 0 return Route118_EventScript_StevenExit1:: - applymovement OBJ_EVENT_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit - applymovement LOCALID_STEVEN, Route118_Movement_StevenExit1 + applymovement LOCALID_PLAYER, Route118_Movement_PlayerWatchStevenExit + applymovement LOCALID_ROUTE118_STEVEN, Route118_Movement_StevenExit1 waitmovement 0 return Route118_EventScript_StevenExit2:: - applymovement OBJ_EVENT_ID_PLAYER, Route118_Movement_PlayerWatchStevenExit - applymovement LOCALID_STEVEN, Route118_Movement_StevenExit2 + applymovement LOCALID_PLAYER, Route118_Movement_PlayerWatchStevenExit + applymovement LOCALID_ROUTE118_STEVEN, Route118_Movement_StevenExit2 waitmovement 0 return diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json index f8591a5ba2..a2850b70ab 100644 --- a/data/maps/Route119/map.json +++ b/data/maps/Route119/map.json @@ -221,6 +221,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE119_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 25, "y": 32, @@ -338,6 +339,7 @@ "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { + "local_id": "LOCALID_ROUTE119_RIVAL_ON_BIKE", "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 17, "y": 33, @@ -572,6 +574,7 @@ "flag": "FLAG_ITEM_ROUTE_119_ELIXIR_2" }, { + "local_id": "LOCALID_ROUTE119_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 28, "y": 25, diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index b11b536008..5f7d63e3c7 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_RIVAL, 16 -.set LOCALID_RIVAL_ON_BIKE, 25 -.set LOCALID_SCOTT, 43 - Route119_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, Route119_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route119_OnTransition @@ -42,20 +38,20 @@ Route119_EventScript_RivalTrigger2:: Route119_EventScript_RivalEncounter:: lockall - addobject LOCALID_RIVAL_ON_BIKE + addobject LOCALID_ROUTE119_RIVAL_ON_BIKE checkplayergender call_if_eq VAR_RESULT, MALE, Route119_EventScript_PlayMayMusic call_if_eq VAR_RESULT, FEMALE, Route119_EventScript_PlayBrendanMusic delay 65 call_if_eq VAR_TEMP_1, 1, Route119_EventScript_RivalEnter1 call_if_eq VAR_TEMP_1, 2, Route119_EventScript_RivalEnter2 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 call_if_eq VAR_TEMP_1, 1, Route119_EventScript_SetRivalPos1 call_if_eq VAR_TEMP_1, 2, Route119_EventScript_SetRivalPos2 - removeobject LOCALID_RIVAL_ON_BIKE - addobject LOCALID_RIVAL + removeobject LOCALID_ROUTE119_RIVAL_ON_BIKE + addobject LOCALID_ROUTE119_RIVAL delay 30 checkplayergender goto_if_eq VAR_RESULT, MALE, Route119_EventScript_BattleMay @@ -140,78 +136,78 @@ Route119_EventScript_RivalExitScottArrive:: closemessage call_if_eq VAR_TEMP_1, 1, Route119_EventScript_SetRivalPos1 call_if_eq VAR_TEMP_1, 2, Route119_EventScript_SetRivalPos2 - removeobject LOCALID_RIVAL - addobject LOCALID_RIVAL_ON_BIKE + removeobject LOCALID_ROUTE119_RIVAL + addobject LOCALID_ROUTE119_RIVAL_ON_BIKE delay 30 call_if_eq VAR_TEMP_1, 1, Route119_EventScript_RivalExit1 call_if_eq VAR_TEMP_1, 2, Route119_EventScript_RivalExit2 - removeobject LOCALID_RIVAL_ON_BIKE + removeobject LOCALID_ROUTE119_RIVAL_ON_BIKE setvar VAR_ROUTE119_STATE, 1 savebgm MUS_DUMMY fadedefaultbgm delay 60 call_if_eq VAR_TEMP_1, 1, Route119_EventScript_SetScottPos1 call_if_eq VAR_TEMP_1, 2, Route119_EventScript_SetScottPos2 - addobject LOCALID_SCOTT - applymovement LOCALID_SCOTT, Route119_Movement_ScottEnter + addobject LOCALID_ROUTE119_SCOTT + applymovement LOCALID_ROUTE119_SCOTT, Route119_Movement_ScottEnter waitmovement 0 addvar VAR_SCOTT_STATE, 1 msgbox Route119_Text_ScottWayToGoBeSeeingYou, MSGBOX_DEFAULT closemessage call_if_eq VAR_TEMP_1, 1, Route119_EventScript_ScottExit1 call_if_eq VAR_TEMP_1, 2, Route119_EventScript_ScottExit2 - removeobject LOCALID_SCOTT + removeobject LOCALID_ROUTE119_SCOTT releaseall end Route119_EventScript_SetScottPos1:: - setobjectxyperm LOCALID_SCOTT, 27, 25 + setobjectxyperm LOCALID_ROUTE119_SCOTT, 27, 25 return Route119_EventScript_SetScottPos2:: - setobjectxyperm LOCALID_SCOTT, 28, 25 + setobjectxyperm LOCALID_ROUTE119_SCOTT, 28, 25 return Route119_EventScript_ScottExit1:: - applymovement LOCALID_SCOTT, Route119_Movement_ScottExit1 + applymovement LOCALID_ROUTE119_SCOTT, Route119_Movement_ScottExit1 waitmovement 0 return Route119_EventScript_ScottExit2:: - applymovement LOCALID_SCOTT, Route119_Movement_ScottExit2 + applymovement LOCALID_ROUTE119_SCOTT, Route119_Movement_ScottExit2 waitmovement 0 return Route119_EventScript_RivalEnter1:: - applymovement LOCALID_RIVAL_ON_BIKE, Route119_Movement_RivalEnter1 + applymovement LOCALID_ROUTE119_RIVAL_ON_BIKE, Route119_Movement_RivalEnter1 waitmovement 0 return Route119_EventScript_RivalEnter2:: - applymovement LOCALID_RIVAL_ON_BIKE, Route119_Movement_RivalEnter2 + applymovement LOCALID_ROUTE119_RIVAL_ON_BIKE, Route119_Movement_RivalEnter2 waitmovement 0 return Route119_EventScript_RivalExit1:: - applymovement OBJ_EVENT_ID_PLAYER, Route119_Movement_PlayerWatchRivalExit1 - applymovement LOCALID_RIVAL_ON_BIKE, Route119_Movement_RivalExit1 + applymovement LOCALID_PLAYER, Route119_Movement_PlayerWatchRivalExit1 + applymovement LOCALID_ROUTE119_RIVAL_ON_BIKE, Route119_Movement_RivalExit1 waitmovement 0 return Route119_EventScript_RivalExit2:: - applymovement OBJ_EVENT_ID_PLAYER, Route119_Movement_PlayerWatchRivalExit2 - applymovement LOCALID_RIVAL_ON_BIKE, Route119_Movement_RivalExit2 + applymovement LOCALID_PLAYER, Route119_Movement_PlayerWatchRivalExit2 + applymovement LOCALID_ROUTE119_RIVAL_ON_BIKE, Route119_Movement_RivalExit2 waitmovement 0 return Route119_EventScript_SetRivalPos1:: - setobjectxyperm LOCALID_RIVAL, 25, 32 - setobjectxyperm LOCALID_RIVAL_ON_BIKE, 25, 32 + setobjectxyperm LOCALID_ROUTE119_RIVAL, 25, 32 + setobjectxyperm LOCALID_ROUTE119_RIVAL_ON_BIKE, 25, 32 return Route119_EventScript_SetRivalPos2:: - setobjectxyperm LOCALID_RIVAL, 26, 32 - setobjectxyperm LOCALID_RIVAL_ON_BIKE, 26, 32 + setobjectxyperm LOCALID_ROUTE119_RIVAL, 26, 32 + setobjectxyperm LOCALID_ROUTE119_RIVAL_ON_BIKE, 26, 32 return Route119_Movement_PlayerWatchRivalExit1: diff --git a/data/maps/Route119_WeatherInstitute_1F/map.json b/data/maps/Route119_WeatherInstitute_1F/map.json index 02f2ffe37f..a0d5e12ff3 100644 --- a/data/maps/Route119_WeatherInstitute_1F/map.json +++ b/data/maps/Route119_WeatherInstitute_1F/map.json @@ -67,6 +67,7 @@ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS" }, { + "local_id": "LOCALID_WEATHER_INSTITUTE_LITTLE_BOY", "graphics_id": "OBJ_EVENT_GFX_NINJA_BOY", "x": 14, "y": 11, diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc index cf7726b08f..85b6f3e1eb 100644 --- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_LITTLE_BOY, 5 - Route119_WeatherInstitute_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route119_WeatherInstitute_1F_OnTransition end_map_scripts @@ -9,8 +7,8 @@ Route119_WeatherInstitute_1F_OnTransition: end Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos:: - setobjectxyperm LOCALID_LITTLE_BOY, 0, 5 - setobjectmovementtype LOCALID_LITTLE_BOY, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_WEATHER_INSTITUTE_LITTLE_BOY, 0, 5 + setobjectmovementtype LOCALID_WEATHER_INSTITUTE_LITTLE_BOY, MOVEMENT_TYPE_FACE_RIGHT return Route119_WeatherInstitute_1F_EventScript_LittleBoy:: diff --git a/data/maps/Route119_WeatherInstitute_2F/map.json b/data/maps/Route119_WeatherInstitute_2F/map.json index 935ea48dd9..8b62e63a91 100644 --- a/data/maps/Route119_WeatherInstitute_2F/map.json +++ b/data/maps/Route119_WeatherInstitute_2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_WEATHER_INSTITUTE_2F_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 15, "y": 6, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { + "local_id": "LOCALID_WEATHER_INSTITUTE_2F_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 10, "y": 8, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_ROUTE_119_TEAM_AQUA" }, { + "local_id": "LOCALID_WEATHER_INSTITUTE_2F_SHELLY", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_F", "x": 4, "y": 6, @@ -67,6 +70,7 @@ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS" }, { + "local_id": "LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 18, "y": 6, @@ -93,6 +97,7 @@ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS" }, { + "local_id": "LOCALID_WEATHER_INSTITUTE_2F_GRUNT_3", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 16, "y": 6, @@ -106,6 +111,7 @@ "flag": "FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M" }, { + "local_id": "LOCALID_WEATHER_INSTITUTE_2F_GRUNT_4", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_F", "x": 19, "y": 6, diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index 45de323a1e..57c7065026 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_GRUNT_1, 1 -.set LOCALID_GRUNT_2, 2 -.set LOCALID_SHELLY, 3 -.set LOCALID_SCIENTIST, 5 -.set LOCALID_GRUNT_3, 7 -.set LOCALID_GRUNT_4, 8 - Route119_WeatherInstitute_2F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route119_WeatherInstitute_2F_OnTransition end_map_scripts @@ -16,18 +9,18 @@ Route119_WeatherInstitute_2F_OnTransition: end Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere:: - setobjectxyperm LOCALID_SCIENTIST, 1, 6 - setobjectmovementtype LOCALID_SCIENTIST, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, 1, 6 + setobjectmovementtype LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, MOVEMENT_TYPE_FACE_RIGHT return Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone:: - setobjectxyperm LOCALID_SCIENTIST, 4, 6 - setobjectmovementtype LOCALID_SCIENTIST, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, 4, 6 + setobjectmovementtype LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, MOVEMENT_TYPE_FACE_RIGHT return Route119_WeatherInstitute_2F_EventScript_SetScientistPosGameClear:: - setobjectxyperm LOCALID_SCIENTIST, 2, 2 - setobjectmovementtype LOCALID_SCIENTIST, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, 2, 2 + setobjectmovementtype LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, MOVEMENT_TYPE_FACE_UP return Route119_WeatherInstitute_2F_EventScript_Grunt5:: @@ -53,16 +46,16 @@ Route119_WeatherInstitute_2F_EventScript_Shelly:: Route119_WeatherInstitute_2F_EventScript_ShellyDefeated:: msgbox Route119_WeatherInstitute_2F_Text_ShellyPostBattle, MSGBOX_DEFAULT closemessage - addobject LOCALID_GRUNT_3 - applymovement LOCALID_GRUNT_3, Route119_WeatherInstitute_2F_Movement_GruntApproachShelly - applymovement OBJ_EVENT_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_ShovePlayerOutOfWay + addobject LOCALID_WEATHER_INSTITUTE_2F_GRUNT_3 + applymovement LOCALID_WEATHER_INSTITUTE_2F_GRUNT_3, Route119_WeatherInstitute_2F_Movement_GruntApproachShelly + applymovement LOCALID_PLAYER, Route119_WeatherInstitute_2F_Movement_ShovePlayerOutOfWay waitmovement 0 msgbox Route119_WeatherInstitute_2F_Text_TeamMagmaJustPassedBy, MSGBOX_DEFAULT closemessage playse SE_PIN - applymovement LOCALID_SHELLY, Common_Movement_ExclamationMark + applymovement LOCALID_WEATHER_INSTITUTE_2F_SHELLY, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_SHELLY, Common_Movement_Delay48 + applymovement LOCALID_WEATHER_INSTITUTE_2F_SHELLY, Common_Movement_Delay48 waitmovement 0 msgbox Route119_WeatherInstitute_2F_Text_WeHaveToHurryToMtPyre, MSGBOX_DEFAULT closemessage @@ -72,17 +65,17 @@ Route119_WeatherInstitute_2F_EventScript_ShellyDefeated:: fadescreen FADE_TO_BLACK setflag FLAG_HIDE_ROUTE_119_TEAM_AQUA setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M - removeobject LOCALID_GRUNT_1 - removeobject LOCALID_GRUNT_2 - removeobject LOCALID_SHELLY - removeobject LOCALID_GRUNT_4 - removeobject LOCALID_GRUNT_3 - applymovement OBJ_EVENT_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_PlayerReturnToPosition + removeobject LOCALID_WEATHER_INSTITUTE_2F_GRUNT_1 + removeobject LOCALID_WEATHER_INSTITUTE_2F_GRUNT_2 + removeobject LOCALID_WEATHER_INSTITUTE_2F_SHELLY + removeobject LOCALID_WEATHER_INSTITUTE_2F_GRUNT_4 + removeobject LOCALID_WEATHER_INSTITUTE_2F_GRUNT_3 + applymovement LOCALID_PLAYER, Route119_WeatherInstitute_2F_Movement_PlayerReturnToPosition waitmovement 0 fadescreen FADE_FROM_BLACK - applymovement LOCALID_SCIENTIST, Route119_WeatherInstitute_2F_Movement_ScientistApproachPlayer + applymovement LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST, Route119_WeatherInstitute_2F_Movement_ScientistApproachPlayer waitmovement 0 - copyobjectxytoperm LOCALID_SCIENTIST + copyobjectxytoperm LOCALID_WEATHER_INSTITUTE_2F_SCIENTIST goto Route119_WeatherInstitute_2F_EventScript_ReceiveCastform end diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index 6bb2c84c1a..0a12521c67 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -234,6 +234,7 @@ "flag": "FLAG_ITEM_ROUTE_120_NUGGET" }, { + "local_id": "LOCALID_ROUTE120_TY_1", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 37, "y": 5, @@ -247,6 +248,7 @@ "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1" }, { + "local_id": "LOCALID_ROUTE120_GABBY_1", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 36, "y": 5, @@ -260,6 +262,7 @@ "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1" }, { + "local_id": "LOCALID_ROUTE120_GABBY_2", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 36, "y": 5, @@ -273,6 +276,7 @@ "flag": "FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2" }, { + "local_id": "LOCALID_ROUTE120_TY_2", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 37, "y": 5, @@ -403,6 +407,7 @@ "flag": "FLAG_ITEM_ROUTE_120_HYPER_POTION" }, { + "local_id": "LOCALID_BRIDGE_KECLEON", "graphics_id": "OBJ_EVENT_GFX_KECLEON", "x": 12, "y": 16, @@ -416,6 +421,7 @@ "flag": "FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE" }, { + "local_id": "LOCALID_ROUTE120_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 13, "y": 15, @@ -481,6 +487,7 @@ "flag": "0" }, { + "local_id": "LOCALID_BRIDGE_KECLEON_SHADOW", "graphics_id": "OBJ_EVENT_GFX_KECLEON_BRIDGE_SHADOW", "x": 12, "y": 16, diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index f387f6d8ca..f9cb3d52ff 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -1,7 +1,4 @@ -.set LOCALID_BRIDGE_KECLEON, 30 -.set LOCALID_STEVEN, 31 -.set LOCALID_BRIDGE_KECLEON_SHADOW, 36 @ They use a second object which is identical to Kecleon but has a reflection palette tag for the bridge shadow - +@ LOCALID_BRIDGE_KECLEON_SHADOW is a second object which is identical to LOCALID_BRIDGE_KECLEON but has a reflection palette tag for the bridge shadow Route120_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, Route120_OnResume map_script MAP_SCRIPT_ON_TRANSITION, Route120_OnTransition @@ -180,7 +177,7 @@ Route120_EventScript_StevenBattleKecleon:: closemessage call_if_eq VAR_FACING, DIR_NORTH, Route120_EventScript_PlayerApproachKecleonNorth call_if_eq VAR_FACING, DIR_WEST, Route120_EventScript_PlayerApproachKecleonWest - applymovement LOCALID_STEVEN, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_ROUTE120_STEVEN, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 20 msgbox Route120_Text_StevenUsedDevonScope, MSGBOX_DEFAULT @@ -214,21 +211,21 @@ Route120_EventScript_RemoveBridgeKecleonPostBattle:: end Route120_EventScript_StevenGiveDeconScope:: - applymovement LOCALID_STEVEN, Common_Movement_WalkInPlaceFasterDown - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE120_STEVEN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox Route120_Text_StevenGiveDevonScope, MSGBOX_DEFAULT giveitem ITEM_DEVON_SCOPE setflag FLAG_RECEIVED_DEVON_SCOPE msgbox Route120_Text_StevenGoodbye, MSGBOX_DEFAULT closemessage - applymovement LOCALID_STEVEN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_ROUTE120_STEVEN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 dofieldeffect FLDEFF_NPCFLY_OUT delay 15 - removeobject LOCALID_STEVEN + removeobject LOCALID_ROUTE120_STEVEN waitfieldeffect FLDEFF_NPCFLY_OUT setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, FALSE setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, FALSE @@ -239,12 +236,12 @@ Route120_EventScript_StevenGiveDeconScope:: end Route120_EventScript_PlayerApproachKecleonNorth:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return Route120_EventScript_PlayerApproachKecleonWest:: - applymovement OBJ_EVENT_ID_PLAYER, Route120_Movement_ApproachKecleonWest + applymovement LOCALID_PLAYER, Route120_Movement_ApproachKecleonWest waitmovement 0 return diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index 4a73f3fdd9..9911a619c5 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -174,6 +174,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE121_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 30, "y": 8, @@ -187,6 +188,7 @@ "flag": "FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS" }, { + "local_id": "LOCALID_ROUTE121_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 30, "y": 7, @@ -200,6 +202,7 @@ "flag": "FLAG_HIDE_ROUTE_121_TEAM_AQUA_GRUNTS" }, { + "local_id": "LOCALID_ROUTE121_GRUNT_3", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 31, "y": 7, diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc index 66cf6a8edf..e7ebbeedab 100644 --- a/data/maps/Route121/scripts.inc +++ b/data/maps/Route121/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_GRUNT_1, 12 -.set LOCALID_GRUNT_2, 13 -.set LOCALID_GRUNT_3, 14 - Route121_MapScripts:: end_map_scripts @@ -20,18 +16,18 @@ Route121_EventScript_SafariZoneSign:: Route121_EventScript_AquaGruntsMoveOut:: lockall playbgm MUS_ENCOUNTER_AQUA, FALSE - applymovement LOCALID_GRUNT_2, Common_Movement_WalkInPlaceRight + applymovement LOCALID_ROUTE121_GRUNT_2, Common_Movement_WalkInPlaceRight waitmovement 0 msgbox Route121_Text_OkayMoveOutToMtPyre, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_1, Route121_Movement_Grunt1Exit - applymovement LOCALID_GRUNT_2, Route121_Movement_Grunt2Exit - applymovement LOCALID_GRUNT_3, Route121_Movement_Grunt3Exit + applymovement LOCALID_ROUTE121_GRUNT_1, Route121_Movement_Grunt1Exit + applymovement LOCALID_ROUTE121_GRUNT_2, Route121_Movement_Grunt2Exit + applymovement LOCALID_ROUTE121_GRUNT_3, Route121_Movement_Grunt3Exit waitmovement 0 fadedefaultbgm - removeobject LOCALID_GRUNT_1 - removeobject LOCALID_GRUNT_2 - removeobject LOCALID_GRUNT_3 + removeobject LOCALID_ROUTE121_GRUNT_1 + removeobject LOCALID_ROUTE121_GRUNT_2 + removeobject LOCALID_ROUTE121_GRUNT_3 setvar VAR_ROUTE121_STATE, 1 releaseall end diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index 874ed3f259..0a760917ab 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -8,7 +8,7 @@ Route121_SafariZoneEntrance_OnFrame: Route121_SafariZoneEntrance_EventScript_ExitSafariZone:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Route121_SafariZoneEntrance_Movement_ExitSafariZone + applymovement LOCALID_PLAYER, Route121_SafariZoneEntrance_Movement_ExitSafariZone waitmovement 0 setvar VAR_SAFARI_ZONE_STATE, 0 releaseall @@ -45,7 +45,7 @@ Route121_SafariZoneEntrance_EventScript_FirstTimeInfo:: Route121_SafariZoneEntrance_EventScript_EntranceCounterTrigger:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 showmoneybox 0, 0 msgbox Route121_SafariZoneEntrance_Text_WouldYouLikeToPlay, MSGBOX_YESNO @@ -71,7 +71,7 @@ Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone:: msgbox Route121_SafariZoneEntrance_Text_PleaseEnjoyYourself, MSGBOX_DEFAULT closemessage hidemoneybox - applymovement OBJ_EVENT_ID_PLAYER, Route121_SafariZoneEntrance_Movement_EnterSafariZone + applymovement LOCALID_PLAYER, Route121_SafariZoneEntrance_Movement_EnterSafariZone waitmovement 0 special EnterSafariMode setvar VAR_SAFARI_ZONE_STATE, 2 @@ -105,7 +105,7 @@ Route121_SafariZoneEntrance_EventScript_NotEnoughMoney:: Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter:: closemessage hidemoneybox - applymovement OBJ_EVENT_ID_PLAYER, Route121_SafariZoneEntrance_Movement_BackAwayFromCounter + applymovement LOCALID_PLAYER, Route121_SafariZoneEntrance_Movement_BackAwayFromCounter waitmovement 0 releaseall end diff --git a/data/maps/Route128/map.json b/data/maps/Route128/map.json index 464aa83fcc..6ca7fbc908 100644 --- a/data/maps/Route128/map.json +++ b/data/maps/Route128/map.json @@ -62,6 +62,7 @@ "flag": "0" }, { + "local_id": "LOCALID_ROUTE128_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 40, "y": 22, @@ -75,6 +76,7 @@ "flag": "FLAG_HIDE_ROUTE_128_STEVEN" }, { + "local_id": "LOCALID_ROUTE128_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 37, "y": 22, @@ -88,6 +90,7 @@ "flag": "FLAG_HIDE_ROUTE_128_ARCHIE" }, { + "local_id": "LOCALID_ROUTE128_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 38, "y": 21, diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc index 1c95a8490c..ecad8a9652 100644 --- a/data/maps/Route128/scripts.inc +++ b/data/maps/Route128/scripts.inc @@ -1,7 +1,3 @@ -.set LOCALID_STEVEN, 3 -.set LOCALID_ARCHIE, 4 -.set LOCALID_MAXIE, 5 - Route128_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route128_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, Route128_OnFrame @@ -18,64 +14,64 @@ Route128_OnFrame: Route128_EventScript_KyogreAwakenedScene:: lockall delay 20 - applymovement LOCALID_ARCHIE, Route128_Movement_ArchieLookAround + applymovement LOCALID_ROUTE128_ARCHIE, Route128_Movement_ArchieLookAround waitmovement 0 msgbox Route128_Text_ArchieWhatHappened, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARCHIE, Route128_Movement_ArchieBackUp + applymovement LOCALID_ROUTE128_ARCHIE, Route128_Movement_ArchieBackUp waitmovement 0 msgbox Route128_Text_ArchieIOnlyWanted, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MAXIE, Route128_Movement_MaxieApproachArchie + applymovement LOCALID_ROUTE128_MAXIE, Route128_Movement_MaxieApproachArchie waitmovement 0 - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE128_ARCHIE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox Route128_Text_MaxieDoYouUnderstandNow, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MAXIE, Route128_Movement_MaxieApproachPlayer + applymovement LOCALID_ROUTE128_MAXIE, Route128_Movement_MaxieApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox Route128_Text_MaxieResposibilityFallsToArchieAndMe, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARCHIE, Route128_Movement_ArchieRunLeft - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_MAXIE, Route128_Movement_MaxieWalkLeft + applymovement LOCALID_ROUTE128_ARCHIE, Route128_Movement_ArchieRunLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_ROUTE128_MAXIE, Route128_Movement_MaxieWalkLeft waitmovement 0 msgbox Route128_Text_MaxieThisDefiesBelief, MSGBOX_DEFAULT closemessage delay 40 - applymovement LOCALID_MAXIE, Route128_Movement_MaxieExit - applymovement LOCALID_ARCHIE, Route128_Movement_ArchieExit + applymovement LOCALID_ROUTE128_MAXIE, Route128_Movement_MaxieExit + applymovement LOCALID_ROUTE128_ARCHIE, Route128_Movement_ArchieExit waitmovement 0 - removeobject LOCALID_MAXIE - removeobject LOCALID_ARCHIE + removeobject LOCALID_ROUTE128_MAXIE + removeobject LOCALID_ROUTE128_ARCHIE delay 100 setfieldeffectargument 0, 1 dofieldeffect FLDEFF_NPCFLY_OUT waitfieldeffect FLDEFF_NPCFLY_OUT - addobject LOCALID_STEVEN - applymovement LOCALID_STEVEN, Route128_Movement_StevenApproachPlayer + addobject LOCALID_ROUTE128_STEVEN + applymovement LOCALID_ROUTE128_STEVEN, Route128_Movement_StevenApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox Route128_Text_StevenWhatIsHappening, MSGBOX_DEFAULT closemessage - applymovement LOCALID_STEVEN, Route128_Movement_StevenWalkUp - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_ROUTE128_STEVEN, Route128_Movement_StevenWalkUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox Route128_Text_StevenWholeWorldWillDrown, MSGBOX_DEFAULT - applymovement LOCALID_STEVEN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_ROUTE128_STEVEN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox Route128_Text_StevenImGoingToSootopolis, MSGBOX_DEFAULT closemessage - applymovement LOCALID_STEVEN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_ROUTE128_STEVEN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 50 setfieldeffectargument 0, 1 dofieldeffect FLDEFF_NPCFLY_OUT delay 15 - removeobject LOCALID_STEVEN + removeobject LOCALID_ROUTE128_STEVEN waitfieldeffect FLDEFF_NPCFLY_OUT clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_ROUTE128_STATE, 2 diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json index 3d77404ee7..b4eadc2a77 100644 --- a/data/maps/RustboroCity/map.json +++ b/data/maps/RustboroCity/map.json @@ -109,6 +109,7 @@ "flag": "0" }, { + "local_id": "LOCALID_RUSTBORO_LITTLE_BOY", "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 24, "y": 51, @@ -122,6 +123,7 @@ "flag": "0" }, { + "local_id": "LOCALID_RUSTBORO_LITTLE_GIRL", "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 25, "y": 51, @@ -135,6 +137,7 @@ "flag": "0" }, { + "local_id": "LOCALID_RUSTBORO_DEVON_EMPLOYEE", "graphics_id": "OBJ_EVENT_GFX_MAN_2", "x": 30, "y": 10, @@ -148,6 +151,7 @@ "flag": "FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1" }, { + "local_id": "LOCALID_RUSTBORO_GRUNT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 13, "y": 21, @@ -200,6 +204,7 @@ "flag": "0" }, { + "local_id": "LOCALID_RUSTBORO_RIVAL", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 16, "y": 50, @@ -213,6 +218,7 @@ "flag": "FLAG_HIDE_RUSTBORO_CITY_RIVAL" }, { + "local_id": "LOCALID_RUSTBORO_SCIENTIST", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 11, "y": 15, diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 147520752c..e40b6b43ab 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -1,10 +1,3 @@ -.set LOCALID_LITTLE_BOY, 7 -.set LOCALID_LITTLE_GIRL, 8 -.set LOCALID_DEVON_EMPLOYEE, 9 -.set LOCALID_GRUNT, 10 -.set LOCALID_RIVAL, 14 -.set LOCALID_SCIENTIST, 15 - RustboroCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_OnFrame @@ -20,11 +13,11 @@ RustboroCity_OnTransition: RustboroCity_EventScript_PositionScientistForExit:: goto_if_eq VAR_TEMP_0, 11, RustboroCity_EventScript_PositionScientistLeftExit - setobjectxyperm LOCALID_SCIENTIST, 12, 15 + setobjectxyperm LOCALID_RUSTBORO_SCIENTIST, 12, 15 end RustboroCity_EventScript_PositionScientistLeftExit:: - setobjectxyperm LOCALID_SCIENTIST, 11, 15 + setobjectxyperm LOCALID_RUSTBORO_SCIENTIST, 11, 15 end RustboroCity_EventScript_HideMapNamePopup:: @@ -38,26 +31,26 @@ RustboroCity_OnFrame: RustboroCity_EventScript_ScientistAddMatchCall:: lockall setvar VAR_ROUTE104_STATE, 1 - applymovement OBJ_EVENT_ID_PLAYER, RustboroCity_Movement_PlayerWalkDown + applymovement LOCALID_PLAYER, RustboroCity_Movement_PlayerWalkDown waitmovement 0 playse SE_EXIT delay 10 - addobject LOCALID_SCIENTIST - applymovement LOCALID_SCIENTIST, RustboroCity_Movement_ScientistApproachPlayer + addobject LOCALID_RUSTBORO_SCIENTIST + applymovement LOCALID_RUSTBORO_SCIENTIST, RustboroCity_Movement_ScientistApproachPlayer waitmovement 0 playse SE_PIN - applymovement LOCALID_SCIENTIST, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_SCIENTIST, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 - applymovement LOCALID_SCIENTIST, RustboroCity_Movement_ScientistWalkInPlaceDown + applymovement LOCALID_RUSTBORO_SCIENTIST, RustboroCity_Movement_ScientistWalkInPlaceDown waitmovement 0 msgbox RustboroCity_Text_DevelopedNewPokenavFeature, MSGBOX_DEFAULT closemessage setflag FLAG_HAS_MATCH_CALL - applymovement LOCALID_SCIENTIST, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 playse SE_CLICK delay 10 @@ -67,7 +60,7 @@ RustboroCity_EventScript_ScientistAddMatchCall:: delay 10 playse SE_CLICK delay 20 - applymovement LOCALID_SCIENTIST, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox RustboroCity_Text_AddedMatchCallPleaseCallMrStone, MSGBOX_DEFAULT closemessage @@ -98,10 +91,10 @@ RustboroCity_EventScript_MatchCallTutorial:: delay 20 msgbox RustboroCity_Text_IdBetterGetBackToWork, MSGBOX_DEFAULT closemessage - applymovement LOCALID_SCIENTIST, RustboroCity_Movement_ScientistLeave + applymovement LOCALID_RUSTBORO_SCIENTIST, RustboroCity_Movement_ScientistLeave waitmovement 0 playse SE_EXIT - removeobject LOCALID_SCIENTIST + removeobject LOCALID_RUSTBORO_SCIENTIST setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST setvar VAR_RUSTBORO_CITY_STATE, 7 clearflag FLAG_HIDE_MAP_NAME_POPUP @@ -227,7 +220,7 @@ RustboroCity_EventScript_LittleBoy:: lock faceplayer msgbox RustboroCity_Text_PokemonCanChangeLookFromExp, MSGBOX_DEFAULT - applymovement LOCALID_LITTLE_BOY, Common_Movement_FaceOriginalDirection + applymovement LOCALID_RUSTBORO_LITTLE_BOY, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -236,7 +229,7 @@ RustboroCity_EventScript_LittleGirl:: lock faceplayer msgbox RustboroCity_Text_PokemonChangeShape, MSGBOX_DEFAULT - applymovement LOCALID_LITTLE_GIRL, Common_Movement_FaceOriginalDirection + applymovement LOCALID_RUSTBORO_LITTLE_GIRL, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -250,40 +243,40 @@ RustboroCity_EventScript_Man2:: RustboroCity_EventScript_StolenGoodsTrigger0:: lockall - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 14, 21 - setobjectmovementtype LOCALID_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21 + setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 0 goto RustboroCity_EventScript_StolenGoodsScene end RustboroCity_EventScript_StolenGoodsTrigger1:: lockall - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 14, 21 - setobjectmovementtype LOCALID_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21 + setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 1 goto RustboroCity_EventScript_StolenGoodsScene end RustboroCity_EventScript_StolenGoodsTrigger2:: lockall - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 14, 21 - setobjectmovementtype LOCALID_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21 + setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 2 goto RustboroCity_EventScript_StolenGoodsScene end RustboroCity_EventScript_StolenGoodsTrigger3:: lockall - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 14, 21 - setobjectmovementtype LOCALID_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21 + setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 3 goto RustboroCity_EventScript_StolenGoodsScene end RustboroCity_EventScript_StolenGoodsTrigger4:: lockall - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 14, 21 - setobjectmovementtype LOCALID_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21 + setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT setvar VAR_0x8004, 4 goto RustboroCity_EventScript_StolenGoodsScene end @@ -292,20 +285,20 @@ RustboroCity_EventScript_StolenGoodsScene:: msgbox RustboroCity_Text_OutOfTheWay, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_AQUA, FALSE - addobject LOCALID_GRUNT - addobject LOCALID_DEVON_EMPLOYEE - applymovement LOCALID_GRUNT, RustboroCity_Movement_GruntEscape + addobject LOCALID_RUSTBORO_GRUNT + addobject LOCALID_RUSTBORO_DEVON_EMPLOYEE + applymovement LOCALID_RUSTBORO_GRUNT, RustboroCity_Movement_GruntEscape waitmovement 0 - removeobject LOCALID_GRUNT - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeChaseGrunt1 + removeobject LOCALID_RUSTBORO_GRUNT + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeChaseGrunt1 waitmovement 0 msgbox RustboroCity_Text_WaitDontTakeMyGoods, MSGBOX_DEFAULT closemessage - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeChaseGrunt2 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeChaseGrunt2 waitmovement 0 fadedefaultbgm - removeobject LOCALID_DEVON_EMPLOYEE - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 30, 10 + removeobject LOCALID_RUSTBORO_DEVON_EMPLOYEE + setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 30, 10 clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 setflag FLAG_DEVON_GOODS_STOLEN setvar VAR_RUSTBORO_CITY_STATE, 2 @@ -331,33 +324,33 @@ RustboroCity_EventScript_YouGotItThankYou:: @ Unknown, unused employee movements. Based on the differences in movement theyre for approaching an object (probably the player) in different positions RustboroCity_EventScript_EmployeeApproachUp:: - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachUp + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachUp waitmovement 0 return @ Unused, see above RustboroCity_EventScript_EmployeeApproachLeft:: - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachLeft + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachLeft waitmovement 0 return @ Unused, see above RustboroCity_EventScript_EmployeeApproachRight:: - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachRight + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachRight waitmovement 0 return @ Unused, see above RustboroCity_EventScript_EmployeeApproachDown:: - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachDown waitmovement 0 return @ Unused, similar movement to the above scripts RustboroCity_EventScript_EmployeeApproachPlayerFar:: - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerFar + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerFar waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return @@ -509,59 +502,59 @@ RustboroCity_EventScript_EmployeeAskToGetGoods:: call_if_eq VAR_TEMP_1, 3, RustboroCity_EventScript_EmployeeApproachPlayerDown1 setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN setvar VAR_RUSTBORO_CITY_STATE, 3 - copyobjectxytoperm LOCALID_DEVON_EMPLOYEE + copyobjectxytoperm LOCALID_RUSTBORO_DEVON_EMPLOYEE msgbox RustboroCity_Text_HelpMeIWasRobbed, MSGBOX_DEFAULT releaseall end @ The below movement scripts are either partially or fully duplicated by the movement scripts when the player returns the goods RustboroCity_EventScript_EmployeeFacePlayerUp1:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return RustboroCity_EventScript_EmployeeFacePlayerLeft1:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceRight + applymovement LOCALID_PLAYER, Common_Movement_FaceRight waitmovement 0 return RustboroCity_EventScript_EmployeeFacePlayerDown1:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return RustboroCity_EventScript_EmployeeApproachPlayerDown1:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerDown waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return @@ -618,69 +611,69 @@ RustboroCity_EventScript_BagFull:: return RustboroCity_EventScript_EmployeeFacePlayerUp2:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return RustboroCity_EventScript_EmployeeFacePlayerLeft2:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterRight waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceLeft + applymovement LOCALID_PLAYER, Common_Movement_FaceLeft waitmovement 0 return RustboroCity_EventScript_EmployeeFacePlayerDown2:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return RustboroCity_EventScript_EmployeeApproachPlayerDown2:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerDown + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerDown waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 return RustboroCity_EventScript_EmployeeFacePlayerRight:: - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 playse SE_PIN - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_DEVON_EMPLOYEE, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48 waitmovement 0 return RustboroCity_EventScript_Rival:: lockall call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_FacePlayer + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_FacePlayer waitmovement 0 goto RustboroCity_EventScript_RivalEncounter @@ -701,128 +694,128 @@ RustboroCity_EventScript_PlayBrendanMusic:: RustboroCity_EventScript_RivalTrigger0:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer0 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer0 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger1:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer1 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer1 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger2:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer2 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer2 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger3:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer3 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer3 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger4:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer4 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer4 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger5:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer5 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer5 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger6:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer6 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer6 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter RustboroCity_EventScript_RivalTrigger7:: lockall call RustboroCity_EventScript_PlayRivalMusic - applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown waitmovement 0 playse SE_PIN - applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_RIVAL, Common_Movement_Delay48 + applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_RIVAL, RustboroCity_Movement_RivalApproachPlayer7 + applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer7 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 goto RustboroCity_EventScript_RivalEncounter diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.json b/data/maps/RustboroCity_DevonCorp_1F/map.json index 64a8b917a1..ecbf542589 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/map.json +++ b/data/maps/RustboroCity_DevonCorp_1F/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEVON_CORP_STAIR_GUARD", "graphics_id": "OBJ_EVENT_GFX_DEVON_EMPLOYEE", "x": 15, "y": 5, diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc index 3fa4c26658..03f8b11e0a 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_STAIR_GUARD, 2 - RustboroCity_DevonCorp_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_1F_OnTransition end_map_scripts @@ -9,8 +7,8 @@ RustboroCity_DevonCorp_1F_OnTransition: end RustboroCity_DevonCorp_1F_EventScript_BlockStairs:: - setobjectxyperm LOCALID_STAIR_GUARD, 14, 2 - setobjectmovementtype LOCALID_STAIR_GUARD, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_DEVON_CORP_STAIR_GUARD, 14, 2 + setobjectmovementtype LOCALID_DEVON_CORP_STAIR_GUARD, MOVEMENT_TYPE_FACE_DOWN return RustboroCity_DevonCorp_1F_EventScript_Employee:: diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.json b/data/maps/RustboroCity_DevonCorp_2F/map.json index 3892ba40ae..70a5312f9f 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/map.json +++ b/data/maps/RustboroCity_DevonCorp_2F/map.json @@ -67,6 +67,7 @@ "flag": "0" }, { + "local_id": "LOCALID_FOSSIL_SCIENTIST", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 14, "y": 8, diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index ba5694e1f2..d55cb890c8 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_FOSSIL_SCIENTIST, 5 - RustboroCity_DevonCorp_2F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_2F_OnTransition end_map_scripts diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.json b/data/maps/RustboroCity_DevonCorp_3F/map.json index 4ddb727185..ffe289e759 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/map.json +++ b/data/maps/RustboroCity_DevonCorp_3F/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_DEVON_CORP_3F_EMPLOYEE", "graphics_id": "OBJ_EVENT_GFX_MAN_2", "x": 3, "y": 5, diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index 0861b4d106..720f6ed0ec 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_DEVON_EMPLOYEE, 2 - RustboroCity_DevonCorp_3F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_DevonCorp_3F_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, RustboroCity_DevonCorp_3F_OnWarp @@ -11,8 +9,8 @@ RustboroCity_DevonCorp_3F_OnTransition: end RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos:: - setobjectxyperm LOCALID_DEVON_EMPLOYEE, 3, 2 - setobjectmovementtype LOCALID_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_DEVON_CORP_3F_EMPLOYEE, 3, 2 + setobjectmovementtype LOCALID_DEVON_CORP_3F_EMPLOYEE, MOVEMENT_TYPE_FACE_LEFT return RustboroCity_DevonCorp_3F_OnWarp: @@ -20,7 +18,7 @@ RustboroCity_DevonCorp_3F_OnWarp: end_map_script_table RustboroCity_DevonCorp_3F_EventScript_PlayerFaceEast:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_EAST + turnobject LOCALID_PLAYER, DIR_EAST end RustboroCity_DevonCorp_3F_OnFrame: @@ -31,22 +29,22 @@ RustboroCity_DevonCorp_3F_EventScript_MeetPresident:: lockall msgbox RustboroCity_DevonCorp_3F_Text_ThisIs3rdFloorWaitHere, MSGBOX_DEFAULT closemessage - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_EmployeeWalkOffscreen + applymovement LOCALID_DEVON_CORP_3F_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_EmployeeWalkOffscreen waitmovement 0 delay 80 - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_EmployeeReturnToPlayer + applymovement LOCALID_DEVON_CORP_3F_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_EmployeeReturnToPlayer waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_WordWithPresidentComeWithMe, MSGBOX_DEFAULT closemessage playbgm MUS_FOLLOW_ME, FALSE - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_LeadPlayerToPresident - applymovement OBJ_EVENT_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerFollowToPresident + applymovement LOCALID_DEVON_CORP_3F_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_LeadPlayerToPresident + applymovement LOCALID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerFollowToPresident waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_PleaseGoAhead, MSGBOX_DEFAULT closemessage fadedefaultbgm - applymovement LOCALID_DEVON_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_EmployeeFaceDesk - applymovement OBJ_EVENT_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerApproachDesk + applymovement LOCALID_DEVON_CORP_3F_EMPLOYEE, RustboroCity_DevonCorp_3F_Movement_EmployeeFaceDesk + applymovement LOCALID_PLAYER, RustboroCity_DevonCorp_3F_Movement_PlayerApproachDesk waitmovement 0 msgbox RustboroCity_DevonCorp_3F_Text_MrStoneIHaveFavor, MSGBOX_DEFAULT giveitem ITEM_LETTER diff --git a/data/maps/RustboroCity_Flat1_2F/map.json b/data/maps/RustboroCity_Flat1_2F/map.json index bb87670627..5591c344ff 100644 --- a/data/maps/RustboroCity_Flat1_2F/map.json +++ b/data/maps/RustboroCity_Flat1_2F/map.json @@ -80,6 +80,7 @@ "flag": "0" }, { + "local_id": "LOCALID_WALDAS_DAD", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 8, "y": 5, diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc index 4122443f3e..7d7062b3a3 100644 --- a/data/maps/RustboroCity_Flat1_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WALDAS_DAD, 6 - RustboroCity_Flat1_2F_MapScripts:: end_map_scripts diff --git a/data/maps/RustboroCity_Mart/map.json b/data/maps/RustboroCity_Mart/map.json index 92a23b6bf0..886b500df6 100644 --- a/data/maps/RustboroCity_Mart/map.json +++ b/data/maps/RustboroCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_RUSTBORO_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc index 0f4e4903f7..932ad1a13c 100644 --- a/data/maps/RustboroCity_Mart/scripts.inc +++ b/data/maps/RustboroCity_Mart/scripts.inc @@ -28,9 +28,7 @@ RustboroCity_Mart_Pokemart_Basic: .2byte ITEM_X_SPEED .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND - .2byte ITEM_NONE - release - end + pokemartlistend RustboroCity_Mart_EventScript_PokemartExpanded:: pokemart RustboroCity_Mart_Pokemart_Expanded @@ -52,9 +50,7 @@ RustboroCity_Mart_Pokemart_Expanded: .2byte ITEM_X_SPEED .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND - .2byte ITEM_NONE - release - end + pokemartlistend RustboroCity_Mart_EventScript_PokefanF:: msgbox RustboroCity_Mart_Text_BuyingHealsInCaseOfShroomish, MSGBOX_NPC diff --git a/data/maps/RustboroCity_PokemonCenter_1F/map.json b/data/maps/RustboroCity_PokemonCenter_1F/map.json index d187d49a32..be36274d8f 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_RUSTBORO_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index 544b2eeef7..bb6a8f02f9 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - RustboroCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ RustboroCity_PokemonCenter_1F_OnTransition: end RustboroCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_RUSTBORO_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index ef07714add..9883ac306a 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_RUSTURF_TUNNEL_WANDAS_BF", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 23, "y": 5, @@ -67,6 +68,7 @@ "flag": "FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER" }, { + "local_id": "LOCALID_RUSTURF_TUNNEL_BRINEY", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 5, "y": 4, @@ -80,6 +82,7 @@ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_BRINEY" }, { + "local_id": "LOCALID_RUSTURF_TUNNEL_GRUNT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 14, "y": 5, @@ -93,6 +96,7 @@ "flag": "FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT" }, { + "local_id": "LOCALID_RUSTURF_TUNNEL_PEEKO", "graphics_id": "OBJ_EVENT_GFX_WINGULL", "x": 14, "y": 4, @@ -132,6 +136,7 @@ "flag": "0" }, { + "local_id": "LOCALID_RUSTURF_TUNNEL_WANDA", "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 25, "y": 4, diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 0071b83794..7a524cdb10 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -1,9 +1,3 @@ -.equ LOCALID_WANDAS_BF, 1 -.set LOCALID_BRINEY, 5 -.set LOCALID_GRUNT, 6 -.set LOCALID_PEEKO, 7 -.equ LOCALID_WANDA, 10 - RusturfTunnel_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, RusturfTunnel_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, RusturfTunnel_OnFrame @@ -19,8 +13,8 @@ RusturfTunnel_OnTransition: end RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos:: - setobjectxyperm LOCALID_PEEKO, 13, 4 - setobjectxyperm LOCALID_GRUNT, 13, 5 + setobjectxyperm LOCALID_RUSTURF_TUNNEL_PEEKO, 13, 4 + setobjectxyperm LOCALID_RUSTURF_TUNNEL_GRUNT, 13, 5 return RusturfTunnel_EventScript_Wanda:: @@ -79,36 +73,36 @@ RusturfTunnel_EventScript_ClearTunnelScene:: end RusturfTunnel_EventScript_BoyfriendApproachWanda1:: - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend1 - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_BoyfriendApproachWanda1 + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend1 + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_BoyfriendApproachWanda1 waitmovement 0 return RusturfTunnel_EventScript_BoyfriendApproachWanda2:: - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_BoyfriendApproachWanda + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_BoyfriendApproachWanda waitmovement 0 - applymovement LOCALID_WANDA, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTURF_TUNNEL_WANDA, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return RusturfTunnel_EventScript_BoyfriendApproachWanda3:: - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_BoyfriendApproachWanda + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PlayerWatchBoyfriend + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_BoyfriendApproachWanda waitmovement 0 - applymovement LOCALID_WANDA, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_RUSTURF_TUNNEL_WANDA, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return RusturfTunnel_EventScript_FaceWandasBoyfriend1:: - applymovement LOCALID_WANDAS_BF, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, Common_Movement_WalkInPlaceFasterUp waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return RusturfTunnel_EventScript_FaceWandasBoyfriend2:: - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_BoyfriendFaceRight + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_BoyfriendFaceRight waitmovement 0 return @@ -117,28 +111,28 @@ RusturfTunnel_EventScript_FaceWandasBoyfriend3:: RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer:: closemessage - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_WandasBoyfriendApproachPlayer + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_WandasBoyfriendApproachPlayer waitmovement 0 return RusturfTunnel_EventScript_WandaAndBoyfriendExit1:: - applymovement LOCALID_WANDA, RusturfTunnel_Movement_WandaExit1 - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_WandasBoyfriendExit1 + applymovement LOCALID_RUSTURF_TUNNEL_WANDA, RusturfTunnel_Movement_WandaExit1 + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_WandasBoyfriendExit1 waitmovement 0 return RusturfTunnel_EventScript_WandaAndBoyfriendExit:: - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchWandaExit - applymovement LOCALID_WANDA, RusturfTunnel_Movement_WandaExit - applymovement LOCALID_WANDAS_BF, RusturfTunnel_Movement_WandasBoyfriendExit + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PlayerWatchWandaExit + applymovement LOCALID_RUSTURF_TUNNEL_WANDA, RusturfTunnel_Movement_WandaExit + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, RusturfTunnel_Movement_WandasBoyfriendExit waitmovement 0 return RusturfTunnel_EventScript_WandasBoyfriendNotice:: playse SE_PIN - applymovement LOCALID_WANDAS_BF, Common_Movement_ExclamationMark + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_WANDAS_BF, Common_Movement_Delay48 + applymovement LOCALID_RUSTURF_TUNNEL_WANDAS_BF, Common_Movement_Delay48 waitmovement 0 return @@ -276,11 +270,11 @@ RusturfTunnel_EventScript_AquaGruntBackUp:: lockall msgbox RusturfTunnel_Text_ComeAndGetSome, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, RusturfTunnel_Movement_GruntAndPeekoBackUp - applymovement LOCALID_PEEKO, RusturfTunnel_Movement_GruntAndPeekoBackUp + applymovement LOCALID_RUSTURF_TUNNEL_GRUNT, RusturfTunnel_Movement_GruntAndPeekoBackUp + applymovement LOCALID_RUSTURF_TUNNEL_PEEKO, RusturfTunnel_Movement_GruntAndPeekoBackUp waitmovement 0 - copyobjectxytoperm LOCALID_GRUNT - copyobjectxytoperm LOCALID_PEEKO + copyobjectxytoperm LOCALID_RUSTURF_TUNNEL_GRUNT + copyobjectxytoperm LOCALID_RUSTURF_TUNNEL_PEEKO setvar VAR_RUSTURF_TUNNEL_STATE, 3 releaseall end @@ -310,19 +304,19 @@ RusturfTunnel_EventScript_Grunt:: msgbox RusturfTunnel_Text_GruntTakePackage, MSGBOX_DEFAULT giveitem ITEM_DEVON_GOODS closemessage - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PushPlayerAsideForGrunt - applymovement LOCALID_GRUNT, RusturfTunnel_Movement_GruntEscape + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PushPlayerAsideForGrunt + applymovement LOCALID_RUSTURF_TUNNEL_GRUNT, RusturfTunnel_Movement_GruntEscape waitmovement 0 - removeobject LOCALID_GRUNT + removeobject LOCALID_RUSTURF_TUNNEL_GRUNT delay 50 - addobject LOCALID_BRINEY - applymovement LOCALID_BRINEY, RusturfTunnel_Movement_BrineyApproachPeeko1 + addobject LOCALID_RUSTURF_TUNNEL_BRINEY + applymovement LOCALID_RUSTURF_TUNNEL_BRINEY, RusturfTunnel_Movement_BrineyApproachPeeko1 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PlayerMoveAsideForBriney - applymovement LOCALID_BRINEY, RusturfTunnel_Movement_BrineyApproachPeeko2 + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PlayerMoveAsideForBriney + applymovement LOCALID_RUSTURF_TUNNEL_BRINEY, RusturfTunnel_Movement_BrineyApproachPeeko2 waitmovement 0 msgbox RusturfTunnel_Text_PeekoGladToSeeYouSafe, MSGBOX_DEFAULT - applymovement LOCALID_BRINEY, Common_Movement_FacePlayer + applymovement LOCALID_RUSTURF_TUNNEL_BRINEY, Common_Movement_FacePlayer waitmovement 0 message RusturfTunnel_Text_ThankYouLetsGoHomePeeko waitmessage @@ -331,12 +325,12 @@ RusturfTunnel_EventScript_Grunt:: waitbuttonpress waitmoncry closemessage - applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PlayerWatchBrineyExit - applymovement LOCALID_BRINEY, RusturfTunnel_Movement_BrineyExit - applymovement LOCALID_PEEKO, RusturfTunnel_Movement_PeekoExit + applymovement LOCALID_PLAYER, RusturfTunnel_Movement_PlayerWatchBrineyExit + applymovement LOCALID_RUSTURF_TUNNEL_BRINEY, RusturfTunnel_Movement_BrineyExit + applymovement LOCALID_RUSTURF_TUNNEL_PEEKO, RusturfTunnel_Movement_PeekoExit waitmovement 0 - removeobject LOCALID_BRINEY - removeobject LOCALID_PEEKO + removeobject LOCALID_RUSTURF_TUNNEL_BRINEY + removeobject LOCALID_RUSTURF_TUNNEL_PEEKO clearflag FLAG_DEVON_GOODS_STOLEN setflag FLAG_RECOVERED_DEVON_GOODS setvar VAR_RUSTBORO_CITY_STATE, 4 diff --git a/data/maps/SSTidalCorridor/map.json b/data/maps/SSTidalCorridor/map.json index 7a25d4450c..460359a82c 100644 --- a/data/maps/SSTidalCorridor/map.json +++ b/data/maps/SSTidalCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SS_TIDAL_EXIT_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 1, "y": 11, @@ -67,6 +68,7 @@ "flag": "FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY" }, { + "local_id": "LOCALID_SS_TIDAL_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 9, "y": 10, diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 73d2c5ed6d..261ca98f4c 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_SAILOR, 1 -.set LOCALID_SCOTT, 5 - SSTidalCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, SSTidalCorridor_OnFrame end_map_scripts @@ -188,20 +185,20 @@ SSTidalCorridor_EventScript_TrainerNotDefeated:: SSTidalCorridor_EventScript_ScottScene:: lockall - applymovement LOCALID_SCOTT, SSTidalCorridor_Movement_ScottApproachPlayer + applymovement LOCALID_SS_TIDAL_SCOTT, SSTidalCorridor_Movement_ScottApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox SSTidalCorridor_Text_ScottBattleFrontierInvite, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, SSTidalCorridor_Movement_PlayerWatchScottExit - applymovement LOCALID_SAILOR, SSTidalCorridor_Movement_SailorMoveForScott - applymovement LOCALID_SCOTT, SSTidalCorridor_Movement_ScottExit + applymovement LOCALID_PLAYER, SSTidalCorridor_Movement_PlayerWatchScottExit + applymovement LOCALID_SS_TIDAL_EXIT_SAILOR, SSTidalCorridor_Movement_SailorMoveForScott + applymovement LOCALID_SS_TIDAL_SCOTT, SSTidalCorridor_Movement_ScottExit waitmovement 0 playse SE_EXIT waitse - removeobject LOCALID_SCOTT - applymovement LOCALID_SAILOR, SSTidalCorridor_Movement_SailorReturn + removeobject LOCALID_SS_TIDAL_SCOTT + applymovement LOCALID_SS_TIDAL_EXIT_SAILOR, SSTidalCorridor_Movement_SailorReturn waitmovement 0 delay 30 setflag FLAG_MET_SCOTT_ON_SS_TIDAL diff --git a/data/maps/SafariZone_South/map.json b/data/maps/SafariZone_South/map.json index dee1e40629..4fffe8afb9 100644 --- a/data/maps/SafariZone_South/map.json +++ b/data/maps/SafariZone_South/map.json @@ -31,6 +31,7 @@ ], "object_events": [ { + "local_id": "LOCALID_SAFARI_EXIT_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 32, "y": 34, diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc index 4b8c715d2a..639a65549b 100644 --- a/data/maps/SafariZone_South/scripts.inc +++ b/data/maps/SafariZone_South/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - SafariZone_South_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SafariZone_South_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SafariZone_South_OnFrame @@ -11,11 +9,11 @@ SafariZone_South_OnFrame: SafariZone_South_EventScript_EnterSafariZone:: lockall - applymovement OBJ_EVENT_ID_PLAYER, SafariZone_South_Movement_PlayerEnter + applymovement LOCALID_PLAYER, SafariZone_South_Movement_PlayerEnter waitmovement 0 - applymovement LOCALID_ATTENDANT, SafariZone_South_Movement_ExitAttendantBlockDoor + applymovement LOCALID_SAFARI_EXIT_ATTENDANT, SafariZone_South_Movement_ExitAttendantBlockDoor waitmovement 0 - setobjectxyperm LOCALID_ATTENDANT, 32, 34 + setobjectxyperm LOCALID_SAFARI_EXIT_ATTENDANT, 32, 34 setvar VAR_SAFARI_ZONE_STATE, 0 releaseall end @@ -25,7 +23,7 @@ SafariZone_South_OnTransition: end SafariZone_South_EventScript_SetExitAttendantAside:: - setobjectxyperm LOCALID_ATTENDANT, 31, 34 + setobjectxyperm LOCALID_SAFARI_EXIT_ATTENDANT, 31, 34 return SafariZone_South_Movement_PlayerEnter: @@ -74,17 +72,17 @@ SafariZone_South_EventScript_ExitEarly:: end SafariZone_South_EventScript_ExitEarlyNorth:: - applymovement LOCALID_ATTENDANT, SafariZone_South_Movement_MoveExitAttendantNorth + applymovement LOCALID_SAFARI_EXIT_ATTENDANT, SafariZone_South_Movement_MoveExitAttendantNorth waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, SafariZone_South_Movement_PlayerExitNorth + applymovement LOCALID_PLAYER, SafariZone_South_Movement_PlayerExitNorth waitmovement 0 goto SafariZone_South_EventScript_Exit end SafariZone_South_EventScript_ExitEarlyEast:: - applymovement LOCALID_ATTENDANT, SafariZone_South_Movement_MoveExitAttendantEast + applymovement LOCALID_SAFARI_EXIT_ATTENDANT, SafariZone_South_Movement_MoveExitAttendantEast waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, SafariZone_South_Movement_PlayerExitEast + applymovement LOCALID_PLAYER, SafariZone_South_Movement_PlayerExitEast waitmovement 0 goto SafariZone_South_EventScript_Exit end diff --git a/data/maps/SeafloorCavern_Entrance/map.json b/data/maps/SeafloorCavern_Entrance/map.json index 5e88d71432..7968d7afe9 100644 --- a/data/maps/SeafloorCavern_Entrance/map.json +++ b/data/maps/SeafloorCavern_Entrance/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 10, "y": 2, diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc index 22a52d2905..55e2df2d0a 100644 --- a/data/maps/SeafloorCavern_Entrance/scripts.inc +++ b/data/maps/SeafloorCavern_Entrance/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_GRUNT, 1 - SeafloorCavern_Entrance_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, SeafloorCavern_Entrance_OnResume end_map_scripts @@ -14,9 +12,9 @@ SeafloorCavern_Entrance_EventScript_Grunt:: goto_if_eq VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1, SeafloorCavern_Entrance_EventScript_GruntSpeechShort waitse playse SE_PIN - applymovement LOCALID_GRUNT, Common_Movement_ExclamationMark + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_GRUNT, Common_Movement_Delay48 + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_Delay48 waitmovement 0 delay 20 call_if_eq VAR_FACING, DIR_WEST, SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest @@ -24,10 +22,10 @@ SeafloorCavern_Entrance_EventScript_Grunt:: call_if_eq VAR_FACING, DIR_NORTH, SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth delay 30 setvar VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1 - copyobjectxytoperm LOCALID_GRUNT + copyobjectxytoperm LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT msgbox SeafloorCavern_Entrance_Text_HearMagmaNearMossdeep, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_WalkInPlaceFasterUp waitmovement 0 releaseall end @@ -38,23 +36,23 @@ SeafloorCavern_Entrance_EventScript_GruntSpeechShort:: call_if_eq VAR_FACING, DIR_NORTH, SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth msgbox SeafloorCavern_Entrance_Text_HearMagmaNearMossdeepShort, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_WalkInPlaceFasterUp waitmovement 0 releaseall end SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast:: - applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest:: - applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth:: - applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index 04fb621df1..241a53fe69 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SEAFLOOR_CAVERN_KYOGRE", "graphics_id": "OBJ_EVENT_GFX_KYOGRE_FRONT", "x": 17, "y": 38, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE" }, { + "local_id": "LOCALID_SEAFLOOR_CAVERN_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 9, "y": 42, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE" }, { + "local_id": "LOCALID_SEAFLOOR_CAVERN_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 9, "y": 42, @@ -54,6 +57,7 @@ "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE" }, { + "local_id": "LOCALID_SEAFLOOR_CAVERN_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M", "x": 8, "y": 41, @@ -67,6 +71,7 @@ "flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS" }, { + "local_id": "LOCALID_SEAFLOOR_CAVERN_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_F", "x": 8, "y": 42, @@ -93,6 +98,7 @@ "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_EARTHQUAKE" }, { + "local_id": "LOCALID_SEAFLOOR_CAVERN_KYOGRE_SLEEPING", "graphics_id": "OBJ_EVENT_GFX_KYOGRE_ASLEEP", "x": 17, "y": 38, diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc index 4f340f981d..8081e01bef 100644 --- a/data/maps/SeafloorCavern_Room9/scripts.inc +++ b/data/maps/SeafloorCavern_Room9/scripts.inc @@ -1,28 +1,21 @@ -.set LOCALID_KYOGRE, 1 -.set LOCALID_ARCHIE, 2 -.set LOCALID_MAXIE, 3 -.set LOCALID_GRUNT_1, 4 -.set LOCALID_GRUNT_2, 5 -.set LOCALID_KYOGRE_SLEEPING, 7 - SeafloorCavern_Room9_MapScripts:: end_map_scripts SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: lockall - setvar VAR_0x8004, LOCALID_ARCHIE - setvar VAR_0x8005, LOCALID_MAXIE - setvar VAR_0x8006, LOCALID_GRUNT_1 - setvar VAR_0x8007, LOCALID_GRUNT_2 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + setvar VAR_0x8004, LOCALID_SEAFLOOR_CAVERN_ARCHIE + setvar VAR_0x8005, LOCALID_SEAFLOOR_CAVERN_MAXIE + setvar VAR_0x8006, LOCALID_SEAFLOOR_CAVERN_GRUNT_1 + setvar VAR_0x8007, LOCALID_SEAFLOOR_CAVERN_GRUNT_2 + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, SeafloorCavern_Room9_Movement_Delay32 + applymovement LOCALID_PLAYER, SeafloorCavern_Room9_Movement_Delay32 waitmovement 0 playbgm MUS_ENCOUNTER_AQUA, FALSE msgbox SeafloorCavern_Room9_Text_ArchieHoldItRightThere, MSGBOX_DEFAULT closemessage addobject VAR_0x8004 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_ArchieApproachPlayer waitmovement 0 @@ -52,14 +45,14 @@ SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: playse SE_ORB special DoOrbEffect applymovement VAR_0x8004, Common_Movement_WalkInPlaceFasterUp - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 delay 150 - removeobject LOCALID_KYOGRE_SLEEPING - addobject LOCALID_KYOGRE + removeobject LOCALID_SEAFLOOR_CAVERN_KYOGRE_SLEEPING + addobject LOCALID_SEAFLOOR_CAVERN_KYOGRE waitstate delay 60 - applymovement LOCALID_KYOGRE, SeafloorCavern_Room9_Movement_KyogreApproach + applymovement LOCALID_SEAFLOOR_CAVERN_KYOGRE, SeafloorCavern_Room9_Movement_KyogreApproach waitmovement 0 special FadeOutOrbEffect waitstate @@ -69,9 +62,9 @@ SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SeafloorCavern_Room9_Movement_KyogreExit + applymovement LOCALID_SEAFLOOR_CAVERN_KYOGRE, SeafloorCavern_Room9_Movement_KyogreExit waitmovement 0 - removeobject LOCALID_KYOGRE + removeobject LOCALID_SEAFLOOR_CAVERN_KYOGRE delay 4 setvar VAR_0x8004, 2 @ vertical pan setvar VAR_0x8005, 2 @ horizontal pan @@ -80,13 +73,13 @@ SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: special ShakeCamera waitstate delay 30 - setvar VAR_0x8004, LOCALID_ARCHIE - setvar VAR_0x8005, LOCALID_MAXIE - setvar VAR_0x8006, LOCALID_GRUNT_1 - setvar VAR_0x8007, LOCALID_GRUNT_2 + setvar VAR_0x8004, LOCALID_SEAFLOOR_CAVERN_ARCHIE + setvar VAR_0x8005, LOCALID_SEAFLOOR_CAVERN_MAXIE + setvar VAR_0x8006, LOCALID_SEAFLOOR_CAVERN_GRUNT_1 + setvar VAR_0x8007, LOCALID_SEAFLOOR_CAVERN_GRUNT_2 msgbox SeafloorCavern_Room9_Text_ArchieWhereDidKyogreGo, MSGBOX_DEFAULT playse SE_PC_LOGIN - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox SeafloorCavern_Room9_Text_ArchieAMessageFromOutside, MSGBOX_DEFAULT closemessage diff --git a/data/maps/SkyPillar_Outside/map.json b/data/maps/SkyPillar_Outside/map.json index d72441266e..545ebcd25e 100644 --- a/data/maps/SkyPillar_Outside/map.json +++ b/data/maps/SkyPillar_Outside/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SKY_PILLAR_WALLACE", "graphics_id": "OBJ_EVENT_GFX_WALLACE", "x": 13, "y": 7, diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc index 34033899de..5d5c831f2c 100644 --- a/data/maps/SkyPillar_Outside/scripts.inc +++ b/data/maps/SkyPillar_Outside/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WALLACE, 1 - SkyPillar_Outside_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Outside_OnTransition map_script MAP_SCRIPT_ON_LOAD, SkyPillar_Outside_OnLoad @@ -34,9 +32,9 @@ SkyPillar_Outside_OnFrame: SkyPillar_Outside_EventScript_WallaceScene:: lockall - applymovement LOCALID_WALLACE, SkyPillar_Outside_Movement_WallaceApproachPlayer + applymovement LOCALID_SKY_PILLAR_WALLACE, SkyPillar_Outside_Movement_WallaceApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox SkyPillar_Outside_Text_OpenedDoorToSkyPillar, MSGBOX_DEFAULT closemessage @@ -50,8 +48,8 @@ SkyPillar_Outside_EventScript_WallaceScene:: delay 40 msgbox SkyPillar_Outside_Text_EarthquakeNotMomentToWaste, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, SkyPillar_Outside_Movement_PlayerClimbSkyPillar - applymovement LOCALID_WALLACE, SkyPillar_Outside_Movement_WallaceClimbSkyPillar + applymovement LOCALID_PLAYER, SkyPillar_Outside_Movement_PlayerClimbSkyPillar + applymovement LOCALID_SKY_PILLAR_WALLACE, SkyPillar_Outside_Movement_WallaceClimbSkyPillar waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 3 @ horizontal pan @@ -60,13 +58,13 @@ SkyPillar_Outside_EventScript_WallaceScene:: special ShakeCamera waitstate delay 20 - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SKY_PILLAR_WALLACE, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 10 - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SKY_PILLAR_WALLACE, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 20 - applymovement LOCALID_WALLACE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SKY_PILLAR_WALLACE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 msgbox SkyPillar_Outside_Text_SituationGettingWorse, MSGBOX_DEFAULT @@ -83,7 +81,7 @@ SkyPillar_Outside_EventScript_WallaceScene:: fadescreenswapbuffers FADE_TO_BLACK clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_SOOTOPOLIS_CITY_STATE, 4 - removeobject LOCALID_WALLACE + removeobject LOCALID_SKY_PILLAR_WALLACE clearflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE fadescreenswapbuffers FADE_FROM_BLACK releaseall diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json index 4c7ea03d15..888e05805d 100644 --- a/data/maps/SkyPillar_Top/map.json +++ b/data/maps/SkyPillar_Top/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_RAYQUAZA_SLEEPING", "graphics_id": "OBJ_EVENT_GFX_RAYQUAZA", "x": 14, "y": 7, diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 464ba07467..dfda804578 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_RAYQUAZA_SLEEPING, 1 - SkyPillar_Top_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, SkyPillar_Top_OnResume map_script MAP_SCRIPT_ON_TRANSITION, SkyPillar_Top_OnTransition @@ -90,10 +88,10 @@ SkyPillar_Top_EventScript_RanFromRayquaza2:: SkyPillar_Top_EventScript_AwakenRayquaza:: lockall fadeoutbgm 1 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SkyPillar_Top_Movement_CameraPanUp + applymovement LOCALID_CAMERA, SkyPillar_Top_Movement_CameraPanUp waitmovement 0 special RemoveCameraObject applymovement LOCALID_RAYQUAZA_SLEEPING, SkyPillar_Top_Movement_RayquazaStir @@ -123,7 +121,7 @@ SkyPillar_Top_EventScript_AwakenRayquaza:: delay 20 fadeinbgm 1 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SkyPillar_Top_Movement_CameraPanDown + applymovement LOCALID_CAMERA, SkyPillar_Top_Movement_CameraPanDown waitmovement 0 special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 5 diff --git a/data/maps/SlateportCity/map.json b/data/maps/SlateportCity/map.json index 972b51447e..aa281c6bb8 100644 --- a/data/maps/SlateportCity/map.json +++ b/data/maps/SlateportCity/map.json @@ -31,6 +31,7 @@ ], "object_events": [ { + "local_id": "LOCALID_SLATEPORT_FAT_MAN", "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 21, "y": 11, @@ -44,6 +45,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_MAN_1", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 34, "y": 29, @@ -57,6 +59,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_RICH_BOY", "graphics_id": "OBJ_EVENT_GFX_RICH_BOY", "x": 5, "y": 13, @@ -83,6 +86,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_F", "x": 31, "y": 27, @@ -96,6 +100,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_COOK", "graphics_id": "OBJ_EVENT_GFX_COOK", "x": 5, "y": 43, @@ -109,6 +114,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_OLD_WOMAN", "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 20, "y": 37, @@ -122,6 +128,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_GIRL", "graphics_id": "OBJ_EVENT_GFX_GIRL_1", "x": 8, "y": 42, @@ -135,6 +142,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_TY", "graphics_id": "OBJ_EVENT_GFX_CAMERAMAN", "x": 29, "y": 13, @@ -148,6 +156,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY" }, { + "local_id": "LOCALID_SLATEPORT_GABBY", "graphics_id": "OBJ_EVENT_GFX_REPORTER_F", "x": 28, "y": 14, @@ -161,6 +170,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY" }, { + "local_id": "LOCALID_SLATEPORT_CAPT_STERN", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 28, "y": 13, @@ -252,6 +262,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 30, "y": 27, @@ -265,6 +276,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_3", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 29, "y": 27, @@ -343,6 +355,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN" }, { + "local_id": "LOCALID_SLATEPORT_ENERGY_GURU", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "x": 5, "y": 47, @@ -356,6 +369,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_4", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 22, "y": 27, @@ -369,6 +383,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_5", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 23, "y": 27, @@ -382,6 +397,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_6", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 24, "y": 27, @@ -395,6 +411,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_7", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 21, "y": 26, @@ -408,6 +425,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_8", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 20, "y": 26, @@ -421,6 +439,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_9", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 26, "y": 27, @@ -447,6 +466,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA" }, { + "local_id": "LOCALID_SLATEPORT_GRUNT_11", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 25, "y": 27, @@ -473,6 +493,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_SCOTT", "graphics_id": "OBJ_EVENT_GFX_SCOTT", "x": 10, "y": 12, diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index 334c0cecfa..b37fbdd2ad 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -1,26 +1,3 @@ -.set LOCALID_FAT_MAN, 1 -.set LOCALID_MAN_1, 2 -.set LOCALID_RICH_BOY, 3 -.set LOCALID_GRUNT_1, 5 -.set LOCALID_COOK, 6 -.set LOCALID_OLD_WOMAN, 7 -.set LOCALID_GIRL, 8 -.set LOCALID_TY, 9 -.set LOCALID_GABBY, 10 -.set LOCALID_CAPT_STERN, 11 -.set LOCALID_GRUNT_2, 18 -.set LOCALID_GRUNT_3, 19 -.set LOCALID_GRUNT_4, 26 -.set LOCALID_GRUNT_5, 27 -.set LOCALID_GRUNT_6, 28 -.set LOCALID_GRUNT_7, 29 -.set LOCALID_GRUNT_8, 30 -.set LOCALID_GRUNT_9, 31 -.set LOCALID_GRUNT_11, 33 -.set LOCALID_SCOTT, 35 - -@ Note: LOCALID_SLATEPORT_ENERGY_GURU is a local id for this map used elsewhere. It's defined in event_objects.h - SlateportCity_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_OnFrame @@ -40,33 +17,33 @@ SlateportCity_EventScript_EnterSlateport:: return SlateportCity_EventScript_MovePeopleForSternInterview:: - setobjectxyperm LOCALID_CAPT_STERN, 28, 13 - setobjectxyperm LOCALID_OLD_WOMAN, 25, 13 - setobjectxyperm LOCALID_RICH_BOY, 25, 14 - setobjectxyperm LOCALID_COOK, 27, 16 - setobjectxyperm LOCALID_GIRL, 28, 16 - setobjectxyperm LOCALID_FAT_MAN, 29, 16 - setobjectxyperm LOCALID_MAN_1, 31, 14 - setobjectmovementtype LOCALID_CAPT_STERN, MOVEMENT_TYPE_FACE_DOWN - setobjectmovementtype LOCALID_OLD_WOMAN, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT - setobjectmovementtype LOCALID_RICH_BOY, MOVEMENT_TYPE_FACE_UP_AND_RIGHT - setobjectmovementtype LOCALID_COOK, MOVEMENT_TYPE_FACE_UP - setobjectmovementtype LOCALID_GIRL, MOVEMENT_TYPE_FACE_UP - setobjectmovementtype LOCALID_FAT_MAN, MOVEMENT_TYPE_FACE_UP - setobjectmovementtype LOCALID_MAN_1, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_SLATEPORT_CAPT_STERN, 28, 13 + setobjectxyperm LOCALID_SLATEPORT_OLD_WOMAN, 25, 13 + setobjectxyperm LOCALID_SLATEPORT_RICH_BOY, 25, 14 + setobjectxyperm LOCALID_SLATEPORT_COOK, 27, 16 + setobjectxyperm LOCALID_SLATEPORT_GIRL, 28, 16 + setobjectxyperm LOCALID_SLATEPORT_FAT_MAN, 29, 16 + setobjectxyperm LOCALID_SLATEPORT_MAN_1, 31, 14 + setobjectmovementtype LOCALID_SLATEPORT_CAPT_STERN, MOVEMENT_TYPE_FACE_DOWN + setobjectmovementtype LOCALID_SLATEPORT_OLD_WOMAN, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + setobjectmovementtype LOCALID_SLATEPORT_RICH_BOY, MOVEMENT_TYPE_FACE_UP_AND_RIGHT + setobjectmovementtype LOCALID_SLATEPORT_COOK, MOVEMENT_TYPE_FACE_UP + setobjectmovementtype LOCALID_SLATEPORT_GIRL, MOVEMENT_TYPE_FACE_UP + setobjectmovementtype LOCALID_SLATEPORT_FAT_MAN, MOVEMENT_TYPE_FACE_UP + setobjectmovementtype LOCALID_SLATEPORT_MAN_1, MOVEMENT_TYPE_FACE_LEFT return SlateportCity_EventScript_SetReadyForScottScene:: setflag FLAG_HIDE_MAP_NAME_POPUP getplayerxy VAR_0x8004, VAR_0x8005 goto_if_eq VAR_0x8004, 30, SlateportCity_EventScript_MoveScottLeft - setobjectxyperm LOCALID_SCOTT, 23, 27 - setobjectmovementtype LOCALID_SCOTT, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SLATEPORT_SCOTT, 23, 27 + setobjectmovementtype LOCALID_SLATEPORT_SCOTT, MOVEMENT_TYPE_FACE_RIGHT return SlateportCity_EventScript_MoveScottLeft:: - setobjectxyperm LOCALID_SCOTT, 22, 27 - setobjectmovementtype LOCALID_SCOTT, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_SLATEPORT_SCOTT, 22, 27 + setobjectmovementtype LOCALID_SLATEPORT_SCOTT, MOVEMENT_TYPE_FACE_RIGHT return SlateportCity_OnFrame: @@ -75,17 +52,17 @@ SlateportCity_OnFrame: SlateportCity_EventScript_ScottScene:: lockall - addobject LOCALID_SCOTT - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Movement_PlayerFaceScott - applymovement LOCALID_SCOTT, SlateportCity_Movement_ScottApproachPlayer + addobject LOCALID_SLATEPORT_SCOTT + applymovement LOCALID_PLAYER, SlateportCity_Movement_PlayerFaceScott + applymovement LOCALID_SLATEPORT_SCOTT, SlateportCity_Movement_ScottApproachPlayer waitmovement 0 msgbox SlateportCity_Text_YouDroveTeamAquaAway, MSGBOX_DEFAULT closemessage - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SLATEPORT_SCOTT, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 delay 60 msgbox SlateportCity_Text_MaybeThisTrainer, MSGBOX_DEFAULT - applymovement LOCALID_SCOTT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SLATEPORT_SCOTT, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox SlateportCity_Text_LetsRegisterEachOther, MSGBOX_DEFAULT closemessage @@ -98,11 +75,11 @@ SlateportCity_EventScript_ScottScene:: setflag FLAG_ENABLE_SCOTT_MATCH_CALL msgbox SlateportCity_Text_KeepEyeOnTrainersBeSeeingYou, MSGBOX_DEFAULT closemessage - applymovement LOCALID_SCOTT, SlateportCity_Movement_ScottExit + applymovement LOCALID_SLATEPORT_SCOTT, SlateportCity_Movement_ScottExit waitmovement 0 - removeobject LOCALID_SCOTT - setobjectxyperm LOCALID_SCOTT, 10, 12 - setobjectmovementtype LOCALID_SCOTT, MOVEMENT_TYPE_FACE_DOWN + removeobject LOCALID_SLATEPORT_SCOTT + setobjectxyperm LOCALID_SLATEPORT_SCOTT, 10, 12 + setobjectmovementtype LOCALID_SLATEPORT_SCOTT, MOVEMENT_TYPE_FACE_DOWN clearflag FLAG_HIDE_MAP_NAME_POPUP setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 2 addvar VAR_SCOTT_STATE, 1 @@ -154,9 +131,7 @@ SlateportCity_Pokemart_EnergyGuru: .2byte ITEM_ZINC .2byte ITEM_CALCIUM .2byte ITEM_HP_UP - .2byte ITEM_NONE - release - end + pokemartlistend SlateportCity_EventScript_EffortRibbonWoman:: lock @@ -372,7 +347,7 @@ SlateportCity_EventScript_AquaGrunt1:: faceplayer msgbox SlateportCity_Text_QuitPushing, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_1, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -382,7 +357,7 @@ SlateportCity_EventScript_AquaGrunt2:: faceplayer msgbox SlateportCity_Text_AquaHasPolicy, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_2, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_2, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -392,7 +367,7 @@ SlateportCity_EventScript_AquaGrunt3:: faceplayer msgbox SlateportCity_Text_BossIsBrilliant, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_3, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_3, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -402,7 +377,7 @@ SlateportCity_EventScript_AquaGrunt4:: faceplayer msgbox SlateportCity_Text_WhatsNewSchemeIWonder, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_4, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_4, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -412,7 +387,7 @@ SlateportCity_EventScript_AquaGrunt5:: faceplayer msgbox SlateportCity_Text_ShouldTakeItAll, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_5, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_5, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -422,7 +397,7 @@ SlateportCity_EventScript_AquaGrunt6:: faceplayer msgbox SlateportCity_Text_DontButtIn, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_6, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_6, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -432,7 +407,7 @@ SlateportCity_EventScript_AquaGrunt7:: faceplayer msgbox SlateportCity_Text_RemindsMeOfLongLineForGames, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_7, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_7, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -442,7 +417,7 @@ SlateportCity_EventScript_AquaGrunt8:: faceplayer msgbox SlateportCity_Text_WhyAreWeLiningUp, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_8, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_8, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -451,31 +426,31 @@ SlateportCity_EventScript_AquaGrunt9:: lock faceplayer playse SE_PIN - applymovement LOCALID_GRUNT_9, Common_Movement_ExclamationMark + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_GRUNT_9, Common_Movement_Delay48 + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_Delay48 waitmovement 0 msgbox SlateportCity_Text_WhatDoYouWant, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_9, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_FaceOriginalDirection waitmovement 0 - applymovement LOCALID_GRUNT_9, SlateportCity_Movement_DelayAquaGrunt + applymovement LOCALID_SLATEPORT_GRUNT_9, SlateportCity_Movement_DelayAquaGrunt waitmovement 0 - applymovement LOCALID_GRUNT_9, Common_Movement_FacePlayer + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_FacePlayer waitmovement 0 msgbox SlateportCity_Text_IllReadSignForYou, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_9, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_FaceOriginalDirection waitmovement 0 - applymovement LOCALID_GRUNT_9, SlateportCity_Movement_DelayAquaGrunt + applymovement LOCALID_SLATEPORT_GRUNT_9, SlateportCity_Movement_DelayAquaGrunt waitmovement 0 msgbox SlateportCity_Text_SaysSomethingLikeSeaIsEndless, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_9, Common_Movement_FacePlayer + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_FacePlayer waitmovement 0 - applymovement LOCALID_GRUNT_9, SlateportCity_Movement_DelayAquaGrunt + applymovement LOCALID_SLATEPORT_GRUNT_9, SlateportCity_Movement_DelayAquaGrunt waitmovement 0 - applymovement LOCALID_GRUNT_9, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_9, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -494,7 +469,7 @@ SlateportCity_EventScript_AquaGrunt11:: faceplayer msgbox SlateportCity_Text_HotSpringsAfterOperation, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_11, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SLATEPORT_GRUNT_11, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -514,9 +489,7 @@ SlateportCity_PokemartDecor_Dolls: .2byte DECOR_AZURILL_DOLL .2byte DECOR_MARILL_DOLL .2byte DECOR_SKITTY_DOLL - .2byte DECOR_NONE - release - end + pokemartlistend SlateportCity_EventScript_ComeBackWithSecretPower:: msgbox gText_ComeBackWithSecretPower, MSGBOX_DEFAULT @@ -550,9 +523,7 @@ SlateportCity_PokemartDecor: .2byte DECOR_A_NOTE_MAT .2byte DECOR_B_NOTE_MAT .2byte DECOR_C_HIGH_NOTE_MAT - .2byte DECOR_NONE - release - end + pokemartlistend SlateportCity_EventScript_PowerTMClerk:: lock @@ -568,9 +539,7 @@ SlateportCity_EventScript_PowerTMClerk:: SlateportCity_Pokemart_PowerTMs: .2byte ITEM_TM_HIDDEN_POWER .2byte ITEM_TM_SECRET_POWER - .2byte ITEM_NONE - release - end + pokemartlistend @ Scene with Capt Sterns interview and Team Aqua announcing plans to steal Submarine SlateportCity_EventScript_CaptStern:: @@ -578,48 +547,48 @@ SlateportCity_EventScript_CaptStern:: msgbox SlateportCity_Text_SternMoveAheadWithExploration, MSGBOX_DEFAULT msgbox SlateportCity_Text_GabbyWonderfulThanksForInterview, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GABBY, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SLATEPORT_GABBY, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 10 - applymovement LOCALID_TY, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SLATEPORT_TY, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 25 - applymovement LOCALID_CAPT_STERN, SlateportCity_Movement_SternWatchGabbyAndTyExit - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Movement_PlayerFaceStern - applymovement LOCALID_GABBY, SlateportCity_Movement_GabbyExit - applymovement LOCALID_TY, SlateportCity_Movement_TyExit + applymovement LOCALID_SLATEPORT_CAPT_STERN, SlateportCity_Movement_SternWatchGabbyAndTyExit + applymovement LOCALID_PLAYER, SlateportCity_Movement_PlayerFaceStern + applymovement LOCALID_SLATEPORT_GABBY, SlateportCity_Movement_GabbyExit + applymovement LOCALID_SLATEPORT_TY, SlateportCity_Movement_TyExit waitmovement 0 - removeobject LOCALID_GABBY - removeobject LOCALID_TY + removeobject LOCALID_SLATEPORT_GABBY + removeobject LOCALID_SLATEPORT_TY msgbox SlateportCity_Text_SternWhewFirstInterview, MSGBOX_DEFAULT - applymovement LOCALID_CAPT_STERN, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SLATEPORT_CAPT_STERN, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox SlateportCity_Text_OhPlayerWeMadeDiscovery, MSGBOX_DEFAULT playbgm MUS_ENCOUNTER_AQUA, FALSE msgbox SlateportCity_Text_AquaWillAssumeControlOfSubmarine, MSGBOX_DEFAULT - applymovement LOCALID_COOK, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_FAT_MAN, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_OLD_WOMAN, SlateportCity_Movement_OldWomanConcern - applymovement LOCALID_RICH_BOY, Common_Movement_QuestionMark - applymovement LOCALID_MAN_1, SlateportCity_Movement_ManConcern + applymovement LOCALID_SLATEPORT_COOK, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SLATEPORT_FAT_MAN, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SLATEPORT_OLD_WOMAN, SlateportCity_Movement_OldWomanConcern + applymovement LOCALID_SLATEPORT_RICH_BOY, Common_Movement_QuestionMark + applymovement LOCALID_SLATEPORT_MAN_1, SlateportCity_Movement_ManConcern waitmovement 0 - applymovement LOCALID_CAPT_STERN, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SLATEPORT_CAPT_STERN, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox SlateportCity_Text_SternWhatWasAllThat, MSGBOX_DEFAULT playse SE_PIN - applymovement LOCALID_CAPT_STERN, Common_Movement_ExclamationMark + applymovement LOCALID_SLATEPORT_CAPT_STERN, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_CAPT_STERN, Common_Movement_Delay48 + applymovement LOCALID_SLATEPORT_CAPT_STERN, Common_Movement_Delay48 waitmovement 0 - applymovement LOCALID_CAPT_STERN, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SLATEPORT_CAPT_STERN, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox SlateportCity_Text_FromHarborTryingToTakeSub, MSGBOX_DEFAULT msgbox SlateportCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT closemessage - applymovement LOCALID_CAPT_STERN, SlateportCity_Movement_SternEnterHarbor - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Movement_PlayerEnterHarbor + applymovement LOCALID_SLATEPORT_CAPT_STERN, SlateportCity_Movement_SternEnterHarbor + applymovement LOCALID_PLAYER, SlateportCity_Movement_PlayerEnterHarbor waitmovement 0 - removeobject LOCALID_CAPT_STERN + removeobject LOCALID_SLATEPORT_CAPT_STERN clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT @@ -895,22 +864,22 @@ SlateportCity_EventScript_NotEnoughBerryPowder:: SlateportCity_EventScript_ScottBattleTentScene:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 opendoor 10, 12 waitdooranim - addobject LOCALID_SCOTT - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Movement_PushPlayerDown - applymovement LOCALID_SCOTT, SlateportCity_Movement_ScottExitBattleTent + addobject LOCALID_SLATEPORT_SCOTT + applymovement LOCALID_PLAYER, SlateportCity_Movement_PushPlayerDown + applymovement LOCALID_SLATEPORT_SCOTT, SlateportCity_Movement_ScottExitBattleTent waitmovement 0 closedoor 10, 12 waitdooranim msgbox SlateportCity_Text_TakingBattleTentChallenge, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Movement_PlayerWatchScottExit - applymovement LOCALID_SCOTT, SlateportCity_Movement_ScottExitAfterBattleTent + applymovement LOCALID_PLAYER, SlateportCity_Movement_PlayerWatchScottExit + applymovement LOCALID_SLATEPORT_SCOTT, SlateportCity_Movement_ScottExitAfterBattleTent waitmovement 0 - removeobject LOCALID_SCOTT + removeobject LOCALID_SLATEPORT_SCOTT addvar VAR_SCOTT_STATE, 1 setvar VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 3 releaseall diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/map.json b/data/maps/SlateportCity_BattleTentBattleRoom/map.json index 27cce84b49..13b8005364 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/map.json +++ b/data/maps/SlateportCity_BattleTentBattleRoom/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_TENT_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 5, "y": 1, @@ -41,6 +42,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SLATEPORT_TENT_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 4, "y": 8, diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc index 769f94899c..21c499c1a4 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc @@ -1,5 +1,7 @@ -.set LOCALID_OPPONENT, 2 -.set LOCALID_PLAYER, 3 +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_SLATEPORT_TENT_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_1. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by factory_setopponentgfx. SlateportCity_BattleTentBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_BattleTentBattleRoom_OnTransition @@ -7,9 +9,6 @@ SlateportCity_BattleTentBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentBattleRoom_OnFrame end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by LOCALID_PLAYER, which has the gfx id VAR_OBJ_GFX_ID_1 - SlateportCity_BattleTentBattleRoom_OnTransition: call SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfx end @@ -34,8 +33,8 @@ SlateportCity_BattleTentBattleRoom_OnWarp: SlateportCity_BattleTentBattleRoom_EventScript_SetUpObjects:: setvar VAR_TEMP_1, 1 - hideobjectat OBJ_EVENT_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM - hideobjectat LOCALID_OPPONENT, MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM + hideobjectat LOCALID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM + hideobjectat LOCALID_SLATEPORT_TENT_BATTLE_OPPONENT, MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM end SlateportCity_BattleTentBattleRoom_OnFrame: @@ -43,13 +42,13 @@ SlateportCity_BattleTentBattleRoom_OnFrame: end_map_script_table SlateportCity_BattleTentBattleRoom_EventScript_EnterRoom:: - applymovement LOCALID_PLAYER, SlateportCity_BattleTentBattleRoom_Movement_PlayerEnter + applymovement LOCALID_SLATEPORT_TENT_BATTLE_PLAYER, SlateportCity_BattleTentBattleRoom_Movement_PlayerEnter waitmovement 0 factory_setopponentgfx - setobjectxyperm LOCALID_OPPONENT, 5, 1 - removeobject LOCALID_OPPONENT - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, SlateportCity_BattleTentBattleRoom_Movement_OpponentEnter + setobjectxyperm LOCALID_SLATEPORT_TENT_BATTLE_OPPONENT, 5, 1 + removeobject LOCALID_SLATEPORT_TENT_BATTLE_OPPONENT + addobject LOCALID_SLATEPORT_TENT_BATTLE_OPPONENT + applymovement LOCALID_SLATEPORT_TENT_BATTLE_OPPONENT, SlateportCity_BattleTentBattleRoom_Movement_OpponentEnter waitmovement 0 battletent_getopponentintro lockall diff --git a/data/maps/SlateportCity_BattleTentCorridor/map.json b/data/maps/SlateportCity_BattleTentCorridor/map.json index c9cd4b1a71..a6f1e60de7 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/map.json +++ b/data/maps/SlateportCity_BattleTentCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SLATEPORT_TENT_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 2, "y": 6, diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc index d464495f4f..a54e27ab1b 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - SlateportCity_BattleTentCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentCorridor_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentCorridor_OnWarp @@ -14,10 +12,10 @@ SlateportCity_BattleTentCorridor_OnWarp: SlateportCity_BattleTentCorridor_EventScript_SetUpObjects:: setvar VAR_TEMP_1, 1 goto_if_ne VAR_0x8006, 1, SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth - setobjectxy LOCALID_ATTENDANT, 2, 2 - turnobject LOCALID_ATTENDANT, DIR_SOUTH + setobjectxy LOCALID_SLATEPORT_TENT_CORRIDOR_ATTENDANT, 2, 2 + turnobject LOCALID_SLATEPORT_TENT_CORRIDOR_ATTENDANT, DIR_SOUTH SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end SlateportCity_BattleTentCorridor_OnFrame: @@ -27,8 +25,8 @@ SlateportCity_BattleTentCorridor_OnFrame: SlateportCity_BattleTentCorridor_EventScript_EnterCorridor:: goto_if_eq VAR_0x8006, 1, SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle setvar VAR_TEMP_0, 1 - applymovement LOCALID_ATTENDANT, SlateportCity_BattleTentCorridor_Movement_AttendantEnter - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerEnter + applymovement LOCALID_SLATEPORT_TENT_CORRIDOR_ATTENDANT, SlateportCity_BattleTentCorridor_Movement_AttendantEnter + applymovement LOCALID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerEnter waitmovement 0 goto_if_eq VAR_0x8006, 2, SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge slateporttent_generaterentalmons @@ -40,12 +38,12 @@ SlateportCity_BattleTentCorridor_EventScript_EnterCorridor:: SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom:: msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SLATEPORT_TENT_CORRIDOR_ATTENDANT, Common_Movement_WalkInPlaceFasterUp waitmovement 0 opendoor 2, 1 waitdooranim - applymovement LOCALID_ATTENDANT, SlateportCity_BattleTentCorridor_Movement_AttendantExit - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerExit + applymovement LOCALID_SLATEPORT_TENT_CORRIDOR_ATTENDANT, SlateportCity_BattleTentCorridor_Movement_AttendantExit + applymovement LOCALID_PLAYER, SlateportCity_BattleTentCorridor_Movement_PlayerExit waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/SlateportCity_BattleTentLobby/map.json b/data/maps/SlateportCity_BattleTentLobby/map.json index 6a599df8f3..227c0bb414 100644 --- a/data/maps/SlateportCity_BattleTentLobby/map.json +++ b/data/maps/SlateportCity_BattleTentLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SLATEPORT_TENT_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 6, "y": 5, diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index c85fcd71cc..c74bb3cc45 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - SlateportCity_BattleTentLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, SlateportCity_BattleTentLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SlateportCity_BattleTentLobby_OnWarp @@ -11,7 +9,7 @@ SlateportCity_BattleTentLobby_OnWarp: SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end SlateportCity_BattleTentLobby_OnFrame: @@ -138,13 +136,13 @@ SlateportCity_BattleTentLobby_EventScript_EnterChallenge:: end SlateportCity_BattleTentLobby_EventScript_WalkToDoor:: - applymovement LOCALID_ATTENDANT, SlateportCity_BattleTentLobby_Movement_AttendantWalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerWalkToDoor + applymovement LOCALID_SLATEPORT_TENT_ATTENDANT, SlateportCity_BattleTentLobby_Movement_AttendantWalkToDoor + applymovement LOCALID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerWalkToDoor waitmovement 0 opendoor 6, 1 waitdooranim - applymovement LOCALID_ATTENDANT, SlateportCity_BattleTentLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerEnterDoor + applymovement LOCALID_SLATEPORT_TENT_ATTENDANT, SlateportCity_BattleTentLobby_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, SlateportCity_BattleTentLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 6, 1 waitdooranim diff --git a/data/maps/SlateportCity_Harbor/map.json b/data/maps/SlateportCity_Harbor/map.json index 05fe77c61c..11b530cd1e 100644 --- a/data/maps/SlateportCity_Harbor/map.json +++ b/data/maps/SlateportCity_Harbor/map.json @@ -54,6 +54,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS" }, { + "local_id": "LOCALID_SLATEPORT_HARBOR_CAPT_STERN", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 6, "y": 13, @@ -67,6 +68,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN" }, { + "local_id": "LOCALID_SLATEPORT_HARBOR_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 8, "y": 9, @@ -80,6 +82,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL" }, { + "local_id": "LOCALID_SLATEPORT_HARBOR_GRUNT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 7, "y": 10, @@ -93,6 +96,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT" }, { + "local_id": "LOCALID_SLATEPORT_HARBOR_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 8, "y": 10, @@ -106,6 +110,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE" }, { + "local_id": "LOCALID_SLATEPORT_HARBOR_SUBMARINE", "graphics_id": "OBJ_EVENT_GFX_SUBMARINE_SHADOW", "x": 7, "y": 9, diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index d05fd4e678..6901c2b3ff 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -1,9 +1,3 @@ -.set LOCALID_CAPT_STERN, 4 -.set LOCALID_SS_TIDAL, 5 -.set LOCALID_GRUNT, 6 -.set LOCALID_ARCHIE, 7 -.set LOCALID_SUBMARINE, 8 - SlateportCity_Harbor_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_Harbor_OnTransition end_map_scripts @@ -21,8 +15,8 @@ SlateportCity_Harbor_EventScript_ShowSSTidal:: SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene:: savebgm MUS_ENCOUNTER_AQUA - setobjectxyperm LOCALID_CAPT_STERN, 12, 13 - setobjectmovementtype LOCALID_CAPT_STERN, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_SLATEPORT_HARBOR_CAPT_STERN, 12, 13 + setobjectmovementtype LOCALID_SLATEPORT_HARBOR_CAPT_STERN, MOVEMENT_TYPE_FACE_LEFT setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS return @@ -47,26 +41,26 @@ SlateportCity_Harbor_EventScript_AquaEscapeTrigger2:: SlateportCity_Harbor_EventScript_AquaEscapeTrigger3:: lockall setvar VAR_0x8008, 3 - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Harbor_Movement_PlayerWalkUp + applymovement LOCALID_PLAYER, SlateportCity_Harbor_Movement_PlayerWalkUp waitmovement 0 goto SlateportCity_Harbor_EventScript_AquaEscapeScene end SlateportCity_Harbor_EventScript_AquaEscapeScene:: - applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_SLATEPORT_HARBOR_ARCHIE, Common_Movement_WalkInPlaceFasterDown waitmovement 0 - applymovement LOCALID_GRUNT, Common_Movement_WalkInPlaceFasterDown - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_SLATEPORT_HARBOR_GRUNT, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox SlateportCity_Harbor_Text_ArchieYouAgainHideoutInLilycove, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT, SlateportCity_Harbor_Movement_AquaBoardSub - applymovement LOCALID_ARCHIE, SlateportCity_Harbor_Movement_AquaBoardSub - applymovement LOCALID_SUBMARINE, SlateportCity_Harbor_Movement_SubmarineExit + applymovement LOCALID_SLATEPORT_HARBOR_GRUNT, SlateportCity_Harbor_Movement_AquaBoardSub + applymovement LOCALID_SLATEPORT_HARBOR_ARCHIE, SlateportCity_Harbor_Movement_AquaBoardSub + applymovement LOCALID_SLATEPORT_HARBOR_SUBMARINE, SlateportCity_Harbor_Movement_SubmarineExit waitmovement 0 - removeobject LOCALID_GRUNT - removeobject LOCALID_ARCHIE - removeobject LOCALID_SUBMARINE + removeobject LOCALID_SLATEPORT_HARBOR_GRUNT + removeobject LOCALID_SLATEPORT_HARBOR_ARCHIE + removeobject LOCALID_SLATEPORT_HARBOR_SUBMARINE setvar VAR_SLATEPORT_HARBOR_STATE, 2 setflag FLAG_MET_TEAM_AQUA_HARBOR setflag FLAG_HIDE_LILYCOVE_MOTEL_SCOTT @@ -78,29 +72,29 @@ SlateportCity_Harbor_EventScript_AquaEscapeScene:: closemessage setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE - copyobjectxytoperm LOCALID_CAPT_STERN - setobjectmovementtype LOCALID_CAPT_STERN, MOVEMENT_TYPE_FACE_RIGHT + copyobjectxytoperm LOCALID_SLATEPORT_HARBOR_CAPT_STERN + setobjectmovementtype LOCALID_SLATEPORT_HARBOR_CAPT_STERN, MOVEMENT_TYPE_FACE_RIGHT releaseall end SlateportCity_Harbor_EventScript_SternApproachPlayer0:: - applymovement LOCALID_CAPT_STERN, SlateportCity_Harbor_Movement_SternApproachPlayer0 + applymovement LOCALID_SLATEPORT_HARBOR_CAPT_STERN, SlateportCity_Harbor_Movement_SternApproachPlayer0 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 return SlateportCity_Harbor_EventScript_SternApproachPlayer1:: - applymovement LOCALID_CAPT_STERN, SlateportCity_Harbor_Movement_SternApproachPlayer1 + applymovement LOCALID_SLATEPORT_HARBOR_CAPT_STERN, SlateportCity_Harbor_Movement_SternApproachPlayer1 waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return SlateportCity_Harbor_EventScript_SternApproachPlayer:: - applymovement LOCALID_CAPT_STERN, SlateportCity_Harbor_Movement_SternApproachPlayer + applymovement LOCALID_SLATEPORT_HARBOR_CAPT_STERN, SlateportCity_Harbor_Movement_SternApproachPlayer waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return @@ -234,8 +228,8 @@ SlateportCity_Harbor_EventScript_BoardFerry:: call_if_eq VAR_FACING, DIR_NORTH, SlateportCity_Harbor_EventScript_BoardFerryNorth call_if_eq VAR_FACING, DIR_EAST, SlateportCity_Harbor_EventScript_BoardFerryEast delay 30 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_PLAYER, 0 + setvar VAR_0x8004, LOCALID_SLATEPORT_HARBOR_SS_TIDAL call Common_EventScript_FerryDepart return @@ -245,12 +239,12 @@ SlateportCity_Harbor_EventScript_CancelDestinationSelect:: end SlateportCity_Harbor_EventScript_BoardFerryEast:: - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryEast + applymovement LOCALID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryEast waitmovement 0 return SlateportCity_Harbor_EventScript_BoardFerryNorth:: - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryNorth + applymovement LOCALID_PLAYER, SlateportCity_Harbor_Movement_BoardFerryNorth waitmovement 0 return diff --git a/data/maps/SlateportCity_Mart/map.json b/data/maps/SlateportCity_Mart/map.json index a86614bd14..d0f698013e 100644 --- a/data/maps/SlateportCity_Mart/map.json +++ b/data/maps/SlateportCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SLATEPORT_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/SlateportCity_Mart/scripts.inc b/data/maps/SlateportCity_Mart/scripts.inc index fb43d23e92..224ed44cc0 100644 --- a/data/maps/SlateportCity_Mart/scripts.inc +++ b/data/maps/SlateportCity_Mart/scripts.inc @@ -22,9 +22,7 @@ SlateportCity_Mart_Pokemart: .2byte ITEM_ESCAPE_ROPE .2byte ITEM_REPEL .2byte ITEM_HARBOR_MAIL - .2byte ITEM_NONE - release - end + pokemartlistend SlateportCity_Mart_EventScript_BlackBelt:: msgbox SlateportCity_Mart_Text_SomeItemsOnlyAtMart, MSGBOX_NPC diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.json b/data/maps/SlateportCity_OceanicMuseum_1F/map.json index fd3468a52d..14d6b0583d 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.json @@ -171,6 +171,7 @@ "flag": "FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION" }, { + "local_id": "LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 9, "y": 4, diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 7b0b0866f8..9f250b90ad 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_FAMILIAR_GRUNT, 13 - SlateportCity_OceanicMuseum_1F_MapScripts:: end_map_scripts @@ -9,14 +7,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_EntranceAttendant:: SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeLeft:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee end SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeRight:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee end @@ -27,7 +25,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee:: goto_if_eq VAR_RESULT, YES, SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee closemessage hidemoneybox - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end @@ -49,7 +47,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney:: msgbox SlateportCity_OceanicMuseum_1F_Text_NotEnoughMoney, MSGBOX_DEFAULT closemessage hidemoneybox - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end @@ -146,9 +144,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt:: faceplayer delay 8 playse SE_PIN - applymovement LOCALID_FAMILIAR_GRUNT, Common_Movement_ExclamationMark + applymovement LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT, Common_Movement_ExclamationMark waitmovement 0 - applymovement LOCALID_FAMILIAR_GRUNT, Common_Movement_Delay48 + applymovement LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT, Common_Movement_Delay48 waitmovement 0 msgbox SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis, MSGBOX_DEFAULT giveitem ITEM_TM_THIEF @@ -163,21 +161,21 @@ SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt:: end SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth:: - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitNorth - applymovement LOCALID_FAMILIAR_GRUNT, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExitNorth + applymovement LOCALID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitNorth + applymovement LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExitNorth waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited end SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth:: - applymovement LOCALID_FAMILIAR_GRUNT, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit + applymovement LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited end SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast:: - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitWestEast - applymovement LOCALID_FAMILIAR_GRUNT, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit + applymovement LOCALID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PlayerWatchGruntExitWestEast + applymovement LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT, SlateportCity_OceanicMuseum_1F_Movement_FamiliarGruntExit waitmovement 0 goto SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited end @@ -185,7 +183,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast:: SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExited:: setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT playse SE_EXIT - removeobject LOCALID_FAMILIAR_GRUNT + removeobject LOCALID_OCEANIC_MUSEUM_FAMILIAR_GRUNT release end diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.json b/data/maps/SlateportCity_OceanicMuseum_2F/map.json index bab9c1ea58..7ada1f8ac1 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_OCEANIC_MUSEUM_2F_CAPT_STERN", "graphics_id": "OBJ_EVENT_GFX_SCIENTIST_1", "x": 13, "y": 6, @@ -28,6 +29,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN" }, { + "local_id": "LOCALID_OCEANIC_MUSEUM_2F_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 6, "y": 1, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE" }, { + "local_id": "LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 6, "y": 1, @@ -54,6 +57,7 @@ "flag": "FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1" }, { + "local_id": "LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2", "graphics_id": "OBJ_EVENT_GFX_AQUA_MEMBER_M", "x": 6, "y": 1, diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc index e57afd48ea..32df465afc 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_CAPT_STERN, 1 -.set LOCALID_ARCHIE, 2 -.set LOCALID_GRUNT_1, 3 -.set LOCALID_GRUNT_2, 4 - SlateportCity_OceanicMuseum_2F_MapScripts:: end_map_scripts @@ -12,14 +7,14 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern:: msgbox SlateportCity_OceanicMuseum_2F_Text_ThankYouForTheParts, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_AQUA, TRUE - addobject LOCALID_GRUNT_1 - applymovement LOCALID_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntEnter + addobject LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1 + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntEnter waitmovement 0 - addobject LOCALID_GRUNT_2 - applymovement LOCALID_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntEnter + addobject LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2 + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntEnter waitmovement 0 - applymovement LOCALID_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach - applymovement LOCALID_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach waitmovement 0 call_if_eq VAR_FACING, DIR_SOUTH, SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts call_if_eq VAR_FACING, DIR_EAST, SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts @@ -28,47 +23,47 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern:: msgbox SlateportCity_OceanicMuseum_2F_Text_SternWhoAreYou, MSGBOX_DEFAULT msgbox SlateportCity_OceanicMuseum_2F_Text_WereTeamAqua, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle waitmovement 0 call_if_eq VAR_FACING, DIR_SOUTH, SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth call_if_eq VAR_FACING, DIR_WEST, SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest trainerbattle_no_intro TRAINER_GRUNT_MUSEUM_1, SlateportCity_OceanicMuseum_2F_Text_Grunt1Defeat msgbox SlateportCity_OceanicMuseum_2F_Text_BossGoingToBeFurious, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated waitmovement 0 - applymovement LOCALID_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_GruntApproachToBattle waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_LetMeTakeCareOfThis, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_GRUNT_MUSEUM_2, SlateportCity_OceanicMuseum_2F_Text_Grunt2Defeat - applymovement LOCALID_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_GruntDefeated waitmovement 0 - applymovement LOCALID_GRUNT_1, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_GRUNT_2, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_MeddlingKid, MSGBOX_DEFAULT closemessage delay 35 - addobject LOCALID_ARCHIE - applymovement LOCALID_ARCHIE, SlateportCity_OceanicMuseum_2F_Movement_ArchieEnter - applymovement LOCALID_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_GruntMoveForArchie + addobject LOCALID_OCEANIC_MUSEUM_2F_ARCHIE + applymovement LOCALID_OCEANIC_MUSEUM_2F_ARCHIE, SlateportCity_OceanicMuseum_2F_Movement_ArchieEnter + applymovement LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_GruntMoveForArchie waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_CameToSeeWhatsTakingSoLong, MSGBOX_DEFAULT closemessage - applymovement LOCALID_ARCHIE, SlateportCity_OceanicMuseum_2F_Movement_ArchieApproachPlayer + applymovement LOCALID_OCEANIC_MUSEUM_2F_ARCHIE, SlateportCity_OceanicMuseum_2F_Movement_ArchieApproachPlayer waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_ArchieWarning, MSGBOX_DEFAULT closemessage savebgm MUS_DUMMY fadedefaultbgm fadescreen FADE_TO_BLACK - removeobject LOCALID_ARCHIE - removeobject LOCALID_GRUNT_1 - removeobject LOCALID_GRUNT_2 + removeobject LOCALID_OCEANIC_MUSEUM_2F_ARCHIE + removeobject LOCALID_OCEANIC_MUSEUM_2F_GRUNT_1 + removeobject LOCALID_OCEANIC_MUSEUM_2F_GRUNT_2 fadescreen FADE_FROM_BLACK delay 30 setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs, MSGBOX_DEFAULT setvar VAR_0x8004, ITEM_DEVON_GOODS @@ -79,7 +74,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern:: playfanfare MUS_HEAL waitfanfare special HealPlayerParty - removeobject LOCALID_CAPT_STERN + removeobject LOCALID_OCEANIC_MUSEUM_2F_CAPT_STERN setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA call_if_eq VAR_REGISTER_BIRCH_STATE, 0, SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch setflag FLAG_DELIVERED_DEVON_GOODS @@ -95,22 +90,22 @@ SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch:: return SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts:: - applymovement LOCALID_CAPT_STERN, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_OCEANIC_MUSEUM_2F_CAPT_STERN, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth:: - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntSouth + applymovement LOCALID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntSouth waitmovement 0 return SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest:: - applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest + applymovement LOCALID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_PlayerApproachGruntWest waitmovement 0 return diff --git a/data/maps/SlateportCity_PokemonCenter_1F/map.json b/data/maps/SlateportCity_PokemonCenter_1F/map.json index 418210f0bd..458ab934e0 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SLATEPORT_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index eac878e957..d7f6dd0a0c 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - SlateportCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SlateportCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ SlateportCity_PokemonCenter_1F_OnTransition: end SlateportCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_SLATEPORT_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.json b/data/maps/SlateportCity_SternsShipyard_1F/map.json index 4414fcfb12..cd5bd174aa 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_DOCK", "graphics_id": "OBJ_EVENT_GFX_MAN_1", "x": 5, "y": 5, diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc index 0b5f03bf8e..5037cb1898 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc +++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_DOCK, 1 - SlateportCity_SternsShipyard_1F_MapScripts:: end_map_scripts diff --git a/data/maps/SootopolisCity/map.json b/data/maps/SootopolisCity/map.json index c6a6757d23..35bd4d51eb 100644 --- a/data/maps/SootopolisCity/map.json +++ b/data/maps/SootopolisCity/map.json @@ -15,6 +15,7 @@ "connections": [], "object_events": [ { + "local_id": "LOCALID_SOOTOPOLIS_EXPERT", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 31, "y": 18, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SOOTOPOLIS_WOMAN_2", "graphics_id": "OBJ_EVENT_GFX_WOMAN_4", "x": 47, "y": 33, @@ -41,6 +43,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { + "local_id": "LOCALID_KIRI", "graphics_id": "OBJ_EVENT_GFX_GIRL_2", "x": 9, "y": 43, @@ -54,6 +57,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SOOTOPOLIS_NINJA_BOY", "graphics_id": "OBJ_EVENT_GFX_NINJA_BOY", "x": 51, "y": 14, @@ -67,6 +71,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SOOTOPOLIS_BOY_1", "graphics_id": "OBJ_EVENT_GFX_BOY_1", "x": 43, "y": 26, @@ -93,6 +98,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1" }, { + "local_id": "LOCALID_SOOTOPOLIS_STEVEN", "graphics_id": "OBJ_EVENT_GFX_STEVEN", "x": 20, "y": 36, @@ -106,6 +112,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN" }, { + "local_id": "LOCALID_SOOTOPOLIS_WOMAN_1", "graphics_id": "OBJ_EVENT_GFX_WOMAN_5", "x": 49, "y": 34, @@ -119,6 +126,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SOOTOPOLIS_GROUDON", "graphics_id": "OBJ_EVENT_GFX_GROUDON_SIDE", "x": 28, "y": 44, @@ -132,6 +140,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON" }, { + "local_id": "LOCALID_SOOTOPOLIS_KYOGRE", "graphics_id": "OBJ_EVENT_GFX_KYOGRE_SIDE", "x": 34, "y": 44, @@ -145,6 +154,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE" }, { + "local_id": "LOCALID_SOOTOPOLIS_RAYQUAZA", "graphics_id": "OBJ_EVENT_GFX_RAYQUAZA", "x": 31, "y": 41, @@ -158,6 +168,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA" }, { + "local_id": "LOCALID_SOOTOPOLIS_MANIAC", "graphics_id": "OBJ_EVENT_GFX_MANIAC", "x": 17, "y": 44, @@ -171,6 +182,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { + "local_id": "LOCALID_SOOTOPOLIS_GIRL", "graphics_id": "OBJ_EVENT_GFX_GIRL_3", "x": 14, "y": 42, @@ -184,6 +196,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { + "local_id": "LOCALID_SOOTOPOLIS_BLACK_BELT", "graphics_id": "OBJ_EVENT_GFX_BLACK_BELT", "x": 17, "y": 40, @@ -197,6 +210,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { + "local_id": "LOCALID_SOOTOPOLIS_BOY_2", "graphics_id": "OBJ_EVENT_GFX_BOY_2", "x": 19, "y": 37, @@ -210,6 +224,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS" }, { + "local_id": "LOCALID_SOOTOPOLIS_MAXIE", "graphics_id": "OBJ_EVENT_GFX_MAXIE", "x": 29, "y": 33, @@ -223,6 +238,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE" }, { + "local_id": "LOCALID_SOOTOPOLIS_ARCHIE", "graphics_id": "OBJ_EVENT_GFX_ARCHIE", "x": 31, "y": 33, @@ -236,6 +252,7 @@ "flag": "FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE" }, { + "local_id": "LOCALID_SOOTOPOLIS_WALLACE", "graphics_id": "OBJ_EVENT_GFX_WALLACE", "x": 31, "y": 18, diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index 702ff7c206..61dc41e092 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -1,21 +1,3 @@ -.set LOCALID_EXPERT, 1 -.set LOCALID_WOMAN_2, 2 -.set LOCALID_KIRI, 3 -.set LOCALID_NINJA_BOY, 4 -.set LOCALID_BOY_1, 5 -.set LOCALID_STEVEN, 7 -.set LOCALID_WOMAN_1, 8 -.set LOCALID_GROUDON, 9 -.set LOCALID_KYOGRE, 10 -.set LOCALID_RAYQUAZA, 11 -.set LOCALID_MANIAC, 12 -.set LOCALID_GIRL, 13 -.set LOCALID_BLACK_BELT, 14 -.set LOCALID_BOY_2, 15 -.set LOCALID_MAXIE, 16 -.set LOCALID_ARCHIE, 17 -.set LOCALID_WALLACE, 18 - SootopolisCity_MapScripts:: map_script MAP_SCRIPT_ON_LOAD, SootopolisCity_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_OnTransition @@ -73,13 +55,13 @@ SootopolisCity_EventScript_HideMapNamePopup:: SootopolisCity_EventScript_SetBattleSpectators:: setobjectxyperm LOCALID_KIRI, 13, 48 - setobjectxyperm LOCALID_BOY_1, 46, 32 - setobjectxyperm LOCALID_NINJA_BOY, 48, 41 - setobjectxyperm LOCALID_WOMAN_1, 45, 43 + setobjectxyperm LOCALID_SOOTOPOLIS_BOY_1, 46, 32 + setobjectxyperm LOCALID_SOOTOPOLIS_NINJA_BOY, 48, 41 + setobjectxyperm LOCALID_SOOTOPOLIS_WOMAN_1, 45, 43 setobjectmovementtype LOCALID_KIRI, MOVEMENT_TYPE_FACE_UP - setobjectmovementtype LOCALID_BOY_1, MOVEMENT_TYPE_FACE_LEFT - setobjectmovementtype LOCALID_NINJA_BOY, MOVEMENT_TYPE_FACE_LEFT - setobjectmovementtype LOCALID_WOMAN_1, MOVEMENT_TYPE_FACE_LEFT + setobjectmovementtype LOCALID_SOOTOPOLIS_BOY_1, MOVEMENT_TYPE_FACE_LEFT + setobjectmovementtype LOCALID_SOOTOPOLIS_NINJA_BOY, MOVEMENT_TYPE_FACE_LEFT + setobjectmovementtype LOCALID_SOOTOPOLIS_WOMAN_1, MOVEMENT_TYPE_FACE_LEFT return SootopolisCity_EventScript_SetLayout:: @@ -119,43 +101,43 @@ SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos:: return SootopolisCity_EventScript_SetEnterCaveOfOriginObjPos:: - setobjectxyperm LOCALID_EXPERT, 30, 18 - setobjectxyperm LOCALID_STEVEN, 32, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_EXPERT, 30, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_STEVEN, 32, 18 return SootopolisCity_EventScript_SetExitCaveOfOriginObjPos:: - setobjectxyperm LOCALID_EXPERT, 30, 18 - setobjectxyperm LOCALID_WALLACE, 31, 18 - setobjectxyperm LOCALID_STEVEN, 32, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_EXPERT, 30, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_WALLACE, 31, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_STEVEN, 32, 18 end SootopolisCity_EventScript_SetOutsideGymObjPos:: - setobjectxyperm LOCALID_EXPERT, 31, 18 - setobjectxyperm LOCALID_STEVEN, 29, 33 - setobjectxyperm LOCALID_MAXIE, 33, 35 - setobjectxyperm LOCALID_ARCHIE, 34, 35 + setobjectxyperm LOCALID_SOOTOPOLIS_EXPERT, 31, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_STEVEN, 29, 33 + setobjectxyperm LOCALID_SOOTOPOLIS_MAXIE, 33, 35 + setobjectxyperm LOCALID_SOOTOPOLIS_ARCHIE, 34, 35 call_if_eq VAR_SOOTOPOLIS_WALLACE_STATE, 0, SootopolisCity_EventScript_SetWallaceMiddle call_if_eq VAR_SOOTOPOLIS_WALLACE_STATE, 1, SootopolisCity_EventScript_SetWallaceRight call_if_eq VAR_SOOTOPOLIS_WALLACE_STATE, 2, SootopolisCity_EventScript_SetWallaceLeft return SootopolisCity_EventScript_SetWallaceMiddle:: - setobjectxyperm LOCALID_WALLACE, 31, 33 - setobjectmovementtype LOCALID_WALLACE, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_SOOTOPOLIS_WALLACE, 31, 33 + setobjectmovementtype LOCALID_SOOTOPOLIS_WALLACE, MOVEMENT_TYPE_FACE_DOWN return SootopolisCity_EventScript_SetWallaceRight:: - setobjectxyperm LOCALID_WALLACE, 32, 33 - setobjectmovementtype LOCALID_WALLACE, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_SOOTOPOLIS_WALLACE, 32, 33 + setobjectmovementtype LOCALID_SOOTOPOLIS_WALLACE, MOVEMENT_TYPE_FACE_DOWN return SootopolisCity_EventScript_SetWallaceLeft:: - setobjectxyperm LOCALID_WALLACE, 30, 33 - setobjectmovementtype LOCALID_WALLACE, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_SOOTOPOLIS_WALLACE, 30, 33 + setobjectmovementtype LOCALID_SOOTOPOLIS_WALLACE, MOVEMENT_TYPE_FACE_DOWN return SootopolisCity_EventScript_SetExpertBlockCaveEntrance:: - setobjectxyperm LOCALID_EXPERT, 31, 18 + setobjectxyperm LOCALID_SOOTOPOLIS_EXPERT, 31, 18 return SootopolisCity_OnWarp: @@ -168,11 +150,11 @@ SootopolisCity_EventScript_PlayerFaceLegendaries:: end SootopolisCity_EventScript_PlayerFaceLegendaries1:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH return SootopolisCity_EventScript_PlayerFaceLegendaries2:: - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH setvar VAR_SKY_PILLAR_STATE, 3 return @@ -197,7 +179,7 @@ SootopolisCity_EventScript_StartLegendariesScene:: SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: delay 60 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter waitmovement 0 special RemoveCameraObject delay 60 @@ -207,14 +189,14 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: setvar VAR_0x8004, FALSE @ Just do Groudon/Kyogre fight scene special Script_DoRayquazaScene waitstate - applymovement LOCALID_KYOGRE, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_GROUDON, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SOOTOPOLIS_KYOGRE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SOOTOPOLIS_GROUDON, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 60 waitse playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreAttack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonDefend waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 1 @ horizontal pan @@ -222,13 +204,13 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreMoveBack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreMoveBack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreDefend - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonAttack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreDefend + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonAttack waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 1 @ horizontal pan @@ -236,13 +218,13 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreMoveBack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreMoveBack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreAttack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonDefend waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 1 @ horizontal pan @@ -250,13 +232,13 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreMoveBack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreMoveBack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 special SpawnCameraObject - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreIdle - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonIdle - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanBackToPokeCenter + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreIdle + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonIdle + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanBackToPokeCenter waitmovement 0 special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 2 @@ -297,7 +279,7 @@ SootopolisCity_Movement_PanBackToPokeCenter: SootopolisCity_EventScript_LegendariesSceneFromDive:: delay 60 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanToActionFromDive + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanToActionFromDive waitmovement 0 special RemoveCameraObject delay 60 @@ -307,14 +289,14 @@ SootopolisCity_EventScript_LegendariesSceneFromDive:: setvar VAR_0x8004, FALSE @ Just do Groudon/Kyogre fight scene special Script_DoRayquazaScene waitstate - applymovement LOCALID_KYOGRE, Common_Movement_WalkInPlaceFasterLeft - applymovement LOCALID_GROUDON, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_SOOTOPOLIS_KYOGRE, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_SOOTOPOLIS_GROUDON, Common_Movement_WalkInPlaceFasterRight waitmovement 0 delay 60 waitse playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreAttack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonDefend waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 1 @ horizontal pan @@ -322,13 +304,13 @@ SootopolisCity_EventScript_LegendariesSceneFromDive:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreMoveBack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreMoveBack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreDefend - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonAttack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreDefend + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonAttack waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 1 @ horizontal pan @@ -336,13 +318,13 @@ SootopolisCity_EventScript_LegendariesSceneFromDive:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreMoveBack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreMoveBack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 waitse playmoncry SPECIES_KYOGRE, CRY_MODE_ENCOUNTER - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreAttack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonDefend + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreAttack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonDefend waitmovement 0 setvar VAR_0x8004, 1 @ vertical pan setvar VAR_0x8005, 1 @ horizontal pan @@ -350,13 +332,13 @@ SootopolisCity_EventScript_LegendariesSceneFromDive:: setvar VAR_0x8007, 5 @ shake delay special ShakeCamera waitstate - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreMoveBack - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonMoveBack + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreMoveBack + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonMoveBack waitmovement 0 special SpawnCameraObject - applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreIdle - applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonIdle - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanBackToDive + applymovement LOCALID_SOOTOPOLIS_KYOGRE, SootopolisCity_Movement_KyogreIdle + applymovement LOCALID_SOOTOPOLIS_GROUDON, SootopolisCity_Movement_GroudonIdle + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanBackToDive waitmovement 0 special RemoveCameraObject setvar VAR_SOOTOPOLIS_CITY_STATE, 2 @@ -486,21 +468,21 @@ SootopolisCity_EventScript_StartRayquazaScene:: SootopolisCity_EventScript_RayquazaSceneFromPokeCenter:: delay 60 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanToActionFromPokeCenter waitmovement 0 special RemoveCameraObject delay 60 fadescreenspeed FADE_TO_BLACK, 8 call SootopolisCity_EventScript_SetRoughWater - removeobject LOCALID_GROUDON - removeobject LOCALID_KYOGRE - addobject LOCALID_RAYQUAZA + removeobject LOCALID_SOOTOPOLIS_GROUDON + removeobject LOCALID_SOOTOPOLIS_KYOGRE + addobject LOCALID_SOOTOPOLIS_RAYQUAZA setvar VAR_0x8004, TRUE special Script_DoRayquazaScene waitstate playse SE_THUNDER special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanUp + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanUp waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER @@ -521,9 +503,9 @@ SootopolisCity_EventScript_RayquazaSceneFromPokeCenter:: waitmoncry setweather WEATHER_NONE doweather - applymovement LOCALID_RAYQUAZA, SootopolisCity_Movement_RayquazaFlyOff + applymovement LOCALID_SOOTOPOLIS_RAYQUAZA, SootopolisCity_Movement_RayquazaFlyOff waitmovement 0 - removeobject LOCALID_RAYQUAZA + removeobject LOCALID_SOOTOPOLIS_RAYQUAZA special WaitWeather waitstate clearflag FLAG_SYS_WEATHER_CTRL @@ -539,21 +521,21 @@ SootopolisCity_EventScript_RayquazaSceneFromPokeCenter:: SootopolisCity_EventScript_RayquazaSceneFromDive:: delay 60 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanToActionFromDive + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanToActionFromDive waitmovement 0 special RemoveCameraObject delay 60 fadescreenspeed FADE_TO_BLACK, 8 call SootopolisCity_EventScript_SetRoughWater - removeobject LOCALID_GROUDON - removeobject LOCALID_KYOGRE - addobject LOCALID_RAYQUAZA + removeobject LOCALID_SOOTOPOLIS_GROUDON + removeobject LOCALID_SOOTOPOLIS_KYOGRE + addobject LOCALID_SOOTOPOLIS_RAYQUAZA setvar VAR_0x8004, TRUE special Script_DoRayquazaScene waitstate special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SootopolisCity_Movement_PanUp - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerApproachLegendaries + applymovement LOCALID_CAMERA, SootopolisCity_Movement_PanUp + applymovement LOCALID_PLAYER, SootopolisCity_Movement_PlayerApproachLegendaries waitmovement 0 waitse playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER @@ -574,9 +556,9 @@ SootopolisCity_EventScript_RayquazaSceneFromDive:: waitmoncry setweather WEATHER_NONE doweather - applymovement LOCALID_RAYQUAZA, SootopolisCity_Movement_RayquazaFlyOff + applymovement LOCALID_SOOTOPOLIS_RAYQUAZA, SootopolisCity_Movement_RayquazaFlyOff waitmovement 0 - removeobject LOCALID_RAYQUAZA + removeobject LOCALID_SOOTOPOLIS_RAYQUAZA special WaitWeather waitstate clearflag FLAG_SYS_WEATHER_CTRL @@ -771,12 +753,12 @@ SootopolisCity_EventScript_KiriLikeSeasonBornIn:: SootopolisCity_EventScript_Woman2:: lockall - applymovement LOCALID_WOMAN_2, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_WOMAN_2, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_Woman2Rayquaza msgbox SootopolisCity_Text_WeatherWentWild, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WOMAN_2, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_WOMAN_2, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end @@ -812,7 +794,7 @@ SootopolisCity_EventScript_Woman1:: SootopolisCity_EventScript_Woman1Legendaries:: msgbox SootopolisCity_Text_GiganticPokemonFight, MSGBOX_DEFAULT closemessage - applymovement LOCALID_WOMAN_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_WOMAN_1, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -829,14 +811,14 @@ SootopolisCity_EventScript_Woman1Rayquaza:: SootopolisCity_EventScript_NinjaBoy:: lockall - applymovement LOCALID_NINJA_BOY, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_NINJA_BOY, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_NinjaBoyRayquaza goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_NinjaBoyNormal goto_if_le VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_NinjaBoyNormal msgbox SootopolisCity_Text_ThisIsWicked, MSGBOX_DEFAULT closemessage - applymovement LOCALID_NINJA_BOY, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_NINJA_BOY, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -853,7 +835,7 @@ SootopolisCity_EventScript_NinjaBoyRayquaza:: SootopolisCity_EventScript_Boy1:: lockall - applymovement LOCALID_BOY_1, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_BOY_1, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_Boy1Rayquaza goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_Boy1GameClear @@ -861,7 +843,7 @@ SootopolisCity_EventScript_Boy1:: goto_if_le VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_Boy1Normal msgbox SootopolisCity_Text_GiantPokemonSuddenlyAppeared, MSGBOX_DEFAULT closemessage - applymovement LOCALID_BOY_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_BOY_1, Common_Movement_FaceOriginalDirection waitmovement 0 release end @@ -895,7 +877,7 @@ EventScript_ClosedSootopolisDoor:: SootopolisCity_EventScript_Steven:: lockall - applymovement LOCALID_STEVEN, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_STEVEN, Common_Movement_FacePlayer waitmovement 0 call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_StevenHelpWallace @@ -928,33 +910,33 @@ SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin:: call_if_eq VAR_FACING, DIR_NORTH, SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth msgbox SootopolisCity_Text_DoesThisMakeYourFearPokemon, MSGBOX_DEFAULT closemessage - applymovement LOCALID_STEVEN, SootopolisCity_Movement_StevenWalkToCaveOfOrigin - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerWalkToCaveOfOrigin + applymovement LOCALID_SOOTOPOLIS_STEVEN, SootopolisCity_Movement_StevenWalkToCaveOfOrigin + applymovement LOCALID_PLAYER, SootopolisCity_Movement_PlayerWalkToCaveOfOrigin waitmovement 0 delay 120 - applymovement LOCALID_EXPERT, SootopolisCity_Movement_ExpertMoveAside + applymovement LOCALID_SOOTOPOLIS_EXPERT, SootopolisCity_Movement_ExpertMoveAside waitmovement 0 - applymovement LOCALID_STEVEN, SootopolisCity_Movement_StevenArriveCaveEntrance - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerArriveCaveEntrance + applymovement LOCALID_SOOTOPOLIS_STEVEN, SootopolisCity_Movement_StevenArriveCaveEntrance + applymovement LOCALID_PLAYER, SootopolisCity_Movement_PlayerArriveCaveEntrance waitmovement 0 msgbox SootopolisCity_Text_HereWereAreHelpWallace, MSGBOX_DEFAULT closemessage setflag FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerEnterCaveOfOrigin + applymovement LOCALID_PLAYER, SootopolisCity_Movement_PlayerEnterCaveOfOrigin waitmovement 0 warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 9, 20 waitstate end SootopolisCity_EventScript_StartWalkToCaveOfOriginWest:: - applymovement LOCALID_STEVEN, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginWest + applymovement LOCALID_SOOTOPOLIS_STEVEN, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin + applymovement LOCALID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginWest waitmovement 0 return SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth:: - applymovement LOCALID_STEVEN, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginNorth + applymovement LOCALID_SOOTOPOLIS_STEVEN, SootopolisCity_Movement_StevenStartWalkToCaveOfOrigin + applymovement LOCALID_PLAYER, SootopolisCity_Movement_PlayerStartWalkToCaveOfOriginNorth waitmovement 0 return @@ -1224,12 +1206,12 @@ SootopolisCity_Movement_PlayerEnterCaveOfOrigin: SootopolisCity_EventScript_Boy2:: lockall - applymovement LOCALID_BOY_2, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_BOY_2, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_Boy2Rayquaza msgbox SootopolisCity_Text_TwoPokemonArentAngry, MSGBOX_DEFAULT closemessage - applymovement LOCALID_BOY_2, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_BOY_2, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end @@ -1245,17 +1227,17 @@ SootopolisCity_EventScript_BlackBelt:: goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_BlackBeltRayquaza msgbox SootopolisCity_Text_GoRedAndBlueMon, MSGBOX_DEFAULT closemessage - applymovement LOCALID_BLACK_BELT, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_BLACK_BELT, Common_Movement_FacePlayer waitmovement 0 msgbox SootopolisCity_Text_DoYouKnowMonNames, MSGBOX_DEFAULT closemessage - applymovement LOCALID_BLACK_BELT, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_BLACK_BELT, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end SootopolisCity_EventScript_BlackBeltRayquaza:: - applymovement LOCALID_BLACK_BELT, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_BLACK_BELT, Common_Movement_FacePlayer waitmovement 0 msgbox SootopolisCity_Text_GreenOneSettlesThings, MSGBOX_DEFAULT releaseall @@ -1263,12 +1245,12 @@ SootopolisCity_EventScript_BlackBeltRayquaza:: SootopolisCity_EventScript_Girl:: lockall - applymovement LOCALID_GIRL, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_GIRL, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_GirlRayquaza msgbox SootopolisCity_Text_SootopolisWillBeWrecked, MSGBOX_DEFAULT closemessage - applymovement LOCALID_GIRL, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_GIRL, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end @@ -1281,12 +1263,12 @@ SootopolisCity_EventScript_GirlRayquaza:: SootopolisCity_EventScript_Maniac:: lockall - applymovement LOCALID_MANIAC, Common_Movement_FacePlayer + applymovement LOCALID_SOOTOPOLIS_MANIAC, Common_Movement_FacePlayer waitmovement 0 goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_ManiacRayquaza msgbox SootopolisCity_Text_SeeingLegendWithOwnEyes, MSGBOX_DEFAULT closemessage - applymovement LOCALID_MANIAC, Common_Movement_FaceOriginalDirection + applymovement LOCALID_SOOTOPOLIS_MANIAC, Common_Movement_FaceOriginalDirection waitmovement 0 releaseall end @@ -1319,16 +1301,16 @@ SootopolisCity_EventScript_GiveWaterfall:: end SootopolisCity_EventScript_WallaceMoveFromGym:: - applymovement LOCALID_WALLACE, SootopolisCity_Movement_WallaceMoveFromGym + applymovement LOCALID_SOOTOPOLIS_WALLACE, SootopolisCity_Movement_WallaceMoveFromGym waitmovement 0 - copyobjectxytoperm LOCALID_WALLACE + copyobjectxytoperm LOCALID_SOOTOPOLIS_WALLACE setvar VAR_SOOTOPOLIS_WALLACE_STATE, 1 return SootopolisCity_EventScript_WallaceMoveFromGymWest:: - applymovement LOCALID_WALLACE, SootopolisCity_Movement_WallaceMoveFromGymWest + applymovement LOCALID_SOOTOPOLIS_WALLACE, SootopolisCity_Movement_WallaceMoveFromGymWest waitmovement 0 - copyobjectxytoperm LOCALID_WALLACE + copyobjectxytoperm LOCALID_SOOTOPOLIS_WALLACE setvar VAR_SOOTOPOLIS_WALLACE_STATE, 2 return diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index 62ed607fca..9fe922ccc9 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -67,7 +67,7 @@ SootopolisCity_Gym_1F_EventScript_UnlockThirdStairs:: SootopolisCity_Gym_1F_EventScript_FallThroughIce:: lockall delay 20 - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Gym_1F_Movement_FallThroughIce + applymovement LOCALID_PLAYER, SootopolisCity_Gym_1F_Movement_FallThroughIce waitmovement 0 playse SE_FALL delay 60 diff --git a/data/maps/SootopolisCity_Mart/map.json b/data/maps/SootopolisCity_Mart/map.json index 1f75af5de4..cf8dbae571 100644 --- a/data/maps/SootopolisCity_Mart/map.json +++ b/data/maps/SootopolisCity_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SOOTOPOLIS_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc index 02b05602a0..140f6fdaea 100644 --- a/data/maps/SootopolisCity_Mart/scripts.inc +++ b/data/maps/SootopolisCity_Mart/scripts.inc @@ -22,9 +22,7 @@ SootopolisCity_Mart_Pokemart: .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND .2byte ITEM_SHADOW_MAIL - .2byte ITEM_NONE - release - end + pokemartlistend SootopolisCity_Mart_EventScript_FatMan:: lock diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json index 0b2ad974c0..f9307a231b 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_MYSTERY_EVENTS_OLD_MAN", "graphics_id": "OBJ_EVENT_GFX_OLD_MAN", "x": 6, "y": 4, diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index c33f51dab2..08ceb4189e 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_OLD_MAN, 1 - SootopolisCity_MysteryEventsHouse_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_MysteryEventsHouse_1F_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SootopolisCity_MysteryEventsHouse_1F_OnFrame @@ -13,14 +11,14 @@ SootopolisCity_MysteryEventsHouse_1F_OnTransition: SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout:: setvar VAR_TEMP_1, 1 - setobjectxyperm LOCALID_OLD_MAN, 3, 2 - setobjectmovementtype LOCALID_OLD_MAN, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_MYSTERY_EVENTS_OLD_MAN, 3, 2 + setobjectmovementtype LOCALID_MYSTERY_EVENTS_OLD_MAN, MOVEMENT_TYPE_FACE_DOWN setmaplayoutindex LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F_STAIRS_UNBLOCKED return SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor:: - setobjectxyperm LOCALID_OLD_MAN, 2, 2 - setobjectmovementtype LOCALID_OLD_MAN, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_MYSTERY_EVENTS_OLD_MAN, 2, 2 + setobjectmovementtype LOCALID_MYSTERY_EVENTS_OLD_MAN, MOVEMENT_TYPE_FACE_RIGHT return SootopolisCity_MysteryEventsHouse_1F_OnFrame: @@ -31,12 +29,12 @@ SootopolisCity_MysteryEventsHouse_1F_OnFrame: SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle:: lockall - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerExitStairs + applymovement LOCALID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerExitStairs waitmovement 0 - applymovement LOCALID_OLD_MAN, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer + applymovement LOCALID_MYSTERY_EVENTS_OLD_MAN, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManWalkBehindPlayer waitmovement 0 - copyobjectxytoperm LOCALID_OLD_MAN - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + copyobjectxytoperm LOCALID_MYSTERY_EVENTS_OLD_MAN + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 call_if_eq VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleWonComment call_if_eq VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleLostComment @@ -121,19 +119,19 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_ChooseParty:: SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth:: applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementNorth + applymovement LOCALID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementNorth waitmovement 0 return SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast:: applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideRight - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementEast + applymovement LOCALID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementEast waitmovement 0 return SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest:: applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_OldManMoveAsideLeft - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementWest + applymovement LOCALID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_PlayerEnterBasementWest waitmovement 0 return diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc index deca7a574c..6b68e6667e 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc @@ -13,7 +13,7 @@ SootopolisCity_MysteryEventsHouse_B1F_OnFrame: SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer:: lockall - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerEnterBasement + applymovement LOCALID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerEnterBasement waitmovement 0 special CopyEReaderTrainerGreeting msgbox gStringVar4, MSGBOX_DEFAULT @@ -27,7 +27,7 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer:: call_if_eq VAR_RESULT, B_OUTCOME_LOST, SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleLost closemessage special HealPlayerParty - applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerExitBasement + applymovement LOCALID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_PlayerExitBasement waitmovement 0 special LoadPlayerParty setvar VAR_TEMP_1, 1 diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json index 0fa27599da..8db695278d 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SOOTOPOLIS_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index e29a5132c4..79d7972f56 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - SootopolisCity_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SootopolisCity_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -10,7 +8,7 @@ SootopolisCity_PokemonCenter_1F_OnTransition: end SootopolisCity_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_SOOTOPOLIS_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/SouthernIsland_Exterior/map.json b/data/maps/SouthernIsland_Exterior/map.json index 53a988398c..f6775f2483 100644 --- a/data/maps/SouthernIsland_Exterior/map.json +++ b/data/maps/SouthernIsland_Exterior/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_SOUTHERN_ISLAND_SAILOR", "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 13, "y": 23, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_SOUTHERN_ISLAND_SS_TIDAL", "graphics_id": "OBJ_EVENT_GFX_SS_TIDAL", "x": 13, "y": 25, diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index e004afb29a..352a19a2a5 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -1,6 +1,3 @@ -.set LOCALID_SAILOR, 1 -.set LOCALID_SS_TIDAL, 2 - SouthernIsland_Exterior_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Exterior_OnTransition end_map_scripts @@ -19,8 +16,8 @@ SouthernIsland_Exterior_EventScript_Sailor:: applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown waitmovement 0 delay 30 - hideobjectat LOCALID_SAILOR, MAP_SOUTHERN_ISLAND_EXTERIOR - setvar VAR_0x8004, LOCALID_SS_TIDAL + hideobjectat LOCALID_SOUTHERN_ISLAND_SAILOR, MAP_SOUTHERN_ISLAND_EXTERIOR + setvar VAR_0x8004, LOCALID_SOUTHERN_ISLAND_SS_TIDAL call Common_EventScript_FerryDepartIsland warp MAP_LILYCOVE_CITY_HARBOR, 8, 11 waitstate @@ -33,12 +30,12 @@ SouthernIsland_Exterior_EventScript_AsYouLike:: end Ferry_EventScript_DepartIslandSouth:: - applymovement OBJ_EVENT_ID_PLAYER, Ferry_Movement_DepartIslandBoardSouth + applymovement LOCALID_PLAYER, Ferry_Movement_DepartIslandBoardSouth waitmovement 0 return Ferry_EventScript_DepartIslandWest:: - applymovement OBJ_EVENT_ID_PLAYER, Ferry_Movement_DepartIslandBoardWest + applymovement LOCALID_PLAYER, Ferry_Movement_DepartIslandBoardWest waitmovement 0 return diff --git a/data/maps/SouthernIsland_Interior/map.json b/data/maps/SouthernIsland_Interior/map.json index 76212cbbd1..6871b7704f 100644 --- a/data/maps/SouthernIsland_Interior/map.json +++ b/data/maps/SouthernIsland_Interior/map.json @@ -28,6 +28,7 @@ "flag": "FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE" }, { + "local_id": "LOCALID_SOUTHERN_ISLAND_LATI", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 13, "y": 2, diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 6dadddf3fb..cb2f2e53ad 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_LATI, 2 - SouthernIsland_Interior_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, SouthernIsland_Interior_OnResume map_script MAP_SCRIPT_ON_TRANSITION, SouthernIsland_Interior_OnTransition @@ -12,7 +10,7 @@ SouthernIsland_Interior_OnResume: SouthernIsland_Interior_EventScript_TryRemoveLati:: specialvar VAR_RESULT, GetBattleOutcome goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn - removeobject LOCALID_LATI + removeobject LOCALID_SOUTHERN_ISLAND_LATI return SouthernIsland_Interior_OnTransition: @@ -59,21 +57,21 @@ SouthernIsland_Interior_EventScript_Lati:: setflag FLAG_ENCOUNTERED_LATIAS_OR_LATIOS setflag FLAG_TEMP_2 special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, SouthernIsland_Interior_Movement_CameraPanUp + applymovement LOCALID_CAMERA, SouthernIsland_Interior_Movement_CameraPanUp waitmovement 0 delay 50 waitse playmoncry VAR_TEMP_4, CRY_MODE_NORMAL delay 30 waitmoncry - addobject LOCALID_LATI + addobject LOCALID_SOUTHERN_ISLAND_LATI delay 30 - applymovement OBJ_EVENT_ID_CAMERA, SouthernIsland_Interior_Movement_CameraPanDown - applymovement LOCALID_LATI, SouthernIsland_Interior_Movement_LatiApproach + applymovement LOCALID_CAMERA, SouthernIsland_Interior_Movement_CameraPanDown + applymovement LOCALID_SOUTHERN_ISLAND_LATI, SouthernIsland_Interior_Movement_LatiApproach waitmovement 0 delay 50 special RemoveCameraObject - setvar VAR_LAST_TALKED, LOCALID_LATI + setvar VAR_LAST_TALKED, LOCALID_SOUTHERN_ISLAND_LATI call_if_eq VAR_ROAMER_POKEMON, 0, SouthernIsland_Interior_EventScript_SetLatiosBattleVars call_if_ne VAR_ROAMER_POKEMON, 0, SouthernIsland_Interior_EventScript_SetLatiasBattleVars setflag FLAG_SYS_CTRL_OBJ_DELETE diff --git a/data/maps/TerraCave_End/map.json b/data/maps/TerraCave_End/map.json index 264b35af23..78cf26b168 100644 --- a/data/maps/TerraCave_End/map.json +++ b/data/maps/TerraCave_End/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TERRA_CAVE_GROUDON", "graphics_id": "OBJ_EVENT_GFX_GROUDON_FRONT", "x": 17, "y": 22, diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index b93068bbbf..4decc443df 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_GROUDON, 1 - TerraCave_End_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, TerraCave_End_OnResume map_script MAP_SCRIPT_ON_TRANSITION, TerraCave_End_OnTransition @@ -12,7 +10,7 @@ TerraCave_End_OnResume: TerraCave_End_EventScript_TryRemoveGroudon:: specialvar VAR_RESULT, GetBattleOutcome goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn - removeobject LOCALID_GROUDON + removeobject LOCALID_TERRA_CAVE_GROUDON return TerraCave_End_OnTransition: @@ -26,15 +24,15 @@ TerraCave_End_EventScript_ShowGroudon:: TerraCave_End_EventScript_Groudon:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp + applymovement LOCALID_PLAYER, Common_Movement_FaceUp waitmovement 0 - applymovement LOCALID_GROUDON, TerraCave_End_Movement_GroudonApproach + applymovement LOCALID_TERRA_CAVE_GROUDON, TerraCave_End_Movement_GroudonApproach waitmovement 0 waitse playmoncry SPECIES_GROUDON, CRY_MODE_ENCOUNTER delay 40 waitmoncry - setvar VAR_LAST_TALKED, LOCALID_GROUDON + setvar VAR_LAST_TALKED, LOCALID_TERRA_CAVE_GROUDON setwildbattle SPECIES_GROUDON, 70 setflag FLAG_SYS_CTRL_OBJ_DELETE special BattleSetup_StartLegendaryBattle diff --git a/data/maps/TrainerHill_Elevator/map.json b/data/maps/TrainerHill_Elevator/map.json index a611cbf641..c24a063633 100644 --- a/data/maps/TrainerHill_Elevator/map.json +++ b/data/maps/TrainerHill_Elevator/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TRAINER_HILL_ELEVATOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 0, "y": 6, diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index eb3907755e..a701bb9db3 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - TrainerHill_Elevator_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerHill_Elevator_OnFrame end_map_scripts @@ -12,7 +10,7 @@ TrainerHill_Elevator_EventScript_Attendant:: end TrainerHill_Elevator_EventScript_ExitToRoof:: - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof + applymovement LOCALID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof waitmovement 0 releaseall warp MAP_TRAINER_HILL_ROOF, 15, 5 @@ -20,21 +18,21 @@ TrainerHill_Elevator_EventScript_ExitToRoof:: end TrainerHill_Elevator_EventScript_EnterElevator:: - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerApproachAttendant + applymovement LOCALID_PLAYER, TrainerHill_Elevator_Movement_PlayerApproachAttendant waitmovement 0 - applymovement LOCALID_ATTENDANT, TrainerHill_Elevator_Movement_AttendantFacePlayer + applymovement LOCALID_TRAINER_HILL_ELEVATOR_ATTENDANT, TrainerHill_Elevator_Movement_AttendantFacePlayer waitmovement 0 lockall msgbox TrainerHill_Elevator_Text_ReturnToReception, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, TrainerHill_Elevator_EventScript_ExitToRoof releaseall - applymovement LOCALID_ATTENDANT, TrainerHill_Elevator_Movement_AttendantFaceDown + applymovement LOCALID_TRAINER_HILL_ELEVATOR_ATTENDANT, TrainerHill_Elevator_Movement_AttendantFaceDown waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerMoveToCenterOfElevator + applymovement LOCALID_PLAYER, TrainerHill_Elevator_Movement_PlayerMoveToCenterOfElevator waitmovement 0 call TrainerHill_Elevator_EventScript_MoveElevator delay 25 - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevator + applymovement LOCALID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevator waitmovement 0 warp MAP_TRAINER_HILL_ENTRANCE, 17, 8 waitstate diff --git a/data/maps/TrainerHill_Entrance/map.json b/data/maps/TrainerHill_Entrance/map.json index 0f2b4ec558..5c931215c4 100644 --- a/data/maps/TrainerHill_Entrance/map.json +++ b/data/maps/TrainerHill_Entrance/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_TRAINER_HILL_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "x": 11, "y": 6, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_HILL_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 4, "y": 9, @@ -54,6 +56,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_HILL_GIRL", "graphics_id": "OBJ_EVENT_GFX_GIRL_3", "x": 5, "y": 14, @@ -67,6 +70,7 @@ "flag": "0" }, { + "local_id": "LOCALID_TRAINER_HILL_MAN", "graphics_id": "OBJ_EVENT_GFX_MAN_3", "x": 14, "y": 15, diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc index 2f0ec3e028..ebb353cdbb 100644 --- a/data/maps/TrainerHill_Entrance/scripts.inc +++ b/data/maps/TrainerHill_Entrance/scripts.inc @@ -1,8 +1,3 @@ -.set LOCALID_ATTENDANT, 1 -.set LOCALID_NURSE, 2 -.set LOCALID_GIRL, 4 -.set LOCALID_MAN, 5 - TrainerHill_Entrance_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, TrainerHill_Entrance_OnResume map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerHill_Entrance_OnReturn @@ -25,24 +20,24 @@ TrainerHill_Entrance_OnResume: setvar VAR_TEMP_0, 0 trainerhill_getusingereader goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_TryFaceAttendant @ VAR_RESULT always FALSE here - setobjectxy OBJ_EVENT_ID_PLAYER, 9, 6 - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + setobjectxy LOCALID_PLAYER, 9, 6 + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant end TrainerHill_Entrance_EventScript_TryFaceAttendant:: trainerhill_getwon goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant end TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant:: end TrainerHill_Entrance_OnReturn: - addobject LOCALID_NURSE - addobject LOCALID_ATTENDANT - addobject LOCALID_MAN - addobject LOCALID_GIRL + addobject LOCALID_TRAINER_HILL_NURSE + addobject LOCALID_TRAINER_HILL_ATTENDANT + addobject LOCALID_TRAINER_HILL_MAN + addobject LOCALID_TRAINER_HILL_GIRL end TrainerHill_Entrance_OnLoad: @@ -62,7 +57,7 @@ TrainerHill_Entrance_OnFrame: TrainerHill_Entrance_EventScript_ExitElevator:: lockall - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator waitmovement 0 setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, TRUE special DrawWholeMapView @@ -82,17 +77,17 @@ TrainerHill_Entrance_EventScript_ExitChallenge:: TrainerHill_Entrance_EventScript_ExitChallengeLost:: lockall - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant msgbox TrainerHill_Entrance_Text_TooBadTremendousEffort, MSGBOX_DEFAULT goto TrainerHill_Entrance_EventScript_PlayerExitChallenge TrainerHill_Entrance_EventScript_ExitChallengeECard:: lockall - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant msgbox TrainerHill_Entrance_Text_MovedReceptionHereForSwitch, MSGBOX_DEFAULT TrainerHill_Entrance_EventScript_PlayerExitChallenge:: closemessage - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 setvar VAR_TRAINER_HILL_IS_ACTIVE, 0 special HealPlayerParty @@ -101,7 +96,7 @@ TrainerHill_Entrance_EventScript_EndExitChallenge:: end TrainerHill_Entrance_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_TRAINER_HILL_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress @@ -124,7 +119,7 @@ TrainerHill_Entrance_EventScript_AttendantEnd:: TrainerHill_Entrance_EventScript_EntryTrigger:: lockall - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_Closed msgbox TrainerHill_Entrance_Text_WelcomeToTrainerHill, MSGBOX_DEFAULT trainerhill_getsaved @@ -170,7 +165,7 @@ TrainerHill_Entrance_EventScript_CancelEntry:: setvar VAR_TEMP_5, 0 msgbox TrainerHill_Entrance_Text_PleaseVisitUsAgain, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end @@ -192,7 +187,7 @@ TrainerHill_Entrance_EventScript_SaveFailed:: TrainerHill_Entrance_EventScript_Closed:: msgbox TrainerHill_Entrance_Text_StillGettingReady, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter + applymovement LOCALID_PLAYER, TrainerHill_Entrance_Movement_PushPlayerBackFromCounter waitmovement 0 releaseall end @@ -265,9 +260,7 @@ TrainerHill_Entrance_Pokemart_Basic: .2byte ITEM_DIRE_HIT .2byte ITEM_GUARD_SPEC .2byte ITEM_X_ACCURACY - .2byte ITEM_NONE - release - end + pokemartlistend TrainerHill_Entrance_EventScript_ExpandedPokemart:: pokemart TrainerHill_Entrance_Pokemart_Expanded @@ -289,9 +282,7 @@ TrainerHill_Entrance_Pokemart_Expanded: .2byte ITEM_DIRE_HIT .2byte ITEM_GUARD_SPEC .2byte ITEM_X_ACCURACY - .2byte ITEM_NONE - release - end + pokemartlistend TrainerHill_Entrance_Text_StillGettingReady: .string "This is the TRAINER HILL where\n" diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json index 8c663eb42e..e54ac0c228 100644 --- a/data/maps/UnionRoom/map.json +++ b/data/maps/UnionRoom/map.json @@ -28,6 +28,7 @@ "flag": "0" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_4", "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 1, "y": 8, @@ -41,6 +42,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_4" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_8", "graphics_id": "OBJ_EVENT_GFX_VAR_7", "x": 7, "y": 8, @@ -54,6 +56,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_8" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_7", "graphics_id": "OBJ_EVENT_GFX_VAR_6", "x": 1, "y": 4, @@ -67,6 +70,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_7" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_6", "graphics_id": "OBJ_EVENT_GFX_VAR_5", "x": 7, "y": 4, @@ -80,6 +84,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_6" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_5", "graphics_id": "OBJ_EVENT_GFX_VAR_4", "x": 13, "y": 4, @@ -93,6 +98,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_5" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_3", "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 6, @@ -106,6 +112,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_3" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_2", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 13, "y": 8, @@ -119,6 +126,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_2" }, { + "local_id": "LOCALID_UNION_ROOM_PLAYER_1", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 4, "y": 6, diff --git a/data/maps/UnionRoom/scripts.inc b/data/maps/UnionRoom/scripts.inc index 1c99fb0586..25c8aad65b 100644 --- a/data/maps/UnionRoom/scripts.inc +++ b/data/maps/UnionRoom/scripts.inc @@ -1,5 +1,3 @@ -@ Note: LOCALID_UNION_ROOM_PLAYER_# are local ids for this map used elsewhere. They're defined in event_objects.h - UnionRoom_MapScripts:: map_script MAP_SCRIPT_ON_RESUME, UnionRoom_OnResume map_script MAP_SCRIPT_ON_TRANSITION, UnionRoom_OnTransition diff --git a/data/maps/VerdanturfTown/map.json b/data/maps/VerdanturfTown/map.json index ae40730c0e..1b29ea7153 100644 --- a/data/maps/VerdanturfTown/map.json +++ b/data/maps/VerdanturfTown/map.json @@ -39,6 +39,7 @@ "flag": "0" }, { + "local_id": "LOCALID_VERDANTURF_TWIN", "graphics_id": "OBJ_EVENT_GFX_TWIN", "x": 9, "y": 2, diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index 319be1f32d..1ca3abd2fd 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_TWIN, 2 - VerdanturfTown_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_OnTransition end_map_scripts @@ -14,14 +12,14 @@ VerdanturfTown_EventScript_Twin:: faceplayer goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_TwinTunnelOpen msgbox VerdanturfTown_Text_ManTryingToDigTunnel, MSGBOX_DEFAULT - applymovement LOCALID_TWIN, Common_Movement_FaceOriginalDirection + applymovement LOCALID_VERDANTURF_TWIN, Common_Movement_FaceOriginalDirection waitmovement 0 release end VerdanturfTown_EventScript_TwinTunnelOpen:: msgbox VerdanturfTown_Text_ManDugTunnelForLove, MSGBOX_DEFAULT - applymovement LOCALID_TWIN, Common_Movement_FaceOriginalDirection + applymovement LOCALID_VERDANTURF_TWIN, Common_Movement_FaceOriginalDirection waitmovement 0 release end diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/map.json b/data/maps/VerdanturfTown_BattleTentBattleRoom/map.json index 72eca1d95c..7913b66e98 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/map.json +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_VERDANTURF_TENT_BATTLE_PLAYER", "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 2, "y": 8, @@ -28,6 +29,7 @@ "flag": "0" }, { + "local_id": "LOCALID_VERDANTURF_TENT_BATTLE_OPPONENT", "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 11, "y": 1, @@ -41,6 +43,7 @@ "flag": "0" }, { + "local_id": "LOCALID_VERDANTURF_TENT_BATTLE_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 2, "y": 4, diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index 2d6a715946..3f7d5ebb54 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -1,17 +1,13 @@ -.set LOCALID_PLAYER, 1 -.set LOCALID_OPPONENT, 2 -.set LOCALID_ATTENDANT, 3 - +@ On this map the player will automatically walk into the room, but the camera is supposed to remain still. +@ To do this GF sets the player (LOCALID_PLAYER) invisible and creates a fake player object (LOCALID_VERDANTURF_TENT_BATTLE_PLAYER). +@ The graphics of this fake player object are represented with VAR_OBJ_GFX_ID_1. +@ The graphics of the opponent are represented with VAR_OBJ_GFX_ID_0, which will ultimately be set by tower_setopponent. VerdanturfTown_BattleTentBattleRoom_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_BattleTentBattleRoom_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentBattleRoom_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentBattleRoom_OnWarp end_map_scripts - @ On this map the player (OBJ_EVENT_ID_PLAYER) is hidden - @ The player is represented instead by object event 1, which has the gfx id VAR_OBJ_GFX_ID_1 - @ The opponent is represented by object event 2, which has the gfx id VAR_OBJ_GFX_ID_0 - VerdanturfTown_BattleTentBattleRoom_OnTransition: call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx end @@ -37,15 +33,15 @@ VerdanturfTown_BattleTentBattleRoom_OnFrame: end_map_script_table VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom:: - showobjectat LOCALID_PLAYER, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM - applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter + showobjectat LOCALID_VERDANTURF_TENT_BATTLE_PLAYER, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM + applymovement LOCALID_VERDANTURF_TENT_BATTLE_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter waitmovement 0 frontier_get FRONTIER_DATA_BATTLE_NUM goto_if_ne VAR_RESULT, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter:: tower_setopponent - addobject LOCALID_OPPONENT - applymovement LOCALID_OPPONENT, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter + addobject LOCALID_VERDANTURF_TENT_BATTLE_OPPONENT + applymovement LOCALID_VERDANTURF_TENT_BATTLE_OPPONENT, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentEnter waitmovement 0 battletent_getopponentintro msgbox gStringVar4, MSGBOX_DEFAULT @@ -65,11 +61,11 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent:: frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT switch VAR_RESULT case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon - applymovement LOCALID_OPPONENT, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit + applymovement LOCALID_VERDANTURF_TENT_BATTLE_OPPONENT, VerdanturfTown_BattleTentBattleRoom_Movement_OpponentExit waitmovement 0 - removeobject LOCALID_OPPONENT - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterDown - applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp + removeobject LOCALID_VERDANTURF_TENT_BATTLE_OPPONENT + applymovement LOCALID_VERDANTURF_TENT_BATTLE_ATTENDANT, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_VERDANTURF_TENT_BATTLE_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox BattleFrontier_BattlePalaceBattleRoom_Text_LetMeRestoreYourMons, MSGBOX_DEFAULT special LoadPlayerParty @@ -106,8 +102,8 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_AskRetireChallenge:: case MULTI_B_PRESSED, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge:: - applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterRight - applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_VERDANTURF_TENT_BATTLE_ATTENDANT, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_VERDANTURF_TENT_BATTLE_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 closemessage goto VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter @@ -133,11 +129,11 @@ VerdanturfTown_BattleTentBattleRoom_OnWarp: end_map_script_table VerdanturfTown_BattleTentBattleRoom_EventScript_SetUpObjects:: - hideobjectat LOCALID_PLAYER, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM + hideobjectat LOCALID_VERDANTURF_TENT_BATTLE_PLAYER, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM call VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx setvar VAR_TEMP_1, 1 - applymovement OBJ_EVENT_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible - removeobject LOCALID_OPPONENT + applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_SetInvisible + removeobject LOCALID_VERDANTURF_TENT_BATTLE_OPPONENT end VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent:: diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/map.json b/data/maps/VerdanturfTown_BattleTentCorridor/map.json index 2b875b9009..95c0dffc5a 100644 --- a/data/maps/VerdanturfTown_BattleTentCorridor/map.json +++ b/data/maps/VerdanturfTown_BattleTentCorridor/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_VERDANTURF_TENT_CORRIDOR_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 2, "y": 6, diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc index db7b7846ff..883bae568e 100644 --- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - VerdanturfTown_BattleTentCorridor_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentCorridor_OnFrame end_map_scripts @@ -11,13 +9,13 @@ VerdanturfTown_BattleTentCorridor_OnFrame: VerdanturfTown_BattleTentCorridor_EventScript_EnterCorridor:: lockall setvar VAR_TEMP_0, 1 - applymovement LOCALID_ATTENDANT, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor + applymovement LOCALID_VERDANTURF_TENT_CORRIDOR_ATTENDANT, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor + applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_WalkToDoor waitmovement 0 opendoor 2, 1 waitdooranim - applymovement LOCALID_ATTENDANT, VerdanturfTown_BattleTentCorridor_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_PlayerEnterDoor + applymovement LOCALID_VERDANTURF_TENT_CORRIDOR_ATTENDANT, VerdanturfTown_BattleTentCorridor_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_PlayerEnterDoor waitmovement 0 closedoor 2, 1 waitdooranim diff --git a/data/maps/VerdanturfTown_BattleTentLobby/map.json b/data/maps/VerdanturfTown_BattleTentLobby/map.json index ddb4b9dd35..132e08c9c0 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/map.json +++ b/data/maps/VerdanturfTown_BattleTentLobby/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_VERDANTURF_TENT_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_EXPERT_M", "x": 6, "y": 5, diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index dbb5646d03..aadaf3cbb2 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_ATTENDANT, 1 - VerdanturfTown_BattleTentLobby_MapScripts:: map_script MAP_SCRIPT_ON_FRAME_TABLE, VerdanturfTown_BattleTentLobby_OnFrame map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, VerdanturfTown_BattleTentLobby_OnWarp @@ -11,7 +9,7 @@ VerdanturfTown_BattleTentLobby_OnWarp: VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth:: setvar VAR_TEMP_1, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end VerdanturfTown_BattleTentLobby_OnFrame: @@ -193,13 +191,13 @@ VerdanturfTown_BattleTentLobby_EventScript_EndCancelChallenge:: end VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor:: - applymovement LOCALID_ATTENDANT, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor - applymovement OBJ_EVENT_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor + applymovement LOCALID_VERDANTURF_TENT_ATTENDANT, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor + applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_WalkToDoor waitmovement 0 opendoor 6, 1 waitdooranim - applymovement LOCALID_ATTENDANT, VerdanturfTown_BattleTentLobby_Movement_AttendantEnterDoor - applymovement OBJ_EVENT_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor + applymovement LOCALID_VERDANTURF_TENT_ATTENDANT, VerdanturfTown_BattleTentLobby_Movement_AttendantEnterDoor + applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor waitmovement 0 closedoor 6, 1 waitdooranim diff --git a/data/maps/VerdanturfTown_Mart/map.json b/data/maps/VerdanturfTown_Mart/map.json index 096d63552e..0faadcf266 100644 --- a/data/maps/VerdanturfTown_Mart/map.json +++ b/data/maps/VerdanturfTown_Mart/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_VERDANTURF_MART_CLERK", "graphics_id": "OBJ_EVENT_GFX_MART_EMPLOYEE", "x": 1, "y": 3, diff --git a/data/maps/VerdanturfTown_Mart/scripts.inc b/data/maps/VerdanturfTown_Mart/scripts.inc index aa9669b4a6..85a8d0f39a 100644 --- a/data/maps/VerdanturfTown_Mart/scripts.inc +++ b/data/maps/VerdanturfTown_Mart/scripts.inc @@ -24,9 +24,7 @@ VerdanturfTown_Mart_Pokemart: .2byte ITEM_REPEL .2byte ITEM_X_SPECIAL .2byte ITEM_FLUFFY_TAIL - .2byte ITEM_NONE - release - end + pokemartlistend VerdanturfTown_Mart_EventScript_Boy:: msgbox VerdanturfTown_Mart_Text_XSpecialIsCrucial, MSGBOX_NPC diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json index 20a144afb9..4bae6ce2f4 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json @@ -15,6 +15,7 @@ "connections": null, "object_events": [ { + "local_id": "LOCALID_VERDANTURF_NURSE", "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index bd6699ce5c..40ae1ceaa8 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_NURSE, 1 - VerdanturfTown_PokemonCenter_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, VerdanturfTown_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -11,7 +9,7 @@ VerdanturfTown_PokemonCenter_1F_OnTransition: end VerdanturfTown_PokemonCenter_1F_EventScript_Nurse:: - setvar VAR_0x800B, LOCALID_NURSE + setvar VAR_0x800B, LOCALID_VERDANTURF_NURSE call Common_EventScript_PkmnCenterNurse waitmessage waitbuttonpress diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json index 44a2bca660..469981cde0 100644 --- a/data/maps/VictoryRoad_1F/map.json +++ b/data/maps/VictoryRoad_1F/map.json @@ -54,6 +54,7 @@ "flag": "0" }, { + "local_id": "LOCALID_VICTORY_ROAD_ENTRANCE_WALLY", "graphics_id": "OBJ_EVENT_GFX_WALLY", "x": 12, "y": 25, diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index 1bd6cd229c..e1f65d6e01 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -1,5 +1,3 @@ -.set LOCALID_WALLY_ENTRANCE, 4 - VictoryRoad_1F_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, VictoryRoad_1F_OnTransition end_map_scripts @@ -10,20 +8,20 @@ VictoryRoad_1F_OnTransition: end VictoryRoad_1F_EventScript_SetEntranceWallyPos1:: - setobjectxyperm LOCALID_WALLY_ENTRANCE, 2, 24 - setobjectmovementtype LOCALID_WALLY_ENTRANCE, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_VICTORY_ROAD_ENTRANCE_WALLY, 2, 24 + setobjectmovementtype LOCALID_VICTORY_ROAD_ENTRANCE_WALLY, MOVEMENT_TYPE_FACE_DOWN return VictoryRoad_1F_EventScript_SetEntranceWallyPos2:: - setobjectxyperm LOCALID_WALLY_ENTRANCE, 3, 24 - setobjectmovementtype LOCALID_WALLY_ENTRANCE, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_VICTORY_ROAD_ENTRANCE_WALLY, 3, 24 + setobjectmovementtype LOCALID_VICTORY_ROAD_ENTRANCE_WALLY, MOVEMENT_TYPE_FACE_DOWN return VictoryRoad_1F_EventScript_WallyBattleTrigger1:: lockall setvar VAR_0x8008, 1 - addobject LOCALID_WALLY_ENTRANCE - applymovement LOCALID_WALLY_ENTRANCE, VictoryRoad_1F_Movement_WallyApproachPlayer1 + addobject LOCALID_VICTORY_ROAD_ENTRANCE_WALLY + applymovement LOCALID_VICTORY_ROAD_ENTRANCE_WALLY, VictoryRoad_1F_Movement_WallyApproachPlayer1 waitmovement 0 goto VictoryRoad_1F_EventScript_WallyEntranceBattle end @@ -31,20 +29,20 @@ VictoryRoad_1F_EventScript_WallyBattleTrigger1:: VictoryRoad_1F_EventScript_WallyBattleTrigger2:: lockall setvar VAR_0x8008, 2 - addobject LOCALID_WALLY_ENTRANCE - applymovement LOCALID_WALLY_ENTRANCE, VictoryRoad_1F_Movement_WallyApproachPlayer2 + addobject LOCALID_VICTORY_ROAD_ENTRANCE_WALLY + applymovement LOCALID_VICTORY_ROAD_ENTRANCE_WALLY, VictoryRoad_1F_Movement_WallyApproachPlayer2 waitmovement 0 goto VictoryRoad_1F_EventScript_WallyEntranceBattle end VictoryRoad_1F_EventScript_WallyEntranceBattle:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterDown + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown waitmovement 0 msgbox VictoryRoad_1F_Text_WallyNotGoingToLoseAnymore, MSGBOX_DEFAULT trainerbattle_no_intro TRAINER_WALLY_VR_1, VictoryRoad_1F_Text_WallyEntranceDefeat msgbox VictoryRoad_1F_Text_WallyPostEntranceBattle, MSGBOX_DEFAULT clearflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY - copyobjectxytoperm LOCALID_WALLY_ENTRANCE + copyobjectxytoperm LOCALID_VICTORY_ROAD_ENTRANCE_WALLY setflag FLAG_DEFEATED_WALLY_VICTORY_ROAD copyvar VAR_VICTORY_ROAD_1F_STATE, VAR_0x8008 releaseall diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json index ebef431b30..8a90679c8d 100644 --- a/data/maps/map_groups.json +++ b/data/maps/map_groups.json @@ -604,8 +604,8 @@ "Route110_TrickHousePuzzle6", "Route110_TrickHousePuzzle7", "Route110_TrickHousePuzzle8", - "Route110_SeasideCyclingRoadNorthEntrance", - "Route110_SeasideCyclingRoadSouthEntrance" + "Route110_SeasideCyclingRoadSouthEntrance", + "Route110_SeasideCyclingRoadNorthEntrance" ], "gMapGroup_IndoorRoute113": [ "Route113_GlassWorkshop" diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc index f50ce5322b..5b7ed740fa 100644 --- a/data/script_cmd_table.inc +++ b/data/script_cmd_table.inc @@ -1,232 +1,249 @@ + .ifndef SCRIPT_CMD_TABLE_ENTRY_MACRO + .set SCRIPT_CMD_TABLE_ENTRY_MACRO, 1 + .macro script_cmd_table_entry constant:req value:req + .if ALLOCATE_SCRIPT_CMD_TABLE + .4byte \value + .else + enum \constant + .endif + .endm + .endif + + + enum_start + .if ALLOCATE_SCRIPT_CMD_TABLE .align 2 gScriptCmdTable:: - .4byte ScrCmd_nop @ 0x00 - .4byte ScrCmd_nop1 @ 0x01 - .4byte ScrCmd_end @ 0x02 - .4byte ScrCmd_return @ 0x03 - .4byte ScrCmd_call @ 0x04 - .4byte ScrCmd_goto @ 0x05 - .4byte ScrCmd_goto_if @ 0x06 - .4byte ScrCmd_call_if @ 0x07 - .4byte ScrCmd_gotostd @ 0x08 - .4byte ScrCmd_callstd @ 0x09 - .4byte ScrCmd_gotostd_if @ 0x0a - .4byte ScrCmd_callstd_if @ 0x0b - .4byte ScrCmd_returnram @ 0x0c - .4byte ScrCmd_endram @ 0x0d - .4byte ScrCmd_setmysteryeventstatus @ 0x0e - .4byte ScrCmd_loadword @ 0x0f - .4byte ScrCmd_loadbyte @ 0x10 - .4byte ScrCmd_setptr @ 0x11 - .4byte ScrCmd_loadbytefromptr @ 0x12 - .4byte ScrCmd_setptrbyte @ 0x13 - .4byte ScrCmd_copylocal @ 0x14 - .4byte ScrCmd_copybyte @ 0x15 - .4byte ScrCmd_setvar @ 0x16 - .4byte ScrCmd_addvar @ 0x17 - .4byte ScrCmd_subvar @ 0x18 - .4byte ScrCmd_copyvar @ 0x19 - .4byte ScrCmd_setorcopyvar @ 0x1a - .4byte ScrCmd_compare_local_to_local @ 0x1b - .4byte ScrCmd_compare_local_to_value @ 0x1c - .4byte ScrCmd_compare_local_to_ptr @ 0x1d - .4byte ScrCmd_compare_ptr_to_local @ 0x1e - .4byte ScrCmd_compare_ptr_to_value @ 0x1f - .4byte ScrCmd_compare_ptr_to_ptr @ 0x20 - .4byte ScrCmd_compare_var_to_value @ 0x21 - .4byte ScrCmd_compare_var_to_var @ 0x22 - .4byte ScrCmd_callnative @ 0x23 - .4byte ScrCmd_gotonative @ 0x24 - .4byte ScrCmd_special @ 0x25 - .4byte ScrCmd_specialvar @ 0x26 - .4byte ScrCmd_waitstate @ 0x27 - .4byte ScrCmd_delay @ 0x28 - .4byte ScrCmd_setflag @ 0x29 - .4byte ScrCmd_clearflag @ 0x2a - .4byte ScrCmd_checkflag @ 0x2b - .4byte ScrCmd_initclock @ 0x2c - .4byte ScrCmd_dotimebasedevents @ 0x2d - .4byte ScrCmd_gettime @ 0x2e - .4byte ScrCmd_playse @ 0x2f - .4byte ScrCmd_waitse @ 0x30 - .4byte ScrCmd_playfanfare @ 0x31 - .4byte ScrCmd_waitfanfare @ 0x32 - .4byte ScrCmd_playbgm @ 0x33 - .4byte ScrCmd_savebgm @ 0x34 - .4byte ScrCmd_fadedefaultbgm @ 0x35 - .4byte ScrCmd_fadenewbgm @ 0x36 - .4byte ScrCmd_fadeoutbgm @ 0x37 - .4byte ScrCmd_fadeinbgm @ 0x38 - .4byte ScrCmd_warp @ 0x39 - .4byte ScrCmd_warpsilent @ 0x3a - .4byte ScrCmd_warpdoor @ 0x3b - .4byte ScrCmd_warphole @ 0x3c - .4byte ScrCmd_warpteleport @ 0x3d - .4byte ScrCmd_setwarp @ 0x3e - .4byte ScrCmd_setdynamicwarp @ 0x3f - .4byte ScrCmd_setdivewarp @ 0x40 - .4byte ScrCmd_setholewarp @ 0x41 - .4byte ScrCmd_getplayerxy @ 0x42 - .4byte ScrCmd_getpartysize @ 0x43 - .4byte ScrCmd_additem @ 0x44 - .4byte ScrCmd_removeitem @ 0x45 - .4byte ScrCmd_checkitemspace @ 0x46 - .4byte ScrCmd_checkitem @ 0x47 - .4byte ScrCmd_checkitemtype @ 0x48 - .4byte ScrCmd_addpcitem @ 0x49 - .4byte ScrCmd_checkpcitem @ 0x4a - .4byte ScrCmd_adddecoration @ 0x4b - .4byte ScrCmd_removedecoration @ 0x4c - .4byte ScrCmd_checkdecor @ 0x4d - .4byte ScrCmd_checkdecorspace @ 0x4e - .4byte ScrCmd_applymovement @ 0x4f - .4byte ScrCmd_applymovementat @ 0x50 - .4byte ScrCmd_waitmovement @ 0x51 - .4byte ScrCmd_waitmovementat @ 0x52 - .4byte ScrCmd_removeobject @ 0x53 - .4byte ScrCmd_removeobjectat @ 0x54 - .4byte ScrCmd_addobject @ 0x55 - .4byte ScrCmd_addobjectat @ 0x56 - .4byte ScrCmd_setobjectxy @ 0x57 - .4byte ScrCmd_showobjectat @ 0x58 - .4byte ScrCmd_hideobjectat @ 0x59 - .4byte ScrCmd_faceplayer @ 0x5a - .4byte ScrCmd_turnobject @ 0x5b - .4byte ScrCmd_trainerbattle @ 0x5c - .4byte ScrCmd_dotrainerbattle @ 0x5d - .4byte ScrCmd_gotopostbattlescript @ 0x5e - .4byte ScrCmd_gotobeatenscript @ 0x5f - .4byte ScrCmd_checktrainerflag @ 0x60 - .4byte ScrCmd_settrainerflag @ 0x61 - .4byte ScrCmd_cleartrainerflag @ 0x62 - .4byte ScrCmd_setobjectxyperm @ 0x63 - .4byte ScrCmd_copyobjectxytoperm @ 0x64 - .4byte ScrCmd_setobjectmovementtype @ 0x65 - .4byte ScrCmd_waitmessage @ 0x66 - .4byte ScrCmd_message @ 0x67 - .4byte ScrCmd_closemessage @ 0x68 - .4byte ScrCmd_lockall @ 0x69 - .4byte ScrCmd_lock @ 0x6a - .4byte ScrCmd_releaseall @ 0x6b - .4byte ScrCmd_release @ 0x6c - .4byte ScrCmd_waitbuttonpress @ 0x6d - .4byte ScrCmd_yesnobox @ 0x6e - .4byte ScrCmd_multichoice @ 0x6f - .4byte ScrCmd_multichoicedefault @ 0x70 - .4byte ScrCmd_multichoicegrid @ 0x71 - .4byte ScrCmd_drawbox @ 0x72 - .4byte ScrCmd_erasebox @ 0x73 - .4byte ScrCmd_drawboxtext @ 0x74 - .4byte ScrCmd_showmonpic @ 0x75 - .4byte ScrCmd_hidemonpic @ 0x76 - .4byte ScrCmd_showcontestpainting @ 0x77 - .4byte ScrCmd_braillemessage @ 0x78 - .4byte ScrCmd_givemon @ 0x79 - .4byte ScrCmd_giveegg @ 0x7a - .4byte ScrCmd_setmonmove @ 0x7b - .4byte ScrCmd_checkpartymove @ 0x7c - .4byte ScrCmd_bufferspeciesname @ 0x7d - .4byte ScrCmd_bufferleadmonspeciesname @ 0x7e - .4byte ScrCmd_bufferpartymonnick @ 0x7f - .4byte ScrCmd_bufferitemname @ 0x80 - .4byte ScrCmd_bufferdecorationname @ 0x81 - .4byte ScrCmd_buffermovename @ 0x82 - .4byte ScrCmd_buffernumberstring @ 0x83 - .4byte ScrCmd_bufferstdstring @ 0x84 - .4byte ScrCmd_bufferstring @ 0x85 - .4byte ScrCmd_pokemart @ 0x86 - .4byte ScrCmd_pokemartdecoration @ 0x87 - .4byte ScrCmd_pokemartdecoration2 @ 0x88 - .4byte ScrCmd_playslotmachine @ 0x89 - .4byte ScrCmd_setberrytree @ 0x8a - .4byte ScrCmd_choosecontestmon @ 0x8b - .4byte ScrCmd_startcontest @ 0x8c - .4byte ScrCmd_showcontestresults @ 0x8d - .4byte ScrCmd_contestlinktransfer @ 0x8e - .4byte ScrCmd_random @ 0x8f - .4byte ScrCmd_addmoney @ 0x90 - .4byte ScrCmd_removemoney @ 0x91 - .4byte ScrCmd_checkmoney @ 0x92 - .4byte ScrCmd_showmoneybox @ 0x93 - .4byte ScrCmd_hidemoneybox @ 0x94 - .4byte ScrCmd_updatemoneybox @ 0x95 - .4byte ScrCmd_getpokenewsactive @ 0x96 - .4byte ScrCmd_fadescreen @ 0x97 - .4byte ScrCmd_fadescreenspeed @ 0x98 - .4byte ScrCmd_setflashlevel @ 0x99 - .4byte ScrCmd_animateflash @ 0x9a - .4byte ScrCmd_messageautoscroll @ 0x9b - .4byte ScrCmd_dofieldeffect @ 0x9c - .4byte ScrCmd_setfieldeffectargument @ 0x9d - .4byte ScrCmd_waitfieldeffect @ 0x9e - .4byte ScrCmd_setrespawn @ 0x9f - .4byte ScrCmd_checkplayergender @ 0xa0 - .4byte ScrCmd_playmoncry @ 0xa1 - .4byte ScrCmd_setmetatile @ 0xa2 - .4byte ScrCmd_resetweather @ 0xa3 - .4byte ScrCmd_setweather @ 0xa4 - .4byte ScrCmd_doweather @ 0xa5 - .4byte ScrCmd_setstepcallback @ 0xa6 - .4byte ScrCmd_setmaplayoutindex @ 0xa7 - .4byte ScrCmd_setobjectsubpriority @ 0xa8 - .4byte ScrCmd_resetobjectsubpriority @ 0xa9 - .4byte ScrCmd_createvobject @ 0xaa - .4byte ScrCmd_turnvobject @ 0xab - .4byte ScrCmd_opendoor @ 0xac - .4byte ScrCmd_closedoor @ 0xad - .4byte ScrCmd_waitdooranim @ 0xae - .4byte ScrCmd_setdooropen @ 0xaf - .4byte ScrCmd_setdoorclosed @ 0xb0 - .4byte ScrCmd_addelevmenuitem @ 0xb1 - .4byte ScrCmd_showelevmenu @ 0xb2 - .4byte ScrCmd_checkcoins @ 0xb3 - .4byte ScrCmd_addcoins @ 0xb4 - .4byte ScrCmd_removecoins @ 0xb5 - .4byte ScrCmd_setwildbattle @ 0xb6 - .4byte ScrCmd_dowildbattle @ 0xb7 - .4byte ScrCmd_setvaddress @ 0xb8 - .4byte ScrCmd_vgoto @ 0xb9 - .4byte ScrCmd_vcall @ 0xba - .4byte ScrCmd_vgoto_if @ 0xbb - .4byte ScrCmd_vcall_if @ 0xbc - .4byte ScrCmd_vmessage @ 0xbd - .4byte ScrCmd_vbuffermessage @ 0xbe - .4byte ScrCmd_vbufferstring @ 0xbf - .4byte ScrCmd_showcoinsbox @ 0xc0 - .4byte ScrCmd_hidecoinsbox @ 0xc1 - .4byte ScrCmd_updatecoinsbox @ 0xc2 - .4byte ScrCmd_incrementgamestat @ 0xc3 - .4byte ScrCmd_setescapewarp @ 0xc4 - .4byte ScrCmd_waitmoncry @ 0xc5 - .4byte ScrCmd_bufferboxname @ 0xc6 - .4byte ScrCmd_nop1 @ 0xc7 - .4byte ScrCmd_nop1 @ 0xc8 - .4byte ScrCmd_nop1 @ 0xc9 - .4byte ScrCmd_nop1 @ 0xca - .4byte ScrCmd_nop1 @ 0xcb - .4byte ScrCmd_nop1 @ 0xcc - .4byte ScrCmd_setmonmodernfatefulencounter @ 0xcd - .4byte ScrCmd_checkmonmodernfatefulencounter @ 0xce - .4byte ScrCmd_trywondercardscript @ 0xcf - .4byte ScrCmd_nop1 @ 0xd0 - .4byte ScrCmd_warpspinenter @ 0xd1 - .4byte ScrCmd_setmonmetlocation @ 0xd2 - .4byte ScrCmd_moverotatingtileobjects @ 0xd3 - .4byte ScrCmd_turnrotatingtileobjects @ 0xd4 - .4byte ScrCmd_initrotatingtilepuzzle @ 0xd5 - .4byte ScrCmd_freerotatingtilepuzzle @ 0xd6 - .4byte ScrCmd_warpmossdeepgym @ 0xd7 - .4byte ScrCmd_selectapproachingtrainer @ 0xd8 - .4byte ScrCmd_lockfortrainer @ 0xd9 - .4byte ScrCmd_closebraillemessage @ 0xda - .4byte ScrCmd_messageinstant @ 0xdb - .4byte ScrCmd_fadescreenswapbuffers @ 0xdc - .4byte ScrCmd_buffertrainerclassname @ 0xdd - .4byte ScrCmd_buffertrainername @ 0xde - .4byte ScrCmd_pokenavcall @ 0xdf - .4byte ScrCmd_warpwhitefade @ 0xe0 - .4byte ScrCmd_buffercontestname @ 0xe1 - .4byte ScrCmd_bufferitemnameplural @ 0xe2 + .endif + script_cmd_table_entry SCR_OP_NOP ScrCmd_nop @ 0x00 + script_cmd_table_entry SCR_OP_NOP1 ScrCmd_nop1 @ 0x01 + script_cmd_table_entry SCR_OP_END ScrCmd_end @ 0x02 + script_cmd_table_entry SCR_OP_RETURN ScrCmd_return @ 0x03 + script_cmd_table_entry SCR_OP_CALL ScrCmd_call @ 0x04 + script_cmd_table_entry SCR_OP_GOTO ScrCmd_goto @ 0x05 + script_cmd_table_entry SCR_OP_GOTO_IF ScrCmd_goto_if @ 0x06 + script_cmd_table_entry SCR_OP_CALL_IF ScrCmd_call_if @ 0x07 + script_cmd_table_entry SCR_OP_GOTO_STD ScrCmd_gotostd @ 0x08 + script_cmd_table_entry SCR_OP_CALL_STD ScrCmd_callstd @ 0x09 + script_cmd_table_entry SCR_OP_GOTO_STD_IF ScrCmd_gotostd_if @ 0x0a + script_cmd_table_entry SCR_OP_CALL_STD_IF ScrCmd_callstd_if @ 0x0b + script_cmd_table_entry SCR_OP_RETURNRAM ScrCmd_returnram @ 0x0c + script_cmd_table_entry SCR_OP_ENDRAM ScrCmd_endram @ 0x0d + script_cmd_table_entry SCR_OP_SETMYSTERYEVENTSTATUS ScrCmd_setmysteryeventstatus @ 0x0e + script_cmd_table_entry SCR_OP_LOAD_WORD ScrCmd_loadword @ 0x0f + script_cmd_table_entry SCR_OP_LOAD_BYTE ScrCmd_loadbyte @ 0x10 + script_cmd_table_entry SCR_OP_SETPTR ScrCmd_setptr @ 0x11 + script_cmd_table_entry SCR_OP_LOADBYTEFROMPTR ScrCmd_loadbytefromptr @ 0x12 + script_cmd_table_entry SCR_OP_SETPTRBYTE ScrCmd_setptrbyte @ 0x13 + script_cmd_table_entry SCR_OP_COPYLOCAL ScrCmd_copylocal @ 0x14 + script_cmd_table_entry SCR_OP_COPYBYTE ScrCmd_copybyte @ 0x15 + script_cmd_table_entry SCR_OP_SETVAR ScrCmd_setvar @ 0x16 + script_cmd_table_entry SCR_OP_ADDVAR ScrCmd_addvar @ 0x17 + script_cmd_table_entry SCR_OP_SUBVAR ScrCmd_subvar @ 0x18 + script_cmd_table_entry SCR_OP_COPYVAR ScrCmd_copyvar @ 0x19 + script_cmd_table_entry SCR_OP_SETORCOPYVAR ScrCmd_setorcopyvar @ 0x1a + script_cmd_table_entry SCR_OP_COMPARE_LOCAL_TO_LOCAL ScrCmd_compare_local_to_local @ 0x1b + script_cmd_table_entry SCR_OP_COMPARE_LOCAL_TO_VALUE ScrCmd_compare_local_to_value @ 0x1c + script_cmd_table_entry SCR_OP_COMPARE_LOCAL_TO_PTR ScrCmd_compare_local_to_ptr @ 0x1d + script_cmd_table_entry SCR_OP_COMPARE_PTR_TO_LOCAL ScrCmd_compare_ptr_to_local @ 0x1e + script_cmd_table_entry SCR_OP_COMPARE_PTR_TO_VALUE ScrCmd_compare_ptr_to_value @ 0x1f + script_cmd_table_entry SCR_OP_COMPARE_PTR_TO_PTR ScrCmd_compare_ptr_to_ptr @ 0x20 + script_cmd_table_entry SCR_OP_COMPARE_VAR_TO_VALUE ScrCmd_compare_var_to_value @ 0x21 + script_cmd_table_entry SCR_OP_COMPARE_VAR_TO_VAR ScrCmd_compare_var_to_var @ 0x22 + script_cmd_table_entry SCR_OP_CALLNATIVE ScrCmd_callnative @ 0x23 + script_cmd_table_entry SCR_OP_GOTONATIVE ScrCmd_gotonative @ 0x24 + script_cmd_table_entry SCR_OP_SPECIAL ScrCmd_special @ 0x25 + script_cmd_table_entry SCR_OP_SPECIALVAR ScrCmd_specialvar @ 0x26 + script_cmd_table_entry SCR_OP_WAITSTATE ScrCmd_waitstate @ 0x27 + script_cmd_table_entry SCR_OP_DELAY ScrCmd_delay @ 0x28 + script_cmd_table_entry SCR_OP_SETFLAG ScrCmd_setflag @ 0x29 + script_cmd_table_entry SCR_OP_CLEARFLAG ScrCmd_clearflag @ 0x2a + script_cmd_table_entry SCR_OP_CHECKFLAG ScrCmd_checkflag @ 0x2b + script_cmd_table_entry SCR_OP_INITCLOCK ScrCmd_initclock @ 0x2c + script_cmd_table_entry SCR_OP_DOTIMEBASEDEVENTS ScrCmd_dotimebasedevents @ 0x2d + script_cmd_table_entry SCR_OP_GETTIME ScrCmd_gettime @ 0x2e + script_cmd_table_entry SCR_OP_PLAYSE ScrCmd_playse @ 0x2f + script_cmd_table_entry SCR_OP_WAITSE ScrCmd_waitse @ 0x30 + script_cmd_table_entry SCR_OP_PLAYFANFARE ScrCmd_playfanfare @ 0x31 + script_cmd_table_entry SCR_OP_WAITFANFARE ScrCmd_waitfanfare @ 0x32 + script_cmd_table_entry SCR_OP_PLAYBGM ScrCmd_playbgm @ 0x33 + script_cmd_table_entry SCR_OP_SAVEBGM ScrCmd_savebgm @ 0x34 + script_cmd_table_entry SCR_OP_FADEDEFAULTBGM ScrCmd_fadedefaultbgm @ 0x35 + script_cmd_table_entry SCR_OP_FADENEWBGM ScrCmd_fadenewbgm @ 0x36 + script_cmd_table_entry SCR_OP_FADEOUTBGM ScrCmd_fadeoutbgm @ 0x37 + script_cmd_table_entry SCR_OP_FADEINBGM ScrCmd_fadeinbgm @ 0x38 + script_cmd_table_entry SCR_OP_WARP ScrCmd_warp @ 0x39 + script_cmd_table_entry SCR_OP_WARPSILENT ScrCmd_warpsilent @ 0x3a + script_cmd_table_entry SCR_OP_WARPDOOR ScrCmd_warpdoor @ 0x3b + script_cmd_table_entry SCR_OP_WARPHOLE ScrCmd_warphole @ 0x3c + script_cmd_table_entry SCR_OP_WARPTELEPORT ScrCmd_warpteleport @ 0x3d + script_cmd_table_entry SCR_OP_SETWARP ScrCmd_setwarp @ 0x3e + script_cmd_table_entry SCR_OP_SETDYNAMICWARP ScrCmd_setdynamicwarp @ 0x3f + script_cmd_table_entry SCR_OP_SETDIVEWARP ScrCmd_setdivewarp @ 0x40 + script_cmd_table_entry SCR_OP_SETHOLEWARP ScrCmd_setholewarp @ 0x41 + script_cmd_table_entry SCR_OP_GETPLAYERXY ScrCmd_getplayerxy @ 0x42 + script_cmd_table_entry SCR_OP_GETPARTYSIZE ScrCmd_getpartysize @ 0x43 + script_cmd_table_entry SCR_OP_ADDITEM ScrCmd_additem @ 0x44 + script_cmd_table_entry SCR_OP_REMOVEITEM ScrCmd_removeitem @ 0x45 + script_cmd_table_entry SCR_OP_CHECKITEMSPACE ScrCmd_checkitemspace @ 0x46 + script_cmd_table_entry SCR_OP_CHECKITEM ScrCmd_checkitem @ 0x47 + script_cmd_table_entry SCR_OP_CHECKITEMTYPE ScrCmd_checkitemtype @ 0x48 + script_cmd_table_entry SCR_OP_ADDPCITEM ScrCmd_addpcitem @ 0x49 + script_cmd_table_entry SCR_OP_CHECKPCITEM ScrCmd_checkpcitem @ 0x4a + script_cmd_table_entry SCR_OP_ADDDECORATION ScrCmd_adddecoration @ 0x4b + script_cmd_table_entry SCR_OP_REMOVEDECORATION ScrCmd_removedecoration @ 0x4c + script_cmd_table_entry SCR_OP_CHECKDECOR ScrCmd_checkdecor @ 0x4d + script_cmd_table_entry SCR_OP_CHECKDECORSPACE ScrCmd_checkdecorspace @ 0x4e + script_cmd_table_entry SCR_OP_APPLYMOVEMENT ScrCmd_applymovement @ 0x4f + script_cmd_table_entry SCR_OP_APPLYMOVEMENTAT ScrCmd_applymovementat @ 0x50 + script_cmd_table_entry SCR_OP_WAITMOVEMENT ScrCmd_waitmovement @ 0x51 + script_cmd_table_entry SCR_OP_WAITMOVEMENTAT ScrCmd_waitmovementat @ 0x52 + script_cmd_table_entry SCR_OP_REMOVEOBJECT ScrCmd_removeobject @ 0x53 + script_cmd_table_entry SCR_OP_REMOVEOBJECTAT ScrCmd_removeobjectat @ 0x54 + script_cmd_table_entry SCR_OP_ADDOBJECT ScrCmd_addobject @ 0x55 + script_cmd_table_entry SCR_OP_ADDOBJECTAT ScrCmd_addobjectat @ 0x56 + script_cmd_table_entry SCR_OP_SETOBJECTXY ScrCmd_setobjectxy @ 0x57 + script_cmd_table_entry SCR_OP_SHOWOBJECTAT ScrCmd_showobjectat @ 0x58 + script_cmd_table_entry SCR_OP_HIDEOBJECTAT ScrCmd_hideobjectat @ 0x59 + script_cmd_table_entry SCR_OP_FACEPLAYER ScrCmd_faceplayer @ 0x5a + script_cmd_table_entry SCR_OP_TURNOBJECT ScrCmd_turnobject @ 0x5b + script_cmd_table_entry SCR_OP_TRAINERBATTLE ScrCmd_trainerbattle @ 0x5c + script_cmd_table_entry SCR_OP_DOTRAINERBATTLE ScrCmd_dotrainerbattle @ 0x5d + script_cmd_table_entry SCR_OP_GOTOPOSTBATTLESCRIPT ScrCmd_gotopostbattlescript @ 0x5e + script_cmd_table_entry SCR_OP_GOTOBEATENSCRIPT ScrCmd_gotobeatenscript @ 0x5f + script_cmd_table_entry SCR_OP_CHECKTRAINERFLAG ScrCmd_checktrainerflag @ 0x60 + script_cmd_table_entry SCR_OP_SETTRAINERFLAG ScrCmd_settrainerflag @ 0x61 + script_cmd_table_entry SCR_OP_CLEARTRAINERFLAG ScrCmd_cleartrainerflag @ 0x62 + script_cmd_table_entry SCR_OP_SETOBJECTXYPERM ScrCmd_setobjectxyperm @ 0x63 + script_cmd_table_entry SCR_OP_COPYOBJECTXYTOPERM ScrCmd_copyobjectxytoperm @ 0x64 + script_cmd_table_entry SCR_OP_SETOBJECTMOVEMENTTYPE ScrCmd_setobjectmovementtype @ 0x65 + script_cmd_table_entry SCR_OP_WAITMESSAGE ScrCmd_waitmessage @ 0x66 + script_cmd_table_entry SCR_OP_MESSAGE ScrCmd_message @ 0x67 + script_cmd_table_entry SCR_OP_CLOSEMESSAGE ScrCmd_closemessage @ 0x68 + script_cmd_table_entry SCR_OP_LOCKALL ScrCmd_lockall @ 0x69 + script_cmd_table_entry SCR_OP_LOCK ScrCmd_lock @ 0x6a + script_cmd_table_entry SCR_OP_RELEASEALL ScrCmd_releaseall @ 0x6b + script_cmd_table_entry SCR_OP_RELEASE ScrCmd_release @ 0x6c + script_cmd_table_entry SCR_OP_WAITBUTTONPRESS ScrCmd_waitbuttonpress @ 0x6d + script_cmd_table_entry SCR_OP_YESNOBOX ScrCmd_yesnobox @ 0x6e + script_cmd_table_entry SCR_OP_MULTICHOICE ScrCmd_multichoice @ 0x6f + script_cmd_table_entry SCR_OP_MULTICHOICEDEFAULT ScrCmd_multichoicedefault @ 0x70 + script_cmd_table_entry SCR_OP_MULTICHOICEGRID ScrCmd_multichoicegrid @ 0x71 + script_cmd_table_entry SCR_OP_DRAWBOX ScrCmd_drawbox @ 0x72 + script_cmd_table_entry SCR_OP_ERASEBOX ScrCmd_erasebox @ 0x73 + script_cmd_table_entry SCR_OP_DRAWBOXTEXT ScrCmd_drawboxtext @ 0x74 + script_cmd_table_entry SCR_OP_SHOWMONPIC ScrCmd_showmonpic @ 0x75 + script_cmd_table_entry SCR_OP_HIDEMONPIC ScrCmd_hidemonpic @ 0x76 + script_cmd_table_entry SCR_OP_SHOWCONTESTPAINTING ScrCmd_showcontestpainting @ 0x77 + script_cmd_table_entry SCR_OP_BRAILLEMESSAGE ScrCmd_braillemessage @ 0x78 + script_cmd_table_entry SCR_OP_GIVEMON ScrCmd_givemon @ 0x79 + script_cmd_table_entry SCR_OP_GIVEEGG ScrCmd_giveegg @ 0x7a + script_cmd_table_entry SCR_OP_SETMONMOVE ScrCmd_setmonmove @ 0x7b + script_cmd_table_entry SCR_OP_CHECKPARTYMOVE ScrCmd_checkpartymove @ 0x7c + script_cmd_table_entry SCR_OP_BUFFERSPECIESNAME ScrCmd_bufferspeciesname @ 0x7d + script_cmd_table_entry SCR_OP_BUFFERLEADMONSPECIESNAME ScrCmd_bufferleadmonspeciesname @ 0x7e + script_cmd_table_entry SCR_OP_BUFFERPARTYMONNICK ScrCmd_bufferpartymonnick @ 0x7f + script_cmd_table_entry SCR_OP_BUFFERITEMNAME ScrCmd_bufferitemname @ 0x80 + script_cmd_table_entry SCR_OP_BUFFERDECORATIONNAME ScrCmd_bufferdecorationname @ 0x81 + script_cmd_table_entry SCR_OP_BUFFERMOVENAME ScrCmd_buffermovename @ 0x82 + script_cmd_table_entry SCR_OP_BUFFERNUMBERSTRING ScrCmd_buffernumberstring @ 0x83 + script_cmd_table_entry SCR_OP_BUFFERSTDSTRING ScrCmd_bufferstdstring @ 0x84 + script_cmd_table_entry SCR_OP_BUFFERSTRING ScrCmd_bufferstring @ 0x85 + script_cmd_table_entry SCR_OP_POKEMART ScrCmd_pokemart @ 0x86 + script_cmd_table_entry SCR_OP_POKEMARTDECORATION ScrCmd_pokemartdecoration @ 0x87 + script_cmd_table_entry SCR_OP_POKEMARTDECORATION2 ScrCmd_pokemartdecoration2 @ 0x88 + script_cmd_table_entry SCR_OP_PLAYSLOTMACHINE ScrCmd_playslotmachine @ 0x89 + script_cmd_table_entry SCR_OP_SETBERRYTREE ScrCmd_setberrytree @ 0x8a + script_cmd_table_entry SCR_OP_CHOOSECONTESTMON ScrCmd_choosecontestmon @ 0x8b + script_cmd_table_entry SCR_OP_STARTCONTEST ScrCmd_startcontest @ 0x8c + script_cmd_table_entry SCR_OP_SHOWCONTESTRESULTS ScrCmd_showcontestresults @ 0x8d + script_cmd_table_entry SCR_OP_CONTESTLINKTRANSFER ScrCmd_contestlinktransfer @ 0x8e + script_cmd_table_entry SCR_OP_RANDOM ScrCmd_random @ 0x8f + script_cmd_table_entry SCR_OP_ADDMONEY ScrCmd_addmoney @ 0x90 + script_cmd_table_entry SCR_OP_REMOVEMONEY ScrCmd_removemoney @ 0x91 + script_cmd_table_entry SCR_OP_CHECKMONEY ScrCmd_checkmoney @ 0x92 + script_cmd_table_entry SCR_OP_SHOWMONEYBOX ScrCmd_showmoneybox @ 0x93 + script_cmd_table_entry SCR_OP_HIDEMONEYBOX ScrCmd_hidemoneybox @ 0x94 + script_cmd_table_entry SCR_OP_UPDATEMONEYBOX ScrCmd_updatemoneybox @ 0x95 + script_cmd_table_entry SCR_OP_GETPOKENEWSACTIVE ScrCmd_getpokenewsactive @ 0x96 + script_cmd_table_entry SCR_OP_FADESCREEN ScrCmd_fadescreen @ 0x97 + script_cmd_table_entry SCR_OP_FADESCREENSPEED ScrCmd_fadescreenspeed @ 0x98 + script_cmd_table_entry SCR_OP_SETFLASHLEVEL ScrCmd_setflashlevel @ 0x99 + script_cmd_table_entry SCR_OP_ANIMATEFLASH ScrCmd_animateflash @ 0x9a + script_cmd_table_entry SCR_OP_MESSAGEAUTOSCROLL ScrCmd_messageautoscroll @ 0x9b + script_cmd_table_entry SCR_OP_DOFIELDEFFECT ScrCmd_dofieldeffect @ 0x9c + script_cmd_table_entry SCR_OP_SETFIELDEFFECTARGUMENT ScrCmd_setfieldeffectargument @ 0x9d + script_cmd_table_entry SCR_OP_WAITFIELDEFFECT ScrCmd_waitfieldeffect @ 0x9e + script_cmd_table_entry SCR_OP_SETRESPAWN ScrCmd_setrespawn @ 0x9f + script_cmd_table_entry SCR_OP_CHECKPLAYERGENDER ScrCmd_checkplayergender @ 0xa0 + script_cmd_table_entry SCR_OP_PLAYMONCRY ScrCmd_playmoncry @ 0xa1 + script_cmd_table_entry SCR_OP_SETMETATILE ScrCmd_setmetatile @ 0xa2 + script_cmd_table_entry SCR_OP_RESETWEATHER ScrCmd_resetweather @ 0xa3 + script_cmd_table_entry SCR_OP_SETWEATHER ScrCmd_setweather @ 0xa4 + script_cmd_table_entry SCR_OP_DOWEATHER ScrCmd_doweather @ 0xa5 + script_cmd_table_entry SCR_OP_SETSTEPCALLBACK ScrCmd_setstepcallback @ 0xa6 + script_cmd_table_entry SCR_OP_SETMAPLAYOUTINDEX ScrCmd_setmaplayoutindex @ 0xa7 + script_cmd_table_entry SCR_OP_SETOBJECTSUBPRIORITY ScrCmd_setobjectsubpriority @ 0xa8 + script_cmd_table_entry SCR_OP_RESETOBJECTSUBPRIORITY ScrCmd_resetobjectsubpriority @ 0xa9 + script_cmd_table_entry SCR_OP_CREATEVOBJECT ScrCmd_createvobject @ 0xaa + script_cmd_table_entry SCR_OP_TURNVOBJECT ScrCmd_turnvobject @ 0xab + script_cmd_table_entry SCR_OP_OPENDOOR ScrCmd_opendoor @ 0xac + script_cmd_table_entry SCR_OP_CLOSEDOOR ScrCmd_closedoor @ 0xad + script_cmd_table_entry SCR_OP_WAITDOORANIM ScrCmd_waitdooranim @ 0xae + script_cmd_table_entry SCR_OP_SETDOOROPEN ScrCmd_setdooropen @ 0xaf + script_cmd_table_entry SCR_OP_SETDOORCLOSED ScrCmd_setdoorclosed @ 0xb0 + script_cmd_table_entry SCR_OP_ADDELEVMENUITEM ScrCmd_addelevmenuitem @ 0xb1 + script_cmd_table_entry SCR_OP_SHOWELEVMENU ScrCmd_showelevmenu @ 0xb2 + script_cmd_table_entry SCR_OP_CHECKCOINS ScrCmd_checkcoins @ 0xb3 + script_cmd_table_entry SCR_OP_ADDCOINS ScrCmd_addcoins @ 0xb4 + script_cmd_table_entry SCR_OP_REMOVECOINS ScrCmd_removecoins @ 0xb5 + script_cmd_table_entry SCR_OP_SETWILDBATTLE ScrCmd_setwildbattle @ 0xb6 + script_cmd_table_entry SCR_OP_DOWILDBATTLE ScrCmd_dowildbattle @ 0xb7 + script_cmd_table_entry SCR_OP_SETVADDRESS ScrCmd_setvaddress @ 0xb8 + script_cmd_table_entry SCR_OP_VGOTO ScrCmd_vgoto @ 0xb9 + script_cmd_table_entry SCR_OP_VCALL ScrCmd_vcall @ 0xba + script_cmd_table_entry SCR_OP_VGOTO_IF ScrCmd_vgoto_if @ 0xbb + script_cmd_table_entry SCR_OP_VCALL_IF ScrCmd_vcall_if @ 0xbc + script_cmd_table_entry SCR_OP_VMESSAGE ScrCmd_vmessage @ 0xbd + script_cmd_table_entry SCR_OP_VBUFFERMESSAGE ScrCmd_vbuffermessage @ 0xbe + script_cmd_table_entry SCR_OP_VBUFFERSTRING ScrCmd_vbufferstring @ 0xbf + script_cmd_table_entry SCR_OP_SHOWCOINSBOX ScrCmd_showcoinsbox @ 0xc0 + script_cmd_table_entry SCR_OP_HIDECOINSBOX ScrCmd_hidecoinsbox @ 0xc1 + script_cmd_table_entry SCR_OP_UPDATECOINSBOX ScrCmd_updatecoinsbox @ 0xc2 + script_cmd_table_entry SCR_OP_INCREMENTGAMESTAT ScrCmd_incrementgamestat @ 0xc3 + script_cmd_table_entry SCR_OP_SETESCAPEWARP ScrCmd_setescapewarp @ 0xc4 + script_cmd_table_entry SCR_OP_WAITMONCRY ScrCmd_waitmoncry @ 0xc5 + script_cmd_table_entry SCR_OP_BUFFERBOXNAME ScrCmd_bufferboxname @ 0xc6 + script_cmd_table_entry SCR_OP_TEXTCOLOR ScrCmd_nop1 @ 0xc7 + script_cmd_table_entry SCR_OP_LOADHELP ScrCmd_nop1 @ 0xc8 + script_cmd_table_entry SCR_OP_UNLOADHELP ScrCmd_nop1 @ 0xc9 + script_cmd_table_entry SCR_OP_SIGNMSG ScrCmd_nop1 @ 0xca + script_cmd_table_entry SCR_OP_NORMALMSG ScrCmd_nop1 @ 0xcb + script_cmd_table_entry SCR_OP_COMPAREHIDDENVAR ScrCmd_nop1 @ 0xcc + script_cmd_table_entry SCR_OP_SETMODERNFATEFULENCOUNTER ScrCmd_setmodernfatefulencounter @ 0xcd + script_cmd_table_entry SCR_OP_CHECKMODERNFATEFULENCOUNTER ScrCmd_checkmodernfatefulencounter @ 0xce + script_cmd_table_entry SCR_OP_TRYWONDERCARDSCRIPT ScrCmd_trywondercardscript @ 0xcf + script_cmd_table_entry SCR_OP_SETWORLDMAPFLAG ScrCmd_nop1 @ 0xd0 + script_cmd_table_entry SCR_OP_WARPSPINENTER ScrCmd_warpspinenter @ 0xd1 + script_cmd_table_entry SCR_OP_SETMONMETLOCATION ScrCmd_setmonmetlocation @ 0xd2 + script_cmd_table_entry SCR_OP_MOVEROTATINGTILEOBJECTS ScrCmd_moverotatingtileobjects @ 0xd3 + script_cmd_table_entry SCR_OP_TURNROTATINGTILEOBJECTS ScrCmd_turnrotatingtileobjects @ 0xd4 + script_cmd_table_entry SCR_OP_INITROTATINGTILEPUZZLE ScrCmd_initrotatingtilepuzzle @ 0xd5 + script_cmd_table_entry SCR_OP_FREEROTATINGTILEPUZZLE ScrCmd_freerotatingtilepuzzle @ 0xd6 + script_cmd_table_entry SCR_OP_WARPMOSSDEEPGYM ScrCmd_warpmossdeepgym @ 0xd7 + script_cmd_table_entry SCR_OP_SELECTAPPROACHINGTRAINER ScrCmd_selectapproachingtrainer @ 0xd8 + script_cmd_table_entry SCR_OP_LOCKFORTRAINER ScrCmd_lockfortrainer @ 0xd9 + script_cmd_table_entry SCR_OP_CLOSEBRAILLEMESSAGE ScrCmd_closebraillemessage @ 0xda + script_cmd_table_entry SCR_OP_MESSAGEINSTANT ScrCmd_messageinstant @ 0xdb + script_cmd_table_entry SCR_OP_FADESCREENSWAPBUFFERS ScrCmd_fadescreenswapbuffers @ 0xdc + script_cmd_table_entry SCR_OP_BUFFERTRAINERCLASSNAME ScrCmd_buffertrainerclassname @ 0xdd + script_cmd_table_entry SCR_OP_BUFFERTRAINERNAME ScrCmd_buffertrainername @ 0xde + script_cmd_table_entry SCR_OP_POKENAVCALL ScrCmd_pokenavcall @ 0xdf + script_cmd_table_entry SCR_OP_WARPWHITEFADE ScrCmd_warpwhitefade @ 0xe0 + script_cmd_table_entry SCR_OP_BUFFERCONTESTNAME ScrCmd_buffercontestname @ 0xe1 + script_cmd_table_entry SCR_OP_BUFFERITEMNAMEPLURAL ScrCmd_bufferitemnameplural @ 0xe2 + .if ALLOCATE_SCRIPT_CMD_TABLE gScriptCmdTableEnd:: .4byte ScrCmd_nop + .endif diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc index 6b3a99e728..246922f7f2 100644 --- a/data/scripts/apprentice.inc +++ b/data/scripts/apprentice.inc @@ -1,5 +1,3 @@ -.set LOCALID_APPRENTICE, 6 - BattleFrontier_BattleTowerLobby_EventScript_Apprentice:: lock faceplayer diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc index ba03f437f0..7243b9479e 100644 --- a/data/scripts/battle_pike.inc +++ b/data/scripts/battle_pike.inc @@ -1,4 +1,3 @@ -@ Note: LOCALIDs shared with BattleFrontier_BattlePikeRoomNormal BattleFrontier_BattlePikeRoom_MapScripts: map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp @@ -18,28 +17,28 @@ BattleFrontier_BattlePikeRoom_OnTransition: end BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos:: - setobjectxyperm LOCALID_OBJ_0, 2, 5 - setobjectxyperm LOCALID_OBJ_1, 6, 5 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_1, 2, 5 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_2, 6, 5 end BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos:: - setobjectxyperm LOCALID_OBJ_0, 4, 4 - setobjectxyperm LOCALID_OBJ_1, 3, 4 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_1, 4, 4 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_2, 3, 4 end BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos:: - setobjectxyperm LOCALID_OBJ_0, 4, 4 - setobjectxyperm LOCALID_OBJ_1, 0, 0 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_1, 4, 4 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_2, 0, 0 end BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos:: - setobjectxyperm LOCALID_OBJ_0, 5, 5 - setobjectxyperm LOCALID_OBJ_1, 0, 0 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_1, 5, 5 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_2, 0, 0 end BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos:: - setobjectxyperm LOCALID_OBJ_0, 4, 3 - setobjectxyperm LOCALID_OBJ_1, 4, 4 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_1, 4, 3 + setobjectxyperm LOCALID_PIKE_ROOM_NPC_2, 4, 4 end BattleFrontier_BattlePikeRoom_OnWarp: @@ -54,20 +53,20 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects:: goto_if_eq VAR_RESULT, PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom goto_if_eq VAR_RESULT, PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom goto_if_eq VAR_RESULT, PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects - hideobjectat LOCALID_OBJ_1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL + hideobjectat LOCALID_PIKE_ROOM_NPC_2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL setvar VAR_TEMP_4, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom:: setvar VAR_TEMP_4, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH + turnobject LOCALID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects:: setvar VAR_TEMP_4, 1 - turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH - hideobjectat LOCALID_OBJ_0, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL @ Pike Queen hidden initially + turnobject LOCALID_PLAYER, DIR_NORTH + hideobjectat LOCALID_PIKE_ROOM_NPC_1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL @ Pike Queen hidden initially end BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp:: @@ -107,7 +106,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp:: end BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom:: - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer waitmovement 0 call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 4, 7 @@ -115,7 +114,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom:: end BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom:: - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer waitmovement 0 call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 4, 19 @@ -173,14 +172,14 @@ BattleFrontier_BattlePikeRoom_EventScript_EnableHealing:: return BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom:: - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer waitmovement 0 call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 2, 7 return BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom:: - applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer + applymovement LOCALID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer waitmovement 0 call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 6, 10 diff --git a/data/scripts/berry_blender.inc b/data/scripts/berry_blender.inc index f860ef066c..3fab60a58b 100644 --- a/data/scripts/berry_blender.inc +++ b/data/scripts/berry_blender.inc @@ -1,11 +1,3 @@ -@ Note: local IDs shared with scripts.inc for LilycoveCity_ContestLobby -.set LOCALID_MAN, 3 -.set LOCALID_BOY, 9 -.set LOCALID_TWIN, 10 -.set LOCALID_POKEFAN_F, 15 -.set LOCALID_EXPERT_M, 16 -.set LOCALID_GIRL, 17 - .set NUM_OPPONENTS, VAR_0x8009 BerryBlender_Text_WantToMakePokeblocks: @@ -246,7 +238,7 @@ BerryBlender_EventScript_BerryBlender1:: lockall goto_if_unset FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER, BerryBlender_EventScript_BlendMasterPresent setvar NUM_OPPONENTS, 1 - applymovement LOCALID_EXPERT_M, BerryBlender_Movement_BlendLeaderWalkInPlace + applymovement LOCALID_BLEND_MASTER, BerryBlender_Movement_BlendLeaderWalkInPlace waitmovement 0 msgbox BerryBlender_Text_WantToMakePokeblocks, MSGBOX_YESNO goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryUseBerryBlender1 @@ -325,8 +317,8 @@ BerryBlender_EventScript_Blender1NoCase: BerryBlender_EventScript_BerryBlender2:: lockall setvar NUM_OPPONENTS, 2 - applymovement LOCALID_TWIN, Common_Movement_FaceOriginalDirection - applymovement LOCALID_MAN, BerryBlender_Movement_BlendLeaderWalkInPlace + applymovement LOCALID_CONTEST_LOBBY_BLENDER_2_PARTICIPANT, Common_Movement_FaceOriginalDirection + applymovement LOCALID_CONTEST_LOBBY_BLENDER_2_LEADER, BerryBlender_Movement_BlendLeaderWalkInPlace waitmovement 0 msgbox BerryBlender_Text_WantToBlendPokeblocksWithUs, MSGBOX_YESNO goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryUseBerryBlender2 @@ -382,10 +374,10 @@ BerryBlender_EventScript_Blender2NoCase: BerryBlender_EventScript_BerryBlender3:: lockall - setvar VAR_0x8008, LOCALID_POKEFAN_F + setvar VAR_0x8008, LOCALID_CONTEST_LOBBY_BLENDER_3_LEADER setvar NUM_OPPONENTS, 3 - applymovement LOCALID_BOY, Common_Movement_FaceOriginalDirection - applymovement LOCALID_GIRL, Common_Movement_FaceOriginalDirection + applymovement LOCALID_CONTEST_LOBBY_BLENDER_3_PARTICIPANT_1, Common_Movement_FaceOriginalDirection + applymovement LOCALID_CONTEST_LOBBY_BLENDER_3_PARTICIPANT_2, Common_Movement_FaceOriginalDirection applymovement VAR_0x8008, BerryBlender_Movement_BlendLeaderWalkInPlace waitmovement 0 msgbox BerryBlender_Text_LookGoodAtBlendingJoinUs, MSGBOX_YESNO diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index faf6e74b5d..ee581676a5 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -138,7 +138,7 @@ CableClub_EventScript_CloseLinkAndExitLinkRoom:: goto_if_eq VAR_0x8007, 0, CableClub_EventScript_PlayerExitLinkRoom applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerExitLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 @@ -158,7 +158,7 @@ CableClub_EventScript_PlayerExitTradeCenter:: special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 goto_if_eq VAR_0x8007, 0, CableClub_EventScript_PlayerExitLinkRoom - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerFaceAttendantRight + applymovement LOCALID_PLAYER, Movement_PlayerFaceAttendantRight waitmovement 0 applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 @@ -178,7 +178,7 @@ CableClub_EventScript_ExitRecordCorner:: CableClub_EventScript_PlayerExitRecordCorner:: special CloseLink setvar VAR_CABLE_CLUB_STATE, 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerExitLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 goto_if_eq VAR_0x8007, 0, CableClub_EventScript_ExitRecordCornerRet applymovement VAR_0x8007, Movement_AttendantFaceDown @@ -199,7 +199,7 @@ CableClub_EventScript_ExitUnionRoom:: CableClub_EventScript_PlayerExitUnionRoom:: setvar VAR_CABLE_CLUB_STATE, 0 goto_if_eq VAR_0x8007, 0, CableClub_EventScript_PlayerExitLinkRoom - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerFaceAttendantRight + applymovement LOCALID_PLAYER, Movement_PlayerFaceAttendantRight waitmovement 0 applymovement VAR_0x8007, Movement_AttendantFaceLeft waitmovement 0 @@ -213,24 +213,24 @@ CableClub_EventScript_TrainerCardDataOverwritten:: delay 60 message CableClub_Text_HopeToSeeYouAgain waitmessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerExitLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 applymovement VAR_0x8007, Movement_AttendantFaceDown waitmovement 0 return CableClub_EventScript_PlayerExitLinkRoom:: - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerExitLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerExitLinkRoom waitmovement 0 return CableClub_EventScript_Tutorial:: lockall - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox CableClub_Text_FirstTimeRightThisWay, MSGBOX_DEFAULT closemessage - applymovement OBJ_EVENT_ID_PLAYER, CableClub_Movement_PlayerApproachCounter + applymovement LOCALID_PLAYER, CableClub_Movement_PlayerApproachCounter waitmovement 0 delay 30 msgbox CableClub_Text_ExplainWirelessClubFirstTime, MSGBOX_DEFAULT @@ -350,13 +350,13 @@ CableClub_EventScript_EnterColosseum:: applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft + applymovement LOCALID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerEnterLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 closedoor 9, 1 waitdooranim release @@ -369,7 +369,7 @@ CableClub_EventScript_EnterColosseum:: @ Unused CableClub_EventScript_PlayerApproachLinkRoomRight:: - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerApproachLinkRoomRight + applymovement LOCALID_PLAYER, Movement_PlayerApproachLinkRoomRight waitmovement 0 return @@ -444,13 +444,13 @@ CableClub_EventScript_EnterTradeCenter:: applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft + applymovement LOCALID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerEnterLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 closedoor 9, 1 waitdooranim release @@ -509,13 +509,13 @@ CableClub_EventScript_EnterRecordCorner:: applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft + applymovement LOCALID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerEnterLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 closedoor 9, 1 waitdooranim release @@ -896,13 +896,13 @@ CableClub_EventScript_EnterUnionRoom:: delay 60 applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft + applymovement LOCALID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 5, 1 waitdooranim - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerEnterLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 closedoor 5, 1 waitdooranim special Script_ResetUnionRoomTrade @@ -1196,13 +1196,13 @@ CableClub_EventScript_EnterWirelessLinkRoom:: applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerApproachLinkRoomLeft + applymovement LOCALID_PLAYER, Movement_PlayerApproachLinkRoomLeft waitmovement 0 opendoor 9, 1 waitdooranim - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerEnterLinkRoom + applymovement LOCALID_PLAYER, Movement_PlayerEnterLinkRoom waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 closedoor 9, 1 waitdooranim release @@ -1378,9 +1378,9 @@ MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom:: applymovement VAR_LAST_TALKED, Movement_AttendantFaceLeft waitmovement 0 closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerEnterMinigameRoom + applymovement LOCALID_PLAYER, Movement_PlayerEnterMinigameRoom waitmovement 0 - hideobjectat OBJ_EVENT_ID_PLAYER, 0 + hideobjectat LOCALID_PLAYER, 0 release waitstate end diff --git a/data/scripts/cave_hole.inc b/data/scripts/cave_hole.inc index 0ec57372a3..33c9dda7b3 100644 --- a/data/scripts/cave_hole.inc +++ b/data/scripts/cave_hole.inc @@ -9,7 +9,7 @@ CaveHole_FixCrackedGround: EventScript_FallDownHole:: lockall delay 20 - applymovement OBJ_EVENT_ID_PLAYER, Movement_SetInvisible + applymovement LOCALID_PLAYER, Movement_SetInvisible waitmovement 0 playse SE_FALL delay 60 @@ -20,7 +20,7 @@ EventScript_FallDownHole:: EventScript_FallDownHoleMtPyre:: lockall delay 20 - applymovement OBJ_EVENT_ID_PLAYER, Movement_SetInvisible + applymovement LOCALID_PLAYER, Movement_SetInvisible waitmovement 0 playse SE_FALL delay 60 diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 04c62a6de3..61beb94a12 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -1,19 +1,3 @@ -.set LOCALID_MC, 1 -.set LOCALID_JUDGE, 2 -.set LOCALID_CONTESTANT_1, 3 -.set LOCALID_CONTESTANT_2, 4 -.set LOCALID_CONTESTANT_3, 5 -.set LOCALID_AUDIENCE_1, 6 -.set LOCALID_AUDIENCE_3, 7 -.set LOCALID_AUDIENCE_4, 8 -.set LOCALID_AUDIENCE_5, 9 -.set LOCALID_AUDIENCE_6, 10 -.set LOCALID_AUDIENCE_7, 11 -.set LOCALID_AUDIENCE_2, 12 -.set LOCALID_POKEBALL, 13 -.set LOCALID_CONTESTANT_4, 14 -.set LOCALID_ARTIST, 15 - @ Either ends or returns to EventScript_ContestReceptionist after submitting a contest entry LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist:: lock @@ -203,7 +187,7 @@ ContestHall_EventScript_DoContest:: lockall applymovement LOCALID_CONTESTANT_4, ContestHall_Movement_Player4FaceUp waitmovement 0 - applymovement LOCALID_MC, ContestHall_Movement_MCWalkDown + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_MCWalkDown waitmovement 0 releaseall call ContestHall_EventScript_TryWaitForLink @@ -279,7 +263,7 @@ ContestHall_EventScript_ContestGettingStarted:: bufferstdstring STR_VAR_3, VAR_0x8009 call ContestHall_EventScript_GettingStarted lockall - applymovement LOCALID_MC, ContestHall_Movement_MCBackUp + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_MCBackUp waitmovement 0 releaseall return @@ -384,7 +368,7 @@ ContestHall_EventScript_ShowContestMonPic:: releaseall call ContestHall_EventScript_TryWaitForLink call ContestHall_EventScript_CheckIfContestWithRSPlayer - addobject LOCALID_POKEBALL + addobject LOCALID_CONTEST_POKEBALL playse SE_LEDGE lockall applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32 @@ -413,13 +397,13 @@ ContestHall_EventScript_AudienceVote:: playse SE_M_ENCORE2 waitmessage call ContestHall_EventScript_AudienceLookAround - applymovement LOCALID_MC, ContestHall_Movement_MCFaceJudge2 + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_MCFaceJudge2 waitmovement 0 - applymovement LOCALID_JUDGE, ContestHall_Movement_JudgeFaceMC + applymovement LOCALID_CONTEST_JUDGE, ContestHall_Movement_JudgeFaceMC waitmovement 0 delay 20 - applymovement LOCALID_MC, ContestHall_Movement_FaceContestants - applymovement LOCALID_JUDGE, ContestHall_Movement_FaceContestants + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_FaceContestants + applymovement LOCALID_CONTEST_JUDGE, ContestHall_Movement_FaceContestants waitmovement 0 return @@ -459,25 +443,25 @@ ContestHall_EventScript_VotingUnderWayLink:: ContestHall_EventScript_AudienceReactToContestant:: call ContestHall_EventScript_TryWaitForLink - applymovement LOCALID_MC, ContestHall_Movement_AudienceMemberLookLeft + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_AudienceMemberLookLeft waitmovement 0 playse SE_M_ENCORE2 call ContestHall_EventScript_VObjectAudienceLookAround - applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_AudienceMemberLookRight - applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_AudienceMemberLookDown - applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_AudienceMemberLookRight + applymovement LOCALID_CONTEST_AUDIENCE_5, ContestHall_Movement_AudienceMemberLookRight + applymovement LOCALID_CONTEST_AUDIENCE_2, ContestHall_Movement_AudienceMemberLookDown + applymovement LOCALID_CONTEST_AUDIENCE_3, ContestHall_Movement_AudienceMemberLookRight waitmovement 0 - applymovement LOCALID_MC, ContestHall_Movement_AudienceMemberLookRight + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_AudienceMemberLookRight waitmovement 0 - applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_AudienceMemberLookLeft - applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown - applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp - applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft + applymovement LOCALID_CONTEST_AUDIENCE_6, ContestHall_Movement_AudienceMemberLookLeft + applymovement LOCALID_CONTEST_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown + applymovement LOCALID_CONTEST_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp + applymovement LOCALID_CONTEST_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft waitmovement 0 - applymovement LOCALID_MC, ContestHall_Movement_MCLookAtJudge + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_MCLookAtJudge waitmovement 0 - applymovement LOCALID_MC, ContestHall_Movement_MCWalkInPlaceDown - applymovement LOCALID_JUDGE, ContestHall_Movement_JudgeLookAtMC + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_MCWalkInPlaceDown + applymovement LOCALID_CONTEST_JUDGE, ContestHall_Movement_JudgeLookAtMC waitmovement 0 releaseall call ContestHall_EventScript_TryWaitForLink @@ -623,7 +607,7 @@ ContestHall_EventScript_Set8Hearts:: ContestHall_EventScript_TryDisplayHeartAudienceMember1:: goto_if_eq VAR_TEMP_1, 1, ContestHall_EventScript_AudienceMember1AlreadyEmoted - applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_1, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_1, 1 @@ -635,7 +619,7 @@ ContestHall_EventScript_AudienceMember1AlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember2:: goto_if_eq VAR_TEMP_2, 1, ContestHall_EventScript_AudienceMember2AlreadyEmoted - applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_2, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_2, 1 @@ -647,7 +631,7 @@ ContestHall_EventScript_AudienceMember2AlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember3:: goto_if_eq VAR_TEMP_3, 1, ContestHall_EventScript_AudienceMember3AlreadyEmoted - applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_3, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_3, 1 @@ -659,7 +643,7 @@ ContestHall_EventScript_AudienceMember3AlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember4:: goto_if_eq VAR_TEMP_4, 1, ContestHall_EventScript_Audience4MemberAlreadyEmoted - applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_4, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_4, 1 @@ -671,7 +655,7 @@ ContestHall_EventScript_Audience4MemberAlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember5:: goto_if_eq VAR_TEMP_5, 1, ContestHall_EventScript_AudienceMember5AlreadyEmoted - applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_5, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_5, 1 @@ -683,7 +667,7 @@ ContestHall_EventScript_AudienceMember5AlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember6:: goto_if_eq VAR_TEMP_6, 1, ContestHall_EventScript_AudienceMember6AlreadyEmoted - applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_6, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_6, 1 @@ -695,7 +679,7 @@ ContestHall_EventScript_AudienceMember6AlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember7:: goto_if_eq VAR_TEMP_7, 1, ContestHall_EventScript_AudienceMember7AlreadyEmoted - applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_AUDIENCE_7, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_7, 1 @@ -707,7 +691,7 @@ ContestHall_EventScript_AudienceMember7AlreadyEmoted:: ContestHall_EventScript_TryDisplayHeartAudienceMember8:: goto_if_eq VAR_TEMP_8, 1, ContestHall_EventScript_AudienceMember8AlreadyEmoted - applymovement LOCALID_ARTIST, ContestHall_Movement_Heart + applymovement LOCALID_CONTEST_ARTIST, ContestHall_Movement_Heart playse SE_PIN delay 14 setvar VAR_TEMP_8, 1 @@ -720,7 +704,7 @@ ContestHall_EventScript_AudienceMember8AlreadyEmoted:: ContestHall_EventScript_ContestantReturn:: closemessage release - removeobject LOCALID_POKEBALL + removeobject LOCALID_CONTEST_POKEBALL special HideContestEntryMonPic call ContestHall_EventScript_TryWaitForLink switch VAR_0x8006 @@ -764,13 +748,13 @@ ContestHall_EventScript_Player4WalkBack:: ContestHall_EventScript_DoContestAppeals:: lockall - applymovement LOCALID_MC, ContestHall_Movement_FaceContestants2 + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_FaceContestants2 waitmovement 0 call ContestHall_EventScript_TryWaitForLink call ContestHall_EventScript_LetsAppeal waitmessage - applymovement LOCALID_MC, ContestHall_Movement_WalkStageLeft - applymovement LOCALID_JUDGE, ContestHall_Movement_WalkStageRight + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_WalkStageLeft + applymovement LOCALID_CONTEST_JUDGE, ContestHall_Movement_WalkStageRight waitmovement 0 releaseall call ContestHall_EventScript_TryWaitForLink @@ -780,8 +764,8 @@ ContestHall_EventScript_DoContestAppeals:: special LinkContestTryShowWirelessIndicator setvar VAR_TEMP_9, 0 lockall - applymovement LOCALID_MC, ContestHall_Movement_WalkStageRight - applymovement LOCALID_JUDGE, ContestHall_Movement_WalkStageLeft + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_WalkStageRight + applymovement LOCALID_CONTEST_JUDGE, ContestHall_Movement_WalkStageLeft waitmovement 0 releaseall return @@ -817,13 +801,13 @@ ContestHall_EventScript_ContestResults:: call ContestHall_EventScript_TryWaitForLink call ContestHall_EventScript_ThankYouForAppeals call ContestHall_EventScript_TryWaitForLink - applymovement LOCALID_MC, ContestHall_Movement_MCFaceJudge + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_MCFaceJudge waitmovement 0 call ContestHall_EventScript_JudgeLooksReady call ContestHall_EventScript_TryWaitForLink call ContestHall_EventScript_WeWillDeclareWinner call ContestHall_EventScript_TryWaitForLink - applymovement LOCALID_MC, ContestHall_Movement_FaceContestants + applymovement LOCALID_CONTEST_MC, ContestHall_Movement_FaceContestants waitmovement 0 closemessage releaseall @@ -934,14 +918,14 @@ ContestHall_EventScript_AudienceLookAround:: addvar VAR_TEMP_1, 1 lockall call_if_gt VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_VObjectAudienceLookAround - applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_AudienceMemberLookRight - applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_AudienceMemberLookDown - applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_AudienceMemberLookRight + applymovement LOCALID_CONTEST_AUDIENCE_5, ContestHall_Movement_AudienceMemberLookRight + applymovement LOCALID_CONTEST_AUDIENCE_2, ContestHall_Movement_AudienceMemberLookDown + applymovement LOCALID_CONTEST_AUDIENCE_3, ContestHall_Movement_AudienceMemberLookRight delay 30 - applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_AudienceMemberLookLeft - applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown - applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp - applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft + applymovement LOCALID_CONTEST_AUDIENCE_6, ContestHall_Movement_AudienceMemberLookLeft + applymovement LOCALID_CONTEST_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown + applymovement LOCALID_CONTEST_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp + applymovement LOCALID_CONTEST_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft goto_if_ne VAR_TEMP_1, 4, ContestHall_EventScript_AudienceLookAround delay 30 return diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index cb053f2c40..c9af7f5a3a 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -1,5 +1,3 @@ -.set LOCALID_DAYCARE_LADY, 1 - Route117_EventScript_DaycareMan:: lock faceplayer diff --git a/data/scripts/elite_four.inc b/data/scripts/elite_four.inc index 97d7f41314..1d1f7ab3eb 100644 --- a/data/scripts/elite_four.inc +++ b/data/scripts/elite_four.inc @@ -1,5 +1,5 @@ PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_Delay32 + applymovement LOCALID_PLAYER, Common_Movement_Delay32 waitmovement 0 playse SE_DOOR setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, FALSE @@ -18,7 +18,7 @@ PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles:: return PokemonLeague_EliteFour_EventScript_WalkInCloseDoor:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkUp6 + applymovement LOCALID_PLAYER, Common_Movement_WalkUp6 waitmovement 0 playse SE_TRUCK_DOOR setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE diff --git a/data/scripts/field_poison.inc b/data/scripts/field_poison.inc index ddda34ebaa..1d89bcfdfd 100644 --- a/data/scripts/field_poison.inc +++ b/data/scripts/field_poison.inc @@ -29,9 +29,9 @@ EventScript_FrontierFieldWhiteOut:: waitbuttonpress pike_inchallenge goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePike_EventScript_Retire - pyramid_inchallenge - goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost @ On Pyramid floor - goto_if_eq VAR_RESULT, 2, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost @ On Pyramid peak + pyramid_getlocation + goto_if_eq VAR_RESULT, PYRAMID_LOCATION_FLOOR, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost + goto_if_eq VAR_RESULT, PYRAMID_LOCATION_TOP, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost trainerhill_inchallenge goto_if_eq VAR_RESULT, TRUE, TrainerHill_1F_EventScript_Lost special Script_FadeOutMapMusic diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index 260526c4b6..06e1010589 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -1,8 +1,15 @@ -@ Gabby and Ty always move to the same spots for the first 5 battles -@ From the 6th battle onwards, they move randomly between locations 6-8 -@ Note: The local IDs of Gabby and Ty are hard-coded in GetGabbyAndTyLocalIds +@ Gabby and Ty can appear in a fixed location on 3 different routes. +@ Each time they are battled they will disappear from the route they're on +@ and relocate to the next one, in the order Route 111 -> Route 118 -> Route 120. +@ Gabby and Ty have 6 different parties which will get cycled on each appearance. +@ After they're defeated 6 times they will stick to their 6th party but continue +@ cycling between the 3 routes. To determine which trainer party gets used GF created +@ multiple object events for Gabby and Ty on each of the 3 routes. The scripts below +@ handle hiding and showing these objects so the correct party appears on the correct route. +@ Route 111 and Route 118 have 3 object events each (parties 1,4,6 and 2,5,6 respectively) +@ and Route 120 has 2 object events each (parties 3 and 6). GabbyAndTy_EventScript_UpdateLocation:: - cleartrainerflag TRAINER_GABBY_AND_TY_6 + cleartrainerflag TRAINER_GABBY_AND_TY_6 @ Clear flag for their final party to allow infinite rematches. specialvar VAR_RESULT, GabbyAndTyGetBattleNum switch VAR_RESULT case 0, GabbyAndTy_EventScript_MoveForBattle1 @@ -31,13 +38,13 @@ GabbyAndTy_EventScript_MoveForBattle3:: return GabbyAndTy_EventScript_MoveForBattle4:: - call GabbyAndTy_EventScript_ShowAtRoute111_3 + call GabbyAndTy_EventScript_ShowAtRoute111_2 call GabbyAndTy_EventScript_HideAtRoute120_1 return GabbyAndTy_EventScript_MoveForBattle5:: call GabbyAndTy_EventScript_ShowAtRoute118_2 - call GabbyAndTy_EventScript_HideAtRoute111_3 + call GabbyAndTy_EventScript_HideAtRoute111_2 return GabbyAndTy_EventScript_MoveForBattle6:: @@ -46,13 +53,13 @@ GabbyAndTy_EventScript_MoveForBattle6:: return GabbyAndTy_EventScript_MoveForBattle7:: - call GabbyAndTy_EventScript_ShowAtRoute111_2 + call GabbyAndTy_EventScript_ShowAtRoute111_3 call GabbyAndTy_EventScript_HideAtRoute120_2 return GabbyAndTy_EventScript_MoveForBattle8:: call GabbyAndTy_EventScript_ShowAtRoute118_3 - call GabbyAndTy_EventScript_HideAtRoute111_2 + call GabbyAndTy_EventScript_HideAtRoute111_3 return GabbyAndTy_EventScript_MoveForBattle9:: @@ -84,12 +91,12 @@ GabbyAndTy_EventScript_ShowAtRoute120_1:: clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 return -GabbyAndTy_EventScript_HideAtRoute111_3:: - setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 +GabbyAndTy_EventScript_HideAtRoute111_2:: + setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 return -GabbyAndTy_EventScript_ShowAtRoute111_3:: - clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 +GabbyAndTy_EventScript_ShowAtRoute111_2:: + clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 return GabbyAndTy_EventScript_HideAtRoute118_2:: @@ -108,12 +115,12 @@ GabbyAndTy_EventScript_ShowAtRoute120_2:: clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 return -GabbyAndTy_EventScript_HideAtRoute111_2:: - setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 +GabbyAndTy_EventScript_HideAtRoute111_3:: + setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 return -GabbyAndTy_EventScript_ShowAtRoute111_2:: - clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 +GabbyAndTy_EventScript_ShowAtRoute111_3:: + clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 return GabbyAndTy_EventScript_HideAtRoute118_3:: diff --git a/data/scripts/lilycove_lady.inc b/data/scripts/lilycove_lady.inc index 5519de9791..0eb8be19ba 100644 --- a/data/scripts/lilycove_lady.inc +++ b/data/scripts/lilycove_lady.inc @@ -1,6 +1,3 @@ -.set LOCALID_LILYCOVE_LADY, 4 -.set LOCALID_LADYS_MON, 5 - LilycoveCity_PokemonCenter_1F_EventScript_LilycoveLady:: special Script_GetLilycoveLadyId switch VAR_RESULT @@ -390,7 +387,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock:: applymovement LOCALID_LILYCOVE_LADY, LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon waitmovement 0 delay 60 - applymovement LOCALID_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady + applymovement LOCALID_LILYCOVE_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady waitmovement 0 delay 60 waitse @@ -403,7 +400,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock:: @ VAR_0x8004 here is the return value from GivePokeblockToContestLady LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock:: - applymovement LOCALID_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonJump + applymovement LOCALID_LILYCOVE_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonJump waitmovement 0 delay 60 LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock:: diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc index a336360436..7c16242ef9 100644 --- a/data/scripts/mauville_man.inc +++ b/data/scripts/mauville_man.inc @@ -18,7 +18,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_Bard:: end MauvilleCity_PokemonCenter_1F_EventScript_PlaySong:: - setvar VAR_0x8004, 0 + setvar VAR_0x8004, FALSE @ Play his current song special PlayBardSong delay 60 special HasBardSongBeenChanged @@ -45,7 +45,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics:: faceplayer goto_if_eq VAR_RESULT, 0, MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics msgbox MauvilleCity_PokemonCenter_1F_Text_LetMeSingItForYou, MSGBOX_DEFAULT - setvar VAR_0x8004, 1 + setvar VAR_0x8004, TRUE @ Play the new song special PlayBardSong delay 60 msgbox MauvilleCity_PokemonCenter_1F_Text_ThatHowYouWantedSongToGo, MSGBOX_YESNO diff --git a/data/scripts/new_game.inc b/data/scripts/new_game.inc index e9c8dd8d56..1803199e42 100644 --- a/data/scripts/new_game.inc +++ b/data/scripts/new_game.inc @@ -161,10 +161,10 @@ EventScript_ResetAllMapFlags:: setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 - setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 + setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 - setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 + setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc index e982858e7b..6831a75b6e 100644 --- a/data/scripts/obtain_item.inc +++ b/data/scripts/obtain_item.inc @@ -118,8 +118,8 @@ EventScript_PickUpItem:: waitfanfare waitmessage bufferitemnameplural STR_VAR_2, VAR_0x8004, VAR_0x8005 - pyramid_inchallenge - goto_if_eq VAR_RESULT, TRUE, EventScript_PutBattlePyramidItemInBag + pyramid_getlocation + goto_if_eq VAR_RESULT, PYRAMID_LOCATION_FLOOR, EventScript_PutBattlePyramidItemInBag msgbox gText_PutItemInPocket, MSGBOX_DEFAULT return diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index caa4e69551..4bcb31aa24 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -1,8 +1,3 @@ -@ Local IDs are the same for both players houses -.set LOCALID_MOM, 1 -.set LOCALID_DAD, 5 -.set LOCALID_MOM_2F, 14 - PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet:: setvar VAR_LITTLEROOT_INTRO_STATE, 5 return @@ -16,19 +11,19 @@ PlayersHouse_1F_EventScript_EnterHouseMovingIn:: msgbox PlayersHouse_1F_Text_MoversPokemonGoSetClock, MSGBOX_DEFAULT closemessage setvar VAR_LITTLEROOT_INTRO_STATE, 4 - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerWalkIn + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerWalkIn applymovement VAR_0x8004, Common_Movement_WalkInPlaceFasterUp waitmovement 0 releaseall end PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return @@ -40,7 +35,7 @@ PlayersHouse_1F_EventScript_MomGoSeeRoom:: msgbox PlayersHouse_1F_Text_ArentYouInterestedInRoom, MSGBOX_DEFAULT closemessage applymovement VAR_0x8004, Common_Movement_WalkInPlaceFasterUp - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_MovePlayerAwayFromDoor + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_MovePlayerAwayFromDoor waitmovement 0 releaseall end @@ -75,11 +70,11 @@ PlayersHouse_2F_EventScript_WallClock:: end PlayersHouse_2F_EventScript_MomComesUpstairsMale:: - setvar VAR_0x8008, LOCALID_MOM_2F + setvar VAR_0x8008, LOCALID_PLAYERS_HOUSE_2F_MOM addobject VAR_0x8008 applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomEntersMale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox PlayersHouse_2F_Text_HowDoYouLikeYourRoom, MSGBOX_DEFAULT closemessage @@ -88,11 +83,11 @@ PlayersHouse_2F_EventScript_MomComesUpstairsMale:: return PlayersHouse_2F_EventScript_MomComesUpstairsFemale:: - setvar VAR_0x8008, LOCALID_MOM_2F + setvar VAR_0x8008, LOCALID_PLAYERS_HOUSE_2F_MOM addobject VAR_0x8008 applymovement VAR_0x8008, PlayersHouse_2F_Movement_MomEntersFemale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox PlayersHouse_2F_Text_HowDoYouLikeYourRoom, MSGBOX_DEFAULT closemessage @@ -153,17 +148,17 @@ PlayersHouse_1F_EventScript_PetalburgGymReportMale:: applymovement VAR_0x8005, Common_Movement_WalkInPlaceFasterRight waitmovement 0 call PlayersHouse_1F_EventScript_MomNoticeGymBroadcast - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymMale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymMale waitmovement 0 playbgm MUS_ENCOUNTER_INTERVIEWER, FALSE msgbox PlayersHouse_1F_Text_MaybeDadWillBeOn, MSGBOX_DEFAULT closemessage applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomMakeRoomToSeeTVMale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVMale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVMale waitmovement 0 call PlayersHouse_1F_EventScript_WatchGymBroadcast - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 msgbox PlayersHouse_1F_Text_ItsOverWeMissedHim, MSGBOX_DEFAULT msgbox PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor, MSGBOX_DEFAULT @@ -178,17 +173,17 @@ PlayersHouse_1F_EventScript_PetalburgGymReportFemale:: applymovement VAR_0x8005, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 call PlayersHouse_1F_EventScript_MomNoticeGymBroadcast - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymFemale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForGymFemale waitmovement 0 playbgm MUS_ENCOUNTER_INTERVIEWER, FALSE msgbox PlayersHouse_1F_Text_MaybeDadWillBeOn, MSGBOX_DEFAULT closemessage applymovement VAR_0x8005, PlayersHouse_1F_Movement_MomMakeRoomToSeeTVFemale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVFemale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerMoveToTVFemale waitmovement 0 call PlayersHouse_1F_EventScript_WatchGymBroadcast - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 msgbox PlayersHouse_1F_Text_ItsOverWeMissedHim, MSGBOX_DEFAULT msgbox PlayersHouse_1F_Text_GoIntroduceYourselfNextDoor, MSGBOX_DEFAULT @@ -210,7 +205,7 @@ PlayersHouse_1F_EventScript_MomNoticeGymBroadcast:: return PlayersHouse_1F_EventScript_WatchGymBroadcast:: - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp waitmovement 0 msgbox PlayersHouse_1F_Text_ReportFromPetalburgGym, MSGBOX_DEFAULT fadedefaultbgm @@ -492,14 +487,14 @@ PlayersHouse_1F_EventScript_AirLatiBroadcast:: PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale:: setvar VAR_0x8008, MALE - setvar VAR_0x8009, LOCALID_DAD - setvar VAR_0x800A, LOCALID_MOM + setvar VAR_0x8009, LOCALID_PLAYERS_HOUSE_1F_DAD + setvar VAR_0x800A, LOCALID_PLAYERS_HOUSE_1F_MOM return PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale:: setvar VAR_0x8008, FEMALE - setvar VAR_0x8009, LOCALID_DAD - setvar VAR_0x800A, LOCALID_MOM + setvar VAR_0x8009, LOCALID_PLAYERS_HOUSE_1F_DAD + setvar VAR_0x800A, LOCALID_PLAYERS_HOUSE_1F_MOM return PlayersHouse_1F_EventScript_DadApproachPlayerMale:: @@ -527,38 +522,38 @@ PlayersHouse_1F_EventScript_MomApproachDadFemale:: return PlayersHouse_1F_EventScript_DadExitsMale:: - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadExitsMale waitmovement 0 return PlayersHouse_1F_EventScript_DadExitsFemale:: - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomAndPlayerWatchDadExit applymovement VAR_0x8009, PlayersHouse_1F_Movement_DadExitsFemale waitmovement 0 return PlayersHouse_1F_EventScript_PlayerEnterRoomMale:: - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomMale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomMale waitmovement 0 return PlayersHouse_1F_EventScript_PlayerEnterRoomFemale:: - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomFemale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerEnterRoomFemale waitmovement 0 return PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale:: - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiMale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiMale waitmovement 0 applymovement VAR_0x800A, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale:: - applymovement OBJ_EVENT_ID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiFemale + applymovement LOCALID_PLAYER, PlayersHouse_1F_Movement_PlayerApproachTVForLatiFemale waitmovement 0 applymovement VAR_0x800A, Common_Movement_WalkInPlaceFasterRight waitmovement 0 @@ -567,14 +562,14 @@ PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale:: PlayersHouse_1F_EventScript_MomApproachPlayerMale:: applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerMale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return PlayersHouse_1F_EventScript_MomApproachPlayerFemale:: applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerFemale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return @@ -591,14 +586,14 @@ PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale:: PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale:: applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerAfterTVMale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterRight waitmovement 0 return PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale:: applymovement VAR_0x800A, PlayersHouse_1F_Movement_MomApproachPlayerAfterTVFemale waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft + applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterLeft waitmovement 0 return diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index eb6a90abdf..77e795a0eb 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -53,6 +53,9 @@ SafariZone_EventScript_ChoosePokeblock:: special OpenPokeblockCaseOnFeeder waitstate goto_if_ne VAR_RESULT, 0xFFFF, SafariZone_EventScript_PokeblockPlaced +#ifdef BUGFIX + releaseall @ Only gets called from EventScript_PokeBlockFeeder which uses lockall. +#endif end SafariZone_EventScript_PokeblockPlaced:: diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc index 918a9d6301..3387e380ef 100644 --- a/data/scripts/secret_base.inc +++ b/data/scripts/secret_base.inc @@ -144,7 +144,7 @@ SecretBase_EventScript_InitSecretBase:: end SecretBase_EventScript_FirstEntrance:: - applymovement OBJ_EVENT_ID_PLAYER, SecretBase_Movement_EnterBase + applymovement LOCALID_PLAYER, SecretBase_Movement_EnterBase waitmovement 0 setvar VAR_INIT_SECRET_BASE, 1 msgbox SecretBase_Text_WantToMakeYourSecretBaseHere, MSGBOX_YESNO diff --git a/data/scripts/trainer_hill.inc b/data/scripts/trainer_hill.inc index 1318f2e29b..e6fcef78a6 100644 --- a/data/scripts/trainer_hill.inc +++ b/data/scripts/trainer_hill.inc @@ -60,7 +60,7 @@ TrainerHill_1F_Movement_SetInvisible:: @ TRAINER_PHILLIP is an actual Trainer on the SS Tidal, but is used as a placeholder here TrainerHill_EventScript_TrainerBattle:: - trainerbattle TRAINER_BATTLE_HILL, TRAINER_PHILLIP, 0, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText + trainerbattle TRAINER_BATTLE_HILL, TRAINER_PHILLIP, LOCALID_NONE, BattleFacility_TrainerBattle_PlaceholderText, BattleFacility_TrainerBattle_PlaceholderText trainerhill_postbattletext waitmessage waitbuttonpress diff --git a/graphics/battle_terrain/building/anim_map.bin b/graphics/battle_environment/building/anim_map.bin similarity index 100% rename from graphics/battle_terrain/building/anim_map.bin rename to graphics/battle_environment/building/anim_map.bin diff --git a/graphics/battle_terrain/building/anim_tiles.png b/graphics/battle_environment/building/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/building/anim_tiles.png rename to graphics/battle_environment/building/anim_tiles.png diff --git a/graphics/battle_terrain/building/map.bin b/graphics/battle_environment/building/map.bin similarity index 100% rename from graphics/battle_terrain/building/map.bin rename to graphics/battle_environment/building/map.bin diff --git a/graphics/battle_terrain/building/palette.pal b/graphics/battle_environment/building/palette.pal similarity index 100% rename from graphics/battle_terrain/building/palette.pal rename to graphics/battle_environment/building/palette.pal diff --git a/graphics/battle_terrain/building/palette2.pal b/graphics/battle_environment/building/palette2.pal similarity index 100% rename from graphics/battle_terrain/building/palette2.pal rename to graphics/battle_environment/building/palette2.pal diff --git a/graphics/battle_terrain/building/palette3.pal b/graphics/battle_environment/building/palette3.pal similarity index 100% rename from graphics/battle_terrain/building/palette3.pal rename to graphics/battle_environment/building/palette3.pal diff --git a/graphics/battle_terrain/building/tiles.png b/graphics/battle_environment/building/tiles.png similarity index 100% rename from graphics/battle_terrain/building/tiles.png rename to graphics/battle_environment/building/tiles.png diff --git a/graphics/battle_terrain/cave/anim_map.bin b/graphics/battle_environment/cave/anim_map.bin similarity index 100% rename from graphics/battle_terrain/cave/anim_map.bin rename to graphics/battle_environment/cave/anim_map.bin diff --git a/graphics/battle_terrain/cave/anim_tiles.png b/graphics/battle_environment/cave/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/cave/anim_tiles.png rename to graphics/battle_environment/cave/anim_tiles.png diff --git a/graphics/battle_terrain/cave/groudon.pal b/graphics/battle_environment/cave/groudon.pal similarity index 100% rename from graphics/battle_terrain/cave/groudon.pal rename to graphics/battle_environment/cave/groudon.pal diff --git a/graphics/battle_terrain/cave/map.bin b/graphics/battle_environment/cave/map.bin similarity index 100% rename from graphics/battle_terrain/cave/map.bin rename to graphics/battle_environment/cave/map.bin diff --git a/graphics/battle_terrain/cave/palette.pal b/graphics/battle_environment/cave/palette.pal similarity index 100% rename from graphics/battle_terrain/cave/palette.pal rename to graphics/battle_environment/cave/palette.pal diff --git a/graphics/battle_terrain/cave/tiles.png b/graphics/battle_environment/cave/tiles.png similarity index 100% rename from graphics/battle_terrain/cave/tiles.png rename to graphics/battle_environment/cave/tiles.png diff --git a/graphics/battle_terrain/long_grass/anim_map.bin b/graphics/battle_environment/long_grass/anim_map.bin similarity index 100% rename from graphics/battle_terrain/long_grass/anim_map.bin rename to graphics/battle_environment/long_grass/anim_map.bin diff --git a/graphics/battle_terrain/long_grass/anim_tiles.png b/graphics/battle_environment/long_grass/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/long_grass/anim_tiles.png rename to graphics/battle_environment/long_grass/anim_tiles.png diff --git a/graphics/battle_terrain/long_grass/map.bin b/graphics/battle_environment/long_grass/map.bin similarity index 100% rename from graphics/battle_terrain/long_grass/map.bin rename to graphics/battle_environment/long_grass/map.bin diff --git a/graphics/battle_terrain/long_grass/palette.pal b/graphics/battle_environment/long_grass/palette.pal similarity index 100% rename from graphics/battle_terrain/long_grass/palette.pal rename to graphics/battle_environment/long_grass/palette.pal diff --git a/graphics/battle_terrain/long_grass/tiles.png b/graphics/battle_environment/long_grass/tiles.png similarity index 100% rename from graphics/battle_terrain/long_grass/tiles.png rename to graphics/battle_environment/long_grass/tiles.png diff --git a/graphics/battle_terrain/plain/palette.pal b/graphics/battle_environment/plain/palette.pal similarity index 100% rename from graphics/battle_terrain/plain/palette.pal rename to graphics/battle_environment/plain/palette.pal diff --git a/graphics/battle_terrain/pond_water/anim_map.bin b/graphics/battle_environment/pond_water/anim_map.bin similarity index 100% rename from graphics/battle_terrain/pond_water/anim_map.bin rename to graphics/battle_environment/pond_water/anim_map.bin diff --git a/graphics/battle_terrain/pond_water/anim_tiles.png b/graphics/battle_environment/pond_water/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/pond_water/anim_tiles.png rename to graphics/battle_environment/pond_water/anim_tiles.png diff --git a/graphics/battle_terrain/pond_water/map.bin b/graphics/battle_environment/pond_water/map.bin similarity index 100% rename from graphics/battle_terrain/pond_water/map.bin rename to graphics/battle_environment/pond_water/map.bin diff --git a/graphics/battle_terrain/pond_water/palette.pal b/graphics/battle_environment/pond_water/palette.pal similarity index 100% rename from graphics/battle_terrain/pond_water/palette.pal rename to graphics/battle_environment/pond_water/palette.pal diff --git a/graphics/battle_terrain/pond_water/tiles.png b/graphics/battle_environment/pond_water/tiles.png similarity index 100% rename from graphics/battle_terrain/pond_water/tiles.png rename to graphics/battle_environment/pond_water/tiles.png diff --git a/graphics/battle_terrain/rock/anim_map.bin b/graphics/battle_environment/rock/anim_map.bin similarity index 100% rename from graphics/battle_terrain/rock/anim_map.bin rename to graphics/battle_environment/rock/anim_map.bin diff --git a/graphics/battle_terrain/rock/anim_tiles.png b/graphics/battle_environment/rock/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/rock/anim_tiles.png rename to graphics/battle_environment/rock/anim_tiles.png diff --git a/graphics/battle_terrain/rock/map.bin b/graphics/battle_environment/rock/map.bin similarity index 100% rename from graphics/battle_terrain/rock/map.bin rename to graphics/battle_environment/rock/map.bin diff --git a/graphics/battle_terrain/rock/palette.pal b/graphics/battle_environment/rock/palette.pal similarity index 100% rename from graphics/battle_terrain/rock/palette.pal rename to graphics/battle_environment/rock/palette.pal diff --git a/graphics/battle_terrain/rock/tiles.png b/graphics/battle_environment/rock/tiles.png similarity index 100% rename from graphics/battle_terrain/rock/tiles.png rename to graphics/battle_environment/rock/tiles.png diff --git a/graphics/battle_terrain/sand/anim_map.bin b/graphics/battle_environment/sand/anim_map.bin similarity index 100% rename from graphics/battle_terrain/sand/anim_map.bin rename to graphics/battle_environment/sand/anim_map.bin diff --git a/graphics/battle_terrain/sand/anim_tiles.png b/graphics/battle_environment/sand/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/sand/anim_tiles.png rename to graphics/battle_environment/sand/anim_tiles.png diff --git a/graphics/battle_terrain/sand/map.bin b/graphics/battle_environment/sand/map.bin similarity index 100% rename from graphics/battle_terrain/sand/map.bin rename to graphics/battle_environment/sand/map.bin diff --git a/graphics/battle_terrain/sand/palette.pal b/graphics/battle_environment/sand/palette.pal similarity index 100% rename from graphics/battle_terrain/sand/palette.pal rename to graphics/battle_environment/sand/palette.pal diff --git a/graphics/battle_terrain/sand/tiles.png b/graphics/battle_environment/sand/tiles.png similarity index 100% rename from graphics/battle_terrain/sand/tiles.png rename to graphics/battle_environment/sand/tiles.png diff --git a/graphics/battle_terrain/sky/anim_map.bin b/graphics/battle_environment/sky/anim_map.bin similarity index 100% rename from graphics/battle_terrain/sky/anim_map.bin rename to graphics/battle_environment/sky/anim_map.bin diff --git a/graphics/battle_terrain/sky/anim_tiles.png b/graphics/battle_environment/sky/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/sky/anim_tiles.png rename to graphics/battle_environment/sky/anim_tiles.png diff --git a/graphics/battle_terrain/sky/map.bin b/graphics/battle_environment/sky/map.bin similarity index 100% rename from graphics/battle_terrain/sky/map.bin rename to graphics/battle_environment/sky/map.bin diff --git a/graphics/battle_terrain/sky/palette.pal b/graphics/battle_environment/sky/palette.pal similarity index 100% rename from graphics/battle_terrain/sky/palette.pal rename to graphics/battle_environment/sky/palette.pal diff --git a/graphics/battle_terrain/sky/tiles.png b/graphics/battle_environment/sky/tiles.png similarity index 100% rename from graphics/battle_terrain/sky/tiles.png rename to graphics/battle_environment/sky/tiles.png diff --git a/graphics/battle_terrain/stadium/battle_frontier.pal b/graphics/battle_environment/stadium/battle_frontier.pal similarity index 100% rename from graphics/battle_terrain/stadium/battle_frontier.pal rename to graphics/battle_environment/stadium/battle_frontier.pal diff --git a/graphics/battle_terrain/stadium/map.bin b/graphics/battle_environment/stadium/map.bin similarity index 100% rename from graphics/battle_terrain/stadium/map.bin rename to graphics/battle_environment/stadium/map.bin diff --git a/graphics/battle_terrain/stadium/palette1.pal b/graphics/battle_environment/stadium/palette1.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette1.pal rename to graphics/battle_environment/stadium/palette1.pal diff --git a/graphics/battle_terrain/stadium/palette2.pal b/graphics/battle_environment/stadium/palette2.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette2.pal rename to graphics/battle_environment/stadium/palette2.pal diff --git a/graphics/battle_terrain/stadium/palette3.pal b/graphics/battle_environment/stadium/palette3.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette3.pal rename to graphics/battle_environment/stadium/palette3.pal diff --git a/graphics/battle_terrain/stadium/palette4.pal b/graphics/battle_environment/stadium/palette4.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette4.pal rename to graphics/battle_environment/stadium/palette4.pal diff --git a/graphics/battle_terrain/stadium/palette5.pal b/graphics/battle_environment/stadium/palette5.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette5.pal rename to graphics/battle_environment/stadium/palette5.pal diff --git a/graphics/battle_terrain/stadium/palette6.pal b/graphics/battle_environment/stadium/palette6.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette6.pal rename to graphics/battle_environment/stadium/palette6.pal diff --git a/graphics/battle_terrain/stadium/palette7.pal b/graphics/battle_environment/stadium/palette7.pal similarity index 100% rename from graphics/battle_terrain/stadium/palette7.pal rename to graphics/battle_environment/stadium/palette7.pal diff --git a/graphics/battle_terrain/stadium/tiles.png b/graphics/battle_environment/stadium/tiles.png similarity index 100% rename from graphics/battle_terrain/stadium/tiles.png rename to graphics/battle_environment/stadium/tiles.png diff --git a/graphics/battle_terrain/tall_grass/anim_map.bin b/graphics/battle_environment/tall_grass/anim_map.bin similarity index 100% rename from graphics/battle_terrain/tall_grass/anim_map.bin rename to graphics/battle_environment/tall_grass/anim_map.bin diff --git a/graphics/battle_terrain/tall_grass/anim_tiles.png b/graphics/battle_environment/tall_grass/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/tall_grass/anim_tiles.png rename to graphics/battle_environment/tall_grass/anim_tiles.png diff --git a/graphics/battle_terrain/tall_grass/map.bin b/graphics/battle_environment/tall_grass/map.bin similarity index 100% rename from graphics/battle_terrain/tall_grass/map.bin rename to graphics/battle_environment/tall_grass/map.bin diff --git a/graphics/battle_terrain/tall_grass/palette.pal b/graphics/battle_environment/tall_grass/palette.pal similarity index 100% rename from graphics/battle_terrain/tall_grass/palette.pal rename to graphics/battle_environment/tall_grass/palette.pal diff --git a/graphics/battle_terrain/tall_grass/tiles.png b/graphics/battle_environment/tall_grass/tiles.png similarity index 100% rename from graphics/battle_terrain/tall_grass/tiles.png rename to graphics/battle_environment/tall_grass/tiles.png diff --git a/graphics/battle_terrain/underwater/anim_map.bin b/graphics/battle_environment/underwater/anim_map.bin similarity index 100% rename from graphics/battle_terrain/underwater/anim_map.bin rename to graphics/battle_environment/underwater/anim_map.bin diff --git a/graphics/battle_terrain/underwater/anim_tiles.png b/graphics/battle_environment/underwater/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/underwater/anim_tiles.png rename to graphics/battle_environment/underwater/anim_tiles.png diff --git a/graphics/battle_terrain/underwater/map.bin b/graphics/battle_environment/underwater/map.bin similarity index 100% rename from graphics/battle_terrain/underwater/map.bin rename to graphics/battle_environment/underwater/map.bin diff --git a/graphics/battle_terrain/underwater/palette.pal b/graphics/battle_environment/underwater/palette.pal similarity index 100% rename from graphics/battle_terrain/underwater/palette.pal rename to graphics/battle_environment/underwater/palette.pal diff --git a/graphics/battle_terrain/underwater/tiles.png b/graphics/battle_environment/underwater/tiles.png similarity index 100% rename from graphics/battle_terrain/underwater/tiles.png rename to graphics/battle_environment/underwater/tiles.png diff --git a/graphics/battle_terrain/water/anim_map.bin b/graphics/battle_environment/water/anim_map.bin similarity index 100% rename from graphics/battle_terrain/water/anim_map.bin rename to graphics/battle_environment/water/anim_map.bin diff --git a/graphics/battle_terrain/water/anim_tiles.png b/graphics/battle_environment/water/anim_tiles.png similarity index 100% rename from graphics/battle_terrain/water/anim_tiles.png rename to graphics/battle_environment/water/anim_tiles.png diff --git a/graphics/battle_terrain/water/kyogre.pal b/graphics/battle_environment/water/kyogre.pal similarity index 100% rename from graphics/battle_terrain/water/kyogre.pal rename to graphics/battle_environment/water/kyogre.pal diff --git a/graphics/battle_terrain/water/map.bin b/graphics/battle_environment/water/map.bin similarity index 100% rename from graphics/battle_terrain/water/map.bin rename to graphics/battle_environment/water/map.bin diff --git a/graphics/battle_terrain/water/palette.pal b/graphics/battle_environment/water/palette.pal similarity index 100% rename from graphics/battle_terrain/water/palette.pal rename to graphics/battle_environment/water/palette.pal diff --git a/graphics/battle_terrain/water/tiles.png b/graphics/battle_environment/water/tiles.png similarity index 100% rename from graphics/battle_terrain/water/tiles.png rename to graphics/battle_environment/water/tiles.png diff --git a/graphics/birch_speech/bg2.pal b/graphics/birch_speech/bg2.pal index 3457f9b455..33f619ee44 100644 --- a/graphics/birch_speech/bg2.pal +++ b/graphics/birch_speech/bg2.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -8 +16 255 255 164 255 255 106 222 222 90 @@ -9,3 +9,11 @@ JASC-PAL 123 123 49 90 90 32 57 57 16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/cave_transition/enter.pal b/graphics/cave_transition/enter.pal index fea15a1765..ec7a2b50e7 100644 --- a/graphics/cave_transition/enter.pal +++ b/graphics/cave_transition/enter.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -8 +16 148 197 172 16 16 16 32 32 32 @@ -9,3 +9,11 @@ JASC-PAL 82 82 82 98 98 98 115 115 115 +131 131 131 +148 148 148 +164 164 164 +180 180 180 +197 197 197 +213 213 213 +230 230 230 +255 255 255 diff --git a/graphics/cave_transition/exit.pal b/graphics/cave_transition/exit.pal deleted file mode 100644 index 09eb37624a..0000000000 --- a/graphics/cave_transition/exit.pal +++ /dev/null @@ -1,11 +0,0 @@ -JASC-PAL -0100 -8 -131 131 131 -148 148 148 -164 164 164 -180 180 180 -197 197 197 -213 213 213 -230 230 230 -255 255 255 diff --git a/graphics/fonts/japanese_frlg_female_font.png b/graphics/fonts/japanese_frlg_female.png similarity index 100% rename from graphics/fonts/japanese_frlg_female_font.png rename to graphics/fonts/japanese_frlg_female.png diff --git a/graphics/fonts/japanese_frlg_male_font.png b/graphics/fonts/japanese_frlg_male.png similarity index 100% rename from graphics/fonts/japanese_frlg_male_font.png rename to graphics/fonts/japanese_frlg_male.png diff --git a/graphics/misc/mirage_tower.png b/graphics/misc/mirage_tower.png index c851953d21..36890686f1 100644 Binary files a/graphics/misc/mirage_tower.png and b/graphics/misc/mirage_tower.png differ diff --git a/graphics/pokedex/bg_hoenn.pal b/graphics/pokedex/bg_hoenn.pal index 569c7821a9..01bd8a3a3d 100644 --- a/graphics/pokedex/bg_hoenn.pal +++ b/graphics/pokedex/bg_hoenn.pal @@ -1,6 +1,6 @@ JASC-PAL 0100 -48 +96 123 131 0 255 255 255 222 222 222 @@ -49,3 +49,51 @@ JASC-PAL 49 139 255 189 156 90 0 0 0 +123 131 0 +255 255 255 +255 238 0 +255 189 0 +255 115 0 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +49 213 74 +24 131 32 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +189 0 0 +74 148 180 +8 90 131 +189 156 90 +0 0 0 +123 131 0 +255 255 255 +197 32 32 +189 189 189 +164 164 164 +98 98 115 +41 57 65 +41 57 106 +0 0 41 +255 255 255 +238 246 57 +255 0 189 +180 205 246 +49 139 255 +189 156 90 +0 0 0 diff --git a/graphics/pokedex/caught_screen.pal b/graphics/pokedex/caught_screen.pal deleted file mode 100644 index 26da98a84c..0000000000 --- a/graphics/pokedex/caught_screen.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -123 131 0 -255 255 255 -255 238 0 -255 189 0 -255 115 0 -98 98 115 -41 57 65 -41 57 106 -0 0 41 -255 255 255 -238 246 57 -255 0 189 -49 213 74 -24 131 32 -189 156 90 -0 0 0 -123 131 0 -255 255 255 -197 32 32 -189 189 189 -164 164 164 -98 98 115 -41 57 65 -41 57 106 -0 0 41 -255 255 255 -238 246 57 -189 0 0 -74 148 180 -8 90 131 -189 156 90 -0 0 0 -123 131 0 -255 255 255 -197 32 32 -189 189 189 -164 164 164 -98 98 115 -41 57 65 -41 57 106 -0 0 41 -255 255 255 -238 246 57 -255 0 189 -180 205 246 -49 139 255 -189 156 90 -0 0 0 diff --git a/graphics/spinda_spots/spot_0.png b/graphics/pokemon/spinda/spots/spot_0.png similarity index 100% rename from graphics/spinda_spots/spot_0.png rename to graphics/pokemon/spinda/spots/spot_0.png diff --git a/graphics/spinda_spots/spot_1.png b/graphics/pokemon/spinda/spots/spot_1.png similarity index 100% rename from graphics/spinda_spots/spot_1.png rename to graphics/pokemon/spinda/spots/spot_1.png diff --git a/graphics/spinda_spots/spot_2.png b/graphics/pokemon/spinda/spots/spot_2.png similarity index 100% rename from graphics/spinda_spots/spot_2.png rename to graphics/pokemon/spinda/spots/spot_2.png diff --git a/graphics/spinda_spots/spot_3.png b/graphics/pokemon/spinda/spots/spot_3.png similarity index 100% rename from graphics/spinda_spots/spot_3.png rename to graphics/pokemon/spinda/spots/spot_3.png diff --git a/graphics/title_screen/emerald_version.png b/graphics/title_screen/emerald_version.png index 2e8b32da98..9ee2992607 100644 Binary files a/graphics/title_screen/emerald_version.png and b/graphics/title_screen/emerald_version.png differ diff --git a/graphics/unused/.gitignore b/graphics/unused/.gitignore new file mode 100644 index 0000000000..b929a6cae7 --- /dev/null +++ b/graphics/unused/.gitignore @@ -0,0 +1 @@ +redyellowgreen_frame.bin \ No newline at end of file diff --git a/graphics/unused/redyellowgreen_frame.bin b/graphics/unused/redyellowgreen_frame.bin deleted file mode 100644 index 6852998fb8..0000000000 Binary files a/graphics/unused/redyellowgreen_frame.bin and /dev/null differ diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 090620ebe8..05dfe5a2d5 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -21,7 +21,8 @@ JPCONTESTGFXDIR := graphics/contest/japanese POKEDEXGFXDIR := graphics/pokedex STARTERGFXDIR := graphics/starter_choose NAMINGGFXDIR := graphics/naming_screen -SPINDAGFXDIR := graphics/spinda_spots +SPINDAGFXDIR := graphics/pokemon/spinda/spots +TITLESCREENGFXDIR := graphics/title_screen types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark contest_types := cool beauty cute smart tough @@ -290,17 +291,21 @@ $(FONTGFXDIR)/short.fwjpnfont: $(FONTGFXDIR)/japanese_short.png $(FONTGFXDIR)/braille.fwjpnfont: $(FONTGFXDIR)/braille.png $(GFX) $< $@ -$(FONTGFXDIR)/frlg_male.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_male_font.png +$(FONTGFXDIR)/frlg_male.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_male.png $(GFX) $< $@ -$(FONTGFXDIR)/frlg_female.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_female_font.png +$(FONTGFXDIR)/frlg_female.fwjpnfont: $(FONTGFXDIR)/japanese_frlg_female.png $(GFX) $< $@ ### Miscellaneous ### -graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal + +$(TITLESCREENGFXDIR)/pokemon_logo.gbapal: %.gbapal: %.pal $(GFX) $< $@ -num_colors 224 +$(TITLESCREENGFXDIR)/emerald_version.8bpp: %.8bpp: %.png + $(GFX) $< $@ -mwidth 8 -mheight 4 + graphics/pokemon_jump/bg.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 63 -Wnum_tiles @@ -310,6 +315,9 @@ graphics/pokenav/region_map/map.8bpp: %.8bpp: %.png $(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 29 -Wnum_tiles +$(MISCGFXDIR)/mirage_tower.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 73 -Wnum_tiles + $(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \ $(BATINTGFXDIR)/textbox_1.gbapal @cat $^ >$@ diff --git a/include/AgbRfu_LinkManager.h b/include/AgbRfu_LinkManager.h index 3b38b85fc9..f8f3ca72ae 100644 --- a/include/AgbRfu_LinkManager.h +++ b/include/AgbRfu_LinkManager.h @@ -189,9 +189,9 @@ extern struct linkManagerTag lman; u32 rfu_LMAN_REQBN_softReset_and_checkID(void); void rfu_LMAN_requestChangeAgbClockMaster(void); -void rfu_LMAN_initializeRFU(INIT_PARAM *init_params); +void rfu_LMAN_initializeRFU(INIT_PARAM *init_parameters); u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16 name_accept_period, u16 *acceptable_serialNo_list); -void rfu_LMAN_stopManager(bool8 forced_stop_and_RFU_reset_flag); +void rfu_LMAN_stopManager(u8 forced_stop_and_RFU_reset_flag); void rfu_LMAN_setMSCCallback(void (*MSC_callback_p)(u16)); void rfu_LMAN_REQ_sendData(bool8 clockChangeFlag); void rfu_LMAN_powerDownRFU(void); diff --git a/include/bard_music.h b/include/bard_music.h index 2942fa8e47..6dcf966f67 100644 --- a/include/bard_music.h +++ b/include/bard_music.h @@ -1,39 +1,49 @@ #ifndef GUARD_BARD_MUSIC_H #define GUARD_BARD_MUSIC_H -struct BardSound +// The maximum number of BardSoundTemplates/BardSounds there can be for each easy chat word. +#define MAX_BARD_SOUNDS_PER_WORD 6 + +// The number of pitch tables there are for each pitch table size (see sPitchTables). +#define NUM_BARD_PITCH_TABLES_PER_SIZE 5 + +// This struct describes which phoneme song to play for the sound, and whether to +// make any adjustments to its length or volume. Very few sounds make any adjustments. +struct BardSoundTemplate { - /*0x00*/ u8 songLengthId; - /*0x01*/ s8 songLengthOffset; - /*0x02*/ u16 unused; - /*0x04*/ s16 volume; - /*0x06*/ u16 unused2; + u8 songId; + s8 lengthAdjustment; + u16 unused; // Only set on EC_WORD_WAAAH, and never read. + s16 volume; }; -struct BardPhoneme +// This is the length and pitch to play the phoneme song at. +// These will be calculated in 'CalcWordSounds'. +struct BardSound { - /*0x00*/ u16 length; - /*0x02*/ u16 pitch; + u16 length; + u16 pitch; }; struct BardSong { - /*0x00*/ u8 currWord; - /*0x01*/ u8 currPhoneme; - /*0x02*/ u8 phonemeTimer; - /*0x03*/ u8 state; - /*0x04*/ s16 length; - /*0x06*/ u16 volume; - /*0x08*/ s16 pitch; - /*0x0A*/ s16 voiceInflection; - /*0x0C*/ u16 lyrics[6]; - /*0x18*/ struct BardPhoneme phonemes[6]; - /*0x30*/ const struct BardSound *sound; + u8 lyricsIndex; + u8 soundIndex; + u8 timer; + u8 state; + s16 length; // Length of the sound for the word currently being sung (i.e. the sum of 'length' in all the current word's phonemes). + u16 volume; + s16 pitch; + s16 voiceInflection; + u16 lyrics[NUM_BARD_SONG_WORDS]; + struct BardSound sounds[MAX_BARD_SOUNDS_PER_WORD]; + const struct BardSoundTemplate *soundTemplates; }; extern const u16 gNumBardWords_Species; extern const u16 gNumBardWords_Moves; -const struct BardSound *GetWordSounds(u16 word); -void GetWordPhonemes(struct BardSong *song, u16 word); + +const struct BardSoundTemplate *GetWordSoundTemplates(u16 easyChatWord); +void CalcWordSounds(struct BardSong *song, u16 pitchTableIndex); #endif //GUARD_BARD_MUSIC_H diff --git a/include/battle.h b/include/battle.h index 68beaf219f..855f085de0 100644 --- a/include/battle.h +++ b/include/battle.h @@ -218,11 +218,11 @@ struct StatsArray struct BattleResources { - struct SecretBase* secretBase; + struct SecretBase *secretBase; struct ResourceFlags *flags; - struct BattleScriptsStack* battleScriptsStack; - struct BattleCallbacksStack* battleCallbackStack; - struct StatsArray* beforeLvlUp; + struct BattleScriptsStack *battleScriptsStack; + struct BattleCallbacksStack *battleCallbackStack; + struct StatsArray *beforeLvlUp; struct AI_ThinkingStruct *ai; struct BattleHistory *battleHistory; struct BattleScriptsStack *AI_ScriptsStack; @@ -420,7 +420,7 @@ struct BattleStruct u8 arenaTurnCounter; u8 turnSideTracker; u8 unused_6[3]; - u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party. + u8 givenExpMons; // Bits for enemy party's Pokémon that gave exp to player's party. u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte] u16 castformPalette[NUM_CASTFORM_FORMS][16]; union { @@ -440,7 +440,7 @@ struct BattleStruct u16 arenaStartHp[2]; u8 arenaLostPlayerMons; // Bits for party member, lost as in referee's decision, not by fainting. u8 arenaLostOpponentMons; - u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed pokemon. + u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed Pokémon. }; // The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, @@ -460,26 +460,26 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER typeArg = gBattleMoves[move].type; \ } -#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) -#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) +#define IS_TYPE_PHYSICAL(moveType) (moveType < TYPE_MYSTERY) +#define IS_TYPE_SPECIAL(moveType) (moveType > TYPE_MYSTERY) #define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0)) -#define IS_BATTLER_OF_TYPE(battlerId, type)((gBattleMons[battlerId].type1 == type || gBattleMons[battlerId].type2 == type)) -#define SET_BATTLER_TYPE(battlerId, type) \ +#define IS_BATTLER_OF_TYPE(battler, type) ((gBattleMons[battler].types[0] == type || gBattleMons[battler].types[1] == type)) +#define SET_BATTLER_TYPE(battler, type) \ { \ - gBattleMons[battlerId].type1 = type; \ - gBattleMons[battlerId].type2 = type; \ + gBattleMons[battler].types[0] = type; \ + gBattleMons[battler].types[1] = type; \ } -#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 -#define GET_STAT_BUFF_VALUE2(n)((n & 0xF0)) -#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40 +#define GET_STAT_BUFF_ID(n) ((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 +#define GET_STAT_BUFF_VALUE2(n) ((n & 0xF0)) +#define GET_STAT_BUFF_VALUE(n) (((n >> 4) & 7)) // 0x10, 0x20, 0x40 #define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit -#define SET_STAT_BUFF_VALUE(n)((((n) << 4) & 0xF0)) +#define SET_STAT_BUFF_VALUE(n) ((((n) << 4) & 0xF0)) -#define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) +#define SET_STATCHANGER(statId, stage, goesDown) (gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) // NOTE: The members of this struct have hard-coded offsets // in include/constants/battle_script_commands.h @@ -595,7 +595,7 @@ struct BattleSpriteData struct MonSpritesGfx { - void *firstDecompressed; // ptr to the decompressed sprite of the first pokemon + void *firstDecompressed; // ptr to the decompressed sprite of the first Pokémon union { void *ptr[MAX_BATTLERS_COUNT]; u8 *byte[MAX_BATTLERS_COUNT]; @@ -626,7 +626,7 @@ extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT]; extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT]; extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT]; extern u32 gBattleTypeFlags; -extern u8 gBattleTerrain; +extern u8 gBattleEnvironment; extern u32 gUnusedFirstBattleVar1; extern u8 *gBattleAnimBgTileBuffer; extern u8 *gBattleAnimBgTilemapBuffer; diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h index d23ad048a5..6415b34995 100644 --- a/include/battle_ai_script_commands.h +++ b/include/battle_ai_script_commands.h @@ -9,10 +9,10 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); -void ClearBattlerMoveHistory(u8 battlerId); -void RecordAbilityBattle(u8 battlerId, u8 abilityId); -void ClearBattlerAbilityHistory(u8 battlerId); -void RecordItemEffectBattle(u8 battlerId, u8 itemEffect); -void ClearBattlerItemEffectHistory(u8 battlerId); +void ClearBattlerMoveHistory(u8 battler); +void RecordAbilityBattle(u8 battler, u8 abilityId); +void ClearBattlerAbilityHistory(u8 battler); +void RecordItemEffectBattle(u8 battler, u8 itemEffect); +void ClearBattlerItemEffectHistory(u8 battler); #endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H diff --git a/include/battle_anim.h b/include/battle_anim.h index 455bf5f4cd..a9f27b0b38 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -57,20 +57,20 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo void DestroyAnimSprite(struct Sprite *sprite); void DestroyAnimVisualTask(u8 taskId); void DestroyAnimSoundTask(u8 taskId); -bool8 IsBattlerSpriteVisible(u8 battlerId); -void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible); +bool8 IsBattlerSpriteVisible(u8 battler); +void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible); bool8 IsContest(void); s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); s16 KeepPanInRange(s16 panArg, int oldPan); s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); void RelocateBattleBgPal(u16 paletteNum, u16 *dest, u32 offset, bool8 largeScreen); -void ResetBattleAnimBg(bool8); +void ResetBattleAnimBg(bool8 toBG2); // battle_intro.c void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); void DrawBattlerOnBg(int bgId, u8 x, u8 y, u8 battlerPosition, u8 paletteId, u8 *tiles, u16 *tilemap, u16 tilesOffset); -void HandleIntroSlide(u8 terrainId); +void HandleIntroSlide(u8 environment); int GetAnimBgAttribute(u8 bgId, u8 attributeId); // battle_anim_mons.c @@ -80,7 +80,7 @@ void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite); void AnimWeatherBallUp(struct Sprite *sprite); void AnimWeatherBallDown(struct Sprite *sprite); void AnimSpinningSparkle(struct Sprite *sprite); -void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); +void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y); void DestroySpriteAndMatrix(struct Sprite *sprite); void TranslateSpriteLinearFixedPoint(struct Sprite *sprite); void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); @@ -89,7 +89,7 @@ void StartAnimLinearTranslation(struct Sprite *sprite); void InitAnimArcTranslation(struct Sprite *sprite); bool8 AnimTranslateLinear(struct Sprite *sprite); void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); -u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId); +u8 GetBattlerSpriteCoord2(u8 battler, u8 coordType); void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite); u16 ArcTan2Neg(s16 x, s16 y); void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation); @@ -98,19 +98,19 @@ void TranslateSpriteLinearAndFlicker(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset); -s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr); -u8 GetBattlerYCoordWithElevation(u8 battlerId); +s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr); +u8 GetBattlerYCoordWithElevation(u8 battler); void WaitAnimForDuration(struct Sprite *sprite); void AnimTravelDiagonally(struct Sprite *sprite); void InitAnimLinearTranslation(struct Sprite *sprite); void AnimTranslateLinear_WithFollowup(struct Sprite *sprite); -u8 GetBattlerSpriteBGPriority(u8 battlerId); -void *LoadPointerFromVars(s16 bottom, s16 top); -void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr); +u8 GetBattlerSpriteBGPriority(u8 battler); +void *LoadPointerFromVars(s16 lo, s16 hi); +void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr); void InitPrioritiesForVisibleBattlers(void); -void GetBattleAnimBg1Data(struct BattleAnimBgData *); -void GetBattleAnimBgData(struct BattleAnimBgData *, u32 bgId); -u8 GetBattlerSpriteSubpriority(u8 battlerId); +void GetBattleAnimBg1Data(struct BattleAnimBgData *out); +void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId); +u8 GetBattlerSpriteSubpriority(u8 battler); bool8 TranslateAnimHorizontalArc(struct Sprite *sprite); void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite); void ResetSpriteRotScale(u8 spriteId); @@ -121,17 +121,17 @@ void SetBattlerSpriteYOffsetFromRotation(u8 spriteId); u32 GetBattlePalettesMask(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 anim1, bool8 anim2); u32 GetBattleMonSpritePalettesMask(u8 playerLeft, u8 playerRight, u8 opponentLeft, u8 opponentRight); u8 GetSpritePalIdxByBattler(u8 battler); -s16 CloneBattlerSpriteWithBlend(u8); -void DestroySpriteWithActiveSheet(struct Sprite *); -u8 CreateInvisibleSpriteCopy(int, u8, int); -void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *, const void *, bool32); -void AnimLoadCompressedBgGfx(u32, const u32 *, u32); -void UpdateAnimBg3ScreenSize(bool8); -void TranslateSpriteInGrowingCircle(struct Sprite *); +s16 CloneBattlerSpriteWithBlend(u8 animBattler); +void DestroySpriteWithActiveSheet(struct Sprite *sprite); +u8 CreateInvisibleSpriteCopy(int battler, u8 spriteId, int species); +void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData *data, const void *src, bool32 largeScreen); +void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset); +void UpdateAnimBg3ScreenSize(bool8 largeScreenSize); +void TranslateSpriteInGrowingCircle(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromYScale(u8 spriteId); void PrepareEruptAnimTaskData(struct Task *task, u8 spriteId, s16 xScaleStart, s16 yScaleStart, s16 xScaleEnd, s16 yScaleEnd, u16 duration); u8 UpdateEruptAnimTask(struct Task *task); -void DestroyAnimSpriteAndDisableBlend(struct Sprite *); +void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite); void AnimLoadCompressedBgTilemap(u32 bgId, const void *src); void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite); bool8 AnimFastTranslateLinear(struct Sprite *sprite); @@ -141,12 +141,12 @@ void TranslateSpriteLinear(struct Sprite *sprite); void AnimSpriteOnMonPos(struct Sprite *sprite); void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite); void TranslateSpriteInCircle(struct Sprite *sprite); -void SetGrayscaleOrOriginalPalette(u16 palNum, bool8 restoreOriginal); +void SetGrayscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); bool8 RunAffineAnimFromTaskData(struct Task *task); void AnimThrowProjectile(struct Sprite *sprite); -void GetBgDataForTransform(struct BattleAnimBgData *dest, u8 battlerId); -u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm); +void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battler); +u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battler, bool32 ignoreDeoxysForm); void ResetSpriteRotScale_PreserveAffine(struct Sprite *sprite); void Trade_MoveSelectedMonToTarget(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); @@ -178,18 +178,18 @@ enum BATTLER_COORD_ATTR_RAW_BOTTOM, }; -u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); +u8 GetBattlerSpriteCoord(u8 battler, u8 coordType); -bool8 IsBattlerSpritePresent(u8 battlerId); +bool8 IsBattlerSpritePresent(u8 battler); void ClearBattleAnimBg(u32 bgId); -u8 GetAnimBattlerSpriteId(u8 wantedBattler); +u8 GetAnimBattlerSpriteId(u8 animBattler); bool8 IsDoubleBattle(void); u8 GetBattleBgPaletteNum(void); -u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); -void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite *)); +u8 GetBattlerSpriteBGPriorityRank(u8 battler); +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*callback)(struct Sprite *)); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); -u8 GetBattlerSpriteDefault_Y(u8 battlerId); -u8 GetSubstituteSpriteDefault_Y(u8 battlerId); +u8 GetBattlerSpriteDefault_Y(u8 battler); +u8 GetSubstituteSpriteDefault_Y(u8 battler); // battle_anim_status_effects.c #define STAT_ANIM_PLUS1 14 @@ -212,25 +212,25 @@ enum { STAT_ANIM_PAL_MULTIPLE = 0xFF }; -void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); +void LaunchStatusAnimation(u8 battler, u8 statusAnimId); // battle_anim_ground.c void AnimTask_HorizontalShake(u8 taskId); // battle_anim_throw.c void TryShinyAnimation(u8 battler, struct Pokemon *mon); -u8 ItemIdToBallId(u16 itemId); +u8 ItemIdToBallId(u16 ballItem); u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId); -u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 spritePalNum, u32 selectedPalettes, u8 ballId); +u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 spritePalNum, u32 selectedPalettes, u8 ballId); // battle_anim_utility_funcs.c -void InitStatsChangeAnimation(u8); -void StartMonScrollingBgMask(u8 taskId, int unused, u16 scrollSpeed, u8 battler, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette); +void InitStatsChangeAnimation(u8 taskId); +void StartMonScrollingBgMask(u8 taskId, int UNUSED unused, u16 scrollSpeed, u8 battler, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette); // battle_anim_effects_1.c void SetSpriteNextToMonHead(u8 battler, struct Sprite *sprite); void AnimMoveTwisterParticle(struct Sprite *sprite); -void AnimParticleBurst(struct Sprite *); +void AnimParticleBurst(struct Sprite *sprite); // battle_anim_water.c void AnimWaterPulseRing(struct Sprite *sprite); @@ -241,9 +241,9 @@ void DestroyAnimSpriteAfterTimer(struct Sprite *sprite); // battle_anim_smokescreen.c u8 SmokescreenImpact(s16 x, s16 y, bool8 persist); -u32 UnpackSelectedBattlePalettes(s16); +u32 UnpackSelectedBattlePalettes(s16 selector); -u8 GetBattlerSpriteFinal_Y(u8, u16, u8); +u8 GetBattlerSpriteFinal_Y(u8 battler, u16 species, bool8 a3); extern const struct OamData gOamData_AffineOff_ObjNormal_8x16; extern const struct OamData gOamData_AffineNormal_ObjBlend_16x16; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 064c080f61..e4b368b89e 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -64,11 +64,65 @@ enum { REQUEST_TOUGH_RIBBON_BATTLE, }; +// Accessors for gBattleControllerExecFlags. +// +// These are provided for documentation purposes, to make the battle +// controller internals and the link communication internals more +// legible. Several of these have functions that you should call +// (e.g. MarkBattlerForControllerExec) instead of using these macros +// directly. + +#define MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler) \ + gBattleControllerExecFlags |= gBitTable[battler] + +#define MARK_BATTLE_CONTROLLER_IDLE_ON_LOCAL(battler) \ + gBattleControllerExecFlags &= ~gBitTable(battler) + +#define IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler) \ + (gBattleControllerExecFlags & gBitTable[battler]) + +#define MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battler) \ + gBattleControllerExecFlags |= gBitTable[battler] << (32 - MAX_BATTLERS_COUNT) + +#define MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battler) \ + gBattleControllerExecFlags &= ~((1 << 28) << (battler)) + +#define MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, playerId) \ + gBattleControllerExecFlags |= gBitTable[battler] << ((playerId) << 2) + +#define MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId) \ + gBattleControllerExecFlags &= ~(gBitTable[battler] << ((playerId) * 4)) + +#define IS_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, playerId) \ + (gBattleControllerExecFlags & (gBitTable[battler] << ((playerId) * 4))) + +// This actually checks if a specific controller is active on any player or if +// *any* controller is pending sync over link communications, but the macro name +// can only be so specific before it just gets ridiculous. +#define IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(battler) \ + (gBattleControllerExecFlags & ( \ + (gBitTable[battler]) \ + | (0xF << 28) \ + | (gBitTable[battler] << 4) \ + | (gBitTable[battler] << 8) \ + | (gBitTable[battler] << 12) \ + )) + // Special arguments for Battle Controller functions. -enum { // Values given to the emit functions to choose gBattleBufferA or gBattleBufferB - BUFFER_A, - BUFFER_B +enum { + // For commands sent from the core battle engine to a controller. + B_COMM_TO_CONTROLLER, // gBattleBufferA + + // For replies sent from a controller to the core battle engine. + B_COMM_TO_ENGINE, // gBattleBufferB + + // During local play, a controller must directly mark itself as + // inactive when it's done processing, whether or not it sends + // a reply. During multiplayer, it must NOT directly mark itself + // as inactive, but instead send one of these, with the player's + // multiplayer ID as data. + B_COMM_CONTROLLER_IS_DONE }; enum { @@ -124,8 +178,7 @@ struct ChooseMoveStruct u8 currentPp[MAX_MON_MOVES]; u8 maxPp[MAX_MON_MOVES]; u16 species; - u8 monType1; - u8 monType2; + u8 monTypes[2]; }; enum @@ -233,9 +286,9 @@ void BtlController_EmitCantSwitch(u8 bufferId); void BtlController_EmitPlaySE(u8 bufferId, u16 songId); void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); void BtlController_EmitFaintingCry(u8 bufferId); -void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId); +void BtlController_EmitIntroSlide(u8 bufferId, u8 environmentId); void BtlController_EmitIntroTrainerBallThrow(u8 bufferId); -void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags); +void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus *hpAndStatus, u8 flags); void BtlController_EmitHidePartyStatusSummary(u8 bufferId); void BtlController_EmitEndBounceEffect(u8 bufferId); void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); @@ -253,8 +306,8 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); void CB2_SetUpReshowBattleScreenAfterMenu(void); void CB2_SetUpReshowBattleScreenAfterMenu2(void); void Task_PlayerController_RestoreBgmAfterCry(u8 taskId); -void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); -void ActionSelectionDestroyCursorAt(u8 cursorPos); +void ActionSelectionCreateCursorAt(u8 cursorPosition, u8 baseTileNum); +void ActionSelectionDestroyCursorAt(u8 cursorPosition); void InitMoveSelectionsVarsAndStrings(void); // recorded player controller diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 2a848e3d93..ba2afee1d9 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -7,39 +7,39 @@ u16 ChooseMoveAndTargetInBattlePalace(void); void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite); void SpriteCB_TrainerSlideIn(struct Sprite *sprite); void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); -bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); -void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); -bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); -bool8 IsBattleSEPlaying(u8 battlerId); -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId); -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument); +void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId); +bool8 IsMoveWithoutAnimation(u16 move, u8 animationTurn); +bool8 IsBattleSEPlaying(u8 battler); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battler); void BattleGfxSfxDummy2(u16 species); -void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); -void DecompressTrainerBackPic(u16 backPicId, u8 battlerId); +void DecompressTrainerFrontPic(u16 frontPicId, u8 battler); +void DecompressTrainerBackPic(u16 backPicId, u8 battler); void BattleGfxSfxDummy3(u8 gender); void FreeTrainerFrontPicPalette(u16 frontPicId); bool8 BattleLoadAllHealthBoxesGfx(u8 state); void LoadBattleBarGfx(u8 unused); -bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId); +bool8 BattleInitAllSprites(u8 *state1, u8 *battler); void ClearSpritesHealthboxAnimData(void); void CopyAllBattleSpritesInvisibilities(void); -void CopyBattleSpriteInvisibility(u8 battlerId); -void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool8 notTransform); -void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite); -void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId); -void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move); -void ClearBehindSubstituteBit(u8 battlerId); -void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); +void CopyBattleSpriteInvisibility(u8 battler); +void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform); +void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move); +void ClearBehindSubstituteBit(u8 battler); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler); void BattleStopLowHpSound(void); u8 GetMonHPBarLevel(struct Pokemon *mon); void HandleBattleLowHpMusicChange(void); void SetBattlerSpriteAffineMode(u8 affineMode); void LoadAndCreateEnemyShadowSprites(void); void SpriteCB_SetInvisible(struct Sprite *sprite); -void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species); -void HideBattlerShadowSprite(u8 battlerId); +void SetBattlerShadowSpriteCallback(u8 battler, u16 species); +void HideBattlerShadowSprite(u8 battler); void FillAroundBattleWindows(void); -void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute); +void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute); void AllocateMonSpritesGfx(void); void FreeMonSpritesGfx(void); bool32 ShouldPlayNormalMonCry(struct Pokemon *mon); diff --git a/include/battle_interface.h b/include/battle_interface.h index ed71b88454..08e7812a4d 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -65,11 +65,11 @@ enum u8 CreateBattlerHealthboxSprites(u8 battler); u8 CreateSafariPlayerHealthboxSprites(void); -void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); +void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue); void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); void SetHealthboxSpriteVisible(u8 healthboxSpriteId); void DestoryHealthboxSprite(u8 healthboxSpriteId); -void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); +void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBattlerOnly); void UpdateOamPriorityInAllHealthboxes(u8 priority); void InitBattlerHealthboxCoords(u8 battler); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); diff --git a/include/battle_main.h b/include/battle_main.h index e3e0cb7ea4..ea6e5bed41 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -23,9 +23,9 @@ struct MultiPartnerMenuPokemon }; // defines for the u8 array gTypeEffectiveness -#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) -#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) -#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) +#define TYPE_EFFECT_ATK_TYPE(i) ((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i) ((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i) ((gTypeEffectiveness[i + 2])) // defines for the gTypeEffectiveness multipliers #define TYPE_MUL_NO_EFFECT 0 @@ -49,7 +49,7 @@ void SpriteCB_VsLetterDummy(struct Sprite *sprite); void SpriteCB_VsLetterInit(struct Sprite *sprite); void CB2_InitEndLinkBattle(void); u32 GetBattleBgTemplateData(u8 arrayId, u8 caseId); -u32 GetBattleWindowTemplatePixelWidth(u32 setId, u32 tableId); +u32 GetBattleWindowTemplatePixelWidth(u32 windowsType, u32 tableId); void SpriteCB_WildMon(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void SpriteCB_FaintOpponentMon(struct Sprite *sprite); @@ -69,12 +69,12 @@ void SwitchInClearSetData(void); void FaintClearSetData(void); void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(void); -void SwitchPartyOrder(u8 battlerId); +void SwitchPartyOrder(u8 battler); void SwapTurnOrder(u8 id1, u8 id2); -u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves); +u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); -bool8 TryRunFromBattle(u8 battlerId); +bool8 TryRunFromBattle(u8 battler); void SpecialStatusesClear(void); extern struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE]; diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h index 62320358b6..d55d8d2e93 100644 --- a/include/battle_pyramid.h +++ b/include/battle_pyramid.h @@ -1,13 +1,15 @@ #ifndef GUARD_BATTLE_PYRAMID_H #define GUARD_BATTLE_PYRAMID_H +#include "constants/battle_pyramid.h" + void CallBattlePyramidFunction(void); u16 LocalIdToPyramidTrainerId(u8 localId); bool8 GetBattlePyramidTrainerFlag(u8 eventId); void MarkApproachingPyramidTrainersAsBattled(void); void GenerateBattlePyramidWildMon(void); u8 GetPyramidRunMultiplier(void); -u8 InBattlePyramid(void); +u8 CurrentBattlePyramidLocation(void); bool8 InBattlePyramid_(void); void PausePyramidChallenge(void); void SoftResetInBattlePyramid(void); @@ -15,7 +17,7 @@ void CopyPyramidTrainerSpeechBefore(u16 trainerId); void CopyPyramidTrainerWinSpeech(u16 trainerId); void CopyPyramidTrainerLoseSpeech(u16 trainerId); u8 GetTrainerEncounterMusicIdInBattlePyramid(u16 trainerId); -void GenerateBattlePyramidFloorLayout(u16 *mapArg, bool8 setPlayerPosition); +void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPosition); void LoadBattlePyramidObjectEventTemplates(void); void LoadBattlePyramidFloorObjectEventScripts(void); u8 GetNumBattlePyramidObjectEvents(void); diff --git a/include/battle_records.h b/include/battle_records.h index 88ff6adc96..fe71570389 100644 --- a/include/battle_records.h +++ b/include/battle_records.h @@ -4,7 +4,7 @@ extern u8 gRecordsWindowId; void ClearPlayerLinkBattleRecords(void); -void UpdatePlayerLinkBattleRecords(s32 battlerId); +void UpdatePlayerLinkBattleRecords(s32 battler); void ShowLinkBattleRecords(void); void RemoveRecordsWindow(void); void ShowTrainerHillRecords(void); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 5cb18ab460..fe6e98d460 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -10,18 +10,18 @@ // Arguments for 'xStart, yStart, xEnd, yEnd' in HandleBattleWindow #define YESNOBOX_X_Y 24, 8, 29, 13 -void AI_CalcDmg(u8 battlerIdAtk, u8 battlerIdDef); -u8 TypeCalc(u16 move, u8 battlerIdAtk, u8 battlerIdDef); +void AI_CalcDmg(u8 attacker, u8 defender); +u8 TypeCalc(u16 move, u8 attacker, u8 defender); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); -u8 GetBattlerTurnOrderNum(u8 battlerId); +u8 GetBattlerTurnOrderNum(u8 battler); void SetMoveEffect(bool8 primary, u8 certain); void BattleDestroyYesNoCursorAt(u8 cursorPosition); void BattleCreateYesNoCursorAt(u8 cursorPosition); void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); -bool8 UproarWakeUpCheck(u8 battlerId); +bool8 UproarWakeUpCheck(u8 battler); -extern void (* const gBattleScriptingCommandsTable[])(void); +extern void (*const gBattleScriptingCommandsTable[])(void); extern const u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4]; #endif // GUARD_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/battle_setup.h b/include/battle_setup.h index ee2837927b..41ab138115 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -27,7 +27,7 @@ void BattleSetup_StartLatiBattle(void); void BattleSetup_StartLegendaryBattle(void); void StartGroudonKyogreBattle(void); void StartRegiBattle(void); -u8 BattleSetup_GetTerrainId(void); +u8 BattleSetup_GetEnvironmentId(void); u8 GetSpecialBattleTransition(s32 id); void ChooseStarter(void); void ResetTrainerOpponentIds(void); diff --git a/include/battle_tv.h b/include/battle_tv.h index 72466d73b8..5766907637 100644 --- a/include/battle_tv.h +++ b/include/battle_tv.h @@ -6,6 +6,6 @@ void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruc void BattleTv_SetDataBasedOnAnimation(u8 animationId); void TryPutLinkBattleTvShowOnAir(void); void BattleTv_ClearExplosionFaintCause(void); -u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId); +u8 GetBattlerMoveSlotId(u8 battler, u16 move); #endif // GUARD_BATTLE_TV_H diff --git a/include/battle_util.h b/include/battle_util.h index c7de9aae86..3416451535 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -33,9 +33,9 @@ #define ABILITYEFFECT_WATER_SPORT 254 #define ABILITYEFFECT_SWITCH_IN_WEATHER 255 -#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0)) -#define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0)) -#define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0)) +#define ABILITY_ON_OPPOSING_FIELD(battler, abilityId) (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battler, abilityId, 0, 0)) +#define ABILITY_ON_FIELD(abilityId) (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0)) +#define ABILITY_ON_FIELD2(abilityId) (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0)) // For the first argument of ItemBattleEffects, to deteremine which block of item effects to try #define ITEMEFFECT_ON_SWITCH_IN 0 @@ -64,34 +64,34 @@ u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 target, u8 attacker, u16 move); void PressurePPLoseOnUsingPerishSong(u8 attacker); void PressurePPLoseOnUsingImprison(u8 attacker); -void MarkBattlerForControllerExec(u8 battlerId); -void MarkBattlerReceivedLinkData(u8 battlerId); -void CancelMultiTurnMoves(u8 battlerId); -bool8 WasUnableToUseMove(u8 battlerId); -void PrepareStringBattle(u16 stringId, u8 battlerId); +void MarkBattlerForControllerExec(u8 battler); +void MarkBattlerReceivedLinkData(u8 battler); +void CancelMultiTurnMoves(u8 battler); +bool8 WasUnableToUseMove(u8 battler); +void PrepareStringBattle(u16 stringId, u8 battler); void ResetSentPokesToOpponentValue(void); -void OpponentSwitchInResetSentPokesToOpponentValue(u8 battlerId); -void UpdateSentPokesToOpponentValue(u8 battlerId); +void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler); +void UpdateSentPokesToOpponentValue(u8 battler); void BattleScriptPush(const u8 *bsPtr); void BattleScriptPushCursor(void); void BattleScriptPop(void); u8 TrySetCantSelectMoveBattleScript(void); -u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check); +u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u8 check); bool8 AreAllMovesUnusable(void); -u8 GetImprisonedMovesCount(u8 battlerId, u16 move); +u8 GetImprisonedMovesCount(u8 battler, u16 move); u8 DoFieldEndTurnEffects(void); u8 DoBattlerEndTurnEffects(void); bool8 HandleWishPerishSongOnTurnEnd(void); bool8 HandleFaintedMonActions(void); void TryClearRageStatuses(void); u8 AtkCanceller_UnableToUseMove(void); -bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2); -u8 CastformDataTypeChange(u8 battlerId); -u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u8 ability, u8 special, u16 moveArg); +bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2); +u8 CastformDataTypeChange(u8 battler); +u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveArg); void BattleScriptExecute(const u8 *BS_ptr); void BattleScriptPushCursorAndCallback(const u8 *BS_ptr); -u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn); -void ClearFuryCutterDestinyBondGrudge(u8 battlerId); +u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn); +void ClearFuryCutterDestinyBondGrudge(u8 battler); void HandleAction_RunBattleScript(void); u8 GetMoveTarget(u16 move, u8 setTarget); u8 IsMonDisobedient(void); diff --git a/include/berry.h b/include/berry.h index 22b9158ee2..1adbe1cdbc 100644 --- a/include/berry.h +++ b/include/berry.h @@ -11,13 +11,12 @@ bool8 IsPlayerFacingEmptyBerryTreePatch(void); bool8 TryToWaterBerryTree(void); void ClearBerryTrees(void); void BerryTreeTimeUpdate(s32 minutes); -void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle); +void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 allowGrowth); void RemoveBerryTree(u8 id); u8 GetBerryTypeByBerryTreeId(u8 id); -u8 GetStageByBerryTreeId(u8); +u8 GetStageByBerryTreeId(u8 id); u8 ItemIdToBerryType(u16 item); void GetBerryNameByBerryType(u8 berry, u8 *string); -void ResetBerryTreeSparkleFlag(u8 id); void Bag_ChooseBerry(void); void ObjectEventInteractionGetBerryTreeData(void); void ObjectEventInteractionPlantBerryTree(void); diff --git a/gflib/bg.h b/include/bg.h similarity index 100% rename from gflib/bg.h rename to include/bg.h diff --git a/gflib/blit.h b/include/blit.h similarity index 100% rename from gflib/blit.h rename to include/blit.h diff --git a/include/cable_club.h b/include/cable_club.h index c493691c1c..5a68df621c 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -4,7 +4,7 @@ #include "task.h" #include "constants/cable_club.h" -void CreateTask_EnterCableClubSeat(TaskFunc taskFunc); +void CreateTask_EnterCableClubSeat(TaskFunc followupFunc); u8 CreateTask_ReestablishCableClubLink(void); void CB2_ReturnFromCableClubBattle(void); bool32 AreBattleTowerLinkSpeciesSame(u16 *speciesList1, u16 *speciesList2); diff --git a/include/constants/.gitignore b/include/constants/.gitignore new file mode 100644 index 0000000000..5923892b4f --- /dev/null +++ b/include/constants/.gitignore @@ -0,0 +1,6 @@ +# Will be moved to build/ eventually +map_groups.h +layouts.h +region_map_sections.h +map_event_ids.h +heal_locations.h diff --git a/include/constants/battle.h b/include/constants/battle.h index c4c1bc5e68..0bc9cc658e 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -23,12 +23,23 @@ * +---------------------------+ */ -#define MAX_BATTLERS_COUNT 4 +enum BattlerPosition +{ + B_POSITION_PLAYER_LEFT, + B_POSITION_OPPONENT_LEFT, + B_POSITION_PLAYER_RIGHT, + B_POSITION_OPPONENT_RIGHT, + MAX_POSITION_COUNT, +}; -#define B_POSITION_PLAYER_LEFT 0 -#define B_POSITION_OPPONENT_LEFT 1 -#define B_POSITION_PLAYER_RIGHT 2 -#define B_POSITION_OPPONENT_RIGHT 3 +enum BattlerId +{ + B_BATTLER_0, + B_BATTLER_1, + B_BATTLER_2, + B_BATTLER_3, + MAX_BATTLERS_COUNT, +}; // These macros can be used with either battler ID or positions to get the partner or the opposite mon #define BATTLE_OPPOSITE(id) ((id) ^ BIT_SIDE) @@ -176,7 +187,7 @@ #define HITMARKER_ATTACKSTRING_PRINTED (1 << 10) #define HITMARKER_NO_PPDEDUCT (1 << 11) #define HITMARKER_SWAP_ATTACKER_TARGET (1 << 12) -#define HITMARKER_IGNORE_SAFEGUARD (1 << 13) +#define HITMARKER_STATUS_ABILITY_EFFECT (1 << 13) #define HITMARKER_SYNCHRONISE_EFFECT (1 << 14) #define HITMARKER_RUN (1 << 15) #define HITMARKER_IGNORE_ON_AIR (1 << 16) @@ -296,17 +307,17 @@ #define MOVE_EFFECT_AFFECTS_USER (1 << 6) // 64 #define MOVE_EFFECT_CERTAIN (1 << 7) // 128 -// Battle terrain defines for gBattleTerrain. -#define BATTLE_TERRAIN_GRASS 0 -#define BATTLE_TERRAIN_LONG_GRASS 1 -#define BATTLE_TERRAIN_SAND 2 -#define BATTLE_TERRAIN_UNDERWATER 3 -#define BATTLE_TERRAIN_WATER 4 -#define BATTLE_TERRAIN_POND 5 -#define BATTLE_TERRAIN_MOUNTAIN 6 -#define BATTLE_TERRAIN_CAVE 7 -#define BATTLE_TERRAIN_BUILDING 8 -#define BATTLE_TERRAIN_PLAIN 9 +// Battle environment defines for gBattleEnvironment. +#define BATTLE_ENVIRONMENT_GRASS 0 +#define BATTLE_ENVIRONMENT_LONG_GRASS 1 +#define BATTLE_ENVIRONMENT_SAND 2 +#define BATTLE_ENVIRONMENT_UNDERWATER 3 +#define BATTLE_ENVIRONMENT_WATER 4 +#define BATTLE_ENVIRONMENT_POND 5 +#define BATTLE_ENVIRONMENT_MOUNTAIN 6 +#define BATTLE_ENVIRONMENT_CAVE 7 +#define BATTLE_ENVIRONMENT_BUILDING 8 +#define BATTLE_ENVIRONMENT_PLAIN 9 #define B_WAIT_TIME_LONG 64 #define B_WAIT_TIME_MED 48 diff --git a/include/constants/battle_palace.h b/include/constants/battle_palace.h index 8516550892..1d8c2f2dda 100644 --- a/include/constants/battle_palace.h +++ b/include/constants/battle_palace.h @@ -16,12 +16,12 @@ #define PALACE_DATA_WIN_STREAK 1 #define PALACE_DATA_WIN_STREAK_ACTIVE 2 -// Pokemon in Battle Palace have a move "group" type preference depending on nature +// Pokémon in Battle Palace have a move "group" type preference depending on nature #define PALACE_MOVE_GROUP_ATTACK 0 #define PALACE_MOVE_GROUP_DEFENSE 1 #define PALACE_MOVE_GROUP_SUPPORT 2 -// In palace doubles battles pokemon have a target preference depending on nature +// In palace doubles battles Pokémon have a target preference depending on nature #define PALACE_TARGET_STRONGER 0 #define PALACE_TARGET_WEAKER 1 #define PALACE_TARGET_RANDOM 2 diff --git a/include/constants/battle_pyramid.h b/include/constants/battle_pyramid.h index ac80a2d7d3..08fa695cf2 100644 --- a/include/constants/battle_pyramid.h +++ b/include/constants/battle_pyramid.h @@ -43,7 +43,7 @@ #define BATTLE_PYRAMID_FUNC_SET_TRAINERS 9 #define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT 10 #define BATTLE_PYRAMID_FUNC_UPDATE_STREAK 11 // unused -#define BATTLE_PYRAMID_FUNC_IS_IN 12 +#define BATTLE_PYRAMID_FUNC_CURRENT_LOCATION 12 #define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT 13 #define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS 14 #define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE 15 @@ -62,4 +62,8 @@ #define PYRAMID_LIGHT_SET_RADIUS 0 #define PYRAMID_LIGHT_INCR_RADIUS 1 +#define PYRAMID_LOCATION_NONE 0 // Not in the Pyramid +#define PYRAMID_LOCATION_FLOOR 1 +#define PYRAMID_LOCATION_TOP 2 + #endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H diff --git a/gflib/characters.h b/include/constants/characters.h similarity index 100% rename from gflib/characters.h rename to include/constants/characters.h diff --git a/include/constants/contest.h b/include/constants/contest.h index 905306203a..1ed0503550 100644 --- a/include/constants/contest.h +++ b/include/constants/contest.h @@ -155,6 +155,7 @@ #define CONTEST_EFFECT_TYPE_WORSEN 4 #define CONTEST_EFFECT_TYPE_SPECIAL_APPEAL 5 #define CONTEST_EFFECT_TYPE_TURN_ORDER 6 +#define CONTEST_EFFECT_TYPE_UNKNOWN 8 #define COMBO_STARTER_RAIN_DANCE 1 #define COMBO_STARTER_RAGE 2 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index c8fa942655..60a23041fa 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -1,6 +1,9 @@ #ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H #define GUARD_CONSTANTS_EVENT_OBJECTS_H +#include "constants/global.h" +#include "constants/map_event_ids.h" + #define OBJ_EVENT_GFX_BRENDAN_NORMAL 0 #define OBJ_EVENT_GFX_BRENDAN_MACH_BIKE 1 #define OBJ_EVENT_GFX_BRENDAN_SURFING 2 @@ -291,38 +294,18 @@ #define OBJ_KIND_NORMAL 0 #define OBJ_KIND_CLONE 255 // Exclusive to FRLG -// Special object event local ids -#define OBJ_EVENT_ID_PLAYER 0xFF -#define OBJ_EVENT_ID_CAMERA 0x7F +// Each object event template gets an ID that can be used to refer to it in scripts and elsewhere. +// This is referred to as the "local id" (and it's really just 1 + its index in the templates array). +// There are a few special IDs reserved for objects that don't have templates in the map data -- one for the player +// in regular offline play, five for linked players while playing Berry Blender, and one for an invisible object that +// can be spawned for the camera to track instead of the player. Additionally, the value 0 is reserved as an "empty" indicator. +#define LOCALID_NONE 0 +#define LOCALID_CAMERA 127 +#define LOCALID_BERRY_BLENDER_PLAYER_END 240 // This will use 5 (MAX_RFU_PLAYERS) IDs ending at 240, i.e. 236-240 +#define LOCALID_PLAYER 255 -// Object event local ids referenced in C files -#define LOCALID_ROUTE111_PLAYER_FALLING 45 -#define LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK 1 -#define LOCALID_FARAWAY_ISLAND_MEW 1 -#define LOCALID_UNION_ROOM_PLAYER_4 2 -#define LOCALID_UNION_ROOM_PLAYER_8 3 -#define LOCALID_UNION_ROOM_PLAYER_7 4 -#define LOCALID_UNION_ROOM_PLAYER_6 5 -#define LOCALID_UNION_ROOM_PLAYER_5 6 -#define LOCALID_UNION_ROOM_PLAYER_3 7 -#define LOCALID_UNION_ROOM_PLAYER_2 8 -#define LOCALID_UNION_ROOM_PLAYER_1 9 -#define LOCALID_BATTLE_TOWER_LOBBY_REPORTER 5 -#define LOCALID_TRUCK_BOX_TOP 1 -#define LOCALID_TRUCK_BOX_BOTTOM_L 2 -#define LOCALID_TRUCK_BOX_BOTTOM_R 3 -#define LOCALID_OLDALE_MART_CLERK 1 -#define LOCALID_LAVARIDGE_MART_CLERK 1 -#define LOCALID_FALLARBOR_MART_CLERK 1 -#define LOCALID_VERDANTURF_MART_CLERK 1 -#define LOCALID_PETALBURG_MART_CLERK 1 -#define LOCALID_SLATEPORT_MART_CLERK 1 -#define LOCALID_MAUVILLE_MART_CLERK 1 -#define LOCALID_RUSTBORO_MART_CLERK 1 -#define LOCALID_FORTREE_MART_CLERK 1 -#define LOCALID_MOSSDEEP_MART_CLERK 1 -#define LOCALID_SOOTOPOLIS_MART_CLERK 1 -#define LOCALID_BATTLE_FRONTIER_MART_CLERK 1 -#define LOCALID_SLATEPORT_ENERGY_GURU 25 +// Aliases for old names. "object event id" normally refers to an index into gObjectEvents, which these are not. +#define OBJ_EVENT_ID_CAMERA LOCALID_CAMERA +#define OBJ_EVENT_ID_PLAYER LOCALID_PLAYER #endif // GUARD_CONSTANTS_EVENT_OBJECTS_H diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h index 6659403313..1e08a47f95 100644 --- a/include/constants/field_specials.h +++ b/include/constants/field_specials.h @@ -62,7 +62,7 @@ #define DEPT_STORE_FLOORNUM_11F 14 #define DEPT_STORE_FLOORNUM_ROOFTOP 15 -// Lilycove Pokemon Trainer Fan Club +// Lilycove Pokémon Trainer Fan Club #define NUM_TRAINER_FAN_CLUB_MEMBERS 8 #define FANCLUB_GOT_FIRST_FANS 7 diff --git a/include/constants/field_weather.h b/include/constants/field_weather.h index e84dbc48c4..fe7eb6a1ae 100644 --- a/include/constants/field_weather.h +++ b/include/constants/field_weather.h @@ -8,6 +8,7 @@ #define NUM_FOG_DIAGONAL_SPRITES 20 #define NUM_SANDSTORM_SPRITES 20 #define NUM_SWIRL_SANDSTORM_SPRITES 5 +#define NUM_SNOWFLAKE_SPRITES 16 // Controls how the weather should be changing the screen palettes. #define WEATHER_PAL_STATE_CHANGING_WEATHER 0 diff --git a/include/constants/flags.h b/include/constants/flags.h index 8d98e3aa04..7b5c5edb45 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -2,6 +2,7 @@ #define GUARD_CONSTANTS_FLAGS_H #include "constants/opponents.h" +#include "constants/rematches.h" // Temporary Flags // These temporary flags are are cleared every time a map is loaded. They are used @@ -375,86 +376,89 @@ #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A #define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B -// Trainer Rematch Flags -#define FLAG_MATCH_CALL_REGISTERED 0x15C -#define FLAG_REMATCH_ROSE 0x15D -#define FLAG_REMATCH_ANDRES 0x15E -#define FLAG_REMATCH_DUSTY 0x15F -#define FLAG_REMATCH_LOLA 0x160 -#define FLAG_REMATCH_RICKY 0x161 -#define FLAG_REMATCH_LILA_AND_ROY 0x162 -#define FLAG_REMATCH_CRISTIN 0x163 -#define FLAG_REMATCH_BROOKE 0x164 -#define FLAG_REMATCH_WILTON 0x165 -#define FLAG_REMATCH_VALERIE 0x166 -#define FLAG_REMATCH_CINDY 0x167 -#define FLAG_REMATCH_THALIA 0x168 -#define FLAG_REMATCH_JESSICA 0x169 -#define FLAG_REMATCH_WINSTON 0x16A -#define FLAG_REMATCH_STEVE 0x16B -#define FLAG_REMATCH_TONY 0x16C -#define FLAG_REMATCH_NOB 0x16D -#define FLAG_REMATCH_KOJI 0x16E -#define FLAG_REMATCH_FERNANDO 0x16F -#define FLAG_REMATCH_DALTON 0x170 -#define FLAG_REMATCH_BERNIE 0x171 -#define FLAG_REMATCH_ETHAN 0x172 -#define FLAG_REMATCH_JOHN_AND_JAY 0x173 -#define FLAG_REMATCH_JEFFREY 0x174 -#define FLAG_REMATCH_CAMERON 0x175 -#define FLAG_REMATCH_JACKI 0x176 -#define FLAG_REMATCH_WALTER 0x177 -#define FLAG_REMATCH_KAREN 0x178 -#define FLAG_REMATCH_JERRY 0x179 -#define FLAG_REMATCH_ANNA_AND_MEG 0x17A -#define FLAG_REMATCH_ISABEL 0x17B -#define FLAG_REMATCH_MIGUEL 0x17C -#define FLAG_REMATCH_TIMOTHY 0x17D -#define FLAG_REMATCH_SHELBY 0x17E -#define FLAG_REMATCH_CALVIN 0x17F -#define FLAG_REMATCH_ELLIOT 0x180 -#define FLAG_REMATCH_ISAIAH 0x181 -#define FLAG_REMATCH_MARIA 0x182 -#define FLAG_REMATCH_ABIGAIL 0x183 -#define FLAG_REMATCH_DYLAN 0x184 -#define FLAG_REMATCH_KATELYN 0x185 -#define FLAG_REMATCH_BENJAMIN 0x186 -#define FLAG_REMATCH_PABLO 0x187 -#define FLAG_REMATCH_NICOLAS 0x188 -#define FLAG_REMATCH_ROBERT 0x189 -#define FLAG_REMATCH_LAO 0x18A -#define FLAG_REMATCH_CYNDY 0x18B -#define FLAG_REMATCH_MADELINE 0x18C -#define FLAG_REMATCH_JENNY 0x18D -#define FLAG_REMATCH_DIANA 0x18E -#define FLAG_REMATCH_AMY_AND_LIV 0x18F -#define FLAG_REMATCH_ERNEST 0x190 -#define FLAG_REMATCH_CORY 0x191 -#define FLAG_REMATCH_EDWIN 0x192 -#define FLAG_REMATCH_LYDIA 0x193 -#define FLAG_REMATCH_ISAAC 0x194 -#define FLAG_REMATCH_GABRIELLE 0x195 -#define FLAG_REMATCH_CATHERINE 0x196 -#define FLAG_REMATCH_JACKSON 0x197 -#define FLAG_REMATCH_HALEY 0x198 -#define FLAG_REMATCH_JAMES 0x199 -#define FLAG_REMATCH_TRENT 0x19A -#define FLAG_REMATCH_SAWYER 0x19B -#define FLAG_REMATCH_KIRA_AND_DAN 0x19C -#define FLAG_REMATCH_WALLY 0x19D -#define FLAG_REMATCH_ROXANNE 0x19E -#define FLAG_REMATCH_BRAWLY 0x19F -#define FLAG_REMATCH_WATTSON 0x1A0 -#define FLAG_REMATCH_FLANNERY 0x1A1 -#define FLAG_REMATCH_NORMAN 0x1A2 -#define FLAG_REMATCH_WINONA 0x1A3 -#define FLAG_REMATCH_TATE_AND_LIZA 0x1A4 -// Note: FLAG_REMATCH_JUAN is handled by FLAG_ENABLE_JUAN_MATCH_CALL instead. -#define FLAG_REMATCH_SIDNEY 0x1A5 -#define FLAG_REMATCH_PHOEBE 0x1A6 -#define FLAG_REMATCH_GLACIA 0x1A7 -#define FLAG_REMATCH_DRAKE 0x1A8 -#define FLAG_REMATCH_WALLACE 0x1A9 +// Flags for whether a rematchable trainer has been registered in the player's Match Call. +// Most are used implicitly by adding their REMATCH_* id to TRAINER_REGISTERED_FLAGS_START. +// Some Match Call entries (like those for gym leaders, Wally, and all non-trainer NPCs like Prof. Birch) +// have their own separate flag that needs to be set to be enabled; see src/pokenav_match_call_data.c +#define TRAINER_REGISTERED_FLAGS_START 0x15C +#define FLAG_REGISTERED_ROSE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROSE) +#define FLAG_REGISTERED_ANDRES (TRAINER_REGISTERED_FLAGS_START + REMATCH_ANDRES) +#define FLAG_REGISTERED_DUSTY (TRAINER_REGISTERED_FLAGS_START + REMATCH_DUSTY) +#define FLAG_REGISTERED_LOLA (TRAINER_REGISTERED_FLAGS_START + REMATCH_LOLA) +#define FLAG_REGISTERED_RICKY (TRAINER_REGISTERED_FLAGS_START + REMATCH_RICKY) +#define FLAG_REGISTERED_LILA_AND_ROY (TRAINER_REGISTERED_FLAGS_START + REMATCH_LILA_AND_ROY) +#define FLAG_REGISTERED_CRISTIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_CRISTIN) +#define FLAG_REGISTERED_BROOKE (TRAINER_REGISTERED_FLAGS_START + REMATCH_BROOKE) +#define FLAG_REGISTERED_WILTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WILTON) +#define FLAG_REGISTERED_VALERIE (TRAINER_REGISTERED_FLAGS_START + REMATCH_VALERIE) +#define FLAG_REGISTERED_CINDY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CINDY) +#define FLAG_REGISTERED_THALIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_THALIA) +#define FLAG_REGISTERED_JESSICA (TRAINER_REGISTERED_FLAGS_START + REMATCH_JESSICA) +#define FLAG_REGISTERED_WINSTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WINSTON) +#define FLAG_REGISTERED_STEVE (TRAINER_REGISTERED_FLAGS_START + REMATCH_STEVE) +#define FLAG_REGISTERED_TONY (TRAINER_REGISTERED_FLAGS_START + REMATCH_TONY) +#define FLAG_REGISTERED_NOB (TRAINER_REGISTERED_FLAGS_START + REMATCH_NOB) +#define FLAG_REGISTERED_KOJI (TRAINER_REGISTERED_FLAGS_START + REMATCH_KOJI) +#define FLAG_REGISTERED_FERNANDO (TRAINER_REGISTERED_FLAGS_START + REMATCH_FERNANDO) +#define FLAG_REGISTERED_DALTON (TRAINER_REGISTERED_FLAGS_START + REMATCH_DALTON) +#define FLAG_REGISTERED_BERNIE (TRAINER_REGISTERED_FLAGS_START + REMATCH_BERNIE) +#define FLAG_REGISTERED_ETHAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_ETHAN) +#define FLAG_REGISTERED_JOHN_AND_JAY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JOHN_AND_JAY) +#define FLAG_REGISTERED_JEFFREY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JEFFREY) +#define FLAG_REGISTERED_CAMERON (TRAINER_REGISTERED_FLAGS_START + REMATCH_CAMERON) +#define FLAG_REGISTERED_JACKI (TRAINER_REGISTERED_FLAGS_START + REMATCH_JACKI) +#define FLAG_REGISTERED_WALTER (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALTER) +#define FLAG_REGISTERED_KAREN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KAREN) +#define FLAG_REGISTERED_JERRY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JERRY) +#define FLAG_REGISTERED_ANNA_AND_MEG (TRAINER_REGISTERED_FLAGS_START + REMATCH_ANNA_AND_MEG) +#define FLAG_REGISTERED_ISABEL (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISABEL) +#define FLAG_REGISTERED_MIGUEL (TRAINER_REGISTERED_FLAGS_START + REMATCH_MIGUEL) +#define FLAG_REGISTERED_TIMOTHY (TRAINER_REGISTERED_FLAGS_START + REMATCH_TIMOTHY) +#define FLAG_REGISTERED_SHELBY (TRAINER_REGISTERED_FLAGS_START + REMATCH_SHELBY) +#define FLAG_REGISTERED_CALVIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_CALVIN) +#define FLAG_REGISTERED_ELLIOT (TRAINER_REGISTERED_FLAGS_START + REMATCH_ELLIOT) +#define FLAG_REGISTERED_ISAIAH (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISAIAH) +#define FLAG_REGISTERED_MARIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_MARIA) +#define FLAG_REGISTERED_ABIGAIL (TRAINER_REGISTERED_FLAGS_START + REMATCH_ABIGAIL) +#define FLAG_REGISTERED_DYLAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_DYLAN) +#define FLAG_REGISTERED_KATELYN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KATELYN) +#define FLAG_REGISTERED_BENJAMIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_BENJAMIN) +#define FLAG_REGISTERED_PABLO (TRAINER_REGISTERED_FLAGS_START + REMATCH_PABLO) +#define FLAG_REGISTERED_NICOLAS (TRAINER_REGISTERED_FLAGS_START + REMATCH_NICOLAS) +#define FLAG_REGISTERED_ROBERT (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROBERT) +#define FLAG_REGISTERED_LAO (TRAINER_REGISTERED_FLAGS_START + REMATCH_LAO) +#define FLAG_REGISTERED_CYNDY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CYNDY) +#define FLAG_REGISTERED_MADELINE (TRAINER_REGISTERED_FLAGS_START + REMATCH_MADELINE) +#define FLAG_REGISTERED_JENNY (TRAINER_REGISTERED_FLAGS_START + REMATCH_JENNY) +#define FLAG_REGISTERED_DIANA (TRAINER_REGISTERED_FLAGS_START + REMATCH_DIANA) +#define FLAG_REGISTERED_AMY_AND_LIV (TRAINER_REGISTERED_FLAGS_START + REMATCH_AMY_AND_LIV) +#define FLAG_REGISTERED_ERNEST (TRAINER_REGISTERED_FLAGS_START + REMATCH_ERNEST) +#define FLAG_REGISTERED_CORY (TRAINER_REGISTERED_FLAGS_START + REMATCH_CORY) +#define FLAG_REGISTERED_EDWIN (TRAINER_REGISTERED_FLAGS_START + REMATCH_EDWIN) +#define FLAG_REGISTERED_LYDIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_LYDIA) +#define FLAG_REGISTERED_ISAAC (TRAINER_REGISTERED_FLAGS_START + REMATCH_ISAAC) +#define FLAG_REGISTERED_GABRIELLE (TRAINER_REGISTERED_FLAGS_START + REMATCH_GABRIELLE) +#define FLAG_REGISTERED_CATHERINE (TRAINER_REGISTERED_FLAGS_START + REMATCH_CATHERINE) +#define FLAG_REGISTERED_JACKSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_JACKSON) +#define FLAG_REGISTERED_HALEY (TRAINER_REGISTERED_FLAGS_START + REMATCH_HALEY) +#define FLAG_REGISTERED_JAMES (TRAINER_REGISTERED_FLAGS_START + REMATCH_JAMES) +#define FLAG_REGISTERED_TRENT (TRAINER_REGISTERED_FLAGS_START + REMATCH_TRENT) +#define FLAG_REGISTERED_SAWYER (TRAINER_REGISTERED_FLAGS_START + REMATCH_SAWYER) +#define FLAG_REGISTERED_KIRA_AND_DAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KIRA_AND_DAN) +#define FLAG_REGISTERED_WALLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLY) +#define FLAG_REGISTERED_ROXANNE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROXANNE) +#define FLAG_REGISTERED_BRAWLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_BRAWLY) +#define FLAG_REGISTERED_WATTSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WATTSON) +#define FLAG_REGISTERED_FLANNERY (TRAINER_REGISTERED_FLAGS_START + REMATCH_FLANNERY) +#define FLAG_REGISTERED_NORMAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_NORMAN) +#define FLAG_REGISTERED_WINONA (TRAINER_REGISTERED_FLAGS_START + REMATCH_WINONA) +#define FLAG_REGISTERED_TATE_AND_LIZA (TRAINER_REGISTERED_FLAGS_START + REMATCH_TATE_AND_LIZA) +#define FLAG_REGISTERED_JUAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_JUAN) +#define FLAG_REGISTERED_SIDNEY (TRAINER_REGISTERED_FLAGS_START + REMATCH_SIDNEY) +#define FLAG_REGISTERED_PHOEBE (TRAINER_REGISTERED_FLAGS_START + REMATCH_PHOEBE) +#define FLAG_REGISTERED_GLACIA (TRAINER_REGISTERED_FLAGS_START + REMATCH_GLACIA) +#define FLAG_REGISTERED_DRAKE (TRAINER_REGISTERED_FLAGS_START + REMATCH_DRAKE) +#define FLAG_REGISTERED_WALLACE (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLACE) #define FLAG_UNUSED_0x1AA 0x1AA // Unused Flag #define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag @@ -843,7 +847,7 @@ #define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 0x31C #define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 0x31D #define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 0x31E -#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 0x31F +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 0x31F #define FLAG_HIDE_LUGIA 0x320 #define FLAG_HIDE_HO_OH 0x321 #define FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER 0x322 @@ -915,7 +919,7 @@ #define FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN 0x364 #define FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY 0x365 #define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366 -#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367 +#define FLAG_HIDE_FALLARBOR_POKEMON_CENTER_LANETTE 0x367 #define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368 #define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT 0x369 #define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A @@ -947,7 +951,7 @@ #define FLAG_HIDE_ROUTE_110_TEAM_AQUA 0x384 #define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 0x385 #define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 0x386 -#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 0x387 +#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 0x387 #define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 0x388 #define FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS 0x389 #define FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST 0x38A diff --git a/include/constants/global.h b/include/constants/global.h index 2b70378ff5..2dff51e1e9 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -2,9 +2,9 @@ #define GUARD_CONSTANTS_GLOBAL_H // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. -// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". +// In Gen 4 only, migrated Pokémon with Diamond, Pearl, or Platinum's ID show as "----------". // Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". -// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. +// In Gen 4 and up, migrated Pokémon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. #define VERSION_SAPPHIRE 1 #define VERSION_RUBY 2 #define VERSION_EMERALD 3 @@ -114,7 +114,7 @@ #define FEMALE 1 #define GENDER_COUNT 2 -#define BARD_SONG_LENGTH 6 +#define NUM_BARD_SONG_WORDS 6 #define NUM_STORYTELLER_TALES 4 #define NUM_TRADER_ITEMS 4 #define GIDDY_MAX_TALES 10 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h deleted file mode 100644 index d3dd8f1f17..0000000000 --- a/include/constants/heal_locations.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H -#define GUARD_CONSTANTS_HEAL_LOCATIONS_H - -#define HEAL_LOCATION_NONE 0 -#define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 -#define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2 -#define HEAL_LOCATION_PETALBURG_CITY 3 -#define HEAL_LOCATION_SLATEPORT_CITY 4 -#define HEAL_LOCATION_MAUVILLE_CITY 5 -#define HEAL_LOCATION_RUSTBORO_CITY 6 -#define HEAL_LOCATION_FORTREE_CITY 7 -#define HEAL_LOCATION_LILYCOVE_CITY 8 -#define HEAL_LOCATION_MOSSDEEP_CITY 9 -#define HEAL_LOCATION_SOOTOPOLIS_CITY 10 -#define HEAL_LOCATION_EVER_GRANDE_CITY 11 -#define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE 12 -#define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE 13 -#define HEAL_LOCATION_OLDALE_TOWN 14 -#define HEAL_LOCATION_DEWFORD_TOWN 15 -#define HEAL_LOCATION_LAVARIDGE_TOWN 16 -#define HEAL_LOCATION_FALLARBOR_TOWN 17 -#define HEAL_LOCATION_VERDANTURF_TOWN 18 -#define HEAL_LOCATION_PACIFIDLOG_TOWN 19 -#define HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE 20 -#define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 -#define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 - -#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/constants/items.h b/include/constants/items.h index 63cbfe6b97..9e6fecf014 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -23,7 +23,7 @@ #define FIRST_BALL ITEM_MASTER_BALL #define LAST_BALL ITEM_PREMIER_BALL -// Pokemon Items +// Pokémon Items #define ITEM_POTION 13 #define ITEM_ANTIDOTE 14 #define ITEM_BURN_HEAL 15 @@ -441,8 +441,8 @@ #define NUM_ROUTE_114_MAN_BERRIES (LAST_ROUTE_114_MAN_BERRY - FIRST_ROUTE_114_MAN_BERRY + 1) #define NUM_ROUTE_114_MAN_BERRIES_SKIPPED (FIRST_ROUTE_114_MAN_BERRY - FIRST_BERRY_INDEX) -#define ITEM_TO_BERRY(itemId)(((itemId) - FIRST_BERRY_INDEX) + 1) -#define ITEM_TO_MAIL(itemId)((itemId) - FIRST_MAIL_INDEX) +#define ITEM_TO_BERRY(itemId) (((itemId) - FIRST_BERRY_INDEX) + 1) +#define ITEM_TO_MAIL(itemId) ((itemId) - FIRST_MAIL_INDEX) #define MAIL_NONE 0xFF #define NUM_TECHNICAL_MACHINES 50 @@ -476,7 +476,7 @@ #define ITEM_B_USE_MEDICINE 1 #define ITEM_B_USE_OTHER 2 -// Check if the item is one that can be used on a Pokemon. +// Check if the item is one that can be used on a Pokémon. #define ITEM_HAS_EFFECT(item) ((item) >= ITEM_POTION && (item) <= MAX_BERRY_INDEX) #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/constants/layouts.h b/include/constants/layouts.h deleted file mode 100755 index db92c95942..0000000000 --- a/include/constants/layouts.h +++ /dev/null @@ -1,450 +0,0 @@ -#ifndef GUARD_CONSTANTS_LAYOUTS_H -#define GUARD_CONSTANTS_LAYOUTS_H - -// -// DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json -// - -#define LAYOUT_PETALBURG_CITY 1 -#define LAYOUT_SLATEPORT_CITY 2 -#define LAYOUT_MAUVILLE_CITY 3 -#define LAYOUT_RUSTBORO_CITY 4 -#define LAYOUT_FORTREE_CITY 5 -#define LAYOUT_LILYCOVE_CITY 6 -#define LAYOUT_MOSSDEEP_CITY 7 -#define LAYOUT_SOOTOPOLIS_CITY 8 -#define LAYOUT_EVER_GRANDE_CITY 9 -#define LAYOUT_LITTLEROOT_TOWN 10 -#define LAYOUT_OLDALE_TOWN 11 -#define LAYOUT_DEWFORD_TOWN 12 -#define LAYOUT_LAVARIDGE_TOWN 13 -#define LAYOUT_FALLARBOR_TOWN 14 -#define LAYOUT_VERDANTURF_TOWN 15 -#define LAYOUT_PACIFIDLOG_TOWN 16 -#define LAYOUT_ROUTE101 17 -#define LAYOUT_ROUTE102 18 -#define LAYOUT_ROUTE103 19 -#define LAYOUT_ROUTE104 20 -#define LAYOUT_ROUTE105 21 -#define LAYOUT_ROUTE106 22 -#define LAYOUT_ROUTE107 23 -#define LAYOUT_ROUTE108 24 -#define LAYOUT_ROUTE109 25 -#define LAYOUT_ROUTE110 26 -#define LAYOUT_ROUTE111 27 -#define LAYOUT_ROUTE112 28 -#define LAYOUT_ROUTE113 29 -#define LAYOUT_ROUTE114 30 -#define LAYOUT_ROUTE115 31 -#define LAYOUT_ROUTE116 32 -#define LAYOUT_ROUTE117 33 -#define LAYOUT_ROUTE118 34 -#define LAYOUT_ROUTE119 35 -#define LAYOUT_ROUTE120 36 -#define LAYOUT_ROUTE121 37 -#define LAYOUT_ROUTE122 38 -#define LAYOUT_ROUTE123 39 -#define LAYOUT_ROUTE124 40 -#define LAYOUT_ROUTE125 41 -#define LAYOUT_ROUTE126 42 -#define LAYOUT_ROUTE127 43 -#define LAYOUT_ROUTE128 44 -#define LAYOUT_ROUTE129 45 -#define LAYOUT_ROUTE130_MIRAGE_ISLAND 46 -#define LAYOUT_ROUTE131 47 -#define LAYOUT_ROUTE132 48 -#define LAYOUT_ROUTE133 49 -#define LAYOUT_ROUTE134 50 -#define LAYOUT_UNDERWATER_ROUTE126 51 -#define LAYOUT_UNDERWATER_ROUTE127 52 -#define LAYOUT_UNDERWATER_ROUTE128 53 -#define LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F 54 -#define LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 55 -#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_1F 56 -#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F 57 -#define LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB 58 -#define LAYOUT_HOUSE1 59 -#define LAYOUT_HOUSE2 60 -#define LAYOUT_POKEMON_CENTER_1F 61 -#define LAYOUT_POKEMON_CENTER_2F 62 -#define LAYOUT_MART 63 -#define LAYOUT_HOUSE3 64 -#define LAYOUT_DEWFORD_TOWN_GYM 65 -#define LAYOUT_DEWFORD_TOWN_HALL 66 -#define LAYOUT_HOUSE4 67 -#define LAYOUT_LAVARIDGE_TOWN_HERB_SHOP 68 -#define LAYOUT_LAVARIDGE_TOWN_GYM_1F 69 -#define LAYOUT_LAVARIDGE_TOWN_GYM_B1F 70 -#define LAYOUT_LAVARIDGE_TOWN_POKEMON_CENTER_1F 71 -#define LAYOUT_FALLARBOR_TOWN_LEFTOVER_RSCONTEST_LOBBY 72 -#define LAYOUT_FALLARBOR_TOWN_LEFTOVER_RSCONTEST_HALL 73 -#define LAYOUT_LILYCOVE_CITY_HOUSE2 74 -#define LAYOUT_UNUSED_CONTEST_ROOM1 75 -#define LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE 76 -#define LAYOUT_PACIFIDLOG_TOWN_HOUSE1 77 -#define LAYOUT_PACIFIDLOG_TOWN_HOUSE2 78 -#define LAYOUT_PETALBURG_CITY_GYM 79 -#define LAYOUT_HOUSE_WITH_BED 80 -#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_1F 81 -#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_2F 82 -#define LAYOUT_UNUSED_CONTEST_ROOM2 83 -#define LAYOUT_UNUSED_CONTEST_ROOM3 84 -#define LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB 85 -#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 86 -#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 87 -#define LAYOUT_HARBOR 88 -#define LAYOUT_MAUVILLE_CITY_GYM 89 -#define LAYOUT_MAUVILLE_CITY_BIKE_SHOP 90 -#define LAYOUT_MAUVILLE_CITY_GAME_CORNER 91 -#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_1F 92 -#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_2F 93 -#define LAYOUT_RUSTBORO_CITY_GYM 94 -#define LAYOUT_RUSTBORO_CITY_POKEMON_SCHOOL 95 -#define LAYOUT_RUSTBORO_CITY_HOUSE 96 -#define LAYOUT_RUSTBORO_CITY_HOUSE1 97 -#define LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE 98 -#define LAYOUT_FORTREE_CITY_HOUSE1 99 -#define LAYOUT_FORTREE_CITY_GYM 100 -#define LAYOUT_FORTREE_CITY_HOUSE2 101 -#define LAYOUT_ROUTE104_MR_BRINEYS_HOUSE 102 -#define LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F 103 -#define LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F 104 -#define LAYOUT_LILYCOVE_CITY_CONTEST_LOBBY 105 -#define LAYOUT_LILYCOVE_CITY_CONTEST_HALL 106 -#define LAYOUT_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB 107 -#define LAYOUT_MOSSDEEP_CITY_GYM 108 -#define LAYOUT_SOOTOPOLIS_CITY_GYM_1F 109 -#define LAYOUT_SOOTOPOLIS_CITY_GYM_B1F 110 -#define LAYOUT_EVER_GRANDE_CITY_SIDNEYS_ROOM 111 -#define LAYOUT_EVER_GRANDE_CITY_PHOEBES_ROOM 112 -#define LAYOUT_EVER_GRANDE_CITY_GLACIAS_ROOM 113 -#define LAYOUT_EVER_GRANDE_CITY_DRAKES_ROOM 114 -#define LAYOUT_EVER_GRANDE_CITY_CHAMPIONS_ROOM 115 -#define LAYOUT_EVER_GRANDE_CITY_SHORT_HALL 116 -#define LAYOUT_ROUTE104_PRETTY_PETAL_FLOWER_SHOP 117 -#define LAYOUT_CABLE_CAR_STATION 118 -#define LAYOUT_ROUTE114_FOSSIL_MANIACS_HOUSE 119 -#define LAYOUT_ROUTE114_FOSSIL_MANIACS_TUNNEL 120 -#define LAYOUT_ROUTE114_LANETTES_HOUSE 121 -#define LAYOUT_ROUTE116_TUNNELERS_REST_HOUSE 122 -#define LAYOUT_ROUTE117_POKEMON_DAY_CARE 123 -#define LAYOUT_ROUTE121_SAFARI_ZONE_ENTRANCE 124 -#define LAYOUT_METEOR_FALLS_1F_1R 125 -#define LAYOUT_METEOR_FALLS_1F_2R 126 -#define LAYOUT_METEOR_FALLS_B1F_1R 127 -#define LAYOUT_METEOR_FALLS_B1F_2R 128 -#define LAYOUT_RUSTURF_TUNNEL 129 -#define LAYOUT_UNDERWATER_SOOTOPOLIS_CITY 130 -#define LAYOUT_DESERT_RUINS 131 -#define LAYOUT_GRANITE_CAVE_1F 132 -#define LAYOUT_GRANITE_CAVE_B1F 133 -#define LAYOUT_GRANITE_CAVE_B2F 134 -#define LAYOUT_PETALBURG_WOODS 135 -#define LAYOUT_MT_CHIMNEY 136 -#define LAYOUT_MT_PYRE_1F 137 -#define LAYOUT_MT_PYRE_2F 138 -#define LAYOUT_MT_PYRE_3F 139 -#define LAYOUT_MT_PYRE_4F 140 -#define LAYOUT_MT_PYRE_5F 141 -#define LAYOUT_MT_PYRE_6F 142 -#define LAYOUT_AQUA_HIDEOUT_1F 143 -#define LAYOUT_AQUA_HIDEOUT_B1F 144 -#define LAYOUT_AQUA_HIDEOUT_B2F 145 -#define LAYOUT_UNDERWATER_SEAFLOOR_CAVERN 146 -#define LAYOUT_SEAFLOOR_CAVERN_ENTRANCE 147 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM1 148 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM2 149 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM3 150 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM4 151 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM5 152 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM6 153 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM7 154 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM8 155 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM9 156 -#define LAYOUT_CAVE_OF_ORIGIN_ENTRANCE 157 -#define LAYOUT_CAVE_OF_ORIGIN_1F 158 -#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1 159 -#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2 160 -#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3 161 -#define LAYOUT_CAVE_OF_ORIGIN_B1F 162 -#define LAYOUT_VICTORY_ROAD_1F 163 -#define LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM 164 -#define LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM 165 -#define LAYOUT_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM 166 -#define LAYOUT_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 167 -#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 168 -#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 169 -#define LAYOUT_UNUSED_CAVE1 170 -#define LAYOUT_UNUSED_CAVE2 171 -#define LAYOUT_UNUSED_CAVE3 172 -#define LAYOUT_UNUSED_CAVE4 173 -#define LAYOUT_UNUSED_CAVE5 174 -#define LAYOUT_UNUSED_CAVE6 175 -#define LAYOUT_UNUSED_CAVE7 176 -#define LAYOUT_UNUSED_CAVE8 177 -#define LAYOUT_UNUSED_CAVE9 178 -#define LAYOUT_UNUSED_CAVE10 179 -#define LAYOUT_UNUSED_CAVE11 180 -#define LAYOUT_UNUSED_CAVE12 181 -#define LAYOUT_UNUSED_CAVE13 182 -#define LAYOUT_UNUSED_CAVE14 183 -#define LAYOUT_NEW_MAUVILLE_ENTRANCE 184 -#define LAYOUT_NEW_MAUVILLE_INSIDE 185 -#define LAYOUT_ABANDONED_SHIP_DECK 186 -#define LAYOUT_ABANDONED_SHIP_CORRIDORS_1F 187 -#define LAYOUT_ABANDONED_SHIP_ROOMS_1F 188 -#define LAYOUT_ABANDONED_SHIP_CORRIDORS_B1F 189 -#define LAYOUT_ABANDONED_SHIP_ROOMS_B1F 190 -#define LAYOUT_ABANDONED_SHIP_ROOMS2_B1F 191 -#define LAYOUT_ABANDONED_SHIP_UNDERWATER1 192 -#define LAYOUT_ABANDONED_SHIP_ROOM_B1F 193 -#define LAYOUT_ABANDONED_SHIP_ROOMS2_1F 194 -#define LAYOUT_ABANDONED_SHIP_CAPTAINS_OFFICE 195 -#define LAYOUT_ABANDONED_SHIP_UNDERWATER2 196 -#define LAYOUT_SECRET_BASE_RED_CAVE1 197 -#define LAYOUT_SECRET_BASE_BROWN_CAVE1 198 -#define LAYOUT_SECRET_BASE_BLUE_CAVE1 199 -#define LAYOUT_SECRET_BASE_YELLOW_CAVE1 200 -#define LAYOUT_SECRET_BASE_TREE1 201 -#define LAYOUT_SECRET_BASE_SHRUB1 202 -#define LAYOUT_SECRET_BASE_RED_CAVE2 203 -#define LAYOUT_SECRET_BASE_BROWN_CAVE2 204 -#define LAYOUT_SECRET_BASE_BLUE_CAVE2 205 -#define LAYOUT_SECRET_BASE_YELLOW_CAVE2 206 -#define LAYOUT_SECRET_BASE_TREE2 207 -#define LAYOUT_SECRET_BASE_SHRUB2 208 -#define LAYOUT_SECRET_BASE_RED_CAVE3 209 -#define LAYOUT_SECRET_BASE_BROWN_CAVE3 210 -#define LAYOUT_SECRET_BASE_BLUE_CAVE3 211 -#define LAYOUT_SECRET_BASE_YELLOW_CAVE3 212 -#define LAYOUT_SECRET_BASE_TREE3 213 -#define LAYOUT_SECRET_BASE_SHRUB3 214 -#define LAYOUT_SECRET_BASE_RED_CAVE4 215 -#define LAYOUT_SECRET_BASE_BROWN_CAVE4 216 -#define LAYOUT_SECRET_BASE_BLUE_CAVE4 217 -#define LAYOUT_SECRET_BASE_YELLOW_CAVE4 218 -#define LAYOUT_SECRET_BASE_TREE4 219 -#define LAYOUT_SECRET_BASE_SHRUB4 220 -#define LAYOUT_BATTLE_COLOSSEUM_2P 221 -#define LAYOUT_TRADE_CENTER 222 -#define LAYOUT_RECORD_CORNER 223 -#define LAYOUT_BATTLE_COLOSSEUM_4P 224 -#define LAYOUT_CONTEST_HALL 225 -#define LAYOUT_UNUSED_CONTEST_HALL1 226 -#define LAYOUT_UNUSED_CONTEST_HALL2 227 -#define LAYOUT_UNUSED_CONTEST_HALL3 228 -#define LAYOUT_UNUSED_CONTEST_HALL4 229 -#define LAYOUT_UNUSED_CONTEST_HALL5 230 -#define LAYOUT_UNUSED_CONTEST_HALL6 231 -#define LAYOUT_CONTEST_HALL_BEAUTY 232 -#define LAYOUT_CONTEST_HALL_TOUGH 233 -#define LAYOUT_CONTEST_HALL_COOL 234 -#define LAYOUT_CONTEST_HALL_SMART 235 -#define LAYOUT_CONTEST_HALL_CUTE 236 -#define LAYOUT_INSIDE_OF_TRUCK 237 -#define LAYOUT_SAFARI_ZONE_NORTHWEST 238 -#define LAYOUT_SAFARI_ZONE_NORTH 239 -#define LAYOUT_SAFARI_ZONE_SOUTHWEST 240 -#define LAYOUT_SAFARI_ZONE_SOUTH 241 -#define LAYOUT_UNUSED_OUTDOOR_AREA 242 -#define LAYOUT_ROUTE109_SEASHORE_HOUSE 243 -#define LAYOUT_ROUTE110_TRICK_HOUSE_ENTRANCE 244 -#define LAYOUT_ROUTE110_TRICK_HOUSE_END 245 -#define LAYOUT_ROUTE110_TRICK_HOUSE_CORRIDOR 246 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE1 247 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE2 248 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE3 249 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE4 250 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE5 251 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE6 252 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE7 253 -#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE8 254 -#define LAYOUT_FORTREE_CITY_DECORATION_SHOP 255 -#define LAYOUT_ROUTE110_SEASIDE_CYCLING_ROAD_ENTRANCE 256 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_1F 257 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_2F 258 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_3F 259 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_4F 260 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_5F 261 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP 262 -#define LAYOUT_ROUTE130 263 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY 264 -#define LAYOUT_BATTLE_FRONTIER_OUTSIDE_WEST 265 -#define LAYOUT_BATTLE_ELEVATOR 266 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR 267 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM 268 -#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_3F 269 -#define LAYOUT_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F 270 -#define LAYOUT_ROUTE119_WEATHER_INSTITUTE_1F 271 -#define LAYOUT_ROUTE119_WEATHER_INSTITUTE_2F 272 -#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR 273 -#define LAYOUT_UNDERWATER_ROUTE124 274 -#define LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_1F 275 -#define LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_2F 276 -#define LAYOUT_SS_TIDAL_CORRIDOR 277 -#define LAYOUT_SS_TIDAL_LOWER_DECK 278 -#define LAYOUT_SS_TIDAL_ROOMS 279 -#define LAYOUT_ISLAND_CAVE 280 -#define LAYOUT_ANCIENT_TOMB 281 -#define LAYOUT_UNDERWATER_ROUTE134 282 -#define LAYOUT_UNDERWATER_SEALED_CHAMBER 283 -#define LAYOUT_SEALED_CHAMBER_OUTER_ROOM 284 -#define LAYOUT_VICTORY_ROAD_B1F 285 -#define LAYOUT_VICTORY_ROAD_B2F 286 -#define LAYOUT_ROUTE104_PROTOTYPE 287 -#define LAYOUT_GRANITE_CAVE_STEVENS_ROOM 288 -#define LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS 289 -#define LAYOUT_SOUTHERN_ISLAND_EXTERIOR 290 -#define LAYOUT_SOUTHERN_ISLAND_INTERIOR 291 -#define LAYOUT_JAGGED_PASS 292 -#define LAYOUT_FIERY_PATH 293 -#define LAYOUT_RUSTBORO_CITY_FLAT2_1F 294 -#define LAYOUT_RUSTBORO_CITY_FLAT2_2F 295 -#define LAYOUT_RUSTBORO_CITY_FLAT2_3F 296 -#define LAYOUT_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE 297 -#define LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME 298 -#define LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_1F 299 -#define LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_2F 300 -#define LAYOUT_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE 301 -#define LAYOUT_MT_PYRE_EXTERIOR 302 -#define LAYOUT_MT_PYRE_SUMMIT 303 -#define LAYOUT_SEALED_CHAMBER_INNER_ROOM 304 -#define LAYOUT_MOSSDEEP_CITY_GAME_CORNER_1F 305 -#define LAYOUT_MOSSDEEP_CITY_GAME_CORNER_B1F 306 -#define LAYOUT_SOOTOPOLIS_CITY_HOUSE1 307 -#define LAYOUT_SOOTOPOLIS_CITY_HOUSE2 308 -#define LAYOUT_SOOTOPOLIS_CITY_HOUSE3 309 -#define LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS 310 -#define LAYOUT_SCORCHED_SLAB 311 -#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_B4F_LAVA 312 -#define LAYOUT_RUSTBORO_CITY_FLAT1_1F 313 -#define LAYOUT_RUSTBORO_CITY_FLAT1_2F 314 -#define LAYOUT_EVER_GRANDE_CITY_HALL4 315 -#define LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP1 316 -#define LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP2 317 -#define LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP3 318 -#define LAYOUT_ROUTE131_SKY_PILLAR 319 -#define LAYOUT_SKY_PILLAR_ENTRANCE 320 -#define LAYOUT_SKY_PILLAR_OUTSIDE 321 -#define LAYOUT_SKY_PILLAR_1F 322 -#define LAYOUT_SKY_PILLAR_2F 323 -#define LAYOUT_SKY_PILLAR_3F 324 -#define LAYOUT_SKY_PILLAR_4F 325 -#define LAYOUT_SEAFLOOR_CAVERN_ROOM9_LAVA 326 -#define LAYOUT_MOSSDEEP_CITY_STEVENS_HOUSE 327 -#define LAYOUT_SHOAL_CAVE_LOW_TIDE_ICE_ROOM 328 -#define LAYOUT_SAFARI_ZONE_REST_HOUSE 329 -#define LAYOUT_SKY_PILLAR_5F 330 -#define LAYOUT_SKY_PILLAR_TOP 331 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_LOBBY 332 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR 333 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM 334 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM 335 -#define LAYOUT_MAGMA_HIDEOUT_1F 336 -#define LAYOUT_MAGMA_HIDEOUT_2F_1R 337 -#define LAYOUT_MAGMA_HIDEOUT_2F_2R 338 -#define LAYOUT_MAGMA_HIDEOUT_3F_1R 339 -#define LAYOUT_MAGMA_HIDEOUT_3F_2R 340 -#define LAYOUT_MAGMA_HIDEOUT_4F 341 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY 342 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR 343 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM 344 -#define LAYOUT_BATTLE_FRONTIER_OUTSIDE_EAST 345 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY 346 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM 347 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM 348 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY 349 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR 350 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM 351 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL 352 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL 353 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY 354 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR 355 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM 356 -#define LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE 357 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS 358 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_UNUSED 359 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR 361 -#define LAYOUT_BATTLE_PYRAMID_SQUARE01 362 -#define LAYOUT_BATTLE_PYRAMID_SQUARE02 363 -#define LAYOUT_BATTLE_PYRAMID_SQUARE03 364 -#define LAYOUT_BATTLE_PYRAMID_SQUARE04 365 -#define LAYOUT_BATTLE_PYRAMID_SQUARE05 366 -#define LAYOUT_BATTLE_PYRAMID_SQUARE06 367 -#define LAYOUT_BATTLE_PYRAMID_SQUARE07 368 -#define LAYOUT_BATTLE_PYRAMID_SQUARE08 369 -#define LAYOUT_BATTLE_PYRAMID_SQUARE09 370 -#define LAYOUT_BATTLE_PYRAMID_SQUARE10 371 -#define LAYOUT_BATTLE_PYRAMID_SQUARE11 372 -#define LAYOUT_BATTLE_PYRAMID_SQUARE12 373 -#define LAYOUT_BATTLE_PYRAMID_SQUARE13 374 -#define LAYOUT_BATTLE_PYRAMID_SQUARE14 375 -#define LAYOUT_BATTLE_PYRAMID_SQUARE15 376 -#define LAYOUT_BATTLE_PYRAMID_SQUARE16 377 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP 378 -#define LAYOUT_MAGMA_HIDEOUT_3F_3R 379 -#define LAYOUT_MAGMA_HIDEOUT_2F_3R 380 -#define LAYOUT_MIRAGE_TOWER_1F 381 -#define LAYOUT_MIRAGE_TOWER_2F 382 -#define LAYOUT_MIRAGE_TOWER_3F 383 -#define LAYOUT_BATTLE_TENT_LOBBY 384 -#define LAYOUT_BATTLE_TENT_CORRIDOR 385 -#define LAYOUT_BATTLE_TENT_BATTLE_ROOM 386 -#define LAYOUT_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM 387 -#define LAYOUT_MIRAGE_TOWER_4F 388 -#define LAYOUT_DESERT_UNDERPASS 389 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM 390 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR 391 -#define LAYOUT_ROUTE111_NO_MIRAGE_TOWER 392 -#define LAYOUT_UNION_ROOM 393 -#define LAYOUT_SAFARI_ZONE_NORTHEAST 394 -#define LAYOUT_SAFARI_ZONE_SOUTHEAST 395 -#define LAYOUT_BATTLE_FRONTIER_RANKING_HALL 396 -#define LAYOUT_BATTLE_FRONTIER_LOUNGE1 397 -#define LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER 398 -#define LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE 399 -#define LAYOUT_ARTISAN_CAVE_B1F 400 -#define LAYOUT_ARTISAN_CAVE_1F 401 -#define LAYOUT_FARAWAY_ISLAND_ENTRANCE 402 -#define LAYOUT_FARAWAY_ISLAND_INTERIOR 403 -#define LAYOUT_BIRTH_ISLAND_EXTERIOR 404 -#define LAYOUT_ISLAND_HARBOR 405 -#define LAYOUT_UNDERWATER_MARINE_CAVE 406 -#define LAYOUT_MARINE_CAVE_ENTRANCE 407 -#define LAYOUT_TERRA_CAVE_ENTRANCE 408 -#define LAYOUT_TERRA_CAVE_END 409 -#define LAYOUT_UNDERWATER_ROUTE105 410 -#define LAYOUT_UNDERWATER_ROUTE125 411 -#define LAYOUT_UNDERWATER_ROUTE129 412 -#define LAYOUT_MARINE_CAVE_END 413 -#define LAYOUT_TRAINER_HILL_ENTRANCE 414 -#define LAYOUT_TRAINER_HILL_1F 415 -#define LAYOUT_TRAINER_HILL_2F 416 -#define LAYOUT_TRAINER_HILL_3F 417 -#define LAYOUT_TRAINER_HILL_4F 418 -#define LAYOUT_TRAINER_HILL_ROOF 419 -#define LAYOUT_ALTERING_CAVE 420 -#define LAYOUT_NAVEL_ROCK_EXTERIOR 421 -#define LAYOUT_NAVEL_ROCK_ENTRANCE 422 -#define LAYOUT_NAVEL_ROCK_TOP 423 -#define LAYOUT_NAVEL_ROCK_BOTTOM 424 -#define LAYOUT_NAVEL_ROCK_LADDER_ROOM1 425 -#define LAYOUT_NAVEL_ROCK_LADDER_ROOM2 426 -#define LAYOUT_NAVEL_ROCK_B1F 427 -#define LAYOUT_NAVEL_ROCK_FORK 428 -#define LAYOUT_BATTLE_FRONTIER_LOUNGE2 429 -#define LAYOUT_BATTLE_FRONTIER_SCOTTS_HOUSE 430 -#define LAYOUT_METEOR_FALLS_STEVENS_CAVE 431 -#define LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE 432 -#define LAYOUT_SKY_PILLAR_1F_CLEAN 433 -#define LAYOUT_SKY_PILLAR_2F_CLEAN 434 -#define LAYOUT_SKY_PILLAR_3F_CLEAN 435 -#define LAYOUT_SKY_PILLAR_4F_CLEAN 436 -#define LAYOUT_SKY_PILLAR_5F_CLEAN 437 -#define LAYOUT_SKY_PILLAR_TOP_CLEAN 438 -#define LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F 439 -#define LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F 440 -#define LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F_STAIRS_UNBLOCKED 441 - -#endif // GUARD_CONSTANTS_LAYOUTS_H diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h deleted file mode 100755 index eaf40a525d..0000000000 --- a/include/constants/map_groups.h +++ /dev/null @@ -1,596 +0,0 @@ -#ifndef GUARD_CONSTANTS_MAP_GROUPS_H -#define GUARD_CONSTANTS_MAP_GROUPS_H - -// -// DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json -// - -// gMapGroup_TownsAndRoutes -#define MAP_PETALBURG_CITY (0 | (0 << 8)) -#define MAP_SLATEPORT_CITY (1 | (0 << 8)) -#define MAP_MAUVILLE_CITY (2 | (0 << 8)) -#define MAP_RUSTBORO_CITY (3 | (0 << 8)) -#define MAP_FORTREE_CITY (4 | (0 << 8)) -#define MAP_LILYCOVE_CITY (5 | (0 << 8)) -#define MAP_MOSSDEEP_CITY (6 | (0 << 8)) -#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8)) -#define MAP_EVER_GRANDE_CITY (8 | (0 << 8)) -#define MAP_LITTLEROOT_TOWN (9 | (0 << 8)) -#define MAP_OLDALE_TOWN (10 | (0 << 8)) -#define MAP_DEWFORD_TOWN (11 | (0 << 8)) -#define MAP_LAVARIDGE_TOWN (12 | (0 << 8)) -#define MAP_FALLARBOR_TOWN (13 | (0 << 8)) -#define MAP_VERDANTURF_TOWN (14 | (0 << 8)) -#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8)) -#define MAP_ROUTE101 (16 | (0 << 8)) -#define MAP_ROUTE102 (17 | (0 << 8)) -#define MAP_ROUTE103 (18 | (0 << 8)) -#define MAP_ROUTE104 (19 | (0 << 8)) -#define MAP_ROUTE105 (20 | (0 << 8)) -#define MAP_ROUTE106 (21 | (0 << 8)) -#define MAP_ROUTE107 (22 | (0 << 8)) -#define MAP_ROUTE108 (23 | (0 << 8)) -#define MAP_ROUTE109 (24 | (0 << 8)) -#define MAP_ROUTE110 (25 | (0 << 8)) -#define MAP_ROUTE111 (26 | (0 << 8)) -#define MAP_ROUTE112 (27 | (0 << 8)) -#define MAP_ROUTE113 (28 | (0 << 8)) -#define MAP_ROUTE114 (29 | (0 << 8)) -#define MAP_ROUTE115 (30 | (0 << 8)) -#define MAP_ROUTE116 (31 | (0 << 8)) -#define MAP_ROUTE117 (32 | (0 << 8)) -#define MAP_ROUTE118 (33 | (0 << 8)) -#define MAP_ROUTE119 (34 | (0 << 8)) -#define MAP_ROUTE120 (35 | (0 << 8)) -#define MAP_ROUTE121 (36 | (0 << 8)) -#define MAP_ROUTE122 (37 | (0 << 8)) -#define MAP_ROUTE123 (38 | (0 << 8)) -#define MAP_ROUTE124 (39 | (0 << 8)) -#define MAP_ROUTE125 (40 | (0 << 8)) -#define MAP_ROUTE126 (41 | (0 << 8)) -#define MAP_ROUTE127 (42 | (0 << 8)) -#define MAP_ROUTE128 (43 | (0 << 8)) -#define MAP_ROUTE129 (44 | (0 << 8)) -#define MAP_ROUTE130 (45 | (0 << 8)) -#define MAP_ROUTE131 (46 | (0 << 8)) -#define MAP_ROUTE132 (47 | (0 << 8)) -#define MAP_ROUTE133 (48 | (0 << 8)) -#define MAP_ROUTE134 (49 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE124 (50 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE126 (51 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE127 (52 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE128 (53 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE129 (54 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE105 (55 | (0 << 8)) -#define MAP_UNDERWATER_ROUTE125 (56 | (0 << 8)) - -// gMapGroup_IndoorLittleroot -#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8)) -#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8)) -#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8)) -#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8)) -#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8)) - -// gMapGroup_IndoorOldale -#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8)) -#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8)) -#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8)) -#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8)) -#define MAP_OLDALE_TOWN_MART (4 | (2 << 8)) - -// gMapGroup_IndoorDewford -#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8)) -#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8)) -#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8)) -#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8)) -#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8)) -#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8)) - -// gMapGroup_IndoorLavaridge -#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8)) -#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8)) -#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8)) -#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8)) -#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8)) -#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8)) -#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8)) - -// gMapGroup_IndoorFallarbor -#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_COZMOS_HOUSE (6 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE (7 | (5 << 8)) - -// gMapGroup_IndoorVerdanturf -#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8)) -#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8)) - -// gMapGroup_IndoorPacifidlog -#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8)) -#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8)) -#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8)) -#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8)) -#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8)) -#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8)) -#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8)) - -// gMapGroup_IndoorPetalburg -#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8)) -#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8)) -#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8)) -#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8)) -#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8)) -#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8)) -#define MAP_PETALBURG_CITY_MART (6 | (8 << 8)) - -// gMapGroup_IndoorSlateport -#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8)) -#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8)) -#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8)) -#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8)) -#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8)) -#define MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE (5 | (9 << 8)) -#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8)) -#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8)) -#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8)) -#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8)) -#define MAP_SLATEPORT_CITY_HOUSE (10 | (9 << 8)) -#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8)) -#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8)) -#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8)) - -// gMapGroup_IndoorMauville -#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8)) -#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8)) -#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8)) -#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8)) -#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8)) -#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8)) -#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8)) -#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8)) - -// gMapGroup_IndoorRustboro -#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8)) -#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8)) -#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8)) -#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8)) -#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8)) -#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8)) -#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8)) -#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8)) -#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8)) -#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8)) -#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8)) -#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8)) -#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8)) -#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8)) -#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8)) -#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8)) -#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8)) - -// gMapGroup_IndoorFortree -#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8)) -#define MAP_FORTREE_CITY_GYM (1 | (12 << 8)) -#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8)) -#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8)) -#define MAP_FORTREE_CITY_MART (4 | (12 << 8)) -#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8)) -#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8)) -#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8)) -#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8)) -#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8)) - -// gMapGroup_IndoorLilycove -#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8)) -#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8)) -#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8)) -#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8)) -#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8)) -#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8)) -#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8)) -#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8)) -#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8)) -#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8)) -#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8)) -#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8)) -#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8)) -#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8)) -#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8)) -#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8)) -#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8)) - -// gMapGroup_IndoorMossdeep -#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8)) -#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8)) - -// gMapGroup_IndoorSootopolis -#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE (12 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F (13 | (15 << 8)) -#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F (14 | (15 << 8)) - -// gMapGroup_IndoorEverGrande -#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_HALL1 (5 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_HALL2 (6 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_HALL3 (7 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_HALL4 (8 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_HALL5 (9 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8)) -#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8)) - -// gMapGroup_IndoorRoute104 -#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8)) -#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8)) - -// gMapGroup_IndoorRoute111 -#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8)) -#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8)) - -// gMapGroup_IndoorRoute112 -#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8)) -#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8)) - -// gMapGroup_IndoorRoute114 -#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8)) -#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8)) -#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8)) - -// gMapGroup_IndoorRoute116 -#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8)) - -// gMapGroup_IndoorRoute117 -#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8)) - -// gMapGroup_IndoorRoute121 -#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8)) - -// gMapGroup_Dungeons -#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8)) -#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8)) -#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8)) -#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8)) -#define MAP_RUSTURF_TUNNEL (4 | (24 << 8)) -#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8)) -#define MAP_DESERT_RUINS (6 | (24 << 8)) -#define MAP_GRANITE_CAVE_1F (7 | (24 << 8)) -#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8)) -#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8)) -#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8)) -#define MAP_PETALBURG_WOODS (11 | (24 << 8)) -#define MAP_MT_CHIMNEY (12 | (24 << 8)) -#define MAP_JAGGED_PASS (13 | (24 << 8)) -#define MAP_FIERY_PATH (14 | (24 << 8)) -#define MAP_MT_PYRE_1F (15 | (24 << 8)) -#define MAP_MT_PYRE_2F (16 | (24 << 8)) -#define MAP_MT_PYRE_3F (17 | (24 << 8)) -#define MAP_MT_PYRE_4F (18 | (24 << 8)) -#define MAP_MT_PYRE_5F (19 | (24 << 8)) -#define MAP_MT_PYRE_6F (20 | (24 << 8)) -#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8)) -#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8)) -#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8)) -#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8)) -#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8)) -#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8)) -#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8)) -#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8)) -#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8)) -#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1 (39 | (24 << 8)) -#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2 (40 | (24 << 8)) -#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3 (41 | (24 << 8)) -#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8)) -#define MAP_VICTORY_ROAD_1F (43 | (24 << 8)) -#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8)) -#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8)) -#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8)) -#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8)) -#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8)) -#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8)) -#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8)) -#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8)) -#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8)) -#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8)) -#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8)) -#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8)) -#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8)) -#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8)) -#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8)) -#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8)) -#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8)) -#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8)) -#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8)) -#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8)) -#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8)) -#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8)) -#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8)) -#define MAP_ISLAND_CAVE (67 | (24 << 8)) -#define MAP_ANCIENT_TOMB (68 | (24 << 8)) -#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8)) -#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8)) -#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8)) -#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8)) -#define MAP_SCORCHED_SLAB (73 | (24 << 8)) -#define MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP1 (74 | (24 << 8)) -#define MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP2 (75 | (24 << 8)) -#define MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP3 (76 | (24 << 8)) -#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8)) -#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8)) -#define MAP_SKY_PILLAR_1F (79 | (24 << 8)) -#define MAP_SKY_PILLAR_2F (80 | (24 << 8)) -#define MAP_SKY_PILLAR_3F (81 | (24 << 8)) -#define MAP_SKY_PILLAR_4F (82 | (24 << 8)) -#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8)) -#define MAP_SKY_PILLAR_5F (84 | (24 << 8)) -#define MAP_SKY_PILLAR_TOP (85 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8)) -#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8)) -#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8)) -#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8)) -#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8)) -#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8)) -#define MAP_DESERT_UNDERPASS (98 | (24 << 8)) -#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8)) -#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8)) -#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8)) -#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8)) -#define MAP_MARINE_CAVE_END (103 | (24 << 8)) -#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8)) -#define MAP_TERRA_CAVE_END (105 | (24 << 8)) -#define MAP_ALTERING_CAVE (106 | (24 << 8)) -#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8)) - -// gMapGroup_IndoorDynamic -#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8)) -#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8)) -#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8)) -#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8)) -#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8)) -#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8)) -#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8)) -#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8)) -#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8)) -#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8)) -#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8)) -#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8)) -#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8)) -#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8)) -#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8)) -#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8)) -#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8)) -#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8)) -#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8)) -#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8)) -#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8)) -#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8)) -#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8)) -#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8)) -#define MAP_BATTLE_COLOSSEUM_2P (24 | (25 << 8)) -#define MAP_TRADE_CENTER (25 | (25 << 8)) -#define MAP_RECORD_CORNER (26 | (25 << 8)) -#define MAP_BATTLE_COLOSSEUM_4P (27 | (25 << 8)) -#define MAP_CONTEST_HALL (28 | (25 << 8)) -#define MAP_UNUSED_CONTEST_HALL1 (29 | (25 << 8)) -#define MAP_UNUSED_CONTEST_HALL2 (30 | (25 << 8)) -#define MAP_UNUSED_CONTEST_HALL3 (31 | (25 << 8)) -#define MAP_UNUSED_CONTEST_HALL4 (32 | (25 << 8)) -#define MAP_UNUSED_CONTEST_HALL5 (33 | (25 << 8)) -#define MAP_UNUSED_CONTEST_HALL6 (34 | (25 << 8)) -#define MAP_CONTEST_HALL_BEAUTY (35 | (25 << 8)) -#define MAP_CONTEST_HALL_TOUGH (36 | (25 << 8)) -#define MAP_CONTEST_HALL_COOL (37 | (25 << 8)) -#define MAP_CONTEST_HALL_SMART (38 | (25 << 8)) -#define MAP_CONTEST_HALL_CUTE (39 | (25 << 8)) -#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8)) -#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8)) -#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8)) -#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8)) -#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8)) -#define MAP_UNION_ROOM (60 | (25 << 8)) - -// gMapGroup_SpecialArea -#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) -#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM (15 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR (16 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (17 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR (26 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL (37 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL (38 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS (39 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) -#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) -#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) -#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) -#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) -#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) -#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) -#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) -#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) -#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) -#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) -#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) -#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) -#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8)) -#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8)) -#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) -#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) - -// gMapGroup_IndoorRoute104Prototype -#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8)) -#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8)) - -// gMapGroup_IndoorRoute109 -#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8)) - -// gMapGroup_IndoorRoute110 -#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8)) -#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8)) -#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (11 | (29 << 8)) -#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (12 | (29 << 8)) - -// gMapGroup_IndoorRoute113 -#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8)) - -// gMapGroup_IndoorRoute123 -#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8)) - -// gMapGroup_IndoorRoute119 -#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8)) -#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8)) -#define MAP_ROUTE119_HOUSE (2 | (32 << 8)) - -// gMapGroup_IndoorRoute124 -#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8)) - -#define MAP_GROUPS_COUNT 34 - -#endif // GUARD_CONSTANTS_MAP_GROUPS_H diff --git a/include/constants/maps.h b/include/constants/maps.h index 1bf11fa5cc..d41f03c683 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -9,8 +9,8 @@ #define MAP_UNDEFINED (0xFF | (0xFF << 8)) -#define MAP_GROUP(map) (MAP_##map >> 8) -#define MAP_NUM(map) (MAP_##map & 0xFF) +#define MAP_GROUP(map) (map >> 8) +#define MAP_NUM(map) (map & 0xFF) // IDs for dynamic warps. Both are used in the dest_warp_id field for warp events, but they // are never read in practice. A dest_map of MAP_DYNAMIC is used to indicate that a diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index 1f6d4e87cb..4a11795ea9 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -1,249 +1,250 @@ #ifndef GUARD_METATILE_BEHAVIORS_H #define GUARD_METATILE_BEHAVIORS_H -#define MB_NORMAL 0x00 -#define MB_SECRET_BASE_WALL 0x01 -#define MB_TALL_GRASS 0x02 -#define MB_LONG_GRASS 0x03 -#define MB_UNUSED_04 0x04 -#define MB_UNUSED_05 0x05 -#define MB_DEEP_SAND 0x06 -#define MB_SHORT_GRASS 0x07 -#define MB_CAVE 0x08 -#define MB_LONG_GRASS_SOUTH_EDGE 0x09 -#define MB_NO_RUNNING 0x0A -#define MB_INDOOR_ENCOUNTER 0x0B -#define MB_MOUNTAIN_TOP 0x0C -#define MB_BATTLE_PYRAMID_WARP 0x0D -#define MB_MOSSDEEP_GYM_WARP 0x0E -#define MB_MT_PYRE_HOLE 0x0F -#define MB_POND_WATER 0x10 -#define MB_INTERIOR_DEEP_WATER 0x11 // Used by interior maps; functionally the same as MB_DEEP_WATER -#define MB_DEEP_WATER 0x12 -#define MB_WATERFALL 0x13 -#define MB_SOOTOPOLIS_DEEP_WATER 0x14 -#define MB_OCEAN_WATER 0x15 -#define MB_PUDDLE 0x16 -#define MB_SHALLOW_WATER 0x17 -#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER 0x18 -#define MB_NO_SURFACING 0x19 -#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 0x1A -#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B -#define MB_SHOAL_CAVE_ENTRANCE 0x1C -#define MB_UNUSED_1D 0x1D -#define MB_UNUSED_1E 0x1E -#define MB_UNUSED_1F 0x1F -#define MB_ICE 0x20 -#define MB_SAND 0x21 -#define MB_SEAWEED 0x22 -#define MB_UNUSED_23 0x23 -#define MB_ASHGRASS 0x24 -#define MB_FOOTPRINTS 0x25 -#define MB_THIN_ICE 0x26 -#define MB_CRACKED_ICE 0x27 -#define MB_HOT_SPRINGS 0x28 -#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 -#define MB_SEAWEED_NO_SURFACING 0x2A -#define MB_REFLECTION_UNDER_BRIDGE 0x2B -#define MB_UNUSED_2C 0x2C -#define MB_UNUSED_2D 0x2D -#define MB_UNUSED_2E 0x2E -#define MB_UNUSED_2F 0x2F -#define MB_IMPASSABLE_EAST 0x30 -#define MB_IMPASSABLE_WEST 0x31 -#define MB_IMPASSABLE_NORTH 0x32 -#define MB_IMPASSABLE_SOUTH 0x33 -#define MB_IMPASSABLE_NORTHEAST 0x34 -#define MB_IMPASSABLE_NORTHWEST 0x35 -#define MB_IMPASSABLE_SOUTHEAST 0x36 -#define MB_IMPASSABLE_SOUTHWEST 0x37 -#define MB_JUMP_EAST 0x38 -#define MB_JUMP_WEST 0x39 -#define MB_JUMP_NORTH 0x3A -#define MB_JUMP_SOUTH 0x3B -#define MB_JUMP_NORTHEAST 0x3C -#define MB_JUMP_NORTHWEST 0x3D -#define MB_JUMP_SOUTHEAST 0x3E -#define MB_JUMP_SOUTHWEST 0x3F -#define MB_WALK_EAST 0x40 -#define MB_WALK_WEST 0x41 -#define MB_WALK_NORTH 0x42 -#define MB_WALK_SOUTH 0x43 -#define MB_SLIDE_EAST 0x44 -#define MB_SLIDE_WEST 0x45 -#define MB_SLIDE_NORTH 0x46 -#define MB_SLIDE_SOUTH 0x47 -#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 -#define MB_UNUSED_49 0x49 -#define MB_UNUSED_4A 0x4A -#define MB_UNUSED_4B 0x4B -#define MB_UNUSED_4C 0x4C -#define MB_UNUSED_4D 0x4D -#define MB_UNUSED_4E 0x4E -#define MB_UNUSED_4F 0x4F -#define MB_EASTWARD_CURRENT 0x50 -#define MB_WESTWARD_CURRENT 0x51 -#define MB_NORTHWARD_CURRENT 0x52 -#define MB_SOUTHWARD_CURRENT 0x53 -#define MB_UNUSED_54 0x54 -#define MB_UNUSED_55 0x55 -#define MB_UNUSED_56 0x56 -#define MB_UNUSED_57 0x57 -#define MB_UNUSED_58 0x58 -#define MB_UNUSED_59 0x59 -#define MB_UNUSED_5A 0x5A -#define MB_UNUSED_5B 0x5B -#define MB_UNUSED_5C 0x5C -#define MB_UNUSED_5D 0x5D -#define MB_UNUSED_5E 0x5E -#define MB_UNUSED_5F 0x5F -#define MB_NON_ANIMATED_DOOR 0x60 -#define MB_LADDER 0x61 -#define MB_EAST_ARROW_WARP 0x62 -#define MB_WEST_ARROW_WARP 0x63 -#define MB_NORTH_ARROW_WARP 0x64 -#define MB_SOUTH_ARROW_WARP 0x65 -#define MB_CRACKED_FLOOR_HOLE 0x66 -#define MB_AQUA_HIDEOUT_WARP 0x67 -#define MB_LAVARIDGE_GYM_1F_WARP 0x68 -#define MB_ANIMATED_DOOR 0x69 -#define MB_UP_ESCALATOR 0x6A -#define MB_DOWN_ESCALATOR 0x6B -#define MB_WATER_DOOR 0x6C -#define MB_WATER_SOUTH_ARROW_WARP 0x6D -#define MB_DEEP_SOUTH_WARP 0x6E -#define MB_UNUSED_6F 0x6F -#define MB_BRIDGE_OVER_OCEAN 0x70 -#define MB_BRIDGE_OVER_POND_LOW 0x71 -#define MB_BRIDGE_OVER_POND_MED 0x72 -#define MB_BRIDGE_OVER_POND_HIGH 0x73 -#define MB_PACIFIDLOG_VERTICAL_LOG_TOP 0x74 -#define MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM 0x75 -#define MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT 0x76 -#define MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT 0x77 -#define MB_FORTREE_BRIDGE 0x78 -#define MB_UNUSED_79 0x79 -#define MB_BRIDGE_OVER_POND_MED_EDGE_1 0x7A -#define MB_BRIDGE_OVER_POND_MED_EDGE_2 0x7B -#define MB_BRIDGE_OVER_POND_HIGH_EDGE_1 0x7C -#define MB_BRIDGE_OVER_POND_HIGH_EDGE_2 0x7D -#define MB_UNUSED_BRIDGE 0x7E -#define MB_BIKE_BRIDGE_OVER_BARRIER 0x7F -#define MB_COUNTER 0x80 -#define MB_UNUSED_81 0x81 -#define MB_UNUSED_82 0x82 -#define MB_PC 0x83 -#define MB_CABLE_BOX_RESULTS_1 0x84 -#define MB_REGION_MAP 0x85 -#define MB_TELEVISION 0x86 -#define MB_POKEBLOCK_FEEDER 0x87 -#define MB_UNUSED_88 0x88 -#define MB_SLOT_MACHINE 0x89 -#define MB_ROULETTE 0x8A -#define MB_CLOSED_SOOTOPOLIS_DOOR 0x8B -#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C -#define MB_PETALBURG_GYM_DOOR 0x8D -#define MB_RUNNING_SHOES_INSTRUCTION 0x8E -#define MB_QUESTIONNAIRE 0x8F -#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 -#define MB_SECRET_BASE_SPOT_RED_CAVE_OPEN 0x91 -#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 -#define MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN 0x93 -#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 -#define MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN 0x95 -#define MB_SECRET_BASE_SPOT_TREE_LEFT 0x96 -#define MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN 0x97 -#define MB_SECRET_BASE_SPOT_SHRUB 0x98 -#define MB_SECRET_BASE_SPOT_SHRUB_OPEN 0x99 -#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A -#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B -#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C -#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D -#define MB_UNUSED_9E 0x9E -#define MB_UNUSED_9F 0x9F -#define MB_BERRY_TREE_SOIL 0xA0 -#define MB_UNUSED_A1 0xA1 -#define MB_UNUSED_A2 0xA2 -#define MB_UNUSED_A3 0xA3 -#define MB_UNUSED_A4 0xA4 -#define MB_UNUSED_A5 0xA5 -#define MB_UNUSED_A6 0xA6 -#define MB_UNUSED_A7 0xA7 -#define MB_UNUSED_A8 0xA8 -#define MB_UNUSED_A9 0xA9 -#define MB_UNUSED_AA 0xAA -#define MB_UNUSED_AB 0xAB -#define MB_UNUSED_AC 0xAC -#define MB_UNUSED_AD 0xAD -#define MB_UNUSED_AE 0xAE -#define MB_UNUSED_AF 0xAF -#define MB_SECRET_BASE_PC 0xB0 -#define MB_SECRET_BASE_REGISTER_PC 0xB1 -#define MB_SECRET_BASE_SCENERY 0xB2 -#define MB_SECRET_BASE_TRAINER_SPOT 0xB3 -#define MB_SECRET_BASE_DECORATION 0xB4 -#define MB_HOLDS_SMALL_DECORATION 0xB5 -#define MB_UNUSED_B6 0xB6 -#define MB_SECRET_BASE_NORTH_WALL 0xB7 -#define MB_SECRET_BASE_BALLOON 0xB8 -#define MB_SECRET_BASE_IMPASSABLE 0xB9 -#define MB_SECRET_BASE_GLITTER_MAT 0xBA -#define MB_SECRET_BASE_JUMP_MAT 0xBB -#define MB_SECRET_BASE_SPIN_MAT 0xBC -#define MB_SECRET_BASE_SOUND_MAT 0xBD -#define MB_SECRET_BASE_BREAKABLE_DOOR 0xBE -#define MB_SECRET_BASE_SAND_ORNAMENT 0xBF -#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0 -#define MB_IMPASSABLE_WEST_AND_EAST 0xC1 -#define MB_SECRET_BASE_HOLE 0xC2 -#define MB_HOLDS_LARGE_DECORATION 0xC3 -#define MB_SECRET_BASE_TV_SHIELD 0xC4 -#define MB_PLAYER_ROOM_PC_ON 0xC5 -#define MB_SECRET_BASE_DECORATION_BASE 0xC6 -#define MB_SECRET_BASE_POSTER 0xC7 -#define MB_UNUSED_C8 0xC8 -#define MB_UNUSED_C9 0xC9 -#define MB_UNUSED_CA 0xCA -#define MB_UNUSED_CB 0xCB -#define MB_UNUSED_CC 0xCC -#define MB_UNUSED_CD 0xCD -#define MB_UNUSED_CE 0xCE -#define MB_UNUSED_CF 0xCF -#define MB_MUDDY_SLOPE 0xD0 -#define MB_BUMPY_SLOPE 0xD1 -#define MB_CRACKED_FLOOR 0xD2 -#define MB_ISOLATED_VERTICAL_RAIL 0xD3 -#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 -#define MB_VERTICAL_RAIL 0xD5 -#define MB_HORIZONTAL_RAIL 0xD6 -#define MB_UNUSED_D7 0xD7 -#define MB_UNUSED_D8 0xD8 -#define MB_UNUSED_D9 0xD9 -#define MB_UNUSED_DA 0xDA -#define MB_UNUSED_DB 0xDB -#define MB_UNUSED_DC 0xDC -#define MB_UNUSED_DD 0xDD -#define MB_UNUSED_DE 0xDE -#define MB_UNUSED_DF 0xDF -#define MB_PICTURE_BOOK_SHELF 0xE0 -#define MB_BOOKSHELF 0xE1 -#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 -#define MB_VASE 0xE3 -#define MB_TRASH_CAN 0xE4 -#define MB_SHOP_SHELF 0xE5 -#define MB_BLUEPRINT 0xE6 -#define MB_CABLE_BOX_RESULTS_2 0xE7 -#define MB_WIRELESS_BOX_RESULTS 0xE8 -#define MB_TRAINER_HILL_TIMER 0xE9 -#define MB_SKY_PILLAR_CLOSED_DOOR 0xEA -#define MB_UNUSED_EB 0xEB -#define MB_UNUSED_EC 0xEC -#define MB_UNUSED_ED 0xED -#define MB_UNUSED_EE 0xEE -#define MB_UNUSED_EF 0xEF +enum { + MB_NORMAL, + MB_SECRET_BASE_WALL, + MB_TALL_GRASS, + MB_LONG_GRASS, + MB_UNUSED_04, + MB_UNUSED_05, + MB_DEEP_SAND, + MB_SHORT_GRASS, + MB_CAVE, + MB_LONG_GRASS_SOUTH_EDGE, + MB_NO_RUNNING, + MB_INDOOR_ENCOUNTER, + MB_MOUNTAIN_TOP, + MB_BATTLE_PYRAMID_WARP, + MB_MOSSDEEP_GYM_WARP, + MB_MT_PYRE_HOLE, + MB_POND_WATER, + MB_INTERIOR_DEEP_WATER, // Used by interior maps; functionally the same as MB_DEEP_WATER + MB_DEEP_WATER, + MB_WATERFALL, + MB_SOOTOPOLIS_DEEP_WATER, + MB_OCEAN_WATER, + MB_PUDDLE, + MB_SHALLOW_WATER, + MB_UNUSED_SOOTOPOLIS_DEEP_WATER, + MB_NO_SURFACING, + MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2, + MB_STAIRS_OUTSIDE_ABANDONED_SHIP, + MB_SHOAL_CAVE_ENTRANCE, + MB_UNUSED_1D, + MB_UNUSED_1E, + MB_UNUSED_1F, + MB_ICE, + MB_SAND, + MB_SEAWEED, + MB_UNUSED_23, + MB_ASHGRASS, + MB_FOOTPRINTS, + MB_THIN_ICE, + MB_CRACKED_ICE, + MB_HOT_SPRINGS, + MB_LAVARIDGE_GYM_B1F_WARP, + MB_SEAWEED_NO_SURFACING, + MB_REFLECTION_UNDER_BRIDGE, + MB_UNUSED_2C, + MB_UNUSED_2D, + MB_UNUSED_2E, + MB_UNUSED_2F, + MB_IMPASSABLE_EAST, + MB_IMPASSABLE_WEST, + MB_IMPASSABLE_NORTH, + MB_IMPASSABLE_SOUTH, + MB_IMPASSABLE_NORTHEAST, + MB_IMPASSABLE_NORTHWEST, + MB_IMPASSABLE_SOUTHEAST, + MB_IMPASSABLE_SOUTHWEST, + MB_JUMP_EAST, + MB_JUMP_WEST, + MB_JUMP_NORTH, + MB_JUMP_SOUTH, + MB_JUMP_NORTHEAST, + MB_JUMP_NORTHWEST, + MB_JUMP_SOUTHEAST, + MB_JUMP_SOUTHWEST, + MB_WALK_EAST, + MB_WALK_WEST, + MB_WALK_NORTH, + MB_WALK_SOUTH, + MB_SLIDE_EAST, + MB_SLIDE_WEST, + MB_SLIDE_NORTH, + MB_SLIDE_SOUTH, + MB_TRICK_HOUSE_PUZZLE_8_FLOOR, + MB_UNUSED_49, + MB_UNUSED_4A, + MB_UNUSED_4B, + MB_UNUSED_4C, + MB_UNUSED_4D, + MB_UNUSED_4E, + MB_UNUSED_4F, + MB_EASTWARD_CURRENT, + MB_WESTWARD_CURRENT, + MB_NORTHWARD_CURRENT, + MB_SOUTHWARD_CURRENT, + MB_UNUSED_54, + MB_UNUSED_55, + MB_UNUSED_56, + MB_UNUSED_57, + MB_UNUSED_58, + MB_UNUSED_59, + MB_UNUSED_5A, + MB_UNUSED_5B, + MB_UNUSED_5C, + MB_UNUSED_5D, + MB_UNUSED_5E, + MB_UNUSED_5F, + MB_NON_ANIMATED_DOOR, + MB_LADDER, + MB_EAST_ARROW_WARP, + MB_WEST_ARROW_WARP, + MB_NORTH_ARROW_WARP, + MB_SOUTH_ARROW_WARP, + MB_CRACKED_FLOOR_HOLE, + MB_AQUA_HIDEOUT_WARP, + MB_LAVARIDGE_GYM_1F_WARP, + MB_ANIMATED_DOOR, + MB_UP_ESCALATOR, + MB_DOWN_ESCALATOR, + MB_WATER_DOOR, + MB_WATER_SOUTH_ARROW_WARP, + MB_DEEP_SOUTH_WARP, + MB_UNUSED_6F, + MB_BRIDGE_OVER_OCEAN, + MB_BRIDGE_OVER_POND_LOW, + MB_BRIDGE_OVER_POND_MED, + MB_BRIDGE_OVER_POND_HIGH, + MB_PACIFIDLOG_VERTICAL_LOG_TOP, + MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM, + MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT, + MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT, + MB_FORTREE_BRIDGE, + MB_UNUSED_79, + MB_BRIDGE_OVER_POND_MED_EDGE_1, + MB_BRIDGE_OVER_POND_MED_EDGE_2, + MB_BRIDGE_OVER_POND_HIGH_EDGE_1, + MB_BRIDGE_OVER_POND_HIGH_EDGE_2, + MB_UNUSED_BRIDGE, + MB_BIKE_BRIDGE_OVER_BARRIER, + MB_COUNTER, + MB_UNUSED_81, + MB_UNUSED_82, + MB_PC, + MB_CABLE_BOX_RESULTS_1, + MB_REGION_MAP, + MB_TELEVISION, + MB_POKEBLOCK_FEEDER, + MB_UNUSED_88, + MB_SLOT_MACHINE, + MB_ROULETTE, + MB_CLOSED_SOOTOPOLIS_DOOR, + MB_TRICK_HOUSE_PUZZLE_DOOR, + MB_PETALBURG_GYM_DOOR, + MB_RUNNING_SHOES_INSTRUCTION, + MB_QUESTIONNAIRE, + MB_SECRET_BASE_SPOT_RED_CAVE, + MB_SECRET_BASE_SPOT_RED_CAVE_OPEN, + MB_SECRET_BASE_SPOT_BROWN_CAVE, + MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN, + MB_SECRET_BASE_SPOT_YELLOW_CAVE, + MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN, + MB_SECRET_BASE_SPOT_TREE_LEFT, + MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN, + MB_SECRET_BASE_SPOT_SHRUB, + MB_SECRET_BASE_SPOT_SHRUB_OPEN, + MB_SECRET_BASE_SPOT_BLUE_CAVE, + MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN, + MB_SECRET_BASE_SPOT_TREE_RIGHT, + MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN, + MB_UNUSED_9E, + MB_UNUSED_9F, + MB_BERRY_TREE_SOIL, + MB_UNUSED_A1, + MB_UNUSED_A2, + MB_UNUSED_A3, + MB_UNUSED_A4, + MB_UNUSED_A5, + MB_UNUSED_A6, + MB_UNUSED_A7, + MB_UNUSED_A8, + MB_UNUSED_A9, + MB_UNUSED_AA, + MB_UNUSED_AB, + MB_UNUSED_AC, + MB_UNUSED_AD, + MB_UNUSED_AE, + MB_UNUSED_AF, + MB_SECRET_BASE_PC, + MB_SECRET_BASE_REGISTER_PC, + MB_SECRET_BASE_SCENERY, + MB_SECRET_BASE_TRAINER_SPOT, + MB_SECRET_BASE_DECORATION, + MB_HOLDS_SMALL_DECORATION, + MB_UNUSED_B6, + MB_SECRET_BASE_NORTH_WALL, + MB_SECRET_BASE_BALLOON, + MB_SECRET_BASE_IMPASSABLE, + MB_SECRET_BASE_GLITTER_MAT, + MB_SECRET_BASE_JUMP_MAT, + MB_SECRET_BASE_SPIN_MAT, + MB_SECRET_BASE_SOUND_MAT, + MB_SECRET_BASE_BREAKABLE_DOOR, + MB_SECRET_BASE_SAND_ORNAMENT, + MB_IMPASSABLE_SOUTH_AND_NORTH, + MB_IMPASSABLE_WEST_AND_EAST, + MB_SECRET_BASE_HOLE, + MB_HOLDS_LARGE_DECORATION, + MB_SECRET_BASE_TV_SHIELD, + MB_PLAYER_ROOM_PC_ON, + MB_SECRET_BASE_DECORATION_BASE, + MB_SECRET_BASE_POSTER, + MB_UNUSED_C8, + MB_UNUSED_C9, + MB_UNUSED_CA, + MB_UNUSED_CB, + MB_UNUSED_CC, + MB_UNUSED_CD, + MB_UNUSED_CE, + MB_UNUSED_CF, + MB_MUDDY_SLOPE, + MB_BUMPY_SLOPE, + MB_CRACKED_FLOOR, + MB_ISOLATED_VERTICAL_RAIL, + MB_ISOLATED_HORIZONTAL_RAIL, + MB_VERTICAL_RAIL, + MB_HORIZONTAL_RAIL, + MB_UNUSED_D7, + MB_UNUSED_D8, + MB_UNUSED_D9, + MB_UNUSED_DA, + MB_UNUSED_DB, + MB_UNUSED_DC, + MB_UNUSED_DD, + MB_UNUSED_DE, + MB_UNUSED_DF, + MB_PICTURE_BOOK_SHELF, + MB_BOOKSHELF, + MB_POKEMON_CENTER_BOOKSHELF, + MB_VASE, + MB_TRASH_CAN, + MB_SHOP_SHELF, + MB_BLUEPRINT, + MB_CABLE_BOX_RESULTS_2, + MB_WIRELESS_BOX_RESULTS, + MB_TRAINER_HILL_TIMER, + MB_SKY_PILLAR_CLOSED_DOOR, + MB_UNUSED_EB, + MB_UNUSED_EC, + MB_UNUSED_ED, + MB_UNUSED_EE, + MB_UNUSED_EF, + NUM_METATILE_BEHAVIORS +}; -#define NUM_METATILE_BEHAVIORS 0xF0 - -#define MB_INVALID 0xFF +#define MB_INVALID UCHAR_MAX #endif // GUARD_METATILE_BEHAVIORS_H diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index c2c018761a..3b63d80f84 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -9,18 +9,6 @@ #define METATILE_BattleDome_Door_Lobby 0x209 #define METATILE_BattleDome_Door_PreBattleRoom 0x20A -// gTileset_BattleFrontierOutsideEast -#define METATILE_BattleFrontierOutsideEast_Door 0x3FC -#define METATILE_BattleFrontierOutsideEast_Door_BattleArena 0x291 -#define METATILE_BattleFrontierOutsideEast_Door_BattleTower 0x329 -#define METATILE_BattleFrontierOutsideEast_Door_Sliding 0x396 - -// gTileset_BattleFrontierOutsideWest -#define METATILE_BattleFrontierOutsideWest_Door 0x3FC -#define METATILE_BattleFrontierOutsideWest_Door_BattleDome 0x28A -#define METATILE_BattleFrontierOutsideWest_Door_BattleFactory 0x263 -#define METATILE_BattleFrontierOutsideWest_Door_Sliding 0x396 - // gTileset_BattleFrontier #define METATILE_BattleFrontier_CorridorOpenDoor_Bottom 0x20F #define METATILE_BattleFrontier_CorridorOpenDoor_Top 0x207 @@ -36,6 +24,18 @@ #define METATILE_BattleFrontier_Elevator_Top1 0x32A #define METATILE_BattleFrontier_Elevator_Top2 0x32B +// gTileset_BattleFrontierOutsideEast +#define METATILE_BattleFrontierOutsideEast_Door 0x3FC +#define METATILE_BattleFrontierOutsideEast_Door_BattleArena 0x291 +#define METATILE_BattleFrontierOutsideEast_Door_BattleTower 0x329 +#define METATILE_BattleFrontierOutsideEast_Door_Sliding 0x396 + +// gTileset_BattleFrontierOutsideWest +#define METATILE_BattleFrontierOutsideWest_Door 0x3FC +#define METATILE_BattleFrontierOutsideWest_Door_BattleDome 0x28A +#define METATILE_BattleFrontierOutsideWest_Door_BattleFactory 0x263 +#define METATILE_BattleFrontierOutsideWest_Door_Sliding 0x396 + // gTileset_BattlePalace #define METATILE_BattlePalace_Door 0x219 @@ -272,6 +272,18 @@ #define METATILE_Lavaridge_NormalGrass 0x206 #define METATILE_Lavaridge_RockWall 0x274 +// gTileset_Lilycove +#define METATILE_Lilycove_Door 0x246 +#define METATILE_Lilycove_Door_DeptStore 0x30C +#define METATILE_Lilycove_Door_SafariZone 0x32D +#define METATILE_Lilycove_Door_Wooden 0x28E +#define METATILE_Lilycove_Wailmer0 0x290 +#define METATILE_Lilycove_Wailmer0_Alt 0x298 +#define METATILE_Lilycove_Wailmer1 0x291 +#define METATILE_Lilycove_Wailmer1_Alt 0x299 +#define METATILE_Lilycove_Wailmer2 0x2A0 +#define METATILE_Lilycove_Wailmer3 0x2A1 + // gTileset_LilycoveMuseum #define METATILE_LilycoveMuseum_Painting0_Left 0x25A #define METATILE_LilycoveMuseum_Painting0_Right 0x25B @@ -284,17 +296,31 @@ #define METATILE_LilycoveMuseum_Painting4_Left 0x262 #define METATILE_LilycoveMuseum_Painting4_Right 0x263 -// gTileset_Lilycove -#define METATILE_Lilycove_Door 0x246 -#define METATILE_Lilycove_Door_DeptStore 0x30C -#define METATILE_Lilycove_Door_SafariZone 0x32D -#define METATILE_Lilycove_Door_Wooden 0x28E -#define METATILE_Lilycove_Wailmer0 0x290 -#define METATILE_Lilycove_Wailmer0_Alt 0x298 -#define METATILE_Lilycove_Wailmer1 0x291 -#define METATILE_Lilycove_Wailmer1_Alt 0x299 -#define METATILE_Lilycove_Wailmer2 0x2A0 -#define METATILE_Lilycove_Wailmer3 0x2A1 +// gTileset_Mauville +#define METATILE_Mauville_DeepSand_BottomMid 0x259 +#define METATILE_Mauville_DeepSand_Center 0x251 +#define METATILE_Mauville_Door 0x2AC +#define METATILE_Mauville_Door_BattleTent 0x3D4 +#define METATILE_Mauville_Door_CyclingRoad 0x289 +#define METATILE_Mauville_Door_Verdanturf 0x3A1 +#define METATILE_Mauville_MirageTower_Tile0 0x3D8 +#define METATILE_Mauville_MirageTower_Tile1 0x3D9 +#define METATILE_Mauville_MirageTower_Tile10 0x3E4 +#define METATILE_Mauville_MirageTower_Tile11 0x3E5 +#define METATILE_Mauville_MirageTower_Tile2 0x3DA +#define METATILE_Mauville_MirageTower_Tile3 0x3E0 +#define METATILE_Mauville_MirageTower_Tile4 0x3E1 +#define METATILE_Mauville_MirageTower_Tile5 0x3E2 +#define METATILE_Mauville_MirageTower_Tile6 0x3E8 +#define METATILE_Mauville_MirageTower_Tile7 0x3E9 +#define METATILE_Mauville_MirageTower_Tile8 0x3EA +#define METATILE_Mauville_MirageTower_Tile9 0x3F0 +#define METATILE_Mauville_MirageTower_TileA 0x3F1 +#define METATILE_Mauville_MirageTower_TileB 0x3F2 +#define METATILE_Mauville_MirageTower_TileC 0x3DB +#define METATILE_Mauville_MirageTower_TileD 0x3DC +#define METATILE_Mauville_MirageTower_TileE 0x3DD +#define METATILE_Mauville_MirageTower_TileF 0x3E3 // gTileset_MauvilleGym #define METATILE_MauvilleGym_FloorTile 0x21A @@ -325,38 +351,16 @@ #define METATILE_MauvilleGym_RedBeamV1_On 0x241 #define METATILE_MauvilleGym_RedBeamV2_On 0x249 -// gTileset_Mauville -#define METATILE_Mauville_DeepSand_BottomMid 0x259 -#define METATILE_Mauville_DeepSand_Center 0x251 -#define METATILE_Mauville_Door 0x2AC -#define METATILE_Mauville_Door_BattleTent 0x3D4 -#define METATILE_Mauville_Door_CyclingRoad 0x289 -#define METATILE_Mauville_Door_Verdanturf 0x3A1 -#define METATILE_Mauville_MirageTower_Tile0 0x3D8 -#define METATILE_Mauville_MirageTower_Tile1 0x3D9 -#define METATILE_Mauville_MirageTower_Tile10 0x3E4 -#define METATILE_Mauville_MirageTower_Tile11 0x3E5 -#define METATILE_Mauville_MirageTower_Tile2 0x3DA -#define METATILE_Mauville_MirageTower_Tile3 0x3E0 -#define METATILE_Mauville_MirageTower_Tile4 0x3E1 -#define METATILE_Mauville_MirageTower_Tile5 0x3E2 -#define METATILE_Mauville_MirageTower_Tile6 0x3E8 -#define METATILE_Mauville_MirageTower_Tile7 0x3E9 -#define METATILE_Mauville_MirageTower_Tile8 0x3EA -#define METATILE_Mauville_MirageTower_Tile9 0x3F0 -#define METATILE_Mauville_MirageTower_TileA 0x3F1 -#define METATILE_Mauville_MirageTower_TileB 0x3F2 -#define METATILE_Mauville_MirageTower_TileC 0x3DB -#define METATILE_Mauville_MirageTower_TileD 0x3DC -#define METATILE_Mauville_MirageTower_TileE 0x3DD -#define METATILE_Mauville_MirageTower_TileF 0x3E3 - // gTileset_MeteorFalls #define METATILE_MeteorFalls_CaveEntrance_Bottom 0x24E #define METATILE_MeteorFalls_CaveEntrance_Left 0x24D #define METATILE_MeteorFalls_CaveEntrance_Right 0x24F #define METATILE_MeteorFalls_CaveEntrance_Top 0x246 +// gTileset_Mossdeep +#define METATILE_Mossdeep_Door 0x2A1 +#define METATILE_Mossdeep_Door_SpaceCenter 0x2ED + // gTileset_MossdeepGameCorner #define METATILE_MossdeepGameCorner_CounterClosed_Bottom 0x232 #define METATILE_MossdeepGameCorner_CounterClosed_Top 0x22A @@ -366,10 +370,6 @@ // gTileset_MossdeepGym #define METATILE_MossdeepGym_YellowArrow_Right 0x250 -// gTileset_Mossdeep -#define METATILE_Mossdeep_Door 0x2A1 -#define METATILE_Mossdeep_Door_SpaceCenter 0x2ED - // gTileset_Pacifidlog #define METATILE_Pacifidlog_Door 0x21A #define METATILE_Pacifidlog_FloatingLogs_HorizontalLeft 0x250 @@ -388,6 +388,11 @@ #define METATILE_Pacifidlog_SubmergedLogs_VerticalBottom 0x262 #define METATILE_Pacifidlog_SubmergedLogs_VerticalTop 0x25A +// gTileset_Petalburg +#define METATILE_Petalburg_Door_BirchsLab 0x249 +#define METATILE_Petalburg_Door_Littleroot 0x248 +#define METATILE_Petalburg_Door_Oldale 0x287 + // gTileset_PetalburgGym #define METATILE_PetalburgGym_Door 0x224 #define METATILE_PetalburgGym_RoomEntrance_Left 0x210 @@ -398,11 +403,6 @@ #define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B #define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C -// gTileset_Petalburg -#define METATILE_Petalburg_Door_BirchsLab 0x249 -#define METATILE_Petalburg_Door_Littleroot 0x248 -#define METATILE_Petalburg_Door_Oldale 0x287 - // gTileset_PokemonCenter #define METATILE_PokemonCenter_CounterBarrier 0x25D #define METATILE_PokemonCenter_Door_CableClub 0x264 @@ -431,14 +431,6 @@ #define METATILE_PokemonCenter_Floor_ShadowTop 0x21E #define METATILE_PokemonCenter_Floor_ShadowTop_Alt 0x2DC -// gTileset_RSMossdeepGym -#define METATILE_RSMossdeepGym_RedArrow_Down 0x205 -#define METATILE_RSMossdeepGym_RedArrow_Left 0x20C -#define METATILE_RSMossdeepGym_RedArrow_Right 0x204 -#define METATILE_RSMossdeepGym_RedArrow_Up 0x20D -#define METATILE_RSMossdeepGym_Switch_Down 0x239 -#define METATILE_RSMossdeepGym_Switch_Up 0x238 - // gTileset_Rustboro #define METATILE_Rustboro_Door_Gray 0x21F #define METATILE_Rustboro_Door_Tan 0x22F @@ -726,11 +718,6 @@ #define METATILE_Slateport_Door 0x2DC #define METATILE_Slateport_Door_BattleTent 0x393 -// gTileset_SootopolisGym -#define METATILE_SootopolisGym_Ice_Broken 0x206 -#define METATILE_SootopolisGym_Ice_Cracked 0x20E -#define METATILE_SootopolisGym_Stairs 0x207 - // gTileset_Sootopolis #define METATILE_Sootopolis_Door 0x21E #define METATILE_Sootopolis_Door_Closed 0x248 @@ -738,6 +725,11 @@ #define METATILE_Sootopolis_GymDoor_Closed 0x250 #define METATILE_Sootopolis_RoughWater 0x290 +// gTileset_SootopolisGym +#define METATILE_SootopolisGym_Ice_Broken 0x206 +#define METATILE_SootopolisGym_Ice_Cracked 0x20E +#define METATILE_SootopolisGym_Stairs 0x207 + // gTileset_TrainerHill #define METATILE_TrainerHill_CounterDoor 0x334 #define METATILE_TrainerHill_Door_Elevator_Lobby 0x32C @@ -787,4 +779,12 @@ #define METATILE_Underwater_FloorShadow 0x228 #define METATILE_Underwater_RockWall 0x21E +// Other +#define METATILE_RSMossdeepGym_RedArrow_Down 0x205 +#define METATILE_RSMossdeepGym_RedArrow_Left 0x20C +#define METATILE_RSMossdeepGym_RedArrow_Right 0x204 +#define METATILE_RSMossdeepGym_RedArrow_Up 0x20D +#define METATILE_RSMossdeepGym_Switch_Down 0x239 +#define METATILE_RSMossdeepGym_Switch_Up 0x238 + #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 7ee1b3760e..c9c51623e5 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_POKEDEX_H #define GUARD_CONSTANTS_POKEDEX_H -// National Pokedex order +// National Pokédex order enum { NATIONAL_DEX_NONE, // Kanto @@ -425,7 +425,7 @@ enum { #define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI #define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS -// Hoenn Pokedex order +// Hoenn Pokédex order enum { HOENN_DEX_NONE, HOENN_DEX_TREECKO, @@ -631,7 +631,7 @@ enum { HOENN_DEX_JIRACHI, HOENN_DEX_DEOXYS, // End of Hoenn Dex (see HOENN_DEX_COUNT) - // Here below have values but are excluded from the Pokedex + // Here below have values but are excluded from the Pokédex HOENN_DEX_BULBASAUR, HOENN_DEX_IVYSAUR, HOENN_DEX_VENUSAUR, diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 6265c027aa..0d6a20e2b9 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_POKEMON_H #define GUARD_CONSTANTS_POKEMON_H -// Pokemon types +// Pokémon types #define TYPE_NONE 255 #define TYPE_NORMAL 0 #define TYPE_FIGHTING 1 @@ -23,7 +23,7 @@ #define TYPE_DARK 17 #define NUMBER_OF_MON_TYPES 18 -// Pokemon egg groups +// Pokémon egg groups #define EGG_GROUP_NONE 0 #define EGG_GROUP_MONSTER 1 #define EGG_GROUP_WATER_1 2 @@ -43,7 +43,7 @@ #define EGG_GROUPS_PER_MON 2 -// Pokemon natures +// Pokémon natures #define NATURE_HARDY 0 #define NATURE_LONELY 1 #define NATURE_BRAVE 2 @@ -71,7 +71,7 @@ #define NATURE_QUIRKY 24 #define NUM_NATURES 25 -// Pokemon Stats +// Pokémon Stats #define STAT_HP 0 #define STAT_ATK 1 #define STAT_DEF 2 @@ -220,7 +220,7 @@ #define GROWTH_FAST 4 #define GROWTH_SLOW 5 -// Body colors for pokedex search +// Body colors for Pokédex search #define BODY_COLOR_RED 0 #define BODY_COLOR_BLUE 1 #define BODY_COLOR_YELLOW 2 @@ -263,7 +263,7 @@ #define MON_PIC_HEIGHT 64 #define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2) -// Most pokemon have 2 frames (a default and an alternate for their animation). +// Most Pokémon have 2 frames (a default and an alternate for their animation). // There are 4 exceptions: // - Castform has 4 frames, 1 for each form // - Deoxys has 2 frames, 1 for each form diff --git a/include/constants/pokemon_icon.h b/include/constants/pokemon_icon.h new file mode 100644 index 0000000000..d57d5111a9 --- /dev/null +++ b/include/constants/pokemon_icon.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CONSTANTS_POKEMON_ICON_H +#define GUARD_CONSTANTS_POKEMON_ICON_H + +#define POKE_ICON_BASE_PAL_TAG 56000 + +#endif // GUARD_CONSTANTS_POKEMON_ICON_H diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h deleted file mode 100644 index 5b8029acf5..0000000000 --- a/include/constants/region_map_sections.h +++ /dev/null @@ -1,227 +0,0 @@ -#ifndef GUARD_REGIONMAPSEC_H -#define GUARD_REGIONMAPSEC_H - -#define MAPSEC_LITTLEROOT_TOWN 0x00 -#define MAPSEC_OLDALE_TOWN 0x01 -#define MAPSEC_DEWFORD_TOWN 0x02 -#define MAPSEC_LAVARIDGE_TOWN 0x03 -#define MAPSEC_FALLARBOR_TOWN 0x04 -#define MAPSEC_VERDANTURF_TOWN 0x05 -#define MAPSEC_PACIFIDLOG_TOWN 0x06 -#define MAPSEC_PETALBURG_CITY 0x07 -#define MAPSEC_SLATEPORT_CITY 0x08 -#define MAPSEC_MAUVILLE_CITY 0x09 -#define MAPSEC_RUSTBORO_CITY 0x0A -#define MAPSEC_FORTREE_CITY 0x0B -#define MAPSEC_LILYCOVE_CITY 0x0C -#define MAPSEC_MOSSDEEP_CITY 0x0D -#define MAPSEC_SOOTOPOLIS_CITY 0x0E -#define MAPSEC_EVER_GRANDE_CITY 0x0F -#define MAPSEC_ROUTE_101 0x10 -#define MAPSEC_ROUTE_102 0x11 -#define MAPSEC_ROUTE_103 0x12 -#define MAPSEC_ROUTE_104 0x13 -#define MAPSEC_ROUTE_105 0x14 -#define MAPSEC_ROUTE_106 0x15 -#define MAPSEC_ROUTE_107 0x16 -#define MAPSEC_ROUTE_108 0x17 -#define MAPSEC_ROUTE_109 0x18 -#define MAPSEC_ROUTE_110 0x19 -#define MAPSEC_ROUTE_111 0x1A -#define MAPSEC_ROUTE_112 0x1B -#define MAPSEC_ROUTE_113 0x1C -#define MAPSEC_ROUTE_114 0x1D -#define MAPSEC_ROUTE_115 0x1E -#define MAPSEC_ROUTE_116 0x1F -#define MAPSEC_ROUTE_117 0x20 -#define MAPSEC_ROUTE_118 0x21 -#define MAPSEC_ROUTE_119 0x22 -#define MAPSEC_ROUTE_120 0x23 -#define MAPSEC_ROUTE_121 0x24 -#define MAPSEC_ROUTE_122 0x25 -#define MAPSEC_ROUTE_123 0x26 -#define MAPSEC_ROUTE_124 0x27 -#define MAPSEC_ROUTE_125 0x28 -#define MAPSEC_ROUTE_126 0x29 -#define MAPSEC_ROUTE_127 0x2A -#define MAPSEC_ROUTE_128 0x2B -#define MAPSEC_ROUTE_129 0x2C -#define MAPSEC_ROUTE_130 0x2D -#define MAPSEC_ROUTE_131 0x2E -#define MAPSEC_ROUTE_132 0x2F -#define MAPSEC_ROUTE_133 0x30 -#define MAPSEC_ROUTE_134 0x31 -#define MAPSEC_UNDERWATER_124 0x32 -#define MAPSEC_UNDERWATER_126 0x33 -#define MAPSEC_UNDERWATER_127 0x34 -#define MAPSEC_UNDERWATER_128 0x35 -#define MAPSEC_UNDERWATER_SOOTOPOLIS 0x36 -#define MAPSEC_GRANITE_CAVE 0x37 -#define MAPSEC_MT_CHIMNEY 0x38 -#define MAPSEC_SAFARI_ZONE 0x39 -#define MAPSEC_BATTLE_FRONTIER 0x3A -#define MAPSEC_PETALBURG_WOODS 0x3B -#define MAPSEC_RUSTURF_TUNNEL 0x3C -#define MAPSEC_ABANDONED_SHIP 0x3D -#define MAPSEC_NEW_MAUVILLE 0x3E -#define MAPSEC_METEOR_FALLS 0x3F -#define MAPSEC_METEOR_FALLS2 0x40 -#define MAPSEC_MT_PYRE 0x41 -#define MAPSEC_AQUA_HIDEOUT_OLD 0x42 -#define MAPSEC_SHOAL_CAVE 0x43 -#define MAPSEC_SEAFLOOR_CAVERN 0x44 -#define MAPSEC_UNDERWATER_SEAFLOOR_CAVERN 0x45 -#define MAPSEC_VICTORY_ROAD 0x46 -#define MAPSEC_MIRAGE_ISLAND 0x47 -#define MAPSEC_CAVE_OF_ORIGIN 0x48 -#define MAPSEC_SOUTHERN_ISLAND 0x49 -#define MAPSEC_FIERY_PATH 0x4A -#define MAPSEC_FIERY_PATH2 0x4B -#define MAPSEC_JAGGED_PASS 0x4C -#define MAPSEC_JAGGED_PASS2 0x4D -#define MAPSEC_SEALED_CHAMBER 0x4E -#define MAPSEC_UNDERWATER_SEALED_CHAMBER 0x4F -#define MAPSEC_SCORCHED_SLAB 0x50 -#define MAPSEC_ISLAND_CAVE 0x51 -#define MAPSEC_DESERT_RUINS 0x52 -#define MAPSEC_ANCIENT_TOMB 0x53 -#define MAPSEC_INSIDE_OF_TRUCK 0x54 -#define MAPSEC_SKY_PILLAR 0x55 -#define MAPSEC_SECRET_BASE 0x56 -#define MAPSEC_DYNAMIC 0x57 -#define MAPSEC_PALLET_TOWN 0x58 -#define MAPSEC_VIRIDIAN_CITY 0x59 -#define MAPSEC_PEWTER_CITY 0x5A -#define MAPSEC_CERULEAN_CITY 0x5B -#define MAPSEC_LAVENDER_TOWN 0x5C -#define MAPSEC_VERMILION_CITY 0x5D -#define MAPSEC_CELADON_CITY 0x5E -#define MAPSEC_FUCHSIA_CITY 0x5F -#define MAPSEC_CINNABAR_ISLAND 0x60 -#define MAPSEC_INDIGO_PLATEAU 0x61 -#define MAPSEC_SAFFRON_CITY 0x62 -#define MAPSEC_ROUTE_4_POKECENTER 0x63 -#define MAPSEC_ROUTE_10_POKECENTER 0x64 -#define MAPSEC_ROUTE_1 0x65 -#define MAPSEC_ROUTE_2 0x66 -#define MAPSEC_ROUTE_3 0x67 -#define MAPSEC_ROUTE_4 0x68 -#define MAPSEC_ROUTE_5 0x69 -#define MAPSEC_ROUTE_6 0x6A -#define MAPSEC_ROUTE_7 0x6B -#define MAPSEC_ROUTE_8 0x6C -#define MAPSEC_ROUTE_9 0x6D -#define MAPSEC_ROUTE_10 0x6E -#define MAPSEC_ROUTE_11 0x6F -#define MAPSEC_ROUTE_12 0x70 -#define MAPSEC_ROUTE_13 0x71 -#define MAPSEC_ROUTE_14 0x72 -#define MAPSEC_ROUTE_15 0x73 -#define MAPSEC_ROUTE_16 0x74 -#define MAPSEC_ROUTE_17 0x75 -#define MAPSEC_ROUTE_18 0x76 -#define MAPSEC_ROUTE_19 0x77 -#define MAPSEC_ROUTE_20 0x78 -#define MAPSEC_ROUTE_21 0x79 -#define MAPSEC_ROUTE_22 0x7A -#define MAPSEC_ROUTE_23 0x7B -#define MAPSEC_ROUTE_24 0x7C -#define MAPSEC_ROUTE_25 0x7D -#define MAPSEC_VIRIDIAN_FOREST 0x7E -#define MAPSEC_MT_MOON 0x7F -#define MAPSEC_S_S_ANNE 0x80 -#define MAPSEC_UNDERGROUND_PATH 0x81 -#define MAPSEC_UNDERGROUND_PATH_2 0x82 -#define MAPSEC_DIGLETTS_CAVE 0x83 -#define MAPSEC_KANTO_VICTORY_ROAD 0x84 -#define MAPSEC_ROCKET_HIDEOUT 0x85 -#define MAPSEC_SILPH_CO 0x86 -#define MAPSEC_POKEMON_MANSION 0x87 -#define MAPSEC_KANTO_SAFARI_ZONE 0x88 -#define MAPSEC_POKEMON_LEAGUE 0x89 -#define MAPSEC_ROCK_TUNNEL 0x8A -#define MAPSEC_SEAFOAM_ISLANDS 0x8B -#define MAPSEC_POKEMON_TOWER 0x8C -#define MAPSEC_CERULEAN_CAVE 0x8D -#define MAPSEC_POWER_PLANT 0x8E -#define MAPSEC_ONE_ISLAND 0x8F -#define MAPSEC_TWO_ISLAND 0x90 -#define MAPSEC_THREE_ISLAND 0x91 -#define MAPSEC_FOUR_ISLAND 0x92 -#define MAPSEC_FIVE_ISLAND 0x93 -#define MAPSEC_SEVEN_ISLAND 0x94 -#define MAPSEC_SIX_ISLAND 0x95 -#define MAPSEC_KINDLE_ROAD 0x96 -#define MAPSEC_TREASURE_BEACH 0x97 -#define MAPSEC_CAPE_BRINK 0x98 -#define MAPSEC_BOND_BRIDGE 0x99 -#define MAPSEC_THREE_ISLE_PORT 0x9A -#define MAPSEC_SEVII_ISLE_6 0x9B -#define MAPSEC_SEVII_ISLE_7 0x9C -#define MAPSEC_SEVII_ISLE_8 0x9D -#define MAPSEC_SEVII_ISLE_9 0x9E -#define MAPSEC_RESORT_GORGEOUS 0x9F -#define MAPSEC_WATER_LABYRINTH 0xA0 -#define MAPSEC_FIVE_ISLE_MEADOW 0xA1 -#define MAPSEC_MEMORIAL_PILLAR 0xA2 -#define MAPSEC_OUTCAST_ISLAND 0xA3 -#define MAPSEC_GREEN_PATH 0xA4 -#define MAPSEC_WATER_PATH 0xA5 -#define MAPSEC_RUIN_VALLEY 0xA6 -#define MAPSEC_TRAINER_TOWER 0xA7 -#define MAPSEC_CANYON_ENTRANCE 0xA8 -#define MAPSEC_SEVAULT_CANYON 0xA9 -#define MAPSEC_TANOBY_RUINS 0xAA -#define MAPSEC_SEVII_ISLE_22 0xAB -#define MAPSEC_SEVII_ISLE_23 0xAC -#define MAPSEC_SEVII_ISLE_24 0xAD -#define MAPSEC_NAVEL_ROCK_FRLG 0xAE -#define MAPSEC_MT_EMBER 0xAF -#define MAPSEC_BERRY_FOREST 0xB0 -#define MAPSEC_ICEFALL_CAVE 0xB1 -#define MAPSEC_ROCKET_WAREHOUSE 0xB2 -#define MAPSEC_TRAINER_TOWER_2 0xB3 -#define MAPSEC_DOTTED_HOLE 0xB4 -#define MAPSEC_LOST_CAVE 0xB5 -#define MAPSEC_PATTERN_BUSH 0xB6 -#define MAPSEC_ALTERING_CAVE_FRLG 0xB7 -#define MAPSEC_TANOBY_CHAMBERS 0xB8 -#define MAPSEC_THREE_ISLE_PATH 0xB9 -#define MAPSEC_TANOBY_KEY 0xBA -#define MAPSEC_BIRTH_ISLAND_FRLG 0xBB -#define MAPSEC_MONEAN_CHAMBER 0xBC -#define MAPSEC_LIPTOO_CHAMBER 0xBD -#define MAPSEC_WEEPTH_CHAMBER 0xBE -#define MAPSEC_DILFORD_CHAMBER 0xBF -#define MAPSEC_SCUFIB_CHAMBER 0xC0 -#define MAPSEC_RIXY_CHAMBER 0xC1 -#define MAPSEC_VIAPOIS_CHAMBER 0xC2 -#define MAPSEC_EMBER_SPA 0xC3 -#define MAPSEC_SPECIAL_AREA 0xC4 -#define MAPSEC_AQUA_HIDEOUT 0xC5 -#define MAPSEC_MAGMA_HIDEOUT 0xC6 -#define MAPSEC_MIRAGE_TOWER 0xC7 -#define MAPSEC_BIRTH_ISLAND 0xC8 -#define MAPSEC_FARAWAY_ISLAND 0xC9 -#define MAPSEC_ARTISAN_CAVE 0xCA -#define MAPSEC_MARINE_CAVE 0xCB -#define MAPSEC_UNDERWATER_MARINE_CAVE 0xCC -#define MAPSEC_TERRA_CAVE 0xCD -#define MAPSEC_UNDERWATER_105 0xCE -#define MAPSEC_UNDERWATER_125 0xCF -#define MAPSEC_UNDERWATER_129 0xD0 -#define MAPSEC_DESERT_UNDERPASS 0xD1 -#define MAPSEC_ALTERING_CAVE 0xD2 -#define MAPSEC_NAVEL_ROCK 0xD3 -#define MAPSEC_TRAINER_HILL 0xD4 -#define MAPSEC_NONE 0xD5 - -#define METLOC_SPECIAL_EGG 0xFD -#define METLOC_IN_GAME_TRADE 0xFE -#define METLOC_FATEFUL_ENCOUNTER 0xFF - -#define KANTO_MAPSEC_START MAPSEC_PALLET_TOWN -#define KANTO_MAPSEC_END MAPSEC_SPECIAL_AREA -#define KANTO_MAPSEC_COUNT (KANTO_MAPSEC_END - KANTO_MAPSEC_START + 1) - -#endif //GUARD_REGIONMAPSEC_H diff --git a/include/constants/rematches.h b/include/constants/rematches.h new file mode 100644 index 0000000000..2ddefcc578 --- /dev/null +++ b/include/constants/rematches.h @@ -0,0 +1,89 @@ +#ifndef GUARD_REMATCHES_H +#define GUARD_REMATCHES_H + +enum { + REMATCH_ROSE, + REMATCH_ANDRES, + REMATCH_DUSTY, + REMATCH_LOLA, + REMATCH_RICKY, + REMATCH_LILA_AND_ROY, + REMATCH_CRISTIN, + REMATCH_BROOKE, + REMATCH_WILTON, + REMATCH_VALERIE, + REMATCH_CINDY, + REMATCH_THALIA, + REMATCH_JESSICA, + REMATCH_WINSTON, + REMATCH_STEVE, + REMATCH_TONY, + REMATCH_NOB, + REMATCH_KOJI, + REMATCH_FERNANDO, + REMATCH_DALTON, + REMATCH_BERNIE, + REMATCH_ETHAN, + REMATCH_JOHN_AND_JAY, + REMATCH_JEFFREY, + REMATCH_CAMERON, + REMATCH_JACKI, + REMATCH_WALTER, + REMATCH_KAREN, + REMATCH_JERRY, + REMATCH_ANNA_AND_MEG, + REMATCH_ISABEL, + REMATCH_MIGUEL, + REMATCH_TIMOTHY, + REMATCH_SHELBY, + REMATCH_CALVIN, + REMATCH_ELLIOT, + REMATCH_ISAIAH, + REMATCH_MARIA, + REMATCH_ABIGAIL, + REMATCH_DYLAN, + REMATCH_KATELYN, + REMATCH_BENJAMIN, + REMATCH_PABLO, + REMATCH_NICOLAS, + REMATCH_ROBERT, + REMATCH_LAO, + REMATCH_CYNDY, + REMATCH_MADELINE, + REMATCH_JENNY, + REMATCH_DIANA, + REMATCH_AMY_AND_LIV, + REMATCH_ERNEST, + REMATCH_CORY, + REMATCH_EDWIN, + REMATCH_LYDIA, + REMATCH_ISAAC, + REMATCH_GABRIELLE, + REMATCH_CATHERINE, + REMATCH_JACKSON, + REMATCH_HALEY, + REMATCH_JAMES, + REMATCH_TRENT, + REMATCH_SAWYER, + REMATCH_KIRA_AND_DAN, + REMATCH_WALLY_VR, // Entries above WALLY are considered normal trainers, from Wally below are special trainers + REMATCH_ROXANNE, + REMATCH_BRAWLY, + REMATCH_WATTSON, + REMATCH_FLANNERY, + REMATCH_NORMAN, + REMATCH_WINONA, + REMATCH_TATE_AND_LIZA, + REMATCH_JUAN, + REMATCH_SIDNEY, // Entries from SIDNEY below are considered part of REMATCH_ELITE_FOUR_ENTRIES. + REMATCH_PHOEBE, + REMATCH_GLACIA, + REMATCH_DRAKE, + REMATCH_WALLACE, + REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum +}; + +#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_VR +#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY + +#endif // GUARD_REMATCHES_H diff --git a/include/constants/songs.h b/include/constants/songs.h index ab6ddd62bc..9ebcc5d873 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -489,6 +489,8 @@ #define MUS_RG_SLOW_PALLET 557 // MUS_RG_SLOWMASARA #define MUS_RG_TEACHY_TV_MENU 558 // MUS_RG_TVNOIZE +// These PH_* constants are phoneme sounds used by the "bard" NPC (see src/bard_music.c and src/mauville_old_man.c). +// Each comes in a triplet of PH_*_BLEND, PH_*_HELD, and PH_*_SOLO, and the name of each triplet incorporates the English phonetic sound it represents. #define PH_TRAP_BLEND 559 #define PH_TRAP_HELD 560 #define PH_TRAP_SOLO 561 @@ -545,4 +547,10 @@ #define MUS_NONE 0xFFFF +#define FIRST_PHONEME_SONG PH_TRAP_BLEND +#define LAST_PHONEME_SONG PH_NURSE_SOLO +#define NUM_PHONEME_SONGS (LAST_PHONEME_SONG - FIRST_PHONEME_SONG + 1) +#define PHONEME_ID(song) ((song) - FIRST_PHONEME_SONG) +#define PHONEME_ID_NONE 0xFF + #endif // GUARD_CONSTANTS_SONGS_H diff --git a/include/constants/tv.h b/include/constants/tv.h index 13ec88ecdc..1b629fb039 100644 --- a/include/constants/tv.h +++ b/include/constants/tv.h @@ -170,7 +170,7 @@ #define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s -// TV Show states for Pokemon Contest Live Updates +// TV Show states for Pokémon Contest Live Updates #define CONTESTLIVE_STATE_INTRO 0 #define CONTESTLIVE_STATE_WON_BOTH_ROUNDS 1 #define CONTESTLIVE_STATE_BETTER_ROUND2 2 diff --git a/include/constants/vars.h b/include/constants/vars.h index e79919c329..1b71134593 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -4,7 +4,7 @@ #define VARS_START 0x4000 // temporary vars -// The first 0x10 vars are are temporary--they are cleared every time a map is loaded. +// The first 0x10 vars are temporary--they are cleared every time a map is loaded. #define TEMP_VARS_START 0x4000 #define VAR_TEMP_0 (TEMP_VARS_START + 0x0) #define VAR_TEMP_1 (TEMP_VARS_START + 0x1) diff --git a/include/contest.h b/include/contest.h index d0630a8011..69b07eacc8 100644 --- a/include/contest.h +++ b/include/contest.h @@ -209,7 +209,7 @@ struct ContestantStatus u8 comboAppealBonus; u8 repeatJam; u8 nextTurnOrder; // turn position - u8 attentionLevel; // How much the Pokemon "stood out" + u8 attentionLevel; // How much the Pokémon "stood out" u8 contestantAnimTarget; }; @@ -290,11 +290,11 @@ struct ContestResources struct ContestGraphicsState *gfxState; struct ContestMoveAnimData *moveAnim; struct ContestTV *tv; - struct ContestUnused * unused; - u8 * contestBgTilemaps[CONTESTANT_COUNT]; - void * boxBlinkTiles1; - void * boxBlinkTiles2; - void * animBgTileBuffer; + struct ContestUnused *unused; + u8 *contestBgTilemaps[CONTESTANT_COUNT]; + void *boxBlinkTiles1; + void *boxBlinkTiles2; + void *animBgTileBuffer; }; #define eContest (*gContestResources->contest) diff --git a/include/contest_ai.h b/include/contest_ai.h index 20b9eec10d..4ba2c9ca2e 100644 --- a/include/contest_ai.h +++ b/include/contest_ai.h @@ -10,7 +10,7 @@ enum CONTESTAI_DO_NOT_PROCESS }; -void ContestAI_ResetAI(u8); +void ContestAI_ResetAI(u8 contestantAI); u8 ContestAI_GetActionToUse(void); #endif // GUARD_CONTESTAI_H diff --git a/include/contest_link.h b/include/contest_link.h index cd26825246..091d344609 100644 --- a/include/contest_link.h +++ b/include/contest_link.h @@ -1,23 +1,23 @@ #ifndef GUARD_CONTEST_LINK_H #define GUARD_CONTEST_LINK_H -void Task_LinkContest_CommunicateAppealsState(u8); -void Task_LinkContest_CommunicateFinalStandings(u8); -void Task_LinkContest_Init(u8); -void Task_LinkContest_CommunicateMonsRS(u8); -void Task_LinkContest_CommunicateRngRS(u8); -void Task_LinkContest_CommunicateLeaderIdsRS(u8); -void Task_LinkContest_CommunicateCategoryRS(u8); -void Task_LinkContest_CommunicateMonIdxs(u8); -void Task_LinkContest_StartCommunicationEm(u8); -void Task_LinkContest_CommunicateRound1Points(u8); -void Task_LinkContest_CommunicateTurnOrder(u8); -void Task_LinkContest_FinalizeConnection(u8); -void Task_LinkContest_CommunicateMoveSelections(u8); -bool32 LinkContest_TryLinkStandby(s16 *); -bool32 LinkContest_SendBlock(void *, u16); +void Task_LinkContest_CommunicateAppealsState(u8 taskId); +void Task_LinkContest_CommunicateFinalStandings(u8 taskId); +void Task_LinkContest_Init(u8 taskId); +void Task_LinkContest_CommunicateMonsRS(u8 taskId); +void Task_LinkContest_CommunicateRngRS(u8 taskId); +void Task_LinkContest_CommunicateLeaderIdsRS(u8 taskId); +void Task_LinkContest_CommunicateCategoryRS(u8 taskId); +void Task_LinkContest_CommunicateMonIdxs(u8 taskId); +void Task_LinkContest_StartCommunicationEm(u8 taskId); +void Task_LinkContest_CommunicateRound1Points(u8 taskId); +void Task_LinkContest_CommunicateTurnOrder(u8 taskId); +void Task_LinkContest_FinalizeConnection(u8 taskId); +void Task_LinkContest_CommunicateMoveSelections(u8 taskId); +bool32 LinkContest_TryLinkStandby(s16 *state); +bool32 LinkContest_SendBlock(void *src, u16 size); bool8 LinkContest_GetBlockReceivedFromAllPlayers(void); -bool8 LinkContest_GetBlockReceived(u8); -u8 LinkContest_GetLeaderIndex(u8 *); +bool8 LinkContest_GetBlockReceived(u8 flag); +u8 LinkContest_GetLeaderIndex(u8 *ids); #endif //GUARD_CONTEST_LINK_H diff --git a/include/contest_painting.h b/include/contest_painting.h index f16a0d2f32..06277dec1f 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONTESTPAINTING_H #define GUARD_CONTESTPAINTING_H -void SetContestWinnerForPainting(int); +void SetContestWinnerForPainting(int contestWinnerId); void CB2_ContestPainting(void); #endif diff --git a/include/contest_util.h b/include/contest_util.h index 1e97d91d35..fcf742012f 100644 --- a/include/contest_util.h +++ b/include/contest_util.h @@ -6,7 +6,7 @@ void BufferContestantMonNickname(void); void StartContest(void); void BufferContestantMonSpecies(void); void ShowContestResults(void); -void ContestLinkTransfer(u8); +void ContestLinkTransfer(u8 category); void ShowContestPainting(void); u16 GetContestRand(void); u8 CountPlayerMuseumPaintings(void); diff --git a/include/coord_event_weather.h b/include/coord_event_weather.h index 86fb487932..92cceae68f 100644 --- a/include/coord_event_weather.h +++ b/include/coord_event_weather.h @@ -1,6 +1,6 @@ #ifndef GUARD_COORD_EVENT_WEATHER_H #define GUARD_COORD_EVENT_WEATHER_H -void DoCoordEventWeather(u8); +void DoCoordEventWeather(u8 coordEventWeather); #endif // GUARD_COORD_EVENT_WEATHER_H diff --git a/include/data.h b/include/data.h index 41b34d73e2..558b1dfff3 100644 --- a/include/data.h +++ b/include/data.h @@ -28,9 +28,9 @@ struct MonCoords u8 y_offset; }; -#define MON_COORDS_SIZE(width, height)(DIV_ROUND_UP(width, 8) << 4 | DIV_ROUND_UP(height, 8)) -#define GET_MON_COORDS_WIDTH(size)((size >> 4) * 8) -#define GET_MON_COORDS_HEIGHT(size)((size & 0xF) * 8) +#define MON_COORDS_SIZE(width, height) (DIV_ROUND_UP(width, 8) << 4 | DIV_ROUND_UP(height, 8)) +#define GET_MON_COORDS_WIDTH(size) ((size >> 4) * 8) +#define GET_MON_COORDS_HEIGHT(size) ((size & 0xF) * 8) struct TrainerMonNoItemDefaultMoves { @@ -91,7 +91,7 @@ struct Trainer /*0x24*/ union TrainerMonPtr party; }; -#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) +#define TRAINER_ENCOUNTER_MUSIC(trainer) ((gTrainers[trainer].encounterMusic_gender & 0x7F)) extern const u16 gMinigameDigits_Pal[]; extern const u32 gMinigameDigits_Gfx[]; diff --git a/include/decoration.h b/include/decoration.h index db0f337f4d..415ffb85ae 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -58,10 +58,10 @@ extern u8 gCurDecorationIndex; void InitDecorationContextItems(void); void DoSecretBaseDecorationMenu(u8 taskId); -void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decor); +void ShowDecorationOnMap(u16 mapX, u16 mapY, u16 decoration); void DoPlayerRoomDecorationMenu(u8 taskId); void ShowDecorationCategoriesWindow(u8 taskId); -void CopyDecorationCategoryName(u8 *dest, u8 decorCat); +void CopyDecorationCategoryName(u8 *dest, u8 category); bool8 IsSelectedDecorInThePC(void); u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h index f43b91d7a1..6bb9910ba4 100644 --- a/include/decoration_inventory.h +++ b/include/decoration_inventory.h @@ -12,9 +12,9 @@ extern struct DecorationInventory gDecorationInventories[]; void SetDecorationInventoriesPointers(void); void ClearDecorationInventories(void); s8 GetFirstEmptyDecorSlot(u8 category); -u8 CheckHasDecoration(u8 decor); -u8 DecorationAdd(u8 decor); -u8 DecorationCheckSpace(u8 decor); +bool8 CheckHasDecoration(u8 decor); +bool8 DecorationAdd(u8 decor); +bool8 DecorationCheckSpace(u8 decor); s8 DecorationRemove(u8 decor); void CondenseDecorationsInCategory(u8 category); u8 GetNumOwnedDecorationsInCategory(u8 category); diff --git a/gflib/dma3.h b/include/dma3.h similarity index 100% rename from gflib/dma3.h rename to include/dma3.h diff --git a/include/easy_chat.h b/include/easy_chat.h index 4bcc7389cd..0434bb0100 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -122,16 +122,16 @@ struct EasyChatWordsByLetter void InitEasyChatPhrases(void); void ShowEasyChatScreen(void); -u8 * CopyEasyChatWord(u8 *dest, u16 word); -bool32 IsEasyChatAnswerUnlocked(int word); +u8 *CopyEasyChatWord(u8 *dest, u16 easyChatWord); +bool32 IsEasyChatAnswerUnlocked(int easyChatWord); void InitializeEasyChatWordArray(u16 *words, u16 length); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); -bool8 IsBardWordInvalid(u16 word); -u16 GetRandomEasyChatWordFromGroup(u16 group); +bool8 IsBardWordInvalid(u16 easyChatWord); +u16 GetRandomEasyChatWordFromGroup(u16 groupId); u16 UnlockRandomTrendySaying(void); -u16 EasyChat_GetNumWordsInGroup(u8); -u16 GetRandomEasyChatWordFromUnlockedGroup(u16); -void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType); +u16 EasyChat_GetNumWordsInGroup(u8 groupId); +u16 GetRandomEasyChatWordFromUnlockedGroup(u16 groupId); +void DoEasyChatScreen(u8 type, u16 *words, MainCallback exitCallback, u8 displayedPersonType); void InitQuestionnaireWords(void); void UnlockTrendySaying(u8 wordIndex); diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h index 29386bcb22..0e3d122b58 100755 --- a/include/ereader_helpers.h +++ b/include/ereader_helpers.h @@ -49,10 +49,10 @@ struct EReaderTrainerHillSet u8 unk_ec0[40]; }; // size = 0xf00 -bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *); -bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *); +bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *hillSet); +bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *hillSet); bool32 ReadTrainerHillAndValidate(void); -int EReaderHandleTransfer(u8, size_t, const void *, void *); +int EReaderHandleTransfer(u8 mode, size_t size, const void *data, void *recvBuffer); void EReaderHelper_Timer3Callback(void); void EReaderHelper_SerialCallback(void); void EReaderHelper_SaveRegsState(void); diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 01269cdb5e..ebc6a6d0e2 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -71,6 +71,12 @@ enum ReflectionTypes #define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18) #define GROUND_EFFECT_FLAG_SEAWEED (1 << 19) +// Sprite data for the CameraObject functions +#define sCamera_FollowSpriteId data[0] +#define sCamera_State data[1] +#define sCamera_MoveX data[2] +#define sCamera_MoveY data[3] + struct StepAnimTable { const union AnimCmd *const *anims; @@ -111,21 +117,21 @@ void LoadSpecialObjectReflectionPalette(u16 tag, u8 slot); void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); void PatchObjectPalette(u16 paletteTag, u8 paletteSlot); void SpawnObjectEventsOnReturnToField(s16 x, s16 y); -void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); +void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorationCategory); void GetMapCoordsFromSpritePos(s16 x, s16 y, s16 *destX, s16 *destY); u8 GetFaceDirectionAnimNum(u8 direction); void SetSpritePosToOffsetMapCoords(s16 *x, s16 *y, s16 dx, s16 dy); -void ObjectEventClearHeldMovement(struct ObjectEvent *); -void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *); +void ObjectEventClearHeldMovement(struct ObjectEvent *objectEvent); +void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *objectEvent); void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); -u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); +u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority); u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation); -u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); +u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate); void SetSpritePosToMapCoords(s16 mapX, s16 mapY, s16 *destX, s16 *destY); -void CameraObjectReset1(void); -void ObjectEventSetGraphicsId(struct ObjectEvent *, u8 graphicsId); -void ObjectEventTurn(struct ObjectEvent *, u8 direction); +void CameraObjectReset(void); +void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId); +void ObjectEventTurn(struct ObjectEvent *objectEvent, u8 direction); void ObjectEventTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction); const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId); void SetObjectInvisibility(u8 localId, u8 mapNum, u8 mapGroup, bool8 invisible); @@ -135,21 +141,21 @@ void ResetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup); void SetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority); void AllowObjectAtPosTriggerGroundEffects(s16 x, s16 y); void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup); -void ShiftObjectEventCoords(struct ObjectEvent *, s16 x, s16 y); -void MoveObjectEventToMapCoords(struct ObjectEvent *, s16 x, s16 y); +void ShiftObjectEventCoords(struct ObjectEvent *objectEvent, s16 x, s16 y); +void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y); void TryOverrideObjectEventTemplateCoords(u8 localId, u8 mapNum, u8 mapGroup); -void InitObjectEventPalettes(u8 palSlot); -void UpdateObjectEventCurrentMovement(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *)); -u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8 direction); +void InitObjectEventPalettes(u8 reflectionType); +void UpdateObjectEventCurrentMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 (*callback)(struct ObjectEvent *, struct Sprite *)); +bool8 ObjectEventFaceOppositeDirection(struct ObjectEvent *objectEvent, u8 direction); u8 GetOppositeDirection(u8 direction); u8 GetWalkInPlaceFasterMovementAction(u32); u8 GetWalkInPlaceFastMovementAction(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceSlowMovementAction(u32); -u8 GetCollisionAtCoords(struct ObjectEvent *, s16 x, s16 y, u32 dir); +u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir); void MoveCoords(u8 direction, s16 *x, s16 *y); -bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); -u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); +bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *objectEvent); +u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *objectEvent); u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation); void SetTrainerMovementType(struct ObjectEvent *objectEvent, u8 movementType); u8 GetTrainerFacingDirectionMovementType(u8 direction); @@ -192,11 +198,11 @@ u8 GetWalkSlowMovementAction(u32); u8 GetJumpMovementAction(u32); u8 ElevationToPriority(u8 elevation); void ObjectEventUpdateElevation(struct ObjectEvent *objEvent); -void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *, u8 subpriority); -void UnfreezeObjectEvent(struct ObjectEvent *); -u8 FindLockedObjectEventIndex(struct ObjectEvent *); -void SetAndStartSpriteAnim(struct Sprite *, u8 animNum, u8 animCmdIndex); -bool8 SpriteAnimEnded(struct Sprite *); +void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 subpriority); +void UnfreezeObjectEvent(struct ObjectEvent *objectEvent); +u8 FindLockedObjectEventIndex(struct ObjectEvent *objectEvent); +void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex); +bool8 SpriteAnimEnded(struct Sprite *sprite); void UnfreezeObjectEvents(void); void FreezeObjectEventsExceptOne(u8 objectEventId); void FreezeObjectEventsExceptTwo(u8 objectEventId1, u8 objectEventId2); @@ -211,78 +217,78 @@ u16 GetObjectPaletteTag(u8 palSlot); void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible); s16 GetFigure8XOffset(s16 idx); s16 GetFigure8YOffset(s16 idx); -void CameraObjectReset2(void); +void CameraObjectFreeze(void); u8 GetObjectEventBerryTreeId(u8 objectEventId); void SetBerryTreeJustPicked(u8 mapId, u8 mapNumber, u8 mapGroup); bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup); -void MovementType_None(struct Sprite *); -void MovementType_LookAround(struct Sprite *); -void MovementType_WanderAround(struct Sprite *); -void MovementType_WanderUpAndDown(struct Sprite *); -void MovementType_WanderLeftAndRight(struct Sprite *); -void MovementType_FaceDirection(struct Sprite *); -void MovementType_Player(struct Sprite *); -void MovementType_BerryTreeGrowth(struct Sprite *); -void MovementType_FaceDownAndUp(struct Sprite *); -void MovementType_FaceLeftAndRight(struct Sprite *); -void MovementType_FaceUpAndLeft(struct Sprite *); -void MovementType_FaceUpAndRight(struct Sprite *); -void MovementType_FaceDownAndLeft(struct Sprite *); -void MovementType_FaceDownAndRight(struct Sprite *); -void MovementType_FaceDownUpAndLeft(struct Sprite *); -void MovementType_FaceDownUpAndRight(struct Sprite *); -void MovementType_FaceUpRightAndLeft(struct Sprite *); -void MovementType_FaceDownRightAndLeft(struct Sprite *); -void MovementType_RotateCounterclockwise(struct Sprite *); -void MovementType_RotateClockwise(struct Sprite *); -void MovementType_WalkBackAndForth(struct Sprite *); -void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *); -void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *); -void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *); -void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *); -void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *); -void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *); -void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *); -void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *); -void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *); -void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *); -void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *); -void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *); -void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *); -void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *); -void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *); -void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *); -void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *); -void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *); -void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *); -void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *); -void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *); -void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *); -void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *); -void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *); -void MovementType_CopyPlayer(struct Sprite *); -void MovementType_TreeDisguise(struct Sprite *); -void MovementType_MountainDisguise(struct Sprite *); -void MovementType_CopyPlayerInGrass(struct Sprite *); -void MovementType_Buried(struct Sprite *); -void MovementType_WalkInPlace(struct Sprite *); -void MovementType_JogInPlace(struct Sprite *); -void MovementType_RunInPlace(struct Sprite *); -void MovementType_Invisible(struct Sprite *); -void MovementType_WalkSlowlyInPlace(struct Sprite *); +void MovementType_None(struct Sprite *sprite); +void MovementType_LookAround(struct Sprite *sprite); +void MovementType_WanderAround(struct Sprite *sprite); +void MovementType_WanderUpAndDown(struct Sprite *sprite); +void MovementType_WanderLeftAndRight(struct Sprite *sprite); +void MovementType_FaceDirection(struct Sprite *sprite); +void MovementType_Player(struct Sprite *sprite); +void MovementType_BerryTreeGrowth(struct Sprite *sprite); +void MovementType_FaceDownAndUp(struct Sprite *sprite); +void MovementType_FaceLeftAndRight(struct Sprite *sprite); +void MovementType_FaceUpAndLeft(struct Sprite *sprite); +void MovementType_FaceUpAndRight(struct Sprite *sprite); +void MovementType_FaceDownAndLeft(struct Sprite *sprite); +void MovementType_FaceDownAndRight(struct Sprite *sprite); +void MovementType_FaceDownUpAndLeft(struct Sprite *sprite); +void MovementType_FaceDownUpAndRight(struct Sprite *sprite); +void MovementType_FaceUpRightAndLeft(struct Sprite *sprite); +void MovementType_FaceDownRightAndLeft(struct Sprite *sprite); +void MovementType_RotateCounterclockwise(struct Sprite *sprite); +void MovementType_RotateClockwise(struct Sprite *sprite); +void MovementType_WalkBackAndForth(struct Sprite *sprite); +void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *sprite); +void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *sprite); +void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *sprite); +void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *sprite); +void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *sprite); +void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *sprite); +void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *sprite); +void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *sprite); +void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *sprite); +void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *sprite); +void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *sprite); +void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *sprite); +void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *sprite); +void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *sprite); +void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *sprite); +void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *sprite); +void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *sprite); +void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *sprite); +void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *sprite); +void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *sprite); +void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *sprite); +void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *sprite); +void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *sprite); +void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *sprite); +void MovementType_CopyPlayer(struct Sprite *sprite); +void MovementType_TreeDisguise(struct Sprite *sprite); +void MovementType_MountainDisguise(struct Sprite *sprite); +void MovementType_CopyPlayerInGrass(struct Sprite *sprite); +void MovementType_Buried(struct Sprite *sprite); +void MovementType_WalkInPlace(struct Sprite *sprite); +void MovementType_JogInPlace(struct Sprite *sprite); +void MovementType_RunInPlace(struct Sprite *sprite); +void MovementType_Invisible(struct Sprite *sprite); +void MovementType_WalkSlowlyInPlace(struct Sprite *sprite); u8 GetSlideMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority); -u8 MovementType_WanderAround_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step5(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderAround_Step6(struct ObjectEvent *, struct Sprite *); +bool8 MovementType_WanderAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderAround_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_WestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); @@ -294,143 +300,143 @@ u8 GetLimitedVectorDirection_SouthNorthWest(s16 dx, s16 dy, s16 absdx, s16 absdy u8 GetLimitedVectorDirection_SouthNorthEast(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_NorthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy); -u8 MovementType_LookAround_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_LookAround_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDirection_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDirection_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDirection_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Normal(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Move(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_SparkleStart(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Sparkle(struct ObjectEvent *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_SparkleEnd(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RotateClockwise_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_CopyPlayer_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_CopyPlayer_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_CopyPlayer_Step2(struct ObjectEvent *, struct Sprite *); -bool8 CopyablePlayerMovement_None(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_WalkNormal(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_WalkFast(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_WalkFaster(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_JumpInPlace(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -bool8 CopyablePlayerMovement_Jump2(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); -u8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Buried_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_MoveInPlace_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_JogInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_RunInPlace_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Invisible_Step0(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Invisible_Step1(struct ObjectEvent *, struct Sprite *); -u8 MovementType_Invisible_Step2(struct ObjectEvent *, struct Sprite *); +bool8 MovementType_LookAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_LookAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDirection_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDirection_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_Normal(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_Move(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_SparkleStart(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_Sparkle(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_BerryTreeGrowth_SparkleEnd(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RotateClockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkSequence_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkSequence_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_CopyPlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_CopyPlayer_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_CopyPlayer_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 CopyablePlayerMovement_None(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_WalkNormal(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_WalkFast(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_WalkFaster(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_JumpInPlace(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 CopyablePlayerMovement_Jump2(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)); +bool8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Buried_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_JogInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_RunInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Invisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Invisible_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); +bool8 MovementType_Invisible_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite); u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction); void TurnVirtualObject(u8 virtualObjId, u8 direction); diff --git a/include/evolution_graphics.h b/include/evolution_graphics.h index eab5c6eb70..52586fc4f5 100644 --- a/include/evolution_graphics.h +++ b/include/evolution_graphics.h @@ -8,6 +8,6 @@ u8 EvolutionSparkles_ArcDown(void); u8 EvolutionSparkles_CircleInward(void); u8 EvolutionSparkles_SprayAndFlash(u16 species); u8 EvolutionSparkles_SprayAndFlash_Trade(u16 species); -u8 CycleEvolutionMonSprite(u8 preEvoSpriteID, u8 postEvoSpriteID); +u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId); #endif // GUARD_EVOLUTION_GRAPHICS_H diff --git a/include/evolution_scene.h b/include/evolution_scene.h index 25d34eddfb..1b8999c775 100644 --- a/include/evolution_scene.h +++ b/include/evolution_scene.h @@ -1,9 +1,9 @@ #ifndef GUARD_EVOLUTION_SCENE_H #define GUARD_EVOLUTION_SCENE_H -void BeginEvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); -void EvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); -void TradeEvolutionScene(struct Pokemon *mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); +void BeginEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId); +void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId); +void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSpriteId, u8 partyId); extern void (*gCB2_AfterEvolution)(void); diff --git a/include/faraway_island.h b/include/faraway_island.h index 9fd2a69fc4..f7cef9b8c3 100755 --- a/include/faraway_island.h +++ b/include/faraway_island.h @@ -2,9 +2,9 @@ #define GUARD_FARAWAY_ISLAND_H u32 GetMewMoveDirection(void); -bool8 ShouldMewShakeGrass(struct ObjectEvent *); +bool8 ShouldMewShakeGrass(struct ObjectEvent *objectEvent); void UpdateFarawayIslandStepCounter(void); -bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *); +bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent); bool8 IsMewPlayingHideAndSeek(void); #endif // GUARD_FARAWAY_ISLAND_H diff --git a/include/field_camera.h b/include/field_camera.h index 6e8af1a539..edbd2c09fa 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -18,7 +18,7 @@ extern u16 gTotalCameraPixelOffsetY; void DrawWholeMapView(void); void CurrentMapDrawMetatileAt(int x, int y); void GetCameraOffsetWithPan(s16 *x, s16 *y); -void DrawDoorMetatileAt(int x, int y, u16 *arr); +void DrawDoorMetatileAt(int x, int y, u16 *tiles); void ResetFieldCamera(void); void ResetCameraUpdateInfo(void); u32 InitCameraUpdateCallback(u8 trackedSpriteId); diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index b259eb53c1..c3e4a01e10 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -22,13 +22,12 @@ struct FieldInput u8 dpadDirection; }; -void FieldClearPlayerInput(struct FieldInput *pStruct); -void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys); -int ProcessPlayerFieldInput(struct FieldInput *pStruct); -void overworld_poison_timer_set(void); +void FieldClearPlayerInput(struct FieldInput *input); +void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys); +int ProcessPlayerFieldInput(struct FieldInput *input); void RestartWildEncounterImmunitySteps(void); const u8 *GetObjectEventScriptPointerPlayerFacing(void); -bool8 TryDoDiveWarp(struct MapPosition *position, u16 b); +bool8 TryDoDiveWarp(struct MapPosition *position, u16 metatileBehavior); int SetCableClubWarp(void); u8 TrySetDiveWarp(void); const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction); diff --git a/include/field_door.h b/include/field_door.h index 2e32005c6c..1d8a30ca14 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -1,10 +1,10 @@ #ifndef GUARD_FIELD_DOOR_H #define GUARD_FIELD_DOOR_H -void FieldSetDoorOpened(u32, u32); -void FieldSetDoorClosed(u32, u32); -s8 FieldAnimateDoorClose(u32, u32); -s8 FieldAnimateDoorOpen(u32, u32); +void FieldSetDoorOpened(u32 x, u32 y); +void FieldSetDoorClosed(u32 x, u32 y); +s8 FieldAnimateDoorClose(u32 x, u32 y); +s8 FieldAnimateDoorOpen(u32 x, u32 y); bool8 FieldIsDoorAnimationRunning(void); u32 GetDoorSoundEffect(u32 x, u32 y); diff --git a/include/field_effect.h b/include/field_effect.h index 4cde29e8a3..699a784cf5 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -9,11 +9,11 @@ extern s32 gFieldEffectArguments[8]; extern void (*gPostMenuFieldCallback)(void); extern bool8 (*gFieldCallback2)(void); -u32 FieldEffectStart(u8); +u32 FieldEffectStart(u8 id); bool8 FieldEffectActiveListContains(u8 id); void FieldEffectActiveListClear(void); void ReturnToFieldFromFlyMapSelect(void); -u8 AddNewGameBirchObject(s16, s16, u8); +u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority); void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); void FldEff_TeleportWarpOut(void); @@ -39,8 +39,8 @@ void StartEscalatorWarp(u8 metatileBehavior, u8 priority); void StartLavaridgeGymB1FWarp(u8 priority); void StartLavaridgeGym1FWarp(u8 priority); -void SpriteCB_AshPuff(struct Sprite *); -void SpriteCB_AshLaunch(struct Sprite *); +void SpriteCB_AshPuff(struct Sprite *sprite); +void SpriteCB_AshLaunch(struct Sprite *sprite); void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 2ae5d79f75..dfa6d155f6 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -13,32 +13,32 @@ enum { }; u8 CreateWarpArrowSprite(void); -u8 StartUnderwaterSurfBlobBobbing(u8 oldSpriteId); +u8 StartUnderwaterSurfBlobBobbing(u8 blobSpriteId); void SetSurfBlob_BobState(u8 spriteId, u8 state); void SetSurfBlob_DontSyncAnim(u8 spriteId, bool8 dontSync); void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset); -bool8 UpdateRevealDisguise(struct ObjectEvent *); -void StartRevealDisguise(struct ObjectEvent *); -void StartAshFieldEffect(s16, s16, u16, s16); -void SetUpReflection(struct ObjectEvent *, struct Sprite *, u8); -u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent *); +bool8 UpdateRevealDisguise(struct ObjectEvent *objectEvent); +void StartRevealDisguise(struct ObjectEvent *objectEvent); +void StartAshFieldEffect(s16 x, s16 y, u16 metatileId, s16 delay); +void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 stillReflection); +u32 StartFieldEffectForObjectEvent(u8 fieldEffectId, struct ObjectEvent *objectEvent); u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); -void UpdateRayquazaSpotlightEffect(struct Sprite *); -void UpdateShadowFieldEffect(struct Sprite *); -void UpdateTallGrassFieldEffect(struct Sprite *); -void WaitFieldEffectSpriteAnim(struct Sprite *); -void UpdateAshFieldEffect(struct Sprite *); -void UpdateSurfBlobFieldEffect(struct Sprite *); -void UpdateJumpImpactEffect(struct Sprite *); -void UpdateFootprintsTireTracksFieldEffect(struct Sprite *); -void UpdateSplashFieldEffect(struct Sprite *); -void UpdateLongGrassFieldEffect(struct Sprite *); -void UpdateSandPileFieldEffect(struct Sprite *); -void UpdateDisguiseFieldEffect(struct Sprite *); -void UpdateShortGrassFieldEffect(struct Sprite *); -void UpdateHotSpringsWaterFieldEffect(struct Sprite *); -void UpdateBubblesFieldEffect(struct Sprite *); -void UpdateSparkleFieldEffect(struct Sprite *); +void UpdateRayquazaSpotlightEffect(struct Sprite *sprite); +void UpdateShadowFieldEffect(struct Sprite *sprite); +void UpdateTallGrassFieldEffect(struct Sprite *sprite); +void WaitFieldEffectSpriteAnim(struct Sprite *sprite); +void UpdateAshFieldEffect(struct Sprite *sprite); +void UpdateSurfBlobFieldEffect(struct Sprite *sprite); +void UpdateJumpImpactEffect(struct Sprite *sprite); +void UpdateFootprintsTireTracksFieldEffect(struct Sprite *sprite); +void UpdateSplashFieldEffect(struct Sprite *sprite); +void UpdateLongGrassFieldEffect(struct Sprite *sprite); +void UpdateSandPileFieldEffect(struct Sprite *sprite); +void UpdateDisguiseFieldEffect(struct Sprite *sprite); +void UpdateShortGrassFieldEffect(struct Sprite *sprite); +void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite); +void UpdateBubblesFieldEffect(struct Sprite *sprite); +void UpdateSparkleFieldEffect(struct Sprite *sprite); void SetSpriteInvisible(u8 spriteId); void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y); diff --git a/include/field_message_box.h b/include/field_message_box.h index 34b3324e72..3a4c4f93c4 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -9,10 +9,10 @@ enum FIELD_MESSAGE_BOX_AUTO_SCROLL, }; -bool8 ShowFieldMessage(const u8 *message); -bool8 ShowPokenavFieldMessage(const u8 *message); +bool8 ShowFieldMessage(const u8 *str); +bool8 ShowPokenavFieldMessage(const u8 *str); bool8 ShowFieldMessageFromBuffer(void); -bool8 ShowFieldAutoScrollMessage(const u8 *message); +bool8 ShowFieldAutoScrollMessage(const u8 *str); void HideFieldMessageBox(void); bool8 IsFieldMessageBoxHidden(void); u8 GetFieldMessageBoxMode(void); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 39fc886af8..005a48f2d5 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -3,11 +3,11 @@ void PlayerStep(u8 direction, u16 newKeys, u16 heldKeys); void ClearPlayerAvatarInfo(void); -void SetPlayerAvatarExtraStateTransition(u8, u8); -u8 GetPlayerAvatarGenderByGraphicsId(u8); -bool8 TestPlayerAvatarFlags(u8); +void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 transitionFlag); +u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId); +u8 TestPlayerAvatarFlags(u8 flag); u8 GetPlayerAvatarSpriteId(void); -void PlayerGetDestCoords(s16 *, s16 *); +void PlayerGetDestCoords(s16 *x, s16 *y); u8 GetPlayerFacingDirection(void); u8 GetPlayerMovementDirection(void); u8 PlayerGetCopyableMovement(void); @@ -36,8 +36,8 @@ void CancelPlayerForcedMovement(void); void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender); void PlayerFreeze(void); void StopPlayerAvatar(void); -void SetSpinStartFacingDir(u8); -void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); +void SetSpinStartFacingDir(u8 direction); +void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); void SetPlayerAvatarFieldMove(void); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); @@ -50,8 +50,8 @@ bool8 IsPlayerSurfingNorth(void); void SetPlayerAvatarWatering(u8 direction); u8 GetPlayerAvatarFlags(void); void UpdatePlayerAvatarTransitionState(void); -u8 GetFRLGAvatarGraphicsIdByGender(u8); -u8 GetRSAvatarGraphicsIdByGender(u8); +u8 GetFRLGAvatarGraphicsIdByGender(u8 gender); +u8 GetRSAvatarGraphicsIdByGender(u8 gender); void PlayerWheelieInPlace(u8 direction); void PlayerWheelieMove(u8 direction); void PlayerPopWheelieWhileMoving(u8 direction); diff --git a/include/field_specials.h b/include/field_specials.h index faf71e9c08..e0ec16f666 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -5,7 +5,7 @@ extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; u8 GetLeadMonIndex(void); -u8 IsDestinationBoxFull(void); +bool8 IsDestinationBoxFull(void); u16 GetPCBoxToSendMon(void); bool8 InMultiPartnerRoom(void); void UpdateTrainerFansAfterLinkBattle(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index 47072bd1be..212dfb65a6 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -23,19 +23,19 @@ extern struct BackupMapLayout gBackupMapLayout; -u32 MapGridGetMetatileIdAt(int, int); -u32 MapGridGetMetatileBehaviorAt(int, int); -void MapGridSetMetatileIdAt(int, int, u16); -void MapGridSetMetatileEntryAt(int, int, u16); -void GetCameraCoords(u16 *, u16 *); -u8 MapGridGetCollisionAt(int, int); +u32 MapGridGetMetatileIdAt(int x, int y); +u32 MapGridGetMetatileBehaviorAt(int x, int y); +void MapGridSetMetatileIdAt(int x, int y, u16 metatile); +void MapGridSetMetatileEntryAt(int x, int y, u16 metatile); +void GetCameraCoords(u16 *x, u16 *y); +u8 MapGridGetCollisionAt(int x, int y); int GetMapBorderIdAt(int x, int y); bool32 CanCameraMoveInDirection(int direction); -u16 GetMetatileAttributesById(u16 metatileId); +u16 GetMetatileAttributesById(u16 metatile); void GetCameraFocusCoords(u16 *x, u16 *y); u8 MapGridGetMetatileLayerTypeAt(int x, int y); u8 MapGridGetElevationAt(int x, int y); -bool8 CameraMove(int deltaX, int deltaY); +bool8 CameraMove(int x, int y); void SaveMapView(void); void SetCameraFocusCoords(u16 x, u16 y); void InitMap(void); @@ -46,8 +46,8 @@ void CopyMapTilesetsToVram(struct MapLayout const *mapLayout); void LoadMapTilesetPalettes(struct MapLayout const *mapLayout); void LoadSecondaryTilesetPalette(struct MapLayout const *mapLayout); void CopySecondaryTilesetToVramUsingHeap(struct MapLayout const *mapLayout); -void CopyPrimaryTilesetToVram(const struct MapLayout *); -void CopySecondaryTilesetToVram(const struct MapLayout *); +void CopyPrimaryTilesetToVram(struct MapLayout const *mapLayout); +void CopySecondaryTilesetToVram(struct MapLayout const *mapLayout); const struct MapHeader *const GetMapHeaderFromConnection(const struct MapConnection *connection); const struct MapConnection *GetMapConnectionAtPos(s16 x, s16 y); void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable); diff --git a/include/fldeff.h b/include/fldeff.h index 0ad0e3d606..e4c128c20f 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -13,7 +13,7 @@ extern const struct SpritePalette gSpritePalette_CutGrass; extern struct MapPosition gPlayerFacingPosition; // escalator -void StartEscalator(bool8 var); +void StartEscalator(bool8 goingUp); void StopEscalator(void); bool8 IsEscalatorMoving(void); diff --git a/include/gba/defines.h b/include/gba/defines.h index fa3a30fd6e..a549bab7e2 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -8,6 +8,7 @@ #define IWRAM_DATA __attribute__((section("iwram_data"))) #define EWRAM_DATA __attribute__((section("ewram_data"))) +#define COMMON_DATA __attribute__((section("common_data"))) #define UNUSED __attribute__((unused)) #if MODERN @@ -75,7 +76,7 @@ #define DISPLAY_TILE_HEIGHT (DISPLAY_HEIGHT / TILE_HEIGHT) // Size of different tile formats in bytes -#define TILE_SIZE(bpp)((bpp) * TILE_WIDTH * TILE_HEIGHT / 8) +#define TILE_SIZE(bpp) ((bpp) * TILE_WIDTH * TILE_HEIGHT / 8) #define TILE_SIZE_1BPP TILE_SIZE(1) // 8 #define TILE_SIZE_4BPP TILE_SIZE(4) // 32 #define TILE_SIZE_8BPP TILE_SIZE(8) // 64 diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index fc8205efd9..a90771048d 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -170,7 +170,11 @@ struct SoundChannel struct MusicPlayerInfo; +#if __STDC_VERSION__ < 202311L typedef void (*MPlayFunc)(); +#else +typedef void (*MPlayFunc)(...); +#endif typedef void (*PlyNoteFunc)(u32, struct MusicPlayerInfo *, struct MusicPlayerTrack *); typedef void (*CgbSoundFunc)(void); typedef void (*CgbOscOffFunc)(u8); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 7461929c3a..d3e260e192 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -131,7 +131,7 @@ struct MapEvents struct MapConnection { u8 direction; - u32 offset; + s32 offset; u8 mapGroup; u8 mapNum; }; @@ -210,8 +210,11 @@ struct ObjectEvent /*0x14*/ struct Coords16 previousCoords; /*0x18*/ u16 facingDirection:4; // current direction? u16 movementDirection:4; - u16 rangeX:4; - u16 rangeY:4; + struct __attribute__((packed)) + { + u16 rangeX:4; + u16 rangeY:4; + } range; /*0x1A*/ u8 fieldEffectSpriteId; /*0x1B*/ u8 warpArrowSpriteId; /*0x1C*/ u8 movementActionId; diff --git a/include/global.h b/include/global.h index e6d58f36e0..ad29e4897b 100644 --- a/include/global.h +++ b/include/global.h @@ -23,6 +23,10 @@ #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #define NAKED __attribute__((naked)) +#if MODERN +#define asm __asm__ +#endif + /// IDE support #if defined(__APPLE__) || defined(__CYGWIN__) || defined(__INTELLISENSE__) // We define these when using certain IDEs to fool preproc @@ -80,7 +84,7 @@ // Used in cases where division by 0 can occur in the retail version. // Avoids invalid opcodes on some emulators, and the otherwise UB. #ifdef UBFIX -#define SAFE_DIV(a, b) ((b) ? (a) / (b) : 0) +#define SAFE_DIV(a, b) (((b) != 0) ? (a) / (b) : 0) #else #define SAFE_DIV(a, b) ((a) / (b)) #endif @@ -89,7 +93,7 @@ // There are cases where GF does a&(n-1) where we would really like to have a%n, because // if n is changed to a value that isn't a power of 2 then a&(n-1) is unlikely to work as // intended, and a%n for powers of 2 isn't always optimized to use &. -#define MOD(a, n)(((n) & ((n)-1)) ? ((a) % (n)) : ((a) & ((n)-1))) +#define MOD(a, n) (((n) & ((n)-1)) ? ((a) % (n)) : ((a) & ((n)-1))) // Extracts the upper 16 bits of a 32-bit number #define HIHALF(n) (((n) & 0xFFFF0000) >> 16) @@ -130,12 +134,12 @@ f; \ }) -#define DIV_ROUND_UP(val, roundBy)(((val) / (roundBy)) + (((val) % (roundBy)) ? 1 : 0)) +#define DIV_ROUND_UP(val, roundBy) (((val) / (roundBy)) + (((val) % (roundBy)) ? 1 : 0)) #define ROUND_BITS_TO_BYTES(numBits) DIV_ROUND_UP(numBits, 8) // NUM_DEX_FLAG_BYTES allocates more flags than it needs to, as NUM_SPECIES includes the "old unown" -// values that don't appear in the Pokedex. NATIONAL_DEX_COUNT does not include these values. +// values that don't appear in the Pokédex. NATIONAL_DEX_COUNT does not include these values. #define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(NUM_SPECIES) #define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT) #define NUM_TRENDY_SAYING_BYTES ROUND_BITS_TO_BYTES(NUM_TRENDY_SAYINGS) @@ -371,7 +375,7 @@ struct BattleFrontier { /*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer; /*0x738*/ struct EmeraldBattleTowerRecord towerRecords[BATTLE_TOWER_RECORD_COUNT]; // From record mixing. - /*0xBEB*/ struct BattleTowerInterview towerInterview; + /*0xBD4*/ struct BattleTowerInterview towerInterview; /*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer; /*0xCA8*/ u8 challengeStatus; /*0xCA9*/ u8 lvlMode:2; @@ -459,7 +463,7 @@ struct ApprenticeQuestion u8 moveSlot:2; u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move //u8 padding; - u16 data; // used both as an itemId and a moveId + u16 data; // used both as an itemId and a move }; struct PlayersApprentice @@ -520,7 +524,7 @@ struct SaveBlock2 /*0x90*/ u8 filler_90[0x8]; /*0x98*/ struct Time localTimeOffset; /*0xA0*/ struct Time lastBerryTreeUpdate; - /*0xA8*/ u32 gcnLinkFlags; // Read by Pokemon Colosseum/XD + /*0xA8*/ u32 gcnLinkFlags; // Read by Pokémon Colosseum/XD /*0xAC*/ u32 encryptionKey; /*0xB0*/ struct PlayersApprentice playerApprentice; /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT]; @@ -618,7 +622,7 @@ struct RamScriptData u8 magic; u8 mapGroup; u8 mapNum; - u8 objectId; + u8 localId; u8 script[995]; //u8 padding; }; @@ -649,8 +653,8 @@ struct MauvilleManBard { /*0x00*/ u8 id; /*0x01*/ //u8 padding1; - /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH]; - /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH]; + /*0x02*/ u16 songLyrics[NUM_BARD_SONG_WORDS]; + /*0x0E*/ u16 newSongLyrics[NUM_BARD_SONG_WORDS]; /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x22*/ u8 filler_2DB6[0x3]; /*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH]; @@ -1070,7 +1074,7 @@ struct SaveBlock1 // sizeof: 0x3D88 }; -extern struct SaveBlock1* gSaveBlock1Ptr; +extern struct SaveBlock1 *gSaveBlock1Ptr; struct MapPosition { diff --git a/gflib/gpu_regs.h b/include/gpu_regs.h similarity index 100% rename from gflib/gpu_regs.h rename to include/gpu_regs.h diff --git a/include/graphics.h b/include/graphics.h index 5b13ab562f..14f2f5e744 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2,7 +2,7 @@ #define GUARD_GRAPHICS_H // overworld -extern const u32 gMessageBox_Gfx[]; +extern const u8 gMessageBox_Gfx[]; extern const u16 gMessageBox_Pal[]; // pokeballs @@ -32,7 +32,7 @@ extern const u32 gBallGfx_Premier[]; extern const u32 gBallPal_Premier[]; extern const u32 gOpenPokeballGfx[]; -// pokemon gfx +// Pokémon gfx extern const u32 gMonFrontPic_Bulbasaur[]; extern const u32 gMonPalette_Bulbasaur[]; extern const u32 gMonBackPic_Bulbasaur[]; @@ -3215,88 +3215,88 @@ extern const u32 gBattleVSFrame_Tilemap[]; extern const u32 gMultiBattleIntroBg_Opponent_Tilemap[]; extern const u32 gMultiBattleIntroBg_Player_Tilemap[]; -// battle terrains -extern const u32 gBattleTerrainTiles_TallGrass[]; -extern const u32 gBattleTerrainTilemap_TallGrass[]; -extern const u32 gBattleTerrainAnimTiles_TallGrass[]; -extern const u32 gBattleTerrainAnimTilemap_TallGrass[]; -extern const u32 gBattleTerrainPalette_TallGrass[]; -extern const u32 gBattleTerrainTiles_LongGrass[]; -extern const u32 gBattleTerrainTilemap_LongGrass[]; -extern const u32 gBattleTerrainAnimTiles_LongGrass[]; -extern const u32 gBattleTerrainAnimTilemap_LongGrass[]; -extern const u32 gBattleTerrainPalette_LongGrass[]; -extern const u32 gBattleTerrainTiles_Sand[]; -extern const u32 gBattleTerrainTilemap_Sand[]; -extern const u32 gBattleTerrainAnimTiles_Sand[]; -extern const u32 gBattleTerrainAnimTilemap_Sand[]; -extern const u32 gBattleTerrainPalette_Sand[]; -extern const u32 gBattleTerrainTiles_Underwater[]; -extern const u32 gBattleTerrainTilemap_Underwater[]; -extern const u32 gBattleTerrainAnimTiles_Underwater[]; -extern const u32 gBattleTerrainAnimTilemap_Underwater[]; -extern const u32 gBattleTerrainPalette_Underwater[]; -extern const u32 gBattleTerrainTiles_Water[]; -extern const u32 gBattleTerrainTilemap_Water[]; -extern const u32 gBattleTerrainAnimTiles_Water[]; -extern const u32 gBattleTerrainAnimTilemap_Water[]; -extern const u32 gBattleTerrainPalette_Water[]; -extern const u32 gBattleTerrainTiles_PondWater[]; -extern const u32 gBattleTerrainTilemap_PondWater[]; -extern const u32 gBattleTerrainAnimTiles_PondWater[]; -extern const u32 gBattleTerrainAnimTilemap_PondWater[]; -extern const u32 gBattleTerrainPalette_PondWater[]; -extern const u32 gBattleTerrainTiles_Rock[]; -extern const u32 gBattleTerrainTilemap_Rock[]; -extern const u32 gBattleTerrainAnimTiles_Rock[]; -extern const u32 gBattleTerrainAnimTilemap_Rock[]; -extern const u32 gBattleTerrainPalette_Rock[]; -extern const u32 gBattleTerrainTiles_Cave[]; -extern const u32 gBattleTerrainTilemap_Cave[]; -extern const u32 gBattleTerrainAnimTiles_Cave[]; -extern const u32 gBattleTerrainAnimTilemap_Cave[]; -extern const u32 gBattleTerrainPalette_Cave[]; -extern const u32 gBattleTerrainTiles_Building[]; -extern const u32 gBattleTerrainTilemap_Building[]; -extern const u32 gBattleTerrainAnimTiles_Building[]; -extern const u32 gBattleTerrainAnimTilemap_Building[]; -extern const u32 gBattleTerrainPalette_Building[]; -extern const u32 gBattleTerrainPalette_Plain[]; -extern const u32 gBattleTerrainPalette_Frontier[]; -extern const u32 gBattleTerrainTiles_Stadium[]; -extern const u32 gBattleTerrainTilemap_Stadium[]; -extern const u32 gBattleTerrainTiles_Rayquaza[]; -extern const u32 gBattleTerrainTilemap_Rayquaza[]; -extern const u32 gBattleTerrainAnimTiles_Rayquaza[]; -extern const u32 gBattleTerrainAnimTilemap_Rayquaza[]; -extern const u32 gBattleTerrainPalette_Rayquaza[]; -extern const u32 gBattleTerrainPalette_Kyogre[]; -extern const u32 gBattleTerrainPalette_Groudon[]; -extern const u32 gBattleTerrainPalette_BuildingGym[]; -extern const u32 gBattleTerrainPalette_BuildingLeader[]; -extern const u32 gBattleTerrainPalette_StadiumAqua[]; -extern const u32 gBattleTerrainPalette_StadiumMagma[]; -extern const u32 gBattleTerrainPalette_StadiumSidney[]; -extern const u32 gBattleTerrainPalette_StadiumPhoebe[]; -extern const u32 gBattleTerrainPalette_StadiumGlacia[]; -extern const u32 gBattleTerrainPalette_StadiumDrake[]; -extern const u32 gBattleTerrainPalette_StadiumWallace[]; +// battle environments +extern const u32 gBattleEnvironmentTiles_TallGrass[]; +extern const u32 gBattleEnvironmentTilemap_TallGrass[]; +extern const u32 gBattleEnvironmentAnimTiles_TallGrass[]; +extern const u32 gBattleEnvironmentAnimTilemap_TallGrass[]; +extern const u32 gBattleEnvironmentPalette_TallGrass[]; +extern const u32 gBattleEnvironmentTiles_LongGrass[]; +extern const u32 gBattleEnvironmentTilemap_LongGrass[]; +extern const u32 gBattleEnvironmentAnimTiles_LongGrass[]; +extern const u32 gBattleEnvironmentAnimTilemap_LongGrass[]; +extern const u32 gBattleEnvironmentPalette_LongGrass[]; +extern const u32 gBattleEnvironmentTiles_Sand[]; +extern const u32 gBattleEnvironmentTilemap_Sand[]; +extern const u32 gBattleEnvironmentAnimTiles_Sand[]; +extern const u32 gBattleEnvironmentAnimTilemap_Sand[]; +extern const u32 gBattleEnvironmentPalette_Sand[]; +extern const u32 gBattleEnvironmentTiles_Underwater[]; +extern const u32 gBattleEnvironmentTilemap_Underwater[]; +extern const u32 gBattleEnvironmentAnimTiles_Underwater[]; +extern const u32 gBattleEnvironmentAnimTilemap_Underwater[]; +extern const u32 gBattleEnvironmentPalette_Underwater[]; +extern const u32 gBattleEnvironmentTiles_Water[]; +extern const u32 gBattleEnvironmentTilemap_Water[]; +extern const u32 gBattleEnvironmentAnimTiles_Water[]; +extern const u32 gBattleEnvironmentAnimTilemap_Water[]; +extern const u32 gBattleEnvironmentPalette_Water[]; +extern const u32 gBattleEnvironmentTiles_PondWater[]; +extern const u32 gBattleEnvironmentTilemap_PondWater[]; +extern const u32 gBattleEnvironmentAnimTiles_PondWater[]; +extern const u32 gBattleEnvironmentAnimTilemap_PondWater[]; +extern const u32 gBattleEnvironmentPalette_PondWater[]; +extern const u32 gBattleEnvironmentTiles_Rock[]; +extern const u32 gBattleEnvironmentTilemap_Rock[]; +extern const u32 gBattleEnvironmentAnimTiles_Rock[]; +extern const u32 gBattleEnvironmentAnimTilemap_Rock[]; +extern const u32 gBattleEnvironmentPalette_Rock[]; +extern const u32 gBattleEnvironmentTiles_Cave[]; +extern const u32 gBattleEnvironmentTilemap_Cave[]; +extern const u32 gBattleEnvironmentAnimTiles_Cave[]; +extern const u32 gBattleEnvironmentAnimTilemap_Cave[]; +extern const u32 gBattleEnvironmentPalette_Cave[]; +extern const u32 gBattleEnvironmentTiles_Building[]; +extern const u32 gBattleEnvironmentTilemap_Building[]; +extern const u32 gBattleEnvironmentAnimTiles_Building[]; +extern const u32 gBattleEnvironmentAnimTilemap_Building[]; +extern const u32 gBattleEnvironmentPalette_Building[]; +extern const u32 gBattleEnvironmentPalette_Plain[]; +extern const u32 gBattleEnvironmentPalette_Frontier[]; +extern const u32 gBattleEnvironmentTiles_Stadium[]; +extern const u32 gBattleEnvironmentTilemap_Stadium[]; +extern const u32 gBattleEnvironmentTiles_Rayquaza[]; +extern const u32 gBattleEnvironmentTilemap_Rayquaza[]; +extern const u32 gBattleEnvironmentAnimTiles_Rayquaza[]; +extern const u32 gBattleEnvironmentAnimTilemap_Rayquaza[]; +extern const u32 gBattleEnvironmentPalette_Rayquaza[]; +extern const u32 gBattleEnvironmentPalette_Kyogre[]; +extern const u32 gBattleEnvironmentPalette_Groudon[]; +extern const u32 gBattleEnvironmentPalette_BuildingGym[]; +extern const u32 gBattleEnvironmentPalette_BuildingLeader[]; +extern const u32 gBattleEnvironmentPalette_StadiumAqua[]; +extern const u32 gBattleEnvironmentPalette_StadiumMagma[]; +extern const u32 gBattleEnvironmentPalette_StadiumSidney[]; +extern const u32 gBattleEnvironmentPalette_StadiumPhoebe[]; +extern const u32 gBattleEnvironmentPalette_StadiumGlacia[]; +extern const u32 gBattleEnvironmentPalette_StadiumDrake[]; +extern const u32 gBattleEnvironmentPalette_StadiumWallace[]; -// pokedex +// Pokédex extern const u32 gPokedexInterface_Gfx[]; extern const u16 gPokedexBgHoenn_Pal[]; extern const u32 gPokedexMenu_Gfx[]; -extern const u8 gPokedexList_Tilemap[]; -extern const u8 gPokedexListUnderlay_Tilemap[]; -extern const u8 gPokedexStartMenuMain_Tilemap[]; -extern const u8 gPokedexStartMenuSearchResults_Tilemap[]; +extern const u32 gPokedexList_Tilemap[]; +extern const u32 gPokedexListUnderlay_Tilemap[]; +extern const u32 gPokedexStartMenuMain_Tilemap[]; +extern const u32 gPokedexStartMenuSearchResults_Tilemap[]; extern const u16 gPokedexSearchResults_Pal[]; extern const u16 gPokedexBgNational_Pal[]; -extern const u8 gPokedexInfoScreen_Tilemap[]; -extern const u8 gPokedexCryScreen_Tilemap[]; -extern const u8 gPokedexSizeScreen_Tilemap[]; -extern const u8 gPokedexScreenSelectBarMain_Tilemap[]; -extern const u8 gPokedexScreenSelectBarSubmenu_Tilemap[]; +extern const u32 gPokedexInfoScreen_Tilemap[]; +extern const u32 gPokedexCryScreen_Tilemap[]; +extern const u32 gPokedexSizeScreen_Tilemap[]; +extern const u32 gPokedexScreenSelectBarMain_Tilemap[]; +extern const u32 gPokedexScreenSelectBarSubmenu_Tilemap[]; extern const u16 gPokedexCaughtScreen_Pal[]; extern const u32 gPokedexSearchMenu_Gfx[]; extern const u32 gPokedexSearchMenuHoenn_Tilemap[]; @@ -3307,7 +3307,7 @@ extern const u16 gPokedexSearchMenu_Pal[]; extern const u32 gBerryCheck_Gfx[]; extern const u32 gBerryCheck_Pal[]; extern const u32 gBerryTag_Gfx[]; -extern const u32 gBerryTag_Pal[]; +extern const u32 gBerryTag_Tilemap[]; // rayquaza scene gfx extern const u32 gRaySceneDuoFight_Groudon_Gfx[]; @@ -3893,7 +3893,7 @@ extern const u32 gIntroGroudon_Gfx[]; extern const u32 gIntroGroudon_Tilemap[]; extern const u32 gIntroLegendBg_Gfx[]; extern const u32 gIntroGroudonBg_Tilemap[]; -extern const u8 ALIGNED(2) gIntro3Bg_Pal[0x200]; +extern const u16 gIntro3Bg_Pal[16][16]; extern const u32 gIntroKyogre_Gfx[]; extern const u32 gIntroKyogre_Tilemap[]; extern const u32 gIntroKyogreBg_Tilemap[]; @@ -4005,7 +4005,7 @@ extern const u32 gBerryPalette_Starf[]; extern const u32 gBerryPic_Enigma[]; extern const u32 gBerryPalette_Enigma[]; -//pokenav +//PokéNav extern const u16 gPokenavCondition_Pal[]; extern const u32 gPokenavCondition_Gfx[]; extern const u32 gPokenavCondition_Tilemap[]; @@ -4066,9 +4066,9 @@ extern const u8 gHealthboxElementsGfxTable[][32]; extern const u16 gNamingScreenMenu_Pal[6][16]; extern const u32 gNamingScreenMenu_Gfx[]; extern const u32 gNamingScreenBackground_Tilemap[]; -extern const u8 gNamingScreenKeyboardUpper_Tilemap[]; -extern const u8 gNamingScreenKeyboardLower_Tilemap[]; -extern const u8 gNamingScreenKeyboardSymbols_Tilemap[]; +extern const u32 gNamingScreenKeyboardUpper_Tilemap[]; +extern const u32 gNamingScreenKeyboardLower_Tilemap[]; +extern const u32 gNamingScreenKeyboardSymbols_Tilemap[]; extern const u32 gNamingScreenPageSwapFrame_Gfx[]; extern const u32 gNamingScreenBackButton_Gfx[]; extern const u32 gNamingScreenOKButton_Gfx[]; @@ -4791,7 +4791,7 @@ extern const u32 gContestAudienceTilemap[]; extern const u32 gContestInterfaceAudiencePalette[]; extern const u32 gContestInterfaceTilemap[]; extern const u32 gContestCurtainTilemap[]; -extern const u32 gContestSliderHeart_Gfx[]; +extern const u8 gContestSliderHeart_Gfx[]; extern const u32 gContestNextTurnGfx[]; extern const u16 gContestPal[]; extern const u32 gContestFaces_Gfx[]; @@ -4817,11 +4817,11 @@ extern const u16 gUsePokeblockGraph_Pal[]; extern const u16 gUsePokeblockNatureWin_Pal[]; // Berry blender -extern const u32 gBerryBlenderPlayerArrow_Gfx[]; -extern const u32 gBerryBlenderStart_Gfx[]; -extern const u32 gBerryBlenderScoreSymbols_Gfx[]; -extern const u32 gBerryBlenderParticles_Gfx[]; -extern const u32 gBerryBlenderCountdownNumbers_Gfx[]; +extern const u8 gBerryBlenderPlayerArrow_Gfx[]; +extern const u8 gBerryBlenderStart_Gfx[]; +extern const u8 gBerryBlenderScoreSymbols_Gfx[]; +extern const u8 gBerryBlenderParticles_Gfx[]; +extern const u8 gBerryBlenderCountdownNumbers_Gfx[]; extern const u16 gBerryBlenderMiscPalette[]; extern const u16 gBerryBlenderArrowPalette[]; extern const u32 gBerryBlenderCenter_Gfx[]; @@ -4879,11 +4879,11 @@ extern const u16 gSlotMachineReelTimePikachu_Pal[]; extern const u32 gBattleAnimBgTilemap_Sandstorm[]; extern const u32 gBattleAnimBgImage_Sandstorm[]; -// Pokedex Area Screen +// Pokédex Area Screen extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; -// Pokemon Storage System +// Pokémon Storage System extern const u32 gStorageSystemMenu_Gfx[]; extern const u16 gStorageSystemPartyMenu_Pal[]; extern const u32 gStorageSystemPartyMenu_Tilemap[]; @@ -5011,7 +5011,7 @@ extern const u32 gBerryCrush_Crusher_Gfx[]; extern const u16 gBerryCrush_Crusher_Pal[]; extern const u32 gBerryCrush_TextWindows_Tilemap[]; -// Pokenav +// PokéNav extern const u32 gPokenavMessageBox_Gfx[]; extern const u32 gPokenavMessageBox_Tilemap[]; extern const u16 gPokenavMessageBox_Pal[]; @@ -5042,30 +5042,30 @@ extern const u16 gMailPalette_Tropic[]; extern const u16 gMailPalette_Dream[]; extern const u16 gMailPalette_Fab[]; extern const u16 gMailPalette_Retro[]; -extern const u8 gMailTiles_Orange[]; -extern const u8 gMailTilemap_Orange[]; -extern const u8 gMailTiles_Harbor[]; -extern const u8 gMailTilemap_Harbor[]; -extern const u8 gMailTiles_Glitter[]; -extern const u8 gMailTilemap_Glitter[]; -extern const u8 gMailTiles_Mech[]; -extern const u8 gMailTilemap_Mech[]; -extern const u8 gMailTiles_Wood[]; -extern const u8 gMailTilemap_Wood[]; -extern const u8 gMailTiles_Wave[]; -extern const u8 gMailTilemap_Wave[]; -extern const u8 gMailTiles_Bead[]; -extern const u8 gMailTilemap_Bead[]; -extern const u8 gMailTiles_Shadow[]; -extern const u8 gMailTilemap_Shadow[]; -extern const u8 gMailTiles_Tropic[]; -extern const u8 gMailTilemap_Tropic[]; -extern const u8 gMailTiles_Dream[]; -extern const u8 gMailTilemap_Dream[]; -extern const u8 gMailTiles_Fab[]; -extern const u8 gMailTilemap_Fab[]; -extern const u8 gMailTiles_Retro[]; -extern const u8 gMailTilemap_Retro[]; +extern const u32 gMailTiles_Orange[]; +extern const u32 gMailTilemap_Orange[]; +extern const u32 gMailTiles_Harbor[]; +extern const u32 gMailTilemap_Harbor[]; +extern const u32 gMailTiles_Glitter[]; +extern const u32 gMailTilemap_Glitter[]; +extern const u32 gMailTiles_Mech[]; +extern const u32 gMailTilemap_Mech[]; +extern const u32 gMailTiles_Wood[]; +extern const u32 gMailTilemap_Wood[]; +extern const u32 gMailTiles_Wave[]; +extern const u32 gMailTilemap_Wave[]; +extern const u32 gMailTiles_Bead[]; +extern const u32 gMailTilemap_Bead[]; +extern const u32 gMailTiles_Shadow[]; +extern const u32 gMailTilemap_Shadow[]; +extern const u32 gMailTiles_Tropic[]; +extern const u32 gMailTilemap_Tropic[]; +extern const u32 gMailTiles_Dream[]; +extern const u32 gMailTilemap_Dream[]; +extern const u32 gMailTiles_Fab[]; +extern const u32 gMailTilemap_Fab[]; +extern const u32 gMailTiles_Retro[]; +extern const u32 gMailTilemap_Retro[]; extern const u8 gMonMarkingsMenu_Gfx[]; extern const u16 gMonMarkingsMenu_Pal[]; diff --git a/include/gym_leader_rematch.h b/include/gym_leader_rematch.h index b31fb5e228..622d2db1bc 100644 --- a/include/gym_leader_rematch.h +++ b/include/gym_leader_rematch.h @@ -1,90 +1,7 @@ #ifndef GUARD_TRAINER_REMATCH_H #define GUARD_TRAINER_REMATCH_H -enum { - REMATCH_ROSE, - REMATCH_ANDRES, - REMATCH_DUSTY, - REMATCH_LOLA, - REMATCH_RICKY, - REMATCH_LILA_AND_ROY, - REMATCH_CRISTIN, - REMATCH_BROOKE, - REMATCH_WILTON, - REMATCH_VALERIE, - REMATCH_CINDY, - REMATCH_THALIA, - REMATCH_JESSICA, - REMATCH_WINSTON, - REMATCH_STEVE, - REMATCH_TONY, - REMATCH_NOB, - REMATCH_KOJI, - REMATCH_FERNANDO, - REMATCH_DALTON, - REMATCH_BERNIE, - REMATCH_ETHAN, - REMATCH_JOHN_AND_JAY, - REMATCH_JEFFREY, - REMATCH_CAMERON, - REMATCH_JACKI, - REMATCH_WALTER, - REMATCH_KAREN, - REMATCH_JERRY, - REMATCH_ANNA_AND_MEG, - REMATCH_ISABEL, - REMATCH_MIGUEL, - REMATCH_TIMOTHY, - REMATCH_SHELBY, - REMATCH_CALVIN, - REMATCH_ELLIOT, - REMATCH_ISAIAH, - REMATCH_MARIA, - REMATCH_ABIGAIL, - REMATCH_DYLAN, - REMATCH_KATELYN, - REMATCH_BENJAMIN, - REMATCH_PABLO, - REMATCH_NICOLAS, - REMATCH_ROBERT, - REMATCH_LAO, - REMATCH_CYNDY, - REMATCH_MADELINE, - REMATCH_JENNY, - REMATCH_DIANA, - REMATCH_AMY_AND_LIV, - REMATCH_ERNEST, - REMATCH_CORY, - REMATCH_EDWIN, - REMATCH_LYDIA, - REMATCH_ISAAC, - REMATCH_GABRIELLE, - REMATCH_CATHERINE, - REMATCH_JACKSON, - REMATCH_HALEY, - REMATCH_JAMES, - REMATCH_TRENT, - REMATCH_SAWYER, - REMATCH_KIRA_AND_DAN, - REMATCH_WALLY_VR, // Entries above WALLY are considered normal trainers, from Wally below are special trainers - REMATCH_ROXANNE, - REMATCH_BRAWLY, - REMATCH_WATTSON, - REMATCH_FLANNERY, - REMATCH_NORMAN, - REMATCH_WINONA, - REMATCH_TATE_AND_LIZA, - REMATCH_JUAN, - REMATCH_SIDNEY, // Entries from SIDNEY below are considered part of REMATCH_ELITE_FOUR_ENTRIES. - REMATCH_PHOEBE, - REMATCH_GLACIA, - REMATCH_DRAKE, - REMATCH_WALLACE, - REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum -}; - -#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_VR -#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY +#include "constants/rematches.h" void UpdateGymLeaderRematch(void); diff --git a/include/heal_location.h b/include/heal_location.h index 46f0d785ab..c087cfb3cd 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -3,8 +3,8 @@ struct HealLocation { - s8 group; - s8 map; + s8 mapGroup; + s8 mapNum; u16 x; u16 y; }; diff --git a/include/image_processing_effects.h b/include/image_processing_effects.h index 7f726707cd..20ee822e46 100755 --- a/include/image_processing_effects.h +++ b/include/image_processing_effects.h @@ -46,8 +46,8 @@ struct ImageProcessingContext u8 personality; }; -void ApplyImageProcessingEffects(struct ImageProcessingContext *); -void ApplyImageProcessingQuantization(struct ImageProcessingContext *); -void ConvertImageProcessingToGBA(struct ImageProcessingContext *); +void ApplyImageProcessingEffects(struct ImageProcessingContext *context); +void ApplyImageProcessingQuantization(struct ImageProcessingContext *context); +void ConvertImageProcessingToGBA(struct ImageProcessingContext *context); #endif diff --git a/include/international_string_util.h b/include/international_string_util.h index b0ac8afb6b..454c92be74 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -4,7 +4,7 @@ #include "menu.h" #include "list_menu.h" -void ConvertInternationalPlayerName(u8 *src); +void ConvertInternationalPlayerName(u8 *str); void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language); int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth); int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth); @@ -16,9 +16,9 @@ int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu); void CopyMonCategoryText(int dexNum, u8 *dest); u8 *GetStringClearToWidth(u8 *dest, int fontId, const u8 *str, int totalStringWidth); void PadNameString(u8 *dest, u8 padChar); -void ConvertInternationalPlayerNameStripChar(u8 *, u8); -void ConvertInternationalContestantName(u8 *); -int GetNicknameLanguage(u8 *); +void ConvertInternationalPlayerNameStripChar(u8 *str, u8 removeChar); +void ConvertInternationalContestantName(u8 *str); +int GetNicknameLanguage(u8 *str); void FillWindowTilesByRow(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows); #endif // GUARD_INTERNATIONAL_STRING_UTIL_H diff --git a/include/intro.h b/include/intro.h index 8ba030a287..a279809011 100644 --- a/include/intro.h +++ b/include/intro.h @@ -8,6 +8,6 @@ // Exported ROM declarations void CB2_InitCopyrightScreenAfterBootup(void); void CB2_InitCopyrightScreenAfterTitleScreen(void); -void PanFadeAndZoomScreen(u16, u16, u16, u16); +void PanFadeAndZoomScreen(u16 screenX, u16 screenY, u16 zoom, u16 alpha); #endif // GUARD_INTRO_H diff --git a/include/intro_credits_graphics.h b/include/intro_credits_graphics.h index c6f4a73c55..b37846f345 100644 --- a/include/intro_credits_graphics.h +++ b/include/intro_credits_graphics.h @@ -35,10 +35,10 @@ extern const struct SpritePalette gSpritePalettes_Credits[]; void LoadIntroPart2Graphics(u8 scenery); void SetIntroPart2BgCnt(u8 scenery); -void LoadCreditsSceneGraphics(u8); -void SetCreditsSceneBgCnt(u8); +void LoadCreditsSceneGraphics(u8 scene); +void SetCreditsSceneBgCnt(u8 scene); u8 CreateBicycleBgAnimationTask(u8 mode, u16 bg1Speed, u16 bg2Speed, u16 bg3Speed); -void CycleSceneryPalette(u8); +void CycleSceneryPalette(u8 mode); u8 CreateIntroBrendanSprite(s16 x, s16 y); u8 CreateIntroMaySprite(s16 x, s16 y); u8 CreateIntroFlygonSprite(s16 x, s16 y); diff --git a/gflib/io_reg.h b/include/io_reg.h similarity index 100% rename from gflib/io_reg.h rename to include/io_reg.h diff --git a/include/item.h b/include/item.h index af8ff8b9d0..cf84848ae4 100644 --- a/include/item.h +++ b/include/item.h @@ -58,23 +58,23 @@ u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos); u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos); void CompactItemsInBagPocket(struct BagPocket *bagPocket); void SortBerriesOrTMHMs(struct BagPocket *bagPocket); -void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_); +void MoveItemSlotInList(struct ItemSlot *itemSlots_, u32 from, u32 to_); void ClearBag(void); u16 CountTotalItemQuantityInBag(u16 itemId); bool8 AddPyramidBagItem(u16 itemId, u16 count); bool8 RemovePyramidBagItem(u16 itemId, u16 count); -const u8 *ItemId_GetName(u16 itemId); -u16 ItemId_GetPrice(u16 itemId); -u8 ItemId_GetHoldEffect(u16 itemId); -u8 ItemId_GetHoldEffectParam(u16 itemId); -const u8 *ItemId_GetDescription(u16 itemId); -u8 ItemId_GetImportance(u16 itemId); -u8 ItemId_GetPocket(u16 itemId); -u8 ItemId_GetType(u16 itemId); -ItemUseFunc ItemId_GetFieldFunc(u16 itemId); -u8 ItemId_GetBattleUsage(u16 itemId); -ItemUseFunc ItemId_GetBattleFunc(u16 itemId); -u8 ItemId_GetSecondaryId(u16 itemId); +const u8 *GetItemName(u16 itemId); +u16 GetItemPrice(u16 itemId); +u8 GetItemHoldEffect(u16 itemId); +u8 GetItemHoldEffectParam(u16 itemId); +const u8 *GetItemDescription(u16 itemId); +u8 GetItemImportance(u16 itemId); +u8 GetItemPocket(u16 itemId); +u8 GetItemType(u16 itemId); +ItemUseFunc GetItemFieldFunc(u16 itemId); +u8 GetItemBattleUsage(u16 itemId); +ItemUseFunc GetItemBattleFunc(u16 itemId); +u8 GetItemSecondaryId(u16 itemId); /* Expands to: * enum diff --git a/include/item_menu.h b/include/item_menu.h index 09ddd729c4..dc7b44a0d6 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -96,16 +96,16 @@ void CB2_BagMenuFromStartMenu(void); u8 GetItemListPosition(u8 pocketId); bool8 UseRegisteredKeyItemOnField(void); void CB2_GoToSellMenu(void); -void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *exitCallback)()); +void GoToBagMenu(u8 location, u8 pocket, void ( *exitCallback)()); void DoWallyTutorialBagMenu(void); void ResetBagScrollPositions(void); void ChooseBerryForMachine(void (*exitCallback)(void)); void CB2_ChooseBerry(void); void Task_FadeAndCloseBagMenu(u8 taskId); -void BagMenu_YesNo(u8 taskId, u8 windowType, const struct YesNoFuncTable* funcTable); +void BagMenu_YesNo(u8 taskId, u8 windowType, const struct YesNoFuncTable *funcTable); void UpdatePocketItemList(u8 pocketId); -void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId)); -void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); +void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void (*callback)(u8 taskId)); +void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback); void CloseItemMessage(u8 taskId); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_use.h b/include/item_use.h index f577f8d464..8e28a4229c 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -1,37 +1,36 @@ #ifndef GUARD_ITEM_USE_H #define GUARD_ITEM_USE_H -void ItemUseOutOfBattle_Mail(u8); -void ItemUseOutOfBattle_Bike(u8); -void ItemUseOutOfBattle_Rod(u8); -void ItemUseOutOfBattle_Itemfinder(u8); -void ItemUseOutOfBattle_PokeblockCase(u8); -void ItemUseOutOfBattle_CoinCase(u8); -void ItemUseOutOfBattle_PowderJar(u8); -void ItemUseOutOfBattle_SSTicket(u8); -void ItemUseOutOfBattle_WailmerPail(u8); -void ItemUseOutOfBattle_Medicine(u8); -void ItemUseOutOfBattle_ReduceEV(u8); -void ItemUseOutOfBattle_SacredAsh(u8); -void ItemUseOutOfBattle_PPRecovery(u8); -void ItemUseOutOfBattle_PPUp(u8); -void ItemUseOutOfBattle_RareCandy(u8); -void ItemUseOutOfBattle_TMHM(u8); -void ItemUseOutOfBattle_Repel(u8); -void ItemUseOutOfBattle_EscapeRope(u8); -void ItemUseOutOfBattle_BlackWhiteFlute(u8); -void ItemUseOutOfBattle_EvolutionStone(u8); -void ItemUseOutOfBattle_Berry(u8); -void ItemUseOutOfBattle_EnigmaBerry(u8); -void ItemUseOutOfBattle_CannotUse(u8); -void ItemUseInBattle_PokeBall(u8); -void ItemUseInBattle_StatIncrease(u8); -void ItemUseInBattle_Medicine(u8); -void ItemUseInBattle_PPRecovery(u8); -void ItemUseInBattle_Escape(u8); -void ItemUseInBattle_EnigmaBerry(u8); +void ItemUseOutOfBattle_Mail(u8 taskId); +void ItemUseOutOfBattle_Bike(u8 taskId); +void ItemUseOutOfBattle_Rod(u8 taskId); +void ItemUseOutOfBattle_Itemfinder(u8 var); +void ItemUseOutOfBattle_PokeblockCase(u8 taskId); +void ItemUseOutOfBattle_CoinCase(u8 taskId); +void ItemUseOutOfBattle_PowderJar(u8 taskId); +void ItemUseOutOfBattle_WailmerPail(u8 taskId); +void ItemUseOutOfBattle_Medicine(u8 taskId); +void ItemUseOutOfBattle_ReduceEV(u8 taskId); +void ItemUseOutOfBattle_SacredAsh(u8 taskId); +void ItemUseOutOfBattle_PPRecovery(u8 taskId); +void ItemUseOutOfBattle_PPUp(u8 taskId); +void ItemUseOutOfBattle_RareCandy(u8 taskId); +void ItemUseOutOfBattle_TMHM(u8 taskId); +void ItemUseOutOfBattle_Repel(u8 taskId); +void ItemUseOutOfBattle_EscapeRope(u8 taskId); +void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId); +void ItemUseOutOfBattle_EvolutionStone(u8 taskId); +void ItemUseOutOfBattle_Berry(u8 taskId); +void ItemUseOutOfBattle_EnigmaBerry(u8 taskId); +void ItemUseOutOfBattle_CannotUse(u8 taskId); +void ItemUseInBattle_PokeBall(u8 taskId); +void ItemUseInBattle_StatIncrease(u8 taskId); +void ItemUseInBattle_Medicine(u8 taskId); +void ItemUseInBattle_PPRecovery(u8 taskId); +void ItemUseInBattle_Escape(u8 taskId); +void ItemUseInBattle_EnigmaBerry(u8 taskId); void Task_UseDigEscapeRopeOnField(u8 taskId); -u8 CanUseDigOrEscapeRopeOnCurMap(void); +bool8 CanUseDigOrEscapeRopeOnCurMap(void); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); #endif // GUARD_ITEM_USE_H diff --git a/include/librfu.h b/include/librfu.h index 6b0bd97c71..8125d64043 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -316,7 +316,11 @@ struct STWIStatus u8 recoveryCount; u8 unk_16; u8 unk_17; +#if __STDC_VERSION__ < 202311L void (*callbackM)(); +#else + void (*callbackM)(...); +#endif void (*callbackS)(u16); void (*callbackID)(void); union RfuPacket *txPacket; @@ -515,7 +519,7 @@ void rfu_REQ_endSearchParent(void); void rfu_REQ_startConnectParent(u16 pid); void rfu_REQ_pollConnectParent(void); void rfu_REQ_endConnectParent(void); -u16 rfu_getConnectParentStatus(u8 *status,u8 *connectSlotNo); +u16 rfu_getConnectParentStatus(u8 *status, u8 *connectSlotNo); // Restore link from child device void rfu_REQ_CHILD_startConnectRecovery(u8 bmRecoverySlot); void rfu_REQ_CHILD_pollConnectRecovery(void); @@ -607,7 +611,7 @@ void STWI_send_DataRxREQ(void); void STWI_send_MS_ChangeREQ(void); void STWI_send_StopModeREQ(void); void STWI_send_SystemStatusREQ(void); -void STWI_send_GameConfigREQ(const u8 *serial_uname, const u8 *gname); +void STWI_send_GameConfigREQ(const u8 *serial_gname, const u8 *uname); void STWI_send_ResetREQ(void); void STWI_send_LinkStatusREQ(void); void STWI_send_VersionStatusREQ(void); diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h index d3cce4ca83..0f2b4f19dd 100644 --- a/include/lilycove_lady.h +++ b/include/lilycove_lady.h @@ -8,7 +8,7 @@ void FieldCallback_FavorLadyEnableScriptContexts(void); void FieldCallback_QuizLadyEnableScriptContexts(void); void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady); bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock); -void BufferContestLadyMonName(u8 *dest1, u8 *dest2); +void BufferContestLadyMonName(u8 *category, u8 *nickname); void BufferContestLadyPlayerName(u8 *dest); void BufferContestLadyLanguage(u8 *dest); void BufferContestName(u8 *dest, u8 category); diff --git a/include/link.h b/include/link.h index 66dd5fecd2..1fc9c43a08 100644 --- a/include/link.h +++ b/include/link.h @@ -233,7 +233,7 @@ struct Link struct BlockRequest { - void * address; + void *address; u32 size; }; @@ -255,21 +255,21 @@ bool8 IsWirelessAdapterConnected(void); void Task_DestroySelf(u8 taskId); void OpenLink(void); void CloseLink(void); -u16 LinkMain2(const u16 *); +u16 LinkMain2(const u16 *heldKeys); void ClearLinkCallback(void); void ClearLinkCallback_2(void); u8 GetLinkPlayerCount(void); void OpenLinkTimed(void); -u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper); +u8 GetLinkPlayerDataExchangeStatusTimed(int minPlayers, int maxPlayers); bool8 IsLinkPlayerDataExchangeComplete(void); -u32 GetLinkPlayerTrainerId(u8); +u32 GetLinkPlayerTrainerId(u8 who); void ResetLinkPlayers(void); u8 GetMultiplayerId(void); u8 BitmaskAllOtherLinkPlayers(void); -bool8 SendBlock(u8, const void *, u16); +bool8 SendBlock(u8 unused, const void *src, u16 size); u8 GetBlockReceivedStatus(void); void ResetBlockReceivedFlags(void); -void ResetBlockReceivedFlag(u8); +void ResetBlockReceivedFlag(u8 who); u8 GetLinkPlayerCount_2(void); bool8 IsLinkMaster(void); void CB2_LinkError(void); @@ -293,7 +293,7 @@ bool8 HandleLinkConnection(void); void SetLinkDebugValues(u32 seed, u32 flags); void SetBerryBlenderLinkCallback(void); void SetSuppressLinkErrorMessage(bool8 flag); -void ConvertLinkPlayerName(struct LinkPlayer *linkPlayer); +void ConvertLinkPlayerName(struct LinkPlayer *player); void ClearSavedLinkPlayers(void); void SetLinkErrorBuffer(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, bool8 disconnected); void LocalLinkPlayerToBlock(void); @@ -331,10 +331,10 @@ extern u16 gLinkSavedIme; extern struct LinkPlayer gLocalLinkPlayer; bool32 Link_AnyPartnersPlayingRubyOrSapphire(void); -bool32 LinkDummy_Return2(void); -void SetLocalLinkPlayerId(u8); +u32 LinkDummy_Return2(void); +void SetLocalLinkPlayerId(u8 playerId); u8 GetSavedPlayerCount(void); -bool8 SendBlockRequest(u8 type); +bool8 SendBlockRequest(u8 blockReqType); u8 GetLinkPlayerCountAsBitFlags(void); u8 GetSavedLinkPlayerCountAsBitFlags(void); void SetCloseLinkCallbackHandleJP(void); diff --git a/include/link_rfu.h b/include/link_rfu.h index 1575255f3d..a42f959c13 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -268,7 +268,7 @@ void RfuVSync(void); void RfuSetIgnoreError(bool32 enable); u8 RfuGetStatus(void); struct RfuGameData *GetHostRfuGameData(void); -void UpdateGameData_GroupLockedIn(u8 startedActivity); +void UpdateGameData_GroupLockedIn(bool8 startedActivity); void RfuSetErrorParams(u32 errorInfo); void RfuSetStatus(u8 status, u16 errorInfo); u8 Rfu_SetLinkRecovery(bool32 enable); @@ -320,8 +320,8 @@ void RfuRecvQueue_Reset(struct RfuRecvQueue *queue); void RfuSendQueue_Reset(struct RfuSendQueue *queue); void RfuRecvQueue_Enqueue(struct RfuRecvQueue *queue, u8 *data); void RfuSendQueue_Enqueue(struct RfuSendQueue *queue, u8 *data); -bool8 RfuRecvQueue_Dequeue(struct RfuRecvQueue *queue, u8 *dest); -bool8 RfuSendQueue_Dequeue(struct RfuSendQueue *queue, u8 *dest); +bool8 RfuRecvQueue_Dequeue(struct RfuRecvQueue *queue, u8 *src); +bool8 RfuSendQueue_Dequeue(struct RfuSendQueue *queue, u8 *src); void RfuBackupQueue_Enqueue(struct RfuBackupQueue *queue, const u8 *data); bool8 RfuBackupQueue_Dequeue(struct RfuBackupQueue *queue, u8 *src); void InitHostRfuGameData(struct RfuGameData *data, u8 activity, bool32 startedActivity, s32 partnerInfo); diff --git a/include/list_menu.h b/include/list_menu.h index 9299ede6c8..ba04ac1cd9 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -27,6 +27,28 @@ enum { SCROLL_ARROW_DOWN }; +// For ListMenuGet/SetTemplateField +enum ListMenuFields +{ + LISTFIELD_MOVECURSORFUNC = 0, + LISTFIELD_MOVECURSORFUNC2, + LISTFIELD_TOTALITEMS, + LISTFIELD_MAXSHOWED, + LISTFIELD_WINDOWID, + LISTFIELD_HEADERX, + LISTFIELD_ITEMX, + LISTFIELD_CURSORX, + LISTFIELD_UPTEXTY, + LISTFIELD_CURSORPAL, + LISTFIELD_FILLVALUE, + LISTFIELD_CURSORSHADOWPAL, + LISTFIELD_LETTERSPACING, + LISTFIELD_ITEMVERTICALPADDING, + LISTFIELD_SCROLLMULTIPLE, + LISTFIELD_FONTID, + LISTFIELD_CURSORKIND, +}; + struct ListMenu; struct ListMenuItem @@ -38,8 +60,8 @@ struct ListMenuItem struct ListMenuTemplate { const struct ListMenuItem *items; - void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); - void (* itemPrintFunc)(u8 windowId, u32 itemId, u8 y); + void (*moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); + void (*itemPrintFunc)(u8 windowId, u32 itemId, u8 y); u16 totalItems; u16 maxShowed; u8 windowId; @@ -106,7 +128,7 @@ struct CursorStruct extern struct ScrollArrowsTemplate gTempScrollArrowTemplate; extern struct ListMenuTemplate gMultiuseListMenuTemplate; -s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 drawMode, u16 tileNum, u16 palNum); +s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 drawMode, u16 tileNum, u16 palOffset); u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow); u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 scrollOffset, u16 selectedRow); s32 ListMenu_ProcessInput(u8 listTaskId); @@ -119,11 +141,11 @@ void ListMenuGetCurrentItemArrayId(u8 listTaskId, u16 *arrayId); void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow); u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId); void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal); -void ListMenuDefaultCursorMoveFunc(s32 itemIndex, u8 onInit, struct ListMenu *list); -s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field); -void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value); +void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); +s32 ListMenuGetTemplateField(u8 taskId, u8 field); +void ListMenuSetTemplateField(u8 taskId, u8 field, s32 value); u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *scrollOffset); -u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *currItemPtr); +u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *scrollOffset); void RemoveScrollIndicatorArrowPair(u8 taskId); void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId); diff --git a/include/mail.h b/include/mail.h index f4590a70ec..403078f097 100644 --- a/include/mail.h +++ b/include/mail.h @@ -1,7 +1,7 @@ #ifndef GUARD_MAIL_H #define GUARD_MAIL_H -#define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \ +#define IS_ITEM_MAIL(itemId) ((itemId == ITEM_ORANGE_MAIL \ || itemId == ITEM_HARBOR_MAIL \ || itemId == ITEM_GLITTER_MAIL \ || itemId == ITEM_MECH_MAIL \ diff --git a/include/main.h b/include/main.h index 5ccb20df88..db3a83f9cc 100644 --- a/include/main.h +++ b/include/main.h @@ -64,7 +64,7 @@ void SetHBlankCallback(IntrCallback callback); void SetVCountCallback(IntrCallback callback); void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); -void SetTrainerHillVBlankCounter(u32 *var); +void SetTrainerHillVBlankCounter(u32 *counter); void ClearTrainerHillVBlankCounter(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); diff --git a/gflib/malloc.h b/include/malloc.h similarity index 85% rename from gflib/malloc.h rename to include/malloc.h index 851db83a62..69029ccdfe 100644 --- a/gflib/malloc.h +++ b/include/malloc.h @@ -1,7 +1,6 @@ #ifndef GUARD_ALLOC_H #define GUARD_ALLOC_H -#define HEAP_SIZE 0x1C000 #define FREE_AND_SET_NULL(ptr) \ { \ @@ -11,11 +10,12 @@ #define TRY_FREE_AND_SET_NULL(ptr) if (ptr != NULL) FREE_AND_SET_NULL(ptr) -extern u8 gHeap[]; +#define HEAP_SIZE 0x1C000 +extern u8 gHeap[HEAP_SIZE]; void *Alloc(u32 size); void *AllocZeroed(u32 size); void Free(void *pointer); -void InitHeap(void *pointer, u32 size); +void InitHeap(void *heapStart, u32 heapSize); #endif // GUARD_ALLOC_H diff --git a/include/match_call.h b/include/match_call.h index 8aebb3bc77..ed2cf506c5 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -16,7 +16,7 @@ bool32 TryStartMatchCall(void); bool32 IsMatchCallTaskActive(void); void StartMatchCallFromScript(const u8 *message); void BufferPokedexRatingForMatchCall(u8 *destStr); -bool32 SelectMatchCallMessage(int, u8 *); +bool32 SelectMatchCallMessage(int trainerId, u8 *str); void LoadMatchCallWindowGfx(u32 windowId, u32 destOffset, u32 paletteId); void DrawMatchCallTextBoxBorder(u32 windowId, u32 tileOffset, u32 paletteId); diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 9e5986ee81..dc7d16b743 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -6,9 +6,9 @@ extern struct BardSong gBardSong; void SetMauvilleOldMan(void); u8 GetCurrentMauvilleOldMan(void); void SetMauvilleOldManObjEventGfx(void); -void SanitizeMauvilleOldManForRuby(OldMan *dest); -void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language); -void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language); +void SanitizeMauvilleOldManForRuby(union OldMan *oldMan); +void SanitizeReceivedRubyOldMan(union OldMan *oldMan, u32 version, u32 language); +void SanitizeReceivedEmeraldOldMan(union OldMan *oldMan, u32 version, u32 language); void ResetMauvilleOldManFlag(void); #endif // GUARD_MAUVILLE_OLD_MAN_H diff --git a/include/menu.h b/include/menu.h index 0b0a42423d..f83ae6852c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -50,7 +50,7 @@ void LoadMessageBoxAndBorderGfx(void); void DrawDialogueFrame(u8 windowId, bool8 copyToVram); void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram); u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor); -void PrintPlayerNameOnWindow(u8, const u8 *, u16, u16); +void PrintPlayerNameOnWindow(u8 windowId, const u8 *src, u16 x, u16 y); void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram); void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram); void DisplayYesNoMenuDefaultYes(void); @@ -61,11 +61,11 @@ void AddTextPrinterWithCallbackForMessage(bool8 canSpeedUp, void (*callback)(str void BgDmaFill(u32 bg, u8 value, int offset, int size); void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); -void SetWindowTemplateFields(struct WindowTemplate *template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); -void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); -void ScheduleBgCopyTilemapToVram(u8 bgNum); -void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs); -u8 InitMenuInUpperLeftCornerNormal(u8 windowId, u8 numItems, u8 initialCursorPos); +void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); +void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum); +void ScheduleBgCopyTilemapToVram(u8 bgId); +void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *menuActions); +u8 InitMenuInUpperLeftCornerNormal(u8 windowId, u8 itemCount, u8 initialCursorPos); u8 Menu_GetCursorPos(void); s8 Menu_ProcessInput(void); s8 Menu_ProcessInputNoWrap(void); @@ -74,17 +74,17 @@ void ResetTempTileDataBuffers(void); void *DecompressAndCopyTileDataToVram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); bool8 FreeTempTileDataBuffersIfPossible(void); struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); -void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); +void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); s8 Menu_ProcessInputNoWrapClearOnChoose(void); s8 ProcessMenuInput_other(void); void DoScheduledBgTilemapCopiesToVram(void); void ClearScheduledBgCopiesToVram(void); -void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); +void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum); -void PrintMenuActionTextsInUpperLeftCorner(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds); +void PrintMenuActionTextsInUpperLeftCorner(u8 windowId, u8 itemCount, const struct MenuAction *menuActions, const u8 *actionIds); void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); -void *malloc_and_decompress(const void *src, u32 *sizeOut); +void *malloc_and_decompress(const void *src, u32 *size); u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void PrintMenuActionTexts(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *menuActions, const u8 *actionIds); @@ -95,7 +95,7 @@ u8 GetStartMenuWindowId(void); void ListMenuLoadStdPalAt(u8 palOffset, u8 palId); u8 Menu_MoveCursor(s8 cursorDelta); u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta); -void DrawStdWindowFrame(u8 windowId, bool8 CopyToVram); +void DrawStdWindowFrame(u8 windowId, bool8 copyToVram); u8 AddStartMenuWindow(u8 numActions); u8 InitMenuNormal(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos); void LoadMessageBoxAndFrameGfx(u8 windowId, bool8 copyToVram); @@ -108,9 +108,9 @@ u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing); void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); -void AddValToTilemapBuffer(void *ptr, int delta, int width, int height, bool32 is8BPP); +void AddValToTilemapBuffer(void *ptr, int delta, int width, int height, bool32 isAffine); void EraseFieldMessageBox(bool8 copyToVram); -void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs); +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *menuActions); s8 Menu_ProcessGridInput(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); @@ -122,7 +122,7 @@ void HofPCTopBar_PrintPair(const u8 *string, const u8 *string2, bool8 noBg, u8 l void ResetBgPositions(void); void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed); void EraseYesNoWindow(void); -void PrintMenuActionTextsAtPos(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs); +void PrintMenuActionTextsAtPos(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *menuActions); void Menu_LoadStdPal(void); #endif // GUARD_MENU_H diff --git a/include/menu_specialized.h b/include/menu_specialized.h index 06a188b8a0..fccd989ffb 100644 --- a/include/menu_specialized.h +++ b/include/menu_specialized.h @@ -44,7 +44,7 @@ enum { // The number of extra sparkles shown on a Pokémon's condition screen. // All Pokémon start with 1, so the max here is MAX_CONDITION_SPARKLES - 1 -#define GET_NUM_CONDITION_SPARKLES(sheen)((sheen) != MAX_SHEEN) ? (sheen) / ((u32)MAX_SHEEN / (MAX_CONDITION_SPARKLES - 1) + 1) : MAX_CONDITION_SPARKLES - 1; +#define GET_NUM_CONDITION_SPARKLES(sheen) ((sheen) != MAX_SHEEN) ? (sheen) / ((u32)MAX_SHEEN / (MAX_CONDITION_SPARKLES - 1) + 1) : MAX_CONDITION_SPARKLES - 1; #define CONDITION_GRAPH_TOP_Y 56 #define CONDITION_GRAPH_BOTTOM_Y 121 @@ -112,16 +112,16 @@ bool8 ConditionMenu_UpdateMonExit(struct ConditionGraph *graph, s16 *x); bool8 MoveConditionMonOnscreen(s16 *x); bool8 MoveConditionMonOffscreen(s16 *x); void GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel); -void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *sheen, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel); +void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *numSparkles, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel); void GetConditionMenuMonGfx(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel); void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal); -void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals); +void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate *template, struct SpritePalette *pals); s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst); // Condition sparkles void LoadConditionSparkle(struct SpriteSheet *sheet, struct SpritePalette *pal); void ResetConditionSparkleSprites(struct Sprite **sprites); -void CreateConditionSparkleSprites(struct Sprite **sprites, u8 monSpriteId, u8 count); +void CreateConditionSparkleSprites(struct Sprite **sprites, u8 monSpriteId, u8 _count); void DestroyConditionSparkleSprites(struct Sprite **sprites); void FreeConditionSparkles(struct Sprite **sprites); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index c2d0d23ee3..1afd600837 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -9,144 +9,143 @@ enum { BRIDGE_TYPE_POND_HIGH, }; -bool8 MetatileBehavior_IsATile(u8); -bool8 MetatileBehavior_IsEncounterTile(u8); -bool8 MetatileBehavior_IsJumpEast(u8); -bool8 MetatileBehavior_IsJumpWest(u8); -bool8 MetatileBehavior_IsJumpNorth(u8); -bool8 MetatileBehavior_IsJumpSouth(u8); -bool8 MetatileBehavior_IsPokeGrass(u8); -bool8 MetatileBehavior_IsSandOrDeepSand(u8); -bool8 MetatileBehavior_IsDeepSand(u8); -bool8 MetatileBehavior_IsReflective(u8); -bool8 MetatileBehavior_IsIce(u8); -bool8 MetatileBehavior_IsWarpDoor(u8); -bool8 MetatileBehavior_IsDoor(u8); -bool8 MetatileBehavior_IsEscalator(u8); -bool8 MetatileBehavior_IsLadder(u8); -bool8 MetatileBehavior_IsNonAnimDoor(u8); -bool8 MetatileBehavior_IsDeepSouthWarp(u8); -bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); -bool8 MetatileBehavior_IsEastArrowWarp(u8); -bool8 MetatileBehavior_IsWestArrowWarp(u8); -bool8 MetatileBehavior_IsNorthArrowWarp(u8); -bool8 MetatileBehavior_IsSouthArrowWarp(u8); -bool8 MetatileBehavior_IsArrowWarp(u8); -bool8 MetatileBehavior_IsForcedMovementTile(u8); -bool8 MetatileBehavior_IsIce_2(u8); -bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8); -bool8 MetatileBehavior_IsWalkNorth(u8); -bool8 MetatileBehavior_IsWalkSouth(u8); -bool8 MetatileBehavior_IsWalkWest(u8); -bool8 MetatileBehavior_IsWalkEast(u8); -bool8 MetatileBehavior_IsNorthwardCurrent(u8); -bool8 MetatileBehavior_IsSouthwardCurrent(u8); -bool8 MetatileBehavior_IsWestwardCurrent(u8); -bool8 MetatileBehavior_IsEastwardCurrent(u8); -bool8 MetatileBehavior_IsSlideNorth(u8); -bool8 MetatileBehavior_IsSlideSouth(u8); -bool8 MetatileBehavior_IsSlideWest(u8); -bool8 MetatileBehavior_IsSlideEast(u8); -bool8 MetatileBehavior_IsCounter(u8); -bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir); -bool8 MetatileBehavior_IsPC(u8); -bool8 MetatileBehavior_IsCableBoxResults1(u8); -bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8); -bool8 MetatileBehavior_IsSecretBaseCave(u8); -bool8 MetatileBehavior_IsSecretBaseTree(u8); -bool8 MetatileBehavior_IsSecretBaseShrub(u8); -bool8 MetatileBehavior_IsSecretBasePC(u8); -bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8); -bool8 MetatileBehavior_IsSecretBaseTrainerSpot(u8); -bool8 MetatileBehavior_IsSecretBaseImpassable(u8); -bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8); -bool8 MetatileBehavior_IsSecretBasePoster(u8); -bool8 MetatileBehavior_IsNormal(u8); -bool8 MetatileBehavior_IsSecretBaseNorthWall(u8); -bool8 MetatileBehavior_HoldsSmallDecoration(u8); -bool8 MetatileBehavior_HoldsLargeDecoration(u8); -bool8 MetatileBehavior_IsSecretBaseHole(u8); -bool8 MetatileBehavior_IsSecretBaseBalloon(u8); -bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8); -bool8 MetatileBehavior_IsSecretBaseSoundMat(u8); -bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8); -bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8); -bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8); -bool8 MetatileBehavior_IsPlayerRoomPCOn(u8); -bool8 MetatileBehavior_HasRipples(u8); -bool8 MetatileBehavior_IsPuddle(u8); -bool8 MetatileBehavior_IsTallGrass(u8); -bool8 MetatileBehavior_IsLongGrass(u8); -bool8 MetatileBehavior_IsBerryTreeSoil(u8); -bool8 MetatileBehavior_IsAshGrass(u8); -bool8 MetatileBehavior_IsFootprints(u8); -bool8 MetatileBehavior_IsBridgeOverWater(u8); -u8 MetatileBehavior_GetBridgeType(u8); -bool8 MetatileBehavior_IsBridgeOverWaterNoEdge(u8); -bool8 MetatileBehavior_IsLandWildEncounter(u8); -bool8 MetatileBehavior_IsWaterWildEncounter(u8); -bool8 MetatileBehavior_IsIndoorEncounter(u8); -bool8 MetatileBehavior_IsMountain(u8); -bool8 MetatileBehavior_IsDiveable(u8); -bool8 MetatileBehavior_IsUnableToEmerge(u8); -bool8 MetatileBehavior_IsShallowFlowingWater(u8); -bool8 MetatileBehavior_IsThinIce(u8); -bool8 MetatileBehavior_IsCrackedIce(u8); -bool8 MetatileBehavior_IsDeepOrOceanWater(u8); -bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8); -bool8 MetatileBehavior_IsEastBlocked(u8); -bool8 MetatileBehavior_IsWestBlocked(u8); -bool8 MetatileBehavior_IsNorthBlocked(u8); -bool8 MetatileBehavior_IsSouthBlocked(u8); -bool8 MetatileBehavior_IsShortGrass(u8); -bool8 MetatileBehavior_IsHotSprings(u8); -bool8 MetatileBehavior_IsWaterfall(u8); -bool8 MetatileBehavior_IsFortreeBridge(u8); -bool8 MetatileBehavior_IsPacifidlogVerticalLogTop(u8); -bool8 MetatileBehavior_IsPacifidlogVerticalLogBottom(u8); -bool8 MetatileBehavior_IsPacifidlogHorizontalLogLeft(u8); -bool8 MetatileBehavior_IsPacifidlogHorizontalLogRight(u8); -bool8 MetatileBehavior_IsPacifidlogLog(u8); -bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8); -bool8 MetatileBehavior_IsRegionMap(u8); -bool8 MetatileBehavior_IsClosedSootopolisDoor(u8); -bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8); -bool8 MetatileBehavior_IsRoulette(u8); -bool8 MetatileBehavior_IsPokeblockFeeder(u8); -bool8 MetatileBehavior_IsSecretBaseJumpMat(u8); -bool8 MetatileBehavior_IsSecretBaseSpinMat(u8); -bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); -bool8 MetatileBehavior_IsLavaridge1FWarp(u8); -bool8 MetatileBehavior_IsAquaHideoutWarp(u8); -bool8 MetatileBehavior_IsUnionRoomWarp(u8); -bool8 MetatileBehavior_IsMossdeepGymWarp(u8); -bool8 MetatileBehavior_IsSurfableFishableWater(u8); -bool8 MetatileBehavior_IsMtPyreHole(u8); -bool8 MetatileBehavior_IsCrackedFloorHole(u8); -bool8 MetatileBehavior_IsCrackedFloor(u8); -bool8 MetatileBehavior_IsMuddySlope(u8); -bool8 MetatileBehavior_IsBumpySlope(u8); -bool8 MetatileBehavior_IsIsolatedVerticalRail(u8); -bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8); -bool8 MetatileBehavior_IsVerticalRail(u8); -bool8 MetatileBehavior_IsHorizontalRail(u8); -bool8 MetatileBehavior_IsSeaweed(u8); -bool8 MetatileBehavior_IsRunningDisallowed(u8); -bool8 MetatileBehavior_IsCuttableGrass(u8); -bool8 MetatileBehavior_IsRunningShoesManual(u8); -bool8 MetatileBehavior_IsPictureBookShelf(u8); -bool8 MetatileBehavior_IsBookShelf(u8); -bool8 MetatileBehavior_IsPokeCenterBookShelf(u8); -bool8 MetatileBehavior_IsVase(u8); -bool8 MetatileBehavior_IsTrashCan(u8); -bool8 MetatileBehavior_IsShopShelf(u8); -bool8 MetatileBehavior_IsBlueprint(u8); -bool8 MetatileBehavior_IsBattlePyramidWarp(u8); +bool8 MetatileBehavior_IsATile(u8 metatileBehavior); +bool8 MetatileBehavior_IsEncounterTile(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpEast(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpWest(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpNorth(u8 metatileBehavior); +bool8 MetatileBehavior_IsJumpSouth(u8 metatileBehavior); +bool8 MetatileBehavior_IsPokeGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsSandOrDeepSand(u8 metatileBehavior); +bool8 MetatileBehavior_IsDeepSand(u8 metatileBehavior); +bool8 MetatileBehavior_IsReflective(u8 metatileBehavior); +bool8 MetatileBehavior_IsIce(u8 metatileBehavior); +bool8 MetatileBehavior_IsWarpDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsEscalator(u8 metatileBehavior); +bool8 MetatileBehavior_IsLadder(u8 metatileBehavior); +bool8 MetatileBehavior_IsNonAnimDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsDeepSouthWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 metatileBehavior); +bool8 MetatileBehavior_IsEastArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsWestArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsNorthArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSouthArrowWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsForcedMovementTile(u8 metatileBehavior); +bool8 MetatileBehavior_IsIce_2(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkNorth(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkSouth(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkWest(u8 metatileBehavior); +bool8 MetatileBehavior_IsWalkEast(u8 metatileBehavior); +bool8 MetatileBehavior_IsNorthwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsSouthwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsWestwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsEastwardCurrent(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideNorth(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideSouth(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideWest(u8 metatileBehavior); +bool8 MetatileBehavior_IsSlideEast(u8 metatileBehavior); +bool8 MetatileBehavior_IsCounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 metatileBehavior, u8 playerDir); +bool8 MetatileBehavior_IsPC(u8 metatileBehavior); +bool8 MetatileBehavior_IsCableBoxResults1(u8 metatileBehavior); +bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseCave(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseTree(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseShrub(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBasePC(u8 metatileBehavior); +bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseTrainerSpot(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseImpassable(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBasePoster(u8 metatileBehavior); +bool8 MetatileBehavior_IsNormal(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseNorthWall(u8 metatileBehavior); +bool8 MetatileBehavior_HoldsSmallDecoration(u8 metatileBehavior); +bool8 MetatileBehavior_HoldsLargeDecoration(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseHole(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseBalloon(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseSoundMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8 metatileBehavior); +bool8 MetatileBehavior_IsPlayerRoomPCOn(u8 metatileBehavior); +bool8 MetatileBehavior_HasRipples(u8 metatileBehavior); +bool8 MetatileBehavior_IsPuddle(u8 metatileBehavior); +bool8 MetatileBehavior_IsTallGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsLongGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsBerryTreeSoil(u8 metatileBehavior); +bool8 MetatileBehavior_IsAshGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsFootprints(u8 metatileBehavior); +bool8 MetatileBehavior_IsBridgeOverWater(u8 metatileBehavior); +u8 MetatileBehavior_GetBridgeType(u8 metatileBehavior); +bool8 MetatileBehavior_IsBridgeOverWaterNoEdge(u8 metatileBehavior); +bool8 MetatileBehavior_IsLandWildEncounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsWaterWildEncounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsIndoorEncounter(u8 metatileBehavior); +bool8 MetatileBehavior_IsMountain(u8 metatileBehavior); +bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior); +bool8 MetatileBehavior_IsUnableToEmerge(u8 metatileBehavior); +bool8 MetatileBehavior_IsShallowFlowingWater(u8 metatileBehavior); +bool8 MetatileBehavior_IsThinIce(u8 metatileBehavior); +bool8 MetatileBehavior_IsCrackedIce(u8 metatileBehavior); +bool8 MetatileBehavior_IsDeepOrOceanWater(u8 metatileBehavior); +bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8 metatileBehavior); +bool8 MetatileBehavior_IsEastBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsWestBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsNorthBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsSouthBlocked(u8 metatileBehavior); +bool8 MetatileBehavior_IsShortGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsHotSprings(u8 metatileBehavior); +bool8 MetatileBehavior_IsWaterfall(u8 metatileBehavior); +bool8 MetatileBehavior_IsFortreeBridge(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogVerticalLogTop(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogVerticalLogBottom(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogHorizontalLogLeft(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogHorizontalLogRight(u8 metatileBehavior); +bool8 MetatileBehavior_IsPacifidlogLog(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsRegionMap(u8 metatileBehavior); +bool8 MetatileBehavior_IsClosedSootopolisDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8 metatileBehavior); +bool8 MetatileBehavior_IsRoulette(u8 metatileBehavior); +bool8 MetatileBehavior_IsPokeblockFeeder(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseJumpMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsSecretBaseSpinMat(u8 metatileBehavior); +bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsLavaridge1FWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsAquaHideoutWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsUnionRoomWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsMossdeepGymWarp(u8 metatileBehavior); +bool8 MetatileBehavior_IsSurfableFishableWater(u8 metatileBehavior); +bool8 MetatileBehavior_IsMtPyreHole(u8 metatileBehavior); +bool8 MetatileBehavior_IsCrackedFloorHole(u8 metatileBehavior); +bool8 MetatileBehavior_IsCrackedFloor(u8 metatileBehavior); +bool8 MetatileBehavior_IsMuddySlope(u8 metatileBehavior); +bool8 MetatileBehavior_IsBumpySlope(u8 metatileBehavior); +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsVerticalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsHorizontalRail(u8 metatileBehavior); +bool8 MetatileBehavior_IsSeaweed(u8 metatileBehavior); +bool8 MetatileBehavior_IsRunningDisallowed(u8 metatileBehavior); +bool8 MetatileBehavior_IsCuttableGrass(u8 metatileBehavior); +bool8 MetatileBehavior_IsRunningShoesManual(u8 metatileBehavior); +bool8 MetatileBehavior_IsPictureBookShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsBookShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsPokeCenterBookShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsVase(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrashCan(u8 metatileBehavior); +bool8 MetatileBehavior_IsShopShelf(u8 metatileBehavior); +bool8 MetatileBehavior_IsBlueprint(u8 metatileBehavior); +bool8 MetatileBehavior_IsBattlePyramidWarp(u8 metatileBehavior); bool8 MetatileBehavior_IsPlayerFacingWirelessBoxResults(u8 tile, u8 playerDir); bool8 MetatileBehavior_IsCableBoxResults2(u8 tile, u8 playerDir); -bool8 MetatileBehavior_IsQuestionnaire(u8); -bool8 MetatileBehavior_IsLongGrass_Duplicate(u8); -bool8 MetatileBehavior_IsLongGrassSouthEdge(u8); -bool8 MetatileBehavior_IsTrainerHillTimer(u8); +bool8 MetatileBehavior_IsQuestionnaire(u8 metatileBehavior); +bool8 MetatileBehavior_IsLongGrass_Duplicate(u8 metatileBehavior); +bool8 MetatileBehavior_IsLongGrassSouthEdge(u8 metatileBehavior); +bool8 MetatileBehavior_IsTrainerHillTimer(u8 metatileBehavior); #endif // GUARD_METATILE_BEHAVIOR_H diff --git a/include/mini_printf.h b/include/mini_printf.h index a891327cc4..ae5c226628 100644 --- a/include/mini_printf.h +++ b/include/mini_printf.h @@ -45,8 +45,8 @@ #else -s32 mini_vsnprintf(char* buffer, u32 buffer_len, const char *fmt, va_list va); -s32 mini_vpprintf(void* buf, const char *fmt, va_list va); +s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va); +s32 mini_vpprintf(void *buf, const char *fmt, va_list va); #endif #endif diff --git a/include/move_relearner.h b/include/move_relearner.h index 51b476d25f..76d35b62ec 100644 --- a/include/move_relearner.h +++ b/include/move_relearner.h @@ -2,6 +2,6 @@ #define GUARD_MOVE_RELEARNER_H void TeachMoveRelearnerMove(void); -void MoveRelearnerShowHideHearts(s32); +void MoveRelearnerShowHideHearts(s32 move); #endif //GUARD_MOVE_RELEARNER_H diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index 198a07e857..09032b4395 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -12,7 +12,7 @@ enum { void InitMysteryEventScriptContext(u8 *script); bool32 RunMysteryEventScriptContextCommand(u32 *status); u32 RunMysteryEventScript(u8 *script); -void SetMysteryEventScriptStatus(u32 val); +void SetMysteryEventScriptStatus(u32 status); u16 GetRecordMixingGift(void); #endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/mystery_gift_client.h b/include/mystery_gift_client.h index 8214d69eff..4434fab5f7 100644 --- a/include/mystery_gift_client.h +++ b/include/mystery_gift_client.h @@ -75,18 +75,18 @@ struct MysteryGiftClient u32 funcId; u32 funcState; u32 cmdidx; - void * sendBuffer; - void * recvBuffer; - struct MysteryGiftClientCmd * script; - void * msg; + void *sendBuffer; + void *recvBuffer; + struct MysteryGiftClientCmd *script; + void *msg; struct MysteryGiftLink link; bool32 isWonderNews; }; void MysteryGiftClient_Create(bool32 isWonderNews); -u32 MysteryGiftClient_Run(u16 * endVal); +u32 MysteryGiftClient_Run(u16 *endVal); void MysteryGiftClient_AdvanceState(void); void * MysteryGiftClient_GetMsg(void); -void MysteryGiftClient_SetParam(u32 value); +void MysteryGiftClient_SetParam(u32 val); #endif //GUARD_MYSTERY_GIFT_CLIENT_H diff --git a/include/mystery_gift_link.h b/include/mystery_gift_link.h index 32100db5f1..5f6b655270 100644 --- a/include/mystery_gift_link.h +++ b/include/mystery_gift_link.h @@ -34,16 +34,16 @@ struct MysteryGiftLink u16 sendCounter; u16 sendCRC; u16 sendSize; - void * recvBuffer; - const void * sendBuffer; + void *recvBuffer; + const void *sendBuffer; u32 (*recvFunc)(struct MysteryGiftLink *); u32 (*sendFunc)(struct MysteryGiftLink *); }; -void MysteryGiftLink_Init(struct MysteryGiftLink * link, u32 sendPlayerId, u32 recvPlayerId); -void MysteryGiftLink_InitSend(struct MysteryGiftLink * link, u32 ident, const void * src, u32 size); -bool32 MysteryGiftLink_Recv(struct MysteryGiftLink * link); -bool32 MysteryGiftLink_Send(struct MysteryGiftLink * link); -void MysteryGiftLink_InitRecv(struct MysteryGiftLink * link, u32 ident, void * dest); +void MysteryGiftLink_Init(struct MysteryGiftLink *link, u32 sendPlayerId, u32 recvPlayerId); +void MysteryGiftLink_InitSend(struct MysteryGiftLink *link, u32 ident, const void *src, u32 size); +u32 MysteryGiftLink_Recv(struct MysteryGiftLink *link); +u32 MysteryGiftLink_Send(struct MysteryGiftLink *link); +void MysteryGiftLink_InitRecv(struct MysteryGiftLink *link, u32 ident, void *dest); #endif //GUARD_MYSTERY_GIFT_LINK_H diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h index 665c4596e7..6d694bc3e1 100644 --- a/include/mystery_gift_menu.h +++ b/include/mystery_gift_menu.h @@ -5,11 +5,11 @@ extern bool8 gGiftIsFromEReader; u16 GetMysteryGiftBaseBlock(void); void CB2_MysteryGiftEReader(void); -void PrintMysteryGiftOrEReaderHeader(bool8 isJapanese, bool32 usePickOkCancel); +void PrintMysteryGiftOrEReaderHeader(bool8 isEReader, bool32 useCancel); void MG_DrawCheckerboardPattern(u32 bg); void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void); bool32 PrintMysteryGiftMenuMessage(u8 *textState, const u8 *str); -void MG_AddMessageTextPrinter(const u8 *src); +void MG_AddMessageTextPrinter(const u8 *str); void CB2_InitEReader(void); void CB2_InitMysteryGift(void); void MG_DrawTextBorder(u8 windowId); diff --git a/include/mystery_gift_server.h b/include/mystery_gift_server.h index 8e3842f73c..e16ebc76d0 100644 --- a/include/mystery_gift_server.h +++ b/include/mystery_gift_server.h @@ -71,7 +71,7 @@ struct MysteryGiftServerCmd { u32 instr; u32 parameter; - const void * ptr; + const void *ptr; }; struct MysteryGiftServer @@ -80,21 +80,21 @@ struct MysteryGiftServer u32 param; u32 funcId; u32 cmdidx; - const struct MysteryGiftServerCmd * script; - void * recvBuffer; - struct WonderCard * card; - struct WonderNews * news; - struct MysteryGiftLinkGameData * linkGameData; - const void * ramScript; + const struct MysteryGiftServerCmd *script; + void *recvBuffer; + struct WonderCard *card; + struct WonderNews *news; + struct MysteryGiftLinkGameData *linkGameData; + const void *ramScript; u32 ramScriptSize; - const void * clientScript; + const void *clientScript; u32 clientScriptSize; u32 stamp; struct MysteryGiftLink link; }; -void MysterGiftServer_CreateForCard(); -void MysterGiftServer_CreateForNews(); -u32 MysterGiftServer_Run(u16 * endVal); +void MysterGiftServer_CreateForCard(void); +void MysterGiftServer_CreateForNews(void); +u32 MysterGiftServer_Run(u16 *endVal); #endif //GUARD_MYSTERY_GIFT_SERVER_H diff --git a/include/mystery_gift_view.h b/include/mystery_gift_view.h index 038093c7a1..4abe7db920 100644 --- a/include/mystery_gift_view.h +++ b/include/mystery_gift_view.h @@ -9,12 +9,12 @@ enum { NEWS_INPUT_NONE = 0xFF }; -bool32 WonderCard_Init(struct WonderCard * card, struct WonderCardMetadata * metadata); -bool32 WonderNews_Init(const struct WonderNews * news); +bool32 WonderCard_Init(struct WonderCard *card, struct WonderCardMetadata *metadata); +bool32 WonderNews_Init(const struct WonderNews *news); s32 WonderCard_Enter(void); s32 WonderNews_Enter(void); -s32 WonderCard_Exit(bool32 flag); -s32 WonderNews_Exit(bool32 flag); +s32 WonderCard_Exit(bool32 useCancel); +s32 WonderNews_Exit(bool32 useCancel); void WonderCard_Destroy(void); void WonderNews_Destroy(void); u32 WonderNews_GetInput(u16 input); diff --git a/include/overworld.h b/include/overworld.h index adaa6aad04..bde6896569 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -76,7 +76,7 @@ void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpId); void SetDynamicWarp(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId); void SetDynamicWarpWithCoords(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void SetWarpDestinationToDynamicWarp(u8 unused); +void SetWarpDestinationToDynamicWarp(u8 unusedWarpId); void SetWarpDestinationToHealLocation(u8 healLocationId); void SetWarpDestinationToLastHealLocation(void); void SetLastHealLocationWarp(u8 healLocationId); @@ -99,7 +99,7 @@ void SetDefaultFlashLevel(void); void SetFlashLevel(s32 flashLevel); u8 GetFlashLevel(void); void SetCurrentMapLayout(u16 mapLayoutId); -void SetObjectEventLoadFlag(u8 var); +void SetObjectEventLoadFlag(u8 flag); u16 GetLocationMusic(struct WarpData *warp); u16 GetCurrLocationDefaultMusic(void); u16 GetWarpDestinationMusic(void); diff --git a/include/palette_util.h b/include/palette_util.h index 12ffc145e4..a81078f498 100644 --- a/include/palette_util.h +++ b/include/palette_util.h @@ -66,18 +66,18 @@ struct RouletteFlashUtil struct RouletteFlashPalette palettes[16]; }; -int InitPulseBlendPaletteSettings(struct PulseBlend *, const struct PulseBlendSettings *); -void InitPulseBlend(struct PulseBlend *); -void MarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UnloadUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UnmarkUsedPulseBlendPalettes(struct PulseBlend *, u16, u8); -void UpdatePulseBlend(struct PulseBlend *); -void FillTilemapRect(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height); +int InitPulseBlendPaletteSettings(struct PulseBlend *pulseBlend, const struct PulseBlendSettings *settings); +void InitPulseBlend(struct PulseBlend *pulseBlend); +void MarkUsedPulseBlendPalettes(struct PulseBlend *pulseBlend, u16 pulseBlendPaletteSelector, u8 multiSelection); +void UnloadUsedPulseBlendPalettes(struct PulseBlend *pulseBlend, u16 pulseBlendPaletteSelector, u8 multiSelection); +void UnmarkUsedPulseBlendPalettes(struct PulseBlend *pulseBlend, u16 pulseBlendPaletteSelector, u8 multiSelection); +void UpdatePulseBlend(struct PulseBlend *pulseBlend); +void FillTilemapRect(u16 *dest, u16 value, u8 left, u8 top, u8 width, u8 height); void SetTilemapRect(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height); -void RouletteFlash_Run(struct RouletteFlashUtil *r0); -void RouletteFlash_Reset(struct RouletteFlashUtil *r0); -u8 RouletteFlash_Add(struct RouletteFlashUtil *r0, u8 r1, const struct RouletteFlashSettings *r2); -void RouletteFlash_Stop(struct RouletteFlashUtil *r0, u16 r1); -void RouletteFlash_Enable(struct RouletteFlashUtil *r0, u16 r1); +void RouletteFlash_Run(struct RouletteFlashUtil *flash); +void RouletteFlash_Reset(struct RouletteFlashUtil *flash); +u8 RouletteFlash_Add(struct RouletteFlashUtil *flash, u8 id, const struct RouletteFlashSettings *settings); +void RouletteFlash_Stop(struct RouletteFlashUtil *flash, u16 flags); +void RouletteFlash_Enable(struct RouletteFlashUtil *flash, u16 flags); #endif // GUARD_PALETTE_UTIL_H diff --git a/include/party_menu.h b/include/party_menu.h index 40029f77b0..386437c121 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -16,7 +16,7 @@ struct PartyMenu s8 slotId2; u8 action; u16 bagItem; - s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos + s16 data1; // used variously as a move, counter, moveSlotId, or cursorPos s16 learnMoveState; // data2, used only as a learn move state }; @@ -39,7 +39,7 @@ void Task_HandleChooseMonInput(u8 taskId); u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen); bool8 IsPartyMenuTextPrinterActive(void); -void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task); +void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, TaskFunc task); u8 GetAilmentFromStatus(u32 status); u8 GetMonAilment(struct Pokemon *mon); void DisplayPartyMenuStdMessage(u32 stringId); @@ -71,10 +71,10 @@ void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInBattle(u8 partyAction); void ChooseMonForInBattleItem(void); void BufferBattlePartyCurrentOrder(void); -void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId); -void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex); +void BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId); +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 slot2); void SwitchPartyMonSlots(u8 slot, u8 slot2); -u8 GetPartyIdFromBattlePartyId(u8 slot); +u8 GetPartyIdFromBattlePartyId(u8 battlePartyId); void ShowPartyMenuToShowcaseMultiBattleParty(void); void ChooseMonForDaycare(void); bool8 CB2_FadeFromPartyMenu(void); diff --git a/include/player_pc.h b/include/player_pc.h index 2521eac131..f2296dde2a 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -17,7 +17,7 @@ extern struct PlayerPCItemPageStruct gPlayerPCItemPageInfo; extern const struct MenuAction gMailboxMailOptions[]; -void ReshowPlayerPC(u8 taskId); +void ReshowPlayerPC(u8 var); void CB2_PlayerPCExitBagMenu(void); void Mailbox_ReturnToMailListAfterDeposit(void); void NewGameInitPCItems(void); diff --git a/include/pokedex.h b/include/pokedex.h index 36a48da1e5..3eb2835d61 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -33,11 +33,11 @@ struct PokedexEntry void ResetPokedex(void); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); -u16 GetNationalPokedexCount(u8); -u16 GetHoennPokedexCount(u8); +u16 GetNationalPokedexCount(u8 caseID); +u16 GetHoennPokedexCount(u8 caseID); u8 DisplayCaughtMonDexPage(u16 dexNum, u32 otId, u32 personality); -s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); -u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16); +s8 GetSetPokedexFlag(u16 nationalDexNo, u8 caseID); +u16 CreateMonSpriteFromNationalDexNumber(u16 nationalNum, s16 x, s16 y, u16 paletteSlot); bool16 HasAllHoennMons(void); void ResetPokedexScrollPositions(void); bool16 HasAllMons(void); diff --git a/include/pokedex_area_region_map.h b/include/pokedex_area_region_map.h index 6526d7b458..0a5fc72fc8 100755 --- a/include/pokedex_area_region_map.h +++ b/include/pokedex_area_region_map.h @@ -9,9 +9,9 @@ struct PokedexAreaMapTemplate u32 unk:20; // never read }; -void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *); +void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template); bool32 TryShowPokedexAreaMap(void); -void PokedexAreaMapChangeBgY(u32); +void PokedexAreaMapChangeBgY(u32 move); void FreePokedexAreaMapBgNum(void); #endif // GUARD_POKEDEX_AREA_REGION_MAP_H diff --git a/include/pokedex_area_screen.h b/include/pokedex_area_screen.h index 86dfaa6c5b..1aa42b3a26 100755 --- a/include/pokedex_area_screen.h +++ b/include/pokedex_area_screen.h @@ -1,6 +1,6 @@ #ifndef GUARD_POKEDEX_AREA_SCREEN_H #define GUARD_POKEDEX_AREA_SCREEN_H -void ShowPokedexAreaScreen(u16, u8 *); +void ShowPokedexAreaScreen(u16 species, u8 *screenSwitchState); #endif // GUARD_POKEDEX_AREA_SCREEN_H diff --git a/include/pokedex_cry_screen.h b/include/pokedex_cry_screen.h index 3401db22da..c44035605f 100755 --- a/include/pokedex_cry_screen.h +++ b/include/pokedex_cry_screen.h @@ -12,10 +12,10 @@ struct CryScreenWindow extern u8 gDexCryScreenState; -bool8 LoadCryWaveformWindow(struct CryScreenWindow *, u8); -void UpdateCryWaveformWindow(u8); -void CryScreenPlayButton(u16); -bool8 LoadCryMeter(struct CryScreenWindow *, u8); +bool8 LoadCryWaveformWindow(struct CryScreenWindow *window, u8 windowId); +void UpdateCryWaveformWindow(u8 windowId); +void CryScreenPlayButton(u16 species); +bool8 LoadCryMeter(struct CryScreenWindow *window, u8 windowId); void FreeCryScreen(void); #endif diff --git a/include/pokemon.h b/include/pokemon.h index 6d08f48746..53f7f02fd0 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -276,8 +276,7 @@ struct BattlePokemon /*0x17*/ u32 abilityNum:1; /*0x18*/ s8 statStages[NUM_BATTLE_STATS]; /*0x20*/ u8 ability; - /*0x21*/ u8 type1; - /*0x22*/ u8 type2; + /*0x21*/ u8 types[2]; /*0x23*/ u8 unknown; /*0x24*/ u8 pp[MAX_MON_MOVES]; /*0x28*/ u16 hp; @@ -409,7 +408,7 @@ void CreateBattleTowerMon_HandleLevel(struct Pokemon *mon, struct BattleTowerPok void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId); void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId); void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerPokemon *dest); -bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId); +bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battler); void SetDeoxysStats(void); u16 GetUnionRoomTrainerPic(void); u16 GetUnionRoomTrainerClass(void); @@ -427,14 +426,14 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon); u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); -s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef); +s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef); u8 CountAliveMonsInBattle(u8 caseId); -u8 GetDefaultMoveTarget(u8 battlerId); +u8 GetDefaultMoveTarget(u8 battler); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition); -void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition); +void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerPicId, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerFront(u16 trainerPicId, u8 battlerPosition); /* GameFreak called Get(Box)MonData with either 2 or 3 arguments, for @@ -468,15 +467,15 @@ void GetSpeciesName(u8 *name, u16 species); u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex); void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); -void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex); +void CopyPlayerPartyMonToBattleData(u8 battler, u8 partyIndex); bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex); -bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); -bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId); +bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, bool8 usedByAI); +bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battler); u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem); u16 HoennPokedexNumToSpecies(u16 hoennNum); u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 NationalToHoennOrder(u16 nationalNum); @@ -487,10 +486,10 @@ u16 SpeciesToCryId(u16 species); void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); u8 GetPlayerFlankId(void); -u16 GetLinkTrainerFlankId(u8 id); +u16 GetLinkTrainerFlankId(u8 linkPlayerId); s32 GetBattlerMultiplayerId(u16 id); u8 GetTrainerEncounterMusicId(u16 trainerOpponentId); -u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex); +u16 ModifyStatByNature(u8 nature, u16 stat, u8 statIndex); void AdjustFriendship(struct Pokemon *mon, u8 event); void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies); u16 GetMonEVCount(struct Pokemon *mon); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 9b917c3bf4..0964a50e45 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -5,14 +5,14 @@ extern const u8 gMonIconPaletteIndices[]; extern const u8 *const gMonIconTable[]; extern const struct SpritePalette gMonIconPaletteTable[]; -const u8 *GetMonIconTiles(u16 species, bool32); +const u8 *GetMonIconTiles(u16 species, bool32 handleDeoxys); void TryLoadAllMonIconPalettesAtOffset(u16 offset); u8 GetValidMonIconPalIndex(u16 species); -const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); -const u16 *GetValidMonIconPalettePtr(u16 speciesId); +const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys); +const u16 *GetValidMonIconPalettePtr(u16 species); u16 GetIconSpecies(u16 species, u32 personality); u16 GetUnownLetterByPersonality(u32 personality); -u16 GetIconSpeciesNoPersonality(u16 speciesId); +u16 GetIconSpeciesNoPersonality(u16 species); void LoadMonIconPalettes(void); void LoadMonIconPalette(u16 species); void FreeMonIconPalettes(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index eb25c0ff27..b4f0d6565e 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -57,7 +57,7 @@ bool8 CheckFreePokemonStorageSpace(void); bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition); u32 CountStorageNonEggMons(void); u32 CountAllStorageMons(void); -bool32 AnyStorageMonWithMove(u16 moveId); +bool32 AnyStorageMonWithMove(u16 move); void ResetWaldaWallpaper(void); void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index b026baa533..df9e477524 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -14,7 +14,7 @@ void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 m u8 GetMoveSlotToReplace(void); void SummaryScreen_SetAnimDelayTaskId(u8 taskId); -// The Pokemon Summary Screen can operate in different modes. Certain features, +// The Pokémon Summary Screen can operate in different modes. Certain features, // such as move re-ordering, are available in the different modes. enum PokemonSummaryScreenMode { diff --git a/include/pokenav.h b/include/pokenav.h index c6a8bb253e..553d2ad0f6 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -33,7 +33,7 @@ typedef void (*PokenavListBufferItemFunc)(struct PokenavListItem *, u8 *); struct PokenavListTemplate { - struct PokenavListItem * list; + struct PokenavListItem *list; u16 count; u16 startIndex; u8 itemSize; @@ -65,8 +65,8 @@ struct PokenavMonList enum { POKENAV_MODE_NORMAL, // Chosen from Start menu. - POKENAV_MODE_FORCE_CALL_READY, // Pokenav tutorial before calling Mr. Stone - POKENAV_MODE_FORCE_CALL_EXIT, // Pokenav tutorial after calling Mr. Stone + POKENAV_MODE_FORCE_CALL_READY, // PokéNav tutorial before calling Mr. Stone + POKENAV_MODE_FORCE_CALL_EXIT, // PokéNav tutorial after calling Mr. Stone }; enum @@ -232,8 +232,8 @@ enum [CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2} -// Pokenav Function IDs -// Indices into the LoopedTask tables for each of the main Pokenav features +// PokéNav Function IDs +// Indices into the LoopedTask tables for each of the main PokéNav features enum RegionMapFuncIds { @@ -306,7 +306,7 @@ enum { }; // pokenav.c -void SetSelectedConditionSearch(u32); +void SetSelectedConditionSearch(u32 cursorPos); u32 GetSelectedConditionSearch(void); void CB2_InitPokeNav(void); @@ -333,7 +333,7 @@ int PokenavList_MoveCursorDown(void); int PokenavList_PageDown(void); int PokenavList_PageUp(void); bool32 PokenavList_IsMoveWindowTaskActive(void); -void PokenavList_ToggleVerticalArrows(bool32 shouldHide); +void PokenavList_ToggleVerticalArrows(bool32 invisible); void PokenavList_DrawCurrentItemIcon(void); void PokenavList_EraseListForCheckPage(void); bool32 PokenavList_IsTaskActive(void); @@ -359,7 +359,7 @@ void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size void RunMainMenuLoopedTask(u32 state); u32 IsActiveMenuLoopTaskActive(void); void LoadLeftHeaderGfxForIndex(u32 menuGfxId); -void ShowLeftHeaderGfx(u32 menugfxId, bool32 isMain, bool32 isOnRightSide); +void ShowLeftHeaderGfx(u32 menuGfxId, bool32 isMain, bool32 isOnRightSide); void PokenavFadeScreen(s32 fadeType); bool32 AreLeftHeaderSpritesMoving(void); void InitBgTemplates(const struct BgTemplate *templates, int count); @@ -369,7 +369,7 @@ bool32 WaitForHelpBar(void); void SlideMenuHeaderDown(void); bool32 MainMenuLoopedTaskIsBusy(void); void SetLeftHeaderSpritesInvisibility(void); -void PokenavCopyPalette(const u16 *a0, const u16 *a1, int a2, int a3, int a4, u16 *palette); +void PokenavCopyPalette(const u16 *src, const u16 *dest, int size, int a3, int a4, u16 *palette); void FadeToBlackExceptPrimary(void); struct Sprite *GetSpinningPokenavSprite(void); void HideSpinningPokenavSprite(void); @@ -379,7 +379,7 @@ void SlideMenuHeaderUp(void); void PokenavFillPalette(u32 palIndex, u16 fillValue); u32 PokenavMainMenuLoopedTaskIsActive(void); bool32 WaitForPokenavShutdownFade(void); -void SetActiveMenuLoopTasks(void *func1, void *func2); +void SetActiveMenuLoopTasks(void *createLoopTask, void *isLoopTaskActive); // Fix types later. void ShutdownPokenav(void); // pokenav_menu_handler.c @@ -410,11 +410,11 @@ void FreeMatchCallSubstruct1(void); int IsMatchCallListInitFinished(void); int GetNumberRegistered(void); struct PokenavMatchCallEntry *GetMatchCallList(void); -u16 GetMatchCallMapSec(int); +u16 GetMatchCallMapSec(int index); bool32 ShouldDrawRematchPokeballIcon(int index); void ClearRematchPokeballIcon(u16 windowId, u32 tileOffset); int GetMatchCallTrainerPic(int index); -const u8 *GetMatchCallFlavorText(int index, int textType); +const u8 *GetMatchCallFlavorText(int index, int checkPageEntry); const u8 *GetMatchCallMessageText(int index, bool8 *newRematchRequest); u16 GetMatchCallOptionCursorPos(void); u16 GetMatchCallOptionId(int optionId); @@ -422,7 +422,7 @@ void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntry *matchCallEntry, u8 u8 GetMatchTableMapSectionId(int rematchIndex); int GetIndexDeltaOfNextCheckPageDown(int index); int GetIndexDeltaOfNextCheckPageUp(int index); -bool32 IsRematchEntryRegistered(int index); +bool32 IsRematchEntryRegistered(int rematchIndex); // pokenav_match_call_gfx.c bool32 OpenMatchCall(void); @@ -434,14 +434,14 @@ void FreeMatchCallSubstruct2(void); u32 PokenavCallback_Init_RegionMap(void); u32 GetRegionMapCallback(void); bool32 OpenPokenavRegionMap(void); -void CreateRegionMapLoopedTask(s32); +void CreateRegionMapLoopedTask(s32 index); bool32 IsRegionMapLoopedTaskActive(void); void FreeRegionMapSubstruct1(void); void FreeRegionMapSubstruct2(void); // pokenav_conditions.c -u32 PokenavCallback_Init_ConditionGraph_Party(void); -u32 PokenavCallback_Init_ConditionGraph_Search(void); +bool32 PokenavCallback_Init_ConditionGraph_Party(void); +bool32 PokenavCallback_Init_ConditionGraph_Search(void); u32 GetConditionGraphMenuCallback(void); void FreeConditionGraphMenuSubstruct1(void); bool32 LoadConditionGraphMenuGfx(void); @@ -452,47 +452,47 @@ u16 GetMonListCount(void); u8 GetNumConditionMonSparkles(void); bool32 LoadNextConditionMenuMonData(u8 mode); u8 TryGetMonMarkId(void); -u8 *GetConditionMonNameText(u8 id); -u8 *GetConditionMonLocationText(u8 id); +u8 *GetConditionMonNameText(u8 loadId); +u8 *GetConditionMonLocationText(u8 loadId); u16 GetConditionMonDataBuffer(void); -void *GetConditionMonPicGfx(u8 id); -void *GetConditionMonPal(u8 id); +void *GetConditionMonPicGfx(u8 loadId); +void *GetConditionMonPal(u8 loadId); // pokenav_conditions_gfx.c bool32 OpenConditionGraphMenu(void); -void CreateConditionGraphMenuLoopedTask(s32); +void CreateConditionGraphMenuLoopedTask(s32 id); u32 IsConditionGraphMenuLoopedTaskActive(void); void FreeConditionGraphMenuSubstruct2(void); u8 GetMonMarkingsData(void); // pokenav_conditions_search_results.c -u32 PokenavCallback_Init_ConditionSearch(void); -u32 PokenavCallback_Init_ReturnToMonSearchList(void); +bool32 PokenavCallback_Init_ConditionSearch(void); +bool32 PokenavCallback_Init_ReturnToMonSearchList(void); u32 GetConditionSearchResultsCallback(void); void FreeSearchResultSubstruct1(void); bool32 OpenConditionSearchResults(void); bool32 OpenConditionSearchListFromGraph(void); -void CreateSearchResultsLoopedTask(s32); -u32 IsSearchResultLoopedTaskActive(void); +void CreateSearchResultsLoopedTask(s32 idx); +bool32 IsSearchResultLoopedTaskActive(void); void FreeSearchResultSubstruct2(void); // pokenav_ribbons_list.c -u32 PokenavCallback_Init_MonRibbonList(void); -u32 PokenavCallback_Init_RibbonsMonListFromSummary(void); +bool32 PokenavCallback_Init_MonRibbonList(void); +bool32 PokenavCallback_Init_RibbonsMonListFromSummary(void); u32 GetRibbonsMonListCallback(void); void FreeRibbonsMonList(void); bool32 OpenRibbonsMonList(void); bool32 OpenRibbonsMonListFromRibbonsSummary(void); -void CreateRibbonsMonListLoopedTask(s32); -u32 IsRibbonsMonListLoopedTaskActive(void); +void CreateRibbonsMonListLoopedTask(s32 idx); +bool32 IsRibbonsMonListLoopedTaskActive(void); void FreeRibbonsMonMenu(void); // pokenav_ribbons_summary.c -u32 PokenavCallback_Init_RibbonsSummaryMenu(void); +bool32 PokenavCallback_Init_RibbonsSummaryMenu(void); u32 GetRibbonsSummaryMenuCallback(void); void FreeRibbonsSummaryScreen1(void); bool32 OpenRibbonsSummaryMenu(void); -void CreateRibbonsSummaryLoopedTask(s32); +void CreateRibbonsSummaryLoopedTask(s32 id); u32 IsRibbonsSummaryLoopedTaskActive(void); void FreeRibbonsSummaryScreen2(void); diff --git a/include/random.h b/include/random.h index 6bf61de6c6..ba7aeccc1a 100644 --- a/include/random.h +++ b/include/random.h @@ -13,8 +13,8 @@ u16 Random2(void); // The number 1103515245 comes from the example implementation of rand and srand // in the ISO C standard. -#define ISO_RANDOMIZE1(val)(1103515245 * (val) + 24691) -#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345) +#define ISO_RANDOMIZE1(val) (1103515245 * (val) + 24691) +#define ISO_RANDOMIZE2(val) (1103515245 * (val) + 12345) //Sets the initial seed value of the pseudorandom number generator void SeedRng(u16 seed); diff --git a/include/rayquaza_scene.h b/include/rayquaza_scene.h index 5aa21981eb..422b591273 100644 --- a/include/rayquaza_scene.h +++ b/include/rayquaza_scene.h @@ -1,6 +1,6 @@ #ifndef GUARD_RAYQUAZA_SCENE_H #define GUARD_RAYQUAZA_SCENE_H -void DoRayquazaScene(u8 animId, bool8 endEarly, void (*callback)(void)); +void DoRayquazaScene(u8 animId, bool8 endEarly, void (*exitCallback)(void)); #endif // GUARD_RAYQUAZA_SCENE_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 9b89394038..9e53b55aae 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -10,11 +10,11 @@ extern u8 gRecordedBattleMultiplayerId; void RecordedBattle_Init(u8 mode); void RecordedBattle_SetTrainerInfo(void); -void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action); -void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear); -u8 RecordedBattle_GetBattlerAction(u8 battlerId); +void RecordedBattle_SetBattlerAction(u8 battler, u8 action); +void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear); +u8 RecordedBattle_GetBattlerAction(u8 battler); u8 RecordedBattle_BufferNewBattlerData(u8 *dst); -void RecordedBattle_RecordAllBattlerData(u8 *data); +void RecordedBattle_RecordAllBattlerData(u8 *src); bool32 CanCopyRecordedBattleSaveData(void); bool32 MoveRecordedBattleToSaveData(void); void PlayRecordedBattle(void (*CB2_After)(void)); diff --git a/include/region_map.h b/include/region_map.h index 9f0b110a65..2bca9e7f7d 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -95,7 +95,7 @@ struct RegionMapLocation void InitRegionMapData(struct RegionMap *regionMap, const struct BgTemplate *template, bool8 zoomed); bool8 LoadRegionMapGfx(void); void UpdateRegionMapVideoRegs(void); -void InitRegionMap(struct RegionMap *regionMap, u8 argument); +void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed); u8 DoRegionMapInputCallback(void); bool8 UpdateRegionMapZoom(void); void FreeRegionMapIconResources(void); @@ -103,7 +103,7 @@ u16 GetRegionMapSecIdAt(u16 x, u16 y); void CreateRegionMapPlayerIcon(u16 tileTag, u16 paletteTag); void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); bool32 IsEventIslandMapSecId(u8 mapSecId); -u8 *GetMapName(u8 *, u16, u16); +u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength); u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId); u8 *GetMapNameHandleAquaHideout(u8 *dest, u16 mapSecId); u16 CorrectSpecialMapSecId(u16 mapSecId); diff --git a/include/roamer.h b/include/roamer.h index ba1b09b54d..a1814b1375 100644 --- a/include/roamer.h +++ b/include/roamer.h @@ -9,7 +9,7 @@ void RoamerMoveToOtherLocationSet(void); void RoamerMove(void); bool8 IsRoamerAt(u8 mapGroup, u8 mapNum); void CreateRoamerMonInstance(void); -u8 TryStartRoamerEncounter(void); +bool8 TryStartRoamerEncounter(void); void UpdateRoamerHPStatus(struct Pokemon *mon); void SetRoamerInactive(void); void GetRoamerLocation(u8 *mapGroup, u8 *mapNum); diff --git a/include/rotating_gate.h b/include/rotating_gate.h index fd86a6b04d..3829edab4a 100644 --- a/include/rotating_gate.h +++ b/include/rotating_gate.h @@ -1,9 +1,9 @@ #ifndef GUARD_ROTATING_GATE_H #define GUARD_ROTATING_GATE_H -void RotatingGatePuzzleCameraUpdate(s16, s16); +void RotatingGatePuzzleCameraUpdate(s16 deltaX, s16 deltaY); void RotatingGate_InitPuzzleAndGraphics(void); -u32 CheckForRotatingGatePuzzleCollision(u8, s16, s16); -bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8, s16, s16); +bool32 CheckForRotatingGatePuzzleCollision(u8 direction, s16 x, s16 y); +bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8 direction, s16 x, s16 y); #endif // GUARD_ROTATING_GATE_H diff --git a/include/safari_zone.h b/include/safari_zone.h index 39ee3ccb3e..5336c81057 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -16,6 +16,6 @@ void SafariZoneRetirePrompt(void); void CB2_EndSafariBattle(void); struct Pokeblock *SafariZoneGetActivePokeblock(void); -void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index); +void SafariZoneActivatePokeblockFeeder(u8 pkblId); #endif // GUARD_SAFARI_ZONE_H diff --git a/include/scanline_effect.h b/include/scanline_effect.h index 80d9df764d..d9ee9e678c 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -41,7 +41,7 @@ extern u16 ALIGNED(4) gScanlineEffectRegBuffers[2][0x3C0]; void ScanlineEffect_Stop(void); void ScanlineEffect_Clear(void); -void ScanlineEffect_SetParams(struct ScanlineEffectParams); +void ScanlineEffect_SetParams(struct ScanlineEffectParams params); void ScanlineEffect_InitHBlankDmaTransfer(void); u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 applyBattleBgOffsets); diff --git a/include/script_menu.h b/include/script_menu.h index 734c717cff..71eb6695bc 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -14,7 +14,7 @@ bool8 (*ScriptMenu_HidePokemonPic(void))(void); int ConvertPixelWidthToTileWidth(int width); u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height); void ClearToTransparentAndRemoveWindow(u8 windowId); -int DisplayTextAndGetWidth(const u8 *str, int width); +int DisplayTextAndGetWidth(const u8 *str, int prevWidth); int ScriptMenu_AdjustLeftCoordFromWidth(int left, int width); bool16 ScriptMenu_CreatePCMultichoice(void); void ScriptMenu_DisplayPCStartupPrompt(void); diff --git a/include/script_pokemon_util.h b/include/script_pokemon_util.h index cae16e40a6..d453c22adc 100644 --- a/include/script_pokemon_util.h +++ b/include/script_pokemon_util.h @@ -1,10 +1,10 @@ #ifndef GUARD_SCRIPT_POKEMON_UTIL_H #define GUARD_SCRIPT_POKEMON_UTIL_H -u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8); -u8 ScriptGiveEgg(u16); -void CreateScriptedWildMon(u16, u8, u16); -void ScriptSetMonMoveSlot(u8, u16, u8); +u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 unused3); +u8 ScriptGiveEgg(u16 species); +void CreateScriptedWildMon(u16 species, u8 level, u16 item); +void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot); void ReducePlayerPartyToSelectedMons(void); void HealPlayerParty(void); diff --git a/include/secret_base.h b/include/secret_base.h index cb3b95ee78..5502194ff2 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -3,7 +3,7 @@ void HideSecretBaseDecorationSprites(void); void CopyCurSecretBaseOwnerName_StrVar1(void); -void ClearJapaneseSecretBases(struct SecretBase *dest); +void ClearJapaneseSecretBases(struct SecretBase *bases); void SetPlayerSecretBaseParty(void); u8 *GetSecretBaseMapName(u8 *dest); const u8 *GetSecretBaseTrainerLoseText(void); @@ -24,7 +24,6 @@ void SetCurSecretBaseIdFromPosition(const struct MapPosition *position, const st void TrySetCurSecretBaseIndex(void); void CheckPlayerHasSecretBase(void); void ToggleSecretBaseEntranceMetatile(void); -void ScriptContext_Enable(void); -void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx); +void ReceiveSecretBasesData(void *secretBases, size_t recordSize, u8 linkIdx); #endif //GUARD_SECRET_BASE_H diff --git a/include/shop.h b/include/shop.h index 6644ba0aa0..367c06ed6c 100644 --- a/include/shop.h +++ b/include/shop.h @@ -3,9 +3,9 @@ extern struct ItemSlot gMartPurchaseHistory[3]; -void CreatePokemartMenu(const u16 *); -void CreateDecorationShop1Menu(const u16 *); -void CreateDecorationShop2Menu(const u16 *); +void CreatePokemartMenu(const u16 *itemsForSale); +void CreateDecorationShop1Menu(const u16 *itemsForSale); +void CreateDecorationShop2Menu(const u16 *itemsForSale); void CB2_ExitSellMenu(void); #endif // GUARD_SHOP_H diff --git a/include/slot_machine.h b/include/slot_machine.h index 88bbbd91bd..56617b23d7 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,6 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H -void PlaySlotMachine(u8, void (callback)(void)); +void PlaySlotMachine(u8 machineId, MainCallback exitCallback); #endif // GUARD_SLOT_MACHINE_H diff --git a/gflib/sprite.h b/include/sprite.h similarity index 94% rename from gflib/sprite.h rename to include/sprite.h index 86527bc4c0..822c986991 100644 --- a/gflib/sprite.h +++ b/include/sprite.h @@ -1,6 +1,7 @@ #ifndef GUARD_SPRITE_H #define GUARD_SPRITE_H +#define OAM_MATRIX_COUNT 32 #define MAX_SPRITES 64 #define SPRITE_NONE 0xFF #define TAG_NONE 0xFFFF @@ -254,12 +255,12 @@ extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; extern const struct SpriteTemplate gDummySpriteTemplate; extern u8 gReservedSpritePaletteCount; -extern struct Sprite gSprites[]; +extern struct Sprite gSprites[MAX_SPRITES + 1]; extern u8 gOamLimit; extern u16 gReservedSpriteTileCount; extern s16 gSpriteCoordOffsetX; extern s16 gSpriteCoordOffsetY; -extern struct OamMatrix gOamMatrices[]; +extern struct OamMatrix gOamMatrices[OAM_MATRIX_COUNT]; extern bool8 gAffineAnimsDisabled; void ResetSpriteData(void); @@ -297,16 +298,10 @@ void InitSpriteAffineAnim(struct Sprite *sprite); void SetOamMatrixRotationScaling(u8 matrixNum, s16 xScale, s16 yScale, u16 rotation); u16 LoadSpriteSheet(const struct SpriteSheet *sheet); void LoadSpriteSheets(const struct SpriteSheet *sheets); -u16 AllocTilesForSpriteSheet(struct SpriteSheet *sheet); -void AllocTilesForSpriteSheets(struct SpriteSheet *sheets); -void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet); -void LoadTilesForSpriteSheets(struct SpriteSheet *sheets); void FreeSpriteTilesByTag(u16 tag); void FreeSpriteTileRanges(void); u16 GetSpriteTileStartByTag(u16 tag); u16 GetSpriteTileTagByTileStart(u16 start); -void RequestSpriteSheetCopy(const struct SpriteSheet *sheet); -u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet); void FreeAllSpritePalettes(void); u8 LoadSpritePalette(const struct SpritePalette *palette); void LoadSpritePalettes(const struct SpritePalette *palettes); @@ -315,7 +310,7 @@ u8 IndexOfSpritePaletteTag(u16 tag); u16 GetSpritePaletteTagByPaletteNum(u8 paletteNum); void FreeSpritePaletteByTag(u16 tag); void SetSubspriteTables(struct Sprite *sprite, const struct SubspriteTable *subspriteTables); -bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex); +bool8 AddSpriteToOamBuffer(struct Sprite *sprite, u8 *oamIndex); bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex); void CopyToSprites(u8 *src); void CopyFromSprites(u8 *dest); diff --git a/gflib/string_util.h b/include/string_util.h similarity index 100% rename from gflib/string_util.h rename to include/string_util.h diff --git a/include/strings.h b/include/strings.h index eeada2b943..3215f70c88 100644 --- a/include/strings.h +++ b/include/strings.h @@ -519,7 +519,7 @@ extern const u8 gText_Speed[]; extern const u8 gText_Dash[]; extern const u8 gText_Plus[]; -//pokedex text +//Pokédex text extern const u8 gText_CryOf[]; extern const u8 gText_SizeComparedTo[]; extern const u8 gText_PokedexRegistration[]; @@ -1121,7 +1121,7 @@ extern const u8 gTrickHouse_Mechadoll_Six2[]; extern const u8 gTrickHouse_Mechadoll_Seven2[]; extern const u8 gTrickHouse_Mechadoll_Eight2[]; -// Pokedex strings +// Pokédex strings extern const u8 gText_SearchForPkmnBasedOnParameters[]; extern const u8 gText_SwitchPokedexListings[]; extern const u8 gText_ReturnToPokedex[]; @@ -2874,7 +2874,7 @@ extern const u8 gText_WantToPlayAgain[]; extern const u8 gText_CommunicationStandby3[]; extern const u8 gText_SomeoneDroppedOut[]; -// Pokemon jump +// Pokémon jump extern const u8 gText_WantToPlayAgain2[]; extern const u8 gText_SomeoneDroppedOut2[]; extern const u8 gText_CommunicationStandby4[]; @@ -2949,7 +2949,7 @@ extern const u8 gText_CutenessContest[]; extern const u8 gText_SmartnessContest[]; extern const u8 gText_ToughnessContest[]; -// Pokenav Match Call +// PokéNav Match Call extern const u8 gText_CallCantBeMadeHere[]; extern const u8 gText_NumberRegistered[]; extern const u8 gText_NumberOfBattles[]; @@ -2959,7 +2959,7 @@ extern const u8 gText_Call[]; extern const u8 gText_Check[]; extern const u8 gText_Cancel6[]; -// Pokenav Menu Handler +// PokéNav Menu Handler extern const u8 gText_CheckMapOfHoenn[]; extern const u8 gText_CheckPokemonInDetail[]; extern const u8 gText_CallRegisteredTrainer[]; @@ -2976,7 +2976,7 @@ extern const u8 gText_FindToughPokemon[]; extern const u8 gText_ReturnToConditionMenu[]; extern const u8 gText_NoRibbonWinners[]; -// Pokenav +// PokéNav extern const u8 gText_NumberIndex[]; extern const u8 gText_RibbonsF700[]; diff --git a/gflib/text.h b/include/text.h similarity index 95% rename from gflib/text.h rename to include/text.h index ff13efa9a8..db2415fd6d 100644 --- a/gflib/text.h +++ b/include/text.h @@ -1,7 +1,7 @@ #ifndef GUARD_TEXT_H #define GUARD_TEXT_H -#include "characters.h" +#include "constants/characters.h" // Given as a text speed when all the text should be // loaded at once but not copied to vram yet. @@ -137,14 +137,14 @@ extern struct TextGlyph gCurGlyph; void DeactivateAllTextPrinters(void); u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); -bool16 AddTextPrinter(struct TextPrinterTemplate *template, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); +bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)); void RunTextPrinters(void); bool16 IsTextPrinterActive(u8 id); void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor); void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); void DecompressGlyphTile(const void *src_, void *dest_); -void CopyGlyphToWindow(struct TextPrinter *x); +void CopyGlyphToWindow(struct TextPrinter *textPrinter); void ClearTextSpan(struct TextPrinter *textPrinter, u32 width); void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter); diff --git a/include/tilesets.h b/include/tilesets.h index c7cc8edac9..e06444e446 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -4,7 +4,7 @@ extern const u32 gTilesetTiles_General[]; extern const u16 gTilesetPalettes_General[][16]; -extern const struct Tileset * const gTilesetPointer_SecretBase; -extern const struct Tileset * const gTilesetPointer_SecretBaseRedCave; +extern const struct Tileset *const gTilesetPointer_SecretBase; +extern const struct Tileset *const gTilesetPointer_SecretBaseRedCave; #endif //GUARD_tilesets_H diff --git a/include/time_events.h b/include/time_events.h index fd6d29f390..f40b9b45ef 100644 --- a/include/time_events.h +++ b/include/time_events.h @@ -1,8 +1,8 @@ #ifndef GUARD_TIME_EVENTS_H #define GUARD_TIME_EVENTS_H -void UpdateMirageRnd(u16); -u8 IsMirageIslandPresent(void); -void UpdateBirchState(u16); +void UpdateMirageRnd(u16 days); +bool8 IsMirageIslandPresent(void); +void UpdateBirchState(u16 days); #endif // GUARD_TIME_EVENTS_H diff --git a/include/trade.h b/include/trade.h index 6b621038fc..24de69b036 100644 --- a/include/trade.h +++ b/include/trade.h @@ -7,6 +7,7 @@ extern struct Mail gTradeMail[PARTY_SIZE]; extern u8 gSelectedTradeMonPositions[2]; +extern const u16 gTradePlatform_Tilemap[]; extern const struct WindowTemplate gTradeEvolutionSceneYesNoWindowTemplate; s32 GetGameProgressForLinkTrade(void); @@ -14,10 +15,10 @@ void CB2_StartCreateTradeMenu(void); void CB2_LinkTrade(void); int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 species2, u16 species, bool8 isModernFatefulEncounter); int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct RfuGameCompatibilityData partner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, bool8 isModernFatefulEncounter); -int CanSpinTradeMon(struct Pokemon *, u16); +int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx); void InitTradeSequenceBgGpuRegs(void); void LinkTradeDrawWindow(void); void LoadTradeAnimGfx(void); -void DrawTextOnTradeWindow(u8, const u8 *, u8); +void DrawTextOnTradeWindow(u8 windowId, const u8 *str, u8 speed); #endif //GUARD_TRADE_H diff --git a/include/trainer_card.h b/include/trainer_card.h index 7c37a84a6c..1faa306aab 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -70,6 +70,6 @@ u8 GetTrainerCardStars(u8 cardId); void CopyTrainerCardData(struct TrainerCard *dst, struct TrainerCard *src, u8 gameVersion); void ShowPlayerTrainerCard(void (*callback)(void)); void ShowTrainerCardInLink(u8 cardId, void (*callback)(void)); -void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *); +void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard); #endif // GUARD_TRAINER_CARD_H diff --git a/include/trainer_see.h b/include/trainer_see.h index ab808c720c..641e05b8b0 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -17,7 +17,7 @@ extern bool8 gTrainerApproachedPlayer; extern u8 gApproachingTrainerId; bool8 CheckForTrainersWantingBattle(void); -void SetBuriedTrainerMovement(struct ObjectEvent *var); +void SetBuriedTrainerMovement(struct ObjectEvent *objEvent); void DoTrainerApproach(void); void TryPrepareSecondApproachingTrainer(void); u8 FldEff_ExclamationMarkIcon(void); diff --git a/include/tv.h b/include/tv.h index 31c8fcc50f..a9a387e95b 100644 --- a/include/tv.h +++ b/include/tv.h @@ -5,8 +5,8 @@ extern u8 *const gTVStringVarPtrs[3]; void ClearTVShowData(void); void TryPutBreakingNewsOnAir(void); -void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove); -void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facility); +void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove); +void TryPutFrontierTVShowOnAir(u16 winStreak, u8 facilityAndMode); void DoTVShow(void); void DoTVShowInSearchOfTrainers(void); void TryPutTreasureInvestigatorsOnAir(void); @@ -16,7 +16,7 @@ void IncrementDailyPlantedBerries(void); void IncrementDailyPickedBerries(void); void IncrementDailyBattlePoints(u16 delta); void HideBattleTowerReporter(void); -void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx); +void ReceiveTvShowsData(void *src, u32 size, u8 playersLinkId); void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx); u32 GetPlayerIDAsU32(void); bool8 IsPokeNewsActive(u8 newsKind); @@ -29,7 +29,7 @@ void TryPutFindThatGamerOnAir(u16 nCoinsPaidOut); void TryPutSecretBaseSecretsOnAir(void); void TryPutTodaysRivalTrainerOnAir(void); void TryPutTrendWatcherOnAir(const u16 *words); -void ReceivePokeNewsData(void *src, u32 size, u8 masterIdx); +void ReceivePokeNewsData(void *src, u32 size, u8 playersLinkId); void DeactivateAllNormalTVShows(void); void RecordFishingAttemptForTV(bool8 caughtFish); void IncrementDailySlotsUses(void); @@ -37,8 +37,8 @@ void IncrementDailyRouletteUses(void); void IncrementDailyWildBattles(void); void IncrementDailyBerryBlender(void); void SanitizeTVShowsForRuby(TVShow *shows); -void TryPutSafariFanClubOnAir(u8 nMonsCaught, u8 nPkblkUsed); -bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language); +void TryPutSafariFanClubOnAir(u8 monsCaught, u8 pokeblocksUsed); +bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 color, u8 sheen, u8 language); void SetPokemonAnglerSpecies(u16 species); void UpdateTVShowsPerDay(u16 days); void TryPutPokemonTodayOnAir(void); @@ -47,7 +47,7 @@ void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlaye void BravoTrainerPokemonProfile_BeforeInterview1(u16 move); void InterviewBefore(void); void InterviewAfter(void); -void UpdateTVScreensOnMap(int, int); +void UpdateTVScreensOnMap(int width, int height); void ConvertIntToDecimalString(u8 varIdx, int value); void TryPutSmartShopperOnAir(void); bool8 ShouldAirFrontierTVShow(void); diff --git a/include/util.h b/include/util.h index 8f2079a0ba..051f1160bf 100644 --- a/include/util.h +++ b/include/util.h @@ -6,9 +6,9 @@ extern const u8 gMiscBlank_Gfx[]; // unused in Emerald extern const u32 gBitTable[]; -u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); -void StoreWordInTwoHalfwords(u16 *, u32); -void LoadWordFromTwoHalfwords(u16 *, u32 *); +u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *)); +void StoreWordInTwoHalfwords(u16 *h, u32 w); +void LoadWordFromTwoHalfwords(u16 *h, u32 *w); int CountTrailingZeroBits(u32 value); u16 CalcCRC16(const u8 *data, s32 length); u16 CalcCRC16WithTable(const u8 *data, u32 length); diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 8608ec5b16..6e72f6f123 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -29,7 +29,7 @@ struct WildPokemonHeader extern const struct WildPokemonHeader gWildMonHeaders[]; void DisableWildEncounters(bool8 disabled); -bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); +bool8 StandardWildEncounter(u16 curMetatileBehavior, u16 prevMetatileBehavior); bool8 SweetScentWildEncounter(void); bool8 DoesCurrentMapHaveFishingMons(void); void FishingWildEncounter(u8 rod); diff --git a/gflib/window.h b/include/window.h similarity index 100% rename from gflib/window.h rename to include/window.h diff --git a/json_data_rules.mk b/json_data_rules.mk index aa9e5b3a25..08a2d00210 100755 --- a/json_data_rules.mk +++ b/json_data_rules.mk @@ -12,3 +12,17 @@ $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h: $(DATA_SRC_SUBDIR)/region_ma $(JSONPROC) $^ $@ $(C_BUILDDIR)/region_map.o: c_dep += $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h + +AUTO_GEN_TARGETS += include/constants/region_map_sections.h +include/constants/region_map_sections.h: $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json $(DATA_SRC_SUBDIR)/region_map/region_map_sections.constants.json.txt + $(JSONPROC) $^ $@ + +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/heal_locations.h +$(DATA_SRC_SUBDIR)/heal_locations.h: $(DATA_SRC_SUBDIR)/heal_locations.json $(DATA_SRC_SUBDIR)/heal_locations.json.txt + $(JSONPROC) $^ $@ + +$(C_BUILDDIR)/heal_location.o: c_dep += $(DATA_SRC_SUBDIR)/heal_locations.h + +AUTO_GEN_TARGETS += include/constants/heal_locations.h +include/constants/heal_locations.h: $(DATA_SRC_SUBDIR)/heal_locations.json $(DATA_SRC_SUBDIR)/heal_locations.constants.json.txt + $(JSONPROC) $^ $@ diff --git a/ld_script.txt b/ld_script.ld similarity index 98% rename from ld_script.txt rename to ld_script.ld index 4be5965240..316b5fe20f 100644 --- a/ld_script.txt +++ b/ld_script.ld @@ -3,6 +3,13 @@ ENTRY(Start) gNumMusicPlayers = 4; gMaxLines = 0; +MEMORY +{ + EWRAM (rwx) : ORIGIN = 0x2000000, LENGTH = 256K + IWRAM (rwx) : ORIGIN = 0x3000000, LENGTH = 32K + ROM (rx) : ORIGIN = 0x8000000, LENGTH = 32M +} + /* Modify the following load addresses as needed to make more room. Alternately, delete both the declarations below and their references further down to get rid of the gaps. */ @@ -10,34 +17,24 @@ __anim_mon_load_address = 0x8b00000; __gfx_load_address = 0x8c00000; SECTIONS { - . = 0x2000000; - ewram (NOLOAD) : + ewram 0x2000000 (NOLOAD) : ALIGN(4) { - gHeap = .; - - . = 0x1C000; - INCLUDE "sym_ewram.ld" src/*.o(ewram_data); - gflib/*.o(ewram_data); *libc.a:impure.o(.data); *libc.a:locale.o(.data); *libc.a:mallocr.o(.data); - . = 0x40000; - } + } > EWRAM - . = 0x3000000; - - iwram (NOLOAD) : + iwram 0x3000000 (NOLOAD) : ALIGN(4) { /* .bss starts at 0x3000000 */ INCLUDE "sym_bss.ld" src/*.o(.bss); - gflib/*.o(.bss); data/*.o(.bss); /* .bss.code starts at 0x3001AA8 */ @@ -45,11 +42,11 @@ SECTIONS { /* COMMON starts at 0x30022A8 */ INCLUDE "sym_common.ld" + src/*.o(COMMON); *libc.a:sbrkr.o(COMMON); - end = .; - . = 0x8000; - } + } > IWRAM + /* BEGIN ROM DATA */ . = 0x8000000; .text : @@ -59,15 +56,15 @@ SECTIONS { src/rom_header_gf.o(.text.*); src/crt0.o(.text); src/main.o(.text); - gflib/malloc.o(.text); - gflib/dma3_manager.o(.text); - gflib/gpu_regs.o(.text); - gflib/bg.o(.text); - gflib/blit.o(.text); - gflib/window.o(.text); - gflib/text.o(.text); - gflib/sprite.o(.text); - gflib/string_util.o(.text); + src/malloc.o(.text); + src/dma3_manager.o(.text); + src/gpu_regs.o(.text); + src/bg.o(.text); + src/blit.o(.text); + src/window.o(.text); + src/text.o(.text); + src/sprite.o(.text); + src/string_util.o(.text); src/link.o(.text); src/AgbRfu_LinkManager.o(.text); src/link_rfu_3.o(.text); @@ -343,7 +340,7 @@ SECTIONS { src/gym_leader_rematch.o(.text); src/battle_transition_frontier.o(.text); src/international_string_util.o(.text); - } =0 + } > ROM =0 script_data : ALIGN(4) @@ -356,7 +353,7 @@ SECTIONS { data/battle_ai_scripts.o(script_data); data/contest_ai_scripts.o(script_data); data/mystery_event_script_cmd_table.o(script_data); - } =0 + } > ROM =0 lib_text : ALIGN(4) @@ -440,7 +437,7 @@ SECTIONS { *libc.a:libcfunc.o(.text); *libc.a:lseekr.o(.text); *libc.a:readr.o(.text); - } =0 + } > ROM =0 .rodata : ALIGN(4) @@ -448,12 +445,12 @@ SECTIONS { src/rom_header.o(.rodata); src/rom_header_gf.o(.rodata); src/main.o(.rodata); - gflib/bg.o(.rodata); - gflib/window.o(.rodata); - gflib/text.o(.rodata); - gflib/sprite.o(.rodata); - gflib/io_reg.o(.rodata); - gflib/string_util.o(.rodata); + src/bg.o(.rodata); + src/window.o(.rodata); + src/text.o(.rodata); + src/sprite.o(.rodata); + src/io_reg.o(.rodata); + src/string_util.o(.rodata); src/link.o(.rodata); src/link.o(.rodata.str1.4); src/AgbRfu_LinkManager.o(.rodata); @@ -705,7 +702,7 @@ SECTIONS { data/mystery_gift.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); - } =0 + } > ROM =0 song_data : ALIGN(4) @@ -1240,7 +1237,7 @@ SECTIONS { sound/songs/midi/ph_nurse_blend.o(.rodata); sound/songs/midi/ph_nurse_held.o(.rodata); sound/songs/midi/ph_nurse_solo.o(.rodata); - } =0 + } > ROM =0 lib_rodata : SUBALIGN(4) @@ -1293,7 +1290,7 @@ SECTIONS { *libc.a:lseekr.o(.rodata); *libc.a:readr.o(.rodata); src/libisagbprn.o(.rodata); - } =0 + } > ROM =0 multiboot_data : ALIGN(4) @@ -1301,29 +1298,27 @@ SECTIONS { data/multiboot_ereader.o(.rodata); data/multiboot_berry_glitch_fix.o(.rodata); data/multiboot_pokemon_colosseum.o(.rodata); - } =0 + } > ROM =0 anim_mon_front_pic_data __anim_mon_load_address : ALIGN(4) { src/anim_mon_front_pics.o(.rodata); - } =0 + } > ROM =0 gfx_data __gfx_load_address : ALIGN(4) { src/graphics.o(.rodata); - } =0 + } > ROM =0 extra : ALIGN(4) { src/*.o(.text); - gflib/*.o(.text); src/*.o(.rodata); - gflib/*.o(.rodata); data/*.o(.rodata); - } = 0 + } > ROM = 0 /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning diff --git a/ld_script_modern.txt b/ld_script_modern.ld similarity index 85% rename from ld_script_modern.txt rename to ld_script_modern.ld index 549d040e1e..788a5736f0 100644 --- a/ld_script_modern.txt +++ b/ld_script_modern.ld @@ -3,46 +3,38 @@ ENTRY(Start) gNumMusicPlayers = 4; gMaxLines = 0; -SECTIONS { - . = 0x2000000; - - ewram (NOLOAD) : - ALIGN(4) - { - gHeap = .; - - . = 0x1C000; - - src/*.o(ewram_data); - gflib/*.o(ewram_data); - - . = 0x40000; +MEMORY +{ + EWRAM (rwx) : ORIGIN = 0x2000000, LENGTH = 256K + IWRAM (rwx) : ORIGIN = 0x3000000, LENGTH = 32K + ROM (rx) : ORIGIN = 0x8000000, LENGTH = 32M } - . = 0x3000000; +SECTIONS { - iwram (NOLOAD) : + ewram 0x2000000 (NOLOAD) : + ALIGN(4) + { + src/*.o(ewram_data); + } > EWRAM + + iwram 0x3000000 (NOLOAD) : ALIGN(4) { - /* .bss starts at 0x3000000 */ src/*.o(.bss); - gflib/*.o(.bss); data/*.o(.bss); *libc.a:*.o(.bss*); *libnosys.a:*.o(.bss*); - /* .bss.code starts at 0x3001AA8 */ src/m4a.o(.bss.code); - /* COMMON starts at 0x30022A8 */ + src/*.o(common_data); src/*.o(COMMON); - gflib/*.o(COMMON); *libc.a:*.o(COMMON); *libnosys.a:*.o(COMMON); - end = .; - . = 0x8000; - } + } > IWRAM + /* BEGIN ROM DATA */ . = 0x8000000; .text : @@ -52,16 +44,15 @@ SECTIONS { src/rom_header_gf.o(.text.*); src/crt0.o(.text); src/main.o(.text); - gflib/*.o(.text*); src/*.o(.text*); asm/*.o(.text*); - } =0 + } > ROM =0 script_data : ALIGN(4) { data/*.o(script_data); - } =0 + } > ROM =0 lib_text : ALIGN(4) @@ -82,21 +73,20 @@ SECTIONS { *libc.a:*.o(.text*); *libnosys.a:*.o(.text*); src/libisagbprn.o(.text); - } =0 + } > ROM =0 .rodata : ALIGN(4) { src/*.o(.rodata*); - gflib/*.o(.rodata*); data/*.o(.rodata*); - } =0 + } > ROM =0 song_data : ALIGN(4) { sound/songs/*.o(.rodata); - } =0 + } > ROM =0 lib_rodata : SUBALIGN(4) @@ -121,19 +111,19 @@ SECTIONS { data/multiboot_ereader.o(.rodata); data/multiboot_berry_glitch_fix.o(.rodata); data/multiboot_pokemon_colosseum.o(.rodata); - } =0 + } > ROM =0 anim_mon_front_pic_data : ALIGN(4) { src/anim_mon_front_pics.o(.rodata); - } =0 + } > ROM =0 gfx_data : ALIGN(4) { src/graphics.o(.rodata); - } =0 + } > ROM =0 /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning diff --git a/make_tools.mk b/make_tools.mk index 7e0baf8900..4a6a929a86 100644 --- a/make_tools.mk +++ b/make_tools.mk @@ -1,12 +1,22 @@ +# This controls building executables in the `tools` folder. +# Can be invoked through the `Makefile` or standalone. MAKEFLAGS += --no-print-directory # Inclusive list. If you don't want a tool to be built, don't add it here. -TOOLDIRS := tools/aif2pcm tools/bin2c tools/gbafix tools/gbagfx tools/jsonproc tools/mapjson tools/mid2agb tools/preproc tools/ramscrgen tools/rsfont tools/scaninc +TOOLS_DIR := tools +TOOL_NAMES := aif2pcm bin2c gbafix gbagfx jsonproc mapjson mid2agb preproc ramscrgen rsfont scaninc -.PHONY: all $(TOOLDIRS) +TOOLDIRS := $(TOOL_NAMES:%=$(TOOLS_DIR)/%) -all: $(TOOLDIRS) +# Tool making doesnt require a pokeemerald dependency scan. +RULES_NO_SCAN += tools check-tools clean-tools $(TOOLDIRS) +.PHONY: $(RULES_NO_SCAN) + +tools: $(TOOLDIRS) $(TOOLDIRS): @$(MAKE) -C $@ + +clean-tools: + @$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);) diff --git a/map_data_rules.mk b/map_data_rules.mk index 626cd47240..cad0531689 100755 --- a/map_data_rules.mk +++ b/map_data_rules.mk @@ -1,31 +1,41 @@ # Map JSON data +# Inputs MAPS_DIR = $(DATA_ASM_SUBDIR)/maps LAYOUTS_DIR = $(DATA_ASM_SUBDIR)/layouts +# Outputs +MAPS_OUTDIR := $(MAPS_DIR) +LAYOUTS_OUTDIR := $(LAYOUTS_DIR) +INCLUDECONSTS_OUTDIR := include/constants + +AUTO_GEN_TARGETS += $(INCLUDECONSTS_OUTDIR)/map_groups.h +AUTO_GEN_TARGETS += $(INCLUDECONSTS_OUTDIR)/layouts.h +AUTO_GEN_TARGETS += $(INCLUDECONSTS_OUTDIR)/map_event_ids.h + MAP_DIRS := $(dir $(wildcard $(MAPS_DIR)/*/map.json)) MAP_CONNECTIONS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/connections.inc,$(MAP_DIRS)) MAP_EVENTS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/events.inc,$(MAP_DIRS)) MAP_HEADERS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/header.inc,$(MAP_DIRS)) +MAP_JSONS := $(patsubst $(MAPS_DIR)/%/,$(MAPS_DIR)/%/map.json,$(MAP_DIRS)) $(DATA_ASM_BUILDDIR)/maps.o: $(DATA_ASM_SUBDIR)/maps.s $(LAYOUTS_DIR)/layouts.inc $(LAYOUTS_DIR)/layouts_table.inc $(MAPS_DIR)/headers.inc $(MAPS_DIR)/groups.inc $(MAPS_DIR)/connections.inc $(MAP_CONNECTIONS) $(MAP_HEADERS) - $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ + $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@ $(DATA_ASM_BUILDDIR)/map_events.o: $(DATA_ASM_SUBDIR)/map_events.s $(MAPS_DIR)/events.inc $(MAP_EVENTS) - $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@ + $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(PREPROC) -ie $< charmap.txt | $(AS) $(ASFLAGS) -o $@ -$(MAPS_DIR)/%/header.inc: $(MAPS_DIR)/%/map.json - $(MAPJSON) map emerald $< $(LAYOUTS_DIR)/layouts.json -$(MAPS_DIR)/%/events.inc: $(MAPS_DIR)/%/header.inc ; -$(MAPS_DIR)/%/connections.inc: $(MAPS_DIR)/%/events.inc ; -$(MAPS_DIR)/groups.inc: $(MAPS_DIR)/map_groups.json - $(MAPJSON) groups emerald $< -$(MAPS_DIR)/connections.inc: $(MAPS_DIR)/groups.inc ; -$(MAPS_DIR)/events.inc: $(MAPS_DIR)/connections.inc ; -$(MAPS_DIR)/headers.inc: $(MAPS_DIR)/events.inc ; -include/constants/map_groups.h: $(MAPS_DIR)/headers.inc ; +$(MAPS_OUTDIR)/%/header.inc $(MAPS_OUTDIR)/%/events.inc $(MAPS_OUTDIR)/%/connections.inc: $(MAPS_DIR)/%/map.json + $(MAPJSON) map emerald $< $(LAYOUTS_DIR)/layouts.json $(@D) -$(LAYOUTS_DIR)/layouts.inc: $(LAYOUTS_DIR)/layouts.json - $(MAPJSON) layouts emerald $< -$(LAYOUTS_DIR)/layouts_table.inc: $(LAYOUTS_DIR)/layouts.inc ; -include/constants/layouts.h: $(LAYOUTS_DIR)/layouts_table.inc ; +$(MAPS_OUTDIR)/connections.inc $(MAPS_OUTDIR)/groups.inc $(MAPS_OUTDIR)/events.inc $(MAPS_OUTDIR)/headers.inc $(INCLUDECONSTS_OUTDIR)/map_groups.h: $(MAPS_DIR)/map_groups.json + $(MAPJSON) groups emerald $< $(MAPS_OUTDIR) $(INCLUDECONSTS_OUTDIR) + +$(LAYOUTS_OUTDIR)/layouts.inc $(LAYOUTS_OUTDIR)/layouts_table.inc $(INCLUDECONSTS_OUTDIR)/layouts.h: $(LAYOUTS_DIR)/layouts.json + $(MAPJSON) layouts emerald $< $(LAYOUTS_OUTDIR) $(INCLUDECONSTS_OUTDIR) + +# Generate constants for map events, which depend on data that's distributed across the map.json files. +# There's a lot of map.json files, so we print an abbreviated output with echo. +$(INCLUDECONSTS_OUTDIR)/map_event_ids.h: $(MAP_JSONS) + @$(MAPJSON) event_constants emerald $^ $(INCLUDECONSTS_OUTDIR)/map_event_ids.h + @echo "$(MAPJSON) event_constants emerald $(INCLUDECONSTS_OUTDIR)/map_event_ids.h" diff --git a/songs.mk b/songs.mk deleted file mode 100644 index 698f983ceb..0000000000 --- a/songs.mk +++ /dev/null @@ -1,1264 +0,0 @@ -STD_REVERB = 50 - -$(MID_BUILDDIR)/%.o: $(MID_SUBDIR)/%.s - $(AS) $(ASFLAGS) -I sound -o $@ $< - -$(MID_SUBDIR)/mus_aqua_magma_hideout.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G076 -V084 - -$(MID_SUBDIR)/mus_encounter_aqua.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G065 -V086 - -$(MID_SUBDIR)/mus_route111.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G055 -V076 - -$(MID_SUBDIR)/mus_encounter_suspicious.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G069 -V078 - -$(MID_SUBDIR)/mus_b_arena.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G104 -V090 - -$(MID_SUBDIR)/mus_b_dome.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G111 -V090 - -$(MID_SUBDIR)/mus_b_dome_lobby.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G111 -V056 - -$(MID_SUBDIR)/mus_b_factory.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G113 -V100 - -$(MID_SUBDIR)/mus_b_frontier.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G103 -V094 - -$(MID_SUBDIR)/mus_b_palace.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G108 -V105 - -$(MID_SUBDIR)/mus_b_tower_rs.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G035 -V080 - -$(MID_SUBDIR)/mus_b_pike.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G112 -V092 - -$(MID_SUBDIR)/mus_vs_trainer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G119 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_wild.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G117 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_aqua_magma_leader.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G126 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_aqua_magma.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G118 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_gym_leader.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G120 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_champion.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G121 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_kyogre_groudon.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G123 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_rival.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G124 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_regi.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G122 -V080 -P1 - -$(MID_SUBDIR)/mus_vs_elite_four.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G125 -V080 -P1 - -$(MID_SUBDIR)/mus_roulette.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G038 -V080 - -$(MID_SUBDIR)/mus_lilycove_museum.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G020 -V080 - -$(MID_SUBDIR)/mus_encounter_brendan.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G067 -V078 - -$(MID_SUBDIR)/mus_encounter_male.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G028 -V080 - -$(MID_SUBDIR)/mus_victory_road.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G075 -V076 - -$(MID_SUBDIR)/mus_game_corner.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G072 -V072 - -$(MID_SUBDIR)/mus_contest_winner.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G085 -V100 - -$(MID_SUBDIR)/mus_contest_results.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G092 -V080 - -$(MID_SUBDIR)/mus_contest_lobby.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G098 -V060 - -$(MID_SUBDIR)/mus_contest.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G086 -V088 - -$(MID_SUBDIR)/mus_cycling.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G049 -V083 - -$(MID_SUBDIR)/mus_encounter_champion.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G100 -V076 - -$(MID_SUBDIR)/mus_petalburg_woods.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G018 -V080 - -$(MID_SUBDIR)/mus_abandoned_ship.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G030 -V080 - -$(MID_SUBDIR)/mus_cave_of_origin.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G037 -V080 - -$(MID_SUBDIR)/mus_underwater.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G057 -V094 - -$(MID_SUBDIR)/mus_intro.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G060 -V090 - -$(MID_SUBDIR)/mus_hall_of_fame.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G082 -V078 - -$(MID_SUBDIR)/mus_route110.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G010 -V080 - -$(MID_SUBDIR)/mus_route120.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G014 -V080 - -$(MID_SUBDIR)/mus_route122.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G021 -V080 - -$(MID_SUBDIR)/mus_route101.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G011 -V080 - -$(MID_SUBDIR)/mus_dummy.s: %.s: %.mid - $(MID) $< $@ -E -R40 - -$(MID_SUBDIR)/mus_hall_of_fame_room.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G093 -V080 - -$(MID_SUBDIR)/mus_end.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G102 -V036 - -$(MID_SUBDIR)/mus_help.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G056 -V078 - -$(MID_SUBDIR)/mus_level_up.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_obtain_item.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_evolved.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_gsc_route38.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -V080 - -$(MID_SUBDIR)/mus_slateport.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G079 -V070 - -$(MID_SUBDIR)/mus_poke_mart.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G050 -V085 - -$(MID_SUBDIR)/mus_oceanic_museum.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G023 -V080 - -$(MID_SUBDIR)/mus_gym.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G013 -V080 - -$(MID_SUBDIR)/mus_encounter_may.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G061 -V078 - -$(MID_SUBDIR)/mus_encounter_female.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G053 -V072 - -$(MID_SUBDIR)/mus_verdanturf.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G044 -V090 - -$(MID_SUBDIR)/mus_rustboro.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G045 -V085 - -$(MID_SUBDIR)/mus_route119.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G048 -V096 - -$(MID_SUBDIR)/mus_encounter_intense.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G062 -V078 - -$(MID_SUBDIR)/mus_weather_groudon.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G090 -V050 - -$(MID_SUBDIR)/mus_dewford.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G073 -V078 - -$(MID_SUBDIR)/mus_encounter_twins.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G095 -V075 - -$(MID_SUBDIR)/mus_encounter_interviewer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G099 -V062 - -$(MID_SUBDIR)/mus_victory_trainer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G058 -V091 - -$(MID_SUBDIR)/mus_victory_wild.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G025 -V080 - -$(MID_SUBDIR)/mus_victory_gym_leader.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G024 -V080 - -$(MID_SUBDIR)/mus_victory_aqua_magma.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G070 -V088 - -$(MID_SUBDIR)/mus_victory_league.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G029 -V080 - -$(MID_SUBDIR)/mus_caught.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G025 -V080 - -$(MID_SUBDIR)/mus_encounter_cool.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G063 -V086 - -$(MID_SUBDIR)/mus_trick_house.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G094 -V070 - -$(MID_SUBDIR)/mus_route113.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G064 -V084 - -$(MID_SUBDIR)/mus_sailing.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G077 -V086 - -$(MID_SUBDIR)/mus_mt_pyre.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G078 -V088 - -$(MID_SUBDIR)/mus_sealed_chamber.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G084 -V100 - -$(MID_SUBDIR)/mus_petalburg.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G015 -V080 - -$(MID_SUBDIR)/mus_fortree.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G032 -V080 - -$(MID_SUBDIR)/mus_oldale.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G019 -V080 - -$(MID_SUBDIR)/mus_mt_pyre_exterior.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G080 -V080 - -$(MID_SUBDIR)/mus_heal.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_slots_jackpot.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_slots_win.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_obtain_badge.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_obtain_berry.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_obtain_b_points.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G103 -V090 -P5 - -$(MID_SUBDIR)/mus_rg_photo.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G180 -V100 -P5 - -$(MID_SUBDIR)/mus_evolution_intro.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G026 -V080 - -$(MID_SUBDIR)/mus_obtain_symbol.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G103 -V100 -P5 - -$(MID_SUBDIR)/mus_awaken_legend.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_register_match_call.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G105 -V090 -P5 - -$(MID_SUBDIR)/mus_move_deleted.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_obtain_tmhm.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_too_bad.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G012 -V090 -P5 - -$(MID_SUBDIR)/mus_encounter_magma.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G087 -V072 - -$(MID_SUBDIR)/mus_lilycove.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G054 -V085 - -$(MID_SUBDIR)/mus_littleroot.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G051 -V100 - -$(MID_SUBDIR)/mus_surf.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G017 -V080 - -$(MID_SUBDIR)/mus_route104.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G047 -V097 - -$(MID_SUBDIR)/mus_gsc_pewter.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -V080 - -$(MID_SUBDIR)/mus_birch_lab.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G033 -V080 - -$(MID_SUBDIR)/mus_abnormal_weather.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G089 -V080 - -$(MID_SUBDIR)/mus_school.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G081 -V100 - -$(MID_SUBDIR)/mus_c_comm_center.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -V080 - -$(MID_SUBDIR)/mus_poke_center.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G046 -V092 - -$(MID_SUBDIR)/mus_b_pyramid.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G106 -V079 - -$(MID_SUBDIR)/mus_b_pyramid_top.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G107 -V077 - -$(MID_SUBDIR)/mus_ever_grande.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G068 -V086 - -$(MID_SUBDIR)/mus_rayquaza_appears.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G109 -V090 - -$(MID_SUBDIR)/mus_rg_rocket_hideout.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G133 -V090 - -$(MID_SUBDIR)/mus_rg_follow_me.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G131 -V068 - -$(MID_SUBDIR)/mus_rg_victory_road.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G154 -V090 - -$(MID_SUBDIR)/mus_rg_cycling.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G141 -V090 - -$(MID_SUBDIR)/mus_rg_intro_fight.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G136 -V090 - -$(MID_SUBDIR)/mus_rg_hall_of_fame.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G145 -V079 - -$(MID_SUBDIR)/mus_rg_encounter_deoxys.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G184 -V079 - -$(MID_SUBDIR)/mus_rg_credits.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G149 -V090 - -$(MID_SUBDIR)/mus_rg_encounter_gym_leader.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G144 -V090 - -$(MID_SUBDIR)/mus_rg_dex_rating.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G175 -V070 -P5 - -$(MID_SUBDIR)/mus_rg_obtain_key_item.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G178 -V077 -P5 - -$(MID_SUBDIR)/mus_rg_caught_intro.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G179 -V094 -P5 - -$(MID_SUBDIR)/mus_rg_caught.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G170 -V100 - -$(MID_SUBDIR)/mus_rg_cinnabar.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G138 -V090 - -$(MID_SUBDIR)/mus_rg_gym.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G134 -V090 - -$(MID_SUBDIR)/mus_rg_fuchsia.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G167 -V090 - -$(MID_SUBDIR)/mus_rg_poke_jump.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G132 -V090 - -$(MID_SUBDIR)/mus_rg_heal.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G140 -V090 - -$(MID_SUBDIR)/mus_rg_oak_lab.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G160 -V075 - -$(MID_SUBDIR)/mus_rg_berry_pick.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G132 -V090 - -$(MID_SUBDIR)/mus_rg_vermillion.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G172 -V090 - -$(MID_SUBDIR)/mus_rg_route1.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G150 -V079 - -$(MID_SUBDIR)/mus_rg_route3.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G152 -V083 - -$(MID_SUBDIR)/mus_rg_route11.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G153 -V090 - -$(MID_SUBDIR)/mus_rg_pallet.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G159 -V100 - -$(MID_SUBDIR)/mus_rg_surf.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G164 -V071 - -$(MID_SUBDIR)/mus_rg_sevii_45.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G188 -V084 - -$(MID_SUBDIR)/mus_rg_sevii_67.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G189 -V084 - -$(MID_SUBDIR)/mus_rg_sevii_123.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G173 -V084 - -$(MID_SUBDIR)/mus_rg_sevii_cave.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G147 -V090 - -$(MID_SUBDIR)/mus_rg_sevii_dungeon.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G146 -V090 - -$(MID_SUBDIR)/mus_rg_sevii_route.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G187 -V080 - -$(MID_SUBDIR)/mus_rg_net_center.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G162 -V096 - -$(MID_SUBDIR)/mus_rg_pewter.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G173 -V084 - -$(MID_SUBDIR)/mus_rg_oak.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G161 -V086 - -$(MID_SUBDIR)/mus_rg_mystery_gift.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G183 -V100 - -$(MID_SUBDIR)/mus_rg_route24.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G151 -V086 - -$(MID_SUBDIR)/mus_rg_teachy_tv_show.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G131 -V068 - -$(MID_SUBDIR)/mus_rg_mt_moon.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G147 -V090 - -$(MID_SUBDIR)/mus_rg_poke_tower.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G165 -V090 - -$(MID_SUBDIR)/mus_rg_poke_center.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G162 -V096 - -$(MID_SUBDIR)/mus_rg_poke_flute.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G165 -V048 -P5 - -$(MID_SUBDIR)/mus_rg_poke_mansion.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G148 -V090 - -$(MID_SUBDIR)/mus_rg_jigglypuff.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G135 -V068 -P5 - -$(MID_SUBDIR)/mus_rg_encounter_rival.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G174 -V079 - -$(MID_SUBDIR)/mus_rg_rival_exit.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G174 -V079 - -$(MID_SUBDIR)/mus_rg_encounter_rocket.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G142 -V096 - -$(MID_SUBDIR)/mus_rg_ss_anne.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G163 -V090 - -$(MID_SUBDIR)/mus_rg_new_game_exit.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G182 -V088 - -$(MID_SUBDIR)/mus_rg_new_game_intro.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G182 -V088 - -$(MID_SUBDIR)/mus_rg_lavender.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G139 -V090 - -$(MID_SUBDIR)/mus_rg_silph.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G166 -V076 - -$(MID_SUBDIR)/mus_rg_encounter_girl.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G143 -V051 - -$(MID_SUBDIR)/mus_rg_encounter_boy.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G144 -V090 - -$(MID_SUBDIR)/mus_rg_game_corner.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G132 -V090 - -$(MID_SUBDIR)/mus_rg_slow_pallet.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G159 -V092 - -$(MID_SUBDIR)/mus_rg_new_game_instruct.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G182 -V085 - -$(MID_SUBDIR)/mus_rg_viridian_forest.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G146 -V090 - -$(MID_SUBDIR)/mus_rg_trainer_tower.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G134 -V090 - -$(MID_SUBDIR)/mus_rg_celadon.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G168 -V070 - -$(MID_SUBDIR)/mus_rg_title.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G137 -V090 - -$(MID_SUBDIR)/mus_rg_game_freak.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G181 -V075 - -$(MID_SUBDIR)/mus_rg_teachy_tv_menu.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G186 -V059 - -$(MID_SUBDIR)/mus_rg_union_room.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G132 -V090 - -$(MID_SUBDIR)/mus_rg_vs_legend.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G157 -V090 - -$(MID_SUBDIR)/mus_rg_vs_deoxys.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G185 -V080 - -$(MID_SUBDIR)/mus_rg_vs_gym_leader.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G155 -V090 - -$(MID_SUBDIR)/mus_rg_vs_champion.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G158 -V090 - -$(MID_SUBDIR)/mus_rg_vs_mewtwo.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G157 -V090 - -$(MID_SUBDIR)/mus_rg_vs_trainer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G156 -V090 - -$(MID_SUBDIR)/mus_rg_vs_wild.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G157 -V090 - -$(MID_SUBDIR)/mus_rg_victory_gym_leader.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G171 -V090 - -$(MID_SUBDIR)/mus_rg_victory_trainer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G169 -V089 - -$(MID_SUBDIR)/mus_rg_victory_wild.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G170 -V090 - -$(MID_SUBDIR)/mus_cable_car.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G071 -V078 - -$(MID_SUBDIR)/mus_sootopolis.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G091 -V062 - -$(MID_SUBDIR)/mus_safari_zone.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G074 -V082 - -$(MID_SUBDIR)/mus_b_tower.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G110 -V100 - -$(MID_SUBDIR)/mus_evolution.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G026 -V080 - -$(MID_SUBDIR)/mus_encounter_elite_four.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G096 -V078 - -$(MID_SUBDIR)/mus_c_vs_legend_beast.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -V080 - -$(MID_SUBDIR)/mus_encounter_swimmer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G036 -V080 - -$(MID_SUBDIR)/mus_encounter_girl.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G027 -V080 - -$(MID_SUBDIR)/mus_intro_battle.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G088 -V088 - -$(MID_SUBDIR)/mus_encounter_rich.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G043 -V094 - -$(MID_SUBDIR)/mus_link_contest_p1.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G039 -V079 - -$(MID_SUBDIR)/mus_link_contest_p2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G040 -V090 - -$(MID_SUBDIR)/mus_link_contest_p3.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G041 -V075 - -$(MID_SUBDIR)/mus_link_contest_p4.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G042 -V090 - -$(MID_SUBDIR)/mus_littleroot_test.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G034 -V099 - -$(MID_SUBDIR)/mus_credits.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G101 -V100 - -$(MID_SUBDIR)/mus_title.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G059 -V090 - -$(MID_SUBDIR)/mus_fallarbor.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G083 -V100 - -$(MID_SUBDIR)/mus_mt_chimney.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G052 -V078 - -$(MID_SUBDIR)/mus_follow_me.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G066 -V074 - -$(MID_SUBDIR)/mus_vs_frontier_brain.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G115 -V090 -P1 - -$(MID_SUBDIR)/mus_vs_mew.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G116 -V090 - -$(MID_SUBDIR)/mus_vs_rayquaza.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G114 -V080 -P1 - -$(MID_SUBDIR)/mus_encounter_hiker.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G097 -V076 - -$(MID_SUBDIR)/ph_choice_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_choice_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_choice_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_cloth_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_cloth_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_cloth_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_cure_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_cure_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_cure_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_dress_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_dress_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_dress_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_face_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_face_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_face_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_fleece_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_fleece_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_fleece_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_foot_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_foot_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_foot_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_goat_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_goat_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_goat_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_goose_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_goose_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_goose_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_kit_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_kit_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_kit_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_lot_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_lot_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_lot_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_mouth_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_mouth_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_mouth_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_nurse_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_nurse_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_nurse_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_price_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_price_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_price_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_strut_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_strut_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_strut_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_thought_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_thought_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_thought_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_trap_blend.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_trap_held.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/ph_trap_solo.s: %.s: %.mid - $(MID) $< $@ -E -G130 -P4 - -$(MID_SUBDIR)/se_a.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 - -$(MID_SUBDIR)/se_bang.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_taillow_wing_flap.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P5 - -$(MID_SUBDIR)/se_glass_flute.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P5 - -$(MID_SUBDIR)/se_boo.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 - -$(MID_SUBDIR)/se_ball.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V070 -P4 - -$(MID_SUBDIR)/se_ball_open.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_mugshot.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 - -$(MID_SUBDIR)/se_contest_heart.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 - -$(MID_SUBDIR)/se_contest_curtain_fall.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V070 -P5 - -$(MID_SUBDIR)/se_contest_curtain_rise.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V070 -P5 - -$(MID_SUBDIR)/se_contest_icon_change.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5 - -$(MID_SUBDIR)/se_contest_mons_turn.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 - -$(MID_SUBDIR)/se_contest_icon_clear.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5 - -$(MID_SUBDIR)/se_card.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4 - -$(MID_SUBDIR)/se_pike_curtain_close.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_pike_curtain_open.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_ledge.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4 - -$(MID_SUBDIR)/se_itemfinder.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5 - -$(MID_SUBDIR)/se_applause.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P5 - -$(MID_SUBDIR)/se_field_poison.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 - -$(MID_SUBDIR)/se_door.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5 - -$(MID_SUBDIR)/se_e.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 - -$(MID_SUBDIR)/se_elevator.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_escalator.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_exp.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5 - -$(MID_SUBDIR)/se_exp_max.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V094 -P5 - -$(MID_SUBDIR)/se_fu_zaku.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P4 - -$(MID_SUBDIR)/se_contest_condition_lose.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 - -$(MID_SUBDIR)/se_lavaridge_fall_warp.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P4 - -$(MID_SUBDIR)/se_balloon_red.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 - -$(MID_SUBDIR)/se_balloon_blue.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 - -$(MID_SUBDIR)/se_balloon_yellow.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 - -$(MID_SUBDIR)/se_arena_timeup1.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_arena_timeup2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_bridge_walk.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 - -$(MID_SUBDIR)/se_failure.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P4 - -$(MID_SUBDIR)/se_rotating_gate.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 - -$(MID_SUBDIR)/se_low_health.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P3 - -$(MID_SUBDIR)/se_i.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 - -$(MID_SUBDIR)/se_sliding_door.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 - -$(MID_SUBDIR)/se_vend.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_bike_hop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4 - -$(MID_SUBDIR)/se_bike_bell.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 - -$(MID_SUBDIR)/se_contest_place.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 - -$(MID_SUBDIR)/se_exit.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P5 - -$(MID_SUBDIR)/se_use_item.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_unlock.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_ball_bounce_1.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_ball_bounce_2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_ball_bounce_3.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_ball_bounce_4.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_super_effective.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 - -$(MID_SUBDIR)/se_not_effective.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 - -$(MID_SUBDIR)/se_effective.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 - -$(MID_SUBDIR)/se_puddle.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V020 -P4 - -$(MID_SUBDIR)/se_berry_blender.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 - -$(MID_SUBDIR)/se_switch.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4 - -$(MID_SUBDIR)/se_n.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4 - -$(MID_SUBDIR)/se_ball_throw.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P5 - -$(MID_SUBDIR)/se_ship.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V075 -P4 - -$(MID_SUBDIR)/se_flee.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5 - -$(MID_SUBDIR)/se_o.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 - -$(MID_SUBDIR)/se_intro_blast.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_pc_login.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_pc_off.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_pc_on.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_pin.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V060 -P4 - -$(MID_SUBDIR)/se_ding_dong.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5 - -$(MID_SUBDIR)/se_pokenav_off.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_pokenav_on.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_faint.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5 - -$(MID_SUBDIR)/se_shiny.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P5 - -$(MID_SUBDIR)/se_shop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5 - -$(MID_SUBDIR)/se_rg_bag_cursor.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_rg_bag_pocket.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_rg_card_flip.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_rg_card_flipping.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5 - -$(MID_SUBDIR)/se_rg_card_open.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V112 -P5 - -$(MID_SUBDIR)/se_rg_deoxys_move.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V080 -P5 - -$(MID_SUBDIR)/se_rg_poke_jump_success.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5 - -$(MID_SUBDIR)/se_rg_ball_click.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V100 -P5 - -$(MID_SUBDIR)/se_rg_help_close.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V095 -P5 - -$(MID_SUBDIR)/se_rg_help_error.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V125 -P5 - -$(MID_SUBDIR)/se_rg_help_open.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V096 -P5 - -$(MID_SUBDIR)/se_rg_ss_anne_horn.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V096 -P5 - -$(MID_SUBDIR)/se_rg_poke_jump_failure.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P5 - -$(MID_SUBDIR)/se_rg_shop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V080 -P5 - -$(MID_SUBDIR)/se_rg_door.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V100 -P5 - -$(MID_SUBDIR)/se_ice_crack.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4 - -$(MID_SUBDIR)/se_ice_stairs.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 - -$(MID_SUBDIR)/se_ice_break.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_fall.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_save.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P5 - -$(MID_SUBDIR)/se_success.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P4 - -$(MID_SUBDIR)/se_select.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5 - -$(MID_SUBDIR)/se_ball_trade.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_thunderstorm.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2 - -$(MID_SUBDIR)/se_thunderstorm_stop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2 - -$(MID_SUBDIR)/se_thunder.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P3 - -$(MID_SUBDIR)/se_thunder2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P3 - -$(MID_SUBDIR)/se_rain.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2 - -$(MID_SUBDIR)/se_rain_stop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2 - -$(MID_SUBDIR)/se_downpour.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P2 - -$(MID_SUBDIR)/se_downpour_stop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P2 - -$(MID_SUBDIR)/se_orb.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P5 - -$(MID_SUBDIR)/se_egg_hatch.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P5 - -$(MID_SUBDIR)/se_roulette_ball.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P2 - -$(MID_SUBDIR)/se_roulette_ball2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P2 - -$(MID_SUBDIR)/se_ball_tray_exit.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5 - -$(MID_SUBDIR)/se_ball_tray_ball.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5 - -$(MID_SUBDIR)/se_ball_tray_enter.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5 - -$(MID_SUBDIR)/se_click.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4 - -$(MID_SUBDIR)/se_warp_in.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4 - -$(MID_SUBDIR)/se_warp_out.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4 - -$(MID_SUBDIR)/se_pokenav_call.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V120 -P5 - -$(MID_SUBDIR)/se_pokenav_hang_up.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V110 -P5 - -$(MID_SUBDIR)/se_note_a.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_b.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_c.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_c_high.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_d.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_mud_ball.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_e.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_f.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_note_g.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_breakable_door.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_truck_door.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_truck_unload.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P4 - -$(MID_SUBDIR)/se_truck_move.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4 - -$(MID_SUBDIR)/se_truck_stop.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4 - -$(MID_SUBDIR)/se_repel.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4 - -$(MID_SUBDIR)/se_u.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4 - -$(MID_SUBDIR)/se_sudowoodo_shake.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V077 -P5 - -$(MID_SUBDIR)/se_m_double_slap.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_comet_punch.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 - -$(MID_SUBDIR)/se_m_pay_day.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4 - -$(MID_SUBDIR)/se_m_fire_punch.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_scratch.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_vicegrip.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_razor_wind.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_razor_wind2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 - -$(MID_SUBDIR)/se_m_swords_dance.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_m_cut.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4 - -$(MID_SUBDIR)/se_m_gust.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_gust2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_wing_attack.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 - -$(MID_SUBDIR)/se_m_fly.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_bind.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4 - -$(MID_SUBDIR)/se_m_mega_kick.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4 - -$(MID_SUBDIR)/se_m_mega_kick2.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_jump_kick.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_sand_attack.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_headbutt.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_horn_attack.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_take_down.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4 - -$(MID_SUBDIR)/se_m_tail_whip.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_m_leer.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4 - -$(MID_SUBDIR)/se_dex_search.s: %.s: %.mid - $(MID) $< $@ -E -R$(STD_REVERB) -G127 -v100 -P5 diff --git a/sound/music_player_table.inc b/sound/music_player_table.inc index 5981a4d037..955d4d556f 100644 --- a/sound/music_player_table.inc +++ b/sound/music_player_table.inc @@ -5,6 +5,7 @@ .equiv NUM_TRACKS_SE3, 1 .bss + .align 2 gMPlayTrack_BGM:: .space TRACK_SIZE * NUM_TRACKS_BGM diff --git a/sound/songs/midi/midi.cfg b/sound/songs/midi/midi.cfg new file mode 100644 index 0000000000..5802904b41 --- /dev/null +++ b/sound/songs/midi/midi.cfg @@ -0,0 +1,420 @@ +mus_abandoned_ship.mid: -E -R50 -G030 -V080 +mus_abnormal_weather.mid: -E -R50 -G089 -V080 +mus_aqua_magma_hideout.mid: -E -R50 -G076 -V084 +mus_awaken_legend.mid: -E -R50 -G012 -V090 -P5 +mus_b_arena.mid: -E -R50 -G104 -V090 +mus_b_dome_lobby.mid: -E -R50 -G111 -V056 +mus_b_dome.mid: -E -R50 -G111 -V090 +mus_b_factory.mid: -E -R50 -G113 -V100 +mus_b_frontier.mid: -E -R50 -G103 -V094 +mus_b_palace.mid: -E -R50 -G108 -V105 +mus_b_pike.mid: -E -R50 -G112 -V092 +mus_b_pyramid_top.mid: -E -R50 -G107 -V077 +mus_b_pyramid.mid: -E -R50 -G106 -V079 +mus_b_tower_rs.mid: -E -R50 -G035 -V080 +mus_b_tower.mid: -E -R50 -G110 -V100 +mus_birch_lab.mid: -E -R50 -G033 -V080 +mus_c_comm_center.mid: -E -R50 -V080 +mus_c_vs_legend_beast.mid: -E -R50 -V080 +mus_cable_car.mid: -E -R50 -G071 -V078 +mus_caught.mid: -E -R50 -G025 -V080 +mus_cave_of_origin.mid: -E -R50 -G037 -V080 +mus_contest_lobby.mid: -E -R50 -G098 -V060 +mus_contest_results.mid: -E -R50 -G092 -V080 +mus_contest_winner.mid: -E -R50 -G085 -V100 +mus_contest.mid: -E -R50 -G086 -V088 +mus_credits.mid: -E -R50 -G101 -V100 +mus_cycling.mid: -E -R50 -G049 -V083 +mus_dewford.mid: -E -R50 -G073 -V078 +mus_dummy.mid: -E -R40 +mus_encounter_aqua.mid: -E -R50 -G065 -V086 +mus_encounter_brendan.mid: -E -R50 -G067 -V078 +mus_encounter_champion.mid: -E -R50 -G100 -V076 +mus_encounter_cool.mid: -E -R50 -G063 -V086 +mus_encounter_elite_four.mid: -E -R50 -G096 -V078 +mus_encounter_female.mid: -E -R50 -G053 -V072 +mus_encounter_girl.mid: -E -R50 -G027 -V080 +mus_encounter_hiker.mid: -E -R50 -G097 -V076 +mus_encounter_intense.mid: -E -R50 -G062 -V078 +mus_encounter_interviewer.mid: -E -R50 -G099 -V062 +mus_encounter_magma.mid: -E -R50 -G087 -V072 +mus_encounter_male.mid: -E -R50 -G028 -V080 +mus_encounter_may.mid: -E -R50 -G061 -V078 +mus_encounter_rich.mid: -E -R50 -G043 -V094 +mus_encounter_suspicious.mid: -E -R50 -G069 -V078 +mus_encounter_swimmer.mid: -E -R50 -G036 -V080 +mus_encounter_twins.mid: -E -R50 -G095 -V075 +mus_end.mid: -E -R50 -G102 -V036 +mus_ever_grande.mid: -E -R50 -G068 -V086 +mus_evolution_intro.mid: -E -R50 -G026 -V080 +mus_evolution.mid: -E -R50 -G026 -V080 +mus_evolved.mid: -E -R50 -G012 -V090 -P5 +mus_fallarbor.mid: -E -R50 -G083 -V100 +mus_follow_me.mid: -E -R50 -G066 -V074 +mus_fortree.mid: -E -R50 -G032 -V080 +mus_game_corner.mid: -E -R50 -G072 -V072 +mus_gsc_pewter.mid: -E -R50 -V080 +mus_gsc_route38.mid: -E -R50 -V080 +mus_gym.mid: -E -R50 -G013 -V080 +mus_hall_of_fame_room.mid: -E -R50 -G093 -V080 +mus_hall_of_fame.mid: -E -R50 -G082 -V078 +mus_heal.mid: -E -R50 -G012 -V090 -P5 +mus_help.mid: -E -R50 -G056 -V078 +mus_intro_battle.mid: -E -R50 -G088 -V088 +mus_intro.mid: -E -R50 -G060 -V090 +mus_level_up.mid: -E -R50 -G012 -V090 -P5 +mus_lilycove_museum.mid: -E -R50 -G020 -V080 +mus_lilycove.mid: -E -R50 -G054 -V085 +mus_link_contest_p1.mid: -E -R50 -G039 -V079 +mus_link_contest_p2.mid: -E -R50 -G040 -V090 +mus_link_contest_p3.mid: -E -R50 -G041 -V075 +mus_link_contest_p4.mid: -E -R50 -G042 -V090 +mus_littleroot_test.mid: -E -R50 -G034 -V099 +mus_littleroot.mid: -E -R50 -G051 -V100 +mus_move_deleted.mid: -E -R50 -G012 -V090 -P5 +mus_mt_chimney.mid: -E -R50 -G052 -V078 +mus_mt_pyre_exterior.mid: -E -R50 -G080 -V080 +mus_mt_pyre.mid: -E -R50 -G078 -V088 +mus_obtain_b_points.mid: -E -R50 -G103 -V090 -P5 +mus_obtain_badge.mid: -E -R50 -G012 -V090 -P5 +mus_obtain_berry.mid: -E -R50 -G012 -V090 -P5 +mus_obtain_item.mid: -E -R50 -G012 -V090 -P5 +mus_obtain_symbol.mid: -E -R50 -G103 -V100 -P5 +mus_obtain_tmhm.mid: -E -R50 -G012 -V090 -P5 +mus_oceanic_museum.mid: -E -R50 -G023 -V080 +mus_oldale.mid: -E -R50 -G019 -V080 +mus_petalburg_woods.mid: -E -R50 -G018 -V080 +mus_petalburg.mid: -E -R50 -G015 -V080 +mus_poke_center.mid: -E -R50 -G046 -V092 +mus_poke_mart.mid: -E -R50 -G050 -V085 +mus_rayquaza_appears.mid: -E -R50 -G109 -V090 +mus_register_match_call.mid: -E -R50 -G105 -V090 -P5 +mus_rg_berry_pick.mid: -E -R50 -G132 -V090 +mus_rg_caught_intro.mid: -E -R50 -G179 -V094 -P5 +mus_rg_caught.mid: -E -R50 -G170 -V100 +mus_rg_celadon.mid: -E -R50 -G168 -V070 +mus_rg_cinnabar.mid: -E -R50 -G138 -V090 +mus_rg_credits.mid: -E -R50 -G149 -V090 +mus_rg_cycling.mid: -E -R50 -G141 -V090 +mus_rg_dex_rating.mid: -E -R50 -G175 -V070 -P5 +mus_rg_encounter_boy.mid: -E -R50 -G144 -V090 +mus_rg_encounter_deoxys.mid: -E -R50 -G184 -V079 +mus_rg_encounter_girl.mid: -E -R50 -G143 -V051 +mus_rg_encounter_gym_leader: -E -R50 -G144 -V090 +mus_rg_encounter_rival.mid: -E -R50 -G174 -V079 +mus_rg_encounter_rocket.mid: -E -R50 -G142 -V096 +mus_rg_follow_me.mid: -E -R50 -G131 -V068 +mus_rg_fuchsia.mid: -E -R50 -G167 -V090 +mus_rg_game_corner.mid: -E -R50 -G132 -V090 +mus_rg_game_freak.mid: -E -R50 -G181 -V075 +mus_rg_gym.mid: -E -R50 -G134 -V090 +mus_rg_hall_of_fame.mid: -E -R50 -G145 -V079 +mus_rg_heal.mid: -E -R50 -G140 -V090 +mus_rg_intro_fight.mid: -E -R50 -G136 -V090 +mus_rg_jigglypuff.mid: -E -R50 -G135 -V068 -P5 +mus_rg_lavender.mid: -E -R50 -G139 -V090 +mus_rg_mt_moon.mid: -E -R50 -G147 -V090 +mus_rg_mystery_gift.mid: -E -R50 -G183 -V100 +mus_rg_net_center.mid: -E -R50 -G162 -V096 +mus_rg_new_game_exit.mid: -E -R50 -G182 -V088 +mus_rg_new_game_instruct.mid: -E -R50 -G182 -V085 +mus_rg_new_game_intro.mid: -E -R50 -G182 -V088 +mus_rg_oak_lab.mid: -E -R50 -G160 -V075 +mus_rg_oak.mid: -E -R50 -G161 -V086 +mus_rg_obtain_key_item.mid: -E -R50 -G178 -V077 -P5 +mus_rg_pallet.mid: -E -R50 -G159 -V100 +mus_rg_pewter.mid: -E -R50 -G173 -V084 +mus_rg_photo.mid: -E -R50 -G180 -V100 -P5 +mus_rg_poke_center.mid: -E -R50 -G162 -V096 +mus_rg_poke_flute.mid: -E -R50 -G165 -V048 -P5 +mus_rg_poke_jump.mid: -E -R50 -G132 -V090 +mus_rg_poke_mansion.mid: -E -R50 -G148 -V090 +mus_rg_poke_tower.mid: -E -R50 -G165 -V090 +mus_rg_rival_exit.mid: -E -R50 -G174 -V079 +mus_rg_rocket_hideout.mid: -E -R50 -G133 -V090 +mus_rg_route1.mid: -E -R50 -G150 -V079 +mus_rg_route3.mid: -E -R50 -G152 -V083 +mus_rg_route11.mid: -E -R50 -G153 -V090 +mus_rg_route24.mid: -E -R50 -G151 -V086 +mus_rg_sevii_45.mid: -E -R50 -G188 -V084 +mus_rg_sevii_67.mid: -E -R50 -G189 -V084 +mus_rg_sevii_123.mid: -E -R50 -G173 -V084 +mus_rg_sevii_cave.mid: -E -R50 -G147 -V090 +mus_rg_sevii_dungeon.mid: -E -R50 -G146 -V090 +mus_rg_sevii_route.mid: -E -R50 -G187 -V080 +mus_rg_silph.mid: -E -R50 -G166 -V076 +mus_rg_slow_pallet.mid: -E -R50 -G159 -V092 +mus_rg_ss_anne.mid: -E -R50 -G163 -V090 +mus_rg_surf.mid: -E -R50 -G164 -V071 +mus_rg_teachy_tv_menu.mid: -E -R50 -G186 -V059 +mus_rg_teachy_tv_show.mid: -E -R50 -G131 -V068 +mus_rg_title.mid: -E -R50 -G137 -V090 +mus_rg_trainer_tower.mid: -E -R50 -G134 -V090 +mus_rg_union_room.mid: -E -R50 -G132 -V090 +mus_rg_vermillion.mid: -E -R50 -G172 -V090 +mus_rg_victory_gym_leader.mid: -E -R50 -G171 -V090 +mus_rg_victory_road.mid: -E -R50 -G154 -V090 +mus_rg_victory_trainer.mid: -E -R50 -G169 -V089 +mus_rg_victory_wild.mid: -E -R50 -G170 -V090 +mus_rg_viridian_forest.mid: -E -R50 -G146 -V090 +mus_rg_vs_champion.mid: -E -R50 -G158 -V090 +mus_rg_vs_deoxys.mid: -E -R50 -G185 -V080 +mus_rg_vs_gym_leader.mid: -E -R50 -G155 -V090 +mus_rg_vs_legend.mid: -E -R50 -G157 -V090 +mus_rg_vs_mewtwo.mid: -E -R50 -G157 -V090 +mus_rg_vs_trainer.mid: -E -R50 -G156 -V090 +mus_rg_vs_wild.mid: -E -R50 -G157 -V090 +mus_roulette.mid: -E -R50 -G038 -V080 +mus_route101.mid: -E -R50 -G011 -V080 +mus_route104.mid: -E -R50 -G047 -V097 +mus_route110.mid: -E -R50 -G010 -V080 +mus_route111.mid: -E -R50 -G055 -V076 +mus_route113.mid: -E -R50 -G064 -V084 +mus_route119.mid: -E -R50 -G048 -V096 +mus_route120.mid: -E -R50 -G014 -V080 +mus_route122.mid: -E -R50 -G021 -V080 +mus_rustboro.mid: -E -R50 -G045 -V085 +mus_safari_zone.mid: -E -R50 -G074 -V082 +mus_sailing.mid: -E -R50 -G077 -V086 +mus_school.mid: -E -R50 -G081 -V100 +mus_sealed_chamber.mid: -E -R50 -G084 -V100 +mus_slateport.mid: -E -R50 -G079 -V070 +mus_slots_jackpot.mid: -E -R50 -G012 -V090 -P5 +mus_slots_win.mid: -E -R50 -G012 -V090 -P5 +mus_sootopolis.mid: -E -R50 -G091 -V062 +mus_surf.mid: -E -R50 -G017 -V080 +mus_title.mid: -E -R50 -G059 -V090 +mus_too_bad.mid: -E -R50 -G012 -V090 -P5 +mus_trick_house.mid: -E -R50 -G094 -V070 +mus_underwater.mid: -E -R50 -G057 -V094 +mus_verdanturf.mid: -E -R50 -G044 -V090 +mus_victory_aqua_magma.mid: -E -R50 -G070 -V088 +mus_victory_gym_leader.mid: -E -R50 -G024 -V080 +mus_victory_league.mid: -E -R50 -G029 -V080 +mus_victory_road.mid: -E -R50 -G075 -V076 +mus_victory_trainer.mid: -E -R50 -G058 -V091 +mus_victory_wild.mid: -E -R50 -G025 -V080 +mus_vs_aqua_magma_leader.mid: -E -R50 -G126 -V080 -P1 +mus_vs_aqua_magma.mid: -E -R50 -G118 -V080 -P1 +mus_vs_champion.mid: -E -R50 -G121 -V080 -P1 +mus_vs_elite_four.mid: -E -R50 -G125 -V080 -P1 +mus_vs_frontier_brain.mid: -E -R50 -G115 -V090 -P1 +mus_vs_gym_leader.mid: -E -R50 -G120 -V080 -P1 +mus_vs_kyogre_groudon.mid: -E -R50 -G123 -V080 -P1 +mus_vs_mew.mid: -E -R50 -G116 -V090 +mus_vs_rayquaza.mid: -E -R50 -G114 -V080 -P1 +mus_vs_regi.mid: -E -R50 -G122 -V080 -P1 +mus_vs_rival.mid: -E -R50 -G124 -V080 -P1 +mus_vs_trainer.mid: -E -R50 -G119 -V080 -P1 +mus_vs_wild.mid: -E -R50 -G117 -V080 -P1 +mus_weather_groudon.mid: -E -R50 -G090 -V050 +ph_choice_blend.mid: -E -G130 -P4 +ph_choice_held.mid: -E -G130 -P4 +ph_choice_solo.mid: -E -G130 -P4 +ph_cloth_blend.mid: -E -G130 -P4 +ph_cloth_held.mid: -E -G130 -P4 +ph_cloth_solo.mid: -E -G130 -P4 +ph_cure_blend.mid: -E -G130 -P4 +ph_cure_held.mid: -E -G130 -P4 +ph_cure_solo.mid: -E -G130 -P4 +ph_dress_blend.mid: -E -G130 -P4 +ph_dress_held.mid: -E -G130 -P4 +ph_dress_solo.mid: -E -G130 -P4 +ph_face_blend.mid: -E -G130 -P4 +ph_face_held.mid: -E -G130 -P4 +ph_face_solo.mid: -E -G130 -P4 +ph_fleece_blend.mid: -E -G130 -P4 +ph_fleece_held.mid: -E -G130 -P4 +ph_fleece_solo.mid: -E -G130 -P4 +ph_foot_blend.mid: -E -G130 -P4 +ph_foot_held.mid: -E -G130 -P4 +ph_foot_solo.mid: -E -G130 -P4 +ph_goat_blend.mid: -E -G130 -P4 +ph_goat_held.mid: -E -G130 -P4 +ph_goat_solo.mid: -E -G130 -P4 +ph_goose_blend.mid: -E -G130 -P4 +ph_goose_held.mid: -E -G130 -P4 +ph_goose_solo.mid: -E -G130 -P4 +ph_kit_blend.mid: -E -G130 -P4 +ph_kit_held.mid: -E -G130 -P4 +ph_kit_solo.mid: -E -G130 -P4 +ph_lot_blend.mid: -E -G130 -P4 +ph_lot_held.mid: -E -G130 -P4 +ph_lot_solo.mid: -E -G130 -P4 +ph_mouth_blend.mid: -E -G130 -P4 +ph_mouth_held.mid: -E -G130 -P4 +ph_mouth_solo.mid: -E -G130 -P4 +ph_nurse_blend.mid: -E -G130 -P4 +ph_nurse_held.mid: -E -G130 -P4 +ph_nurse_solo.mid: -E -G130 -P4 +ph_price_blend.mid: -E -G130 -P4 +ph_price_held.mid: -E -G130 -P4 +ph_price_solo.mid: -E -G130 -P4 +ph_strut_blend.mid: -E -G130 -P4 +ph_strut_held.mid: -E -G130 -P4 +ph_strut_solo.mid: -E -G130 -P4 +ph_thought_blend.mid: -E -G130 -P4 +ph_thought_held.mid: -E -G130 -P4 +ph_thought_solo.mid: -E -G130 -P4 +ph_trap_blend.mid: -E -G130 -P4 +ph_trap_held.mid: -E -G130 -P4 +ph_trap_solo.mid: -E -G130 -P4 +se_a.mid: -E -R50 -G128 -V095 -P4 +se_applause.mid: -E -R50 -G128 -V100 -P5 +se_arena_timeup1.mid: -E -R50 -G129 -P5 +se_arena_timeup2.mid: -E -R50 -G129 -P5 +se_ball_bounce_1.mid: -E -R50 -G128 -V100 -P4 +se_ball_bounce_2.mid: -E -R50 -G128 -V100 -P4 +se_ball_bounce_3.mid: -E -R50 -G128 -V100 -P4 +se_ball_bounce_4.mid: -E -R50 -G128 -V100 -P4 +se_ball_open.mid: -E -R50 -G127 -V100 -P5 +se_ball_throw.mid: -E -R50 -G128 -V120 -P5 +se_ball_trade.mid: -E -R50 -G127 -V100 -P5 +se_ball_tray_ball.mid: -E -R50 -G128 -V110 -P5 +se_ball_tray_enter.mid: -E -R50 -G128 -V110 -P5 +se_ball_tray_exit.mid: -E -R50 -G127 -V100 -P5 +se_ball.mid: -E -R50 -G127 -V070 -P4 +se_balloon_blue.mid: -E -R50 -G128 -V105 -P4 +se_balloon_red.mid: -E -R50 -G128 -V105 -P4 +se_balloon_yellow.mid: -E -R50 -G128 -V105 -P4 +se_bang.mid: -E -R50 -G128 -V110 -P4 +se_berry_blender.mid: -E -R50 -G128 -V090 -P4 +se_bike_bell.mid: -E -R50 -G128 -V090 -P4 +se_bike_hop.mid: -E -R50 -G127 -V090 -P4 +se_boo.mid: -E -R50 -G127 -V110 -P4 +se_breakable_door.mid: -E -R50 -G128 -V110 -P4 +se_bridge_walk.mid: -E -R50 -G128 -V095 -P4 +se_card.mid: -E -R50 -G127 -V100 -P4 +se_click.mid: -E -R50 -G127 -V110 -P4 +se_contest_condition_lose.mid: -E -R50 -G127 -V110 -P4 +se_contest_curtain_fall.mid: -E -R50 -G128 -V070 -P5 +se_contest_curtain_rise.mid: -E -R50 -G128 -V070 -P5 +se_contest_heart.mid: -E -R50 -G128 -V090 -P5 +se_contest_icon_change.mid: -E -R50 -G128 -V110 -P5 +se_contest_icon_clear.mid: -E -R50 -G128 -V090 -P5 +se_contest_mons_turn.mid: -E -R50 -G128 -V090 -P5 +se_contest_place.mid: -E -R50 -G127 -V110 -P4 +se_dex_search.mid: -E -R50 -G127 -v100 -P5 +se_ding_dong.mid: -E -R50 -G127 -V090 -P5 +se_door.mid: -E -R50 -G127 -V080 -P5 +se_downpour_stop.mid: -E -R50 -G128 -V100 -P2 +se_downpour.mid: -E -R50 -G128 -V100 -P2 +se_e.mid: -E -R50 -G128 -V120 -P4 +se_effective.mid: -E -R50 -G127 -V110 -P5 +se_egg_hatch.mid: -E -R50 -G128 -V120 -P5 +se_elevator.mid: -E -R50 -G128 -V100 -P4 +se_escalator.mid: -E -R50 -G128 -V100 -P4 +se_exit.mid: -E -R50 -G127 -V120 -P5 +se_exp_max.mid: -E -R50 -G128 -V094 -P5 +se_exp.mid: -E -R50 -G127 -V080 -P5 +se_failure.mid: -E -R50 -G127 -V120 -P4 +se_faint.mid: -E -R50 -G127 -V110 -P5 +se_fall.mid: -E -R50 -G128 -V110 -P4 +se_field_poison.mid: -E -R50 -G127 -V110 -P5 +se_flee.mid: -E -R50 -G127 -V090 -P5 +se_fu_zaku.mid: -E -R50 -G127 -V120 -P4 +se_glass_flute.mid: -E -R50 -G128 -V105 -P5 +se_i.mid: -E -R50 -G128 -V120 -P4 +se_ice_break.mid: -E -R50 -G128 -V100 -P4 +se_ice_crack.mid: -E -R50 -G127 -V100 -P4 +se_ice_stairs.mid: -E -R50 -G128 -V090 -P4 +se_intro_blast.mid: -E -R50 -G127 -V100 -P5 +se_itemfinder.mid: -E -R50 -G127 -V090 -P5 +se_lavaridge_fall_warp.mid: -E -R50 -G127 -P4 +se_ledge.mid: -E -R50 -G127 -V100 -P4 +se_low_health.mid: -E -R50 -G127 -V100 -P3 +se_m_bind.mid: -E -R50 -G128 -V100 -P4 +se_m_comet_punch.mid: -E -R50 -G128 -V120 -P4 +se_m_cut.mid: -E -R50 -G128 -V120 -P4 +se_m_double_slap.mid: -E -R50 -G128 -V110 -P4 +se_m_fire_punch.mid: -E -R50 -G128 -V110 -P4 +se_m_fly.mid: -E -R50 -G128 -V110 -P4 +se_m_gust.mid: -E -R50 -G128 -V110 -P4 +se_m_gust2.mid: -E -R50 -G128 -V110 -P4 +se_m_headbutt.mid: -E -R50 -G128 -V110 -P4 +se_m_horn_attack.mid: -E -R50 -G128 -V110 -P4 +se_m_jump_kick.mid: -E -R50 -G128 -V110 -P4 +se_m_leer.mid: -E -R50 -G128 -V110 -P4 +se_m_mega_kick.mid: -E -R50 -G128 -V090 -P4 +se_m_mega_kick2.mid: -E -R50 -G128 -V110 -P4 +se_m_pay_day.mid: -E -R50 -G128 -V095 -P4 +se_m_razor_wind.mid: -E -R50 -G128 -V110 -P4 +se_m_razor_wind2.mid: -E -R50 -G128 -V090 -P4 +se_m_sand_attack.mid: -E -R50 -G128 -V110 -P4 +se_m_scratch.mid: -E -R50 -G128 -V110 -P4 +se_m_swords_dance.mid: -E -R50 -G128 -V100 -P4 +se_m_tail_whip.mid: -E -R50 -G128 -V110 -P4 +se_m_take_down.mid: -E -R50 -G128 -V105 -P4 +se_m_vicegrip.mid: -E -R50 -G128 -V110 -P4 +se_m_wing_attack.mid: -E -R50 -G128 -V105 -P4 +se_mud_ball.mid: -E -R50 -G128 -V110 -P4 +se_mugshot.mid: -E -R50 -G128 -V090 -P5 +se_n.mid: -E -R50 -G128 -P4 +se_not_effective.mid: -E -R50 -G127 -V110 -P5 +se_note_a.mid: -E -R50 -G128 -V110 -P4 +se_note_b.mid: -E -R50 -G128 -V110 -P4 +se_note_c_high.mid: -E -R50 -G128 -V110 -P4 +se_note_c.mid: -E -R50 -G128 -V110 -P4 +se_note_d.mid: -E -R50 -G128 -V110 -P4 +se_note_e.mid: -E -R50 -G128 -V110 -P4 +se_note_f.mid: -E -R50 -G128 -V110 -P4 +se_note_g.mid: -E -R50 -G128 -V110 -P4 +se_o.mid: -E -R50 -G128 -V120 -P4 +se_orb.mid: -E -R50 -G128 -V100 -P5 +se_pc_login.mid: -E -R50 -G127 -V100 -P5 +se_pc_off.mid: -E -R50 -G127 -V100 -P5 +se_pc_on.mid: -E -R50 -G127 -V100 -P5 +se_pike_curtain_close.mid: -E -R50 -G129 -P5 +se_pike_curtain_open.mid: -E -R50 -G129 -P5 +se_pin.mid: -E -R50 -G127 -V060 -P4 +se_pokenav_call.mid: -E -R50 -G129 -V120 -P5 +se_pokenav_hang_up.mid: -E -R50 -G129 -V110 -P5 +se_pokenav_off.mid: -E -R50 -G127 -V100 -P5 +se_pokenav_on.mid: -E -R50 -G127 -V100 -P5 +se_puddle.mid: -E -R50 -G128 -V020 -P4 +se_rain_stop.mid: -E -R50 -G128 -V080 -P2 +se_rain.mid: -E -R50 -G128 -V080 -P2 +se_repel.mid: -E -R50 -G127 -V090 -P4 +se_rg_bag_cursor.mid: -E -R50 -G129 -P5 +se_rg_bag_pocket.mid: -E -R50 -G129 -P5 +se_rg_ball_click.mid: -E -R50 -G129 -V100 -P5 +se_rg_card_flip.mid: -E -R50 -G129 -P5 +se_rg_card_flipping.mid: -E -R50 -G129 -P5 +se_rg_card_open.mid: -E -R50 -G129 -V112 -P5 +se_rg_deoxys_move.mid: -E -R50 -G129 -V080 -P5 +se_rg_door.mid: -E -R50 -G129 -V100 -P5 +se_rg_help_close.mid: -E -R50 -G129 -V095 -P5 +se_rg_help_error.mid: -E -R50 -G129 -V125 -P5 +se_rg_help_open.mid: -E -R50 -G129 -V096 -P5 +se_rg_poke_jump_failure.mid: -E -R50 -G127 -P5 +se_rg_poke_jump_success.mid: -E -R50 -G128 -V110 -P5 +se_rg_shop.mid: -E -R50 -G129 -V080 -P5 +se_rg_ss_anne_horn.mid: -E -R50 -G129 -V096 -P5 +se_rotating_gate.mid: -E -R50 -G128 -V090 -P4 +se_roulette_ball.mid: -E -R50 -G128 -V110 -P2 +se_roulette_ball2.mid: -E -R50 -G128 -V110 -P2 +se_save.mid: -E -R50 -G128 -V080 -P5 +se_select.mid: -E -R50 -G127 -V080 -P5 +se_shiny.mid: -E -R50 -G128 -V095 -P5 +se_ship.mid: -E -R50 -G127 -V075 -P4 +se_shop.mid: -E -R50 -G127 -V090 -P5 +se_sliding_door.mid: -E -R50 -G128 -V095 -P4 +se_success.mid: -E -R50 -G127 -V080 -P4 +se_sudowoodo_shake.mid: -E -R50 -G129 -V077 -P5 +se_super_effective.mid: -E -R50 -G127 -V110 -P5 +se_switch.mid: -E -R50 -G127 -V100 -P4 +se_taillow_wing_flap.mid: -E -R50 -G128 -V105 -P5 +se_thunder.mid: -E -R50 -G128 -V110 -P3 +se_thunder2.mid: -E -R50 -G128 -V110 -P3 +se_thunderstorm_stop.mid: -E -R50 -G128 -V080 -P2 +se_thunderstorm.mid: -E -R50 -G128 -V080 -P2 +se_truck_door.mid: -E -R50 -G128 -V110 -P4 +se_truck_move.mid: -E -R50 -G128 -P4 +se_truck_stop.mid: -E -R50 -G128 -P4 +se_truck_unload.mid: -E -R50 -G127 -P4 +se_u.mid: -E -R50 -G128 -P4 +se_unlock.mid: -E -R50 -G128 -V100 -P4 +se_use_item.mid: -E -R50 -G127 -V100 -P5 +se_vend.mid: -E -R50 -G128 -V110 -P4 +se_warp_in.mid: -E -R50 -G127 -V090 -P4 +se_warp_out.mid: -E -R50 -G127 -V090 -P4 diff --git a/src/AgbRfu_LinkManager.c b/src/AgbRfu_LinkManager.c index e4ee377f7b..b53b69c48b 100644 --- a/src/AgbRfu_LinkManager.c +++ b/src/AgbRfu_LinkManager.c @@ -14,7 +14,7 @@ #define FSP_ON 0x01 #define FSP_START 0x02 -LINK_MANAGER lman; +COMMON_DATA LINK_MANAGER lman = {0}; static void rfu_LMAN_clearVariables(void); static void rfu_LMAN_settingPCSWITCH(u32 rand); @@ -59,7 +59,9 @@ void rfu_LMAN_REQ_sendData(bool8 clockChangeFlag) clockChangeFlag = FALSE; } else + { lman.parentAck_flag = 0; + } rfu_REQ_sendData(clockChangeFlag); } diff --git a/src/agb_flash.c b/src/agb_flash.c index 6b9381c704..ffec206fee 100644 --- a/src/agb_flash.c +++ b/src/agb_flash.c @@ -6,16 +6,16 @@ static u16 sTimerCount; static vu16 *sTimerReg; static u16 sSavedIme; -u8 gFlashTimeoutFlag; -u8 (*PollFlashStatus)(u8 *); -u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData); -u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src); -const struct FlashType *gFlash; -u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data); -u16 gFlashNumRemainingBytes; -u16 (*EraseFlashChip)(); -u16 (*EraseFlashSector)(u16 sectorNum); -const u16 *gFlashMaxTime; +COMMON_DATA u8 gFlashTimeoutFlag = 0; +COMMON_DATA u8 (*PollFlashStatus)(u8 *) = NULL; +COMMON_DATA u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData) = NULL; +COMMON_DATA u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src) = NULL; +COMMON_DATA const struct FlashType *gFlash = NULL; +COMMON_DATA u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data) = NULL; +COMMON_DATA u16 gFlashNumRemainingBytes = 0; +COMMON_DATA u16 (*EraseFlashChip)() = NULL; +COMMON_DATA u16 (*EraseFlashSector)(u16 sectorNum) = 0; +COMMON_DATA const u16 *gFlashMaxTime = NULL; void SetReadFlash1(u16 *dest); diff --git a/src/agb_flash_1m.c b/src/agb_flash_1m.c index 6fc4f3d600..f5ebd83ac8 100644 --- a/src/agb_flash_1m.c +++ b/src/agb_flash_1m.c @@ -3,7 +3,7 @@ static const char AgbLibFlashVersion[] = "FLASH1M_V103"; -static const struct FlashSetupInfo * const sSetupInfos[] = +static const struct FlashSetupInfo *const sSetupInfos[] = { &MX29L010, &LE26FV10N1TS, @@ -14,7 +14,7 @@ u16 IdentifyFlash(void) { u16 result; u16 flashId; - const struct FlashSetupInfo * const *setupInfo; + const struct FlashSetupInfo *const *setupInfo; REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8; diff --git a/src/apprentice.c b/src/apprentice.c index 2280412fe7..cb2ab96bc7 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -70,18 +70,18 @@ struct ApprenticeQuestionData { u16 speciesId; u16 altSpeciesId; - u16 moveId1; - u16 moveId2; + u16 move1; + u16 move2; }; // IWRAM common -struct ApprenticePartyMovesData *gApprenticePartyMovesData; -struct ApprenticeQuestionData *gApprenticeQuestionData; -void (*gApprenticeFunc)(void); +COMMON_DATA struct ApprenticePartyMovesData *gApprenticePartyMovesData = NULL; +COMMON_DATA struct ApprenticeQuestionData *gApprenticeQuestionData = NULL; +COMMON_DATA void (*gApprenticeFunc)(void) = NULL; // This file's functions. static u16 GetRandomAlternateMove(u8 monId); -static bool8 TrySetMove(u8 monId, u16 moveId); +static bool8 TrySetMove(u8 monId, u16 move); static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId); static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height); static void RemoveAndHideWindow(u8 windowId); @@ -337,7 +337,7 @@ static u16 GetRandomAlternateMove(u8 monId) u16 species; const u16 *learnset; bool32 needTMs = FALSE; - u16 moveId = MOVE_NONE; + u16 move = MOVE_NONE; bool32 shouldUseMove; u8 level; @@ -379,7 +379,7 @@ static u16 GetRandomAlternateMove(u8 monId) } while (!shouldUseMove); - moveId = ItemIdToBattleMoveId(ITEM_TM01 + id); + move = ItemIdToBattleMoveId(ITEM_TM01 + id); shouldUseMove = TRUE; if (numLearnsetMoves <= MAX_MON_MOVES) @@ -390,7 +390,7 @@ static u16 GetRandomAlternateMove(u8 monId) for (; j < numLearnsetMoves; j++) { // Keep looking for TMs until one not in the level up learnset is found - if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId) + if ((learnset[j] & LEVEL_UP_MOVE_ID) == move) { shouldUseMove = FALSE; break; @@ -414,13 +414,13 @@ static u16 GetRandomAlternateMove(u8 monId) { // Get a random move excluding the 4 it would know at max level u8 learnsetId = Random() % (numLearnsetMoves - MAX_MON_MOVES); - moveId = learnset[learnsetId] & LEVEL_UP_MOVE_ID; + move = learnset[learnsetId] & LEVEL_UP_MOVE_ID; shouldUseMove = TRUE; for (j = numLearnsetMoves - MAX_MON_MOVES; j < numLearnsetMoves; j++) { // Keep looking for moves until one not in the last 4 is found - if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId) + if ((learnset[j] & LEVEL_UP_MOVE_ID) == move) { shouldUseMove = FALSE; break; @@ -430,29 +430,29 @@ static u16 GetRandomAlternateMove(u8 monId) } } - if (TrySetMove(monId, moveId)) + if (TrySetMove(monId, move)) { - if (sValidApprenticeMoves[moveId]) + if (sValidApprenticeMoves[move]) break; i++; } } gApprenticePartyMovesData->moveCounter++; - return moveId; + return move; } -static bool8 TrySetMove(u8 monId, u16 moveId) +static bool8 TrySetMove(u8 monId, u16 move) { u8 i; for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++) { - if (gApprenticePartyMovesData->moves[monId][i] == moveId) + if (gApprenticePartyMovesData->moves[monId][i] == move) return FALSE; } - gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = moveId; + gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = move; return TRUE; } @@ -605,8 +605,8 @@ static void CreateApprenticeMenu(u8 menu) case APPRENTICE_ASK_MOVES: left = 17; top = 8; - strings[0] = gMoveNames[gApprenticeQuestionData->moveId1]; - strings[1] = gMoveNames[gApprenticeQuestionData->moveId2]; + strings[0] = gMoveNames[gApprenticeQuestionData->move1]; + strings[1] = gMoveNames[gApprenticeQuestionData->move2]; break; case APPRENTICE_ASK_GIVE: left = 18; @@ -1006,8 +1006,8 @@ static void InitQuestionData(void) count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId; APPRENTICE_SPECIES_ID_NO_COND(id1, count); gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1]; - gApprenticeQuestionData->moveId1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); - gApprenticeQuestionData->moveId2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; + gApprenticeQuestionData->move1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot); + gApprenticeQuestionData->move2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data; } } else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHAT_ITEM) @@ -1062,13 +1062,13 @@ static void ApprenticeBufferString(void) StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]); break; case APPRENTICE_BUFF_MOVE1: - StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId1]); + StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move1]); break; case APPRENTICE_BUFF_MOVE2: - StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId2]); + StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move2]); break; case APPRENTICE_BUFF_ITEM: - StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); + StringCopy(stringDst, GetItemName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data)); break; case APPRENTICE_BUFF_NAME: TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(PLAYER_APPRENTICE.id, GAME_LANGUAGE), GAME_LANGUAGE); diff --git a/src/bard_music.c b/src/bard_music.c index 165b4fe770..3335e2428f 100644 --- a/src/bard_music.c +++ b/src/bard_music.c @@ -1,63 +1,247 @@ #include "global.h" #include "bard_music.h" #include "easy_chat.h" +#include "constants/songs.h" -#include "data/bard_music/bard_sounds.h" -#include "data/bard_music/word_pitch.h" -#include "data/bard_music/default_sound.h" -#include "data/bard_music/length_table.h" +// Indicates that the previous sound should be held. +#define PREV_BARD_SOUND { .songId = NUM_PHONEME_SONGS } -static s16 CalcWordPitch(int pitchIdx, int songPos) +// Invalid sound, indicates the end of the sounds for the word. +#define NULL_BARD_SOUND { .songId = PHONEME_ID_NONE } + +#include "data/bard_music/pokemon.h" +#include "data/bard_music/moves.h" +#include "data/bard_music/trainer.h" +#include "data/bard_music/status.h" +#include "data/bard_music/battle.h" +#include "data/bard_music/greetings.h" +#include "data/bard_music/people.h" +#include "data/bard_music/voices.h" +#include "data/bard_music/speech.h" +#include "data/bard_music/endings.h" +#include "data/bard_music/feelings.h" +#include "data/bard_music/conditions.h" +#include "data/bard_music/actions.h" +#include "data/bard_music/lifestyle.h" +#include "data/bard_music/hobbies.h" +#include "data/bard_music/time.h" +#include "data/bard_music/misc.h" +#include "data/bard_music/adjectives.h" +#include "data/bard_music/events.h" +#include "data/bard_music/trendysaying.h" + +static const struct BardSoundTemplate (*const sBardSoundTemplatesTable[EC_NUM_GROUPS])[MAX_BARD_SOUNDS_PER_WORD] = { + [EC_GROUP_POKEMON] = NULL, // Handled by sBardSoundTemplates_Pokemon + [EC_GROUP_TRAINER] = sBardSoundTemplates_Trainer, + [EC_GROUP_STATUS] = sBardSoundTemplates_Status, + [EC_GROUP_BATTLE] = sBardSoundTemplates_Battle, + [EC_GROUP_GREETINGS] = sBardSoundTemplates_Greetings, + [EC_GROUP_PEOPLE] = sBardSoundTemplates_People, + [EC_GROUP_VOICES] = sBardSoundTemplates_Voices, + [EC_GROUP_SPEECH] = sBardSoundTemplates_Speech, + [EC_GROUP_ENDINGS] = sBardSoundTemplates_Endings, + [EC_GROUP_FEELINGS] = sBardSoundTemplates_Feelings, + [EC_GROUP_CONDITIONS] = sBardSoundTemplates_Conditions, + [EC_GROUP_ACTIONS] = sBardSoundTemplates_Actions, + [EC_GROUP_LIFESTYLE] = sBardSoundTemplates_Lifestyle, + [EC_GROUP_HOBBIES] = sBardSoundTemplates_Hobbies, + [EC_GROUP_TIME] = sBardSoundTemplates_Time, + [EC_GROUP_MISC] = sBardSoundTemplates_Misc, + [EC_GROUP_ADJECTIVES] = sBardSoundTemplates_Adjectives, + [EC_GROUP_EVENTS] = sBardSoundTemplates_Events, + [EC_GROUP_MOVE_1] = NULL, // Handled by sBardSoundTemplates_Moves + [EC_GROUP_MOVE_2] = NULL, // Handled by sBardSoundTemplates_Moves + [EC_GROUP_TRENDY_SAYING] = sBardSoundTemplates_TrendySaying, + [EC_GROUP_POKEMON_NATIONAL] = NULL, // Handled by sBardSoundTemplates_Pokemon +}; + +// The pitch tables below will be indexed using the number of BardSoundTemplates per word, so a table is selected +// that has at least MAX_BARD_SOUNDS_PER_WORD pitch values. Curiously they select pitch tables whose size is +1 +// of the maximum number of sounds per word, so the final pitch value (before PITCH_END) isn't used. +// (i.e., 'NUM_BARD_PITCH_TABLES_PER_SIZE * (MAX_BARD_SOUNDS_PER_WORD-1)' would select a sufficiently large table). +#define BASE_PITCH_TABLE_INDEX (NUM_BARD_PITCH_TABLES_PER_SIZE * MAX_BARD_SOUNDS_PER_WORD) + +#define PITCH_END 0x1800 + +static const s16 sPitch1_0[] = { -0x300, PITCH_END }; +static const s16 sPitch1_1[] = { 0x0900, PITCH_END }; +static const s16 sPitch1_2[] = { 0x0100, PITCH_END }; +static const s16 sPitch1_3[] = { 0x0400, PITCH_END }; +static const s16 sPitch1_4[] = { 0x0b00, PITCH_END }; + +static const s16 sPitch2_0[] = { -0x300, -0x100, PITCH_END }; +static const s16 sPitch2_1[] = { -0x300, 0x0200, PITCH_END }; +static const s16 sPitch2_2[] = { 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch2_3[] = { 0x0600, 0x0800, PITCH_END }; +static const s16 sPitch2_4[] = { 0x0900, 0x0800, PITCH_END }; + +static const s16 sPitch3_0[] = { -0x300, -0x100, -0x300, PITCH_END }; +static const s16 sPitch3_1[] = { 0x0400, -0x300, 0x0400, PITCH_END }; +static const s16 sPitch3_2[] = { 0x0900, 0x0800, 0x0600, PITCH_END }; +static const s16 sPitch3_3[] = { 0x0100, 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch3_4[] = { 0x0600, 0x1000, 0x0d00, PITCH_END }; + +static const s16 sPitch4_0[] = { 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END }; +static const s16 sPitch4_1[] = { 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END }; +static const s16 sPitch4_2[] = { 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch4_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch4_4[] = { 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END }; + +static const s16 sPitch5_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch5_1[] = { 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch5_2[] = { 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END }; +static const s16 sPitch5_3[] = { 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END }; +static const s16 sPitch5_4[] = { 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END }; + +static const s16 sPitch6_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch6_1[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END }; +static const s16 sPitch6_2[] = { 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END }; +static const s16 sPitch6_3[] = { 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END }; +static const s16 sPitch6_4[] = { 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END }; + +static const s16 sPitch7_0[] = { 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch7_1[] = { 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END }; +static const s16 sPitch7_2[] = { 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END }; +static const s16 sPitch7_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END }; +static const s16 sPitch7_4[] = { 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END }; + +// In practice only sPitch7_# below are used below. +// BASE_PITCH_TABLE_INDEX is 30 by default, and this table is always indexed with (x + 30), where x is some value 0 - 4 +static const s16 *const sPitchTables[NUM_BARD_PITCH_TABLES_PER_SIZE * 7] = { + sPitch1_0, sPitch1_1, sPitch1_2, sPitch1_3, sPitch1_4, + sPitch2_0, sPitch2_1, sPitch2_2, sPitch2_3, sPitch2_4, + sPitch3_0, sPitch3_1, sPitch3_2, sPitch3_3, sPitch3_4, + sPitch4_0, sPitch4_1, sPitch4_2, sPitch4_3, sPitch4_4, + sPitch5_0, sPitch5_1, sPitch5_2, sPitch5_3, sPitch5_4, + sPitch6_0, sPitch6_1, sPitch6_2, sPitch6_3, sPitch6_4, + sPitch7_0, sPitch7_1, sPitch7_2, sPitch7_3, sPitch7_4 +}; + +// If this fails, CalcWordSounds will likely read out of bounds for sPitchTables. +STATIC_ASSERT(BASE_PITCH_TABLE_INDEX + (NUM_BARD_PITCH_TABLES_PER_SIZE-1) < ARRAY_COUNT(sPitchTables), NotEnoughPitchTablesForBardSounds) + +static const struct BardSoundTemplate sEmptyPhonemeTemplate[] = { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND +}; + +static const int sPhonemeLengths[NUM_PHONEME_SONGS + 1] = { + [PHONEME_ID(PH_TRAP_BLEND)] = 9, + [PHONEME_ID(PH_TRAP_HELD)] = 22, + [PHONEME_ID(PH_TRAP_SOLO)] = 15, + [PHONEME_ID(PH_FACE_BLEND)] = 16, + [PHONEME_ID(PH_FACE_HELD)] = 39, + [PHONEME_ID(PH_FACE_SOLO)] = 21, + [PHONEME_ID(PH_CLOTH_BLEND)] = 9, + [PHONEME_ID(PH_CLOTH_HELD)] = 30, + [PHONEME_ID(PH_CLOTH_SOLO)] = 24, + [PHONEME_ID(PH_DRESS_BLEND)] = 15, + [PHONEME_ID(PH_DRESS_HELD)] = 25, + [PHONEME_ID(PH_DRESS_SOLO)] = 12, + [PHONEME_ID(PH_FLEECE_BLEND)] = 22, + [PHONEME_ID(PH_FLEECE_HELD)] = 45, + [PHONEME_ID(PH_FLEECE_SOLO)] = 24, + [PHONEME_ID(PH_KIT_BLEND)] = 15, + [PHONEME_ID(PH_KIT_HELD)] = 40, + [PHONEME_ID(PH_KIT_SOLO)] = 9, + [PHONEME_ID(PH_PRICE_BLEND)] = 21, + [PHONEME_ID(PH_PRICE_HELD)] = 42, + [PHONEME_ID(PH_PRICE_SOLO)] = 18, + [PHONEME_ID(PH_LOT_BLEND)] = 9, + [PHONEME_ID(PH_LOT_HELD)] = 22, + [PHONEME_ID(PH_LOT_SOLO)] = 15, + [PHONEME_ID(PH_GOAT_BLEND)] = 27, + [PHONEME_ID(PH_GOAT_HELD)] = 48, + [PHONEME_ID(PH_GOAT_SOLO)] = 18, + [PHONEME_ID(PH_THOUGHT_BLEND)] = 27, + [PHONEME_ID(PH_THOUGHT_HELD)] = 33, + [PHONEME_ID(PH_THOUGHT_SOLO)] = 24, + [PHONEME_ID(PH_CHOICE_BLEND)] = 25, + [PHONEME_ID(PH_CHOICE_HELD)] = 39, + [PHONEME_ID(PH_CHOICE_SOLO)] = 19, + [PHONEME_ID(PH_MOUTH_BLEND)] = 16, + [PHONEME_ID(PH_MOUTH_HELD)] = 54, + [PHONEME_ID(PH_MOUTH_SOLO)] = 18, + [PHONEME_ID(PH_FOOT_BLEND)] = 9, + [PHONEME_ID(PH_FOOT_HELD)] = 45, + [PHONEME_ID(PH_FOOT_SOLO)] = 15, + [PHONEME_ID(PH_GOOSE_BLEND)] = 12, + [PHONEME_ID(PH_GOOSE_HELD)] = 39, + [PHONEME_ID(PH_GOOSE_SOLO)] = 23, + [PHONEME_ID(PH_STRUT_BLEND)] = 5, + [PHONEME_ID(PH_STRUT_HELD)] = 45, + [PHONEME_ID(PH_STRUT_SOLO)] = 12, + [PHONEME_ID(PH_CURE_BLEND)] = 21, + [PHONEME_ID(PH_CURE_HELD)] = 48, + [PHONEME_ID(PH_CURE_SOLO)] = 12, + [PHONEME_ID(PH_NURSE_BLEND)] = 21, + [PHONEME_ID(PH_NURSE_HELD)] = 69, + [PHONEME_ID(PH_NURSE_SOLO)] = 18, + [NUM_PHONEME_SONGS] = 15, // This is the length that will be used by PREV_BARD_SOUND to hold the previous phoneme sound. +}; + +static s16 GetWordPitch(int tableIndex, int pitchIndex) { - return sBardSoundPitchTables[pitchIdx][songPos]; + return sPitchTables[tableIndex][pitchIndex]; } -const struct BardSound *GetWordSounds(u16 word) +const struct BardSoundTemplate *GetWordSoundTemplates(u16 easyChatWord) { u32 category; u32 subword; - const struct BardSound (*ptr)[6]; + const struct BardSoundTemplate (*ptr)[MAX_BARD_SOUNDS_PER_WORD]; - if (IsBardWordInvalid(word)) - { - return gBardSound_InvalidWord; - } - category = EC_GROUP(word); - subword = EC_INDEX(word); + if (IsBardWordInvalid(easyChatWord)) + return sEmptyPhonemeTemplate; + + category = EC_GROUP(easyChatWord); + subword = EC_INDEX(easyChatWord); switch (category) { case EC_GROUP_POKEMON: case EC_GROUP_POKEMON_NATIONAL: - ptr = gBardSounds_Pokemon; + ptr = sBardSoundTemplates_Pokemon; break; case EC_GROUP_MOVE_1: case EC_GROUP_MOVE_2: - ptr = gBardSounds_Moves; + ptr = sBardSoundTemplates_Moves; break; default: - ptr = gBardSoundsTable[category]; + ptr = sBardSoundTemplatesTable[category]; break; } ptr += subword; return *ptr; } -void GetWordPhonemes(struct BardSong *song, u16 word) +// Assumes that 'soundTemplates' has already been loaded with the BardSoundTemplates for the easy chat word to calculate sounds for. +// 'pitchTableIndex' is chosen depending on the easy chat word, but is essentially an arbitrary value 0-4. +void CalcWordSounds(struct BardSong *song, u16 pitchTableIndex) { int i; - const struct BardSound *sound; + const struct BardSoundTemplate *template; song->length = 0; - for (i = 0; i < 6; i ++) + + for (i = 0; i < MAX_BARD_SOUNDS_PER_WORD; i ++) { - sound = &song->sound[i]; - if (sound->songLengthId != 0xFF) + template = &song->soundTemplates[i]; + if (template->songId != PHONEME_ID_NONE) { - song->phonemes[i].length = sound->songLengthOffset + gBardSoundLengthTable[sound->songLengthId]; - song->phonemes[i].pitch = CalcWordPitch(word + 30, i); - song->length += song->phonemes[i].length; + // Calculate the length and pitch of each phoneme in this word. + // A phoneme's length is always the same, and depends on the phoneme song and any adjustments in the template. + // Its pitch changes depending on the easy chat word and where in the list of templates the phoneme appears. + song->sounds[i].length = template->lengthAdjustment + sPhonemeLengths[template->songId]; + song->sounds[i].pitch = GetWordPitch(pitchTableIndex + BASE_PITCH_TABLE_INDEX, i); + + // Add this phoneme's length to the total sound length for this word. + song->length += song->sounds[i].length; } } - song->currPhoneme = 0; + song->soundIndex = 0; song->voiceInflection = 0; } diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index d8a9760ff2..6fd3cdad8e 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -344,7 +344,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) gBattleResources->AI_ScriptsStack->size = 0; sBattler_AI = gActiveBattler; - // Decide a random target battlerId in doubles. + // Decide a random target battler in doubles. if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { gBattlerTarget = (Random() & BIT_FLANK) + BATTLE_OPPOSITE(GetBattlerSide(gActiveBattler)); @@ -632,32 +632,32 @@ static void RecordLastUsedMoveByTarget(void) } } -void ClearBattlerMoveHistory(u8 battlerId) +void ClearBattlerMoveHistory(u8 battler) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) - BATTLE_HISTORY->usedMoves[battlerId].moves[i] = MOVE_NONE; + BATTLE_HISTORY->usedMoves[battler].moves[i] = MOVE_NONE; } -void RecordAbilityBattle(u8 battlerId, u8 abilityId) +void RecordAbilityBattle(u8 battler, u8 abilityId) { - BATTLE_HISTORY->abilities[battlerId] = abilityId; + BATTLE_HISTORY->abilities[battler] = abilityId; } -void ClearBattlerAbilityHistory(u8 battlerId) +void ClearBattlerAbilityHistory(u8 battler) { - BATTLE_HISTORY->abilities[battlerId] = ABILITY_NONE; + BATTLE_HISTORY->abilities[battler] = ABILITY_NONE; } -void RecordItemEffectBattle(u8 battlerId, u8 itemEffect) +void RecordItemEffectBattle(u8 battler, u8 itemEffect) { - BATTLE_HISTORY->itemEffects[battlerId] = itemEffect; + BATTLE_HISTORY->itemEffects[battler] = itemEffect; } -void ClearBattlerItemEffectHistory(u8 battlerId) +void ClearBattlerItemEffectHistory(u8 battler) { - BATTLE_HISTORY->itemEffects[battlerId] = 0; + BATTLE_HISTORY->itemEffects[battler] = 0; } static void Cmd_if_random_less_than(void) @@ -712,14 +712,14 @@ static void Cmd_score(void) static void Cmd_if_hp_less_than(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) < gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) < gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -727,14 +727,14 @@ static void Cmd_if_hp_less_than(void) static void Cmd_if_hp_more_than(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) > gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) > gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -742,14 +742,14 @@ static void Cmd_if_hp_more_than(void) static void Cmd_if_hp_equal(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) == gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) == gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -757,14 +757,14 @@ static void Cmd_if_hp_equal(void) static void Cmd_if_hp_not_equal(void) { - u16 battlerId; + u16 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) != gAIScriptPtr[2]) + if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) != gAIScriptPtr[2]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -772,17 +772,17 @@ static void Cmd_if_hp_not_equal(void) static void Cmd_if_status(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (gBattleMons[battlerId].status1 & status) + if (gBattleMons[battler].status1 & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -790,17 +790,17 @@ static void Cmd_if_status(void) static void Cmd_if_not_status(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (!(gBattleMons[battlerId].status1 & status)) + if (!(gBattleMons[battler].status1 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -808,17 +808,17 @@ static void Cmd_if_not_status(void) static void Cmd_if_status2(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status2 & status)) + if ((gBattleMons[battler].status2 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -826,17 +826,17 @@ static void Cmd_if_status2(void) static void Cmd_if_not_status2(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (!(gBattleMons[battlerId].status2 & status)) + if (!(gBattleMons[battler].status2 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -844,17 +844,17 @@ static void Cmd_if_not_status2(void) static void Cmd_if_status3(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (gStatuses3[battlerId] & status) + if (gStatuses3[battler] & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -862,17 +862,17 @@ static void Cmd_if_status3(void) static void Cmd_if_not_status3(void) { - u16 battlerId; + u16 battler; u32 status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; status = T1_READ_32(gAIScriptPtr + 2); - if (!(gStatuses3[battlerId] & status)) + if (!(gStatuses3[battler] & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -880,15 +880,15 @@ static void Cmd_if_not_status3(void) static void Cmd_if_side_affecting(void) { - u16 battlerId; + u16 battler; u32 side, status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - side = GET_BATTLER_SIDE(battlerId); + side = GET_BATTLER_SIDE(battler); status = T1_READ_32(gAIScriptPtr + 2); if (gSideStatuses[side] & status) @@ -899,15 +899,15 @@ static void Cmd_if_side_affecting(void) static void Cmd_if_not_side_affecting(void) { - u16 battlerId; + u16 battler; u32 side, status; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - side = GET_BATTLER_SIDE(battlerId); + side = GET_BATTLER_SIDE(battler); status = T1_READ_32(gAIScriptPtr + 2); if (!(gSideStatuses[side] & status)) @@ -1119,16 +1119,16 @@ static void Cmd_get_type(void) switch (typeVar) { case AI_TYPE1_USER: // AI user primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].types[0]; break; case AI_TYPE1_TARGET: // target primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].types[0]; break; case AI_TYPE2_USER: // AI user secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[sBattler_AI].types[1]; break; case AI_TYPE2_TARGET: // target secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].types[1]; break; case AI_TYPE_MOVE: // type of move being pointed to AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type; @@ -1155,9 +1155,9 @@ static u8 BattleAI_GetWantedBattler(u8 wantedBattler) static void Cmd_is_of_type(void) { - u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (IS_BATTLER_OF_TYPE(battlerId, gAIScriptPtr[2])) + if (IS_BATTLER_OF_TYPE(battler, gAIScriptPtr[2])) AI_THINKING_STRUCT->funcResult = TRUE; else AI_THINKING_STRUCT->funcResult = FALSE; @@ -1291,7 +1291,7 @@ static void Cmd_nop_2B(void) static void Cmd_count_usable_party_mons(void) { - u8 battlerId; + u8 battler; u8 battlerOnField1, battlerOnField2; struct Pokemon *party; s32 i; @@ -1299,11 +1299,11 @@ static void Cmd_count_usable_party_mons(void) AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1311,14 +1311,14 @@ static void Cmd_count_usable_party_mons(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 position; - battlerOnField1 = gBattlerPartyIndexes[battlerId]; - position = BATTLE_PARTNER(GetBattlerPosition(battlerId)); + battlerOnField1 = gBattlerPartyIndexes[battler]; + position = BATTLE_PARTNER(GetBattlerPosition(battler)); battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)]; } - else // In singles there's only one battlerId by side. + else // In singles there's only one battler by side. { - battlerOnField1 = gBattlerPartyIndexes[battlerId]; - battlerOnField2 = gBattlerPartyIndexes[battlerId]; + battlerOnField1 = gBattlerPartyIndexes[battler]; + battlerOnField2 = gBattlerPartyIndexes[battler]; } for (i = 0; i < PARTY_SIZE; i++) @@ -1349,56 +1349,56 @@ static void Cmd_get_considered_move_effect(void) static void Cmd_get_ability(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gActiveBattler != battlerId) + if (gActiveBattler != battler) { - if (BATTLE_HISTORY->abilities[battlerId] != 0) + if (BATTLE_HISTORY->abilities[battler] != 0) { - AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[battlerId]; + AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[battler]; gAIScriptPtr += 2; return; } // abilities that prevent fleeing. - if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG - || gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL - || gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP) + if (gBattleMons[battler].ability == ABILITY_SHADOW_TAG + || gBattleMons[battler].ability == ABILITY_MAGNET_PULL + || gBattleMons[battler].ability == ABILITY_ARENA_TRAP) { - AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[battler].ability; gAIScriptPtr += 2; return; } - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != ABILITY_NONE) { - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[1] != ABILITY_NONE) { // AI has no knowledge of opponent, so it guesses which ability. if (Random() & 1) - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; else - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; } else { - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; // It's definitely ability 1. + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; // It's definitely ability 1. } } else { - AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. + AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1. } } else { // The AI knows its own ability. - AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability; + AI_THINKING_STRUCT->funcResult = gBattleMons[battler].ability; } gAIScriptPtr += 2; @@ -1406,32 +1406,32 @@ static void Cmd_get_ability(void) static void Cmd_check_ability(void) { - u32 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u32 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u32 ability = gAIScriptPtr[2]; if (gAIScriptPtr[1] == AI_TARGET || gAIScriptPtr[1] == AI_TARGET_PARTNER) { - if (BATTLE_HISTORY->abilities[battlerId] != ABILITY_NONE) + if (BATTLE_HISTORY->abilities[battler] != ABILITY_NONE) { - ability = BATTLE_HISTORY->abilities[battlerId]; + ability = BATTLE_HISTORY->abilities[battler]; AI_THINKING_STRUCT->funcResult = ability; } // Abilities that prevent fleeing. - else if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG - || gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL - || gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP) + else if (gBattleMons[battler].ability == ABILITY_SHADOW_TAG + || gBattleMons[battler].ability == ABILITY_MAGNET_PULL + || gBattleMons[battler].ability == ABILITY_ARENA_TRAP) { - ability = gBattleMons[battlerId].ability; + ability = gBattleMons[battler].ability; } - else if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) + else if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != ABILITY_NONE) { - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[1] != ABILITY_NONE) { u8 abilityDummyVariable = ability; // Needed to match. - if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != abilityDummyVariable - && gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != abilityDummyVariable) + if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != abilityDummyVariable + && gSpeciesInfo[gBattleMons[battler].species].abilities[1] != abilityDummyVariable) { - ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; + ability = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; } else { @@ -1440,26 +1440,26 @@ static void Cmd_check_ability(void) } else { - ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; + ability = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; } } else { - ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. + ability = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1. } } else { // The AI knows its own or partner's ability. - ability = gBattleMons[battlerId].ability; + ability = gBattleMons[battler].ability; } if (ability == 0) AI_THINKING_STRUCT->funcResult = 2; // Unable to answer. else if (ability == gAIScriptPtr[2]) - AI_THINKING_STRUCT->funcResult = 1; // Pokemon has the ability we wanted to check. + AI_THINKING_STRUCT->funcResult = 1; // Pokémon has the ability we wanted to check. else - AI_THINKING_STRUCT->funcResult = 0; // Pokemon doesn't have the ability we wanted to check. + AI_THINKING_STRUCT->funcResult = 0; // Pokémon doesn't have the ability we wanted to check. gAIScriptPtr += 3; } @@ -1527,7 +1527,7 @@ static void Cmd_if_type_effectiveness(void) // TypeCalc does not assign to gMoveResultFlags, Cmd_typecalc does // This makes the check for gMoveResultFlags below always fail - // This is how you get the "dual non-immunity" glitch, where AI + // This is how you get the "dual non-immunity" glitch, where AI // will use ineffective moves on immune pokémon if the second type // has a non-neutral, non-immune effectiveness #ifdef BUGFIX @@ -1570,19 +1570,19 @@ static void Cmd_if_status_in_party(void) struct Pokemon *party; s32 i; u32 statusToCompareTo; - u8 battlerId; + u8 battler; switch (gAIScriptPtr[1]) { case AI_USER: - battlerId = sBattler_AI; + battler = sBattler_AI; break; default: - battlerId = gBattlerTarget; + battler = gBattlerTarget; break; } - party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + party = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); @@ -1607,19 +1607,19 @@ static void Cmd_if_status_not_in_party(void) struct Pokemon *party; s32 i; u32 statusToCompareTo; - u8 battlerId; + u8 battler; switch(gAIScriptPtr[1]) { case 1: - battlerId = sBattler_AI; + battler = sBattler_AI; break; default: - battlerId = gBattlerTarget; + battler = gBattlerTarget; break; } - party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + party = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); @@ -1673,14 +1673,14 @@ static void Cmd_if_not_effect(void) static void Cmd_if_stat_level_less_than(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1688,14 +1688,14 @@ static void Cmd_if_stat_level_less_than(void) static void Cmd_if_stat_level_more_than(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1703,14 +1703,14 @@ static void Cmd_if_stat_level_more_than(void) static void Cmd_if_stat_level_equal(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1718,14 +1718,14 @@ static void Cmd_if_stat_level_equal(void) static void Cmd_if_stat_level_not_equal(void) { - u32 battlerId; + u32 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) + if (gBattleMons[battler].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; @@ -1951,16 +1951,16 @@ static void Cmd_if_doesnt_have_move_with_effect(void) static void Cmd_if_any_move_disabled_or_encored(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; if (gAIScriptPtr[2] == 0) { - if (gDisableStructs[battlerId].disabledMove == MOVE_NONE) + if (gDisableStructs[battler].disabledMove == MOVE_NONE) gAIScriptPtr += 7; else gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -1971,7 +1971,7 @@ static void Cmd_if_any_move_disabled_or_encored(void) } else { - if (gDisableStructs[battlerId].encoredMove != MOVE_NONE) + if (gDisableStructs[battler].encoredMove != MOVE_NONE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; @@ -2022,31 +2022,31 @@ static void Cmd_watch(void) static void Cmd_get_hold_effect(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - if (gActiveBattler != battlerId) - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[battlerId]); + if (gActiveBattler != battler) + AI_THINKING_STRUCT->funcResult = GetItemHoldEffect(BATTLE_HISTORY->itemEffects[battler]); else - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[battlerId].item); + AI_THINKING_STRUCT->funcResult = GetItemHoldEffect(gBattleMons[battler].item); gAIScriptPtr += 2; } static void Cmd_if_holds_item(void) { - u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u16 item; u8 itemLo, itemHi; - if ((battlerId & BIT_SIDE) == (sBattler_AI & BIT_SIDE)) - item = gBattleMons[battlerId].item; + if ((battler & BIT_SIDE) == (sBattler_AI & BIT_SIDE)) + item = gBattleMons[battler].item; else - item = BATTLE_HISTORY->itemEffects[battlerId]; + item = BATTLE_HISTORY->itemEffects[battler]; itemHi = gAIScriptPtr[2]; itemLo = gAIScriptPtr[3]; @@ -2066,42 +2066,42 @@ static void Cmd_if_holds_item(void) static void Cmd_get_gender(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[battlerId].species, gBattleMons[battlerId].personality); + AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[battler].species, gBattleMons[battler].personality); gAIScriptPtr += 2; } static void Cmd_is_first_turn_for(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].isFirstTurn; + AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].isFirstTurn; gAIScriptPtr += 2; } static void Cmd_get_stockpile_count(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].stockpileCounter; + AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].stockpileCounter; gAIScriptPtr += 2; } @@ -2115,14 +2115,14 @@ static void Cmd_is_double_battle(void) static void Cmd_get_used_held_item(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = *(u8 *)&gBattleStruct->usedHeldItems[battlerId]; + AI_THINKING_STRUCT->funcResult = *(u8 *)&gBattleStruct->usedHeldItems[battler]; gAIScriptPtr += 2; } @@ -2150,14 +2150,14 @@ static void Cmd_get_move_effect_from_result(void) static void Cmd_get_protect_count(void) { - u8 battlerId; + u8 battler; if (gAIScriptPtr[1] == AI_USER) - battlerId = sBattler_AI; + battler = sBattler_AI; else - battlerId = gBattlerTarget; + battler = gBattlerTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].protectUses; + AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].protectUses; gAIScriptPtr += 2; } @@ -2254,9 +2254,9 @@ static void Cmd_if_target_is_ally(void) static void Cmd_if_flash_fired(void) { - u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); + u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE) + if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 06cdd6c82f..2e76b418a9 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -23,7 +23,7 @@ static bool8 ShouldSwitchIfPerishSong(void) && gDisableStructs[gActiveBattler].perishSongTimer == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else @@ -51,7 +51,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) if (gBattleMons[GetBattlerAtPosition(opposingPosition)].ability != ABILITY_WONDER_GUARD) return FALSE; - // Check if Pokemon has a super effective move. + // Check if Pokémon has a super effective move. for (opposingBattler = GetBattlerAtPosition(opposingPosition), i = 0; i < MAX_MON_MOVES; i++) { move = gBattleMons[gActiveBattler].moves[i]; @@ -81,7 +81,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) else party = gEnemyParty; - // Find a Pokemon in the party that has a super effective move. + // Find a Pokémon in the party that has a super effective move. for (i = firstId; i < lastId; i++) { if (GetMonData(&party[i], MON_DATA_HP) == 0) @@ -107,13 +107,13 @@ static bool8 ShouldSwitchIfWonderGuard(void) { // We found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } } - return FALSE; // There is not a single Pokemon in the party that has a super effective move against a mon with Wonder Guard. + return FALSE; // There is not a single Pokémon in the party that has a super effective move against a mon with Wonder Guard. } static bool8 FindMonThatAbsorbsOpponentsMove(void) @@ -207,7 +207,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) { // we found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -229,14 +229,14 @@ static bool8 ShouldSwitchIfNaturalCure(void) && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -248,7 +248,7 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } @@ -416,7 +416,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); return TRUE; } } @@ -599,7 +599,7 @@ void AI_TrySwitchOrUseItem(void) } } - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); } static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var) @@ -706,8 +706,8 @@ u8 GetMostSuitableMonToSwitchInto(void) u8 type1 = gSpeciesInfo[species].types[0]; u8 type2 = gSpeciesInfo[species].types[1]; u8 typeDmg = TYPE_MUL_NORMAL; - ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type1, type1, type2, &typeDmg); - ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type2, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].types[0], type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].types[1], type1, type2, &typeDmg); /* Possible bug: this comparison gives the type that takes the most damage, when a "good" AI would want to select the type that takes the least damage. Unknown if this @@ -933,7 +933,7 @@ static bool8 ShouldUseItem(void) if (shouldUse) { - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item; gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE; return shouldUse; diff --git a/src/battle_anim.c b/src/battle_anim.c index e6e049c370..fb2817af99 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -115,7 +115,7 @@ EWRAM_DATA u8 gAnimCustomPanning = 0; #include "data/battle_anim.h" -static void (* const sScriptCmdTable[])(void) = +static void (*const sScriptCmdTable[])(void) = { Cmd_loadspritegfx, // 0x00 Cmd_unloadspritegfx, // 0x01 @@ -592,30 +592,30 @@ static void Cmd_monbg(void) { bool8 toBG_2; u8 taskId; - u8 battlerId; + u8 battler; u8 animBattler; sBattleAnimScriptPtr++; animBattler = sBattleAnimScriptPtr[0]; if (animBattler & ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Move designated battler to background - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); taskId = CreateTask(Task_InitUpdateMonBg, 10); gAnimVisualTaskCount++; - gTasks[taskId].tBattlerId = battlerId; + gTasks[taskId].tBattlerId = battler; gTasks[taskId].tInBg2 = toBG_2; gTasks[taskId].tActive = TRUE; gTasks[taskId].tIsPartner = FALSE; @@ -623,19 +623,19 @@ static void Cmd_monbg(void) } // Move battler's partner to background - battlerId ^= BIT_FLANK; - if (IsBattlerSpriteVisible(battlerId)) + battler ^= BIT_FLANK; + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); taskId = CreateTask(Task_InitUpdateMonBg, 10); gAnimVisualTaskCount++; - gTasks[taskId].tBattlerId = battlerId; + gTasks[taskId].tBattlerId = battler; gTasks[taskId].tInBg2 = toBG_2; gTasks[taskId].tActive = TRUE; gTasks[taskId].tIsPartner = TRUE; @@ -646,26 +646,26 @@ static void Cmd_monbg(void) gAnimScriptCallback = WaitAnimFrameCount; } -bool8 IsBattlerSpriteVisible(u8 battlerId) +bool8 IsBattlerSpriteVisible(u8 battler) { if (IsContest()) { - if (battlerId == gBattleAnimAttacker) + if (battler == gBattleAnimAttacker) return TRUE; else return FALSE; } - if (!IsBattlerSpritePresent(battlerId)) + if (!IsBattlerSpritePresent(battler)) return FALSE; if (IsContest()) return TRUE; // This line won't ever be reached. - if (!gBattleSpritesDataPtr->battlerData[battlerId].invisible || !gSprites[gBattlerSpriteIds[battlerId]].invisible) + if (!gBattleSpritesDataPtr->battlerData[battler].invisible || !gSprites[gBattlerSpriteIds[battler]].invisible) return TRUE; return FALSE; } -void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) +void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible) { struct BattleAnimBgData animBg; u8 battlerSpriteId; @@ -693,7 +693,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0); - battlerSpriteId = gBattlerSpriteIds[battlerId]; + battlerSpriteId = gBattlerSpriteIds[battler]; gBattle_BG1_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20; if (IsContest() && IsSpeciesNotUnown(gContestResources->moveAnim->species)) @@ -701,18 +701,18 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) gBattle_BG1_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP); if (IsContest()) battlerPosition = 0; else - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); DrawBattlerOnBg(1, 0, 0, battlerPosition, animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset); @@ -730,21 +730,21 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible) SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0); - battlerSpriteId = gBattlerSpriteIds[battlerId]; + battlerSpriteId = gBattlerSpriteIds[battler]; gBattle_BG2_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20; gBattle_BG2_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20; if (setSpriteInvisible) - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X); SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y); - LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); - CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); + LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(9), PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP); - DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); + DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battler), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset); } } @@ -812,12 +812,12 @@ void ResetBattleAnimBg(bool8 toBG2) static void Task_UpdateMonBg(u8 taskId) { - u8 spriteId, battlerId; + u8 spriteId, battler; s16 x, y; struct BattleAnimBgData animBg; spriteId = gTasks[taskId].t2_SpriteId; - battlerId = gTasks[taskId].t2_BattlerId; + battler = gTasks[taskId].t2_BattlerId; GetBattleAnimBg1Data(&animBg); x = gTasks[taskId].t2_SpriteX - (gSprites[spriteId].x + gSprites[spriteId].x2); y = gTasks[taskId].t2_SpriteY - (gSprites[spriteId].y + gSprites[spriteId].y2); @@ -826,13 +826,13 @@ static void Task_UpdateMonBg(u8 taskId) { gBattle_BG1_X = x + gTasks[taskId].t2_BgX; gBattle_BG1_Y = y + gTasks[taskId].t2_BgY; - CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP); } else { gBattle_BG2_X = x + gTasks[taskId].t2_BgX; gBattle_BG2_Y = y + gTasks[taskId].t2_BgY; - CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); + CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP); } } @@ -852,7 +852,7 @@ static void Task_UpdateMonBg(u8 taskId) static void Cmd_clearmonbg(void) { u8 animBattlerId; - u8 battlerId; + u8 battler; u8 taskId; sBattleAnimScriptPtr++; @@ -864,20 +864,20 @@ static void Cmd_clearmonbg(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; if (sMonAnimTaskIdArray[0] != TASK_NONE) - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != TASK_NONE) - gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE; else animBattlerId = 0; taskId = CreateTask(Task_ClearMonBg, 5); gTasks[taskId].data[0] = animBattlerId; - gTasks[taskId].data[2] = battlerId; + gTasks[taskId].data[2] = battler; sBattleAnimScriptPtr++; } @@ -914,7 +914,7 @@ static void Task_ClearMonBg(u8 taskId) static void Cmd_monbg_static(void) { bool8 toBG_2; - u8 battlerId; + u8 battler; u8 animBattlerId; sBattleAnimScriptPtr++; @@ -927,31 +927,31 @@ static void Cmd_monbg_static(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); } - battlerId ^= BIT_FLANK; - if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId)) + battler ^= BIT_FLANK; + if (animBattlerId > 1 && IsBattlerSpriteVisible(battler)) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE); + MoveBattlerSpriteToBG(battler, toBG_2, FALSE); } sBattleAnimScriptPtr++; @@ -960,7 +960,7 @@ static void Cmd_monbg_static(void) static void Cmd_clearmonbg_static(void) { u8 animBattlerId; - u8 battlerId; + u8 battler; u8 taskId; sBattleAnimScriptPtr++; @@ -972,20 +972,20 @@ static void Cmd_clearmonbg_static(void) animBattlerId = ANIM_DEF_PARTNER; if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - if (IsBattlerSpriteVisible(battlerId)) - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; - if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) - gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE; + if (IsBattlerSpriteVisible(battler)) + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; + if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE; else animBattlerId = 0; taskId = CreateTask(Task_ClearMonBgStatic, 5); gTasks[taskId].data[0] = animBattlerId; - gTasks[taskId].data[2] = battlerId; + gTasks[taskId].data[2] = battler; sBattleAnimScriptPtr++; } @@ -996,16 +996,16 @@ static void Task_ClearMonBgStatic(u8 taskId) if (gTasks[taskId].data[1] != 1) { bool8 toBG_2; - u8 battlerId = gTasks[taskId].data[2]; - u8 position = GetBattlerPosition(battlerId); + u8 battler = gTasks[taskId].data[2]; + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) toBG_2 = FALSE; else toBG_2 = TRUE; - if (IsBattlerSpriteVisible(battlerId)) + if (IsBattlerSpriteVisible(battler)) ResetBattleAnimBg(toBG_2); - if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId))) + if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) ResetBattleAnimBg(toBG_2 ^ 1); DestroyTask(taskId); @@ -1687,19 +1687,19 @@ static void Cmd_jumpifcontest(void) static void Cmd_splitbgprio(void) { u8 wantedBattler; - u8 battlerId; + u8 battler; u8 battlerPosition; wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (wantedBattler != ANIM_ATTACKER) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Apply only if the given battler is the lead (on left from team's perspective) - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); @@ -1721,7 +1721,7 @@ static void Cmd_splitbgprio_foes(void) { u8 wantedBattler; u8 battlerPosition; - u8 battlerId; + u8 battler; wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; @@ -1730,12 +1730,12 @@ static void Cmd_splitbgprio_foes(void) if (GetBattlerSide(gBattleAnimAttacker) != GetBattlerSide(gBattleAnimTarget)) { if (wantedBattler != ANIM_ATTACKER) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; // Apply only if the given battler is the lead (on left from team's perspective) - battlerPosition = GetBattlerPosition(battlerId); + battlerPosition = GetBattlerPosition(battler); if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT)) { SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 3a558969b5..c2894894b6 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3082,20 +3082,18 @@ static void AnimPresent(struct Sprite *sprite) static void AnimKnockOffOpponentsItem(struct Sprite *sprite) { - int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); - zero = 0; if (sprite->data[0] > 0x7F) { sprite->data[1]++; - sprite->data[0] = zero; + sprite->data[0] = 0; } sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); if (moveAlongLinearPath(sprite)) { - sprite->y2 = zero; - sprite->data[0] = zero; + sprite->y2 = 0; + sprite->data[0] = 0; DestroyAnimSprite(sprite); } } @@ -3173,13 +3171,11 @@ static void AnimItemSteal(struct Sprite *sprite) static void AnimItemSteal_Step3(struct Sprite *sprite) { - int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); - zero = 0; if (sprite->data[0] > 127) { sprite->data[1]++; - sprite->data[0] = zero; + sprite->data[0] = 0; } sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8); @@ -4043,7 +4039,9 @@ static void AnimMilkBottle_Step1(struct Sprite *sprite) sprite->data[6]++; } else if (sprite->data[7] > 0) + { sprite->data[7]--; + } SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); if (sprite->data[6] == 16 && sprite->data[7] == 0) diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c old mode 100755 new mode 100644 index d26e0ba4c7..bf7e774f6b --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -2209,7 +2209,9 @@ static void AnimTask_Splash_Step(u8 taskId) task->data[4] -= 2; } else + { task->data[1]++; + } break; case 3: if (!RunAffineAnimFromTaskData(task)) @@ -2956,7 +2958,9 @@ static void AnimTask_SpeedDust_Step(u8 taskId) task->data[8] = 1; } else + { task->data[8] = 2; + } } } break; @@ -3673,7 +3677,6 @@ static void AnimTask_UproarDistortion_Step(u8 taskId) static void AnimJaggedMusicNote(struct Sprite *sprite) { - int var1; u8 battler = !gBattleAnimArgs[0] ? gBattleAnimAttacker : gBattleAnimTarget; if (GetBattlerSide(battler) == B_SIDE_OPPONENT) @@ -3684,16 +3687,8 @@ static void AnimJaggedMusicNote(struct Sprite *sprite) sprite->data[0] = 0; sprite->data[1] = (u16)sprite->x << 3; sprite->data[2] = (u16)sprite->y << 3; - - var1 = gBattleAnimArgs[1] << 3; - if (var1 < 0) - var1 += 7; - sprite->data[3] = var1 >> 3; - - var1 = gBattleAnimArgs[2] << 3; - if (var1 < 0) - var1 += 7; - sprite->data[4] = var1 >> 3; + sprite->data[3] = (gBattleAnimArgs[1] << 3) / 8; + sprite->data[4] = (gBattleAnimArgs[2] << 3) / 8; sprite->oam.tileNum += gBattleAnimArgs[3] * 16; sprite->callback = AnimJaggedMusicNote_Step; diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c index b6a82b8d9a..cc36e608f8 100644 --- a/src/battle_anim_electric.c +++ b/src/battle_anim_electric.c @@ -597,7 +597,9 @@ static void AnimZapCannonSpark_Step(struct Sprite *sprite) sprite->invisible ^= 1; } else + { DestroyAnimSprite(sprite); + } } static void AnimThunderboltOrb_Step(struct Sprite *sprite) @@ -870,7 +872,9 @@ static void AnimTask_ElectricChargingParticles_Step(u8 taskId) } } else if(task->data[7] == 0) + { DestroyAnimVisualTask(taskId); + } } static void AnimElectricChargingParticles_Step(struct Sprite *sprite) @@ -991,7 +995,9 @@ void AnimTask_VoltTackleAttackerReappear(u8 taskId) gSprites[task->data[15]].x2 = task->data[14]; } else + { task->data[0]++; + } } break; diff --git a/src/battle_anim_fight.c b/src/battle_anim_fight.c index 764a951ef8..b9cc966ecf 100644 --- a/src/battle_anim_fight.c +++ b/src/battle_anim_fight.c @@ -37,7 +37,7 @@ static void AnimRevengeScratch(struct Sprite *); static void AnimFocusPunchFist(struct Sprite *); static void AnimSpinningKickOrPunchFinish(struct Sprite *); -extern struct SpriteTemplate gBasicHitSplatSpriteTemplate; +extern const struct SpriteTemplate gBasicHitSplatSpriteTemplate; // Unused static const struct SpriteTemplate sUnusedHumanoidFootSpriteTemplate = @@ -493,7 +493,7 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite) y *= -1; if (GET_BATTLER_SIDE2(battler) == B_SIDE_PLAYER) - y += 0xFFF0; + y -= 16; sprite->x += x; sprite->y += y; diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index c5e59a65af..872e136f93 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -900,7 +900,7 @@ static void AnimUnusedBubbleThrow(struct Sprite *sprite) sprite->callback = TranslateAnimSpriteToTargetMonLocation; } -static void AnimWhirlwindLine(struct Sprite * sprite) +static void AnimWhirlwindLine(struct Sprite *sprite) { u16 offset; u8 mult; diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index fed1325bc3..6cb7da5c20 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -280,7 +280,9 @@ static void AnimConfuseRayBallBounce_Step2(struct Sprite *sprite) sprite->callback = DestroyAnimSpriteAndDisableBlend; } else + { UpdateConfuseRayBallBlend(sprite); + } } static void UpdateConfuseRayBallBlend(struct Sprite *sprite) @@ -628,11 +630,13 @@ static void AnimTask_SpiteTargetShadow_Step1(u8 taskId) task->data[3] = 16; task->data[13] = GetAnimBattlerSpriteId(ANIM_TARGET); task->data[4] = OBJ_PLTT_ID2(gSprites[task->data[13]].oam.paletteNum); - if (position == 1) { + if (position == 1) + { u16 mask = DISPCNT_BG1_ON; mask2 = mask; } - else { + else + { u16 mask = DISPCNT_BG2_ON; mask2 = mask; } diff --git a/src/battle_anim_ground.c b/src/battle_anim_ground.c index d6d8137bcd..b3591544ec 100644 --- a/src/battle_anim_ground.c +++ b/src/battle_anim_ground.c @@ -22,7 +22,7 @@ static void AnimTask_DigEndBounceMovementSetInvisible(u8); static void AnimTask_DigSetVisibleUnderground(u8); static void AnimTask_DigRiseUpFromHole(u8); static void SetDigScanlineEffect(u8, s16, s16); -static void AnimTask_ShakeTerrain(u8); +static void AnimTask_ShakePlatforms(u8); static void AnimTask_ShakeBattlers(u8); static void SetBattlersXOffsetForShake(struct Task *); static void WaitForFissureCompletion(u8); @@ -564,12 +564,12 @@ static void AnimDigDirtMound(struct Sprite *sprite) #define tMaxTime data[3] #define tbattlerSpriteIds(i) data[9 + (i)] #define tNumBattlers data[13] // AnimTask_ShakeBattlers -#define tInitialX data[13] // AnimTask_ShakeTerrain +#define tInitialX data[13] // AnimTask_ShakePlatforms #define tHorizOffset data[14] #define tInitHorizOffset data[15] -// Shakes battler(s) or the battle terrain back and forth horizontally. Used by e.g. Earthquake, Eruption -// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the terrain +// Shakes battler(s) or the battle platforms back and forth horizontally. Used by e.g. Earthquake, Eruption +// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the platforms // arg1: Shake intensity, used to calculate horizontal pixel offset (if 0, use move power instead) // arg2: Length of time to shake for void AnimTask_HorizontalShake(u8 taskId) @@ -585,9 +585,9 @@ void AnimTask_HorizontalShake(u8 taskId) task->tMaxTime = gBattleAnimArgs[2]; switch (gBattleAnimArgs[0]) { - case MAX_BATTLERS_COUNT + 1: // Shake terrain + case MAX_BATTLERS_COUNT + 1: // Shake platforms task->tInitialX = gBattle_BG3_X; - task->func = AnimTask_ShakeTerrain; + task->func = AnimTask_ShakePlatforms; break; case MAX_BATTLERS_COUNT: // Shake all battlers task->tNumBattlers = 0; @@ -616,7 +616,7 @@ void AnimTask_HorizontalShake(u8 taskId) } } -static void AnimTask_ShakeTerrain(u8 taskId) +static void AnimTask_ShakePlatforms(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 273721e162..6b48215a7a 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -13,11 +13,16 @@ #include "constants/battle_anim.h" #include "constants/rgb.h" +enum { + HAILSTRUCTTYPE_NEGATIVE_POS_MOD = 0, + HAILSTRUCTTYPE_POSITIVE_POS_MOD = 1, + HAILSTRUCTTYPE_FIXED_POSITION = 2, +}; struct HailStruct { s32 x:10; s32 y:10; s32 bPosition:8; - s32 unk3:4; + s32 type:4; }; static void AnimUnusedIceCrystalThrow(struct Sprite *); @@ -371,16 +376,16 @@ const struct SpriteTemplate gPoisonGasCloudSpriteTemplate = static const struct HailStruct sHailCoordData[] = { - {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, - {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0}, - {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1}, - {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1}, - {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0}, - {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2}, - {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0}, - {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1}, - {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1}, - {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0}, + {.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION}, + {.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION}, + {.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, + {.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD}, + {.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD}, }; static const union AffineAnimCmd sAffineAnim_HailParticle_0[] = @@ -1332,6 +1337,13 @@ static void MovePoisonGasCloud(struct Sprite *sprite) } } +#define tState data[0] +#define tSpriteCount data[1] +#define tHailAffineAnimNum data[2] +#define tHailStructId data[3] +#define tInitialDelayTimer data[4] +#define tHailSpawnTimer data[5] + void AnimTask_Hail(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -1342,71 +1354,86 @@ void AnimTask_Hail(u8 taskId) static void AnimTask_Hail2(u8 taskId) { struct Task *task = &gTasks[taskId]; - switch (task->data[0]) + switch (task->tState) { case 0: - if (++task->data[4] > 2) + if (++task->tInitialDelayTimer > 2) { - task->data[4] = 0; - task->data[5] = 0; - task->data[2] = 0; - task->data[0]++; + task->tInitialDelayTimer = 0; + task->tHailSpawnTimer = 0; + task->tHailAffineAnimNum = 0; + task->tState++; } break; case 1: - if (task->data[5] == 0) + if (task->tHailSpawnTimer == 0) { - if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1)) - task->data[1]++; + if (GenerateHailParticle(task->tHailStructId, task->tHailAffineAnimNum, taskId, 1)) + task->tSpriteCount++; - if (++task->data[2] == 3) + if (++task->tHailAffineAnimNum == (int)ARRAY_COUNT(sAffineAnims_HailParticle)) { - if (++task->data[3] == 10) - task->data[0]++; + if (++task->tHailStructId == (int)ARRAY_COUNT(sHailCoordData)) + task->tState++; else - task->data[0]--; + task->tState--; } else { - task->data[5] = 1; + task->tHailSpawnTimer = 1; } } else { - task->data[5]--; + task->tHailSpawnTimer--; } break; case 2: - if (task->data[1] == 0) + if (task->tSpriteCount == 0) DestroyAnimVisualTask(taskId); break; } } +#undef tState +#undef tSpriteCount +#undef tHailAffineAnimNum +#undef tHailStructId +#undef tInitialDelayTimer +#undef tHailSpawnTimer + +// Hail falling particle sprite vars +#define sSpawnImpactEffect data[0] +#define sTargetX data[3] +#define sTargetY data[4] +#define sAffineAnimNum data[5] +#define sOwnerTaskId data[6] +#define sOwnerTaskSpriteCountField data[7] + static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c) { u8 id; s16 battlerX, battlerY; s16 spriteX; - bool8 possibleBool = FALSE; - s8 unk = sHailCoordData[hailStructId].unk3; + bool8 shouldSpawnImpactEffect = FALSE; + s8 type = sHailCoordData[hailStructId].type; - if (unk != 2) + if (type != HAILSTRUCTTYPE_FIXED_POSITION) { id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition); if (IsBattlerSpriteVisible(id)) { - possibleBool = TRUE; + shouldSpawnImpactEffect = TRUE; battlerX = GetBattlerSpriteCoord(id, BATTLER_COORD_X_2); battlerY = GetBattlerSpriteCoord(id, BATTLER_COORD_Y_PIC_OFFSET); - switch (unk) + switch (type) { - case 0: + case HAILSTRUCTTYPE_NEGATIVE_POS_MOD: battlerX -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; battlerY -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; break; - case 1: + case HAILSTRUCTTYPE_POSITIVE_POS_MOD: battlerX += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6; battlerY += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6; break; @@ -1432,12 +1459,12 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, else { StartSpriteAffineAnim(&gSprites[id], affineAnimNum); - gSprites[id].data[0] = possibleBool; - gSprites[id].data[3] = battlerX; - gSprites[id].data[4] = battlerY; - gSprites[id].data[5] = affineAnimNum; - gSprites[id].data[6] = taskId; - gSprites[id].data[7] = c; + gSprites[id].sSpawnImpactEffect = shouldSpawnImpactEffect; + gSprites[id].sTargetX = battlerX; + gSprites[id].sTargetY = battlerY; + gSprites[id].sAffineAnimNum = affineAnimNum; + gSprites[id].sOwnerTaskId = taskId; + gSprites[id].sOwnerTaskSpriteCountField = c; return TRUE; } } @@ -1449,20 +1476,23 @@ static void AnimHailBegin(struct Sprite *sprite) sprite->x += 4; sprite->y += 8; - if (sprite->x < sprite->data[3] && sprite->y < sprite->data[4]) + if (sprite->x < sprite->sTargetX && sprite->y < sprite->sTargetY) return; - if (sprite->data[0] == 1 && sprite->data[5] == 0) + if (sprite->sSpawnImpactEffect == 1 && sprite->sAffineAnimNum == 0) { spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate, - sprite->data[3], sprite->data[4], sprite->subpriority); + sprite->sTargetX, sprite->sTargetY, sprite->subpriority); sprite->data[0] = spriteId; if (spriteId != MAX_SPRITES) { + // The sprite template we're using is shared amongst a few other + // places, which make the sprite flicker. That's not what we want + // here, though. Override the callback. gSprites[sprite->data[0]].callback = AnimHailContinue; - gSprites[sprite->data[0]].data[6] = sprite->data[6]; - gSprites[sprite->data[0]].data[7] = sprite->data[7]; + gSprites[sprite->data[0]].sOwnerTaskId = sprite->sOwnerTaskId; + gSprites[sprite->data[0]].sOwnerTaskSpriteCountField = sprite->sOwnerTaskSpriteCountField; } FreeOamMatrix(sprite->oam.matrixNum); @@ -1470,22 +1500,34 @@ static void AnimHailBegin(struct Sprite *sprite) } else { - gTasks[sprite->data[6]].data[sprite->data[7]]--; + gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } } +#undef sSpawnImpactEffect +#undef sTargetX +#undef sTargetY +#undef sAffineAnimNum + +// Hail impact VFX sprite vars +#define sTimer data[0] + static void AnimHailContinue(struct Sprite *sprite) { - if (++sprite->data[0] == 20) + if (++sprite->sTimer == 20) { - gTasks[sprite->data[6]].data[sprite->data[7]]--; + gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--; FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); } } +#undef sTimer +#undef sOwnerTaskId +#undef sOwnerTaskSpriteCountField + // Initializes the animation for Ice Ball. // arg 0: initial x pixel offset // arg 1: initial y pixel offset diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 247aba1a42..a8a129c201 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -156,7 +156,7 @@ void AnimTask_ShakeMon2(u8 taskId) { u8 spriteId; bool8 abort = FALSE; - u8 battlerId; + u8 battler; if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT) { @@ -169,24 +169,24 @@ void AnimTask_ShakeMon2(u8 taskId) switch (gBattleAnimArgs[0]) { case ANIM_PLAYER_LEFT: - battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; case ANIM_PLAYER_RIGHT: - battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; case ANIM_OPPONENT_LEFT: - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; case ANIM_OPPONENT_RIGHT: default: - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } - if (IsBattlerSpriteVisible(battlerId) == FALSE) + if (IsBattlerSpriteVisible(battler) == FALSE) abort = TRUE; - spriteId = gBattlerSpriteIds[battlerId]; + spriteId = gBattlerSpriteIds[battler]; } else { @@ -535,7 +535,7 @@ static void SlideMonToOriginalPos_Step(struct Sprite *sprite) } // Linearly translates a mon to a target offset. The horizontal offset -// is mirrored for the opponent's pokemon, and the vertical offset +// is mirrored for the opponent's Pokémon, and the vertical offset // is only mirrored if arg 3 is set to 1. // arg 0: 0 = attacker, 1 = target // arg 1: target x pixel offset @@ -578,16 +578,16 @@ static void SlideMonToOffset(struct Sprite *sprite) static void SlideMonToOffsetAndBack(struct Sprite *sprite) { u8 spriteId; - u8 battlerId; + u8 battler; sprite->invisible = TRUE; if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; - spriteId = gBattlerSpriteIds[battlerId]; - if (GetBattlerSide(battlerId)) + spriteId = gBattlerSpriteIds[battler]; + if (GetBattlerSide(battler)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 6dd0d20852..dff3a71fa1 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -77,7 +77,7 @@ static const u8 sCastformBackSpriteYCoords[NUM_CASTFORM_FORMS] = [CASTFORM_ICE] = 0, }; -// Placeholders for pokemon sprites to be created for a move animation effect (e.g. Role Play / Snatch) +// Placeholders for Pokémon sprites to be created for a move animation effect (e.g. Role Play / Snatch) #define TAG_MOVE_EFFECT_MON_1 55125 #define TAG_MOVE_EFFECT_MON_2 55126 @@ -109,7 +109,7 @@ static const struct SpriteSheet sSpriteSheets_MoveEffectMons[] = { gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_2, }, }; -u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) +u8 GetBattlerSpriteCoord(u8 battler, u8 coordType) { u8 retVal; u16 species; @@ -117,7 +117,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) if (IsContest()) { - if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3) + if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battler == 3) coordType = BATTLER_COORD_Y; } @@ -125,10 +125,10 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) { case BATTLER_COORD_X: case BATTLER_COORD_X_2: - retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x; + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].x; break; case BATTLER_COORD_Y: - retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].y; break; case BATTLER_COORD_Y_PIC_OFFSET: case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT: @@ -142,34 +142,34 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) } else { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } } if (coordType == BATTLER_COORD_Y_PIC_OFFSET) - retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + retVal = GetBattlerSpriteFinal_Y(battler, species, TRUE); else - retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + retVal = GetBattlerSpriteFinal_Y(battler, species, FALSE); break; } return retVal; } -u8 GetBattlerYDelta(u8 battlerId, u16 species) +u8 GetBattlerYDelta(u8 battler, u16 species) { u16 letter; u32 personality; @@ -177,7 +177,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) u8 ret; u16 coordSpecies; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest()) + if (GetBattlerSide(battler) == B_SIDE_PLAYER || IsContest()) { if (species == SPECIES_UNOWN) { @@ -191,10 +191,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + if (!spriteInfo[battler].transformSpecies) + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); else - personality = gTransformedPersonalities[battlerId]; + personality = gTransformedPersonalities[battler]; } letter = GET_UNOWN_LETTER(personality); if (!letter) @@ -205,7 +205,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) } else if (species == SPECIES_CASTFORM) { - ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + ret = sCastformBackSpriteYCoords[gBattleMonForms[battler]]; } else if (species > NUM_SPECIES) { @@ -221,10 +221,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) if (species == SPECIES_UNOWN) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + if (!spriteInfo[battler].transformSpecies) + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); else - personality = gTransformedPersonalities[battlerId]; + personality = gTransformedPersonalities[battler]; letter = GET_UNOWN_LETTER(personality); if (!letter) coordSpecies = species; @@ -234,7 +234,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) } else if (species == SPECIES_CASTFORM) { - ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset; + ret = gCastformFrontSpriteCoords[gBattleMonForms[battler]].y_offset; } else if (species > NUM_SPECIES) { @@ -248,15 +248,15 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) return ret; } -u8 GetBattlerElevation(u8 battlerId, u16 species) +u8 GetBattlerElevation(u8 battler, u16 species) { u8 ret = 0; - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { if (!IsContest()) { if (species == SPECIES_CASTFORM) - ret = sCastformElevations[gBattleMonForms[battlerId]]; + ret = sCastformElevations[gBattleMonForms[battler]]; else if (species > NUM_SPECIES) ret = gEnemyMonElevation[0]; else @@ -266,24 +266,24 @@ u8 GetBattlerElevation(u8 battlerId, u16 species) return ret; } -u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) +u8 GetBattlerSpriteFinal_Y(u8 battler, u16 species, bool8 a3) { u16 offset; u8 y; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest()) + if (GetBattlerSide(battler) == B_SIDE_PLAYER || IsContest()) { - offset = GetBattlerYDelta(battlerId, species); + offset = GetBattlerYDelta(battler, species); } else { - offset = GetBattlerYDelta(battlerId, species); - offset -= GetBattlerElevation(battlerId, species); + offset = GetBattlerYDelta(battler, species); + offset -= GetBattlerElevation(battler, species); } - y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].y; if (a3) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) y += 8; if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8) y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8; @@ -291,7 +291,7 @@ u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) return y; } -u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) +u8 GetBattlerSpriteCoord2(u8 battler, u8 coordType) { u16 species; struct BattleSpriteInfo *spriteInfo; @@ -308,64 +308,64 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = gAnimBattlerSpecies[battlerId]; + if (!spriteInfo[battler].transformSpecies) + species = gAnimBattlerSpecies[battler]; else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } if (coordType == BATTLER_COORD_Y_PIC_OFFSET) - return GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + return GetBattlerSpriteFinal_Y(battler, species, TRUE); else - return GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + return GetBattlerSpriteFinal_Y(battler, species, FALSE); } else { - return GetBattlerSpriteCoord(battlerId, coordType); + return GetBattlerSpriteCoord(battler, coordType); } } -u8 GetBattlerSpriteDefault_Y(u8 battlerId) +u8 GetBattlerSpriteDefault_Y(u8 battler) { - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); } -u8 GetSubstituteSpriteDefault_Y(u8 battlerId) +u8 GetSubstituteSpriteDefault_Y(u8 battler) { u16 y; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16; + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 16; else - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17; + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 17; return y; } -u8 GetBattlerYCoordWithElevation(u8 battlerId) +u8 GetBattlerYCoordWithElevation(u8 battler) { u16 species; u8 y; struct BattleSpriteInfo *spriteInfo; - y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y); + y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y); if (!IsContest()) { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (!spriteInfo[battler].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - y -= GetBattlerElevation(battlerId, species); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + y -= GetBattlerElevation(battler, species); } return y; } @@ -846,14 +846,14 @@ void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffse sprite->y += gBattleAnimArgs[1]; } -u8 GetBattlerSide(u8 battlerId) +u8 GetBattlerSide(u8 battler) { - return GET_BATTLER_SIDE2(battlerId); + return GET_BATTLER_SIDE2(battler); } -u8 GetBattlerPosition(u8 battlerId) +u8 GetBattlerPosition(u8 battler) { - return gBattlerPositions[battlerId]; + return gBattlerPositions[battler]; } u8 GetBattlerAtPosition(u8 position) @@ -868,31 +868,31 @@ u8 GetBattlerAtPosition(u8 position) return i; } -bool8 IsBattlerSpritePresent(u8 battlerId) +bool8 IsBattlerSpritePresent(u8 battler) { if (IsContest()) { - if (gBattleAnimAttacker == battlerId) + if (gBattleAnimAttacker == battler) return TRUE; - else if (gBattleAnimTarget == battlerId) + else if (gBattleAnimTarget == battler) return TRUE; else return FALSE; } else { - if (gBattlerPositions[battlerId] == 0xff) + if (gBattlerPositions[battler] == 0xff) { return FALSE; } - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) != 0) return TRUE; } else { - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) != 0) return TRUE; } } @@ -956,7 +956,7 @@ void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId) } } -void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battlerId) +void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battler) { out->bgTiles = gBattleAnimBgTileBuffer; out->bgTilemap = (u16 *)gBattleAnimBgTilemapBuffer; @@ -1294,14 +1294,14 @@ static bool8 ShouldRotScaleSpeciesBeFlipped(void) void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode) { - u8 battlerId = gSprites[spriteId].data[0]; + u8 battler = gSprites[spriteId].data[0]; - if (IsContest() || IsBattlerSpriteVisible(battlerId)) + if (IsContest() || IsBattlerSpriteVisible(battler)) gSprites[spriteId].invisible = FALSE; gSprites[spriteId].oam.objMode = objMode; gSprites[spriteId].affineAnimPaused = TRUE; if (!IsContest() && !gSprites[spriteId].oam.affineMode) - gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum; + gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battler].matrixNum; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); } @@ -1514,18 +1514,18 @@ static u8 UNUSED GetSpritePalIdxByPosition(u8 position) void AnimSpriteOnMonPos(struct Sprite *sprite) { - bool8 var; + bool8 respectMonPicOffsets; if (!sprite->data[0]) { if (!gBattleAnimArgs[3]) - var = TRUE; + respectMonPicOffsets = TRUE; else - var = FALSE; + respectMonPicOffsets = FALSE; if (!gBattleAnimArgs[2]) - InitSpritePosToAnimAttacker(sprite, var); + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); else - InitSpritePosToAnimTarget(sprite, var); + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); sprite->data[0]++; } @@ -1590,35 +1590,35 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite) void AnimTravelDiagonally(struct Sprite *sprite) { - bool8 r4; - u8 battlerId, coordType; + bool8 respectMonPicOffsets; + u8 battler, coordType; if (!gBattleAnimArgs[6]) { - r4 = TRUE; + respectMonPicOffsets = TRUE; coordType = BATTLER_COORD_Y_PIC_OFFSET; } else { - r4 = FALSE; + respectMonPicOffsets = FALSE; coordType = BATTLER_COORD_Y; } if (gBattleAnimArgs[5] == ANIM_ATTACKER) { - InitSpritePosToAnimAttacker(sprite, r4); - battlerId = gBattleAnimAttacker; + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); + battler = gBattleAnimAttacker; } else { - InitSpritePosToAnimTarget(sprite, r4); - battlerId = gBattleAnimTarget; + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); + battler = gBattleAnimTarget; } if (GetBattlerSide(gBattleAnimAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - InitSpritePosToAnimTarget(sprite, r4); + InitSpritePosToAnimTarget(sprite, respectMonPicOffsets); sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(battler, coordType) + gBattleAnimArgs[3]; sprite->callback = StartAnimLinearTranslation; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } @@ -1897,7 +1897,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId) static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) { struct BattleSpriteInfo *spriteInfo; - u8 battlerId = gSprites[spriteId].data[0]; + u8 battler = gSprites[spriteId].data[0]; u16 species; u16 i; @@ -1915,26 +1915,26 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) if (GetBattlerSide(i) == B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; if (species == SPECIES_CASTFORM) - return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + return sCastformBackSpriteYCoords[gBattleMonForms[battler]]; else return gMonBackPicCoords[species].y_offset; } else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - species = spriteInfo[battlerId].transformSpecies; + species = spriteInfo[battler].transformSpecies; if (species == SPECIES_CASTFORM) - return sCastformElevations[gBattleMonForms[battlerId]]; + return sCastformElevations[gBattleMonForms[battler]]; else return gMonFrontPicCoords[species].y_offset; } @@ -2032,21 +2032,21 @@ void InitPrioritiesForVisibleBattlers(void) } } -u8 GetBattlerSpriteSubpriority(u8 battlerId) +u8 GetBattlerSpriteSubpriority(u8 battler) { u8 position; u8 subpriority; if (IsContest()) { - if (battlerId == 2) + if (battler == 2) return 30; else return 40; } else { - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); if (position == B_POSITION_PLAYER_LEFT) subpriority = 30; else if (position == B_POSITION_PLAYER_RIGHT) @@ -2060,9 +2060,9 @@ u8 GetBattlerSpriteSubpriority(u8 battlerId) return subpriority; } -u8 GetBattlerSpriteBGPriority(u8 battlerId) +u8 GetBattlerSpriteBGPriority(u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (IsContest()) return 2; @@ -2072,11 +2072,11 @@ u8 GetBattlerSpriteBGPriority(u8 battlerId) return GetAnimBgAttribute(1, BG_ANIM_PRIORITY); } -u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) +u8 GetBattlerSpriteBGPriorityRank(u8 battler) { if (!IsContest()) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) return 2; else @@ -2085,8 +2085,8 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) return 1; } -// Create pokemon sprite to be used for a move animation effect (e.g. Role Play / Snatch) -u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm) +// Create Pokémon sprite to be used for a move animation effect (e.g. Role Play / Snatch) +u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battler, bool32 ignoreDeoxysForm) { u8 spriteId; u16 sheet = LoadSpriteSheet(&sSpriteSheets_MoveEffectMons[id]); @@ -2097,7 +2097,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 if (!isBackpic) { LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); - if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->buffer, species, @@ -2113,7 +2113,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 else { LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP); - if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0) LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->buffer, species, @@ -2148,7 +2148,7 @@ void DestroySpriteAndFreeResources_(struct Sprite *sprite) DestroySpriteAndFreeResources(sprite); } -s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) +s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr) { u16 species; u32 personality; @@ -2181,7 +2181,7 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else if (species == SPECIES_CASTFORM) { - coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battler]]; } else if (species <= SPECIES_EGG) { @@ -2194,18 +2194,18 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) { - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); } else { - species = spriteInfo[battlerId].transformSpecies; - personality = gTransformedPersonalities[battlerId]; + species = spriteInfo[battler].transformSpecies; + personality = gTransformedPersonalities[battler]; } if (species == SPECIES_UNOWN) @@ -2229,15 +2229,15 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) else { spriteInfo = gBattleSpritesDataPtr->battlerData; - if (!spriteInfo[battlerId].transformSpecies) + if (!spriteInfo[battler].transformSpecies) { - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); } else { - species = spriteInfo[battlerId].transformSpecies; - personality = gTransformedPersonalities[battlerId]; + species = spriteInfo[battler].transformSpecies; + personality = gTransformedPersonalities[battler]; } if (species == SPECIES_UNOWN) @@ -2251,7 +2251,7 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) } else if (species == SPECIES_CASTFORM) { - coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battler]]; } else if (species > NUM_SPECIES) { @@ -2271,22 +2271,22 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) case BATTLER_COORD_ATTR_WIDTH: return GET_MON_COORDS_WIDTH(coords->size); case BATTLER_COORD_ATTR_LEFT: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2); case BATTLER_COORD_ATTR_RIGHT: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2); case BATTLER_COORD_ATTR_TOP: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2); case BATTLER_COORD_ATTR_BOTTOM: - return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2); + return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2); case BATTLER_COORD_ATTR_RAW_BOTTOM: - ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31; + ret = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 31; return ret - coords->y_offset; default: return 0; } } -void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y) +void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y) { u8 xCoordType, yCoordType; s16 battlerX, battlerY; @@ -2303,12 +2303,12 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x yCoordType = BATTLER_COORD_Y_PIC_OFFSET; } - battlerX = GetBattlerSpriteCoord(battlerId, xCoordType); - battlerY = GetBattlerSpriteCoord(battlerId, yCoordType); + battlerX = GetBattlerSpriteCoord(battler, xCoordType); + battlerY = GetBattlerSpriteCoord(battler, yCoordType); if (IsDoubleBattle() && !IsContest()) { - partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType); - partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType); + partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), xCoordType); + partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), yCoordType); } else { @@ -2320,7 +2320,7 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x *y = (battlerY + partnerY) / 2; } -u8 CreateInvisibleSpriteCopy(int battlerId, u8 spriteId, int species) +u8 CreateInvisibleSpriteCopy(int battler, u8 spriteId, int species) { u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); gSprites[newSpriteId] = gSprites[spriteId]; diff --git a/src/battle_anim_normal.c b/src/battle_anim_normal.c index 94bbb6ee4e..fa6bd69343 100644 --- a/src/battle_anim_normal.c +++ b/src/battle_anim_normal.c @@ -13,9 +13,9 @@ static void AnimComplexPaletteBlend(struct Sprite *); static void AnimComplexPaletteBlend_Step1(struct Sprite *); static void AnimComplexPaletteBlend_Step2(struct Sprite *); static void AnimCirclingSparkle(struct Sprite *); -static void AnimShakeMonOrBattleTerrain(struct Sprite *); -static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *); -static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void); +static void AnimShakeMonOrBattlePlatforms(struct Sprite *); +static void AnimShakeMonOrBattlePlatforms_Step(struct Sprite *); +static void AnimShakeMonOrBattlePlatforms_UpdateCoordOffsetEnabled(void); static void AnimHitSplatBasic(struct Sprite *); static void AnimHitSplatPersistent(struct Sprite *); static void AnimHitSplatHandleInvert(struct Sprite *); @@ -33,7 +33,7 @@ static void BlendColorCycleByTag(u8, u8, u8); static void AnimTask_BlendColorCycleByTagLoop(u8); static void AnimTask_FlashAnimTagWithColor_Step1(u8); static void AnimTask_FlashAnimTagWithColor_Step2(u8); -static void AnimTask_ShakeBattleTerrain_Step(u8); +static void AnimTask_ShakeBattlePlatforms_Step(u8); static const union AnimCmd sAnim_ConfusionDuck_0[] = { @@ -119,7 +119,7 @@ static const struct SpriteTemplate sCirclingSparkleSpriteTemplate = .callback = AnimCirclingSparkle, }; -const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate = +const struct SpriteTemplate gShakeMonOrPlatformSpriteTemplate = { .tileTag = 0, .paletteTag = 0, @@ -127,7 +127,7 @@ const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimShakeMonOrBattleTerrain, + .callback = AnimShakeMonOrBattlePlatforms, }; static const union AffineAnimCmd sAffineAnim_HitSplat_0[] = @@ -795,7 +795,7 @@ void AnimTask_TintPalettes(u8 taskId) #undef tColorG #undef tColorB -static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite) +static void AnimShakeMonOrBattlePlatforms(struct Sprite *sprite) { u16 var0; @@ -825,12 +825,12 @@ static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite) sprite->data[5] = gBattleAnimArgs[3]; var0 = sprite->data[5] - 2; if (var0 < 2) - AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(); + AnimShakeMonOrBattlePlatforms_UpdateCoordOffsetEnabled(); - sprite->callback = AnimShakeMonOrBattleTerrain_Step; + sprite->callback = AnimShakeMonOrBattlePlatforms_Step; } -static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *sprite) +static void AnimShakeMonOrBattlePlatforms_Step(struct Sprite *sprite) { u8 i; u16 var0; @@ -863,7 +863,7 @@ static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *sprite) } } -static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void) +static void AnimShakeMonOrBattlePlatforms_UpdateCoordOffsetEnabled(void) { gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = FALSE; gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = FALSE; @@ -882,19 +882,19 @@ static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void) } } -// Task data for AnimTask_ShakeBattleTerrain +// Task data for AnimTask_ShakeBattlePlatforms #define tXOffset data[0] #define tYOffset data[1] #define tNumShakes data[2] #define tTimer data[3] #define tShakeDelay data[8] -// Can shake battle terrain back and forth on the X or down and back to original pos on Y (cant shake up from orig pos) +// Can shake battle platforms back and forth on the X or down and back to original pos on Y (cant shake up from orig pos) // arg0: x offset of shake // arg1: y offset of shake // arg2: number of shakes // arg3: time between shakes -void AnimTask_ShakeBattleTerrain(u8 taskId) +void AnimTask_ShakeBattlePlatforms(u8 taskId) { gTasks[taskId].tXOffset = gBattleAnimArgs[0]; gTasks[taskId].tYOffset = gBattleAnimArgs[1]; @@ -903,11 +903,11 @@ void AnimTask_ShakeBattleTerrain(u8 taskId) gTasks[taskId].tShakeDelay = gBattleAnimArgs[3]; gBattle_BG3_X = gBattleAnimArgs[0]; gBattle_BG3_Y = gBattleAnimArgs[1]; - gTasks[taskId].func = AnimTask_ShakeBattleTerrain_Step; + gTasks[taskId].func = AnimTask_ShakeBattlePlatforms_Step; gTasks[taskId].func(taskId); } -static void AnimTask_ShakeBattleTerrain_Step(u8 taskId) +static void AnimTask_ShakeBattlePlatforms_Step(u8 taskId) { if (gTasks[taskId].tTimer == 0) { diff --git a/src/battle_anim_poison.c b/src/battle_anim_poison.c index d9a15c835c..bfe1fc835f 100644 --- a/src/battle_anim_poison.c +++ b/src/battle_anim_poison.c @@ -59,15 +59,7 @@ static const union AnimCmd sAnim_SludgeBombHit[] = static const union AnimCmd *const sAnims_PoisonProjectile[] = { sAnim_PoisonProjectile, -}; - -static const union AnimCmd *const sAnims_AcidPoisonDroplet[] = -{ sAnim_AcidPoisonDroplet, -}; - -static const union AnimCmd *const sAnims_SludgeBombHit[] = -{ sAnim_SludgeBombHit, }; @@ -122,7 +114,7 @@ const struct SpriteTemplate gSludgeBombHitParticleSpriteTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineNormal_ObjNormal_16x16, - .anims = sAnims_SludgeBombHit, + .anims = &sAnims_PoisonProjectile[2], .images = NULL, .affineAnims = sAffineAnims_SludgeBombHit, .callback = AnimSludgeBombHitParticle, @@ -145,7 +137,7 @@ const struct SpriteTemplate gAcidPoisonDropletSpriteTemplate = .tileTag = ANIM_TAG_POISON_BUBBLE, .paletteTag = ANIM_TAG_POISON_BUBBLE, .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = sAnims_AcidPoisonDroplet, + .anims = &sAnims_PoisonProjectile[1], .images = NULL, .affineAnims = gAffineAnims_Droplet, .callback = AnimAcidPoisonDroplet, diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index f9253675ca..376edfc0eb 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -388,6 +388,11 @@ static void AnimParticleInVortex_Step(struct Sprite *sprite) } } +#define tBlendTimer data[10] +#define tBlend data[11] +#define tFullAlphaTimer data[11] // not a typo; this data field is used for multiple purposes +#define tState data[12] + void AnimTask_LoadSandstormBackground(u8 taskId) { int var0; @@ -430,45 +435,45 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId) gBattle_BG1_Y += -1; - switch (gTasks[taskId].data[12]) + switch (gTasks[taskId].tState) { case 0: - if (++gTasks[taskId].data[10] == 4) + if (++gTasks[taskId].tBlendTimer == 4) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11]++; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); - if (gTasks[taskId].data[11] == 7) + gTasks[taskId].tBlendTimer = 0; + gTasks[taskId].tBlend++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 7) { - gTasks[taskId].data[12]++; - gTasks[taskId].data[11] = 0; + gTasks[taskId].tState++; + gTasks[taskId].tFullAlphaTimer = 0; } } break; case 1: - if (++gTasks[taskId].data[11] == 101) + if (++gTasks[taskId].tFullAlphaTimer == 101) { - gTasks[taskId].data[11] = 7; - gTasks[taskId].data[12]++; + gTasks[taskId].tBlend = 7; + gTasks[taskId].tState++; } break; case 2: - if (++gTasks[taskId].data[10] == 4) + if (++gTasks[taskId].tBlendTimer == 4) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11]--; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11])); - if (gTasks[taskId].data[11] == 0) + gTasks[taskId].tBlendTimer = 0; + gTasks[taskId].tBlend--; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 0) { - gTasks[taskId].data[12]++; - gTasks[taskId].data[11] = 0; + gTasks[taskId].tState++; + gTasks[taskId].tFullAlphaTimer = 0; } } break; case 3: GetBattleAnimBg1Data(&animBg); ClearBattleAnimBg(animBg.bgId); - gTasks[taskId].data[12]++; + gTasks[taskId].tState++; break; case 4: if (!IsContest()) @@ -484,21 +489,36 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId) } } +#undef tBlendTimer +#undef tBlend +#undef tFullAlphaTimer +#undef tState + // Animates the sprites that fly diagonally across the screen // in Sandstorm and Heat Wave. -// arg 0: initial y pixel offset -// arg 1: projectile speed -// arg 2: y pixel drop -// arg 3: ??? unknown (possibly a color bit) + +#define sState data[0] +#define sVelocityX data[1] // 256ths of a pixel // init'd from gBattleAnimArgs[1] +#define sVelocityY data[2] // 256ths of a pixel // init'd from gBattleAnimArgs[2] +#define sFractionalX data[3] // 256ths of a pixel +#define sFractionalY data[4] // 256ths of a pixel +#define sMirroredX data[5] // init'd from gBattleAnimArgs[3] + +// The fields named "velocity" are arguably more like "acceleration," +// and the fields named "fractional" are arguably more like "velocity." +// +// ...is what I WOULD say if the "fractional" fields weren't AND'd with +// 0xFF after every frame. + static void AnimFlyingSandCrescent(struct Sprite *sprite) { - if (sprite->data[0] == 0) + if (sprite->sState == 0) { if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->x = DISPLAY_WIDTH + 64; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sprite->data[5] = 1; + sprite->sMirroredX = 1; sprite->oam.matrixNum = ST_OAM_HFLIP; } else @@ -508,18 +528,18 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite) sprite->y = gBattleAnimArgs[0]; SetSubspriteTables(sprite, sFlyingSandSubspriteTable); - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[2] = gBattleAnimArgs[2]; - sprite->data[0]++; + sprite->sVelocityX = gBattleAnimArgs[1]; + sprite->sVelocityY = gBattleAnimArgs[2]; + sprite->sState++; } else { - sprite->data[3] += sprite->data[1]; - sprite->data[4] += sprite->data[2]; - sprite->x2 += (sprite->data[3] >> 8); - sprite->y2 += (sprite->data[4] >> 8); - sprite->data[3] &= 0xFF; - sprite->data[4] &= 0xFF; + sprite->sFractionalX += sprite->sVelocityX; + sprite->sFractionalY += sprite->sVelocityY; + sprite->x2 += (sprite->sFractionalX >> 8); + sprite->y2 += (sprite->sFractionalY >> 8); + sprite->sFractionalX &= 0xFF; + sprite->sFractionalY &= 0xFF; if (sprite->data[5] == 0) { @@ -535,6 +555,13 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite) } } +#undef sState +#undef sVelocityX +#undef sVelocityY +#undef sFractionalX +#undef sFractionalY +#undef sMirroredX + // Animates the rising rocks in Ancient Power. // arg 0: initial x pixel offset // arg 1: initial y pixel offset @@ -558,7 +585,6 @@ void AnimTask_Rollout(u8 taskId) { u16 var0, var1, var2, var3; u8 rolloutCounter; - int var5; s16 pan1, pan2; struct Task *task; @@ -582,13 +608,7 @@ void AnimTask_Rollout(u8 taskId) task->data[11] = 0; task->data[9] = 0; task->data[12] = 1; - - var5 = task->data[8]; - if (var5 < 0) - var5 += 7; - - task->data[10] = (var5 >> 3) - 1; - + task->data[10] = (task->data[8] / 8) - 1; task->data[2] = var0 * 8; task->data[3] = var1 * 8; task->data[4] = ((var2 - var0) * 8) / task->data[8]; diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 1fde3a9823..a833df2dd1 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -144,29 +144,29 @@ void SoundTask_PlayCryHighPitch(u8 taskId) } else { - u8 battlerId; + u8 battler; // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER) - battlerId = BATTLE_PARTNER(gBattleAnimAttacker); + battler = BATTLE_PARTNER(gBattleAnimAttacker); else - battlerId = BATTLE_PARTNER(gBattleAnimTarget); + battler = BATTLE_PARTNER(gBattleAnimTarget); // Check if battler is visible. - if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) + if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler)) { DestroyAnimVisualTask(taskId); return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); } if (species != SPECIES_NONE) @@ -192,29 +192,29 @@ void SoundTask_PlayDoubleCry(u8 taskId) } else { - u8 battlerId; + u8 battler; // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) - battlerId = gBattleAnimAttacker; + battler = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) - battlerId = gBattleAnimTarget; + battler = gBattleAnimTarget; else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER) - battlerId = BATTLE_PARTNER(gBattleAnimAttacker); + battler = BATTLE_PARTNER(gBattleAnimAttacker); else - battlerId = BATTLE_PARTNER(gBattleAnimTarget); + battler = BATTLE_PARTNER(gBattleAnimTarget); // Check if battler is visible. - if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) + if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler)) { DestroyAnimVisualTask(taskId); return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); } gTasks[taskId].data[0] = gBattleAnimArgs[1]; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index cc04843b7f..ca69f109ca 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -270,16 +270,16 @@ static const struct SpriteTemplate sFlashingCircleImpactSpriteTemplate = .callback = AnimFlashingCircleImpact, }; -static u8 UNUSED Task_FlashingCircleImpacts(u8 battlerId, bool8 red) +static u8 UNUSED Task_FlashingCircleImpacts(u8 battler, bool8 red) { - u8 battlerSpriteId = gBattlerSpriteIds[battlerId]; + u8 battlerSpriteId = gBattlerSpriteIds[battler]; u8 taskId = CreateTask(Task_UpdateFlashingCircleImpacts, 10); u8 spriteId; u8 i; LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]); - gTasks[taskId].data[0] = battlerId; + gTasks[taskId].data[0] = battler; if (red) { gTasks[taskId].data[1] = RGB_RED; @@ -540,15 +540,15 @@ void AnimTask_StatsChange(u8 taskId) #undef CASE -void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId) +void LaunchStatusAnimation(u8 battler, u8 statusAnimId) { u8 taskId; - gBattleAnimAttacker = battlerId; - gBattleAnimTarget = battlerId; + gBattleAnimAttacker = battler; + gBattleAnimTarget = battler; LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, FALSE); taskId = CreateTask(Task_DoStatusAnimation, 10); - gTasks[taskId].data[0] = battlerId; + gTasks[taskId].data[0] = battler; } static void Task_DoStatusAnimation(u8 taskId) diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index 8296126f14..22bd41fd25 100755 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -23,9 +23,9 @@ #include "constants/rgb.h" // iwram -u32 gMonShrinkDuration; -u16 gMonShrinkDelta; -u16 gMonShrinkDistance; +COMMON_DATA u32 gMonShrinkDuration = 0; +COMMON_DATA u16 gMonShrinkDelta = 0; +COMMON_DATA u16 gMonShrinkDistance = 0; enum { BALL_ROLL_1, @@ -1147,7 +1147,9 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite) gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF; } else + { gBattleSpritesDataPtr->animationData->ballSubpx += 176; + } sprite->sTimer++; sprite->affineAnimPaused = FALSE; @@ -1172,7 +1174,9 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite) ChangeSpriteAffineAnim(sprite, BALL_ROTATE_RIGHT); } else + { sprite->affineAnimPaused = TRUE; + } break; case BALL_ROLL_2: if (gBattleSpritesDataPtr->animationData->ballSubpx > 255) @@ -1181,7 +1185,9 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite) gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF; } else + { gBattleSpritesDataPtr->animationData->ballSubpx += 176; + } sprite->sTimer++; sprite->affineAnimPaused = FALSE; @@ -1216,7 +1222,9 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite) gBattleSpritesDataPtr->animationData->ballSubpx &= 0xFF; } else + { gBattleSpritesDataPtr->animationData->ballSubpx += 176; + } sprite->sTimer++; sprite->affineAnimPaused = FALSE; @@ -1390,7 +1398,9 @@ static void SpriteCB_Ball_FadeOut(struct Sprite *sprite) static void DestroySpriteAfterOneFrame(struct Sprite *sprite) { if (sprite->sFrame == 0) + { sprite->sFrame = -1; + } else { FreeSpriteOamMatrix(sprite); @@ -1410,7 +1420,9 @@ static void MakeCaptureStars(struct Sprite *sprite) u8 subpriority; if (sprite->subpriority) + { subpriority = sprite->subpriority - 1; + } else { subpriority = 0; @@ -1852,7 +1864,7 @@ static void RepeatBallOpenParticleAnimation(u8 taskId) priority = gTasks[taskId].data[3]; subpriority = gTasks[taskId].data[4]; - for (i = 0; i < POKEBALL_COUNT; i++) + for (i = 0; i < 12; i++) { spriteId = CreateSprite(&sBallParticleSpriteTemplates[ballId], x, y, subpriority); if (spriteId != MAX_SPRITES) @@ -2358,7 +2370,9 @@ static void SpriteCB_ShinyStars_Diagonal(struct Sprite *sprite) { // Delayed four frames to de-sync from encircling stars if (sprite->sTimer < 4) + { sprite->sTimer++; + } else { sprite->invisible = FALSE; diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 18a599a4c1..b76c636f56 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -109,36 +109,36 @@ void AnimTask_BlendBattleAnimPalExclude(u8 taskId) void AnimTask_SetCamouflageBlend(u8 taskId) { u32 selectedPalettes = UnpackSelectedBattlePalettes(gBattleAnimArgs[0]); - switch (gBattleTerrain) + switch (gBattleEnvironment) { - case BATTLE_TERRAIN_GRASS: + case BATTLE_ENVIRONMENT_GRASS: gBattleAnimArgs[4] = RGB(12, 24, 2); break; - case BATTLE_TERRAIN_LONG_GRASS: + case BATTLE_ENVIRONMENT_LONG_GRASS: gBattleAnimArgs[4] = RGB(0, 15, 2); break; - case BATTLE_TERRAIN_SAND: + case BATTLE_ENVIRONMENT_SAND: gBattleAnimArgs[4] = RGB(30, 24, 11); break; - case BATTLE_TERRAIN_UNDERWATER: + case BATTLE_ENVIRONMENT_UNDERWATER: gBattleAnimArgs[4] = RGB(0, 0, 18); break; - case BATTLE_TERRAIN_WATER: + case BATTLE_ENVIRONMENT_WATER: gBattleAnimArgs[4] = RGB(11, 22, 31); break; - case BATTLE_TERRAIN_POND: + case BATTLE_ENVIRONMENT_POND: gBattleAnimArgs[4] = RGB(11, 22, 31); break; - case BATTLE_TERRAIN_MOUNTAIN: + case BATTLE_ENVIRONMENT_MOUNTAIN: gBattleAnimArgs[4] = RGB(22, 16, 10); break; - case BATTLE_TERRAIN_CAVE: + case BATTLE_ENVIRONMENT_CAVE: gBattleAnimArgs[4] = RGB(14, 9, 3); break; - case BATTLE_TERRAIN_BUILDING: + case BATTLE_ENVIRONMENT_BUILDING: gBattleAnimArgs[4] = RGB_WHITE; break; - case BATTLE_TERRAIN_PLAIN: + case BATTLE_ENVIRONMENT_PLAIN: gBattleAnimArgs[4] = RGB_WHITE; break; } @@ -937,9 +937,9 @@ static void UpdateMonScrollingBgMask(u8 taskId) } } -void AnimTask_GetBattleTerrain(u8 taskId) +void AnimTask_GetBattleEnvironment(u8 taskId) { - gBattleAnimArgs[0] = gBattleTerrain; + gBattleAnimArgs[0] = gBattleEnvironment; DestroyAnimVisualTask(taskId); } diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index dc793f70a5..883cf5825e 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -473,27 +473,37 @@ const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate = .callback = AnimWeatherBallDown, }; +#define tRaindropSpawnTimer data[0] +#define tRaindropUnused data[1] +#define tRaindropSpawnInterval data[2] +#define tRaindropSpawnDuration data[3] // number of frames over which we spawn raindrops + void AnimTask_CreateRaindrops(u8 taskId) { u8 x, y; - if (gTasks[taskId].data[0] == 0) + if (gTasks[taskId].tRaindropSpawnTimer == 0) { - gTasks[taskId].data[1] = gBattleAnimArgs[0]; - gTasks[taskId].data[2] = gBattleAnimArgs[1]; - gTasks[taskId].data[3] = gBattleAnimArgs[2]; + gTasks[taskId].tRaindropUnused = gBattleAnimArgs[0]; + gTasks[taskId].tRaindropSpawnInterval = gBattleAnimArgs[1]; + gTasks[taskId].tRaindropSpawnDuration = gBattleAnimArgs[2]; } - gTasks[taskId].data[0]++; - if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1) + gTasks[taskId].tRaindropSpawnTimer++; + if (gTasks[taskId].tRaindropSpawnTimer % gTasks[taskId].tRaindropSpawnInterval == 1) { x = Random2() % DISPLAY_WIDTH; y = Random2() % (DISPLAY_HEIGHT / 2); CreateSprite(&gRainDropSpriteTemplate, x, y, 4); } - if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) + if (gTasks[taskId].tRaindropSpawnTimer == gTasks[taskId].tRaindropSpawnDuration) DestroyAnimVisualTask(taskId); } +#undef tRaindropSpawnTimer +#undef tRaindropUnused +#undef tRaindropSpawnInterval +#undef tRaindropSpawnDuration + static void AnimRainDrop(struct Sprite *sprite) { sprite->callback = AnimRainDrop_Step; @@ -503,6 +513,10 @@ static void AnimRainDrop_Step(struct Sprite *sprite) { if (++sprite->data[0] <= 13) { + // + // Make the raindrop fall, but only until it reaches the + // impact/splash frames of its animation. + // sprite->x2++; sprite->y2 += 4; } @@ -739,7 +753,7 @@ static void AnimHydroCannonCharge_Step(struct Sprite *sprite) // Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon static void AnimHydroCannonBeam(struct Sprite *sprite) { - bool8 animType; + bool8 respectMonPicOffsets; u8 coordType; if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { @@ -748,14 +762,14 @@ static void AnimHydroCannonBeam(struct Sprite *sprite) gBattleAnimArgs[0] *= -1; } if ((gBattleAnimArgs[5] & 0xFF00) == 0) - animType = TRUE; + respectMonPicOffsets = TRUE; else - animType = FALSE; + respectMonPicOffsets = FALSE; if ((u8)gBattleAnimArgs[5] == 0) coordType = BATTLER_COORD_Y_PIC_OFFSET; else coordType = BATTLER_COORD_Y; - InitSpritePosToAnimAttacker(sprite, animType); + InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets); if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle_arena.c b/src/battle_arena.c index ed3cf16dfd..f452ed4ec3 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -341,7 +341,7 @@ static const struct CompressedSpriteSheet sBattleArenaJudgmentSymbolsSpriteSheet {0} }; -static void (* const sArenaFunctions[])(void) = +static void (*const sArenaFunctions[])(void) = { [BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge, [BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData, diff --git a/src/battle_bg.c b/src/battle_bg.c index 05073db96d..a1ce702c59 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -593,102 +593,102 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate * const gBattleWindowTemplates[] = +const struct WindowTemplate *const gBattleWindowTemplates[] = { [B_WIN_TYPE_NORMAL] = sStandardBattleWindowTemplates, [B_WIN_TYPE_ARENA] = sBattleArenaWindowTemplates, }; -static const struct BattleBackground sBattleTerrainTable[] = +static const struct BattleBackground sBattleEnvironmentTable[] = { - [BATTLE_TERRAIN_GRASS] = + [BATTLE_ENVIRONMENT_GRASS] = { - .tileset = gBattleTerrainTiles_TallGrass, - .tilemap = gBattleTerrainTilemap_TallGrass, - .entryTileset = gBattleTerrainAnimTiles_TallGrass, - .entryTilemap = gBattleTerrainAnimTilemap_TallGrass, - .palette = gBattleTerrainPalette_TallGrass, + .tileset = gBattleEnvironmentTiles_TallGrass, + .tilemap = gBattleEnvironmentTilemap_TallGrass, + .entryTileset = gBattleEnvironmentAnimTiles_TallGrass, + .entryTilemap = gBattleEnvironmentAnimTilemap_TallGrass, + .palette = gBattleEnvironmentPalette_TallGrass, }, - [BATTLE_TERRAIN_LONG_GRASS] = + [BATTLE_ENVIRONMENT_LONG_GRASS] = { - .tileset = gBattleTerrainTiles_LongGrass, - .tilemap = gBattleTerrainTilemap_LongGrass, - .entryTileset = gBattleTerrainAnimTiles_LongGrass, - .entryTilemap = gBattleTerrainAnimTilemap_LongGrass, - .palette = gBattleTerrainPalette_LongGrass, + .tileset = gBattleEnvironmentTiles_LongGrass, + .tilemap = gBattleEnvironmentTilemap_LongGrass, + .entryTileset = gBattleEnvironmentAnimTiles_LongGrass, + .entryTilemap = gBattleEnvironmentAnimTilemap_LongGrass, + .palette = gBattleEnvironmentPalette_LongGrass, }, - [BATTLE_TERRAIN_SAND] = + [BATTLE_ENVIRONMENT_SAND] = { - .tileset = gBattleTerrainTiles_Sand, - .tilemap = gBattleTerrainTilemap_Sand, - .entryTileset = gBattleTerrainAnimTiles_Sand, - .entryTilemap = gBattleTerrainAnimTilemap_Sand, - .palette = gBattleTerrainPalette_Sand, + .tileset = gBattleEnvironmentTiles_Sand, + .tilemap = gBattleEnvironmentTilemap_Sand, + .entryTileset = gBattleEnvironmentAnimTiles_Sand, + .entryTilemap = gBattleEnvironmentAnimTilemap_Sand, + .palette = gBattleEnvironmentPalette_Sand, }, - [BATTLE_TERRAIN_UNDERWATER] = + [BATTLE_ENVIRONMENT_UNDERWATER] = { - .tileset = gBattleTerrainTiles_Underwater, - .tilemap = gBattleTerrainTilemap_Underwater, - .entryTileset = gBattleTerrainAnimTiles_Underwater, - .entryTilemap = gBattleTerrainAnimTilemap_Underwater, - .palette = gBattleTerrainPalette_Underwater, + .tileset = gBattleEnvironmentTiles_Underwater, + .tilemap = gBattleEnvironmentTilemap_Underwater, + .entryTileset = gBattleEnvironmentAnimTiles_Underwater, + .entryTilemap = gBattleEnvironmentAnimTilemap_Underwater, + .palette = gBattleEnvironmentPalette_Underwater, }, - [BATTLE_TERRAIN_WATER] = + [BATTLE_ENVIRONMENT_WATER] = { - .tileset = gBattleTerrainTiles_Water, - .tilemap = gBattleTerrainTilemap_Water, - .entryTileset = gBattleTerrainAnimTiles_Water, - .entryTilemap = gBattleTerrainAnimTilemap_Water, - .palette = gBattleTerrainPalette_Water, + .tileset = gBattleEnvironmentTiles_Water, + .tilemap = gBattleEnvironmentTilemap_Water, + .entryTileset = gBattleEnvironmentAnimTiles_Water, + .entryTilemap = gBattleEnvironmentAnimTilemap_Water, + .palette = gBattleEnvironmentPalette_Water, }, - [BATTLE_TERRAIN_POND] = + [BATTLE_ENVIRONMENT_POND] = { - .tileset = gBattleTerrainTiles_PondWater, - .tilemap = gBattleTerrainTilemap_PondWater, - .entryTileset = gBattleTerrainAnimTiles_PondWater, - .entryTilemap = gBattleTerrainAnimTilemap_PondWater, - .palette = gBattleTerrainPalette_PondWater, + .tileset = gBattleEnvironmentTiles_PondWater, + .tilemap = gBattleEnvironmentTilemap_PondWater, + .entryTileset = gBattleEnvironmentAnimTiles_PondWater, + .entryTilemap = gBattleEnvironmentAnimTilemap_PondWater, + .palette = gBattleEnvironmentPalette_PondWater, }, - [BATTLE_TERRAIN_MOUNTAIN] = + [BATTLE_ENVIRONMENT_MOUNTAIN] = { - .tileset = gBattleTerrainTiles_Rock, - .tilemap = gBattleTerrainTilemap_Rock, - .entryTileset = gBattleTerrainAnimTiles_Rock, - .entryTilemap = gBattleTerrainAnimTilemap_Rock, - .palette = gBattleTerrainPalette_Rock, + .tileset = gBattleEnvironmentTiles_Rock, + .tilemap = gBattleEnvironmentTilemap_Rock, + .entryTileset = gBattleEnvironmentAnimTiles_Rock, + .entryTilemap = gBattleEnvironmentAnimTilemap_Rock, + .palette = gBattleEnvironmentPalette_Rock, }, - [BATTLE_TERRAIN_CAVE] = + [BATTLE_ENVIRONMENT_CAVE] = { - .tileset = gBattleTerrainTiles_Cave, - .tilemap = gBattleTerrainTilemap_Cave, - .entryTileset = gBattleTerrainAnimTiles_Cave, - .entryTilemap = gBattleTerrainAnimTilemap_Cave, - .palette = gBattleTerrainPalette_Cave, + .tileset = gBattleEnvironmentTiles_Cave, + .tilemap = gBattleEnvironmentTilemap_Cave, + .entryTileset = gBattleEnvironmentAnimTiles_Cave, + .entryTilemap = gBattleEnvironmentAnimTilemap_Cave, + .palette = gBattleEnvironmentPalette_Cave, }, - [BATTLE_TERRAIN_BUILDING] = + [BATTLE_ENVIRONMENT_BUILDING] = { - .tileset = gBattleTerrainTiles_Building, - .tilemap = gBattleTerrainTilemap_Building, - .entryTileset = gBattleTerrainAnimTiles_Building, - .entryTilemap = gBattleTerrainAnimTilemap_Building, - .palette = gBattleTerrainPalette_Building, + .tileset = gBattleEnvironmentTiles_Building, + .tilemap = gBattleEnvironmentTilemap_Building, + .entryTileset = gBattleEnvironmentAnimTiles_Building, + .entryTilemap = gBattleEnvironmentAnimTilemap_Building, + .palette = gBattleEnvironmentPalette_Building, }, - [BATTLE_TERRAIN_PLAIN] = + [BATTLE_ENVIRONMENT_PLAIN] = { - .tileset = gBattleTerrainTiles_Building, - .tilemap = gBattleTerrainTilemap_Building, - .entryTileset = gBattleTerrainAnimTiles_Building, - .entryTilemap = gBattleTerrainAnimTilemap_Building, - .palette = gBattleTerrainPalette_Plain, + .tileset = gBattleEnvironmentTiles_Building, + .tilemap = gBattleEnvironmentTilemap_Building, + .entryTileset = gBattleEnvironmentAnimTiles_Building, + .entryTilemap = gBattleEnvironmentAnimTilemap_Building, + .palette = gBattleEnvironmentPalette_Plain, }, }; @@ -761,27 +761,27 @@ void DrawMainBattleBackground(void) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK)) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Cave, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) { - LZDecompressVram(gBattleTerrainTiles_Water, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Water, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) { - LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_Rayquaza, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else { @@ -790,16 +790,16 @@ void DrawMainBattleBackground(void) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); return; } } @@ -808,49 +808,49 @@ void DrawMainBattleBackground(void) { default: case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tileset, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tilemap, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(sBattleEnvironmentTable[gBattleEnvironment].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_FRONTIER: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } } @@ -1024,7 +1024,7 @@ void InitLinkBattleVsScreen(u8 taskId) case 0: if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { name = gLinkPlayers[i].name; linkPlayer = &gLinkPlayers[i]; @@ -1144,8 +1144,8 @@ void DrawBattleEntryBackground(void) { if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); } else { @@ -1161,18 +1161,18 @@ void DrawBattleEntryBackground(void) } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { - LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Cave, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Cave, (void *)(BG_SCREEN_ADDR(28))); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE) { - LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Underwater, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Underwater, (void *)(BG_SCREEN_ADDR(28))); } else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA) { - LZDecompressVram(gBattleTerrainAnimTiles_Rayquaza, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Rayquaza, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(28))); } else { @@ -1181,27 +1181,27 @@ void DrawBattleEntryBackground(void) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); return; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); return; } } if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL) { - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTileset, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].entryTileset, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].entryTilemap, (void *)(BG_SCREEN_ADDR(28))); } else { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); + LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1))); + LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28))); } } } @@ -1225,11 +1225,11 @@ bool8 LoadChosenBattleElement(u8 caseId) case 3: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); } else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Cave, (void *)(BG_CHAR_ADDR(2))); } else { @@ -1238,12 +1238,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; } } @@ -1252,31 +1252,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tileset, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2))); break; case MAP_BATTLE_SCENE_FRONTIER: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2))); break; } } @@ -1284,14 +1284,14 @@ bool8 LoadChosenBattleElement(u8 caseId) case 4: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { if (gGameVersion == VERSION_RUBY) - LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Cave, (void *)(BG_SCREEN_ADDR(26))); else - LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Water, (void *)(BG_SCREEN_ADDR(26))); } else { @@ -1300,12 +1300,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; } } @@ -1314,31 +1314,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tilemap, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26))); break; case MAP_BATTLE_SCENE_FRONTIER: - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); + LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26))); break; } } @@ -1346,14 +1346,14 @@ bool8 LoadChosenBattleElement(u8 caseId) case 5: if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER)) { - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { if (gGameVersion == VERSION_RUBY) - LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); else - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); } else { @@ -1362,12 +1362,12 @@ bool8 LoadChosenBattleElement(u8 caseId) u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; if (trainerClass == TRAINER_CLASS_LEADER) { - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } else if (trainerClass == TRAINER_CLASS_CHAMPION) { - LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } } @@ -1376,31 +1376,31 @@ bool8 LoadChosenBattleElement(u8 caseId) { default: case MAP_BATTLE_SCENE_NORMAL: - LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(sBattleEnvironmentTable[gBattleEnvironment].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GYM: - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_MAGMA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_AQUA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_SIDNEY: - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_PHOEBE: - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_GLACIA: - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_DRAKE: - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; case MAP_BATTLE_SCENE_FRONTIER: - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); break; } } diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 2104298775..7ef9d3e9cf 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -92,7 +92,7 @@ static void LinkOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst); static void SetLinkOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void LinkOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -518,7 +518,7 @@ static void LinkOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -529,7 +529,7 @@ static void LinkOpponentBufferExecCompleted(void) static void LinkOpponentHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -548,7 +548,7 @@ static void LinkOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); LinkOpponentBufferExecCompleted(); } @@ -1141,36 +1141,36 @@ static void LinkOpponentHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void LinkOpponentHandleReturnMonToBall(void) @@ -1321,7 +1321,7 @@ static void LinkOpponentHandleTrainerSlide(void) gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battlerId function + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battler function LinkOpponentBufferExecCompleted(); } @@ -1534,11 +1534,11 @@ static void LinkOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 054563ad3a..1a486b93f2 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -92,7 +92,7 @@ static void LinkPartnerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst); static void SetLinkPartnerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void LinkPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -400,7 +400,7 @@ static void LinkPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -423,7 +423,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void LinkPartnerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -442,7 +442,7 @@ static void LinkPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); LinkPartnerBufferExecCompleted(); } @@ -1036,35 +1036,35 @@ static void LinkPartnerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void LinkPartnerHandleReturnMonToBall(void) @@ -1373,11 +1373,11 @@ static void LinkPartnerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index e434e3ee62..21431053ea 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -97,7 +97,7 @@ static void OpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 GetOpponentMonData(u8 monId, u8 *dst); static void SetOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void OpponentDoMoveAnimation(void); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); @@ -257,7 +257,9 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } else + { return; + } } else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) { @@ -270,13 +272,17 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } else + { return; + } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; } else + { return; + } gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; @@ -331,7 +337,9 @@ static void Intro_TryShinyAnimShowHealthbox(void) m4aMPlayContinue(&gMPlayInfo_BGM); } else + { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); + } } gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = TRUE; bgmRestored = TRUE; @@ -523,7 +531,7 @@ static void OpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -534,7 +542,7 @@ static void OpponentBufferExecCompleted(void) static void OpponentHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -553,7 +561,7 @@ static void OpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); OpponentBufferExecCompleted(); } @@ -873,7 +881,7 @@ static void OpponentHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BUFFER_B, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -1157,36 +1165,36 @@ static void OpponentHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void OpponentHandleReturnMonToBall(void) @@ -1544,7 +1552,7 @@ static void OpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); OpponentBufferExecCompleted(); } else @@ -1561,13 +1569,13 @@ static void OpponentHandleChooseMove(void) switch (chosenMoveId) { case AI_CHOICE_WATCH: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case AI_CHOICE_FLEE: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_RUN, 0); break; case 6: - BtlController_EmitTwoReturnValues(BUFFER_B, 15, gBattlerTarget); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 15, gBattlerTarget); break; default: if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) @@ -1578,7 +1586,7 @@ static void OpponentHandleChooseMove(void) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8)); break; } OpponentBufferExecCompleted(); @@ -1593,11 +1601,11 @@ static void OpponentHandleChooseMove(void) } while (move == MOVE_NONE); if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(); } @@ -1606,7 +1614,7 @@ static void OpponentHandleChooseMove(void) static void OpponentHandleChooseItem(void) { - BtlController_EmitOneReturnValue(BUFFER_B, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2)); OpponentBufferExecCompleted(); } @@ -1663,7 +1671,7 @@ static void OpponentHandleChoosePokemon(void) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, chosenMonId, NULL); OpponentBufferExecCompleted(); } @@ -1705,11 +1713,11 @@ static void OpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -2007,7 +2015,7 @@ static void OpponentHandleEndLinkBattle(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { - gMain.inBattle = 0; + gMain.inBattle = FALSE; gMain.callback1 = gPreBattleCallback1; SetMainCallback2(gMain.savedCallback); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 357912d4b6..4b564ad141 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -204,7 +204,7 @@ static void PlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -249,16 +249,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(); @@ -319,7 +319,7 @@ static void HandleInputChooseAction(void) return; } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(); } } @@ -365,7 +365,7 @@ static void HandleInputChooseTarget(void) { PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); } @@ -485,7 +485,7 @@ static void HandleInputChooseMove(void) PlaySE(SE_SELECT); if (moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) { - if (moveInfo->monType1 != TYPE_GHOST && moveInfo->monType2 != TYPE_GHOST) + if (moveInfo->monTypes[0] != TYPE_GHOST && moveInfo->monTypes[1] != TYPE_GHOST) moveTarget = MOVE_TARGET_USER; else moveTarget = MOVE_TARGET_SELECTED; @@ -523,7 +523,7 @@ static void HandleInputChooseMove(void) if (!canSelectTarget) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); PlayerBufferExecCompleted(); } else @@ -543,7 +543,7 @@ static void HandleInputChooseMove(void) else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, 0xFFFF); PlayerBufferExecCompleted(); } else if (JOY_NEW(DPAD_LEFT)) @@ -981,12 +981,12 @@ static void Intro_TryShinyAnimShowHealthbox(void) bool32 bgmRestored = FALSE; bool32 battlerAnimsDone = FALSE; - // Start shiny animation if applicable for 1st pokemon + // Start shiny animation if applicable for 1st Pokémon if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); - // Start shiny animation if applicable for 2nd pokemon + // Start shiny animation if applicable for 2nd Pokémon if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); @@ -1154,10 +1154,10 @@ static void CompleteOnInactiveTextPrinter(void) static void Task_GiveExpToMon(u8 taskId) { u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // Give exp without moving the expbar. + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battler]) // Give exp without moving the expbar. { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1173,12 +1173,12 @@ static void Task_GiveExpToMon(u8 taskId) CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + gActiveBattler = battler; + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) + && ((u16)(monId) == gBattlerPartyIndexes[battler] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -1187,7 +1187,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -1201,7 +1201,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; s32 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; struct Pokemon *mon = &gPlayerParty[monIndex]; u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1211,7 +1211,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; } @@ -1226,11 +1226,11 @@ static void Task_GiveExpWithExpBar(u8 taskId) { u8 monId = gTasks[taskId].tExpTask_monId; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; s16 newExpPoints; - newExpPoints = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); + newExpPoints = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); if (newExpPoints == -1) // The bar has been filled with given exp points. { u8 level; @@ -1252,8 +1252,8 @@ static void Task_GiveExpWithExpBar(u8 taskId) CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + gActiveBattler = battler; + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -1261,7 +1261,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -1270,30 +1270,30 @@ static void Task_GiveExpWithExpBar(u8 taskId) static void Task_LaunchLvlUpAnim(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - battlerId ^= BIT_FLANK; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + battler ^= BIT_FLANK; - InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP); gTasks[taskId].func = Task_UpdateLvlInHealthbox; } static void Task_UpdateLvlInHealthbox(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; - if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { u8 monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -1302,12 +1302,12 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) { u8 monIndex; - u8 battlerId; + u8 battler; monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - battlerId = gTasks[taskId].tExpTask_battler; - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + battler = gTasks[taskId].tExpTask_battler; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } @@ -1361,9 +1361,9 @@ static void WaitForMonSelection(void) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(BUFFER_B, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(BUFFER_B, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, PARTY_SIZE, NULL); if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1387,7 +1387,7 @@ static void CompleteWhenChoseItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId); PlayerBufferExecCompleted(); } } @@ -1439,9 +1439,9 @@ static void PlayerHandleYesNoInput(void) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(BUFFER_B, 0xE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0xE, 0); else - BtlController_EmitTwoReturnValues(BUFFER_B, 0xD, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0xD, 0); PlayerBufferExecCompleted(); } @@ -1581,7 +1581,7 @@ static void PrintLinkStandbyMsg(void) static void PlayerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -1600,7 +1600,7 @@ static void PlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); PlayerBufferExecCompleted(); } @@ -1920,7 +1920,7 @@ void PlayerHandleGetRawMonData(void) for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BUFFER_B, gBattleBufferA[gActiveBattler][2], dst); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2193,35 +2193,35 @@ static void PlayerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnimShowHealthbox; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void PlayerHandleReturnMonToBall(void) @@ -2621,7 +2621,7 @@ static void PlayerChooseMoveInBattlePalace(void) if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(); } } @@ -2671,7 +2671,7 @@ static void PlayerHandleChoosePokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(); } else @@ -2756,11 +2756,11 @@ static void PlayerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } @@ -2828,25 +2828,25 @@ static void PlayerHandleCmd32(void) static void PlayerHandleTwoReturnValues(void) { - BtlController_EmitTwoReturnValues(BUFFER_B, 0, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0, 0); PlayerBufferExecCompleted(); } static void PlayerHandleChosenMonReturnValue(void) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, 0, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, 0, NULL); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue(void) { - BtlController_EmitOneReturnValue(BUFFER_B, 0); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, 0); PlayerBufferExecCompleted(); } static void PlayerHandleOneReturnValue_Duplicate(void) { - BtlController_EmitOneReturnValue_Duplicate(BUFFER_B, 0); + BtlController_EmitOneReturnValue_Duplicate(B_COMM_TO_ENGINE, 0); PlayerBufferExecCompleted(); } @@ -2975,7 +2975,7 @@ static void PlayerHandleIntroTrainerBallThrow(void) void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) { - u8 battlerId = sprite->sBattlerId; + u8 battler = sprite->sBattlerId; // Free player trainer sprite FreeSpriteOamMatrix(sprite); @@ -2983,8 +2983,8 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) DestroySprite(sprite); // Load mon sprite - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); } #undef sBattlerId diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 236a66ce83..a5d00c4740 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -95,7 +95,7 @@ static void Task_UpdateLvlInHealthbox(u8 taskId); static void SwitchIn_WaitAndEnd(void); static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst); static void SetPlayerPartnerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void PlayerPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -312,10 +312,10 @@ static void CompleteOnInactiveTextPrinter(void) static void Task_GiveExpToMon(u8 taskId) { u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // give exp without the expbar + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battler]) // give exp without the expbar { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -331,12 +331,12 @@ static void Task_GiveExpToMon(u8 taskId) CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + gActiveBattler = battler; + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) + && ((u16)(monId) == gBattlerPartyIndexes[battler] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -345,7 +345,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -359,7 +359,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; s32 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; struct Pokemon *mon = &gPlayerParty[monIndex]; u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -369,7 +369,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; } @@ -384,11 +384,11 @@ static void Task_GiveExpWithExpBar(u8 taskId) { u8 monId = gTasks[taskId].tExpTask_monId; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; s16 r4; - r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); + r4 = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); if (r4 == -1) { u8 level; @@ -410,8 +410,8 @@ static void Task_GiveExpWithExpBar(u8 taskId) CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); + gActiveBattler = battler; + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = Task_LaunchLvlUpAnim; } @@ -419,7 +419,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } } @@ -428,30 +428,30 @@ static void Task_GiveExpWithExpBar(u8 taskId) static void Task_LaunchLvlUpAnim(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - battlerId ^= BIT_FLANK; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + battler ^= BIT_FLANK; - InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP); gTasks[taskId].func = Task_UpdateLvlInHealthbox; } static void Task_UpdateLvlInHealthbox(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battler = gTasks[taskId].tExpTask_bank; - if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { u8 monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -460,12 +460,12 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) { u8 monIndex; - u8 battlerId; + u8 battler; monIndex = gTasks[taskId].tExpTask_monId; GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - battlerId = gTasks[taskId].tExpTask_bank; - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + battler = gTasks[taskId].tExpTask_bank; + gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } @@ -584,7 +584,7 @@ static void PlayerPartnerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -607,7 +607,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void PlayerPartnerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -626,7 +626,7 @@ static void PlayerPartnerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); PlayerPartnerBufferExecCompleted(); } @@ -1220,35 +1220,35 @@ static void PlayerPartnerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void PlayerPartnerHandleReturnMonToBall(void) @@ -1527,7 +1527,7 @@ static void PlayerPartnerHandleChooseMove(void) gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - BtlController_EmitTwoReturnValues(BUFFER_B, 10, chosenMoveId | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(); } @@ -1557,7 +1557,7 @@ static void PlayerPartnerHandleChoosePokemon(void) } *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; - BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } @@ -1623,11 +1623,11 @@ static void PlayerPartnerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 9c37cd0a92..518086cbb7 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -92,7 +92,7 @@ static void RecordedOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst); static void SetRecordedOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void RecordedOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -504,7 +504,7 @@ static void RecordedOpponentBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -515,7 +515,7 @@ static void RecordedOpponentBufferExecCompleted(void) static void RecordedOpponentHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -534,7 +534,7 @@ static void RecordedOpponentHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); RecordedOpponentBufferExecCompleted(); } @@ -1127,35 +1127,35 @@ static void RecordedOpponentHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); } static void RecordedOpponentHandleReturnMonToBall(void) @@ -1402,7 +1402,7 @@ static void RecordedOpponentHandlePrintSelectionString(void) static void RecordedOpponentHandleChooseAction(void) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } @@ -1415,13 +1415,13 @@ static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { - u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); + u8 moveIndex = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveIndex | (target << 8)); } RecordedOpponentBufferExecCompleted(); @@ -1435,7 +1435,7 @@ static void RecordedOpponentHandleChooseItem(void) static void RecordedOpponentHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedOpponentBufferExecCompleted(); } @@ -1477,11 +1477,11 @@ static void RecordedOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 591ddb67e3..6b061487b4 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -88,7 +88,7 @@ static void RecordedPlayerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst); static void SetRecordedPlayerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void RecordedPlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -475,7 +475,7 @@ static void RecordedPlayerBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -498,7 +498,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void RecordedPlayerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -517,7 +517,7 @@ static void RecordedPlayerHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); RecordedPlayerBufferExecCompleted(); } @@ -1111,35 +1111,35 @@ static void RecordedPlayerHandleSwitchInAnim(void) gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) +static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit) { u16 species; - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); - gBattlerSpriteIds[battlerId] = CreateSprite( + gBattlerSpriteIds[battler] = CreateSprite( &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void RecordedPlayerHandleReturnMonToBall(void) @@ -1414,7 +1414,7 @@ static void ChooseActionInBattlePalace(void) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1427,7 +1427,7 @@ static void RecordedPlayerHandleChooseAction(void) } else { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0); RecordedPlayerBufferExecCompleted(); } } @@ -1441,13 +1441,13 @@ static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace()); } else { - u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler); + u8 moveIndex = RecordedBattle_GetBattlerAction(gActiveBattler); u8 target = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveIndex | (target << 8)); } RecordedPlayerBufferExecCompleted(); @@ -1461,7 +1461,7 @@ static void RecordedPlayerHandleChooseItem(void) static void RecordedPlayerHandleChoosePokemon(void) { *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler); - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); + BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); RecordedPlayerBufferExecCompleted(); } @@ -1504,11 +1504,11 @@ static void RecordedPlayerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; + u8 battler; UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; + battler = gActiveBattler; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; } } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 157bb6954c..c432fcbb64 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -176,16 +176,16 @@ static void HandleInputChooseAction(void) switch (gActionSelectionCursor[gActiveBattler]) { case 0: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(); @@ -280,7 +280,7 @@ static void CompleteWhenChosePokeblock(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId); SafariBufferExecCompleted(); } } @@ -298,7 +298,7 @@ static void SafariBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index ce357319a5..11d7a851f4 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -196,7 +196,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -207,7 +207,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -217,7 +217,7 @@ static void WallyHandleActions(void) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -238,7 +238,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(); } break; @@ -278,7 +278,7 @@ static void CompleteOnChosenItem(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId); WallyBufferExecCompleted(); } } @@ -408,7 +408,7 @@ static void WallyBufferExecCompleted(void) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId); gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -425,7 +425,7 @@ static void UNUSED CompleteOnFinishedStatusAnimation(void) static void WallyHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two Pokémon, trying to get more will result in overwriting data u32 size = 0; u8 monToCheck; s32 i; @@ -444,7 +444,7 @@ static void WallyHandleGetMonData(void) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData); WallyBufferExecCompleted(); } @@ -1241,7 +1241,7 @@ static void WallyHandleChooseMove(void) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0x100); + BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, 0x100); WallyBufferExecCompleted(); } break; @@ -1458,31 +1458,31 @@ static void WallyHandleIntroTrainerBallThrow(void) gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; } -static void StartSendOutAnim(u8 battlerId) +static void StartSendOutAnim(u8 battler) { u16 species; - gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = 0; - gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); + gBattleSpritesDataPtr->battlerData[battler].transformSpecies = 0; + gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); } static void Task_StartSendOutAnim(u8 taskId) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 2ba5d4329d..f7e9fef406 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -114,31 +114,31 @@ static void InitSinglePlayerBtlControllers(void) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } gBattlersCount = MAX_BATTLERS_COUNT; @@ -158,16 +158,16 @@ static void InitSinglePlayerBtlControllers(void) gBattleMainFunc = BeginBattleIntro; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - gBattlerControllerFuncs[0] = SetControllerToSafari; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToSafari; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) - gBattlerControllerFuncs[0] = SetControllerToWally; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToWally; else - gBattlerControllerFuncs[0] = SetControllerToPlayer; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; @@ -179,32 +179,32 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } else // see how the banks are switched { - gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } } else { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; } } } @@ -212,17 +212,17 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -232,17 +232,17 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -260,7 +260,7 @@ static void InitSinglePlayerBtlControllers(void) { u8 multiplayerId; - for (multiplayerId = gRecordedBattleMultiplayerId, i = 0; i < MAX_BATTLERS_COUNT; i++) + for (multiplayerId = gRecordedBattleMultiplayerId, i = 0; i < MAX_LINK_PLAYERS; i++) { switch (gLinkPlayers[i].id) { @@ -330,52 +330,52 @@ static void InitSinglePlayerBtlControllers(void) } else if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) { - gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { - gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToRecordedOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; } } else { - gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[3] = SetControllerToRecordedPlayer; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedPlayer; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { - gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToRecordedOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; } else { - gBattlerControllerFuncs[0] = SetControllerToOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; } } } @@ -393,21 +393,21 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } else { - gBattlerControllerFuncs[1] = SetControllerToPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; gBattlersCount = 2; } @@ -418,33 +418,33 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } else { - gBattlerControllerFuncs[1] = SetControllerToPlayer; - gBattlerPositions[1] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[0] = SetControllerToLinkOpponent; - gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[3] = SetControllerToPlayer; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[2] = SetControllerToLinkOpponent; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } @@ -455,33 +455,33 @@ static void InitLinkBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToLinkPartner; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkPartner; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } else { - gBattlerControllerFuncs[0] = SetControllerToLinkPartner; - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkPartner; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; - gBattlerControllerFuncs[1] = SetControllerToLinkOpponent; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; - gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; + gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer; + gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT; - gBattlerControllerFuncs[3] = SetControllerToLinkOpponent; - gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; + gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent; + gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; } @@ -502,7 +502,7 @@ static void InitLinkBtlControllers(void) if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) gBattleMainFunc = BeginBattleIntro; - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { switch (gLinkPlayers[i].id) { @@ -659,11 +659,11 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) { switch (bufferId) { - case BUFFER_A: + case B_COMM_TO_CONTROLLER: for (i = 0; i < size; data++, i++) gBattleBufferA[gActiveBattler][i] = *data; break; - case BUFFER_B: + case B_COMM_TO_ENGINE: for (i = 0; i < size; data++, i++) gBattleBufferB[gActiveBattler][i] = *data; break; @@ -671,20 +671,41 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) } } +#define tInitialDelayTimer data[10] +#define tState data[11] +#define tCurrentBlock_WrapFrom data[12] +#define tBlockSendDelayTimer data[13] +#define tCurrentBlock_End data[14] +#define tCurrentBlock_Start data[15] +// +// Inbound communications are stored in one buffer; outbound communications +// in another. Both buffers work pretty similarly: the next message will be +// written into the buffer after the previous message (with 4-byte alignment), +// unless we're too close to the end of the buffer, in which case we jump back +// to the start. +// +// Regarding the task variable names above: these variables are altered in- +// place, so the precise operational definition of "current" depends on when +// the variables are being accessed. When data is present in the send and +// receive buffers, "current" refers to the most recently received message; +// but when a message is actually being placed in the buffers, "current" +// refers to the previous message, until such time that we finish updating it +// to refer to the new message. + static void CreateTasksForSendRecvLinkBuffers(void) { sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0); - gTasks[sLinkSendTaskId].data[11] = 0; - gTasks[sLinkSendTaskId].data[12] = 0; - gTasks[sLinkSendTaskId].data[13] = 0; - gTasks[sLinkSendTaskId].data[14] = 0; - gTasks[sLinkSendTaskId].data[15] = 0; + gTasks[sLinkSendTaskId].tState = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = 0; + gTasks[sLinkSendTaskId].tBlockSendDelayTimer = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_Start = 0; sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0); - gTasks[sLinkReceiveTaskId].data[12] = 0; - gTasks[sLinkReceiveTaskId].data[13] = 0; - gTasks[sLinkReceiveTaskId].data[14] = 0; - gTasks[sLinkReceiveTaskId].data[15] = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = 0; + gTasks[sLinkReceiveTaskId].tBlockSendDelayTimer = 0; // not used by "receive" task + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_Start = 0; sUnused = 0; } @@ -702,52 +723,72 @@ enum LINK_BUFF_DATA, }; +// We want to send a message. Place it into the "send" buffer. +// First argument is a BATTLELINKCOMMTYPE_... void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) { s32 alignedSize; s32 i; alignedSize = size - size % 4 + 4; - if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE) + if (gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE) { - gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14]; - gTasks[sLinkSendTaskId].data[14] = 0; + gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkSendTaskId].tCurrentBlock_End; + gTasks[sLinkSendTaskId].tCurrentBlock_End = 0; } - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler; + + #define BYTE_TO_SEND(offset) \ + gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].tCurrentBlock_End + offset] + + BYTE_TO_SEND(LINK_BUFF_BUFFER_ID) = bufferId; + BYTE_TO_SEND(LINK_BUFF_ACTIVE_BATTLER) = gActiveBattler; + BYTE_TO_SEND(LINK_BUFF_ATTACKER) = gBattlerAttacker; + BYTE_TO_SEND(LINK_BUFF_TARGET) = gBattlerTarget; + BYTE_TO_SEND(LINK_BUFF_SIZE_LO) = alignedSize; + BYTE_TO_SEND(LINK_BUFF_SIZE_HI) = (alignedSize & 0x0000FF00) >> 8; + BYTE_TO_SEND(LINK_BUFF_ABSENT_BATTLER_FLAGS) = gAbsentBattlerFlags; + BYTE_TO_SEND(LINK_BUFF_EFFECT_BATTLER) = gEffectBattler; for (i = 0; i < size; i++) - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i]; + BYTE_TO_SEND(LINK_BUFF_DATA + i) = data[i]; - gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA; + #undef BYTE_TO_SEND + + gTasks[sLinkSendTaskId].tCurrentBlock_End = gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA; } +enum { + SENDTASK_STATE_INITIALIZE = 0, + SENDTASK_STATE_INITIAL_DELAY = 1, + SENDTASK_STATE_COUNT_PLAYERS = 2, + SENDTASK_STATE_BEGIN_SEND_BLOCK = 3, + SENDTASK_STATE_FINISH_SEND_BLOCK = 4, + SENDTASK_STATE_UNUSED_STATE = 5, +}; + static void Task_HandleSendLinkBuffersData(u8 taskId) { u16 numPlayers; u16 blockSize; - switch (gTasks[taskId].data[11]) + #define BYTE_TO_SEND(offset) \ + gLinkBattleSendBuffer[gTasks[taskId].tCurrentBlock_Start + offset] + + switch (gTasks[taskId].tState) { - case 0: - gTasks[taskId].data[10] = 100; - gTasks[taskId].data[11]++; + case SENDTASK_STATE_INITIALIZE: + gTasks[taskId].tInitialDelayTimer = 100; + gTasks[taskId].tState++; break; - case 1: - gTasks[taskId].data[10]--; - if (gTasks[taskId].data[10] == 0) - gTasks[taskId].data[11]++; + case SENDTASK_STATE_INITIAL_DELAY: + gTasks[taskId].tInitialDelayTimer--; + if (gTasks[taskId].tInitialDelayTimer == 0) + gTasks[taskId].tState++; break; - case 2: + case SENDTASK_STATE_COUNT_PLAYERS: if (gWirelessCommType) { - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } else { @@ -761,56 +802,66 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) if (IsLinkMaster()) { CheckShouldAdvanceLinkState(); - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } else { - gTasks[taskId].data[11]++; + gTasks[taskId].tState++; } } } break; - case 3: - if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) + case SENDTASK_STATE_BEGIN_SEND_BLOCK: + if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End) { - if (gTasks[taskId].data[13] == 0) + if (gTasks[taskId].tBlockSendDelayTimer == 0) { - if (gTasks[taskId].data[15] > gTasks[taskId].data[14] - && gTasks[taskId].data[15] == gTasks[taskId].data[12]) + if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End + && gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom) { - gTasks[taskId].data[12] = 0; - gTasks[taskId].data[15] = 0; + gTasks[taskId].tCurrentBlock_WrapFrom = 0; + gTasks[taskId].tCurrentBlock_Start = 0; } - blockSize = (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8)) + LINK_BUFF_DATA; - SendBlock(BitmaskAllOtherLinkPlayers(), &gLinkBattleSendBuffer[gTasks[taskId].data[15]], blockSize); - gTasks[taskId].data[11]++; + blockSize = (BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8)) + LINK_BUFF_DATA; + SendBlock(BitmaskAllOtherLinkPlayers(), &BYTE_TO_SEND(0), blockSize); + gTasks[taskId].tState++; } else { - gTasks[taskId].data[13]--; + gTasks[taskId].tBlockSendDelayTimer--; break; } } break; - case 4: + case SENDTASK_STATE_FINISH_SEND_BLOCK: if (IsLinkTaskFinished()) { - blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); - gTasks[taskId].data[13] = 1; - gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA; - gTasks[taskId].data[11] = 3; + blockSize = BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8); + gTasks[taskId].tBlockSendDelayTimer = 1; + gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; + gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK; } break; - case 5: - if (--gTasks[taskId].data[13] == 0) + case SENDTASK_STATE_UNUSED_STATE: + if (--gTasks[taskId].tBlockSendDelayTimer == 0) { - gTasks[taskId].data[13] = 1; - gTasks[taskId].data[11] = 3; + gTasks[taskId].tBlockSendDelayTimer = 1; + gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK; } break; } + + #undef BYTE_TO_SEND } +// We have received a message. Place it into the "receive" buffer. +// +// Counterintuitively, we also "receive" the outbound messages that +// we send to other players. The GBA basically stores communicated +// data for all four players, so inbound and outbound data can be +// handled uniformly unless a game specifically decides to do +// otherwise. Pokemon, evidently, did not specifically decide to do +// otherwise. void TryReceiveLinkBattleData(void) { u8 i; @@ -830,19 +881,19 @@ void TryReceiveLinkBattleData(void) u8 *dest, *src; u16 dataSize = gBlockRecvBuffer[i][2]; - if (gTasks[sLinkReceiveTaskId].data[14] + 9 + dataSize > 0x1000) + if (gTasks[sLinkReceiveTaskId].tCurrentBlock_End + 9 + dataSize > 0x1000) { - gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14]; - gTasks[sLinkReceiveTaskId].data[14] = 0; + gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkReceiveTaskId].tCurrentBlock_End; + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0; } - dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]]; + dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].tCurrentBlock_End]; src = recvBuffer; for (j = 0; j < dataSize + 8; j++) dest[j] = src[j]; - gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + dataSize + 8; + gTasks[sLinkReceiveTaskId].tCurrentBlock_End = gTasks[sLinkReceiveTaskId].tCurrentBlock_End + dataSize + 8; } } } @@ -852,50 +903,62 @@ void TryReceiveLinkBattleData(void) static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) { u16 blockSize; - u8 battlerId; - u8 var; + u8 battler; + u8 playerId; - if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) + #define BYTE_TO_RECEIVE(offset) \ + gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + offset] + + if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End) { - if (gTasks[taskId].data[15] > gTasks[taskId].data[14] - && gTasks[taskId].data[15] == gTasks[taskId].data[12]) + if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End + && gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom) { - gTasks[taskId].data[12] = 0; - gTasks[taskId].data[15] = 0; + gTasks[taskId].tCurrentBlock_WrapFrom = 0; + gTasks[taskId].tCurrentBlock_Start = 0; } - battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER]; - blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); + battler = BYTE_TO_RECEIVE(LINK_BUFF_ACTIVE_BATTLER); + blockSize = BYTE_TO_RECEIVE(LINK_BUFF_SIZE_LO) | (BYTE_TO_RECEIVE(LINK_BUFF_SIZE_HI) << 8); - switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) + switch (BYTE_TO_RECEIVE(0)) { - case 0: - if (gBattleControllerExecFlags & gBitTable[battlerId]) + case B_COMM_TO_CONTROLLER: + if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler)) return; - memcpy(gBattleBufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); - MarkBattlerReceivedLinkData(battlerId); + memcpy(gBattleBufferA[battler], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize); + MarkBattlerReceivedLinkData(battler); if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { - gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ATTACKER]; - gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_TARGET]; - gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ABSENT_BATTLER_FLAGS]; - gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_EFFECT_BATTLER]; + gBattlerAttacker = BYTE_TO_RECEIVE(LINK_BUFF_ATTACKER); + gBattlerTarget = BYTE_TO_RECEIVE(LINK_BUFF_TARGET); + gAbsentBattlerFlags = BYTE_TO_RECEIVE(LINK_BUFF_ABSENT_BATTLER_FLAGS); + gEffectBattler = BYTE_TO_RECEIVE(LINK_BUFF_EFFECT_BATTLER); } break; - case 1: - memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + case B_COMM_TO_ENGINE: + memcpy(gBattleBufferB[battler], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize); break; - case 2: - var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; - gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (var * 4)); + case B_COMM_CONTROLLER_IS_DONE: + playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA); + MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId); break; } - gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA; + gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA; } + + #undef BYTE_TO_RECEIVE } +#undef tInitialDelayTimer +#undef tState +#undef tCurrentBlock_WrapFrom +#undef tBlockSendDelayTimer +#undef tCurrentBlock_End +#undef tCurrentBlock_Start + void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) { sBattleBuffersTransferData[0] = CONTROLLER_GETMONDATA; @@ -1065,15 +1128,15 @@ void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 m PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 16 + sizeof(struct DisableStruct)); } -void BtlController_EmitPrintString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintString(u8 bufferId, u16 stringId) { s32 i; struct BattleMsgData *stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING; sBattleBuffersTransferData[1] = gBattleOutcome; - sBattleBuffersTransferData[2] = stringID; - sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; + sBattleBuffersTransferData[2] = stringId; + sBattleBuffersTransferData[3] = (stringId & 0xFF00) >> 8; stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; @@ -1097,15 +1160,15 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4); } -void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId) { s32 i; struct BattleMsgData *stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; - sBattleBuffersTransferData[2] = stringID; - sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; + sBattleBuffersTransferData[2] = stringId; + sBattleBuffersTransferData[3] = (stringId & 0xFF00) >> 8; stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; @@ -1417,10 +1480,10 @@ void BtlController_EmitFaintingCry(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId) +void BtlController_EmitIntroSlide(u8 bufferId, u8 environmentId) { sBattleBuffersTransferData[0] = CONTROLLER_INTROSLIDE; - sBattleBuffersTransferData[1] = terrainId; + sBattleBuffersTransferData[1] = environmentId; PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); } @@ -1433,7 +1496,7 @@ void BtlController_EmitIntroTrainerBallThrow(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags) +void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus *hpAndStatus, u8 flags) { s32 i; diff --git a/src/battle_dome.c b/src/battle_dome.c index 8364515e59..62ad04cedb 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -997,7 +997,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreePokeballSelected[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] = +static const union AnimCmd *const sSpriteAnimTable_TourneyTreePokeball[] = { sSpriteAnim_TourneyTreePokeballNormal, sSpriteAnim_TourneyTreePokeballSelected, @@ -1027,7 +1027,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonSelected[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] = +static const union AnimCmd *const sSpriteAnimTable_TourneyTreeCancelButton[] = { sSpriteAnim_TourneyTreeCancelButtonNormal, sSpriteAnim_TourneyTreeCancelButtonSelected, @@ -1056,7 +1056,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonSelected[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] = +static const union AnimCmd *const sSpriteAnimTable_TourneyTreeExitButton[] = { sSpriteAnim_TourneyTreeExitButtonNormal, sSpriteAnim_TourneyTreeExitButtonSelected, @@ -1097,13 +1097,13 @@ static const union AnimCmd sSpriteAnim_RightArrow[] = ANIMCMD_END, }; -static const union AnimCmd * const sSpriteAnimTable_VerticalScrollArrow[] = +static const union AnimCmd *const sSpriteAnimTable_VerticalScrollArrow[] = { sSpriteAnim_UpArrow, sSpriteAnim_DownArrow, }; -static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] = +static const union AnimCmd *const sSpriteAnimTable_HorizontalScrollArrow[] = { sSpriteAnim_LeftArrow, sSpriteAnim_RightArrow, @@ -1134,7 +1134,7 @@ static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate = // Organized by seed starting position, i.e. seed 0 battles seed 8 first static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1}; -static void (* const sBattleDomeFunctions[])(void) = +static void (*const sBattleDomeFunctions[])(void) = { [BATTLE_DOME_FUNC_INIT] = InitDomeChallenge, [BATTLE_DOME_FUNC_GET_DATA] = GetDomeData, @@ -2588,7 +2588,7 @@ static void CreateDomeOpponentMon(u8 monPartyId, u16 tournamentTrainerId, u8 tou #ifdef BUGFIX u8 fixedIv = GetDomeTrainerMonIvs(DOME_TRAINERS[tournamentTrainerId].trainerId); #else - u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Using the wrong ID. As a result, all Pokemon have ivs of 3. + u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Using the wrong ID. As a result, all Pokémon have ivs of 3. #endif u8 level = SetFacilityPtrsGetLevel(); CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId], @@ -2650,13 +2650,13 @@ static void CreateDomeOpponentMons(u16 tournamentTrainerId) } } -// Returns a bitmask representing which 2 of the trainer's 3 pokemon to select. +// Returns a bitmask representing which 2 of the trainer's 3 Pokémon to select. // The choice is calculated solely depending on the type effectiveness of their -// movesets against the player's pokemon. +// movesets against the player's Pokémon. // There is a 50% chance of either a "good" or "bad" selection mode being used. // In the good mode movesets are preferred which are more effective against the -// player, and in the bad mode the opposite is true. If all 3 pokemon tie, the -// other mode will be tried. If they tie again, the pokemon selection is random. +// player, and in the bad mode the opposite is true. If all 3 Pokémon tie, the +// other mode will be tried. If they tie again, the Pokémon selection is random. int GetDomeTrainerSelectedMons(u16 tournamentTrainerId) { int selectedMonBits; @@ -2678,24 +2678,24 @@ int GetDomeTrainerSelectedMons(u16 tournamentTrainerId) static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom) { - int i, moveId, playerMonId; + int i, moveIndex, playerMonId; int partyMovePoints[FRONTIER_PARTY_SIZE]; for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { partyMovePoints[i] = 0; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD); } else { - partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD); } } @@ -2707,24 +2707,24 @@ static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom) // Identical to function above, but uses EFFECTIVENESS_MODE_BAD static int SelectOpponentMons_Bad(u16 tournamentTrainerId, bool8 allowRandom) { - int i, moveId, playerMonId; + int i, moveIndex, playerMonId; int partyMovePoints[FRONTIER_PARTY_SIZE]; for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { partyMovePoints[i] = 0; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++) { if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN) { - partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId), + partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex), GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD); } else { - partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId], + partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex], GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD); } } @@ -4837,7 +4837,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) if (lost[1]) gSprites[sInfoCard->spriteIds[1 + arrId]].oam.paletteNum = 3; - // Draw left trainer's pokemon icons. + // Draw left trainer's Pokémon icons. for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (trainerIds[0] == TRAINER_PLAYER) @@ -4877,7 +4877,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo) } } - // Draw right trainer's pokemon icons. + // Draw right trainer's Pokémon icons. for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { if (trainerIds[1] == TRAINER_PLAYER) @@ -5222,13 +5222,13 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { int i, j, k; int moveScores[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; - u16 moveIds[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; + u16 moves[MAX_MON_MOVES * FRONTIER_PARTY_SIZE]; u16 bestScore = 0; u16 bestId = 0; int movePower = 0; SetFacilityPtrsGetLevel(); - // Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons. + // Calc move points of all 4 moves for all 3 Pokémon hitting all 3 target mons. for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { for (j = 0; j < MAX_MON_MOVES; j++) @@ -5236,17 +5236,17 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun // TODO: Clean this up, looks like a different data structure (2D array) moveScores[i * MAX_MON_MOVES + j] = 0; if (DOME_TRAINERS[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN) - moveIds[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); + moves[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j); else - moveIds[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; + moves[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j]; - movePower = gBattleMoves[moveIds[i * MAX_MON_MOVES + j]].power; + movePower = gBattleMoves[moves[i * MAX_MON_MOVES + j]].power; if (movePower == 0) movePower = 40; else if (movePower == 1) movePower = 60; - else if (moveIds[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT - || moveIds[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION) + else if (moves[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT + || moves[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION) movePower /= 2; for (k = 0; k < FRONTIER_PARTY_SIZE; k++) @@ -5265,7 +5265,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun else targetAbility = gSpeciesInfo[targetSpecies].abilities[0]; - var = AI_TypeCalc(moveIds[i * MAX_MON_MOVES + j], targetSpecies, targetAbility); + var = AI_TypeCalc(moves[i * MAX_MON_MOVES + j], targetSpecies, targetAbility); if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE && var & MOVE_RESULT_SUPER_EFFECTIVE) moveScores[i * MAX_MON_MOVES + j] += movePower; else if (var & MOVE_RESULT_NO_EFFECT) @@ -5285,7 +5285,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun } else if (bestScore == moveScores[i * MAX_MON_MOVES + j]) { - if (moveIds[bestId] < moveIds[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? + if (moves[bestId] < moves[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id? bestId = i * MAX_MON_MOVES + j; } } @@ -5296,7 +5296,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun { for (i = 0; i < roundId - 1; i++) { - if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moveIds[j]) + if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moves[j]) break; } if (i != roundId - 1) @@ -5316,7 +5316,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun j = k; bestScore = moveScores[k]; } - else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) // Yes, these conditions are redundant + else if (bestScore == moveScores[k] && moves[j] < moves[k]) // Yes, these conditions are redundant { j = k; bestScore = moveScores[k]; @@ -5328,7 +5328,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun if (moveScores[j] == 0) j = bestId; - return moveIds[j]; + return moves[j]; } static void Task_ShowTourneyTree(u8 taskId) diff --git a/src/battle_factory.c b/src/battle_factory.c index 0f4ed9816d..04961430a0 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -121,7 +121,7 @@ static const u16 *const sMoveStyles[FACTORY_NUM_STYLES - 1] = [FACTORY_STYLE_WEATHER - 1] = sMoves_DependsOnTheBattlesFlow, }; -static void (* const sBattleFactoryFunctions[])(void) = +static void (*const sBattleFactoryFunctions[])(void) = { [BATTLE_FACTORY_FUNC_INIT] = InitFactoryChallenge, [BATTLE_FACTORY_FUNC_GET_DATA] = GetBattleFactoryData, @@ -337,7 +337,7 @@ static void GenerateOpponentMons(void) if (gFacilityTrainerMons[monId].species == SPECIES_UNOWN) continue; - // Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player + // Ensure none of the opponent's Pokémon are the same as the potential rental Pokémon for the player for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) { if (gFacilityTrainerMons[monId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species) @@ -346,7 +346,7 @@ static void GenerateOpponentMons(void) if (j != (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons)) continue; - // "High tier" pokemon are only allowed on open level mode + // "High tier" Pokémon are only allowed on open level mode if (lvlMode == FRONTIER_LVL_50 && monId > FRONTIER_MONS_HIGH_TIER) continue; @@ -554,7 +554,7 @@ static void GenerateInitialRentalMons(void) i = 0; while (i != PARTY_SIZE) { - if (i < rentalRank) // The more times the player has rented, the more initial rentals are generated from a better set of pokemon + if (i < rentalRank) // The more times the player has rented, the more initial rentals are generated from a better set of Pokémon monId = GetFactoryMonId(factoryLvlMode, challengeNum, TRUE); else monId = GetFactoryMonId(factoryLvlMode, challengeNum, FALSE); @@ -562,7 +562,7 @@ static void GenerateInitialRentalMons(void) if (gFacilityTrainerMons[monId].species == SPECIES_UNOWN) continue; - // Cannot have two pokemon of the same species. + // Cannot have two Pokémon of the same species. for (j = firstMonId; j < firstMonId + i; j++) { u16 existingMonId = monIds[j]; diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index a543e64c93..eea04b99d3 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -32,15 +32,15 @@ #include "constants/songs.h" #include "constants/rgb.h" -// Select_ refers to the first Pokemon selection screen where you choose your initial 3 rental Pokemon. -// Swap_ refers to the subsequent selection screens where you can swap a Pokemon with one from the beaten trainer +// Select_ refers to the first Pokémon selection screen where you choose your initial 3 rental Pokémon. +// Swap_ refers to the subsequent selection screens where you can swap a Pokémon with one from the beaten trainer // Note that, generally, "Action" will refer to the immediate actions that can be taken on each screen, -// i.e. selecting a pokemon or selecting the Cancel button +// i.e. selecting a Pokémon or selecting the Cancel button // The "Options menu" will refer to the popup menu that shows when some actions have been selected -#define SWAP_PLAYER_SCREEN 0 // The screen where the player selects which of their pokemon to swap away -#define SWAP_ENEMY_SCREEN 1 // The screen where the player selects which new pokemon from the defeated party to swap for +#define SWAP_PLAYER_SCREEN 0 // The screen where the player selects which of their Pokémon to swap away +#define SWAP_ENEMY_SCREEN 1 // The screen where the player selects which new Pokémon from the defeated party to swap for #define SELECTABLE_MONS_COUNT 6 @@ -89,7 +89,7 @@ struct FactorySelectableMon { u16 monId; u16 ballSpriteId; - u8 selectedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon + u8 selectedId; // 0 - not selected, 1 - first Pokémon, 2 - second Pokémon, 3 - third Pokémon struct Pokemon monData; }; @@ -256,7 +256,7 @@ static struct FactorySelectScreen *sFactorySelectScreen; static void (*sSwap_CurrentOptionFunc)(u8 taskId); static struct FactorySwapScreen *sFactorySwapScreen; -u8 (*gFactorySelect_CurrentOptionFunc)(void); +COMMON_DATA u8 (*gFactorySelect_CurrentOptionFunc)(void) = NULL; static const u16 sPokeballGray_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_screen/pokeball_gray.gbapal"); static const u16 sPokeballSelected_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_screen/pokeball_selected.gbapal"); @@ -299,7 +299,7 @@ static const struct SpritePalette sSelect_SpritePalettes[] = {}, }; -u8 static (* const sSelect_MenuOptionFuncs[])(void) = +u8 static (*const sSelect_MenuOptionFuncs[])(void) = { Select_OptionSummary, Select_OptionRentDeselect, @@ -517,17 +517,17 @@ static const union AnimCmd sAnim_Select_Pokeball_Moving[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_Select_Interface[] = +static const union AnimCmd *const sAnims_Select_Interface[] = { sAnim_Select_Interface, }; -static const union AnimCmd * const sAnims_Select_MonPicBgAnim[] = +static const union AnimCmd *const sAnims_Select_MonPicBgAnim[] = { sAnim_Select_MonPicBgAnim, }; -static const union AnimCmd * const sAnims_Select_Pokeball[] = +static const union AnimCmd *const sAnims_Select_Pokeball[] = { sAnim_Select_Pokeball_Still, sAnim_Select_Pokeball_Moving, @@ -569,7 +569,7 @@ static const union AffineAnimCmd sAffineAnim_Select_MonPicBg_Open[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const sAffineAnims_Select_MonPicBgAnim[] = +static const union AffineAnimCmd *const sAffineAnims_Select_MonPicBgAnim[] = { sAffineAnim_Select_MonPicBg_Opening, sAffineAnim_Select_MonPicBg_Closing, @@ -772,17 +772,17 @@ static const union AnimCmd sAnim_Swap_Pokeball_Moving[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_Swap_Interface[] = +static const union AnimCmd *const sAnims_Swap_Interface[] = { sAnim_Swap_Interface, }; -static const union AnimCmd * const sAnims_Swap_MonPicBgAnim[] = +static const union AnimCmd *const sAnims_Swap_MonPicBgAnim[] = { sAnim_Swap_MonPicBgAnim, }; -static const union AnimCmd * const sAnims_Swap_Pokeball[] = +static const union AnimCmd *const sAnims_Swap_Pokeball[] = { sAnim_Swap_Pokeball_Still, sAnim_Swap_Pokeball_Moving, @@ -824,7 +824,7 @@ static const union AffineAnimCmd sAffineAnim_Swap_MonPicBg_Open[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const sAffineAnims_Swap_MonPicBgAnim[] = +static const union AffineAnimCmd *const sAffineAnims_Swap_MonPicBgAnim[] = { sAffineAnim_Swap_MonPicBg_Opening, sAffineAnim_Swap_MonPicBg_Closing, @@ -886,7 +886,7 @@ static const struct SpriteTemplate sSpriteTemplate_Swap_MonPicBgAnim = .callback = SpriteCallbackDummy }; -void static (* const sSwap_MenuOptionFuncs[])(u8 taskId) = +void static (*const sSwap_MenuOptionFuncs[])(u8 taskId) = { Swap_OptionSummary, Swap_OptionSwap, @@ -1060,7 +1060,7 @@ static void SpriteCB_Pokeball(struct Sprite *sprite) { if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(PALTAG_BALL_SELECTED)) { - // Pokeball selected, do rocking animation + // Poké Ball selected, do rocking animation if (sprite->animEnded) { if (sprite->data[0] != 0) @@ -1084,7 +1084,7 @@ static void SpriteCB_Pokeball(struct Sprite *sprite) } else { - // Pokeball not selected, remain still + // Poké Ball not selected, remain still StartSpriteAnimIfDifferent(sprite, 0); } } @@ -1521,7 +1521,7 @@ static void Select_Task_Exit(u8 taskId) } } -// Handles the Yes/No prompt when confirming the 3 selected rental pokemon +// Handles the Yes/No prompt when confirming the 3 selected rental Pokémon static void Select_Task_HandleYesNo(u8 taskId) { if (sFactorySelectScreen->monPicAnimating == TRUE) @@ -1543,14 +1543,14 @@ static void Select_Task_HandleYesNo(u8 taskId) PlaySE(SE_SELECT); if (sFactorySelectScreen->yesNoCursorPos == 0) { - // Selected Yes, confirmed selected pokemon + // Selected Yes, confirmed selected Pokémon Select_HideChosenMons(); gTasks[taskId].tState = 0; gTasks[taskId].func = Select_Task_Exit; } else { - // Selected No, continue choosing pokemon + // Selected No, continue choosing Pokémon Select_ErasePopupMenu(SELECT_WIN_YES_NO); Select_DeclineChosenMons(); sFactorySelectScreen->fadeSpeciesNameActive = TRUE; @@ -1560,7 +1560,7 @@ static void Select_Task_HandleYesNo(u8 taskId) } else if (JOY_NEW(B_BUTTON)) { - // Pressed B, Continue choosing pokemon + // Pressed B, Continue choosing Pokémon PlaySE(SE_SELECT); Select_ErasePopupMenu(SELECT_WIN_YES_NO); Select_DeclineChosenMons(); @@ -1582,7 +1582,7 @@ static void Select_Task_HandleYesNo(u8 taskId) } } -// Handles the popup menu that shows when a pokemon is selected +// Handles the popup menu that shows when a Pokémon is selected static void Select_Task_HandleMenu(u8 taskId) { switch (gTasks[taskId].tState) @@ -2415,7 +2415,7 @@ static void Swap_Task_Exit(u8 taskId) { case 0: // Set return value for script - // TRUE if player kept their current pokemon + // TRUE if player kept their current Pokémon if (sFactorySwapScreen->monSwapped == TRUE) { gTasks[taskId].tState++; @@ -2630,7 +2630,7 @@ static void Swap_Task_HandleMenu(u8 taskId) } } -// Handles input on the two main swap screens (choosing a current pokeon to get rid of, and choosing a new pokemon to receive) +// Handles input on the two main swap screens (choosing a current pokeon to get rid of, and choosing a new Pokémon to receive) static void Swap_Task_HandleChooseMons(u8 taskId) { switch (gTasks[taskId].tState) @@ -2645,7 +2645,7 @@ static void Swap_Task_HandleChooseMons(u8 taskId) case STATE_CHOOSE_MONS_HANDLE_INPUT: if (JOY_NEW(A_BUTTON)) { - // Run whatever action is currently selected (a pokeball, the Cancel button, etc.) + // Run whatever action is currently selected (a Poké Ball, the Cancel button, etc.) PlaySE(SE_SELECT); sFactorySwapScreen->fadeSpeciesNameActive = FALSE; Swap_PrintMonSpeciesAtFade(); @@ -3553,7 +3553,7 @@ static void Swap_HandleActionCursorChange(u8 cursorId) { if (cursorId < FRONTIER_PARTY_SIZE) { - // Cursor is on one of the pokemon + // Cursor is on one of the Pokémon gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE; Swap_HideActionButtonHighlights(); gSprites[sFactorySwapScreen->cursorSpriteId].x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].x; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index d4326860a9..7047aaabcc 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -27,8 +27,8 @@ #include "constants/battle_palace.h" extern const u8 gBattlePalaceNatureToMoveTarget[]; -extern const u8 * const gBattleAnims_General[]; -extern const u8 * const gBattleAnims_Special[]; +extern const u8 *const gBattleAnims_General[]; +extern const u8 *const gBattleAnims_Special[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; @@ -105,7 +105,7 @@ void FreeBattleSpritesData(void) FREE_AND_SET_NULL(gBattleSpritesDataPtr); } -// Pokemon chooses move to use in Battle Palace rather than player +// Pokémon chooses move to use in Battle Palace rather than player u16 ChooseMoveAndTargetInBattlePalace(void) { s32 i, var1, var2; @@ -165,7 +165,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) chosenMoveId = BattleAI_ChooseMoveOrAction(); } - // If no moves matched the selected group, pick a new move from groups the pokemon has + // If no moves matched the selected group, pick a new move from groups the Pokémon has // In this case the AI is not checked again, so the choice may be worse // If a move is chosen this way, there's a 50% chance that it will be unable to use it anyway if (chosenMoveId == -1) @@ -264,7 +264,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) if (moveInfo->moves[chosenMoveId] == MOVE_CURSE) { - if (moveInfo->monType1 != TYPE_GHOST && moveInfo->monType2 != TYPE_GHOST) + if (moveInfo->monTypes[0] != TYPE_GHOST && moveInfo->monTypes[1] != TYPE_GHOST) moveTarget = MOVE_TARGET_USER; else moveTarget = MOVE_TARGET_SELECTED; @@ -357,7 +357,7 @@ static u16 GetBattlePalaceTarget(void) return BATTLE_OPPOSITE(gActiveBattler) << 8; } -// Wait for the pokemon to finish appearing out from the pokeball on send out +// Wait for the Pokémon to finish appearing out from the Poké Ball on send out void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite) { u8 spriteId = sprite->data[1]; @@ -545,19 +545,19 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId) #undef tBattlerId // Great function to include newly added moves that don't have animation yet. -bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn) +bool8 IsMoveWithoutAnimation(u16 move, u8 animationTurn) { return FALSE; } // Check if SE has finished or 30 calls, whichever comes first -bool8 IsBattleSEPlaying(u8 battlerId) +bool8 IsBattleSEPlaying(u8 battler) { u8 zero = 0; if (IsSEPlaying()) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer++; + gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer++; if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].soundTimer < 30) return TRUE; @@ -566,7 +566,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) } if (zero == 0) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer = 0; return FALSE; } @@ -574,7 +574,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) return TRUE; } -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler) { u32 monsPersonality, currentPersonality, otId; u16 species; @@ -584,50 +584,50 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) { species = GetMonData(mon, MON_DATA_SPECIES); currentPersonality = monsPersonality; } else { - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; - currentPersonality = gTransformedPersonalities[battlerId]; + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + currentPersonality = gTransformedPersonalities[battler]; } otId = GetMonData(mon, MON_DATA_OT_ID); - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites.ptr[position], species, currentPersonality); - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battler]], paletteOffset, PLTT_SIZE_4BPP); } - // transform's pink color - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + // transform's white color + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); } } -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battler) { u32 monsPersonality, currentPersonality, otId; u16 species; @@ -637,21 +637,21 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) { species = GetMonData(mon, MON_DATA_SPECIES); currentPersonality = monsPersonality; } else { - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; - currentPersonality = gTransformedPersonalities[battlerId]; + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + currentPersonality = gTransformedPersonalities[battler]; } otId = GetMonData(mon, MON_DATA_OT_ID); - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); - if (ShouldIgnoreDeoxysForm(1, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + if (ShouldIgnoreDeoxysForm(1, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites.ptr[position], @@ -664,26 +664,26 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) species, currentPersonality); } - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); if (species == SPECIES_CASTFORM) { - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); + LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battler]], paletteOffset, PLTT_SIZE_4BPP); } // transform's pink color - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); @@ -698,23 +698,23 @@ void BattleGfxSfxDummy2(u16 species) { } -void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) +void DecompressTrainerFrontPic(u16 frontPicId, u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]); } -void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) +void DecompressTrainerBackPic(u16 backPicId, u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, - OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + OBJ_PLTT_ID(battler), PLTT_SIZE_4BPP); } void BattleGfxSfxDummy3(u8 gender) @@ -773,13 +773,21 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) LoadCompressedSpriteSheet(&sSpriteSheet_SinglesPlayerHealthbox); } else if (state == 3) + { LoadCompressedSpriteSheet(&sSpriteSheet_SinglesOpponentHealthbox); + } else if (state == 4) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + { + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_0]]); + } else if (state == 5) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + { + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_1]]); + } else + { retVal = TRUE; + } } else { @@ -792,13 +800,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) else if (state == 5) LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]); else if (state == 6) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_0]]); else if (state == 7) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_1]]); else if (state == 8) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[2]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_2]]); else if (state == 9) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[3]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_3]]); else retVal = TRUE; } @@ -812,7 +820,7 @@ void LoadBattleBarGfx(u8 unused) LZDecompressWram(gBattleInterfaceGfx_BattleBar, gMonSpritesGfxPtr->barFontGfx); } -bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) +bool8 BattleInitAllSprites(u8 *state1, u8 *battler) { bool8 retVal = FALSE; @@ -823,13 +831,13 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) (*state1)++; break; case 1: - if (!BattleLoadAllHealthBoxesGfx(*battlerId)) + if (!BattleLoadAllHealthBoxesGfx(*battler)) { - (*battlerId)++; + (*battler)++; } else { - *battlerId = 0; + *battler = 0; (*state1)++; } break; @@ -837,47 +845,47 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) (*state1)++; break; case 3: - if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battlerId == 0) - gHealthboxSpriteIds[*battlerId] = CreateSafariPlayerHealthboxSprites(); + if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battler == 0) + gHealthboxSpriteIds[*battler] = CreateSafariPlayerHealthboxSprites(); else - gHealthboxSpriteIds[*battlerId] = CreateBattlerHealthboxSprites(*battlerId); + gHealthboxSpriteIds[*battler] = CreateBattlerHealthboxSprites(*battler); - (*battlerId)++; - if (*battlerId == gBattlersCount) + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; case 4: - InitBattlerHealthboxCoords(*battlerId); - if (gBattlerPositions[*battlerId] <= B_POSITION_OPPONENT_LEFT) - DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE); + InitBattlerHealthboxCoords(*battler); + if (gBattlerPositions[*battler] <= B_POSITION_OPPONENT_LEFT) + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], FALSE); else - DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE); + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], TRUE); - (*battlerId)++; - if (*battlerId == gBattlersCount) + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; case 5: - if (GetBattlerSide(*battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(*battler) == B_SIDE_PLAYER) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gPlayerParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gPlayerParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL); } else { - UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gEnemyParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gEnemyParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL); } - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battlerId]); - (*battlerId)++; - if (*battlerId == gBattlersCount) + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battler]); + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; @@ -911,9 +919,9 @@ void CopyAllBattleSpritesInvisibilities(void) gBattleSpritesDataPtr->battlerData[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible; } -void CopyBattleSpriteInvisibility(u8 battlerId) +void CopyBattleSpriteInvisibility(u8 battler) { - gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible; + gBattleSpritesDataPtr->battlerData[battler].invisible = gSprites[gBattlerSpriteIds[battler]].invisible; } void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform) @@ -1015,7 +1023,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform) } } -void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) +void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite) { s32 i, position, palOffset; @@ -1024,11 +1032,11 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) if (IsContest()) position = B_POSITION_PLAYER_LEFT; else - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); if (IsContest()) LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) LZDecompressVram(gSubstituteDollFrontGfx, gMonSpritesGfxPtr->sprites.ptr[position]); else LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); @@ -1038,66 +1046,66 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) Dma3CopyLarge32_(gMonSpritesGfxPtr->sprites.ptr[position], &gMonSpritesGfxPtr->sprites.byte[position][MON_PIC_SIZE * i], MON_PIC_SIZE); } - palOffset = OBJ_PLTT_ID(battlerId); + palOffset = OBJ_PLTT_ID(battler); LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP); } else { if (!IsContest()) { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); else - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); } } } -void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId) +void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId) { - BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite); - StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]); + BattleLoadSubstituteOrMonSpriteGfx(battler, loadMonSprite); + StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battler]); if (!loadMonSprite) - gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId); + gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battler); else - gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battlerId); + gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battler); } -void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move) +void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move) { if (move == MOVE_SUBSTITUTE) - gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 1; + gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 1; } -void ClearBehindSubstituteBit(u8 battlerId) +void ClearBehindSubstituteBit(u8 battler) { - gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 0; + gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 0; } -void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler) { u16 hp = GetMonData(mon, MON_DATA_HP); u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP); if (GetHPBarLevel(hp, maxHP) == HP_BAR_RED) { - if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[battler].lowHpSong) { - if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong) PlaySE(SE_LOW_HEALTH); - gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1; + gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 1; } } else { - gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0; + gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 0; if (!IsDoubleBattle()) { m4aSongNumStop(SE_LOW_HEALTH); return; } - if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) + if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong) { m4aSongNumStop(SE_LOW_HEALTH); return; @@ -1166,46 +1174,46 @@ void SetBattlerSpriteAffineMode(u8 affineMode) void LoadAndCreateEnemyShadowSprites(void) { - u8 battlerId; + u8 battler; LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X), - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29, + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, 0xC8); - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; if (IsDoubleBattle()) { - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X), - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29, + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, 0xC8); - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; } } void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) { bool8 invisible = FALSE; - u8 battlerId = shadowSprite->tBattlerId; - struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battlerId]]; + u8 battler = shadowSprite->tBattlerId; + struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battler]]; - if (!battlerSprite->inUse || !IsBattlerSpritePresent(battlerId)) + if (!battlerSprite->inUse || !IsBattlerSpritePresent(battler)) { shadowSprite->callback = SpriteCB_SetInvisible; return; } if (gAnimScriptActive || battlerSprite->invisible) invisible = TRUE; - else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE - && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0) + else if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE + && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battler].transformSpecies] == 0) invisible = TRUE; - if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute) + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) invisible = TRUE; shadowSprite->x = battlerSprite->x; @@ -1220,24 +1228,24 @@ void SpriteCB_SetInvisible(struct Sprite *sprite) sprite->invisible = TRUE; } -void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species) +void SetBattlerShadowSpriteCallback(u8 battler, u16 species) { // The player's shadow is never seen. - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return; - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; if (gEnemyMonElevation[species] != 0) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_EnemyShadow; else - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; } -void HideBattlerShadowSprite(u8 battlerId) +void HideBattlerShadowSprite(u8 battler) { - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; } // Color the background tiles surrounding the action selection and move windows @@ -1264,12 +1272,12 @@ void FillAroundBattleWindows(void) } } -void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute) +void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute) { - gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE; - gBattleMonForms[battlerId] = 0; + gBattleSpritesDataPtr->battlerData[battler].transformSpecies = SPECIES_NONE; + gBattleMonForms[battler] = 0; if (!dontClearSubstitute) - ClearBehindSubstituteBit(battlerId); + ClearBehindSubstituteBit(battler); } void AllocateMonSpritesGfx(void) diff --git a/src/battle_interface.c b/src/battle_interface.c index a417be4a72..4262ceeb93 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -866,7 +866,7 @@ static void UNUSED Debug_DrawNumberPair(s16 number1, s16 number2, u16 *dest) #define hBar_HealthBoxSpriteId data[5] #define hBar_Data6 data[6] -u8 CreateBattlerHealthboxSprites(u8 battlerId) +u8 CreateBattlerHealthboxSprites(u8 battler) { s16 data6 = 0; u8 healthboxLeftSpriteId, healthboxRightSpriteId; @@ -875,7 +875,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) if (!IsDoubleBattle()) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); @@ -901,10 +901,10 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); - healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; @@ -916,8 +916,8 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } else { - healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); - healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1); gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; @@ -929,16 +929,16 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId) } } - healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0); + healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battler]], 140, 60, 0); healthBarSpritePtr = &gSprites[healthbarSpriteId]; - SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battlerId)]); + SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battler)]); healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; healthBarSpritePtr->oam.priority = 1; CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64); gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId; - gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId; + gSprites[healthboxLeftSpriteId].hMain_Battler = battler; gSprites[healthboxLeftSpriteId].invisible = TRUE; gSprites[healthboxRightSpriteId].invisible = TRUE; @@ -1012,13 +1012,13 @@ static void SpriteCB_HealthBoxOther(struct Sprite *sprite) sprite->y2 = gSprites[healthboxMainSpriteId].y2; } -void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) +void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) { - gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId = healthboxSpriteId; - gBattleSpritesDataPtr->battleBars[battlerId].maxValue = maxVal; - gBattleSpritesDataPtr->battleBars[battlerId].oldValue = oldVal; - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue = receivedValue; - gBattleSpritesDataPtr->battleBars[battlerId].currValue = -32768; + gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId = healthboxSpriteId; + gBattleSpritesDataPtr->battleBars[battler].maxValue = maxVal; + gBattleSpritesDataPtr->battleBars[battler].oldValue = oldVal; + gBattleSpritesDataPtr->battleBars[battler].receivedValue = receivedValue; + gBattleSpritesDataPtr->battleBars[battler].currValue = -32768; } void SetHealthboxSpriteInvisible(u8 healthboxSpriteId) @@ -1251,12 +1251,12 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } else { - u8 battlerId; + u8 battler; memcpy(text, sEmptyWhiteText_TransparentHighlight, sizeof(sEmptyWhiteText_TransparentHighlight)); - battlerId = gSprites[healthboxSpriteId].hMain_Battler; + battler = gSprites[healthboxSpriteId].hMain_Battler; - if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) // don't print text if only bars are visible + if (gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) // don't print text if only bars are visible { u8 var = 4; u8 r7; @@ -1297,7 +1297,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side. + if (GetBattlerSide(battler) == B_SIDE_PLAYER) // Impossible to reach part, because the battler is from the opponent's side. { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END), (void *)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP), @@ -1447,7 +1447,7 @@ void SwapHpBarsWithHpText(void) #define tIsBattleStart data[10] #define tBlend data[15] -u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart) +u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart) { bool8 isOpponent; s16 bar_X, bar_Y, bar_pos2_X, bar_data0; @@ -1456,9 +1456,9 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, u8 ballIconSpritesIds[PARTY_SIZE]; u8 taskId; - if (!skipPlayer || GetBattlerPosition(battlerId) != B_POSITION_OPPONENT_RIGHT) + if (!skipPlayer || GetBattlerPosition(battler) != B_POSITION_OPPONENT_RIGHT) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { isOpponent = FALSE; bar_X = 136, bar_Y = 96; @@ -1537,7 +1537,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, gSprites[ballIconSpritesIds[i]].data[2] = isOpponent; } - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -1650,7 +1650,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, } taskId = CreateTask(TaskDummy, 5); - gTasks[taskId].tBattler = battlerId; + gTasks[taskId].tBattler = battler; gTasks[taskId].tSummaryBarSpriteId = summaryBarSpriteId; for (i = 0; i < PARTY_SIZE; i++) @@ -1673,12 +1673,12 @@ void Task_HidePartyStatusSummary(u8 taskId) u8 ballIconSpriteIds[PARTY_SIZE]; bool8 isBattleStart; u8 summaryBarSpriteId; - u8 battlerId; + u8 battler; s32 i; isBattleStart = gTasks[taskId].tIsBattleStart; summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; - battlerId = gTasks[taskId].tBattler; + battler = gTasks[taskId].tBattler; for (i = 0; i < PARTY_SIZE; i++) ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); @@ -1697,7 +1697,7 @@ void Task_HidePartyStatusSummary(u8 taskId) { for (i = 0; i < PARTY_SIZE; i++) { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[1] = 7 * i; gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[3] = 0; @@ -1742,7 +1742,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId) u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].tBattler; + u8 battler = gTasks[taskId].tBattler; if (--gTasks[taskId].tBlend == -1) { u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; @@ -1769,7 +1769,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId) } else if (gTasks[taskId].tBlend == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1780,7 +1780,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId) { u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].tBattler; + u8 battler = gTasks[taskId].tBattler; if (--gTasks[taskId].tBlend >= 0) { @@ -1801,7 +1801,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId) } else if (gTasks[taskId].tBlend == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1969,17 +1969,17 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) { - u8 battlerId, healthBarSpriteId; + u8 battler, healthBarSpriteId; if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) return; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) return; - battlerId = gSprites[healthboxSpriteId].hMain_Battler; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + battler = gSprites[healthboxSpriteId].hMain_Battler; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return; - if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) + if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) return; healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; @@ -1993,17 +1993,17 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) { s32 i; - u8 battlerId, healthBarSpriteId; + u8 battler, healthBarSpriteId; u32 status, pltAdder; const u8 *statusGfxPtr; s16 tileNumAdder; u8 statusPalId; - battlerId = gSprites[healthboxSpriteId].hMain_Battler; + battler = gSprites[healthboxSpriteId].hMain_Battler; healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS); + status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS); if (!IsDoubleBattle()) tileNumAdder = 0x1A; else @@ -2011,33 +2011,33 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } else { - status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS); + status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS); tileNumAdder = 0x11; } if (status & STATUS1_SLEEP) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battler)); statusPalId = PAL_STATUS_SLP; } else if (status & STATUS1_PSN_ANY) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battler)); statusPalId = PAL_STATUS_PSN; } else if (status & STATUS1_BURN) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battler)); statusPalId = PAL_STATUS_BRN; } else if (status & STATUS1_FREEZE) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battler)); statusPalId = PAL_STATUS_FRZ; } else if (status & STATUS1_PARALYSIS) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battler)); statusPalId = PAL_STATUS_PAR; } else @@ -2047,7 +2047,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) for (i = 0; i < 3; i++) CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32); - if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64); TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE); @@ -2055,14 +2055,14 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) } pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum); - pltAdder += battlerId + 12; + pltAdder += battler + 12; FillPalette(sStatusIconColors[statusPalId], OBJ_PLTT_OFFSET + pltAdder, PLTT_SIZEOF(1)); CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_OFFSET + pltAdder], (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1)); CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96); - if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT) { - if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) + if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32); CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void *)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32); @@ -2071,58 +2071,58 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE); } -static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId) +static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battler) { u8 ret = statusElementId; switch (statusElementId) { case HEALTHBOX_GFX_STATUS_PSN_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER3; break; case HEALTHBOX_GFX_STATUS_PRZ_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER3; break; case HEALTHBOX_GFX_STATUS_SLP_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER3; break; case HEALTHBOX_GFX_STATUS_FRZ_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER3; break; case HEALTHBOX_GFX_STATUS_BRN_BATTLER0: - if (battlerId == 0) + if (battler == 0) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER0; - else if (battlerId == 1) + else if (battler == 1) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER1; - else if (battlerId == 2) + else if (battler == 2) ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER2; else ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER3; @@ -2163,10 +2163,10 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId) void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId) { s32 maxHp, currHp; - u8 battlerId = gSprites[healthboxSpriteId].hMain_Battler; + u8 battler = gSprites[healthboxSpriteId].hMain_Battler; if (elementId == HEALTHBOX_ALL && !IsDoubleBattle()) - GetBattlerSide(battlerId); // Pointless function call. + GetBattlerSide(battler); // Pointless function call. if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER) { @@ -2183,8 +2183,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem LoadBattleBarGfx(0); maxHp = GetMonData(mon, MON_DATA_MAX_HP); currHp = GetMonData(mon, MON_DATA_HP); - SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0); + MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0); } isDoubles = IsDoubleBattle(); if (!isDoubles && (elementId == HEALTHBOX_EXP_BAR || elementId == HEALTHBOX_ALL)) @@ -2201,8 +2201,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem currLevelExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; currExpBarValue = exp - currLevelExp; maxExpBarValue = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLevelExp; - SetBattleBarStruct(battlerId, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); - MoveBattleBar(battlerId, healthboxSpriteId, EXP_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); + MoveBattleBar(battler, healthboxSpriteId, EXP_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2222,8 +2222,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem LoadBattleBarGfx(0); maxHp = GetMonData(mon, MON_DATA_MAX_HP); currHp = GetMonData(mon, MON_DATA_HP); - SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0); + MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2235,44 +2235,44 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem #define B_EXPBAR_PIXELS 64 #define B_HEALTHBAR_PIXELS 48 -s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) +s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 unused) { s32 currentBarValue; if (whichBar == HEALTH_BAR) // health bar { - currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, B_HEALTHBAR_PIXELS / 8, 1); } else // exp bar { - u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - gBattleSpritesDataPtr->battleBars[battlerId].maxValue, 8); + u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + gBattleSpritesDataPtr->battleBars[battler].maxValue, 8); if (expFraction == 0) expFraction = 1; - expFraction = abs(gBattleSpritesDataPtr->battleBars[battlerId].receivedValue / expFraction); + expFraction = abs(gBattleSpritesDataPtr->battleBars[battler].receivedValue / expFraction); - currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, B_EXPBAR_PIXELS / 8, expFraction); } - if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)) - MoveBattleBarGraphically(battlerId, whichBar); + if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars)) + MoveBattleBarGraphically(battler, whichBar); if (currentBarValue == -1) - gBattleSpritesDataPtr->battleBars[battlerId].currValue = 0; + gBattleSpritesDataPtr->battleBars[battler].currValue = 0; return currentBarValue; } -static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) +static void MoveBattleBarGraphically(u8 battler, u8 whichBar) { u8 array[8]; u8 filledPixelsCount, level; @@ -2282,10 +2282,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) switch (whichBar) { case HEALTH_BAR: - filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, array, B_HEALTHBAR_PIXELS / 8); if (filledPixelsCount > (B_HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp @@ -2297,7 +2297,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) for (i = 0; i < 6; i++) { - u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId; + u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].hMain_HealthBarSpriteId; if (i < 2) CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32); @@ -2307,12 +2307,12 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) } break; case EXP_BAR: - CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].oldValue, - gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue, + gBattleSpritesDataPtr->battleBars[battler].oldValue, + gBattleSpritesDataPtr->battleBars[battler].receivedValue, + &gBattleSpritesDataPtr->battleBars[battler].currValue, array, B_EXPBAR_PIXELS / 8); - level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL); + level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_LEVEL); if (level == MAX_LEVEL) { for (i = 0; i < 8; i++) @@ -2322,10 +2322,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) { if (i < 4) CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32, - (void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32); else CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32, - (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); + (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32); } break; } diff --git a/src/battle_intro.c b/src/battle_intro.c index 5df697e3ae..0a0226c608 100644 --- a/src/battle_intro.c +++ b/src/battle_intro.c @@ -24,16 +24,16 @@ static void BattleIntroSlidePartner(u8); static const TaskFunc sBattleIntroSlideFuncs[] = { - [BATTLE_TERRAIN_GRASS] = BattleIntroSlide1, - [BATTLE_TERRAIN_LONG_GRASS] = BattleIntroSlide1, - [BATTLE_TERRAIN_SAND] = BattleIntroSlide2, - [BATTLE_TERRAIN_UNDERWATER] = BattleIntroSlide2, - [BATTLE_TERRAIN_WATER] = BattleIntroSlide2, - [BATTLE_TERRAIN_POND] = BattleIntroSlide1, - [BATTLE_TERRAIN_MOUNTAIN] = BattleIntroSlide1, - [BATTLE_TERRAIN_CAVE] = BattleIntroSlide1, - [BATTLE_TERRAIN_BUILDING] = BattleIntroSlide3, - [BATTLE_TERRAIN_PLAIN] = BattleIntroSlide3, + [BATTLE_ENVIRONMENT_GRASS] = BattleIntroSlide1, + [BATTLE_ENVIRONMENT_LONG_GRASS] = BattleIntroSlide1, + [BATTLE_ENVIRONMENT_SAND] = BattleIntroSlide2, + [BATTLE_ENVIRONMENT_UNDERWATER] = BattleIntroSlide2, + [BATTLE_ENVIRONMENT_WATER] = BattleIntroSlide2, + [BATTLE_ENVIRONMENT_POND] = BattleIntroSlide1, + [BATTLE_ENVIRONMENT_MOUNTAIN] = BattleIntroSlide1, + [BATTLE_ENVIRONMENT_CAVE] = BattleIntroSlide1, + [BATTLE_ENVIRONMENT_BUILDING] = BattleIntroSlide3, + [BATTLE_ENVIRONMENT_PLAIN] = BattleIntroSlide3, }; void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value) @@ -100,9 +100,9 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId) } #define tState data[0] -#define tTerrain data[1] +#define tEnvironment data[1] -void HandleIntroSlide(u8 terrain) +void HandleIntroSlide(u8 environment) { u8 taskId; @@ -120,16 +120,16 @@ void HandleIntroSlide(u8 terrain) } else if ((gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) && gGameVersion != VERSION_RUBY) { - terrain = BATTLE_TERRAIN_UNDERWATER; + environment = BATTLE_ENVIRONMENT_UNDERWATER; taskId = CreateTask(BattleIntroSlide2, 0); } else { - taskId = CreateTask(sBattleIntroSlideFuncs[terrain], 0); + taskId = CreateTask(sBattleIntroSlideFuncs[environment], 0); } gTasks[taskId].tState = 0; - gTasks[taskId].tTerrain = terrain; + gTasks[taskId].tEnvironment = environment; gTasks[taskId].data[2] = 0; gTasks[taskId].data[3] = 0; gTasks[taskId].data[4] = 0; @@ -194,14 +194,14 @@ static void BattleIntroSlide1(u8 taskId) } else { - if (gTasks[taskId].tTerrain == BATTLE_TERRAIN_LONG_GRASS) + if (gTasks[taskId].tEnvironment == BATTLE_ENVIRONMENT_LONG_GRASS) { - if (gBattle_BG1_Y != 0xFFB0) + if (gBattle_BG1_Y != (u16)(-80)) gBattle_BG1_Y -= 2; } else { - if (gBattle_BG1_Y != 0xFFC8) + if (gBattle_BG1_Y != (u16)(-56)) gBattle_BG1_Y -= 1; } } @@ -240,18 +240,18 @@ static void BattleIntroSlide2(u8 taskId) { int i; - switch (gTasks[taskId].tTerrain) + switch (gTasks[taskId].tEnvironment) { - case BATTLE_TERRAIN_SAND: - case BATTLE_TERRAIN_WATER: + case BATTLE_ENVIRONMENT_SAND: + case BATTLE_ENVIRONMENT_WATER: gBattle_BG1_X += 8; break; - case BATTLE_TERRAIN_UNDERWATER: + case BATTLE_ENVIRONMENT_UNDERWATER: gBattle_BG1_X += 6; break; } - if (gTasks[taskId].tTerrain == BATTLE_TERRAIN_WATER) + if (gTasks[taskId].tEnvironment == BATTLE_ENVIRONMENT_WATER) { gBattle_BG1_Y = Cos2(gTasks[taskId].data[6]) / 512 - 8; if (gTasks[taskId].data[6] < 180) diff --git a/src/battle_main.c b/src/battle_main.c index c19089deb0..6aa9fc1902 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -144,10 +144,10 @@ EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0}; // it will instead overflow into useful data. EWRAM_DATA static u32 sFlickerArray[25] = {0}; EWRAM_DATA u32 gBattleTypeFlags = 0; -EWRAM_DATA u8 gBattleTerrain = 0; +EWRAM_DATA u8 gBattleEnvironment = 0; EWRAM_DATA u32 gUnusedFirstBattleVar1 = 0; // Never read EWRAM_DATA struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE] = {0}; -EWRAM_DATA static struct MultiPartnerMenuPokemon* sMultiPartnerPartyBuffer = NULL; +EWRAM_DATA static struct MultiPartnerMenuPokemon *sMultiPartnerPartyBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTileBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTilemapBuffer = NULL; EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0}; @@ -237,15 +237,15 @@ EWRAM_DATA u16 gBattleMovePower = 0; EWRAM_DATA u16 gMoveToLearn = 0; EWRAM_DATA u8 gBattleMonForms[MAX_BATTLERS_COUNT] = {0}; -void (*gPreBattleCallback1)(void); -void (*gBattleMainFunc)(void); -struct BattleResults gBattleResults; -u8 gLeveledUpInBattle; -void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void); -u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; -u8 gMultiUsePlayerCursor; -u8 gNumberOfMovesToChoose; -u8 gBattleControllerData[MAX_BATTLERS_COUNT]; // Used by the battle controllers to store misc sprite/task IDs for each battler +COMMON_DATA void (*gPreBattleCallback1)(void) = NULL; +COMMON_DATA void (*gBattleMainFunc)(void) = NULL; +COMMON_DATA struct BattleResults gBattleResults = {0}; +COMMON_DATA u8 gLeveledUpInBattle = 0; +COMMON_DATA void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void) = {0}; +COMMON_DATA u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT] = {0}; +COMMON_DATA u8 gMultiUsePlayerCursor = 0; +COMMON_DATA u8 gNumberOfMovesToChoose = 0; +COMMON_DATA u8 gBattleControllerData[MAX_BATTLERS_COUNT] = {0}; // Used by the battle controllers to store misc sprite/task IDs for each battler static const struct ScanlineEffectParams sIntroScanlineParams16Bit = { @@ -533,7 +533,7 @@ const struct TrainerMoney gTrainerMoneyTable[] = #include "data/text/abilities.h" -static void (* const sTurnActionsFuncsTable[])(void) = +static void (*const sTurnActionsFuncsTable[])(void) = { [B_ACTION_USE_MOVE] = HandleAction_UseMove, [B_ACTION_USE_ITEM] = HandleAction_UseItem, @@ -551,7 +551,7 @@ static void (* const sTurnActionsFuncsTable[])(void) = [B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted, }; -static void (* const sEndTurnFuncsTable[])(void) = +static void (*const sEndTurnFuncsTable[])(void) = { [0] = HandleEndTurn_ContinueBattle, [B_OUTCOME_WON] = HandleEndTurn_BattleWon, @@ -574,7 +574,7 @@ const u8 gStatusConditionString_IceJpn[] = _("こおり$$$$"); const u8 gStatusConditionString_ConfusionJpn[] = _("こんらん$$$"); const u8 gStatusConditionString_LoveJpn[] = _("メロメロ$$$"); -const u8 * const gStatusConditionStringsTable[][2] = +const u8 *const gStatusConditionStringsTable[][2] = { {gStatusConditionString_PoisonJpn, gText_Poison}, {gStatusConditionString_SleepJpn, gText_Sleep}, @@ -669,9 +669,9 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; - gBattleTerrain = BattleSetup_GetTerrainId(); + gBattleEnvironment = BattleSetup_GetEnvironmentId(); if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) - gBattleTerrain = BATTLE_TERRAIN_BUILDING; + gBattleEnvironment = BATTLE_ENVIRONMENT_BUILDING; InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); @@ -839,7 +839,7 @@ static void SetAllPlayersBerryData(void) { s32 numPlayers; struct BattleEnigmaBerry *src; - u8 battlerId; + u8 battler; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -851,17 +851,17 @@ static void SetAllPlayersBerryData(void) for (i = 0; i < numPlayers; i++) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - battlerId = gLinkPlayers[i].id; + battler = gLinkPlayers[i].id; for (j = 0; j < BERRY_NAME_LENGTH; j++) - gEnigmaBerries[battlerId].name[j] = src->name[j]; - gEnigmaBerries[battlerId].name[j] = EOS; + gEnigmaBerries[battler].name[j] = src->name[j]; + gEnigmaBerries[battler].name[j] = EOS; for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) - gEnigmaBerries[battlerId].itemEffect[j] = src->itemEffect[j]; + gEnigmaBerries[battler].itemEffect[j] = src->itemEffect[j]; - gEnigmaBerries[battlerId].holdEffect = src->holdEffect; - gEnigmaBerries[battlerId].holdEffectParam = src->holdEffectParam; + gEnigmaBerries[battler].holdEffect = src->holdEffect; + gEnigmaBerries[battler].holdEffectParam = src->holdEffectParam; } } else @@ -1654,7 +1654,9 @@ static void CB2_HandleStartMultiBattle(void) gBattleCommunication[MULTIUSE_STATE]++; } else + { break; + } // fall through case 3: if (IsLinkTaskFinished()) @@ -3084,7 +3086,9 @@ static void BattleStartClearSetData(void) gHitMarker |= HITMARKER_NO_ANIMATIONS; } else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) && GetBattleSceneInRecordedBattle()) + { gHitMarker |= HITMARKER_NO_ANIMATIONS; + } gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle; @@ -3343,8 +3347,8 @@ void FaintClearSetData(void) gBattleResources->flags->flags[gActiveBattler] = 0; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; + gBattleMons[gActiveBattler].types[0] = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; + gBattleMons[gActiveBattler].types[1] = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; ClearBattlerMoveHistory(gActiveBattler); ClearBattlerAbilityHistory(gActiveBattler); @@ -3356,7 +3360,7 @@ static void BattleIntroGetMonsData(void) { case 0: gActiveBattler = gBattleCommunication[1]; - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTIUSE_STATE]++; break; @@ -3378,7 +3382,7 @@ static void BattleIntroPrepareBackgroundSlide(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerAtPosition(0); - BtlController_EmitIntroSlide(BUFFER_A, gBattleTerrain); + BtlController_EmitIntroSlide(B_COMM_TO_CONTROLLER, gBattleEnvironment); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites; gBattleCommunication[MULTIUSE_STATE] = 0; @@ -3411,8 +3415,8 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) for (i = 0; i < sizeof(struct BattlePokemon); i++) ptr[i] = gBattleBufferB[gActiveBattler][4 + i]; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; + gBattleMons[gActiveBattler].types[0] = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; + gBattleMons[gActiveBattler].types[1] = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)]; *hpOnSwitchout = gBattleMons[gActiveBattler].hp; @@ -3423,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3431,7 +3435,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT @@ -3456,7 +3460,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) { HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); } - BtlController_EmitLoadMonSprite(BUFFER_A); + BtlController_EmitLoadMonSprite(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); } @@ -3467,14 +3471,14 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT || GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) { - BtlController_EmitDrawTrainerPic(BUFFER_A); + BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } @@ -3509,7 +3513,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); for (i = 0; i < PARTY_SIZE; i++) @@ -3527,7 +3531,7 @@ static void BattleIntroDrawPartySummaryScreens(void) } } gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); MarkBattlerForControllerExec(gActiveBattler); gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle; @@ -3584,7 +3588,9 @@ static void BattleIntroPrintOpponentSendsOut(void) return; if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { position = B_POSITION_OPPONENT_LEFT; + } else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER) @@ -3593,7 +3599,9 @@ static void BattleIntroPrintOpponentSendsOut(void) position = B_POSITION_PLAYER_LEFT; } else + { position = B_POSITION_OPPONENT_LEFT; + } PrepareStringBattle(STRINGID_INTROSENDOUT, GetBattlerAtPosition(position)); gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation; @@ -3604,7 +3612,9 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void) u32 position; if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { position = B_POSITION_OPPONENT_RIGHT; + } else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER) @@ -3613,13 +3623,15 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void) position = B_POSITION_PLAYER_RIGHT; } else + { position = B_POSITION_OPPONENT_RIGHT; + } for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3641,10 +3653,14 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) position = B_POSITION_PLAYER_LEFT; } else + { position = B_POSITION_OPPONENT_LEFT; + } } else + { position = B_POSITION_OPPONENT_LEFT; + } if (gBattleControllerExecFlags) return; @@ -3653,7 +3669,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) { @@ -3699,7 +3715,9 @@ static void BattleIntroPrintPlayerSendsOut(void) u8 position; if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { position = B_POSITION_PLAYER_LEFT; + } else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER) @@ -3708,7 +3726,9 @@ static void BattleIntroPrintPlayerSendsOut(void) position = B_POSITION_OPPONENT_LEFT; } else + { position = B_POSITION_PLAYER_LEFT; + } if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) PrepareStringBattle(STRINGID_INTROSENDOUT, GetBattlerAtPosition(position)); @@ -3722,7 +3742,9 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void) u32 position; if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { position = B_POSITION_PLAYER_RIGHT; + } else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER) @@ -3731,13 +3753,15 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void) position = B_POSITION_OPPONENT_RIGHT; } else + { position = B_POSITION_PLAYER_RIGHT; + } for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3754,7 +3778,9 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void) u32 position; if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { position = B_POSITION_PLAYER_LEFT; + } else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER) @@ -3763,7 +3789,9 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void) position = B_POSITION_OPPONENT_LEFT; } else + { position = B_POSITION_PLAYER_LEFT; + } if (gBattleControllerExecFlags) return; @@ -3772,7 +3800,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void) { if (GetBattlerPosition(gActiveBattler) == position) { - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); + BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI)) { @@ -3797,7 +3825,7 @@ static void UNUSED BattleIntroSwitchInPlayerMons(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], FALSE); + BtlController_EmitSwitchInAnim(B_COMM_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -3999,7 +4027,7 @@ u8 IsRunningFromBattleImpossible(void) if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + holdEffect = GetItemHoldEffect(gBattleMons[gActiveBattler].item); gPotentialItemEffectBattler = gActiveBattler; @@ -4137,7 +4165,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseAction(BUFFER_A, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); + BtlController_EmitChooseAction(B_COMM_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } @@ -4145,7 +4173,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CHOSEN: // Try to perform an action. - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]); gChosenActionByBattler[gActiveBattler] = gBattleBufferB[gActiveBattler][1]; @@ -4173,8 +4201,8 @@ static void HandleTurnActionSelectionState(void) struct ChooseMoveStruct moveInfo; moveInfo.species = gBattleMons[gActiveBattler].species; - moveInfo.monType1 = gBattleMons[gActiveBattler].type1; - moveInfo.monType2 = gBattleMons[gActiveBattler].type2; + moveInfo.monTypes[0] = gBattleMons[gActiveBattler].types[0]; + moveInfo.monTypes[1] = gBattleMons[gActiveBattler].types[1]; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -4186,7 +4214,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(B_COMM_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4205,7 +4233,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4215,7 +4243,7 @@ static void HandleTurnActionSelectionState(void) || gBattleTypeFlags & BATTLE_TYPE_ARENA || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4224,16 +4252,16 @@ static void HandleTurnActionSelectionState(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - BtlController_EmitChoosePokemon(BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4248,7 +4276,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: @@ -4258,7 +4286,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(BUFFER_A); + BtlController_EmitEndBounceEffect(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4286,7 +4314,7 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); } - BtlController_EmitEndBounceEffect(BUFFER_A); + BtlController_EmitEndBounceEffect(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4324,7 +4352,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CASE_CHOSEN: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { switch (gChosenActionByBattler[gActiveBattler]) { @@ -4428,11 +4456,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_ACTION_CONFIRMED_STANDBY: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) - | (0xF << 28) - | (gBitTable[gActiveBattler] << 4) - | (gBitTable[gActiveBattler] << 8) - | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { if (AllAtActionConfirmed()) i = TRUE; @@ -4443,18 +4467,18 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } break; case STATE_WAIT_ACTION_CONFIRMED: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; } @@ -4468,7 +4492,7 @@ static void HandleTurnActionSelectionState(void) { gBattlerAttacker = gActiveBattler; gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -4476,7 +4500,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_WAIT_SET_BEFORE_ACTION: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } @@ -4500,7 +4524,7 @@ static void HandleTurnActionSelectionState(void) { gBattlerAttacker = gActiveBattler; gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler)) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } @@ -4608,8 +4632,8 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler1].item); - holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler1].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler1].item); + holdEffectParam = GetItemHoldEffectParam(gBattleMons[battler1].item); } // badge boost @@ -4629,7 +4653,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100) speedBattler1 = UINT_MAX; - // check second battlerId's speed + // check second battler's speed speedBattler2 = (gBattleMons[battler2].speed * speedMultiplierBattler2) * (gStatStageRatios[gBattleMons[battler2].statStages[STAT_SPEED]][0]) @@ -4642,8 +4666,8 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler2].item); - holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler2].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler2].item); + holdEffectParam = GetItemHoldEffectParam(gBattleMons[battler2].item); } // badge boost @@ -4678,7 +4702,9 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) moveBattler1 = gBattleMons[battler1].moves[*(gBattleStruct->chosenMovePositions + battler1)]; } else + { moveBattler1 = MOVE_NONE; + } if (gChosenActionByBattler[battler2] == B_ACTION_USE_MOVE) { @@ -4688,7 +4714,9 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) moveBattler2 = gBattleMons[battler2].moves[*(gBattleStruct->chosenMovePositions + battler2)]; } else + { moveBattler2 = MOVE_NONE; + } } // both move priorities are different than 0 @@ -4705,7 +4733,9 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) // else battler1 has more speed } else if (gBattleMoves[moveBattler1].priority < gBattleMoves[moveBattler2].priority) + { strikesFirst = 1; // battler2's move has greater priority + } // else battler1's move has greater priority } @@ -4919,7 +4949,7 @@ static void RunTurnActionsFunctions(void) } else { - if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battlerId + if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battler { gHitMarker &= ~HITMARKER_NO_ATTACKSTRING; gHitMarker &= ~HITMARKER_UNABLE_TO_USE_MOVE; diff --git a/src/battle_message.c b/src/battle_message.c index f005404ead..265859b02d 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -431,7 +431,7 @@ static const u8 sText_SpDef2[] = _("SP. DEF"); static const u8 sText_Accuracy[] = _("accuracy"); static const u8 sText_Evasiveness[] = _("evasiveness"); -const u8 * const gStatNamesTable[NUM_BATTLE_STATS] = +const u8 *const gStatNamesTable[NUM_BATTLE_STATS] = { [STAT_HP] = sText_HP2, [STAT_ATK] = sText_Attack2, @@ -449,7 +449,7 @@ static const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!"); static const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!"); static const u8 sText_PokeblockWasTooSour[] = _("was too sour!"); -const u8 * const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = +const u8 *const gPokeblockWasTooXStringTable[FLAVOR_COUNT] = { [FLAVOR_SPICY] = sText_PokeblockWasTooSpicy, [FLAVOR_DRY] = sText_PokeblockWasTooDry, @@ -514,7 +514,7 @@ static const u8 sText_Trainer2WinText[]; static const u8 sText_TwoInGameTrainersDefeated[]; static const u8 sText_Trainer2LoseText[]; -const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] = +const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] = { [STRINGID_TRAINER1LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1LoseText, [STRINGID_PKMNGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_PkmnGainedEXP, @@ -1293,7 +1293,7 @@ static const u8 sText_SpAtk[] = _("SP. ATK"); static const u8 sText_SpDef[] = _("SP. DEF"); // Unused -static const u8 * const sStatNamesTable2[] = +static const u8 *const sStatNamesTable2[] = { sText_HP, sText_SpAtk, sText_Attack, sText_SpDef, sText_Defense, sText_Speed @@ -1406,7 +1406,7 @@ static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost t static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!"); static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!"); -const u8 * const gRefereeStringsTable[] = +const u8 *const gRefereeStringsTable[] = { [B_MSG_REF_NOTHING_IS_DECIDED] = sText_RefIfNothingIsDecided, [B_MSG_REF_THATS_IT] = sText_RefThatsIt, @@ -2152,7 +2152,7 @@ void BufferStringBattle(u16 stringID) } } break; - case STRINGID_USEDMOVE: // pokemon used a move msg + case STRINGID_USEDMOVE: // Pokémon used a move msg ChooseMoveUsedParticle(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names if (gBattleMsgDataPtr->currentMove >= MOVES_COUNT) @@ -2283,8 +2283,8 @@ static const u8 *TryGetStatusString(u8 *src) return NULL; } -#define HANDLE_NICKNAME_STRING_CASE(battlerId, monIndex) \ - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \ +#define HANDLE_NICKNAME_STRING_CASE(battler, monIndex) \ + if (GetBattlerSide(battler) != B_SIDE_PLAYER) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = sText_FoePkmnPrefix; \ @@ -2313,7 +2313,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) { u32 dstID = 0; // if they used dstID, why not use srcID as well? const u8 *toCpy = NULL; - // This buffer may hold either the name of a trainer, pokemon, or item. + // This buffer may hold either the name of a trainer, Pokémon, or item. u8 text[max(max(max(32, TRAINER_NAME_LENGTH + 1), POKEMON_NAME_LENGTH + 1), ITEM_NAME_LENGTH)]; u8 multiplayerId; s32 i; @@ -2350,7 +2350,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gStringVar2; } else + { toCpy = gBattleTextBuff2; + } break; case B_TXT_BUFF3: if (gBattleTextBuff3[0] == B_BUFF_PLACEHOLDER_BEGIN) @@ -2359,7 +2361,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gStringVar3; } else + { toCpy = gBattleTextBuff3; + } break; case B_TXT_COPY_VAR_1: toCpy = gStringVar1; @@ -2418,7 +2422,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) StringGet_Nickname(text); toCpy = text; break; - case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battlerId 0/1 + case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battler 0/1 HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker))]) break; @@ -2437,13 +2441,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix HANDLE_NICKNAME_STRING_CASE(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget]) break; - case B_TXT_EFF_NAME_WITH_PREFIX: // effect battlerId name with prefix + case B_TXT_EFF_NAME_WITH_PREFIX: // effect battler name with prefix HANDLE_NICKNAME_STRING_CASE(gEffectBattler, gBattlerPartyIndexes[gEffectBattler]) break; - case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battlerId name with prefix + case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) break; - case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battlerId name with prefix + case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler]) break; case B_TXT_CURRENT_MOVE: // current move name @@ -2486,7 +2490,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = text; } else + { toCpy = sText_EnigmaBerry; + } } } else @@ -2513,7 +2519,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]]; break; - case B_TXT_EFF_ABILITY: // effect battlerId ability + case B_TXT_EFF_ABILITY: // effect battler ability toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]]; break; case B_TXT_TRAINER1_CLASS: // trainer class name diff --git a/src/battle_palace.c b/src/battle_palace.c index a521acea2b..e7f8432d7e 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -26,7 +26,7 @@ static void SetRandomPalacePrize(void); static void GivePalacePrize(void); // Const rom data. -static void (* const sBattlePalaceFunctions[])(void) = +static void (*const sBattlePalaceFunctions[])(void) = { [BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge, [BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData, diff --git a/src/battle_pike.c b/src/battle_pike.c index 7505621201..790c4088c1 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -476,7 +476,7 @@ static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] = [FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0}, }; -static void (* const sBattlePikeFunctions[])(void) = +static void (*const sBattlePikeFunctions[])(void) = { [BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType, [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData, @@ -531,7 +531,7 @@ static const u8 sNumMonsToHealBeforePikeQueen[][3] = {0, 1, 2}, }; -static bool8 (* const sStatusInflictionScreenFlashFuncs[])(struct Task *) = +static bool8 (*const sStatusInflictionScreenFlashFuncs[])(struct Task *) = { StatusInflictionFadeOut, StatusInflictionFadeIn }; @@ -1267,7 +1267,7 @@ static void TryHealMons(u8 healCount) for (i = 0; i < FRONTIER_PARTY_SIZE; i++) indices[i] = i; - // Only 'healCount' number of pokemon will be healed. + // Only 'healCount' number of Pokémon will be healed. // The order in which they're (attempted to be) healed is random, // and determined by performing 10 random swaps to this index array. for (k = 0; k < 10; k++) diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index b4bb3cacca..d78cd38417 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -79,7 +79,7 @@ static void HidePyramidItem(void); static void SetPyramidFacilityTrainers(void); static void ShowPostBattleHintText(void); static void UpdatePyramidWinStreak(void); -static void GetInBattlePyramid(void); +static void GetCurrentBattlePyramidLocation(void); static void UpdatePyramidLightRadius(void); static void ClearPyramidPartyHeldItems(void); static void SetPyramidFloorPalette(void); @@ -784,7 +784,7 @@ static const u8 sHintTextTypes[] = HINT_EXIT_SHORT_REMAINING_ITEMS, }; -static void (* const sBattlePyramidFunctions[])(void) = +static void (*const sBattlePyramidFunctions[])(void) = { [BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge, [BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData, @@ -798,7 +798,7 @@ static void (* const sBattlePyramidFunctions[])(void) = [BATTLE_PYRAMID_FUNC_SET_TRAINERS] = SetPyramidFacilityTrainers, [BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText, [BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak, - [BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid, + [BATTLE_PYRAMID_FUNC_CURRENT_LOCATION] = GetCurrentBattlePyramidLocation, [BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius, [BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems, [BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE] = SetPyramidFloorPalette, @@ -1023,7 +1023,7 @@ static void HidePyramidItem(void) break; } i++; - if (events[i].localId == 0) + if (events[i].localId == LOCALID_NONE) break; } } @@ -1113,9 +1113,9 @@ static void UpdatePyramidWinStreak(void) gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]; } -static void GetInBattlePyramid(void) +static void GetCurrentBattlePyramidLocation(void) { - gSpecialVar_Result = InBattlePyramid(); + gSpecialVar_Result = CurrentBattlePyramidLocation(); } static void UpdatePyramidLightRadius(void) @@ -1419,14 +1419,14 @@ u8 GetPyramidRunMultiplier(void) return sPyramidFloorTemplates[id].runMultiplier; } -u8 InBattlePyramid(void) +u8 CurrentBattlePyramidLocation(void) { if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) - return 1; + return PYRAMID_LOCATION_FLOOR; else if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP) - return 2; + return PYRAMID_LOCATION_TOP; else - return FALSE; + return PYRAMID_LOCATION_NONE; } bool8 InBattlePyramid_(void) @@ -1437,7 +1437,7 @@ bool8 InBattlePyramid_(void) void PausePyramidChallenge(void) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { RestorePyramidPlayerParty(); gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_PAUSED; @@ -1448,7 +1448,7 @@ void PausePyramidChallenge(void) void SoftResetInBattlePyramid(void) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) DoSoftReset(); } @@ -1857,7 +1857,7 @@ static bool8 TrySetPyramidObjectEventPositionAtCoords(u8 objType, u8 x, u8 y, u8 const struct MapHeader *mapHeader; struct ObjectEventTemplate *floorEvents = gSaveBlock1Ptr->objectEventTemplates; - mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(BATTLE_PYRAMID_SQUARE01)); + mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(MAP_BATTLE_PYRAMID_SQUARE01)); for (i = 0; i < mapHeader->events->objectEventCount; i++) { if (mapHeader->events->objectEvents[i].x != x || mapHeader->events->objectEvents[i].y != y) @@ -1934,7 +1934,7 @@ u8 GetNumBattlePyramidObjectEvents(void) for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (events[i].localId == 0) + if (events[i].localId == LOCALID_NONE) break; } diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index bf9a7704b1..e131508928 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -327,7 +327,7 @@ static const union AnimCmd sAnim_PyramidBag[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_PyramidBag[] = +static const union AnimCmd *const sAnims_PyramidBag[] = { sAnim_PyramidBag, }; @@ -352,7 +352,7 @@ enum { ANIM_BAG_SHAKE, }; -static const union AffineAnimCmd * const sAffineAnims_PyramidBag[] = +static const union AffineAnimCmd *const sAffineAnims_PyramidBag[] = { [ANIM_BAG_STILL] = sAffineAnim_PyramidBag_Still, [ANIM_BAG_SHAKE] = sAffineAnim_PyramidBag_Shake, @@ -620,7 +620,7 @@ static void SetBagItemsListTemplate(void) static void CopyBagItemName(u8 *dst, u16 itemId) { - if (ItemId_GetPocket(itemId) == POCKET_BERRIES) + if (GetItemPocket(itemId) == POCKET_BERRIES) { ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2); CopyItemName(itemId, gStringVar2); @@ -681,7 +681,7 @@ static void PrintItemDescription(s32 listMenuId) const u8 *desc; if (listMenuId != LIST_CANCEL) { - desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]); + desc = GetItemDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]); } else { @@ -942,7 +942,7 @@ static void OpenContextMenu(u8 taskId) gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Field); break; case PYRAMIDBAG_LOC_BATTLE: - if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) + if (GetItemBattleUsage(gSpecialVar_ItemId)) { gPyramidBagMenu->menuActionIds = sMenuActionIds_Battle; gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Battle); @@ -1085,7 +1085,7 @@ static void CloseMenuActionWindow(void) static void BagAction_UseOnField(u8 taskId) { - u8 pocketId = ItemId_GetPocket(gSpecialVar_ItemId); + u8 pocketId = GetItemPocket(gSpecialVar_ItemId); if (pocketId == POCKET_KEY_ITEMS || pocketId == POCKET_POKE_BALLS @@ -1095,12 +1095,12 @@ static void BagAction_UseOnField(u8 taskId) CloseMenuActionWindow(); DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } - else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL) + else if (GetItemFieldFunc(gSpecialVar_ItemId) != NULL) { CloseMenuActionWindow(); FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); ScheduleBgCopyTilemapToVram(0); - ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + GetItemFieldFunc(gSpecialVar_ItemId)(taskId); } } @@ -1250,7 +1250,7 @@ static void BagAction_Give(u8 taskId) { DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage); } - else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + else if (!GetItemImportance(gSpecialVar_ItemId)) { gPyramidBagMenu->newScreenCallback = CB2_ChooseMonToGiveItem; CloseBattlePyramidBag(taskId); @@ -1291,7 +1291,7 @@ static void TryCloseBagToGiveItem(u8 taskId) { if (!IsWritingMailAllowed(gSpecialVar_ItemId)) DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage); - else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + else if (!GetItemImportance(gSpecialVar_ItemId)) CloseBattlePyramidBag(taskId); else ShowCantHoldMessage(taskId); @@ -1299,10 +1299,10 @@ static void TryCloseBagToGiveItem(u8 taskId) static void BagAction_UseInBattle(u8 taskId) { - if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL) + if (GetItemBattleFunc(gSpecialVar_ItemId) != NULL) { CloseMenuActionWindow(); - ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + GetItemBattleFunc(gSpecialVar_ItemId)(taskId); } } @@ -1312,7 +1312,7 @@ static void Task_BeginItemSwap(u8 taskId) tListPos = gPyramidBagMenuState.scrollPosition + gPyramidBagMenuState.cursorPosition; gPyramidBagMenu->toSwapPos = tListPos; - ListMenuSetUnkIndicatorsStructField(tListTaskId, 0x10, 1); + ListMenuSetTemplateField(tListTaskId, LISTFIELD_CURSORKIND, CURSOR_INVISIBLE); CopyItemName(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][tListPos], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where); FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); diff --git a/src/battle_records.c b/src/battle_records.c index edc48d8202..0ea61b79b8 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -201,7 +201,7 @@ static void UpdateLinkBattleGameStats(s32 battleOutcome) IncrementGameStat(stat); } -static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battlerId) +static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battler) { s32 index; @@ -214,7 +214,7 @@ static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 ClearLinkBattleRecord(&records->entries[index]); StringCopyN(records->entries[index].name, name, PLAYER_NAME_LENGTH); records->entries[index].trainerId = trainerId; - records->languages[index] = gLinkPlayers[battlerId].language; + records->languages[index] = gLinkPlayers[battler].language; } UpdateLinkBattleRecord(&records->entries[index], battleOutcome); SortLinkBattleRecords(records); @@ -225,48 +225,48 @@ void ClearPlayerLinkBattleRecords(void) ClearLinkBattleRecords(gSaveBlock1Ptr->linkBattleRecords.entries); } -static void IncTrainerCardWins(s32 battlerId) +static void IncTrainerCardWins(s32 battler) { - u16 *wins = &gTrainerCards[battlerId].linkBattleWins; + u16 *wins = &gTrainerCards[battler].linkBattleWins; (*wins)++; if (*wins > 9999) *wins = 9999; } -static void IncTrainerCardLosses(s32 battlerId) +static void IncTrainerCardLosses(s32 battler) { - u16 *losses = &gTrainerCards[battlerId].linkBattleLosses; + u16 *losses = &gTrainerCards[battler].linkBattleLosses; (*losses)++; if (*losses > 9999) *losses = 9999; } -static void UpdateTrainerCardWinsLosses(s32 battlerId) +static void UpdateTrainerCardWinsLosses(s32 battler) { switch (gBattleOutcome) { case B_OUTCOME_WON: - IncTrainerCardWins(BATTLE_OPPOSITE(battlerId)); - IncTrainerCardLosses(battlerId); + IncTrainerCardWins(BATTLE_OPPOSITE(battler)); + IncTrainerCardLosses(battler); break; case B_OUTCOME_LOST: - IncTrainerCardLosses(BATTLE_OPPOSITE(battlerId)); - IncTrainerCardWins(battlerId); + IncTrainerCardLosses(BATTLE_OPPOSITE(battler)); + IncTrainerCardWins(battler); break; } } -void UpdatePlayerLinkBattleRecords(s32 battlerId) +void UpdatePlayerLinkBattleRecords(s32 battler) { if (InUnionRoom() != TRUE) { - UpdateTrainerCardWinsLosses(battlerId); + UpdateTrainerCardWinsLosses(battler); UpdateLinkBattleRecords( &gSaveBlock1Ptr->linkBattleRecords, - gTrainerCards[battlerId].playerName, - gTrainerCards[battlerId].trainerId, + gTrainerCards[battler].playerName, + gTrainerCards[battler].trainerId, gBattleOutcome, - battlerId); + battler); } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 96ae0e68a3..f69126cf72 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -63,7 +63,7 @@ extern const u8 *const gBattleScriptsForMoveEffects[]; static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); -static u8 AttacksThisTurn(u8 battlerId, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. +static u8 AttacksThisTurn(u8 battler, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. static void CheckWonderGuardAndLevitate(void); static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8 *BS_ptr); static bool32 IsMonGettingExpSentOut(void); @@ -280,7 +280,7 @@ static void Cmd_sethail(void); static void Cmd_trymemento(void); static void Cmd_setforcedtarget(void); static void Cmd_setcharge(void); -static void Cmd_callterrainattack(void); +static void Cmd_callenvironmentattack(void); static void Cmd_cureifburnedparalysedorpoisoned(void); static void Cmd_settorment(void); static void Cmd_jumpifnodamage(void); @@ -311,7 +311,7 @@ static void Cmd_trycastformdatachange(void); static void Cmd_settypebasedhalvers(void); static void Cmd_setweatherballtype(void); static void Cmd_tryrecycleitem(void); -static void Cmd_settypetoterrain(void); +static void Cmd_settypetoenvironment(void); static void Cmd_pursuitdoubles(void); static void Cmd_snatchsetbattlers(void); static void Cmd_removelightscreenreflect(void); @@ -326,7 +326,7 @@ static void Cmd_finishaction(void); static void Cmd_finishturn(void); static void Cmd_trainerslideout(void); -void (* const gBattleScriptingCommandsTable[])(void) = +void (*const gBattleScriptingCommandsTable[])(void) = { Cmd_attackcanceler, //0x0 Cmd_accuracycheck, //0x1 @@ -532,7 +532,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_trymemento, //0xC9 Cmd_setforcedtarget, //0xCA Cmd_setcharge, //0xCB - Cmd_callterrainattack, //0xCC + Cmd_callenvironmentattack, //0xCC Cmd_cureifburnedparalysedorpoisoned, //0xCD Cmd_settorment, //0xCE Cmd_jumpifnodamage, //0xCF @@ -563,7 +563,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_settypebasedhalvers, //0xE8 Cmd_setweatherballtype, //0xE9 Cmd_tryrecycleitem, //0xEA - Cmd_settypetoterrain, //0xEB + Cmd_settypetoenvironment, //0xEB Cmd_pursuitdoubles, //0xEC Cmd_snatchsetbattlers, //0xED Cmd_removelightscreenreflect, //0xEE @@ -758,16 +758,16 @@ static const u8 sFlailHpScaleToPowerTable[] = static const u16 sNaturePowerMoves[] = { - [BATTLE_TERRAIN_GRASS] = MOVE_STUN_SPORE, - [BATTLE_TERRAIN_LONG_GRASS] = MOVE_RAZOR_LEAF, - [BATTLE_TERRAIN_SAND] = MOVE_EARTHQUAKE, - [BATTLE_TERRAIN_UNDERWATER] = MOVE_HYDRO_PUMP, - [BATTLE_TERRAIN_WATER] = MOVE_SURF, - [BATTLE_TERRAIN_POND] = MOVE_BUBBLE_BEAM, - [BATTLE_TERRAIN_MOUNTAIN] = MOVE_ROCK_SLIDE, - [BATTLE_TERRAIN_CAVE] = MOVE_SHADOW_BALL, - [BATTLE_TERRAIN_BUILDING] = MOVE_SWIFT, - [BATTLE_TERRAIN_PLAIN] = MOVE_SWIFT + [BATTLE_ENVIRONMENT_GRASS] = MOVE_STUN_SPORE, + [BATTLE_ENVIRONMENT_LONG_GRASS] = MOVE_RAZOR_LEAF, + [BATTLE_ENVIRONMENT_SAND] = MOVE_EARTHQUAKE, + [BATTLE_ENVIRONMENT_UNDERWATER] = MOVE_HYDRO_PUMP, + [BATTLE_ENVIRONMENT_WATER] = MOVE_SURF, + [BATTLE_ENVIRONMENT_POND] = MOVE_BUBBLE_BEAM, + [BATTLE_ENVIRONMENT_MOUNTAIN] = MOVE_ROCK_SLIDE, + [BATTLE_ENVIRONMENT_CAVE] = MOVE_SHADOW_BALL, + [BATTLE_ENVIRONMENT_BUILDING] = MOVE_SWIFT, + [BATTLE_ENVIRONMENT_PLAIN] = MOVE_SWIFT }; // format: min. weight (hectograms), base power @@ -823,18 +823,18 @@ static const u8 sPickupProbabilities[] = 30, 40, 50, 60, 70, 80, 90, 94, 98 }; -static const u8 sTerrainToType[] = +static const u8 sEnvironmentToType[] = { - [BATTLE_TERRAIN_GRASS] = TYPE_GRASS, - [BATTLE_TERRAIN_LONG_GRASS] = TYPE_GRASS, - [BATTLE_TERRAIN_SAND] = TYPE_GROUND, - [BATTLE_TERRAIN_UNDERWATER] = TYPE_WATER, - [BATTLE_TERRAIN_WATER] = TYPE_WATER, - [BATTLE_TERRAIN_POND] = TYPE_WATER, - [BATTLE_TERRAIN_MOUNTAIN] = TYPE_ROCK, - [BATTLE_TERRAIN_CAVE] = TYPE_ROCK, - [BATTLE_TERRAIN_BUILDING] = TYPE_NORMAL, - [BATTLE_TERRAIN_PLAIN] = TYPE_NORMAL, + [BATTLE_ENVIRONMENT_GRASS] = TYPE_GRASS, + [BATTLE_ENVIRONMENT_LONG_GRASS] = TYPE_GRASS, + [BATTLE_ENVIRONMENT_SAND] = TYPE_GROUND, + [BATTLE_ENVIRONMENT_UNDERWATER] = TYPE_WATER, + [BATTLE_ENVIRONMENT_WATER] = TYPE_WATER, + [BATTLE_ENVIRONMENT_POND] = TYPE_WATER, + [BATTLE_ENVIRONMENT_MOUNTAIN] = TYPE_ROCK, + [BATTLE_ENVIRONMENT_CAVE] = TYPE_ROCK, + [BATTLE_ENVIRONMENT_BUILDING] = TYPE_NORMAL, + [BATTLE_ENVIRONMENT_PLAIN] = TYPE_NORMAL, }; // - ITEM_ULTRA_BALL skips Master Ball and ITEM_NONE @@ -1163,8 +1163,8 @@ static void Cmd_accuracycheck(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -1239,7 +1239,7 @@ static void Cmd_ppreduce(void) if (MOVE_IS_PERMANENT(gBattlerAttacker, gCurrMovePos)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, sizeof(gBattleMons[gBattlerAttacker].pp[gCurrMovePos]), &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); MarkBattlerForControllerExec(gBattlerAttacker); @@ -1260,7 +1260,7 @@ static void Cmd_critcalc(void) if (item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; else - holdEffect = ItemId_GetHoldEffect(item); + holdEffect = GetItemHoldEffect(item); gPotentialItemEffectBattler = gBattlerAttacker; @@ -1395,11 +1395,11 @@ static void Cmd_typecalc(void) else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[0]) ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i)); // check type2 - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 && - gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1] && + gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1]) ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i)); } i += 3; @@ -1454,14 +1454,14 @@ static void CheckWonderGuardAndLevitate(void) if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check no effect - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1 + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[0] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; gProtectStructs[gBattlerAttacker].targetNotAffected = 1; } - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 && - gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 && + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1] && + gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; @@ -1469,18 +1469,18 @@ static void CheckWonderGuardAndLevitate(void) } // check super effective - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 20) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[0] && TYPE_EFFECT_MULTIPLIER(i) == 20) flags |= 1; - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 - && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1] + && gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE) flags |= 1; // check not very effective - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 5) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[0] && TYPE_EFFECT_MULTIPLIER(i) == 5) flags |= 2; - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 - && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1] + && gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE) flags |= 2; } @@ -1570,11 +1570,11 @@ u8 TypeCalc(u16 move, u8 attacker, u8 defender) else if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[defender].type1) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[defender].types[0]) ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags); // check type2 - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[defender].type2 && - gBattleMons[defender].type1 != gBattleMons[defender].type2) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[defender].types[1] && + gBattleMons[defender].types[0] != gBattleMons[defender].types[1]) ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags); } i += 3; @@ -1668,8 +1668,8 @@ static void Cmd_adjustnormaldamage(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -1711,8 +1711,8 @@ static void Cmd_adjustnormaldamage2(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -1769,7 +1769,9 @@ static void Cmd_attackanimation(void) gActiveBattler = gBattlerAttacker; if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) + { multihit = gMultiHitCounter; + } else if (gMultiHitCounter != 0 && gMultiHitCounter != 1) { if (gBattleMons[gBattlerTarget].hp <= gBattleMoveDamage) @@ -1778,9 +1780,11 @@ static void Cmd_attackanimation(void) multihit = gMultiHitCounter; } else + { multihit = gMultiHitCounter; + } - BtlController_EmitMoveAnimation(BUFFER_A, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); + BtlController_EmitMoveAnimation(B_COMM_TO_CONTROLLER, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); gBattleScripting.animTurn++; gBattleScripting.animTargetsHit++; MarkBattlerForControllerExec(gBattlerAttacker); @@ -1825,7 +1829,7 @@ static void Cmd_healthbarupdate(void) else healthValue = maxPossibleDmgValue; - BtlController_EmitHealthBarUpdate(BUFFER_A, healthValue); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, healthValue); MarkBattlerForControllerExec(gActiveBattler); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) @@ -1967,7 +1971,7 @@ static void Cmd_datahpupdate(void) gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE; // Send updated HP - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); } } @@ -2005,11 +2009,11 @@ static void Cmd_effectivenesssound(void) switch (gMoveResultFlags & (u8)(~MOVE_RESULT_MISSED)) { case MOVE_RESULT_SUPER_EFFECTIVE: - BtlController_EmitPlaySE(BUFFER_A, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - BtlController_EmitPlaySE(BUFFER_A, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: @@ -2022,17 +2026,17 @@ static void Cmd_effectivenesssound(void) default: if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - BtlController_EmitPlaySE(BUFFER_A, SE_SUPER_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_SUPER_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - BtlController_EmitPlaySE(BUFFER_A, SE_NOT_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_NOT_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - BtlController_EmitPlaySE(BUFFER_A, SE_EFFECTIVE); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, SE_EFFECTIVE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -2145,7 +2149,7 @@ static void Cmd_printselectionstring(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BUFFER_A, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPrintSelectionString(B_COMM_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -2195,7 +2199,7 @@ static void Cmd_printselectionstringfromtable(void) ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BUFFER_A, *ptr); + BtlController_EmitPrintSelectionString(B_COMM_TO_CONTROLLER, *ptr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -2203,12 +2207,12 @@ static void Cmd_printselectionstringfromtable(void) } } -u8 GetBattlerTurnOrderNum(u8 battlerId) +u8 GetBattlerTurnOrderNum(u8 battler) { s32 i; for (i = 0; i < gBattlersCount; i++) { - if (gBattlerByTurnOrder[i] == battlerId) + if (gBattlerByTurnOrder[i] == battler) break; } return i; @@ -2235,7 +2239,7 @@ void SetMoveEffect(bool8 primary, u8 certain) if (gBattleCommunication[MOVE_EFFECT_BYTE] & MOVE_EFFECT_AFFECTS_USER) { - gEffectBattler = gBattlerAttacker; // battlerId that effects get applied on + gEffectBattler = gBattlerAttacker; // battler that effects get applied on gBattleCommunication[MOVE_EFFECT_BYTE] &= ~MOVE_EFFECT_AFFECTS_USER; affectsUser = MOVE_EFFECT_AFFECTS_USER; gBattleScripting.battler = gBattlerTarget; // theoretically the attacker @@ -2246,11 +2250,11 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleScripting.battler = gBattlerAttacker; } - if (gBattleMons[gEffectBattler].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gBattleMons[gEffectBattler].ability == ABILITY_SHIELD_DUST && !(gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9) INCREMENT_RESET_RETURN - if (gSideStatuses[GET_BATTLER_SIDE(gEffectBattler)] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gSideStatuses[GET_BATTLER_SIDE(gEffectBattler)] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7) INCREMENT_RESET_RETURN @@ -2276,7 +2280,9 @@ void SetMoveEffect(bool8 primary, u8 certain) {} } else + { gActiveBattler = gBattlersCount; + } if (gBattleMons[gEffectBattler].status1) break; @@ -2300,10 +2306,10 @@ void SetMoveEffect(bool8 primary, u8 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_PSNPrevention; - if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS; - gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD; + gHitMarker &= ~HITMARKER_STATUS_ABILITY_EFFECT; } else { @@ -2312,7 +2318,7 @@ void SetMoveEffect(bool8 primary, u8 certain) RESET_RETURN } if ((IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) || IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_STEEL)) - && (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + && (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2341,10 +2347,10 @@ void SetMoveEffect(bool8 primary, u8 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_BRNPrevention; - if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS; - gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD; + gHitMarker &= ~HITMARKER_STATUS_ABILITY_EFFECT; } else { @@ -2353,7 +2359,7 @@ void SetMoveEffect(bool8 primary, u8 certain) RESET_RETURN } if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_FIRE) - && (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + && (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2397,10 +2403,10 @@ void SetMoveEffect(bool8 primary, u8 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_PRLZPrevention; - if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS; - gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD; + gHitMarker &= ~HITMARKER_STATUS_ABILITY_EFFECT; } else { @@ -2409,7 +2415,9 @@ void SetMoveEffect(bool8 primary, u8 certain) RESET_RETURN } else + { break; + } } if (gBattleMons[gEffectBattler].status1) break; @@ -2425,10 +2433,10 @@ void SetMoveEffect(bool8 primary, u8 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_PSNPrevention; - if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS; - gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD; + gHitMarker &= ~HITMARKER_STATUS_ABILITY_EFFECT; } else { @@ -2437,7 +2445,7 @@ void SetMoveEffect(bool8 primary, u8 certain) RESET_RETURN } if ((IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON) || IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_STEEL)) - && (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + && (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2477,13 +2485,13 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); MarkBattlerForControllerExec(gActiveBattler); - if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gHitMarker & HITMARKER_STATUS_ABILITY_EFFECT) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUSED_BY_ABILITY; - gHitMarker &= ~HITMARKER_IGNORE_SAFEGUARD; + gHitMarker &= ~HITMARKER_STATUS_ABILITY_EFFECT; } else { @@ -2779,11 +2787,11 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].item = ITEM_NONE; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2821,7 +2829,7 @@ void SetMoveEffect(bool8 primary, u8 certain) gBattleMons[gBattlerTarget].status1 &= ~STATUS1_PARALYSIS; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -2976,18 +2984,18 @@ static void Cmd_tryfaintmon(void) } else { - u8 battlerId; + u8 battler; if (gBattlescriptCurrInstr[1] == BS_ATTACKER) { gActiveBattler = gBattlerAttacker; - battlerId = gBattlerTarget; + battler = gBattlerTarget; BS_ptr = BattleScript_FaintAttacker; } else { gActiveBattler = gBattlerTarget; - battlerId = gBattlerAttacker; + battler = gBattlerAttacker; BS_ptr = BattleScript_FaintTarget; } if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -3013,7 +3021,7 @@ static void Cmd_tryfaintmon(void) { gHitMarker &= ~HITMARKER_DESTINYBOND; BattleScriptPush(gBattlescriptCurrInstr); - gBattleMoveDamage = gBattleMons[battlerId].hp; + gBattleMoveDamage = gBattleMons[battler].hp; gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife; } if ((gStatuses3[gBattlerTarget] & STATUS3_GRUDGE) @@ -3028,7 +3036,7 @@ static void Cmd_tryfaintmon(void) BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) @@ -3046,7 +3054,7 @@ static void Cmd_dofaintanimation(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintAnimation(BUFFER_A); + BtlController_EmitFaintAnimation(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -3061,7 +3069,7 @@ static void Cmd_cleareffectsonfaint(void) if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0) { gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } @@ -3072,11 +3080,11 @@ static void Cmd_cleareffectsonfaint(void) static void Cmd_jumpifstatus(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); - if (gBattleMons[battlerId].status1 & flags && gBattleMons[battlerId].hp != 0) + if (gBattleMons[battler].status1 & flags && gBattleMons[battler].hp != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3084,11 +3092,11 @@ static void Cmd_jumpifstatus(void) static void Cmd_jumpifstatus2(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 6); - if (gBattleMons[battlerId].status2 & flags && gBattleMons[battlerId].hp != 0) + if (gBattleMons[battler].status2 & flags && gBattleMons[battler].hp != 0) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 10; @@ -3096,48 +3104,54 @@ static void Cmd_jumpifstatus2(void) static void Cmd_jumpifability(void) { - u8 battlerId; + u8 battler; u8 ability = gBattlescriptCurrInstr[2]; const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (gBattlescriptCurrInstr[1] == BS_ATTACKER_SIDE) { - battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_BATTLER_SIDE, gBattlerAttacker, ability, 0, 0); - if (battlerId) + battler = AbilityBattleEffects(ABILITYEFFECT_CHECK_BATTLER_SIDE, gBattlerAttacker, ability, 0, 0); + if (battler) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(battlerId - 1, gLastUsedAbility); - gBattleScripting.battlerWithAbility = battlerId - 1; + RecordAbilityBattle(battler - 1, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battler - 1; } else + { gBattlescriptCurrInstr += 7; + } } else if (gBattlescriptCurrInstr[1] == BS_NOT_ATTACKER_SIDE) { - battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattlerAttacker, ability, 0, 0); - if (battlerId) + battler = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBattlerAttacker, ability, 0, 0); + if (battler) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(battlerId - 1, gLastUsedAbility); - gBattleScripting.battlerWithAbility = battlerId - 1; + RecordAbilityBattle(battler - 1, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battler - 1; } else + { gBattlescriptCurrInstr += 7; + } } else { - battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattleMons[battlerId].ability == ability) + battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + if (gBattleMons[battler].ability == ability) { gLastUsedAbility = ability; gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(battlerId, gLastUsedAbility); - gBattleScripting.battlerWithAbility = battlerId; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattleScripting.battlerWithAbility = battler; } else + { gBattlescriptCurrInstr += 7; + } } } @@ -3164,8 +3178,8 @@ static void Cmd_jumpifsideaffecting(void) static void Cmd_jumpifstat(void) { u8 ret = 0; - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - u8 value = gBattleMons[battlerId].statStages[gBattlescriptCurrInstr[3]]; + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 value = gBattleMons[battler].statStages[gBattlescriptCurrInstr[3]]; switch (gBattlescriptCurrInstr[2]) { @@ -3228,11 +3242,11 @@ static void Cmd_jumpifstatus3condition(void) static void Cmd_jumpiftype(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); u8 type = gBattlescriptCurrInstr[2]; const u8 *jumpPtr = T2_READ_PTR(gBattlescriptCurrInstr + 3); - if (IS_BATTLER_OF_TYPE(battlerId, type)) + if (IS_BATTLER_OF_TYPE(battler, type)) gBattlescriptCurrInstr = jumpPtr; else gBattlescriptCurrInstr += 7; @@ -3287,7 +3301,7 @@ static void Cmd_getexp(void) if (item == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else - holdEffect = ItemId_GetHoldEffect(item); + holdEffect = GetItemHoldEffect(item); if (holdEffect == HOLD_EFFECT_EXP_SHARE) viaExpShare++; @@ -3326,7 +3340,7 @@ static void Cmd_getexp(void) if (item == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else - holdEffect = ItemId_GetHoldEffect(item); + holdEffect = GetItemHoldEffect(item); if (holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1)) { @@ -3366,7 +3380,7 @@ static void Cmd_getexp(void) if (IsTradedMon(&gPlayerParty[gBattleStruct->expGetterMonId])) { - // check if the pokemon doesn't belong to the player + // check if the Pokémon doesn't belong to the player if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterMonId >= 3) { i = STRINGID_EMPTYSTRING4; @@ -3382,18 +3396,15 @@ static void Cmd_getexp(void) i = STRINGID_EMPTYSTRING4; } - // get exp getter battlerId + // get exp getter battler if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && !(gAbsentBattlerFlags & gBitTable[2])) gBattleStruct->expGetterBattlerId = 2; + else if (!(gAbsentBattlerFlags & gBitTable[0])) + gBattleStruct->expGetterBattlerId = 0; else - { - if (!(gAbsentBattlerFlags & gBitTable[0])) - gBattleStruct->expGetterBattlerId = 0; - else - gBattleStruct->expGetterBattlerId = 2; - } + gBattleStruct->expGetterBattlerId = 2; } else { @@ -3427,7 +3438,7 @@ static void Cmd_getexp(void) gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPDEF); gActiveBattler = gBattleStruct->expGetterBattlerId; - BtlController_EmitExpUpdate(BUFFER_A, gBattleStruct->expGetterMonId, gBattleMoveDamage); + BtlController_EmitExpUpdate(B_COMM_TO_CONTROLLER, gBattleStruct->expGetterMonId, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); } gBattleScripting.getexpState++; @@ -3926,7 +3937,7 @@ static void Cmd_healthbar_update(void) else gActiveBattler = gBattlerAttacker; - BtlController_EmitHealthBarUpdate(BUFFER_A, gBattleMoveDamage); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, gBattleMoveDamage); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -3969,9 +3980,9 @@ static void Cmd_call(void) static void Cmd_jumpiftype2(void) { - u8 battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); + u8 battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - if (gBattlescriptCurrInstr[2] == gBattleMons[battlerId].type1 || gBattlescriptCurrInstr[2] == gBattleMons[battlerId].type2) + if (gBattlescriptCurrInstr[2] == gBattleMons[battler].types[0] || gBattlescriptCurrInstr[2] == gBattleMons[battler].types[1]) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); else gBattlescriptCurrInstr += 7; @@ -4001,7 +4012,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SNATCH_MOVE || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BUFFER_A, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4015,7 +4026,7 @@ static void Cmd_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SANDSTORM_CONTINUES || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BUFFER_A, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4025,7 +4036,7 @@ static void Cmd_playanimation(void) } else { - BtlController_EmitBattleAnimation(BUFFER_A, gBattlescriptCurrInstr[2], *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 7; } @@ -4045,7 +4056,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SNATCH_MOVE || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { - BtlController_EmitBattleAnimation(BUFFER_A, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4058,7 +4069,7 @@ static void Cmd_playanimation_var(void) || *animationIdPtr == B_ANIM_SANDSTORM_CONTINUES || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { - BtlController_EmitBattleAnimation(BUFFER_A, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4068,7 +4079,7 @@ static void Cmd_playanimation_var(void) } else { - BtlController_EmitBattleAnimation(BUFFER_A, *animationIdPtr, *argumentPtr); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, *animationIdPtr, *argumentPtr); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 10; } @@ -4184,7 +4195,7 @@ static void Cmd_playstatchangeanimation(void) } else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { - BtlController_EmitBattleAnimation(BUFFER_A, B_ANIM_STATS_CHANGE, statAnimId); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, B_ANIM_STATS_CHANGE, statAnimId); MarkBattlerForControllerExec(gActiveBattler); if (gBattlescriptCurrInstr[3] & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; @@ -4217,7 +4228,7 @@ static void Cmd_moveend(void) if (gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY) holdEffectAtk = gEnigmaBerries[gBattlerAttacker].holdEffect; else - holdEffectAtk = ItemId_GetHoldEffect(gBattleMons[gBattlerAttacker].item); + holdEffectAtk = GetItemHoldEffect(gBattleMons[gBattlerAttacker].item); choicedMoveAtk = &gBattleStruct->choicedMove[gBattlerAttacker]; GET_MOVE_TYPE(gCurrentMove, moveType); @@ -4253,7 +4264,7 @@ static void Cmd_moveend(void) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); MarkBattlerForControllerExec(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; @@ -4332,7 +4343,7 @@ static void Cmd_moveend(void) && gHitMarker & HITMARKER_NO_ANIMATIONS) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BUFFER_A, TRUE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattleScripting.moveendState++; return; @@ -4345,7 +4356,7 @@ static void Cmd_moveend(void) || WasUnableToUseMove(gBattlerAttacker)) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE; gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; @@ -4359,7 +4370,7 @@ static void Cmd_moveend(void) && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { gActiveBattler = gBattlerTarget; - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE; gBattleScripting.moveendState++; @@ -4448,15 +4459,15 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; - case MOVEEND_NEXT_TARGET: // For moves hitting two opposing Pokemon. + case MOVEEND_NEXT_TARGET: // For moves hitting two opposing Pokémon. if (!(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !gProtectStructs[gBattlerAttacker].chargingTurn && gBattleMoves[gCurrentMove].target == MOVE_TARGET_BOTH && !(gHitMarker & HITMARKER_NO_ATTACKSTRING)) { - u8 battlerId = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); - if (gBattleMons[battlerId].hp != 0) + u8 battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerTarget))); + if (gBattleMons[battler].hp != 0) { - gBattlerTarget = battlerId; + gBattlerTarget = battler; gHitMarker |= HITMARKER_NO_ATTACKSTRING; gBattleScripting.moveendState = 0; MoveValuesCleanUp(); @@ -4520,7 +4531,7 @@ static void Cmd_typecalc2(void) if (TYPE_EFFECT_ATK_TYPE(i) == moveType) { // check type1 - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type1) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[0]) { if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { @@ -4537,22 +4548,22 @@ static void Cmd_typecalc2(void) } } // check type2 - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2) + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1]) { - if (gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + if (gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT) { gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 - && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1] + && gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE) { flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } - if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].type2 - && gBattleMons[gBattlerTarget].type1 != gBattleMons[gBattlerTarget].type2 + if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBattlerTarget].types[1] + && gBattleMons[gBattlerTarget].types[0] != gBattleMons[gBattlerTarget].types[1] && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE) { flags |= MOVE_RESULT_SUPER_EFFECTIVE; @@ -4586,7 +4597,7 @@ static void Cmd_returnatktoball(void) gActiveBattler = gBattlerAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr++; @@ -4601,7 +4612,7 @@ static void Cmd_getswitchedmondata(void) gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler); - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -4623,8 +4634,8 @@ static void Cmd_switchindataupdate(void) for (i = 0; i < sizeof(struct BattlePokemon); i++) monData[i] = gBattleBufferB[gActiveBattler][4 + i]; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; + gBattleMons[gActiveBattler].types[0] = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; + gBattleMons[gActiveBattler].types[1] = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); // check knocked off item @@ -4677,7 +4688,7 @@ static void Cmd_switchinanim(void) gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); - BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); + BtlController_EmitSwitchInAnim(B_COMM_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], gBattlescriptCurrInstr[2]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -4847,7 +4858,7 @@ static void ChooseMonToSendOut(u8 slotId) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } @@ -4855,10 +4866,10 @@ static void Cmd_openpartyscreen(void) { u32 flags; u8 hitmarkerFaintBits; - u8 battlerId; + u8 battler; const u8 *jumpPtr; - battlerId = 0; + battler = 0; flags = 0; jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2); @@ -4874,7 +4885,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4885,7 +4896,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4903,7 +4914,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4913,7 +4924,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 1; } @@ -4925,7 +4936,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4935,7 +4946,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 1)) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4946,7 +4957,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4956,7 +4967,7 @@ static void Cmd_openpartyscreen(void) } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); flags |= 2; } @@ -4968,7 +4979,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -4978,7 +4989,7 @@ static void Cmd_openpartyscreen(void) } else if (!(flags & 2)) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -4994,7 +5005,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 0; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } @@ -5010,7 +5021,7 @@ static void Cmd_openpartyscreen(void) else gActiveBattler = 1; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5031,7 +5042,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5047,7 +5058,7 @@ static void Cmd_openpartyscreen(void) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); + BtlController_EmitCantSwitch(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); } else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) @@ -5087,26 +5098,26 @@ static void Cmd_openpartyscreen(void) else hitmarkerFaintBits = PARTY_ACTION_SEND_OUT; - battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~PARTY_SCREEN_OPTIONAL); - if (gSpecialStatuses[battlerId].faintedHasReplacement) + battler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~PARTY_SCREEN_OPTIONAL); + if (gSpecialStatuses[battler].faintedHasReplacement) { gBattlescriptCurrInstr += 6; } - else if (HasNoMonsToSwitch(battlerId, PARTY_SIZE, PARTY_SIZE)) + else if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gActiveBattler = battlerId; + gActiveBattler = battler; gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); gBattlescriptCurrInstr = jumpPtr; } else { - gActiveBattler = battlerId; + gActiveBattler = battler; *(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 6; @@ -5118,20 +5129,20 @@ static void Cmd_openpartyscreen(void) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - if (gActiveBattler != battlerId) + if (gActiveBattler != battler) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } } else { - gActiveBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battlerId))); + gActiveBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gActiveBattler ^= BIT_FLANK; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_ONLY, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -5290,7 +5301,7 @@ static void Cmd_switchineffects(void) static void Cmd_trainerslidein(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlide(BUFFER_A); + BtlController_EmitTrainerSlide(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5299,7 +5310,7 @@ static void Cmd_trainerslidein(void) static void Cmd_playse(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlaySE(BUFFER_A, T2_READ_16(gBattlescriptCurrInstr + 1)); + BtlController_EmitPlaySE(B_COMM_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5308,7 +5319,7 @@ static void Cmd_playse(void) static void Cmd_fanfare(void) { gActiveBattler = gBattlerAttacker; - BtlController_EmitPlayFanfareOrBGM(BUFFER_A, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); + BtlController_EmitPlayFanfareOrBGM(B_COMM_TO_CONTROLLER, T2_READ_16(gBattlescriptCurrInstr + 1), FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 3; @@ -5317,7 +5328,7 @@ static void Cmd_fanfare(void) static void Cmd_playfaintcry(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitFaintingCry(BUFFER_A); + BtlController_EmitFaintingCry(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5326,7 +5337,7 @@ static void Cmd_playfaintcry(void) static void Cmd_endlinkbattle(void) { gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitEndLinkBattle(BUFFER_A, gBattleOutcome); + BtlController_EmitEndLinkBattle(B_COMM_TO_CONTROLLER, gBattleOutcome); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 1; @@ -5335,7 +5346,7 @@ static void Cmd_endlinkbattle(void) static void Cmd_returntoball(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitReturnMonToBall(BUFFER_A, TRUE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, TRUE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5453,8 +5464,8 @@ static void Cmd_yesnoboxlearnmove(void) } else { - u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); - if (IsHMMove2(moveId)) + u16 move = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); + if (IsHMMove2(move)) { PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBattler); gBattleScripting.learnMoveState = 6; @@ -5463,7 +5474,7 @@ static void Cmd_yesnoboxlearnmove(void) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - PREPARE_MOVE_BUFFER(gBattleTextBuff2, moveId) + PREPARE_MOVE_BUFFER(gBattleTextBuff2, move) RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterMonId], movePosition); SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterMonId], gMoveToLearn, movePosition); @@ -5554,7 +5565,7 @@ static void Cmd_hitanimation(void) } else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { - BtlController_EmitHitAnimation(BUFFER_A); + BtlController_EmitHitAnimation(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -5641,7 +5652,7 @@ static void Cmd_updatebattlermoves(void) switch (gBattleCommunication[0]) { case 0: - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[0]++; break; @@ -5714,7 +5725,7 @@ static void Cmd_drawpartystatussummary(void) } } - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatuses, 1); + BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatuses, 1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5723,7 +5734,7 @@ static void Cmd_drawpartystatussummary(void) static void Cmd_hidepartystatussummary(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitHidePartyStatusSummary(BUFFER_A); + BtlController_EmitHidePartyStatusSummary(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -5748,7 +5759,7 @@ static void Cmd_statusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, FALSE, gBattleMons[gActiveBattler].status1); + BtlController_EmitStatusAnimation(B_COMM_TO_CONTROLLER, FALSE, gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 2; @@ -5767,7 +5778,7 @@ static void Cmd_status2animation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); + BtlController_EmitStatusAnimation(B_COMM_TO_CONTROLLER, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 6; @@ -5786,7 +5797,7 @@ static void Cmd_chosenstatusanimation(void) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, gBattlescriptCurrInstr[2], wantedStatus); + BtlController_EmitStatusAnimation(B_COMM_TO_CONTROLLER, gBattlescriptCurrInstr[2], wantedStatus); MarkBattlerForControllerExec(gActiveBattler); } gBattlescriptCurrInstr += 7; @@ -5858,8 +5869,8 @@ static void Cmd_adjustsetdamage(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -5897,7 +5908,7 @@ static void Cmd_removeitem(void) *usedHeldItem = gBattleMons[gActiveBattler].item; gBattleMons[gActiveBattler].item = ITEM_NONE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6206,7 +6217,7 @@ static void Cmd_setatktoplayer0(void) static void Cmd_makevisible(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); + BtlController_EmitSpriteInvisibility(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -6420,7 +6431,7 @@ static void Cmd_various(void) gDisableStructs[1].truantSwitchInHack = 1; break; case VARIOUS_EMIT_YESNOBOX: - BtlController_EmitYesNoBox(BUFFER_A); + BtlController_EmitYesNoBox(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); break; case VARIOUS_DRAW_ARENA_REF_TEXT_BOX: @@ -6445,7 +6456,7 @@ static void Cmd_various(void) gActiveBattler = 1; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -6455,7 +6466,7 @@ static void Cmd_various(void) gActiveBattler = 3; if (gBattleMons[gActiveBattler].hp != 0) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); + BtlController_EmitReturnMonToBall(B_COMM_TO_CONTROLLER, FALSE); MarkBattlerForControllerExec(gActiveBattler); } } @@ -6480,7 +6491,7 @@ static void Cmd_various(void) gBattleOutcome = B_OUTCOME_MON_TELEPORTED; break; case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: - BtlController_EmitPlayFanfareOrBGM(BUFFER_A, MUS_VICTORY_TRAINER, TRUE); + BtlController_EmitPlayFanfareOrBGM(B_COMM_TO_CONTROLLER, MUS_VICTORY_TRAINER, TRUE); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -6541,7 +6552,7 @@ static void Cmd_tryexplosion(void) // Success, no battlers with Damp. Drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6570,7 +6581,7 @@ static void Cmd_setatkhptozero(void) gActiveBattler = gBattlerAttacker; gBattleMons[gActiveBattler].hp = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -6766,7 +6777,7 @@ static void Cmd_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST; gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -6787,13 +6798,13 @@ static void Cmd_nop(void) gBattlescriptCurrInstr++; } -bool8 UproarWakeUpCheck(u8 battlerId) +bool8 UproarWakeUpCheck(u8 battler) { s32 i; for (i = 0; i < gBattlersCount; i++) { - if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[battlerId].ability == ABILITY_SOUNDPROOF) + if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[battler].ability == ABILITY_SOUNDPROOF) continue; gBattleScripting.battler = i; @@ -7178,7 +7189,7 @@ static void Cmd_forcerandomswitch(void) s32 battler2PartyId = 0; s32 firstMonId; - s32 lastMonId = 0; // + 1 + s32 lastMonId = 0; s32 monsCount; struct Pokemon *party = NULL; s32 validMons = 0; @@ -7198,12 +7209,20 @@ static void Cmd_forcerandomswitch(void) if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT) { firstMonId = PARTY_SIZE / 2; + #ifdef BUGFIX + lastMonId = PARTY_SIZE - 1; + #else lastMonId = PARTY_SIZE; + #endif } else { firstMonId = 0; + #ifdef BUGFIX + lastMonId = PARTY_SIZE / 2 - 1; + #else lastMonId = PARTY_SIZE / 2; + #endif } monsCount = PARTY_SIZE / 2; minNeeded = 1; @@ -7216,12 +7235,20 @@ static void Cmd_forcerandomswitch(void) if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == B_FLANK_RIGHT) { firstMonId = PARTY_SIZE / 2; + #ifdef BUGFIX + lastMonId = PARTY_SIZE - 1; + #else lastMonId = PARTY_SIZE; + #endif } else { firstMonId = 0; + #ifdef BUGFIX + lastMonId = PARTY_SIZE / 2 - 1; + #else lastMonId = PARTY_SIZE / 2; + #endif } monsCount = PARTY_SIZE / 2; minNeeded = 1; @@ -7233,7 +7260,11 @@ static void Cmd_forcerandomswitch(void) if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) { firstMonId = 0; + #ifdef BUGFIX + lastMonId = PARTY_SIZE - 1; + #else lastMonId = PARTY_SIZE; + #endif monsCount = PARTY_SIZE; minNeeded = 2; // since there are two opponents, it has to be a double battle } @@ -7242,12 +7273,20 @@ static void Cmd_forcerandomswitch(void) if ((gBattlerTarget & BIT_FLANK) != B_FLANK_LEFT) { firstMonId = PARTY_SIZE / 2; + #ifdef BUGFIX + lastMonId = PARTY_SIZE - 1; + #else lastMonId = PARTY_SIZE; + #endif } else { firstMonId = 0; + #ifdef BUGFIX + lastMonId = PARTY_SIZE / 2 - 1; + #else lastMonId = PARTY_SIZE / 2; + #endif } monsCount = PARTY_SIZE / 2; minNeeded = 1; @@ -7258,7 +7297,11 @@ static void Cmd_forcerandomswitch(void) else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { firstMonId = 0; + #ifdef BUGFIX + lastMonId = PARTY_SIZE - 1; + #else lastMonId = PARTY_SIZE; + #endif monsCount = PARTY_SIZE; minNeeded = 2; battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; @@ -7267,10 +7310,14 @@ static void Cmd_forcerandomswitch(void) else { firstMonId = 0; + #ifdef BUGFIX + lastMonId = PARTY_SIZE - 1; + #else lastMonId = PARTY_SIZE; + #endif monsCount = PARTY_SIZE; minNeeded = 1; - battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one pokemon out in single battles + battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one Pokémon out in single battles battler1PartyId = gBattlerPartyIndexes[gBattlerTarget]; } @@ -7290,6 +7337,38 @@ static void Cmd_forcerandomswitch(void) } else { + #ifdef BUGFIX + if (TryDoForceSwitchOut()) + { + do + { + do + { + i = Random() % monsCount; + i += firstMonId; + } + while (i == battler2PartyId || i == battler1PartyId); + } while (GetMonData(&party[i], MON_DATA_SPECIES) == SPECIES_NONE + || GetMonData(&party[i], MON_DATA_IS_EGG) == TRUE + || GetMonData(&party[i], MON_DATA_HP) == 0); //should be one while loop, but that doesn't match. + *(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i; + + if (!IsMultiBattle()) + SwitchPartyOrder(gBattlerTarget); + + if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + || (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) + || (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + || (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)) + { + SwitchPartyOrderLinkMulti(gBattlerTarget, i, 0); + SwitchPartyOrderLinkMulti(BATTLE_PARTNER(gBattlerTarget), i, 1); + } + + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + SwitchPartyOrderInGameMulti(gBattlerTarget, i); + } + #else if (TryDoForceSwitchOut()) { do @@ -7320,6 +7399,7 @@ static void Cmd_forcerandomswitch(void) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) SwitchPartyOrderInGameMulti(gBattlerTarget, i); + #endif } } else @@ -7354,8 +7434,8 @@ static void Cmd_tryconversiontypechange(void) else moveType = TYPE_NORMAL; } - if (moveType != gBattleMons[gBattlerAttacker].type1 - && moveType != gBattleMons[gBattlerAttacker].type2) + if (moveType != gBattleMons[gBattlerAttacker].types[0] + && moveType != gBattleMons[gBattlerAttacker].types[1]) { break; } @@ -7381,7 +7461,7 @@ static void Cmd_tryconversiontypechange(void) moveType = TYPE_NORMAL; } } - while (moveType == gBattleMons[gBattlerAttacker].type1 || moveType == gBattleMons[gBattlerAttacker].type2); + while (moveType == gBattleMons[gBattlerAttacker].types[0] || moveType == gBattleMons[gBattlerAttacker].types[1]); SET_BATTLER_TYPE(gBattlerAttacker, moveType); PREPARE_TYPE_BUFFER(gBattleTextBuff1, moveType); @@ -7441,8 +7521,8 @@ static void Cmd_tryKO(void) } else { - holdEffect = ItemId_GetHoldEffect(gBattleMons[gBattlerTarget].item); - param = ItemId_GetHoldEffectParam(gBattleMons[gBattlerTarget].item); + holdEffect = GetItemHoldEffect(gBattleMons[gBattlerTarget].item); + param = GetItemHoldEffectParam(gBattleMons[gBattlerTarget].item); } gPotentialItemEffectBattler = gBattlerTarget; @@ -7548,12 +7628,12 @@ static void Cmd_weatherdamage(void) { if (gBattleWeather & B_WEATHER_SANDSTORM) { - if (gBattleMons[gBattlerAttacker].type1 != TYPE_ROCK - && gBattleMons[gBattlerAttacker].type1 != TYPE_STEEL - && gBattleMons[gBattlerAttacker].type1 != TYPE_GROUND - && gBattleMons[gBattlerAttacker].type2 != TYPE_ROCK - && gBattleMons[gBattlerAttacker].type2 != TYPE_STEEL - && gBattleMons[gBattlerAttacker].type2 != TYPE_GROUND + if (gBattleMons[gBattlerAttacker].types[0] != TYPE_ROCK + && gBattleMons[gBattlerAttacker].types[0] != TYPE_STEEL + && gBattleMons[gBattlerAttacker].types[0] != TYPE_GROUND + && gBattleMons[gBattlerAttacker].types[1] != TYPE_ROCK + && gBattleMons[gBattlerAttacker].types[1] != TYPE_STEEL + && gBattleMons[gBattlerAttacker].types[1] != TYPE_GROUND && gBattleMons[gBattlerAttacker].ability != ABILITY_SAND_VEIL && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERGROUND) && !(gStatuses3[gBattlerAttacker] & STATUS3_UNDERWATER)) @@ -7647,7 +7727,7 @@ static void Cmd_updatestatusicon(void) if (gBattlescriptCurrInstr[1] != BS_ATTACKER_WITH_PARTNER) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(B_COMM_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -7656,7 +7736,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = gBattlerAttacker; if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(B_COMM_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -7664,7 +7744,7 @@ static void Cmd_updatestatusicon(void) gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + BtlController_EmitStatusIconUpdate(B_COMM_TO_CONTROLLER, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBattlerForControllerExec(gActiveBattler); } } @@ -7742,7 +7822,7 @@ static void Cmd_transformdataexecution(void) } gActiveBattler = gBattlerAttacker; - BtlController_EmitResetActionMoveSelection(BUFFER_A, RESET_MOVE_SELECTION); + BtlController_EmitResetActionMoveSelection(B_COMM_TO_CONTROLLER, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; } @@ -7761,7 +7841,7 @@ static void Cmd_setsubstitute(void) } else { - gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; // one bit value will only work for pokemon which max hp can go to 1020(which is more than possible in games) + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; // one bit value will only work for Pokémon which max hp can go to 1020(which is more than possible in games) if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -8122,7 +8202,7 @@ static void Cmd_copymovepermanently(void) } movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); MarkBattlerForControllerExec(gActiveBattler); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) @@ -8161,7 +8241,7 @@ static bool8 IsInvalidForSleepTalkOrAssist(u16 move) return FALSE; } -static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 +static u8 AttacksThisTurn(u8 battler, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 { // first argument is unused if (gBattleMoves[move].effect == EFFECT_SOLAR_BEAM @@ -8290,7 +8370,7 @@ static void Cmd_tryspiteppreduce(void) if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i]) && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); MarkBattlerForControllerExec(gActiveBattler); } @@ -8401,7 +8481,7 @@ static void Cmd_healpartystatus(void) if (toHeal) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); MarkBattlerForControllerExec(gActiveBattler); } @@ -8558,11 +8638,17 @@ static void Cmd_presentdamagecalculation(void) s32 rand = Random() & 0xFF; if (rand < 102) + { gDynamicBasePower = 40; + } else if (rand < 178) + { gDynamicBasePower = 80; + } else if (rand < 204) + { gDynamicBasePower = 120; + } else { gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; @@ -8570,10 +8656,15 @@ static void Cmd_presentdamagecalculation(void) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; } + if (rand < 204) + { gBattlescriptCurrInstr = BattleScript_HitFromCritCalc; + } else if (gBattleMons[gBattlerTarget].maxHP == gBattleMons[gBattlerTarget].hp) + { gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp; + } else { gMoveResultFlags &= ~MOVE_RESULT_DOESNT_AFFECT_FOE; @@ -8910,6 +9001,7 @@ static void Cmd_trydobeatup(void) && !GetMonData(&party[gBattleCommunication[0]], MON_DATA_STATUS)) break; } + if (gBattleCommunication[0] < PARTY_SIZE) { PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattlerAttacker, gBattleCommunication[0]) @@ -8927,9 +9019,13 @@ static void Cmd_trydobeatup(void) gBattleCommunication[0]++; } else if (beforeLoop != 0) + { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + } else + { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); + } } } @@ -9010,7 +9106,7 @@ static void Cmd_trymemento(void) // Success, drop user's HP bar to 0 gActiveBattler = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); + BtlController_EmitHealthBarUpdate(B_COMM_TO_CONTROLLER, INSTANT_HP_BAR_DROP); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; } @@ -9033,10 +9129,10 @@ static void Cmd_setcharge(void) } // Nature Power -static void Cmd_callterrainattack(void) +static void Cmd_callenvironmentattack(void) { gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; - gCurrentMove = sNaturePowerMoves[gBattleTerrain]; + gCurrentMove = sNaturePowerMoves[gBattleEnvironment]; gBattlerTarget = GetMoveTarget(gCurrentMove, NO_TARGET_OVERRIDE); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); gBattlescriptCurrInstr++; @@ -9050,7 +9146,7 @@ static void Cmd_cureifburnedparalysedorpoisoned(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr += 5; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } else @@ -9142,7 +9238,7 @@ static void Cmd_tryswapitems(void) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } - // can't swap if two pokemon don't have an item + // can't swap if two Pokémon don't have an item // or if either of them is an enigma berry or a mail else if ((gBattleMons[gBattlerAttacker].item == ITEM_NONE && gBattleMons[gBattlerTarget].item == ITEM_NONE) || gBattleMons[gBattlerAttacker].item == ITEM_ENIGMA_BERRY @@ -9172,11 +9268,11 @@ static void Cmd_tryswapitems(void) gBattleMons[gBattlerTarget].item = oldItemAtk; gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); MarkBattlerForControllerExec(gBattlerAttacker); gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); *(u8 *)((u8 *)(&gBattleStruct->choicedMove[gBattlerTarget]) + 0) = 0; @@ -9344,13 +9440,13 @@ static void Cmd_tryimprison(void) } else { - u8 battlerId, sideAttacker; + u8 battler, sideAttacker; sideAttacker = GetBattlerSide(gBattlerAttacker); PressurePPLoseOnUsingImprison(gBattlerAttacker); - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (sideAttacker != GetBattlerSide(battlerId)) + if (sideAttacker != GetBattlerSide(battler)) { s32 attackerMoveId; for (attackerMoveId = 0; attackerMoveId < MAX_MON_MOVES; attackerMoveId++) @@ -9358,7 +9454,7 @@ static void Cmd_tryimprison(void) s32 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battlerId].moves[i] + if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battler].moves[i] && gBattleMons[gBattlerAttacker].moves[attackerMoveId] != MOVE_NONE) break; } @@ -9373,7 +9469,7 @@ static void Cmd_tryimprison(void) } } } - if (battlerId == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes + if (battler == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -9412,7 +9508,7 @@ static void Cmd_assistattackselect(void) { s32 chooseableMovesNo = 0; struct Pokemon *party; - s32 monId, moveId; + s32 monId, moveIndex; u16 *validMoves = gBattleStruct->assistPossibleMoves; if (GET_BATTLER_SIDE(gBattlerAttacker) != B_SIDE_PLAYER) @@ -9429,10 +9525,10 @@ static void Cmd_assistattackselect(void) if (GetMonData(&party[monId], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) continue; - for (moveId = 0; moveId < MAX_MON_MOVES; moveId++) + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) { s32 i = 0; - u16 move = GetMonData(&party[monId], MON_DATA_MOVE1 + moveId); + u16 move = GetMonData(&party[monId], MON_DATA_MOVE1 + moveIndex); if (IsInvalidForSleepTalkOrAssist(move)) continue; @@ -9522,7 +9618,7 @@ static void Cmd_switchoutabilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); @@ -9545,30 +9641,30 @@ static void Cmd_jumpifhasnohp(void) static void Cmd_getsecretpowereffect(void) { - switch (gBattleTerrain) + switch (gBattleEnvironment) { - case BATTLE_TERRAIN_GRASS: + case BATTLE_ENVIRONMENT_GRASS: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_POISON; break; - case BATTLE_TERRAIN_LONG_GRASS: + case BATTLE_ENVIRONMENT_LONG_GRASS: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_SLEEP; break; - case BATTLE_TERRAIN_SAND: + case BATTLE_ENVIRONMENT_SAND: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_ACC_MINUS_1; break; - case BATTLE_TERRAIN_UNDERWATER: + case BATTLE_ENVIRONMENT_UNDERWATER: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_DEF_MINUS_1; break; - case BATTLE_TERRAIN_WATER: + case BATTLE_ENVIRONMENT_WATER: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_ATK_MINUS_1; break; - case BATTLE_TERRAIN_POND: + case BATTLE_ENVIRONMENT_POND: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_SPD_MINUS_1; break; - case BATTLE_TERRAIN_MOUNTAIN: + case BATTLE_ENVIRONMENT_MOUNTAIN: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION; break; - case BATTLE_TERRAIN_CAVE: + case BATTLE_ENVIRONMENT_CAVE: gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; break; default: @@ -9588,7 +9684,7 @@ static void Cmd_pickup(void) { } - else if (InBattlePyramid()) + else if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { for (i = 0; i < PARTY_SIZE; i++) { @@ -9662,7 +9758,7 @@ static void Cmd_docastformchangeanimation(void) if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) *(&gBattleStruct->formToChangeInto) |= CASTFORM_SUBSTITUTE; - BtlController_EmitBattleAnimation(BUFFER_A, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); + BtlController_EmitBattleAnimation(B_COMM_TO_CONTROLLER, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr++; @@ -9744,7 +9840,7 @@ static void Cmd_tryrecycleitem(void) *usedHeldItem = ITEM_NONE; gBattleMons[gActiveBattler].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 5; @@ -9755,12 +9851,12 @@ static void Cmd_tryrecycleitem(void) } } -static void Cmd_settypetoterrain(void) +static void Cmd_settypetoenvironment(void) { - if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, sTerrainToType[gBattleTerrain])) + if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, sEnvironmentToType[gBattleEnvironment])) { - SET_BATTLER_TYPE(gBattlerAttacker, sTerrainToType[gBattleTerrain]); - PREPARE_TYPE_BUFFER(gBattleTextBuff1, sTerrainToType[gBattleTerrain]); + SET_BATTLER_TYPE(gBattlerAttacker, sEnvironmentToType[gBattleEnvironment]); + PREPARE_TYPE_BUFFER(gBattleTextBuff1, sEnvironmentToType[gBattleEnvironment]); gBattlescriptCurrInstr += 5; } @@ -9841,13 +9937,13 @@ static void Cmd_handleballthrow(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_TRAINER_BLOCK); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, BALL_TRAINER_BLOCK); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } @@ -9907,7 +10003,9 @@ static void Cmd_handleballthrow(void) } } else + { ballMultiplier = sBallCatchBonuses[gLastUsedItem - ITEM_ULTRA_BALL]; + } odds = (catchRate * ballMultiplier / 10) * (gBattleMons[gBattlerTarget].maxHP * 3 - gBattleMons[gBattlerTarget].hp * 2) @@ -9933,7 +10031,7 @@ static void Cmd_handleballthrow(void) if (odds > 254) // mon caught { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_3_SHAKES_SUCCESS); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, BALL_3_SHAKES_SUCCESS); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); @@ -9955,7 +10053,7 @@ static void Cmd_handleballthrow(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? - BtlController_EmitBallThrowAnim(BUFFER_A, shakes); + BtlController_EmitBallThrowAnim(B_COMM_TO_CONTROLLER, shakes); MarkBattlerForControllerExec(gActiveBattler); if (shakes == BALL_3_SHAKES_SUCCESS) // mon caught, copy of the code above @@ -10244,7 +10342,7 @@ static void Cmd_finishturn(void) static void Cmd_trainerslideout(void) { gActiveBattler = GetBattlerAtPosition(gBattlescriptCurrInstr[1]); - BtlController_EmitTrainerSlideBack(BUFFER_A); + BtlController_EmitTrainerSlideBack(B_COMM_TO_CONTROLLER); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; diff --git a/src/battle_setup.c b/src/battle_setup.c index a9cfc48ffb..41026de725 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -39,6 +39,7 @@ #include "data.h" #include "constants/battle_frontier.h" #include "constants/battle_setup.h" +#include "constants/event_objects.h" #include "constants/game_stat.h" #include "constants/items.h" #include "constants/songs.h" @@ -108,7 +109,7 @@ EWRAM_DATA static u8 *sTrainerBBattleScriptRetAddr = NULL; EWRAM_DATA static bool8 sShouldCheckTrainerBScript = FALSE; EWRAM_DATA static u8 sNoOfPossibleTrainerRetScripts = 0; -// The first transition is used if the enemy pokemon are lower level than our pokemon. +// The first transition is used if the enemy Pokémon are lower level than our Pokémon. // Otherwise, the second transition is used. static const u8 sBattleTransitionTable_Wild[][2] = { @@ -258,84 +259,84 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[] const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = { - [REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, ROUTE118), - [REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, ROUTE105), - [REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, ROUTE111), - [REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, ROUTE109), - [REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, ROUTE109), - [REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, ROUTE124), - [REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, ROUTE121), - [REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, ROUTE111), - [REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, ROUTE111), - [REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MT_PYRE_6F), - [REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, ROUTE104), - [REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, ABANDONED_SHIP_ROOMS_1F), - [REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, ROUTE121), - [REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, ROUTE104), - [REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, ROUTE114), - [REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, ROUTE107), - [REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, ROUTE115), - [REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, ROUTE127), - [REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, ROUTE123), - [REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, ROUTE118), - [REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, ROUTE114), - [REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, JAGGED_PASS), - [REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, METEOR_FALLS_1F_2R), - [REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, ROUTE120), - [REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, ROUTE123), - [REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, ROUTE123), - [REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, ROUTE121), - [REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, ROUTE116), - [REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, ROUTE116), - [REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, ROUTE117), - [REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, ROUTE110), - [REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, ROUTE103), - [REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, ROUTE115), - [REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MT_CHIMNEY), - [REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, ROUTE102), - [REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, ROUTE106), - [REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, ROUTE128), - [REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, ROUTE117), - [REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, ROUTE110), - [REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, ROUTE117), - [REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, ROUTE128), - [REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, ROUTE110), - [REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, ROUTE126), - [REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, METEOR_FALLS_1F_2R), - [REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, ROUTE120), - [REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, ROUTE113), - [REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, ROUTE115), - [REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, ROUTE113), - [REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, ROUTE124), - [REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, JAGGED_PASS), - [REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, ROUTE103), - [REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, ROUTE125), - [REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, ROUTE108), - [REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, ROUTE110), - [REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, ROUTE117), - [REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, ROUTE117), - [REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MT_PYRE_3F), - [REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, ROUTE119), - [REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, ROUTE119), - [REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, ROUTE104), - [REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, PETALBURG_WOODS), - [REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112), - [REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY), - [REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F), - [REMATCH_WALLY_VR] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, VICTORY_ROAD_1F), - [REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY), - [REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN), - [REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY), - [REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, LAVARIDGE_TOWN), - [REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, PETALBURG_CITY), - [REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, FORTREE_CITY), - [REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MOSSDEEP_CITY), - [REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, SOOTOPOLIS_CITY), - [REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, EVER_GRANDE_CITY), - [REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, EVER_GRANDE_CITY), - [REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, EVER_GRANDE_CITY), - [REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, EVER_GRANDE_CITY), - [REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY), + [REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, MAP_ROUTE118), + [REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, MAP_ROUTE105), + [REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, MAP_ROUTE111), + [REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, MAP_ROUTE109), + [REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, MAP_ROUTE109), + [REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, MAP_ROUTE124), + [REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, MAP_ROUTE121), + [REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, MAP_ROUTE111), + [REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, MAP_ROUTE111), + [REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MAP_MT_PYRE_6F), + [REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, MAP_ROUTE104), + [REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, MAP_ABANDONED_SHIP_ROOMS_1F), + [REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, MAP_ROUTE121), + [REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, MAP_ROUTE104), + [REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, MAP_ROUTE114), + [REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, MAP_ROUTE107), + [REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, MAP_ROUTE115), + [REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, MAP_ROUTE127), + [REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, MAP_ROUTE123), + [REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, MAP_ROUTE118), + [REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, MAP_ROUTE114), + [REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, MAP_JAGGED_PASS), + [REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, MAP_METEOR_FALLS_1F_2R), + [REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, MAP_ROUTE120), + [REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, MAP_ROUTE123), + [REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, MAP_ROUTE123), + [REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, MAP_ROUTE121), + [REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, MAP_ROUTE116), + [REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, MAP_ROUTE116), + [REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, MAP_ROUTE117), + [REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, MAP_ROUTE110), + [REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, MAP_ROUTE103), + [REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, MAP_ROUTE115), + [REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MAP_MT_CHIMNEY), + [REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, MAP_ROUTE102), + [REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, MAP_ROUTE106), + [REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, MAP_ROUTE128), + [REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, MAP_ROUTE117), + [REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, MAP_ROUTE110), + [REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, MAP_ROUTE117), + [REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, MAP_ROUTE128), + [REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, MAP_ROUTE110), + [REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, MAP_ROUTE126), + [REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, MAP_METEOR_FALLS_1F_2R), + [REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, MAP_ROUTE120), + [REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, MAP_ROUTE113), + [REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, MAP_ROUTE115), + [REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, MAP_ROUTE113), + [REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, MAP_ROUTE124), + [REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, MAP_JAGGED_PASS), + [REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, MAP_ROUTE103), + [REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, MAP_ROUTE125), + [REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, MAP_ROUTE108), + [REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, MAP_ROUTE110), + [REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, MAP_ROUTE117), + [REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, MAP_ROUTE117), + [REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MAP_MT_PYRE_3F), + [REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, MAP_ROUTE119), + [REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, MAP_ROUTE119), + [REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, MAP_ROUTE104), + [REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, MAP_PETALBURG_WOODS), + [REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, MAP_ROUTE112), + [REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MAP_MT_CHIMNEY), + [REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, MAP_ABANDONED_SHIP_ROOMS2_1F), + [REMATCH_WALLY_VR] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, MAP_VICTORY_ROAD_1F), + [REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, MAP_RUSTBORO_CITY), + [REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, MAP_DEWFORD_TOWN), + [REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAP_MAUVILLE_CITY), + [REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, MAP_LAVARIDGE_TOWN), + [REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, MAP_PETALBURG_CITY), + [REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, MAP_FORTREE_CITY), + [REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MAP_MOSSDEEP_CITY), + [REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, MAP_SOOTOPOLIS_CITY), + [REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, MAP_EVER_GRANDE_CITY), + [REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, MAP_EVER_GRANDE_CITY), + [REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, MAP_EVER_GRANDE_CITY), + [REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, MAP_EVER_GRANDE_CITY), + [REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, MAP_EVER_GRANDE_CITY), }; static const u16 sBadgeFlags[NUM_BADGES] = @@ -405,7 +406,7 @@ static void DoStandardWildBattle(void) StopPlayerAvatar(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = 0; - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { VarSet(VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0); gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; @@ -465,7 +466,7 @@ static void DoTrainerBattle(void) static void DoBattlePyramidTrainerHillBattle(void) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) CreateBattleStartTask(GetSpecialBattleTransition(B_TRANSITION_GROUP_B_PYRAMID), 0); else CreateBattleStartTask(GetSpecialBattleTransition(B_TRANSITION_GROUP_TRAINER_HILL), 0); @@ -603,7 +604,7 @@ static void CB2_EndWildBattle(void) CpuFill16(0, (void *)(BG_PLTT), BG_PLTT_SIZE); ResetOamRange(0, 128); - if (IsPlayerDefeated(gBattleOutcome) == TRUE && !InBattlePyramid() && !InBattlePike()) + if (IsPlayerDefeated(gBattleOutcome) == TRUE && CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE && !InBattlePike()) { SetMainCallback2(CB2_WhiteOut); } @@ -621,7 +622,7 @@ static void CB2_EndScriptedWildBattle(void) if (IsPlayerDefeated(gBattleOutcome) == TRUE) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else SetMainCallback2(CB2_WhiteOut); @@ -632,7 +633,7 @@ static void CB2_EndScriptedWildBattle(void) } } -u8 BattleSetup_GetTerrainId(void) +u8 BattleSetup_GetEnvironmentId(void) { u16 tileBehavior; s16 x, y; @@ -641,11 +642,11 @@ u8 BattleSetup_GetTerrainId(void) tileBehavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsTallGrass(tileBehavior)) - return BATTLE_TERRAIN_GRASS; + return BATTLE_ENVIRONMENT_GRASS; if (MetatileBehavior_IsLongGrass(tileBehavior)) - return BATTLE_TERRAIN_LONG_GRASS; + return BATTLE_ENVIRONMENT_LONG_GRASS; if (MetatileBehavior_IsSandOrDeepSand(tileBehavior)) - return BATTLE_TERRAIN_SAND; + return BATTLE_ENVIRONMENT_SAND; switch (gMapHeader.mapType) { @@ -655,41 +656,41 @@ u8 BattleSetup_GetTerrainId(void) break; case MAP_TYPE_UNDERGROUND: if (MetatileBehavior_IsIndoorEncounter(tileBehavior)) - return BATTLE_TERRAIN_BUILDING; + return BATTLE_ENVIRONMENT_BUILDING; if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) - return BATTLE_TERRAIN_POND; - return BATTLE_TERRAIN_CAVE; + return BATTLE_ENVIRONMENT_POND; + return BATTLE_ENVIRONMENT_CAVE; case MAP_TYPE_INDOOR: case MAP_TYPE_SECRET_BASE: - return BATTLE_TERRAIN_BUILDING; + return BATTLE_ENVIRONMENT_BUILDING; case MAP_TYPE_UNDERWATER: - return BATTLE_TERRAIN_UNDERWATER; + return BATTLE_ENVIRONMENT_UNDERWATER; case MAP_TYPE_OCEAN_ROUTE: if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) - return BATTLE_TERRAIN_WATER; - return BATTLE_TERRAIN_PLAIN; + return BATTLE_ENVIRONMENT_WATER; + return BATTLE_ENVIRONMENT_PLAIN; } if (MetatileBehavior_IsDeepOrOceanWater(tileBehavior)) - return BATTLE_TERRAIN_WATER; + return BATTLE_ENVIRONMENT_WATER; if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) - return BATTLE_TERRAIN_POND; + return BATTLE_ENVIRONMENT_POND; if (MetatileBehavior_IsMountain(tileBehavior)) - return BATTLE_TERRAIN_MOUNTAIN; + return BATTLE_ENVIRONMENT_MOUNTAIN; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) { // Is BRIDGE_TYPE_POND_*? if (MetatileBehavior_GetBridgeType(tileBehavior) != BRIDGE_TYPE_OCEAN) - return BATTLE_TERRAIN_POND; + return BATTLE_ENVIRONMENT_POND; if (MetatileBehavior_IsBridgeOverWater(tileBehavior) == TRUE) - return BATTLE_TERRAIN_WATER; + return BATTLE_ENVIRONMENT_WATER; } - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113)) - return BATTLE_TERRAIN_SAND; + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE113)) + return BATTLE_ENVIRONMENT_SAND; if (GetSavedWeather() == WEATHER_SANDSTORM) - return BATTLE_TERRAIN_SAND; + return BATTLE_ENVIRONMENT_SAND; - return BATTLE_TERRAIN_PLAIN; + return BATTLE_ENVIRONMENT_PLAIN; } static u8 GetBattleTransitionTypeByMap(void) @@ -794,14 +795,14 @@ static u8 GetWildBattleTransition(void) if (enemyLevel < playerLevel) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) return B_TRANSITION_BLUR; else return sBattleTransitionTable_Wild[transitionType][0]; } else { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) return B_TRANSITION_GRID_SQUARES; else return sBattleTransitionTable_Wild[transitionType][1]; @@ -845,7 +846,7 @@ static u8 GetTrainerBattleTransition(void) return B_TRANSITION_AQUA; if (gTrainers[gTrainerBattleOpponent_A].doubleBattle == TRUE) - minPartyCount = 2; // double battles always at least have 2 pokemon. + minPartyCount = 2; // double battles always at least have 2 Pokémon. else minPartyCount = 1; @@ -859,7 +860,7 @@ static u8 GetTrainerBattleTransition(void) return sBattleTransitionTable_Trainer[transitionType][1]; } -#define RANDOM_TRANSITION(table)(table[Random() % ARRAY_COUNT(table)]) +#define RANDOM_TRANSITION(table) (table[Random() % ARRAY_COUNT(table)]) u8 GetSpecialBattleTransition(s32 id) { u16 var; @@ -1092,7 +1093,7 @@ static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, co void SetMapVarsToTrainer(void) { - if (sTrainerObjectEventLocalId != 0) + if (sTrainerObjectEventLocalId != LOCALID_NONE) { gSpecialVar_LastTalked = sTrainerObjectEventLocalId; gSelectedObjectEvent = GetObjectEventIdByLocalIdAndMap(sTrainerObjectEventLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); @@ -1233,7 +1234,7 @@ u8 GetTrainerBattleMode(void) bool8 GetTrainerFlag(void) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) return GetBattlePyramidTrainerFlag(gSelectedObjectEvent); else if (InTrainerHill()) return GetHillTrainerFlag(gSelectedObjectEvent); @@ -1275,7 +1276,7 @@ void BattleSetup_StartTrainerBattle(void) else gBattleTypeFlags = (BATTLE_TYPE_TRAINER); - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { VarSet(VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0); gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; @@ -1315,7 +1316,7 @@ void BattleSetup_StartTrainerBattle(void) gWhichTrainerToFaceAfterBattle = 0; gMain.savedCallback = CB2_EndTrainerBattle; - if (InBattlePyramid() || InTrainerHillChallenge()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || InTrainerHillChallenge()) DoBattlePyramidTrainerHillBattle(); else DoTrainerBattle(); @@ -1331,7 +1332,7 @@ static void CB2_EndTrainerBattle(void) } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { - if (InBattlePyramid() || InTrainerHillChallenge()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || InTrainerHillChallenge()) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else SetMainCallback2(CB2_WhiteOut); @@ -1339,7 +1340,7 @@ static void CB2_EndTrainerBattle(void) else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); - if (!InBattlePyramid() && !InTrainerHillChallenge()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE && !InTrainerHillChallenge()) { RegisterTrainerInMatchCall(); SetBattledTrainersFlags(); @@ -1376,7 +1377,7 @@ void BattleSetup_StartRematchBattle(void) void ShowTrainerIntroSpeech(void) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1) CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gSpecialVar_LastTalked)); @@ -1615,7 +1616,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u // Trainer already wants a rematch. Don't bother updating it. ret = TRUE; } - else if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i) + else if (FlagGet(TRAINER_REGISTERED_FLAGS_START + i) && (Random() % 100) <= 30) // 31% chance of getting a rematch. { SetRematchIdForTrainer(table, i); @@ -1744,7 +1745,7 @@ static u32 GetTrainerMatchCallFlag(u32 trainerId) for (i = 0; i < REMATCH_TABLE_ENTRIES; i++) { if (gRematchTable[i].trainerIds[0] == trainerId) - return FLAG_MATCH_CALL_REGISTERED + i; + return TRAINER_REGISTERED_FLAGS_START + i; } return 0xFFFF; diff --git a/src/battle_tent.c b/src/battle_tent.c index b7a9daecba..c003affebe 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -309,7 +309,7 @@ static void GenerateInitialRentalMons(void) i = 0; while (i != PARTY_SIZE) { - // Cannot have two pokemon of the same species. + // Cannot have two Pokémon of the same species. monSetId = Random() % NUM_SLATEPORT_TENT_MONS; for (j = firstMonId; j < firstMonId + i; j++) { @@ -390,7 +390,7 @@ static void GenerateOpponentMons(void) { sRandMonId = monSet[Random() % numMons]; - // Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player + // Ensure none of the opponent's Pokémon are the same as the potential rental Pokémon for the player for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) { if (gFacilityTrainerMons[sRandMonId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species) diff --git a/src/battle_tower.c b/src/battle_tower.c index 15509a7dcf..35852a1f00 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -45,7 +45,7 @@ EWRAM_DATA const struct BattleFrontierTrainer *gFacilityTrainers = NULL; EWRAM_DATA const struct FacilityMon *gFacilityTrainerMons = NULL; // IWRAM common -u16 gFrontierTempParty[MAX_FRONTIER_PARTY_SIZE]; +COMMON_DATA u16 gFrontierTempParty[MAX_FRONTIER_PARTY_SIZE] = {0}; // This file's functions. static void InitTowerChallenge(void); @@ -799,7 +799,7 @@ struct #include "data/battle_frontier/battle_tent.h" -static void (* const sBattleTowerFuncs[])(void) = +static void (*const sBattleTowerFuncs[])(void) = { [BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge, [BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData, @@ -1680,8 +1680,8 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) } // Regular battle frontier trainer. - // Attempt to fill the trainer's party with random Pokemon until 3 have been - // successfully chosen. The trainer's party may not have duplicate pokemon species + // Attempt to fill the trainer's party with random Pokémon until 3 have been + // successfully chosen. The trainer's party may not have duplicate Pokémon species // or duplicate held items. for (bfMonCount = 0; monSet[bfMonCount] != 0xFFFF; bfMonCount++) ; @@ -1691,12 +1691,12 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) { u16 monId = monSet[Random() % bfMonCount]; - // "High tier" pokemon are only allowed on open level mode + // "High tier" Pokémon are only allowed on open level mode // 20 is not a possible value for level here if ((level == FRONTIER_MAX_LEVEL_50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER) continue; - // Ensure this pokemon species isn't a duplicate. + // Ensure this Pokémon species isn't a duplicate. for (j = 0; j < i + firstMonId; j++) { if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species) @@ -1715,7 +1715,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) if (j != i + firstMonId) continue; - // Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary + // Ensure this exact Pokémon index isn't a duplicate. This check doesn't seem necessary // because the species and held items were already checked directly above. for (j = 0; j < i; j++) { @@ -1727,7 +1727,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) chosenMonIndices[i] = monId; - // Place the chosen pokemon into the trainer's party. + // Place the chosen Pokémon into the trainer's party. CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].species, level, @@ -1737,7 +1737,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) otID); friendship = MAX_FRIENDSHIP; - // Give the chosen pokemon its specified moves. + // Give the chosen Pokémon its specified moves. for (j = 0; j < MAX_MON_MOVES; j++) { SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j); @@ -1748,7 +1748,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount) SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); - // The pokemon was successfully added to the trainer's party, so it's safe to move on to + // The Pokémon was successfully added to the trainer's party, so it's safe to move on to // the next party slot. i++; } @@ -1804,7 +1804,7 @@ u16 GetRandomFrontierMonFromSet(u16 trainerId) do { - // "High tier" pokemon are only allowed on open level mode + // "High tier" Pokémon are only allowed on open level mode // 20 is not a possible value for level here monId = monSet[Random() % numMons]; } while((level == FRONTIER_MAX_LEVEL_50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER); @@ -2417,7 +2417,7 @@ static void LoadMultiPartnerCandidatesData(void) static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId) { - u16 move = 0; + u16 move = MOVE_NONE; u16 species = 0; SetFacilityPtrsGetLevel(); @@ -2454,8 +2454,8 @@ static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId) // These partners can be an NPC or a former/record-mixed Apprentice // When talked to, their response consists of: // PARTNER_MSGID_INTRO - A greeting -// PARTNER_MSGID_MON1 - Naming one pokemon on their team, and a move it has -// PARTNER_MSGID_MON2_ASK - Naming a second pokemon on their team, a move it has, and asking if they'd like to be their partner +// PARTNER_MSGID_MON1 - Naming one Pokémon on their team, and a move it has +// PARTNER_MSGID_MON2_ASK - Naming a second Pokémon on their team, a move it has, and asking if they'd like to be their partner // PARTNER_MSGID_ACCEPT - If the player agrees to be their partner // PARTNER_MSGID_REJECT - If the player declines to be their partner static void ShowPartnerCandidateMessage(void) @@ -2773,7 +2773,7 @@ static void AwardBattleTowerRibbons(void) #ifdef BUGFIX struct RibbonCounter ribbons[MAX_FRONTIER_PARTY_SIZE]; #else - struct RibbonCounter ribbons[3]; // BUG: 4 Pokemon can receive ribbons in a double battle mode. + struct RibbonCounter ribbons[3]; // BUG: 4 Pokémon can receive ribbons in a double battle mode. #endif u8 ribbonType = 0; u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; @@ -2982,7 +2982,7 @@ static void FillPartnerParty(u16 trainerId) #ifdef BUGFIX j, #else - i, // BUG: personality was stored in the 'j' variable. As a result, Steven's pokemon do not have the intended natures. + i, // BUG: personality was stored in the 'j' variable. As a result, Steven's Pokémon do not have the intended natures. #endif OT_ID_PRESET, STEVEN_OTID); for (j = 0; j < PARTY_SIZE; j++) @@ -3409,7 +3409,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) { u16 monId = monSet[Random() % bfMonCount]; - // Ensure this pokemon species isn't a duplicate. + // Ensure this Pokémon species isn't a duplicate. for (j = 0; j < i + firstMonId; j++) { if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species) @@ -3428,7 +3428,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) if (j != i + firstMonId) continue; - // Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary + // Ensure this exact Pokémon index isn't a duplicate. This check doesn't seem necessary // because the species and held items were already checked directly above. for (j = 0; j < i; j++) { @@ -3440,7 +3440,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) chosenMonIndices[i] = monId; - // Place the chosen pokemon into the trainer's party. + // Place the chosen Pokémon into the trainer's party. CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].species, level, @@ -3450,7 +3450,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) otID); friendship = MAX_FRIENDSHIP; - // Give the chosen pokemon its specified moves. + // Give the chosen Pokémon its specified moves. for (j = 0; j < MAX_MON_MOVES; j++) { SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j); @@ -3461,7 +3461,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount) SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); - // The pokemon was successfully added to the trainer's party, so it's safe to move on to + // The Pokémon was successfully added to the trainer's party, so it's safe to move on to // the next party slot. i++; } diff --git a/src/battle_transition.c b/src/battle_transition.c index 11f9cddf4b..03ed10c5f4 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -79,7 +79,7 @@ struct RectangularSpiralLine { u8 state; s16 position; - u8 moveIdx; + u8 moveIndex; s16 reboundPosition; bool8 outward; }; @@ -278,7 +278,7 @@ static s16 IsTrainerPicSlideDone(s16); static bool8 TransitionIntro_FadeToGray(struct Task *); static bool8 TransitionIntro_FadeFromGray(struct Task *); static bool8 IsIntroTaskDone(void); -static bool16 UpdateRectangularSpiralLine(const s16 * const *, struct RectangularSpiralLine *); +static bool16 UpdateRectangularSpiralLine(const s16 *const *, struct RectangularSpiralLine *); static void SpriteCB_FldEffPokeballTrail(struct Sprite *); static void SpriteCB_MugshotTrainerPic(struct Sprite *); static void SpriteCB_WhiteBarFade(struct Sprite *); @@ -1907,7 +1907,11 @@ static bool8 ClockwiseWipe_TopRight(struct Task *task) { sTransitionData->VBlank_DMA = FALSE; +#ifdef UBFIX + InitBlackWipe(sTransitionData->data, DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sTransitionData->tWipeEndX, 0, 1, 1); +#else InitBlackWipe(sTransitionData->data, DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sTransitionData->tWipeEndX, -1, 1, 1); +#endif do { gScanlineEffectRegBuffers[0][sTransitionData->tWipeCurrY] = (sTransitionData->tWipeCurrX + 1) | ((DISPLAY_WIDTH / 2) << 8); @@ -3200,28 +3204,28 @@ static bool8 RectangularSpiral_Init(struct Task *task) // Line starting in top left sRectangularSpiralLines[0].state = SPIRAL_INWARD_START; sRectangularSpiralLines[0].position = -1; - sRectangularSpiralLines[0].moveIdx = 1; + sRectangularSpiralLines[0].moveIndex = 1; sRectangularSpiralLines[0].reboundPosition = 308; sRectangularSpiralLines[0].outward = FALSE; // Line starting in bottom right sRectangularSpiralLines[1].state = SPIRAL_INWARD_START; sRectangularSpiralLines[1].position = -1; - sRectangularSpiralLines[1].moveIdx = 1; + sRectangularSpiralLines[1].moveIndex = 1; sRectangularSpiralLines[1].reboundPosition = 308; sRectangularSpiralLines[1].outward = FALSE; // Line starting in top right sRectangularSpiralLines[2].state = SPIRAL_INWARD_START; sRectangularSpiralLines[2].position = -3; - sRectangularSpiralLines[2].moveIdx = 1; + sRectangularSpiralLines[2].moveIndex = 1; sRectangularSpiralLines[2].reboundPosition = 307; sRectangularSpiralLines[2].outward = FALSE; // Line starting in bottom left sRectangularSpiralLines[3].state = SPIRAL_INWARD_START; sRectangularSpiralLines[3].position = -3; - sRectangularSpiralLines[3].moveIdx = 1; + sRectangularSpiralLines[3].moveIndex = 1; sRectangularSpiralLines[3].reboundPosition = 307; sRectangularSpiralLines[3].outward = FALSE; @@ -3277,14 +3281,14 @@ static bool8 RectangularSpiral_End(struct Task *task) } // Returns TRUE if a tile should be drawn, FALSE otherwise -static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, struct RectangularSpiralLine *line) +static bool16 UpdateRectangularSpiralLine(const s16 *const *moveDataTable, struct RectangularSpiralLine *line) { const s16 *moveData = moveDataTable[line->state]; // Has spiral finished? // Note that most move data arrays endsin SPIRAL_END but it is // only ever reached on the final array of spiraling outward. - if (moveData[line->moveIdx] == SPIRAL_END) + if (moveData[line->moveIndex] == SPIRAL_END) return FALSE; // Presumably saving data for debug. @@ -3315,21 +3319,21 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Below check is never true. // SPIRAL_END was already checked, and position is never >= 640 - if (line->position >= 640 || moveData[line->moveIdx] == SPIRAL_END) + if (line->position >= 640 || moveData[line->moveIndex] == SPIRAL_END) return FALSE; - if (!line->outward && moveData[line->moveIdx] == SPIRAL_REBOUND) + if (!line->outward && moveData[line->moveIndex] == SPIRAL_REBOUND) { // Line has reached the final point of spiraling inward. // Time to flip and start spiraling outward. line->outward = TRUE; - line->moveIdx = 1; + line->moveIndex = 1; line->position = line->reboundPosition; line->state = SPIRAL_OUTWARD_START; } // Reached move target, advance to next movement. - if (line->position == moveData[line->moveIdx]) + if (line->position == moveData[line->moveIndex]) { line->state++; if (line->outward == TRUE) @@ -3339,7 +3343,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Still spiraling outward, loop back to the first state // but use the second set of move targets. // For example, the 28 in sRectangularSpiral_Major_OutwardUp - line->moveIdx++; + line->moveIndex++; line->state = SPIRAL_OUTWARD_START; } } @@ -3350,7 +3354,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru // Still spiraling inward, loop back to the first state // but use the second set of move targets. // For example, the 275 in sRectangularSpiral_Major_InwardRight - line->moveIdx++; + line->moveIndex++; line->state = SPIRAL_INWARD_START; } } diff --git a/src/battle_tv.c b/src/battle_tv.c index b9008b47a7..bf31f18f47 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -15,8 +15,8 @@ static bool8 IsNotSpecialBattleString(u16 stringId); static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3); static void TrySetBattleSeminarShow(void); static void AddPointsOnFainting(bool8 targetFainted); -static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot); -static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride); +static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot); +static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride); #define TABLE_END ((u16)-1) @@ -526,7 +526,7 @@ static const u16 *const sPointsArray[] = }; // Points will always be calculated for these messages -// even if current pokemon does not have corresponding move +// even if current Pokémon does not have corresponding move static const u16 sSpecialBattleStrings[] = { STRINGID_PKMNPERISHCOUNTFELL, STRINGID_PKMNWISHCAMETRUE, STRINGID_PKMNLOSTPPGRUDGE, @@ -1056,7 +1056,7 @@ void TryPutLinkBattleTvShowOnAir(void) u8 countPlayer = 0, countOpponent = 0; s16 sum = 0; u16 species = 0; - u16 moveId = 0; + u16 move = MOVE_NONE; s32 i, j; int zero = 0, one = 1; //needed for matching @@ -1124,8 +1124,8 @@ void TryPutLinkBattleTvShowOnAir(void) } } - moveId = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL); - if (playerBestSum == 0 || moveId == 0) + move = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL); + if (playerBestSum == 0 || move == MOVE_NONE) return; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -1134,12 +1134,12 @@ void TryPutLinkBattleTvShowOnAir(void) || (playerBestMonId >= MULTI_PARTY_SIZE && GetLinkTrainerFlankId(gBattleScripting.multiplayerId))) { j = (opponentBestMonId < MULTI_PARTY_SIZE) ? FALSE : TRUE; - PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), moveId, playerBestSpecies, opponentBestSpecies); + PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), move, playerBestSpecies, opponentBestSpecies); } } else { - PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, moveId, playerBestSpecies, opponentBestSpecies); + PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, move, playerBestSpecies, opponentBestSpecies); } } @@ -1505,9 +1505,9 @@ static void TrySetBattleSeminarShow(void) gCurrentMove = currMoveSaved; } -static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) +static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride) { - if (gBattleMoves[moveId].power == 0) + if (gBattleMoves[move].power == 0) { *dmg = 0; return FALSE; @@ -1517,7 +1517,7 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) s32 i = 0; do { - if (moveId == sVariableDmgMoves[i]) + if (move == sVariableDmgMoves[i]) break; i++; } while (sVariableDmgMoves[i] != TABLE_END); @@ -1527,13 +1527,13 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride) *dmg = 0; return FALSE; } - else if (moveId == MOVE_PSYWAVE) + else if (move == MOVE_PSYWAVE) { *dmg = gBattleMons[gBattlerAttacker].level; *dmg /= 2; return FALSE; } - else if (moveId == MOVE_MAGNITUDE) + else if (move == MOVE_MAGNITUDE) { *powerOverride = 10; return TRUE; @@ -1568,12 +1568,12 @@ void BattleTv_ClearExplosionFaintCause(void) } } -u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) +u8 GetBattlerMoveSlotId(u8 battler, u16 move) { s32 i; struct Pokemon *party; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1583,7 +1583,7 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) { if (i >= MAX_MON_MOVES) break; - if (GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + i, NULL) == moveId) + if (GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i, NULL) == move) break; i++; } @@ -1591,14 +1591,14 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId) return i; } -static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot) +static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot) { if (weatherFlags & B_WEATHER_RAIN) - AddMovePoints(PTS_RAIN, moveId, moveSlot, 0); + AddMovePoints(PTS_RAIN, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_SUN) - AddMovePoints(PTS_SUN, moveId, moveSlot, 0); + AddMovePoints(PTS_SUN, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_SANDSTORM) - AddMovePoints(PTS_SANDSTORM, moveId, moveSlot, 0); + AddMovePoints(PTS_SANDSTORM, move, moveSlot, 0); else if (weatherFlags & B_WEATHER_HAIL) - AddMovePoints(PTS_HAIL, moveId, moveSlot, 0); + AddMovePoints(PTS_HAIL, move, moveSlot, 0); } diff --git a/src/battle_util.c b/src/battle_util.c index 5a2b6392f0..7a9786b67f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -414,7 +414,7 @@ bool8 TryRunFromBattle(u8 battler) if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[battler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler].item); gPotentialItemEffectBattler = battler; @@ -426,7 +426,7 @@ bool8 TryRunFromBattle(u8 battler) } else if (gBattleMons[battler].ability == ABILITY_RUN_AWAY) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { gBattleStruct->runTries++; pyramidMultiplier = GetPyramidRunMultiplier(); @@ -453,7 +453,7 @@ bool8 TryRunFromBattle(u8 battler) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { pyramidMultiplier = GetPyramidRunMultiplier(); speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30); @@ -649,7 +649,7 @@ void HandleAction_NothingIsFainted(void) gCurrentTurnActionNumber++; gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED - | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR + | HITMARKER_NO_PPDEDUCT | HITMARKER_STATUS_ABILITY_EFFECT | HITMARKER_IGNORE_ON_AIR | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE | HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT | HITMARKER_CHARGING | HITMARKER_NEVER_SET); @@ -662,7 +662,7 @@ void HandleAction_ActionFinished(void) gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; SpecialStatusesClear(); gHitMarker &= ~(HITMARKER_DESTINYBOND | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_ATTACKSTRING_PRINTED - | HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR + | HITMARKER_NO_PPDEDUCT | HITMARKER_STATUS_ABILITY_EFFECT | HITMARKER_IGNORE_ON_AIR | HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_PASSIVE_DAMAGE | HITMARKER_OBEYS | HITMARKER_WAKE_UP_CLEAR | HITMARKER_SYNCHRONISE_EFFECT | HITMARKER_CHARGING | HITMARKER_NEVER_SET); @@ -759,7 +759,7 @@ void PressurePPLose(u8 target, u8 attacker, u16 move) if (MOVE_IS_PERMANENT(attacker, moveIndex)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -791,7 +791,7 @@ void PressurePPLoseOnUsingImprison(u8 attacker) if (imprisonPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, imprisonPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); MarkBattlerForControllerExec(gActiveBattler); } } @@ -822,11 +822,12 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) if (perishSongPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, perishSongPos)) { gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); MarkBattlerForControllerExec(gActiveBattler); } } +// See comments for MarkBattlerForControllerExec. static void UNUSED MarkAllBattlersForControllerExec(void) { int i; @@ -834,31 +835,43 @@ static void UNUSED MarkAllBattlersForControllerExec(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= gBitTable[i] << (32 - MAX_BATTLERS_COUNT); + MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i); } else { for (i = 0; i < gBattlersCount; i++) - gBattleControllerExecFlags |= gBitTable[i]; + MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(i); } } -void MarkBattlerForControllerExec(u8 battlerId) +// Called when the battle engine dispatches a message to a battle controller. +// +// During a singleplayer battle, we just immediately mark the controller as +// active. During a multiplayer link, we do things a little differently. We +// set a bit indicating that we're sending a message over the link. That +// message will be received by all other players... *and* by us, the player +// sending it, at which point we'll invoke MarkBattlerReceivedLinkData, +// below, to clear the "we're sending a message" bit and set the "controller +// is now active" bit. +void MarkBattlerForControllerExec(u8 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - gBattleControllerExecFlags |= gBitTable[battlerId] << (32 - MAX_BATTLERS_COUNT); + MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battler); else - gBattleControllerExecFlags |= gBitTable[battlerId]; + MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler); } -void MarkBattlerReceivedLinkData(u8 battlerId) +// Called when a message dispatched from the battle engine to a battle +// controller is received over link communications. All players assume +// that if they've received the message, everyone else has as well. +void MarkBattlerReceivedLinkData(u8 battler) { s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleControllerExecFlags |= gBitTable[battlerId] << (i << 2); + MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, i); - gBattleControllerExecFlags &= ~((1 << 28) << battlerId); + MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battler); } void CancelMultiTurnMoves(u8 battler) @@ -893,7 +906,7 @@ bool8 WasUnableToUseMove(u8 battler) void PrepareStringBattle(u16 stringId, u8 battler) { gActiveBattler = battler; - BtlController_EmitPrintString(BUFFER_A, stringId); + BtlController_EmitPrintString(B_COMM_TO_CONTROLLER, stringId); MarkBattlerForControllerExec(gActiveBattler); } @@ -1031,7 +1044,7 @@ u8 TrySetCantSelectMoveBattleScript(void) if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + holdEffect = GetItemHoldEffect(gBattleMons[gActiveBattler].item); gPotentialItemEffectBattler = gActiveBattler; @@ -1066,44 +1079,44 @@ u8 TrySetCantSelectMoveBattleScript(void) return limitations; } -u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) +u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u8 check) { u8 holdEffect; - u16 *choicedMove = &gBattleStruct->choicedMove[battlerId]; + u16 *choicedMove = &gBattleStruct->choicedMove[battler]; s32 i; - if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[battlerId].holdEffect; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[battler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[battlerId].item); + holdEffect = GetItemHoldEffect(gBattleMons[battler].item); - gPotentialItemEffectBattler = battlerId; + gPotentialItemEffectBattler = battler; for (i = 0; i < MAX_MON_MOVES; i++) { // No move - if (gBattleMons[battlerId].moves[i] == MOVE_NONE && check & MOVE_LIMITATION_ZEROMOVE) + if (gBattleMons[battler].moves[i] == MOVE_NONE && check & MOVE_LIMITATION_ZEROMOVE) unusableMoves |= gBitTable[i]; // No PP - if (gBattleMons[battlerId].pp[i] == 0 && check & MOVE_LIMITATION_PP) + if (gBattleMons[battler].pp[i] == 0 && check & MOVE_LIMITATION_PP) unusableMoves |= gBitTable[i]; // Disable - if (gBattleMons[battlerId].moves[i] == gDisableStructs[battlerId].disabledMove && check & MOVE_LIMITATION_DISABLED) + if (gBattleMons[battler].moves[i] == gDisableStructs[battler].disabledMove && check & MOVE_LIMITATION_DISABLED) unusableMoves |= gBitTable[i]; // Torment - if (gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].status2 & STATUS2_TORMENT) + if (gBattleMons[battler].moves[i] == gLastMoves[battler] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battler].status2 & STATUS2_TORMENT) unusableMoves |= gBitTable[i]; // Taunt - if (gDisableStructs[battlerId].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0) + if (gDisableStructs[battler].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battler].moves[i]].power == 0) unusableMoves |= gBitTable[i]; // Imprison - if (GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i]) && check & MOVE_LIMITATION_IMPRISON) + if (GetImprisonedMovesCount(battler, gBattleMons[battler].moves[i]) && check & MOVE_LIMITATION_IMPRISON) unusableMoves |= gBitTable[i]; // Encore - if (gDisableStructs[battlerId].encoreTimer && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i]) + if (gDisableStructs[battler].encoreTimer && gDisableStructs[battler].encoredMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; // Choice Band - if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i]) + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; } return unusableMoves; @@ -1126,11 +1139,11 @@ bool8 AreAllMovesUnusable(void) return (unusable == ALL_MOVES_MASK); } -u8 GetImprisonedMovesCount(u8 battlerId, u16 move) +u8 GetImprisonedMovesCount(u8 battler, u16 move) { s32 i; u8 imprisonedMoves = 0; - u8 battlerSide = GetBattlerSide(battlerId); + u8 battlerSide = GetBattlerSide(battler); for (i = 0; i < gBattlersCount; i++) { @@ -1336,9 +1349,13 @@ u8 DoFieldEndTurnEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_STOPPED; } else if (gBattleWeather & B_WEATHER_RAIN_DOWNPOUR) + { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES; + } else + { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_CONTINUES; + } } else if (gBattleWeather & B_WEATHER_RAIN_DOWNPOUR) { @@ -1545,7 +1562,7 @@ u8 DoBattlerEndTurnEffects(void) if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { // R/S does not perform this sleep check, which causes the nightmare effect to - // persist even after the affected Pokemon has been awakened by Shed Skin. + // persist even after the affected Pokémon has been awakened by Shed Skin. if (gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; @@ -1618,14 +1635,14 @@ u8 DoBattlerEndTurnEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } } if (gBattlerAttacker != gBattlersCount) { - effect = 2; // a pokemon was awaken + effect = 2; // a Pokémon was awaken break; } else @@ -1685,7 +1702,7 @@ u8 DoBattlerEndTurnEffects(void) if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) break; } - if (i == MAX_MON_MOVES) // pokemon does not have the disabled move anymore + if (i == MAX_MON_MOVES) // Pokémon does not have the disabled move anymore { gDisableStructs[gActiveBattler].disabledMove = MOVE_NONE; gDisableStructs[gActiveBattler].disableTimer = 0; @@ -1702,7 +1719,7 @@ u8 DoBattlerEndTurnEffects(void) case ENDTURN_ENCORE: // encore if (gDisableStructs[gActiveBattler].encoreTimer != 0) { - if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore + if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // Pokémon does not have the encored move anymore { gDisableStructs[gActiveBattler].encoredMove = MOVE_NONE; gDisableStructs[gActiveBattler].encoreTimer = 0; @@ -1743,7 +1760,7 @@ u8 DoBattlerEndTurnEffects(void) { CancelMultiTurnMoves(gActiveBattler); gBattleMons[gActiveBattler].status1 |= STATUS1_SLEEP_TURN((Random() & 3) + 2); // 2-5 turns of sleep - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); @@ -2253,7 +2270,7 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } return effect; @@ -2617,7 +2634,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; // fix nightmare glitch gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(gActiveBattler); effect++; } @@ -2782,7 +2799,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleCommunication[MOVE_EFFECT_BYTE] += MOVE_EFFECT_AFFECTS_USER; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + gHitMarker |= HITMARKER_STATUS_ABILITY_EFFECT; effect++; } break; @@ -2797,7 +2814,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_POISON; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + gHitMarker |= HITMARKER_STATUS_ABILITY_EFFECT; effect++; } break; @@ -2812,7 +2829,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_PARALYSIS; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + gHitMarker |= HITMARKER_STATUS_ABILITY_EFFECT; effect++; } break; @@ -2827,7 +2844,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ApplySecondaryEffect; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + gHitMarker |= HITMARKER_STATUS_ABILITY_EFFECT; effect++; } break; @@ -2929,7 +2946,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleScripting.battler = battler; gActiveBattler = battler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); return effect; } @@ -2963,7 +2980,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleScripting.battler = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + gHitMarker |= HITMARKER_STATUS_ABILITY_EFFECT; effect++; } break; @@ -2979,7 +2996,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleScripting.battler = gBattlerAttacker; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; - gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; + gHitMarker |= HITMARKER_STATUS_ABILITY_EFFECT; effect++; } break; @@ -3003,7 +3020,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = BATTLE_OPPOSITE(GetBattlerPosition(i)) & BIT_SIDE; // side of the opposing pokemon + side = BATTLE_OPPOSITE(GetBattlerPosition(i)) & BIT_SIDE; // side of the opposing Pokémon target1 = GetBattlerAtPosition(side); target2 = GetBattlerAtPosition(side + BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -3208,16 +3225,16 @@ enum }; #define TRY_EAT_CONFUSE_BERRY(flavor) \ - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) \ + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2 && !moveTurn) \ { \ PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, flavor); \ - gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; \ + gBattleMoveDamage = gBattleMons[battler].maxHP / battlerHoldEffectParam; \ if (gBattleMoveDamage == 0) \ gBattleMoveDamage = 1; \ - if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) \ - gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; \ + if (gBattleMons[battler].hp + gBattleMoveDamage > gBattleMons[battler].maxHP) \ + gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; \ gBattleMoveDamage *= -1; \ - if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, flavor) < 0) \ + if (GetFlavorRelationByPersonality(gBattleMons[battler].personality, flavor) < 0) \ BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); \ else \ BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); \ @@ -3225,11 +3242,11 @@ enum } #define TRY_EAT_STAT_UP_BERRY(stat) \ - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam \ - && !moveTurn && gBattleMons[battlerId].statStages[stat] < MAX_STAT_STAGE) \ + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam \ + && !moveTurn && gBattleMons[battler].statStages[stat] < MAX_STAT_STAGE) \ { \ PREPARE_STAT_BUFFER(gBattleTextBuff1, stat); \ - gEffectBattler = battlerId; \ + gEffectBattler = battler; \ SET_STATCHANGER(stat, 1, FALSE); \ gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + (stat); \ gBattleScripting.animArg2 = 0; \ @@ -3237,7 +3254,7 @@ enum effect = ITEM_STATS_CHANGE; \ } -u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) +u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) { int i = 0; u8 effect = ITEM_NO_EFFECT; @@ -3246,16 +3263,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u8 battlerHoldEffectParam, atkHoldEffectParam, UNUSED defHoldEffectParam; u16 atkItem, defItem; - gLastUsedItem = gBattleMons[battlerId].item; + gLastUsedItem = gBattleMons[battler].item; if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; - battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam; + battlerHoldEffect = gEnigmaBerries[battler].holdEffect; + battlerHoldEffectParam = gEnigmaBerries[battler].holdEffectParam; } else { - battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem); + battlerHoldEffect = GetItemHoldEffect(gLastUsedItem); + battlerHoldEffectParam = GetItemHoldEffectParam(gLastUsedItem); } atkItem = gBattleMons[gBattlerAttacker].item; @@ -3266,8 +3283,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } else { - atkHoldEffect = ItemId_GetHoldEffect(atkItem); - atkHoldEffectParam = ItemId_GetHoldEffectParam(atkItem); + atkHoldEffect = GetItemHoldEffect(atkItem); + atkHoldEffectParam = GetItemHoldEffectParam(atkItem); } // def variables are unused @@ -3279,8 +3296,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } else { - defHoldEffect = ItemId_GetHoldEffect(defItem); - defHoldEffectParam = ItemId_GetHoldEffectParam(defItem); + defHoldEffect = GetItemHoldEffect(defItem); + defHoldEffectParam = GetItemHoldEffectParam(defItem); } switch (caseID) @@ -3289,39 +3306,39 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (battlerHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) gBattleStruct->moneyMultiplier = 2; break; case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; } break; case ITEMEFFECT_NORMAL: - if (gBattleMons[battlerId].hp) + if (gBattleMons[battler].hp) { switch (battlerHoldEffect) { case HOLD_EFFECT_RESTORE_HP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2 && !moveTurn) { gBattleMoveDamage = battlerHoldEffectParam; - if (gBattleMons[battlerId].hp + battlerHoldEffectParam > gBattleMons[battlerId].maxHP) - gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; + if (gBattleMons[battler].hp + battlerHoldEffectParam > gBattleMons[battler].maxHP) + gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); effect = ITEM_HP_CHANGE; @@ -3334,10 +3351,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u8 ppBonuses; u16 move; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; else - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; for (i = 0; i < MAX_MON_MOVES; i++) { move = GetMonData(mon, MON_DATA_MOVE1 + i); @@ -3357,7 +3374,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); BattleScriptExecute(BattleScript_BerryPPHealEnd2); - BtlController_EmitSetMonData(BUFFER_A, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } @@ -3366,32 +3383,32 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; case HOLD_EFFECT_LEFTOVERS: - if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn) + if (gBattleMons[battler].hp < gBattleMons[battler].maxHP && !moveTurn) { - gBattleMoveDamage = gBattleMons[battlerId].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) - gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; + if (gBattleMons[battler].hp + gBattleMoveDamage > gBattleMons[battler].maxHP) + gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); } break; case HOLD_EFFECT_CONFUSE_SPICY: @@ -3410,12 +3427,12 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) TRY_EAT_CONFUSE_BERRY(FLAVOR_SOUR); break; case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam - && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < MAX_STAT_STAGE) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam + && !moveTurn && gBattleMons[battler].statStages[STAT_ATK] < MAX_STAT_STAGE) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); // Only the Attack stat-up berry has this - gEffectBattler = battlerId; + gEffectBattler = battler; SET_STATCHANGER(STAT_ATK, 1, FALSE); gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; gBattleScripting.animArg2 = 0; @@ -3436,20 +3453,20 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) TRY_EAT_STAT_UP_BERRY(STAT_SPDEF); break; case HOLD_EFFECT_CRITICAL_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn - && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam && !moveTurn + && !(gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY)) { - gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_RANDOM_STAT_UP: - if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam) + if (!moveTurn && gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam) { for (i = 0; i < NUM_STATS - 1; i++) { - if (gBattleMons[battlerId].statStages[STAT_ATK + i] < MAX_STAT_STAGE) + if (gBattleMons[battler].statStages[STAT_ATK + i] < MAX_STAT_STAGE) break; } if (i != NUM_STATS - 1) @@ -3457,7 +3474,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) do { i = Random() % (NUM_STATS - 1); - } while (gBattleMons[battlerId].statStages[STAT_ATK + i] == MAX_STAT_STAGE); + } while (gBattleMons[battler].statStages[STAT_ATK + i] == MAX_STAT_STAGE); PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); @@ -3470,7 +3487,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleTextBuff2[6] = STRINGID_STATROSE >> 8; gBattleTextBuff2[7] = EOS; - gEffectBattler = battlerId; + gEffectBattler = battler; SET_STATCHANGER(i + 1, 2, FALSE); gBattleScripting.animArg1 = STAT_ANIM_PLUS2 + (i + 1); gBattleScripting.animArg2 = 0; @@ -3480,85 +3497,85 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptExecute(BattleScript_BerryCureConfusionEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) { i = 0; - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; } - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); i++; @@ -3567,16 +3584,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_NORMALIZED_STATUS; - gBattleMons[battlerId].status1 = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; @@ -3586,18 +3603,18 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: - if (MOVE_IS_PERMANENT(battlerId, i)) - gBattleMons[battlerId].pp[i] = changedPP; + if (MOVE_IS_PERMANENT(battler, i)) + gBattleMons[battler].pp[i] = changedPP; break; } } @@ -3606,80 +3623,80 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case ITEMEFFECT_DUMMY: break; case ITEMEFFECT_MOVE_END: - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { - gLastUsedItem = gBattleMons[battlerId].item; - if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) + gLastUsedItem = gBattleMons[battler].item; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) { - battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; - battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam; + battlerHoldEffect = gEnigmaBerries[battler].holdEffect; + battlerHoldEffectParam = gEnigmaBerries[battler].holdEffectParam; } else { - battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem); + battlerHoldEffect = GetItemHoldEffect(gLastUsedItem); + battlerHoldEffectParam = GetItemHoldEffectParam(gLastUsedItem); } switch (battlerHoldEffect) { case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureParRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; @@ -3688,31 +3705,31 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) { - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - gBattleMons[battlerId].status1 = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; @@ -3722,16 +3739,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; @@ -3740,10 +3757,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = battlerId; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = battler; + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -3795,11 +3812,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) return effect; } -void ClearFuryCutterDestinyBondGrudge(u8 battlerId) +void ClearFuryCutterDestinyBondGrudge(u8 battler) { - gDisableStructs[battlerId].furyCutterCounter = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_DESTINY_BOND; - gStatuses3[battlerId] &= ~STATUS3_GRUDGE; + gDisableStructs[battler].furyCutterCounter = 0; + gBattleMons[battler].status2 &= ~STATUS2_DESTINY_BOND; + gStatuses3[battler] &= ~STATUS3_GRUDGE; } void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands @@ -3824,7 +3841,9 @@ u8 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_SELECTED: side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) + { targetBattler = gSideTimers[side].followmeTarget; + } else { side = GetBattlerSide(gBattlerAttacker); @@ -3853,7 +3872,9 @@ u8 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_RANDOM: side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) + { targetBattler = gSideTimers[side].followmeTarget; + } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) { if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) @@ -3874,7 +3895,9 @@ u8 GetMoveTarget(u16 move, u8 setTarget) targetBattler ^= BIT_FLANK; } else + { targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gBattlerAttacker))); + } break; case MOVE_TARGET_USER_OR_SELECTED: case MOVE_TARGET_USER: @@ -3887,14 +3910,14 @@ u8 GetMoveTarget(u16 move, u8 setTarget) return targetBattler; } -static bool32 IsBattlerModernFatefulEncounter(u8 battlerId) +static bool32 IsBattlerModernFatefulEncounter(u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) return TRUE; - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS - && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS + && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) return TRUE; - return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); } u8 IsMonDisobedient(void) diff --git a/src/battle_util2.c b/src/battle_util2.c index 8a202c9867..3b5a376c6b 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -71,7 +71,7 @@ void FreeBattleResources(void) } } -void AdjustFriendshipOnBattleFaint(u8 battlerId) +void AdjustFriendshipOnBattleFaint(u8 battler) { u8 opposingBattlerId; @@ -90,37 +90,37 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId) opposingBattlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } - if (gBattleMons[opposingBattlerId].level > gBattleMons[battlerId].level) + if (gBattleMons[opposingBattlerId].level > gBattleMons[battler].level) { - if (gBattleMons[opposingBattlerId].level - gBattleMons[battlerId].level > 29) - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_LARGE); + if (gBattleMons[opposingBattlerId].level - gBattleMons[battler].level > 29) + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_LARGE); else - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL); } else { - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL); } } -void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) +void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1) { - if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + if (GetBattlerSide(battler) != B_SIDE_OPPONENT) { s32 i; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)); + gBattlePartyCurrentOrder[i] = *(i + (u8 *)(gBattleStruct->battlerPartyOrders)); - SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1)); + SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]), GetPartyIdFromBattlePartyId(arg1)); for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; + *(i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; } } // Called when a Pokémon is unable to attack during a Battle Palace battle. // Check if it was because they are frozen/asleep, and if so try to cure the status. -u32 BattlePalace_TryEscapeStatus(u8 battlerId) +u32 BattlePalace_TryEscapeStatus(u8 battler) { u32 effect = 0; @@ -129,13 +129,13 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(battlerId)) + if (UproarWakeUpCheck(battler)) { // Wake up from Uproar - gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); - gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP_UPROAR; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -145,18 +145,18 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) { u32 toSub; - if (gBattleMons[battlerId].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[battler].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; // Reduce number of sleep turns - if ((gBattleMons[battlerId].status1 & STATUS1_SLEEP) < toSub) - gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + if ((gBattleMons[battler].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[battler].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[battlerId].status1 -= toSub; + gBattleMons[battler].status1 -= toSub; - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { // Still asleep gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep; @@ -165,7 +165,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) else { // Wake up - gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -176,7 +176,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) gBattleCommunication[MULTIUSE_STATE]++; break; case 1: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { if (Random() % 5 != 0) { @@ -186,7 +186,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) else { // Unfreeze - gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); + gBattleMons[battler].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED; @@ -203,8 +203,8 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) if (effect == 2) { - gActiveBattler = battlerId; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + gActiveBattler = battler; + BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } diff --git a/src/berry.c b/src/berry.c index 389a09a106..c56b91ff03 100644 --- a/src/berry.c +++ b/src/berry.c @@ -980,7 +980,9 @@ bool32 IsEnigmaBerryValid(void) const struct Berry *GetBerryInfo(u8 berry) { if (berry == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid()) + { return (struct Berry *)(&gSaveBlock1Ptr->enigmaBerry.berry); + } else { if (berry == BERRY_NONE || berry > ITEM_TO_BERRY(LAST_BERRY_INDEX)) @@ -1202,15 +1204,9 @@ static u8 GetNumStagesWateredByBerryTreeId(u8 id) return BerryTreeGetNumStagesWatered(GetBerryTreeInfo(id)); } -// Berries can be watered at 4 stages of growth. This function is likely meant -// to divide the berry yield range equally into quartiles. If you watered the -// tree n times, your yield is a random number in the nth quartile. -// -// However, this function actually skews towards higher berry yields, because -// it rounds `extraYield` to the nearest whole number. -// -// See resulting yields: https://gist.github.com/hondew/2a099dbe54aa91414decdbfaa524327d, -// and bug fix: https://gist.github.com/hondew/0f0164e5b9dadfd72d24f30f2c049a0b. +// Berries can be watered at 4 stages of growth. The distribution is largely +// even but slightly prefers middle berry yields, since it uniformly draws from +// a subset of the total yield range. static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water) { u32 randMin; @@ -1219,7 +1215,9 @@ static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water) u32 extraYield; if (water == 0) + { return min; + } else { randMin = (max - min) * (water - 1); diff --git a/src/berry_blender.c b/src/berry_blender.c index 97262a4e2f..6a9b196440 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -246,7 +246,7 @@ static s16 sPokeblockPresentFlavors[FLAVOR_COUNT + 1]; static s16 sDebug_MaxRPMStage; static s16 sDebug_GameTimeStage; -u8 gInGameOpponentsNo; +COMMON_DATA u8 gInGameOpponentsNo = 0; static const u16 sBlenderCenter_Pal[] = INCBIN_U16("graphics/berry_blender/center.gbapal"); static const u8 sBlenderCenter_Tilemap[] = INCBIN_U8("graphics/berry_blender/center_map.bin"); @@ -916,14 +916,14 @@ static const u8 sBlackPokeblockFlavorFlags[] = { (1 << FLAVOR_SOUR) | (1 << FLAVOR_SWEET) | (1 << FLAVOR_SPICY), }; -static const u8 sUnused[] = -{ - 0xfe, 0x02, 0x02, 0xce, 0xd0, 0x37, 0x44, 0x07, 0x1f, 0x0c, 0x10, - 0x00, 0xff, 0xfe, 0x91, 0x72, 0xce, 0xd0, 0x37, 0x44, 0x07, 0x1f, - 0x0c, 0x10, 0x00, 0xff, 0x06, 0x27, 0x02, 0xff, 0x00, 0x0c, 0x48, - 0x02, 0xff, 0x00, 0x01, 0x1f, 0x02, 0xff, 0x00, 0x16, 0x37, 0x02, - 0xff, 0x00, 0x0d, 0x50, 0x4b, 0x02, 0xff, 0x06, 0x06, 0x06, 0x06, - 0x05, 0x03, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02 +static const u8 sJPText_GoodTvReady[] = _("\nいいTVができました "); // Unused +static const u8 sJPText_BadTvReady[] = _("\nダメTVができました "); // Unused +static const u8 sJPText_Flavors[][5] = {_("からい"), _("しぶい"), _("あまい"), _("にがい"), _("すっぱい")}; // Unused + +static const u8 sUnused[] = { + 6, 6, 6, 6, 5, + 3, 3, 3, 2, 2, + 3, 3, 3, 3, 2 }; static const struct WindowTemplate sBlenderRecordWindowTemplate = @@ -1207,7 +1207,7 @@ static void CreateBerrySprite(u16 itemId, u8 playerId) sBerrySpriteData[playerId][4]); } -static void ConvertItemToBlenderBerry(struct BlenderBerry* berry, u16 itemId) +static void ConvertItemToBlenderBerry(struct BlenderBerry *berry, u16 itemId) { const struct Berry *berryInfo = GetBerryInfo(ITEM_TO_BERRY(itemId)); @@ -1539,7 +1539,7 @@ static u8 GetArrowProximity(u16 arrowPos, u8 playerId) return PROXIMITY_MISS; } -static void SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry* playerBerry) +static void SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry *playerBerry) { u16 opponentSetId = 0; u16 opponentBerryId; @@ -1908,7 +1908,7 @@ static void Task_HandleOpponent1(u8 taskId) static void Task_HandleOpponent2(u8 taskId) { u32 var1 = (sBerryBlender->arrowPos + 0x1800) & 0xFFFF; - u32 arrowId = sBerryBlender->playerIdToArrowId[2] & 0xFF; + u8 arrowId = sBerryBlender->playerIdToArrowId[2]; if ((var1 >> 8) > sArrowHitRangeStart[arrowId] + 20 && (var1 >> 8) < sArrowHitRangeStart[arrowId] + 40) { if (!gTasks[taskId].tDidInput) @@ -1925,11 +1925,9 @@ static void Task_HandleOpponent2(u8 taskId) } else { - u8 value; if (rand > 65) gRecvCmds[2][BLENDER_COMM_SCORE] = LINKCMD_BLENDER_SCORE_BEST; - value = rand - 41; - if (value < 25) + if (rand > 40 && rand <= 65) gRecvCmds[2][BLENDER_COMM_SCORE] = LINKCMD_BLENDER_SCORE_GOOD; if (rand < 10) CreateOpponentMissTask(2, 5); @@ -1953,7 +1951,7 @@ static void Task_HandleOpponent2(u8 taskId) static void Task_HandleOpponent3(u8 taskId) { u32 var1 = (sBerryBlender->arrowPos + 0x1800) & 0xFFFF; - u32 arrowId = sBerryBlender->playerIdToArrowId[3] & 0xFF; + u8 arrowId = sBerryBlender->playerIdToArrowId[3]; if ((var1 >> 8) > sArrowHitRangeStart[arrowId] + 20 && (var1 >> 8) < sArrowHitRangeStart[arrowId] + 40) { if (gTasks[taskId].data[0] == 0) @@ -1971,16 +1969,9 @@ static void Task_HandleOpponent3(u8 taskId) else { if (rand > 60) - { gRecvCmds[3][BLENDER_COMM_SCORE] = LINKCMD_BLENDER_SCORE_BEST; - } - else - { - s8 value = rand - 56; // makes me wonder what the original code was - u8 value2 = value; - if (value2 < 5) - gRecvCmds[3][BLENDER_COMM_SCORE] = LINKCMD_BLENDER_SCORE_GOOD; - } + else if (rand > 55 && rand <= 60) + gRecvCmds[3][BLENDER_COMM_SCORE] = LINKCMD_BLENDER_SCORE_GOOD; if (rand < 5) CreateOpponentMissTask(3, 5); } @@ -2050,7 +2041,8 @@ static void UpdateSpeedFromHit(u16 cmd) switch (cmd) { case LINKCMD_BLENDER_SCORE_BEST: - if (sBerryBlender->speed < 1500) { + if (sBerryBlender->speed < 1500) + { sBerryBlender->speed += (384 / sNumPlayersToSpeedDivisor[sBerryBlender->numPlayers]); } else @@ -2251,7 +2243,7 @@ static void Blender_DummiedOutFunc(s16 bgX, s16 bgY) } -static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b) +static bool8 AreBlenderBerriesSame(struct BlenderBerry *berries, u8 a, u8 b) { // First check to itemId is pointless (and wrong anyway?), always false when this is called // Only used to determine if two enigma berries are equivalent @@ -2268,7 +2260,7 @@ static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b) return FALSE; } -static u32 CalculatePokeblockColor(struct BlenderBerry* berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors) +static u32 CalculatePokeblockColor(struct BlenderBerry *berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors) { s16 flavors[FLAVOR_COUNT + 1]; s32 i, j; @@ -2499,7 +2491,7 @@ static void CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *p flavors[i] = sPokeblockFlavors[i]; } -static void UNUSED Debug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM) +static void UNUSED Debug_CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM) { CalculatePokeblock(berries, pokeblock, numPlayers, flavors, maxRPM); } diff --git a/src/berry_crush.c b/src/berry_crush.c old mode 100755 new mode 100644 index 4e789f27a4..b116fc21f2 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -914,7 +914,7 @@ static const u8 *const sResultsTexts[] = [RESULTS_PAGE_POWER + NUM_RESULTS_PAGES] = gText_PressingPowerRankings, }; -static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame * game, u8 * data) = +static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame *game, u8 *data) = { [CMD_NONE] = NULL, [CMD_FADE] = Cmd_BeginNormalPaletteFade, @@ -1373,7 +1373,6 @@ static void CreateBerrySprites(struct BerryCrushGame *game, struct BerryCrushGam u8 spriteId; s16 distance, var1; s16 *data; - s32 amplitude; s16 speed; u32 var2; @@ -1395,11 +1394,7 @@ static void CreateBerrySprites(struct BerryCrushGame *game, struct BerryCrushGam sYAccel = 32; sBitfield = 112; // Setting bits in MASK_TARGET_Y distance = gfx->playerCoords[i]->berryXDest - gfx->playerCoords[i]->berryXOffset; - amplitude = distance; - if (distance < 0) - amplitude += 3; - - sAmplitude = amplitude >> 2; + sAmplitude = distance / 4; distance *= 128; var2 = speed + 32; var2 = var2 / 2; @@ -1595,14 +1590,14 @@ static void PrintTextCentered(u8 windowId, u8 left, u8 colorId, const u8 *string AddTextPrinterParameterized3(windowId, FONT_SHORT, left, 0, sTextColorTable[colorId], 0, string); } -static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8 baseY) +static void PrintResultsText(struct BerryCrushGame *game, u8 page, u8 sp14, u8 baseY) { u8 i, j; u8 playerId = 0; u8 ranking = 0; s32 x; u8 stat; - struct BerryCrushGame_Results * results = &game->results; + struct BerryCrushGame_Results *results = &game->results; u32 xOffset; s32 y; @@ -1947,7 +1942,7 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game) static void CopyPlayerNameWindowGfxToBg(struct BerryCrushGame *game) { u8 i = 0; - u8 * windowGfx; + u8 *windowGfx; LZ77UnCompWram(gBerryCrush_TextWindows_Tilemap, gDecompressionBuffer); @@ -3403,7 +3398,9 @@ static u32 Cmd_StopGame(struct BerryCrushGame *game, u8 *args) break; case 2: if (game->gfx.counter != 0) + { game->gfx.counter--; + } else { RunOrScheduleCommand(CMD_CLOSE_LINK, SCHEDULE_CMD, NULL); diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 5900cb298a..98938c78b5 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -26,7 +26,7 @@ struct { u8 curScene; u16 timer; struct MultiBootParam mb; -} static * sBerryFix; +} static *sBerryFix; static void BerryFix_Main(void); static void BerryFix_GpuSet(void); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 415f22e59e..4c6058ec3d 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -331,7 +331,7 @@ static bool8 LoadBerryTagGfx(void) } break; case 2: - LZDecompressWram(gBerryTag_Pal, sBerryTag->tilemapBuffers[2]); + LZDecompressWram(gBerryTag_Tilemap, sBerryTag->tilemapBuffers[2]); sBerryTag->gfxState++; break; case 3: diff --git a/gflib/bg.c b/src/bg.c similarity index 99% rename from gflib/bg.c rename to src/bg.c index 4ccb95eb6b..6264a1e426 100644 --- a/gflib/bg.c +++ b/src/bg.c @@ -42,7 +42,7 @@ static struct BgControl sGpuBgConfigs; static struct BgConfig2 sGpuBgConfigs2[NUM_BACKGROUNDS]; static u32 sDmaBusyBitfield[NUM_BACKGROUNDS]; -u32 gWindowTileAutoAllocEnabled; +COMMON_DATA u32 gWindowTileAutoAllocEnabled = 0; static const struct BgConfig sZeroedBgControlStruct = { 0 }; @@ -916,7 +916,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 wi { case BG_TYPE_NORMAL: { - const u16 * srcCopy = src; + const u16 *srcCopy = src; for (destY16 = destY; destY16 < (destY + height); destY16++) { for (destX16 = destX; destX16 < (destX + width); destX16++) @@ -928,7 +928,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 wi } case BG_TYPE_AFFINE: { - const u8 * srcCopy = src; + const u8 *srcCopy = src; mode = GetBgMetricAffineMode(bg, 0x1); for (destY16 = destY; destY16 < (destY + height); destY16++) { diff --git a/src/bike.c b/src/bike.c index ae9dfd3e91..d8a3d1ab52 100644 --- a/src/bike.c +++ b/src/bike.c @@ -372,7 +372,9 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 gPlayerAvatar.runningState = NOT_MOVING; if (heldKeys & B_BUTTON) + { gPlayerAvatar.bikeFrameCounter++; + } else { // B button was released. diff --git a/src/birch_pc.c b/src/birch_pc.c index 1f0ab23498..8256a1378b 100644 --- a/src/birch_pc.c +++ b/src/birch_pc.c @@ -20,7 +20,7 @@ bool16 ScriptGetPokedexInfo(void) return IsNationalPokedexEnabled(); } -// This shows your Hoenn Pokedex rating and not your National Dex. +// This shows your Hoenn Pokédex rating and not your National Dex. const u8 *GetPokedexRatingText(u16 count) { if (count < 10) diff --git a/gflib/blit.c b/src/blit.c similarity index 100% rename from gflib/blit.c rename to src/blit.c diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 7863f3cc11..28ed8cdf5f 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -61,8 +61,8 @@ static void DoBrailleRegisteelEffect(void); bool8 ShouldDoBrailleDigEffect(void) { if (!FlagGet(FLAG_SYS_BRAILLE_DIG) - && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEALED_CHAMBER_OUTER_ROOM) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEALED_CHAMBER_OUTER_ROOM))) + && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SEALED_CHAMBER_OUTER_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SEALED_CHAMBER_OUTER_ROOM))) { if (gSaveBlock1Ptr->pos.x == 10 && gSaveBlock1Ptr->pos.y == 3) return TRUE; @@ -167,8 +167,8 @@ static void Task_SealedChamberShakingEffect(u8 taskId) bool8 ShouldDoBrailleRegirockEffect(void) { if (!FlagGet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED) - && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(DESERT_RUINS) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(DESERT_RUINS)) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_DESERT_RUINS) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_DESERT_RUINS)) { if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23) { @@ -218,7 +218,7 @@ static void DoBrailleRegirockEffect(void) bool8 ShouldDoBrailleRegisteelEffect(void) { - if (!FlagGet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED) && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ANCIENT_TOMB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ANCIENT_TOMB))) + if (!FlagGet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED) && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ANCIENT_TOMB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ANCIENT_TOMB))) { if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25) { @@ -284,8 +284,8 @@ bool8 ShouldDoBrailleRegicePuzzle(void) { u8 i; - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ISLAND_CAVE) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ISLAND_CAVE)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ISLAND_CAVE) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ISLAND_CAVE)) { if (FlagGet(FLAG_SYS_BRAILLE_REGICE_COMPLETED)) return FALSE; diff --git a/src/cable_car.c b/src/cable_car.c index 8a666a536e..522ea01a97 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -880,8 +880,12 @@ static void CreateCableCarSprites(void) // 1/64 chance for an NPC to appear hiking on the ground below the Cable Car if ((rval % 64) == 0) { - // Unclear if this was intentional, but the - 1 in the below ARRAY_COUNT means the Zigzagoon is never used + // BUGFIX: The - 1 in the below ARRAY_COUNT means the Zigzagoon is never used +#ifdef BUGFIX + spriteId = CreateObjectGraphicsSprite(hikerGraphicsIds[rval % ARRAY_COUNT(hikerGraphicsIds)], hikerCallbacks[GOING_DOWN], hikerCoords[GOING_DOWN][0], hikerCoords[GOING_DOWN][1], 106); +#else spriteId = CreateObjectGraphicsSprite(hikerGraphicsIds[rval % (ARRAY_COUNT(hikerGraphicsIds) - 1)], hikerCallbacks[GOING_DOWN], hikerCoords[GOING_DOWN][0], hikerCoords[GOING_DOWN][1], 106); +#endif if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; diff --git a/src/contest.c b/src/contest.c index e183c2bd74..b73e23122e 100644 --- a/src/contest.c +++ b/src/contest.c @@ -194,7 +194,7 @@ static void SwapMoveDescAndContestTilemaps(void); #define CONTESTANT_TEXT_COLOR_START 10 enum { -// The "{Pokemon Name} / {Trainer Name}" windows. +// The "{Pokémon Name} / {Trainer Name}" windows. WIN_CONTESTANT0_NAME, WIN_CONTESTANT1_NAME, WIN_CONTESTANT2_NAME, @@ -358,7 +358,7 @@ EWRAM_DATA bool8 gCurContestWinnerIsForArtist = 0; EWRAM_DATA u8 gCurContestWinnerSaveIdx = 0; // IWRAM common vars. -u32 gContestRngValue; +COMMON_DATA u32 gContestRngValue = 0; extern const u8 gText_LinkStandby4[]; extern const u8 gText_BDot[]; @@ -420,7 +420,7 @@ static const union AffineAnimCmd sAffineAnim_SliderHeart_SpinAppear[] = AFFINEANIMCMD_END }; -static const union AffineAnimCmd* const sAffineAnims_SliderHeart[] = +static const union AffineAnimCmd *const sAffineAnims_SliderHeart[] = { [SLIDER_HEART_ANIM_NORMAL] = sAffineAnim_SliderHeart_Normal, [SLIDER_HEART_ANIM_DISAPPEAR] = sAffineAnim_SliderHeart_SpinDisappear, @@ -858,23 +858,22 @@ static const struct CompressedSpriteSheet sSpriteSheets_ContestantsTurnBlinkEffe } }; -// Yup this is super dangerous but that's how it is here static const struct SpritePalette sSpritePalettes_ContestantsTurnBlinkEffect[CONTESTANT_COUNT] = { { - .data = (u16 *)(gHeap + 0x1A0A4), + .data = eContestTempSave.cachedWindowPalettes[5], .tag = TAG_BLINK_EFFECT_CONTESTANT0 }, { - .data = (u16 *)(gHeap + 0x1A0C4), + .data = eContestTempSave.cachedWindowPalettes[6], .tag = TAG_BLINK_EFFECT_CONTESTANT1 }, { - .data = (u16 *)(gHeap + 0x1A0E4), + .data = eContestTempSave.cachedWindowPalettes[7], .tag = TAG_BLINK_EFFECT_CONTESTANT2 }, { - .data = (u16 *)(gHeap + 0x1A104), + .data = eContestTempSave.cachedWindowPalettes[8], .tag = TAG_BLINK_EFFECT_CONTESTANT3 } }; @@ -1348,13 +1347,13 @@ static bool8 SetupContestGraphics(u8 *stateVar) CreateApplauseMeterSprite(); CreateJudgeAttentionEyeTask(); CreateUnusedBlendTask(); - gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; - gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; - gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; + gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT; + gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT; + gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT; gBattleTypeFlags = 0; - gBattlerAttacker = B_POSITION_PLAYER_RIGHT; - gBattlerTarget = B_POSITION_OPPONENT_RIGHT; + gBattlerAttacker = B_BATTLER_2; + gBattlerTarget = B_BATTLER_3; // Unclear why judge sprite is assigned here // Overwritten in APPEALSTATE_SLIDE_MON_IN with the attacking contest mon gBattlerSpriteIds[gBattlerAttacker] = CreateJudgeSprite(); @@ -2668,7 +2667,9 @@ static void Task_EndAppeals(u8 taskId) CalculateFinalScores(); ContestClearGeneralTextWindow(); if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)) + { BravoTrainerPokemonProfile_BeforeInterview1(eContestantStatus[gContestPlayerMonIndex].prevMove); + } else { CalculateContestLiveUpdateData(); @@ -2854,7 +2855,7 @@ void SetContestants(u8 contestType, u8 rank) u8 opponentsCount = 0; u8 opponents[100]; bool8 allowPostgameContestants = FALSE; - const u8 * filter; + const u8 *filter; TryPutPlayerLast(); @@ -3010,7 +3011,7 @@ static void DrawContestantWindowText(void) static u8 *Contest_CopyStringWithColor(const u8 *string, u8 color) { - u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); + u8 *ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent); ptr[-1] = color; // Overwrites the "{COLOR TRANSPARENT}" part of the string. ptr = StringCopy(ptr, string); @@ -3170,16 +3171,19 @@ static u16 GetMoveEffectSymbolTileOffset(u16 move, u8 contestant) switch (gContestEffects[gContestMoves[move].effect].effectType) { - case 0: - case 1: - case 8: + case CONTEST_EFFECT_TYPE_APPEAL: + case CONTEST_EFFECT_TYPE_AVOID_STARTLE: + case CONTEST_EFFECT_TYPE_UNKNOWN: offset = 0x9082; break; - case 2: - case 3: + case CONTEST_EFFECT_TYPE_STARTLE_MON: + case CONTEST_EFFECT_TYPE_STARTLE_MONS: offset = 0x9088; break; default: + //case CONTEST_EFFECT_TYPE_WORSEN: + //case CONTEST_EFFECT_TYPE_SPECIAL_APPEAL: + //case CONTEST_EFFECT_TYPE_TURN_ORDER: offset = 0x9086; break; } @@ -3434,11 +3438,11 @@ static void RankContestants(void) // For each contestant, find the best rank with their point total. // Normally, each point total is different, and this will output the - // rankings as expected. However, if two pokemon are tied, then they + // rankings as expected. However, if two Pokémon are tied, then they // both get the best rank for that point total. // // For example if the point totals are [100, 80, 80, 50], the ranks will - // be [1, 2, 2, 4]. The pokemon with a point total of 80 stop looking + // be [1, 2, 2, 4]. The Pokémon with a point total of 80 stop looking // when they see the first 80 in the array, so they both share the '2' // rank. for (i = 0; i < CONTESTANT_COUNT; i++) @@ -4590,10 +4594,10 @@ void MakeContestantNervous(u8 p) // ContestantStatus::nextTurnOrder field of each contestant. The remaining // turns are assigned such that the turn order will reverse. // -// For example, if no pokemon have a defined nextTurnOrder, then the 4th +// For example, if no Pokémon have a defined nextTurnOrder, then the 4th // will become 1st, the 3rd will become 2nd, etc. // -// Note: This function assumes that multiple pokemon cannot have the same +// Note: This function assumes that multiple Pokémon cannot have the same // nextTurnOrder value. static void ApplyNextTurnOrder(void) { diff --git a/src/contest_ai.c b/src/contest_ai.c index a4bb5b4549..443e57f8be 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -326,8 +326,8 @@ u8 ContestAI_GetActionToUse(void) { // Randomly choose a move index. If it's the move // with the highest (or tied highest) score, return - u8 moveIdx = MOD(Random(), MAX_MON_MOVES); - u8 score = eContestAI.moveScores[moveIdx]; + u8 moveIndex = MOD(Random(), MAX_MON_MOVES); + u8 score = eContestAI.moveScores[moveIndex]; int i; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -335,7 +335,7 @@ u8 ContestAI_GetActionToUse(void) break; } if (i == MAX_MON_MOVES) - return moveIdx; + return moveIndex; } } diff --git a/src/contest_effect.c b/src/contest_effect.c index b927943036..92cc5a169c 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -138,7 +138,8 @@ static void ContestEffect_StartleFrontMon(void) u8 idx = 0; u8 a = eContestAppealResults.contestant; - if (eContestAppealResults.turnOrder[a] != 0) { + if (eContestAppealResults.turnOrder[a] != 0) + { int i; for (i = 0; i < CONTESTANT_COUNT; i++) @@ -618,15 +619,18 @@ static void ContestEffect_QualityDependsOnTiming(void) { appeal = 10; SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); - } else if (rval < 6) + } + else if (rval < 6) { appeal = 20; SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); - } else if (rval < 8) + } + else if (rval < 8) { appeal = 40; SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); - } else if (rval < 9) + } + else if (rval < 9) { appeal = 60; SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_VERY_WELL); @@ -867,7 +871,9 @@ static void ContestEffect_ScrambleNextTurnOrder(void) break; } else + { rval--; + } } } } @@ -907,7 +913,9 @@ static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) eContestAppealResults.jam = RoundUp(eContestAppealResults.jam); } else + { eContestAppealResults.jam = 10; + } eContestAppealResults.jamQueue[0] = i; eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; if (WasAtLeastOneOpponentJammed()) @@ -1070,7 +1078,9 @@ static s16 RoundTowardsZero(s16 score) score -= 10 - absScore; } else + { score -= absScore; + } return score; } diff --git a/src/contest_painting.c b/src/contest_painting.c index 30ca51c966..c72d0dc6af 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -21,10 +21,10 @@ #include "window.h" #include "constants/rgb.h" -u16 (*gContestMonPixels)[][32]; -struct ImageProcessingContext gImageProcessingContext; -struct ContestWinner *gContestPaintingWinner; -u16 *gContestPaintingMonPalette; +COMMON_DATA u16 (*gContestMonPixels)[][32] = {0}; +COMMON_DATA struct ImageProcessingContext gImageProcessingContext = {0}; +COMMON_DATA struct ContestWinner *gContestPaintingWinner = {0}; +COMMON_DATA u16 *gContestPaintingMonPalette = NULL; static u8 sHoldState; static u16 sMosaicVal; diff --git a/src/contest_util.c b/src/contest_util.c index e0e80a7091..7e49ce33c6 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -2306,13 +2306,13 @@ void GetNpcContestantLocalId(void) switch (contestant) { case 0: - localId = 3; + localId = LOCALID_CONTESTANT_1; break; case 1: - localId = 4; + localId = LOCALID_CONTESTANT_2; break; case 2: - localId = 5; + localId = LOCALID_CONTESTANT_3; break; default: // Invalid localId = 100; @@ -2512,7 +2512,12 @@ void LoadLinkContestPlayerPalettes(void) u8 objectEventId; int version; struct Sprite *sprite; - static const u8 sContestantLocalIds[CONTESTANT_COUNT] = { 3, 4, 5, 14 }; + static const u8 sContestantLocalIds[CONTESTANT_COUNT] = { + LOCALID_CONTESTANT_1, + LOCALID_CONTESTANT_2, + LOCALID_CONTESTANT_3, + LOCALID_CONTESTANT_4, + }; gReservedSpritePaletteCount = 12; if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) diff --git a/src/credits.c b/src/credits.c index 69a4ebbbf3..c433baf1d1 100644 --- a/src/credits.c +++ b/src/credits.c @@ -63,12 +63,12 @@ enum { struct CreditsData { - u16 monToShow[NUM_MON_SLIDES]; // List of Pokemon species ids that will show during the credits + u16 monToShow[NUM_MON_SLIDES]; // List of Pokémon species ids that will show during the credits u16 imgCounter; //how many mon images have been shown u16 nextImgPos; //if the next image spawns left/center/right u16 currShownMon; //index into monToShow - u16 numMonToShow; //number of pokemon to show, always NUM_MON_SLIDES after determine function - u16 caughtMonIds[NATIONAL_DEX_COUNT]; //temporary location to hold a condensed array of all caught pokemon + u16 numMonToShow; //number of Pokémon to show, always NUM_MON_SLIDES after determine function + u16 caughtMonIds[NATIONAL_DEX_COUNT]; //temporary location to hold a condensed array of all caught Pokémon u16 numCaughtMon; //count of filled spaces in caughtMonIds u16 unused[7]; }; @@ -1555,8 +1555,8 @@ static void DeterminePokemonToShow(void) u16 dexNum; u16 j; - // Go through the Pokedex, and anything that has gotten caught we put into our massive array. - // This basically packs all of the caught pokemon into the front of the array + // Go through the Pokédex, and anything that has gotten caught we put into our massive array. + // This basically packs all of the caught Pokémon into the front of the array for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++) { if (GetSetPokedexFlag(dexNum, FLAG_GET_CAUGHT)) @@ -1570,14 +1570,14 @@ static void DeterminePokemonToShow(void) for (dexNum = j; dexNum < NATIONAL_DEX_COUNT; dexNum++) sCreditsData->caughtMonIds[dexNum] = NATIONAL_DEX_NONE; - // Cap the number of pokemon we care about to NUM_MON_SLIDES, the max we show in the credits scene (-1 for the starter) + // Cap the number of Pokémon we care about to NUM_MON_SLIDES, the max we show in the credits scene (-1 for the starter) sCreditsData->numCaughtMon = j; if (sCreditsData->numCaughtMon < NUM_MON_SLIDES) sCreditsData->numMonToShow = j; else sCreditsData->numMonToShow = NUM_MON_SLIDES; - // Loop through our list of caught pokemon and select randomly from it to fill the images to show + // Loop through our list of caught Pokémon and select randomly from it to fill the images to show j = 0; do { @@ -1598,7 +1598,7 @@ static void DeterminePokemonToShow(void) } while (sCreditsData->numCaughtMon != 0 && j < NUM_MON_SLIDES); - // If we don't have enough pokemon in the dex to fill everything, copy the selected mon into the end of the array, so it loops + // If we don't have enough Pokémon in the dex to fill everything, copy the selected mon into the end of the array, so it loops if (sCreditsData->numMonToShow < NUM_MON_SLIDES) { for (j = sCreditsData->numMonToShow, page = 0; j < NUM_MON_SLIDES; j++) @@ -1609,7 +1609,7 @@ static void DeterminePokemonToShow(void) if (page == sCreditsData->numMonToShow) page = 0; } - // Ensure the last pokemon is our starter + // Ensure the last Pokémon is our starter sCreditsData->monToShow[NUM_MON_SLIDES - 1] = starter; } else @@ -1617,7 +1617,7 @@ static void DeterminePokemonToShow(void) // Check to see if our starter has already appeared in this list, break if it has for (dexNum = 0; sCreditsData->monToShow[dexNum] != starter && dexNum < NUM_MON_SLIDES; dexNum++); - // If it has, swap it with the last pokemon, to ensure our starter is the last image + // If it has, swap it with the last Pokémon, to ensure our starter is the last image if (dexNum < sCreditsData->numMonToShow - 1) { sCreditsData->monToShow[dexNum] = sCreditsData->monToShow[NUM_MON_SLIDES-1]; @@ -1625,7 +1625,7 @@ static void DeterminePokemonToShow(void) } else { - // Ensure the last pokemon is our starter + // Ensure the last Pokémon is our starter sCreditsData->monToShow[NUM_MON_SLIDES - 1] = starter; } } diff --git a/src/data/.gitignore b/src/data/.gitignore index f9205e5627..371e10c56e 100755 --- a/src/data/.gitignore +++ b/src/data/.gitignore @@ -1,3 +1,4 @@ +heal_locations.h wild_encounters.h region_map/region_map_entries.h region_map/porymap_config.json diff --git a/src/data/bard_music/actions.h b/src/data/bard_music/actions.h index 5acac34502..de0f4c8fd3 100644 --- a/src/data/bard_music/actions.h +++ b/src/data/bard_music/actions.h @@ -1,626 +1,626 @@ #ifndef GUARD_DATA_BARD_MUSIC_ACTIONS_H #define GUARD_DATA_BARD_MUSIC_ACTIONS_H -const struct BardSound gBardSounds_Actions[][6] = { - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Actions[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_MEETS)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CONCEDE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIVE)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIVES)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLAYED)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLAYS)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COLLECT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WALKING)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WALKS)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SAYS)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WENT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SAID)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WAKE_UP)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WAKES_UP)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ANGERS)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, + [EC_INDEX(EC_WORD_TEACH)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TEACHES)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLEASE)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LEARN)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHANGE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STORY)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRUST)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LAVISH)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LISTENS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEARING)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRAINS)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHOOSE)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COME)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CAME)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SEARCH)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAKE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CAUSE)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KNOW)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KNOWS)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 47 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_REFUSE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_CURE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STORES)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BRAG)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 26 }, - { .songLengthId = 2 }, + [EC_INDEX(EC_WORD_IGNORANT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THINKS)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BELIEVE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SLIDE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EATS)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 47 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_USE)] = { + { .songId = PHONEME_ID(PH_CURE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 47 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_USES)] = { + { .songId = PHONEME_ID(PH_CURE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 47 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_USING)] = { + { .songId = PHONEME_ID(PH_CURE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COULDN_T)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 44 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_CAPABLE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DISAPPEAR)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_APPEAR)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THROW)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WORRY)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SLEPT)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SLEEP)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RELEASE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DRINKS)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RUNS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RUN)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WORKS)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WORKING)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TALKING)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, + [EC_INDEX(EC_WORD_TALK)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SINK)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMACK)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PRETEND)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PRAISE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 41 }, + [EC_INDEX(EC_WORD_OVERDO)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHOW)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOOKS)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SEES)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SEEK)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OWN)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TAKE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 35 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALLOW)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FORGET)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FORGETS)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_APPEARS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FAINT)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FAINTED)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/adjectives.h b/src/data/bard_music/adjectives.h index c86138d2c4..641fcb3f2e 100644 --- a/src/data/bard_music/adjectives.h +++ b/src/data/bard_music/adjectives.h @@ -1,293 +1,293 @@ #ifndef GUARD_DATA_BARD_MUSIC_ADJECTIVES_H #define GUARD_DATA_BARD_MUSIC_ADJECTIVES_H -const struct BardSound gBardSounds_Adjectives[][6] = { - { - { .songLengthId = 29 }, - { .songLengthId = 50 }, - { .songLengthId = 12 }, +static const struct BardSoundTemplate sBardSoundTemplates_Adjectives[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_WANDERING)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_RICKETY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 27 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_ROCK_SOLID)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_HUNGRY)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TIGHT)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 36 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_TICKLISH)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TWIRLING)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 8 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SPIRALING)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THIRSTY)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOLLING)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SILKY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SADLY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HOPELESS)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_USELESS)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DROOLING)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 18 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_EXCITING)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THICK)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMOOTH)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SLIMY)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THIN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BREAK)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 5 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_VORACIOUS)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SCATTER)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AWESOME)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WIMPY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WOBBLY)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHAKY)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RIPPED)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHREDDED)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_INCREASING)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YET)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 30 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DESTROYED)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 50 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_FIERY)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 44 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_LOVEY_DOVEY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_HAPPILY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 3 }, - { .songLengthId = 29 }, - { .songLengthId = 51 } + [EC_INDEX(EC_WORD_ANTICIPATION)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND } }; diff --git a/src/data/bard_music/bard_sounds.h b/src/data/bard_music/bard_sounds.h deleted file mode 100644 index 291d22872a..0000000000 --- a/src/data/bard_music/bard_sounds.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef GUARD_BARD_SOUNDS_TABLE_H -#define GUARD_BARD_SOUNDS_TABLE_H - -#define NULL_BARD_SOUND { .songLengthId = 0xff } - -#include "pokemon.h" -#include "moves.h" -#include "trainer.h" -#include "status.h" -#include "battle.h" -#include "greetings.h" -#include "people.h" -#include "voices.h" -#include "speech.h" -#include "endings.h" -#include "feelings.h" -#include "conditions.h" -#include "actions.h" -#include "lifestyle.h" -#include "hobbies.h" -#include "time.h" -#include "misc.h" -#include "adjectives.h" -#include "events.h" -#include "trendysaying.h" - -const struct BardSound (*const gBardSoundsTable[EC_NUM_GROUPS])[6] = { - [EC_GROUP_POKEMON] = NULL, // Handled by gBardSounds_Pokemon - [EC_GROUP_TRAINER] = gBardSounds_Trainer, - [EC_GROUP_STATUS] = gBardSounds_Status, - [EC_GROUP_BATTLE] = gBardSounds_Battle, - [EC_GROUP_GREETINGS] = gBardSounds_Greetings, - [EC_GROUP_PEOPLE] = gBardSounds_People, - [EC_GROUP_VOICES] = gBardSounds_Voices, - [EC_GROUP_SPEECH] = gBardSounds_Speech, - [EC_GROUP_ENDINGS] = gBardSounds_Endings, - [EC_GROUP_FEELINGS] = gBardSounds_Feelings, - [EC_GROUP_CONDITIONS] = gBardSounds_Conditions, - [EC_GROUP_ACTIONS] = gBardSounds_Actions, - [EC_GROUP_LIFESTYLE] = gBardSounds_Lifestyle, - [EC_GROUP_HOBBIES] = gBardSounds_Hobbies, - [EC_GROUP_TIME] = gBardSounds_Time, - [EC_GROUP_MISC] = gBardSounds_Misc, - [EC_GROUP_ADJECTIVES] = gBardSounds_Adjectives, - [EC_GROUP_EVENTS] = gBardSounds_Events, - [EC_GROUP_MOVE_1] = NULL, // Handled by gBardSounds_Moves - [EC_GROUP_MOVE_2] = NULL, // Handled by gBardSounds_Moves - [EC_GROUP_TRENDY_SAYING] = gBardSounds_TrendySaying, - [EC_GROUP_POKEMON_NATIONAL] = NULL // Handled by gBardSounds_Pokemon -}; - -#endif //GUARD_BARD_SOUNDS_TABLE_H diff --git a/src/data/bard_music/battle.h b/src/data/bard_music/battle.h index c2cb57134f..0ec01b0322 100644 --- a/src/data/bard_music/battle.h +++ b/src/data/bard_music/battle.h @@ -1,506 +1,506 @@ #ifndef GUARD_DATA_BARD_MUSIC_BATTLE_H #define GUARD_DATA_BARD_MUSIC_BATTLE_H -const struct BardSound gBardSounds_Battle[][6] = { - { - { .songLengthId = 2 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Battle[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_MATCH_UP)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GO)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_NO_1)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DECIDE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 15 }, + [EC_INDEX(EC_WORD_LET_ME_WIN)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WINS)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WIN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WON)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 18 }, - { .songLengthId = 15 }, + [EC_INDEX(EC_WORD_IF_I_WIN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 18 }, - { .songLengthId = 15 }, + [EC_INDEX(EC_WORD_WHEN_I_WIN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CAN_T_WIN)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CAN_WIN)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NO_MATCH)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SPIRIT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_DECIDED)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 8 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRUMP_CARD)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TAKE_THAT)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 23 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COME_ON)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ATTACK)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 9 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_SURRENDER)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GUTSY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TALENT)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 11 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_STRATEGY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMITE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MATCH)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 50 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_VICTORY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 11 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OFFENSIVE)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SENSE)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_VERSUS)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FIGHTS)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 35 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_POWER)] = { + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHALLENGE)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STRONG)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOO_STRONG)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_GO_EASY)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FOE)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 14 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_GENIUS)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LEGEND)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ESCAPE)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AIM)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BATTLE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FIGHT)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_RESUSCITATE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 30 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_POINTS)] = { + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_SERIOUS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIVE_UP)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOSS)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 18 }, - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_IF_I_LOSE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 22 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOST)] = { + { .songId = PHONEME_ID(PH_LOT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOSE)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GUARD)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PARTNER)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_REJECT)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ACCEPT)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 36 }, + [EC_INDEX(EC_WORD_INVINCIBLE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RECEIVED)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EASY)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WEAK)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOO_WEAK)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 26 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_PUSHOVER)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LEADER)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RULE)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MOVE)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/conditions.h b/src/data/bard_music/conditions.h index c56421e63f..9eb8b7f01c 100644 --- a/src/data/bard_music/conditions.h +++ b/src/data/bard_music/conditions.h @@ -1,554 +1,554 @@ #ifndef GUARD_DATA_BARD_MUSIC_CONDITIONS_H #define GUARD_DATA_BARD_MUSIC_CONDITIONS_H -const struct BardSound gBardSounds_Conditions[][6] = { - { - { .songLengthId = 21 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +const struct BardSoundTemplate sBardSoundTemplates_Conditions[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_HOT)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EXISTS)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EXCESS)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 41 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_APPROVED)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HAS)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOOD)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LESS)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 11 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MOMENTUM)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOING)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WEIRD)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BUSY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 10 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_TOGETHER)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FULL)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ABSENT)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEING)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEED)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TASTY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SKILLED)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 32 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NOISY)] = { + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BIG)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LATE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 25 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CLOSE)] = { + { .songId = PHONEME_ID(PH_GOAT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DOCILE)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 39 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_AMUSING)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 3 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ENTERTAINING)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 11 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PERFECTION)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PRETTY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEALTHY)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_EXCELLENT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 20 }, - { .songLengthId = 35 }, + [EC_INDEX(EC_WORD_UPSIDE_DOWN)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COLD)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 10 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_REFRESHING)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 42 }, - { .songLengthId = 30 }, - { .songLengthId = 44 }, - { .songLengthId = 38 }, + [EC_INDEX(EC_WORD_UNAVOIDABLE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MUCH)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 50 }, - { .songLengthId = 11 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OVERWHELMING)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_FABULOUS)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ELSE)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 10 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_EXPENSIVE)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CORRECT)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 29 }, - { .songLengthId = 42 }, - { .songLengthId = 38 }, + [EC_INDEX(EC_WORD_IMPOSSIBLE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMALL)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_DIFFERENT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TIRED)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SKILL)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOP)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 22 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NON_STOP)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 22 }, - { .songLengthId = 50 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PREPOSTEROUS)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_HELD) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NONE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NOTHING)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 50 }, - { .songLengthId = 38 }, + [EC_INDEX(EC_WORD_NATURAL)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BECOMES)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 28 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LUKEWARM)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FAST)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOW)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AWFUL)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALONE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BORED)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SECRET)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_MYSTERY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LACKS)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEST)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOUSY)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MISTAKE)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KIND)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WELL)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_WEAKENED)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SIMPLE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SEEMS)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BADLY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/default_sound.h b/src/data/bard_music/default_sound.h deleted file mode 100644 index ad4008e16e..0000000000 --- a/src/data/bard_music/default_sound.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef GUARD_default_sound_H -#define GUARD_default_sound_H - -const struct BardSound gBardSound_InvalidWord[] = { - NULL_BARD_SOUND, - NULL_BARD_SOUND, - NULL_BARD_SOUND, - NULL_BARD_SOUND, - NULL_BARD_SOUND, - NULL_BARD_SOUND -}; - -#endif //GUARD_default_sound_H diff --git a/src/data/bard_music/endings.h b/src/data/bard_music/endings.h index 2513476595..6d0669feed 100644 --- a/src/data/bard_music/endings.h +++ b/src/data/bard_music/endings.h @@ -1,554 +1,554 @@ #ifndef GUARD_DATA_BARD_MUSIC_ENDINGS_H #define GUARD_DATA_BARD_MUSIC_ENDINGS_H -const struct BardSound gBardSounds_Endings[][6] = { - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Endings[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_WILL)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_WILL_BE_HERE)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OR)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TIMES)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WONDER)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_IS_IT_QUES)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BE)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIMME)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COULD)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 14 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIKELY_TO)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WOULD)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_IS)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_ISN_T_IT_QUES)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_LET_S)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OTHER)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ARE)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WAS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WERE)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THOSE)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ISN_T)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WON_T)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CAN_T)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CAN)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DON_T)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_DO)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DOES)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHOM)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHICH)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WASN_T)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WEREN_T)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HAVE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HAVEN_T)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_A)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AN)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NOT)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THERE)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OK_QUES)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SO)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAYBE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 35 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ABOUT)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OVER)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_IT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALL)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FOR)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ON)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, + [EC_INDEX(EC_WORD_OFF)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AS)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TO)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WITH)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BETTER)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EVER)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SINCE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OF)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BELONGS_TO)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AT)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_IN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, + [EC_INDEX(EC_WORD_OUT)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOO)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIKE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DID)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DIDN_T)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DOESN_T)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 35 }, + [EC_INDEX(EC_WORD_WITHOUT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AFTER)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEFORE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHILE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THAN)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ONCE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ANYWHERE)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/events.h b/src/data/bard_music/events.h index b33c1e2b30..6bd57c0c70 100644 --- a/src/data/bard_music/events.h +++ b/src/data/bard_music/events.h @@ -1,234 +1,234 @@ #ifndef GUARD_DATA_BARD_MUSIC_EVENTS_H #define GUARD_DATA_BARD_MUSIC_EVENTS_H -const struct BardSound gBardSounds_Events[][6] = { - { - { .songLengthId = 44 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Events[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_APPEAL)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EVENTS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STAY_AT_HOME)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BERRY)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CONTEST)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MC)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_JUDGE)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SUPER)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STAGE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 44 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HALL_OF_FAME)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EVOLUTION)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HYPER)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 44 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_BATTLE_TOWER)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LEADERS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_BATTLE_ROOM)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIDDEN)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SECRET_BASE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BLEND)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_POKEBLOCK)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MASTER)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RANK)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RIBBON)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 42 }, + [EC_INDEX(EC_WORD_CRUSH)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 9 }, + [EC_INDEX(EC_WORD_DIRECT)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_TOWER)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 42 }, + [EC_INDEX(EC_WORD_UNION)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ROOM)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WIRELESS)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_FRONTIER)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/feelings.h b/src/data/bard_music/feelings.h index a465133970..34ef734ecb 100644 --- a/src/data/bard_music/feelings.h +++ b/src/data/bard_music/feelings.h @@ -1,555 +1,555 @@ #ifndef GUARD_DATA_BARD_MUSIC_FEELINGS_H #define GUARD_DATA_BARD_MUSIC_FEELINGS_H -const struct BardSound gBardSounds_Feelings[][6] = { - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Feelings[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_MEET)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLAY)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HURRIED)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 25 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOES)] = { + { .songId = PHONEME_ID(PH_GOAT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIDDY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HAPPY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_HAPPINESS)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EXCITE)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 26 }, - { .songLengthId = 0 }, + [EC_INDEX(EC_WORD_IMPORTANT)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FUNNY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOT)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GO_HOME)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 30 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_DISAPPOINTED)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 32 }, + [EC_INDEX(EC_WORD_DISAPPOINTS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SAD)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRY)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRIES)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEARS)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THINK)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEAR)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, + [EC_INDEX(EC_WORD_WANTS)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MISHEARD)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DISLIKE)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ANGRY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ANGER)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SCARY)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LONESOME)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 42 }, - { .songLengthId = 32 }, + [EC_INDEX(EC_WORD_DISAPPOINT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 32 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_JOY)] = { + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GETS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEVER)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DARN)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DOWNCAST)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 11 }, - { .songLengthId = 17 }, - { .songLengthId = 38 }, + [EC_INDEX(EC_WORD_INCREDIBLE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIKES)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DISLIKES)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BORING)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CARE)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CARES)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALL_RIGHT)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ADORE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_DISASTER)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 32 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ENJOY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 32 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ENJOYS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EAT)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LACKING)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BAD)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HARD)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 42 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_TERRIBLE)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHOULD)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NICE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DRINK)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SURPRISE)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FEAR)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WANT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WAIT)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SATISFIED)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SEE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RARE)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 44 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_NEGATIVE)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DONE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DANGER)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 14 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_DEFEATED)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEAT)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GREAT)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 0 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_ROMANTIC)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_QUESTION)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 2 }, + [EC_INDEX(EC_WORD_UNDERSTAND)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UNDERSTANDS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, } diff --git a/src/data/bard_music/greetings.h b/src/data/bard_music/greetings.h index ebddb79de4..4a64c7d006 100644 --- a/src/data/bard_music/greetings.h +++ b/src/data/bard_music/greetings.h @@ -1,338 +1,338 @@ #ifndef GUARD_DATA_BARD_MUSIC_GREETINGS_H #define GUARD_DATA_BARD_MUSIC_GREETINGS_H -const struct BardSound gBardSounds_Greetings[][6] = { - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Greetings[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_THANKS)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YES)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HERE_GOES)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 18 }, - { .songLengthId = 23 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HERE_I_COME)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 17 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_HERE_IT_IS)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YEAH)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 23 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WELCOME)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 30 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OI)] = { + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HOW_DO)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CONGRATS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIVE_ME)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SORRY)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 6 }, - { .songLengthId = 23 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_APOLOGIZE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FORGIVE)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEY_THERE)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HELLO)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOOD_BYE)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THANK_YOU)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 6 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_I_VE_ARRIVED)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PARDON)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EXCUSE)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SEE_YA)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 40 }, - { .songLengthId = 13 }, + [EC_INDEX(EC_WORD_EXCUSE_ME)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WELL_THEN)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_GO_AHEAD)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_APPRECIATE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEY_QUES)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 43 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHAT_S_UP_QUES)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HUH_QUES)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NO)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HI)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YEAH_YEAH)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BYE_BYE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MEET_YOU)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMELL)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 11 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_LISTENING)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HOO_HAH)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YAHOO)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YO)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 24 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_COME_OVER)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 35 }, - { .songLengthId = 23 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COUNT_ON)] = { + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/hobbies.h b/src/data/bard_music/hobbies.h index db55ef1246..d51e9164cf 100644 --- a/src/data/bard_music/hobbies.h +++ b/src/data/bard_music/hobbies.h @@ -1,434 +1,434 @@ #ifndef GUARD_DATA_BARD_MUSIC_HOBBIES_H #define GUARD_DATA_BARD_MUSIC_HOBBIES_H -const struct BardSound gBardSounds_Hobbies[][6] = { - { - { .songLengthId = 20 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Hobbies[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_IDOL)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_ANIME)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SONG)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MOVIE)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SWEETS)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHAT)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 38 }, - { .songLengthId = 4 }, + [EC_INDEX(EC_WORD_CHILD_S_PLAY)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 30 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOYS)] = { + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 47 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MUSIC)] = { + { .songId = PHONEME_ID(PH_CURE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CARDS)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHOPPING)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 50 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_CAMERA)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 47 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_VIEWING)] = { + { .songId = PHONEME_ID(PH_CURE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 5 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_SPECTATOR)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOURMET)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GAME)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_RPG)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 11 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COLLECTION)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COMPLETE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 44 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAGAZINE)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WALK)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BIKE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HOBBY)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SPORTS)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOFTWARE)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SONGS)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DIET)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TREASURE)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRAVEL)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DANCE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHANNEL)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAKING)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FISHING)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DATE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DESIGN)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 26 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_LOCOMOTIVE)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLUSH_DOLL)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PC)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FLOWERS)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HERO)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NAP)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 26 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEROINE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FASHION)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 11 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_ADVENTURE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BOARD)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BALL)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BOOK)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 14 }, - { .songLengthId = 8 }, + [EC_INDEX(EC_WORD_FESTIVAL)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COMICS)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 17 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_HOLIDAY)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLANS)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRENDY)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 5 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_VACATION)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOOK)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/length_table.h b/src/data/bard_music/length_table.h deleted file mode 100644 index d53dcb23fa..0000000000 --- a/src/data/bard_music/length_table.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef GUARD_LENGTH_TABLE_H -#define GUARD_LENGTH_TABLE_H - -const int gBardSoundLengthTable[] = { - 9, 22, 15, 16, - 39, 21, 9, 30, - 24, 15, 25, 12, - 22, 45, 24, 15, - 40, 9, 21, 42, - 18, 9, 22, 15, - 27, 48, 18, 27, - 33, 24, 25, 39, - 19, 16, 54, 18, - 9, 45, 15, 12, - 39, 23, 5, 45, - 12, 21, 48, 12, - 21, 69, 18, 15 -}; - - -#endif //GUARD_LENGTH_TABLE_H diff --git a/src/data/bard_music/lifestyle.h b/src/data/bard_music/lifestyle.h index 9aeac37576..4415ab638a 100644 --- a/src/data/bard_music/lifestyle.h +++ b/src/data/bard_music/lifestyle.h @@ -1,362 +1,362 @@ #ifndef GUARD_DATA_BARD_MUSIC_LIFESTYLE_H #define GUARD_DATA_BARD_MUSIC_LIFESTYLE_H -const struct BardSound gBardSounds_Lifestyle[][6] = { - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Lifestyle[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_CHORES)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HOME)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MONEY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 35 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALLOWANCE)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BATH)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 50 }, - { .songLengthId = 3 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CONVERSATION)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SCHOOL)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_COMMEMORATE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HABIT)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GROUP)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WORD)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STORE)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SERVICE)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WORK)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SYSTEM)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRAIN)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CLASS)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LESSONS)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 48 }, - { .songLengthId = 5 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_INFORMATION)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIVING)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TEACHER)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 42 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_TOURNAMENT)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LETTER)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EVENT)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_DIGITAL)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TEST)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 11 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_DEPT_STORE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TELEVISION)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PHONE)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ITEM)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NAME)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEWS)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 39 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_POPULAR)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PARTY)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STUDY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MACHINE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAIL)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MESSAGE)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PROMISE)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DREAM)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 50 }, - { .songLengthId = 23 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KINDERGARTEN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIFE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_RADIO)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RENTAL)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WORLD)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/misc.h b/src/data/bard_music/misc.h index 1bce1a45dd..730ff37d71 100644 --- a/src/data/bard_music/misc.h +++ b/src/data/bard_music/misc.h @@ -1,338 +1,338 @@ #ifndef GUARD_DATA_BARD_MUSIC_MISC_H #define GUARD_DATA_BARD_MUSIC_MISC_H -const struct BardSound gBardSounds_Misc[][6] = { - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Misc[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_HIGHS)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOWS)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UM)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_REAR)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THINGS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THING)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BELOW)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ABOVE)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BACK)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIGH)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HERE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_INSIDE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OUTSIDE)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BESIDE)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_THIS_IS_IT_EXCL)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THIS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_EVERY)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THESE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THESE_WERE)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DOWN)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THAT)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THOSE_ARE)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THOSE_WERE)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THAT_S_IT_EXCL)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AM)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THAT_WAS)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FRONT)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UP)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHOICE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FAR)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AWAY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEAR)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHERE)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHEN)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHAT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DEEP)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHALLOW)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHY)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 46 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CONFUSED)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_CURE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 26 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_OPPOSITE)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LEFT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RIGHT)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/moves.h b/src/data/bard_music/moves.h index 6c658cd4a0..2c204af282 100644 --- a/src/data/bard_music/moves.h +++ b/src/data/bard_music/moves.h @@ -5,7 +5,7 @@ const u16 gNumBardWords_Moves = MOVES_COUNT; -const struct BardSound gBardSounds_Moves[MOVES_COUNT][6] = { +static const struct BardSoundTemplate sBardSoundTemplates_Moves[MOVES_COUNT][MAX_BARD_SOUNDS_PER_WORD] = { [MOVE_NONE] = { NULL_BARD_SOUND, NULL_BARD_SOUND, @@ -15,2311 +15,2311 @@ const struct BardSound gBardSounds_Moves[MOVES_COUNT][6] = { NULL_BARD_SOUND, }, [MOVE_POUND] = { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_KARATE_CHOP] = { - { .songLengthId = 44 }, - { .songLengthId = 29 }, - { .songLengthId = 14 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DOUBLE_SLAP] = { - { .songLengthId = 42 }, - { .songLengthId = 10 }, - { .songLengthId = 2 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_COMET_PUNCH] = { - { .songLengthId = 29 }, - { .songLengthId = 11 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEGA_PUNCH] = { - { .songLengthId = 3 }, - { .songLengthId = 42 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PAY_DAY] = { - { .songLengthId = 5 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FIRE_PUNCH] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ICE_PUNCH] = { - { .songLengthId = 44 }, - { .songLengthId = 29 }, - { .songLengthId = 14 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THUNDER_PUNCH] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SCRATCH] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_VICE_GRIP] = { - { .songLengthId = 20 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GUILLOTINE] = { - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RAZOR_WIND] = { - { .songLengthId = 5 }, - { .songLengthId = 48 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SWORDS_DANCE] = { - { .songLengthId = 26 }, - { .songLengthId = 48 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CUT] = { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GUST] = { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WING_ATTACK] = { - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WHIRLWIND] = { - { .songLengthId = 44 }, - { .songLengthId = 29 }, - { .songLengthId = 14 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FLY] = { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BIND] = { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLAM] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_VINE_WHIP] = { - { .songLengthId = 18 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STOMP] = { - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DOUBLE_KICK] = { - { .songLengthId = 42 }, - { .songLengthId = 44 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEGA_KICK] = { - { .songLengthId = 3 }, - { .songLengthId = 42 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_JUMP_KICK] = { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROLLING_KICK] = { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SAND_ATTACK] = { - { .songLengthId = 0 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HEADBUTT] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HORN_ATTACK] = { - { .songLengthId = 24 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FURY_ATTACK] = { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 2 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HORN_DRILL] = { - { .songLengthId = 24 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TACKLE] = { - { .songLengthId = 0 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BODY_SLAM] = { - { .songLengthId = 29 }, - { .songLengthId = 12 }, - { .songLengthId = 2 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WRAP] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TAKE_DOWN] = { - { .songLengthId = 3 }, - { .songLengthId = 35 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THRASH] = { - { .songLengthId = 48 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DOUBLE_EDGE] = { - { .songLengthId = 44 }, - { .songLengthId = 36 }, - { .songLengthId = 10 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TAIL_WHIP] = { - { .songLengthId = 5 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_POISON_STING] = { - { .songLengthId = 30 }, - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TWINEEDLE] = { - { .songLengthId = 15 }, - { .songLengthId = 12 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PIN_MISSILE] = { - { .songLengthId = 15 }, - { .songLengthId = 17 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LEER] = { - { .songLengthId = 14 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BITE] = { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GROWL] = { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROAR] = { - { .songLengthId = 26 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SING] = { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SUPERSONIC] = { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 27 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SONIC_BOOM] = { - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DISABLE] = { - { .songLengthId = 17 }, - { .songLengthId = 3 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ACID] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_EMBER] = { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FLAMETHROWER] = { - { .songLengthId = 0 }, - { .songLengthId = 26 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MIST] = { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WATER_GUN] = { - { .songLengthId = 29 }, - { .songLengthId = 50 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HYDRO_PUMP] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SURF] = { - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ICE_BEAM] = { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BLIZZARD] = { - { .songLengthId = 15 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PSYBEAM] = { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BUBBLE_BEAM] = { - { .songLengthId = 42 }, - { .songLengthId = 36 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AURORA_BEAM] = { - { .songLengthId = 27 }, - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HYPER_BEAM] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PECK] = { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DRILL_PECK] = { - { .songLengthId = 17 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SUBMISSION] = { - { .songLengthId = 42 }, - { .songLengthId = 17 }, - { .songLengthId = 11 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LOW_KICK] = { - { .songLengthId = 24 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_COUNTER] = { - { .songLengthId = 33 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SEISMIC_TOSS] = { - { .songLengthId = 18 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STRENGTH] = { - { .songLengthId = 50 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ABSORB] = { - { .songLengthId = 42 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEGA_DRAIN] = { - { .songLengthId = 3 }, - { .songLengthId = 44 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LEECH_SEED] = { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GROWTH] = { - { .songLengthId = 48 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RAZOR_LEAF] = { - { .songLengthId = 5 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SOLAR_BEAM] = { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_POISON_POWDER] = { - { .songLengthId = 30 }, - { .songLengthId = 44 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STUN_SPORE] = { - { .songLengthId = 44 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLEEP_POWDER] = { - { .songLengthId = 12 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PETAL_DANCE] = { - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STRING_SHOT] = { - { .songLengthId = 50 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DRAGON_RAGE] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FIRE_SPIN] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THUNDER_SHOCK] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THUNDERBOLT] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 26 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THUNDER_WAVE] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THUNDER] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROCK_THROW] = { - { .songLengthId = 27 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_EARTHQUAKE] = { - { .songLengthId = 48 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FISSURE] = { - { .songLengthId = 17 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DIG] = { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TOXIC] = { - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CONFUSION] = { - { .songLengthId = 44 }, - { .songLengthId = 41 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PSYCHIC] = { - { .songLengthId = 18 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HYPNOSIS] = { - { .songLengthId = 17 }, - { .songLengthId = 24 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEDITATE] = { - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AGILITY] = { - { .songLengthId = 42 }, - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 14 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_QUICK_ATTACK] = { - { .songLengthId = 39 }, - { .songLengthId = 17 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RAGE] = { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TELEPORT] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_NIGHT_SHADE] = { - { .songLengthId = 18 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MIMIC] = { - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SCREECH] = { - { .songLengthId = 48 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DOUBLE_TEAM] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RECOVER] = { - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HARDEN] = { - { .songLengthId = 27 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MINIMIZE] = { - { .songLengthId = 15 }, - { .songLengthId = 15 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SMOKESCREEN] = { - { .songLengthId = 26 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CONFUSE_RAY] = { - { .songLengthId = 27 }, - { .songLengthId = 45 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WITHDRAW] = { - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DEFENSE_CURL] = { - { .songLengthId = 14 }, - { .songLengthId = 11 }, - { .songLengthId = 50 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BARRIER] = { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LIGHT_SCREEN] = { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HAZE] = { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_REFLECT] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FOCUS_ENERGY] = { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 11 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, }, [MOVE_BIDE] = { - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_METRONOME] = { - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MIRROR_MOVE] = { - { .songLengthId = 12 }, - { .songLengthId = 50 }, - { .songLengthId = 41 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SELF_DESTRUCT] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_EGG_BOMB] = { - { .songLengthId = 9 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LICK] = { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SMOG] = { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLUDGE] = { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BONE_CLUB] = { - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FIRE_BLAST] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WATERFALL] = { - { .songLengthId = 29 }, - { .songLengthId = 48 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CLAMP] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SWIFT] = { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SKULL_BASH] = { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPIKE_CANNON] = { - { .songLengthId = 20 }, - { .songLengthId = 0 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CONSTRICT] = { - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AMNESIA] = { - { .songLengthId = 2 }, - { .songLengthId = 14 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_KINESIS] = { - { .songLengthId = 15 }, - { .songLengthId = 12 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SOFT_BOILED] = { - { .songLengthId = 27 }, - { .songLengthId = 30 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HI_JUMP_KICK] = { - { .songLengthId = 18 }, - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GLARE] = { - { .songLengthId = 5 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DREAM_EATER] = { - { .songLengthId = 14 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_POISON_GAS] = { - { .songLengthId = 30 }, - { .songLengthId = 27 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BARRAGE] = { - { .songLengthId = 48 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LEECH_LIFE] = { - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LOVELY_KISS] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 12 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SKY_ATTACK] = { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TRANSFORM] = { - { .songLengthId = 0 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BUBBLE] = { - { .songLengthId = 44 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DIZZY_PUNCH] = { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPORE] = { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FLASH] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PSYWAVE] = { - { .songLengthId = 18 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPLASH] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ACID_ARMOR] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CRABHAMMER] = { - { .songLengthId = 2 }, - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_EXPLOSION] = { - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FURY_SWIPES] = { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BONEMERANG] = { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_REST] = { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROCK_SLIDE] = { - { .songLengthId = 27 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HYPER_FANG] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SHARPEN] = { - { .songLengthId = 27 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CONVERSION] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TRI_ATTACK] = { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SUPER_FANG] = { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLASH] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SUBSTITUTE] = { - { .songLengthId = 42 }, - { .songLengthId = 17 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STRUGGLE] = { - { .songLengthId = 42 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SKETCH] = { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TRIPLE_KICK] = { - { .songLengthId = 17 }, - { .songLengthId = 36 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_THIEF] = { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPIDER_WEB] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 9 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MIND_READER] = { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_NIGHTMARE] = { - { .songLengthId = 18 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FLAME_WHEEL] = { - { .songLengthId = 3 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SNORE] = { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CURSE] = { - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FLAIL] = { - { .songLengthId = 5 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CONVERSION_2] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AEROBLAST] = { - { .songLengthId = 5 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_COTTON_SPORE] = { - { .songLengthId = 29 }, - { .songLengthId = 29 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_REVERSAL] = { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPITE] = { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_POWDER_SNOW] = { - { .songLengthId = 33 }, - { .songLengthId = 48 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PROTECT] = { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MACH_PUNCH] = { - { .songLengthId = 27 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SCARY_FACE] = { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 3 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FAINT_ATTACK] = { - { .songLengthId = 3 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SWEET_KISS] = { - { .songLengthId = 14 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BELLY_DRUM] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLUDGE_BOMB] = { - { .songLengthId = 43 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MUD_SLAP] = { - { .songLengthId = 44 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_OCTAZOOKA] = { - { .songLengthId = 27 }, - { .songLengthId = 44 }, - { .songLengthId = 40 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPIKES] = { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ZAP_CANNON] = { - { .songLengthId = 0 }, - { .songLengthId = 1 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FORESIGHT] = { - { .songLengthId = 26 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DESTINY_BOND] = { - { .songLengthId = 9 }, - { .songLengthId = 15 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PERISH_SONG] = { - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ICY_WIND] = { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 15 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DETECT] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BONE_RUSH] = { - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LOCK_ON] = { - { .songLengthId = 27 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_OUTRAGE] = { - { .songLengthId = 33 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SANDSTORM] = { - { .songLengthId = 0 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GIGA_DRAIN] = { - { .songLengthId = 17 }, - { .songLengthId = 42 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ENDURE] = { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CHARM] = { - { .songLengthId = 21 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROLLOUT] = { - { .songLengthId = 26 }, - { .songLengthId = 33 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FALSE_SWIPE] = { - { .songLengthId = 27 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SWAGGER] = { - { .songLengthId = 2 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MILK_DRINK] = { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPARK] = { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FURY_CUTTER] = { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STEEL_WING] = { - { .songLengthId = 14 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEAN_LOOK] = { - { .songLengthId = 12 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ATTRACT] = { - { .songLengthId = 42 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLEEP_TALK] = { - { .songLengthId = 14 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HEAL_BELL] = { - { .songLengthId = 14 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RETURN] = { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PRESENT] = { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FRUSTRATION] = { - { .songLengthId = 44 }, - { .songLengthId = 3 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SAFEGUARD] = { - { .songLengthId = 3 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PAIN_SPLIT] = { - { .songLengthId = 3 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SACRED_FIRE] = { - { .songLengthId = 3 }, - { .songLengthId = 17 }, - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MAGNITUDE] = { - { .songLengthId = 0 }, - { .songLengthId = 15 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DYNAMIC_PUNCH] = { - { .songLengthId = 18 }, - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEGAHORN] = { - { .songLengthId = 3 }, - { .songLengthId = 42 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DRAGON_BREATH] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BATON_PASS] = { - { .songLengthId = 42 }, - { .songLengthId = 27 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ENCORE] = { - { .songLengthId = 27 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PURSUIT] = { - { .songLengthId = 48 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RAPID_SPIN] = { - { .songLengthId = 0 }, - { .songLengthId = 15 }, - { .songLengthId = 15 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SWEET_SCENT] = { - { .songLengthId = 14 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_IRON_TAIL] = { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_METAL_CLAW] = { - { .songLengthId = 9 }, - { .songLengthId = 36 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_VITAL_THROW] = { - { .songLengthId = 18 }, - { .songLengthId = 36 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MORNING_SUN] = { - { .songLengthId = 26 }, - { .songLengthId = 14 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SYNTHESIS] = { - { .songLengthId = 15 }, - { .songLengthId = 42 }, - { .songLengthId = 15 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MOONLIGHT] = { - { .songLengthId = 39 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HIDDEN_POWER] = { - { .songLengthId = 15 }, - { .songLengthId = 9 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CROSS_CHOP] = { - { .songLengthId = 27 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TWISTER] = { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RAIN_DANCE] = { - { .songLengthId = 3 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SUNNY_DAY] = { - { .songLengthId = 42 }, - { .songLengthId = 14 }, - { .songLengthId = 5 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CRUNCH] = { - { .songLengthId = 48 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MIRROR_COAT] = { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_PSYCH_UP] = { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_EXTREME_SPEED] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ANCIENT_POWER] = { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 33 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SHADOW_BALL] = { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FUTURE_SIGHT] = { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROCK_SMASH] = { - { .songLengthId = 27 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WHIRLPOOL] = { - { .songLengthId = 48 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BEAT_UP] = { - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FAKE_OUT] = { - { .songLengthId = 3 }, - { .songLengthId = 33 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_UPROAR] = { - { .songLengthId = 44 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_STOCKPILE] = { - { .songLengthId = 27 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SPIT_UP] = { - { .songLengthId = 17 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SWALLOW] = { - { .songLengthId = 27 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HEAT_WAVE] = { - { .songLengthId = 12 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HAIL] = { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TORMENT] = { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FLATTER] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WILL_O_WISP] = { - { .songLengthId = 17 }, - { .songLengthId = 24 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MEMENTO] = { - { .songLengthId = 42 }, - { .songLengthId = 9 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FACADE] = { - { .songLengthId = 44 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FOCUS_PUNCH] = { - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SMELLING_SALT] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FOLLOW_ME] = { - { .songLengthId = 21 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_NATURE_POWER] = { - { .songLengthId = 3 }, - { .songLengthId = 48 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CHARGE] = { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TAUNT] = { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HELPING_HAND] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TRICK] = { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROLE_PLAY] = { - { .songLengthId = 24 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WISH] = { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ASSIST] = { - { .songLengthId = 42 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_INGRAIN] = { - { .songLengthId = 15 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SUPERPOWER] = { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MAGIC_COAT] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_RECYCLE] = { - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_REVENGE] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BRICK_BREAK] = { - { .songLengthId = 17 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_YAWN] = { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_KNOCK_OFF] = { - { .songLengthId = 27 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ENDEAVOR] = { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ERUPTION] = { - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SKILL_SWAP] = { - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_IMPRISON] = { - { .songLengthId = 15 }, - { .songLengthId = 15 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_REFRESH] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GRUDGE] = { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SNATCH] = { - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, @@ -2327,522 +2327,522 @@ const struct BardSound gBardSounds_Moves[MOVES_COUNT][6] = { NULL_BARD_SOUND, }, [MOVE_SECRET_POWER] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DIVE] = { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ARM_THRUST] = { - { .songLengthId = 27 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CAMOUFLAGE] = { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TAIL_GLOW] = { - { .songLengthId = 4 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LUSTER_PURGE] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 50 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MIST_BALL] = { - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FEATHER_DANCE] = { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TEETER_DANCE] = { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BLAZE_KICK] = { - { .songLengthId = 5 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MUD_SPORT] = { - { .songLengthId = 42 }, - { .songLengthId = 24 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ICE_BALL] = { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_NEEDLE_ARM] = { - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SLACK_OFF] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HYPER_VOICE] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 30 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_POISON_FANG] = { - { .songLengthId = 30 }, - { .songLengthId = 42 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CRUSH_CLAW] = { - { .songLengthId = 44 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BLAST_BURN] = { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HYDRO_CANNON] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_METEOR_MASH] = { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, }, [MOVE_ASTONISH] = { - { .songLengthId = 42 }, - { .songLengthId = 27 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WEATHER_BALL] = { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AROMATHERAPY] = { - { .songLengthId = 42 }, - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 14 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, }, [MOVE_FAKE_TEARS] = { - { .songLengthId = 3 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AIR_CUTTER] = { - { .songLengthId = 5 }, - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_OVERHEAT] = { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ODOR_SLEUTH] = { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROCK_TOMB] = { - { .songLengthId = 27 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SILVER_WIND] = { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 15 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_METAL_SOUND] = { - { .songLengthId = 9 }, - { .songLengthId = 27 }, - { .songLengthId = 33 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_GRASS_WHISTLE] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_TICKLE] = { - { .songLengthId = 17 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_COSMIC_POWER] = { - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WATER_SPOUT] = { - { .songLengthId = 27 }, - { .songLengthId = 48 }, - { .songLengthId = 33 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SIGNAL_BEAM] = { - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SHADOW_PUNCH] = { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_EXTRASENSORY] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, }, [MOVE_SKY_UPPERCUT] = { - { .songLengthId = 18 }, - { .songLengthId = 44 }, - { .songLengthId = 48 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SAND_TOMB] = { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SHEER_COLD] = { - { .songLengthId = 14 }, - { .songLengthId = 48 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MUDDY_WATER] = { - { .songLengthId = 42 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BULLET_SEED] = { - { .songLengthId = 42 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_AERIAL_ACE] = { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 3 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ICICLE_SPEAR] = { - { .songLengthId = 18 }, - { .songLengthId = 15 }, - { .songLengthId = 42 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, }, [MOVE_IRON_DEFENSE] = { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 9 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BLOCK] = { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_HOWL] = { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DRAGON_CLAW] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_FRENZY_PLANT] = { - { .songLengthId = 48 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BULK_UP] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_BOUNCE] = { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MUD_SHOT] = { - { .songLengthId = 44 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_POISON_TAIL] = { - { .songLengthId = 30 }, - { .songLengthId = 44 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_COVET] = { - { .songLengthId = 42 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_VOLT_TACKLE] = { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 0 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_MAGICAL_LEAF] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 36 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WATER_SPORT] = { - { .songLengthId = 27 }, - { .songLengthId = 48 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_CALM_MIND] = { - { .songLengthId = 27 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_LEAF_BLADE] = { - { .songLengthId = 12 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DRAGON_DANCE] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_ROCK_BLAST] = { - { .songLengthId = 27 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_SHOCK_WAVE] = { - { .songLengthId = 27 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_WATER_PULSE] = { - { .songLengthId = 27 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [MOVE_DOOM_DESIRE] = { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, }, [MOVE_PSYCHO_BOOST] = { - { .songLengthId = 18 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, } diff --git a/src/data/bard_music/people.h b/src/data/bard_music/people.h index c1c2f9d3fe..6fbc39489d 100644 --- a/src/data/bard_music/people.h +++ b/src/data/bard_music/people.h @@ -1,602 +1,602 @@ #ifndef GUARD_DATA_BARD_MUSIC_PEOPLE_H #define GUARD_DATA_BARD_MUSIC_PEOPLE_H -const struct BardSound gBardSounds_People[][6] = { - { - { .songLengthId = 44 }, - { .songLengthId = 26 }, - { .songLengthId = 11 }, +static const struct BardSoundTemplate sBardSoundTemplates_People[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_OPPONENT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 19 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_I)] = { + { .songId = PHONEME_ID(PH_PRICE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YOU)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YOURS)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SON)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26, .songLengthOffset = -0x9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YOUR)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO), .lengthAdjustment = -9 }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YOU_RE)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YOU_VE)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MOTHER)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 8 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GRANDFATHER)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UNCLE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FATHER)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 30 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BOY)] = { + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ADULT)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BROTHER)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SISTER)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GRANDMOTHER)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 7 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AUNT)] = { + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PARENT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAN)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ME)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GIRL)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BABE)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_FAMILY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HER)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIM)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLACE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DAUGHTER)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIS)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HE_S)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AREN_T)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SIBLINGS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KID)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHILDREN)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MR)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MRS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MYSELF)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_I_WAS)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TO_ME)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MY)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_I_AM)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_I_VE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHO)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOMEONE)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHO_WAS)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 41 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TO_WHOM)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHOSE)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHO_IS)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 16 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_IT_S)] = { + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LADY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FRIEND)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALLY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PERSON)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 40 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DUDE)] = { + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THEY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THEY_WERE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TO_THEM)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THEIR)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THEY_RE)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THEY_VE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEEN)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TO_US)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OUR)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WE_RE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RIVAL)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WE_VE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 38 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WOMAN)] = { + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 43 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHE_WAS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TO_HER)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HERS)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHE_IS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOME)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h index 57ab426590..a278698041 100644 --- a/src/data/bard_music/pokemon.h +++ b/src/data/bard_music/pokemon.h @@ -3,7 +3,7 @@ const u16 gNumBardWords_Species = NUM_SPECIES; -const struct BardSound gBardSounds_Pokemon[NUM_SPECIES][6] = { +static const struct BardSoundTemplate sBardSoundTemplates_Pokemon[NUM_SPECIES][MAX_BARD_SOUNDS_PER_WORD] = { [SPECIES_NONE] = { NULL_BARD_SOUND, NULL_BARD_SOUND, @@ -13,1207 +13,1207 @@ const struct BardSound gBardSounds_Pokemon[NUM_SPECIES][6] = { NULL_BARD_SOUND, }, [SPECIES_BULBASAUR] = { - { .songLengthId = 36 }, - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_IVYSAUR] = { - { .songLengthId = 20 }, - { .songLengthId = 12 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VENUSAUR] = { - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CHARMANDER] = { - { .songLengthId = 6 }, - { .songLengthId = 2 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CHARMELEON] = { - { .songLengthId = 6 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CHARIZARD] = { - { .songLengthId = 6 }, - { .songLengthId = 17 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SQUIRTLE] = { - { .songLengthId = 48 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WARTORTLE] = { - { .songLengthId = 8 }, - { .songLengthId = 48 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BLASTOISE] = { - { .songLengthId = 0 }, - { .songLengthId = 30 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CATERPIE] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_METAPOD] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BUTTERFREE] = { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WEEDLE] = { - { .songLengthId = 14 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KAKUNA] = { - { .songLengthId = 42 }, - { .songLengthId = 39 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BEEDRILL] = { - { .songLengthId = 12 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PIDGEY] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PIDGEOTTO] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PIDGEOT] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RATTATA] = { - { .songLengthId = 0 }, - { .songLengthId = 0 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RATICATE] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 3 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SPEAROW] = { - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FEAROW] = { - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_EKANS] = { - { .songLengthId = 9 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ARBOK] = { - { .songLengthId = 6 }, - { .songLengthId = 23 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PIKACHU] = { - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RAICHU] = { - { .songLengthId = 18 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SANDSHREW] = { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SANDSLASH] = { - { .songLengthId = 0 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NIDORAN_F] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NIDORINA] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NIDOQUEEN] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NIDORAN_M] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NIDORINO] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NIDOKING] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CLEFAIRY] = { - { .songLengthId = 9 }, - { .songLengthId = 11 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CLEFABLE] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 36 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VULPIX] = { - { .songLengthId = 36 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NINETALES] = { - { .songLengthId = 18 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_JIGGLYPUFF] = { - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WIGGLYTUFF] = { - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ZUBAT] = { - { .songLengthId = 39 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GOLBAT] = { - { .songLengthId = 26 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ODDISH] = { - { .songLengthId = 21 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GLOOM] = { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VILEPLUME] = { - { .songLengthId = 20 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PARAS] = { - { .songLengthId = 9 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PARASECT] = { - { .songLengthId = 9 }, - { .songLengthId = 0 }, - { .songLengthId = 9 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VENONAT] = { - { .songLengthId = 9 }, - { .songLengthId = 26 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VENOMOTH] = { - { .songLengthId = 9 }, - { .songLengthId = 26 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DIGLETT] = { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DUGTRIO] = { - { .songLengthId = 44 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MEOWTH] = { - { .songLengthId = 12 }, - { .songLengthId = 33 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PERSIAN] = { - { .songLengthId = 50 }, - { .songLengthId = 17 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PSYDUCK] = { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GOLDUCK] = { - { .songLengthId = 24 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MANKEY] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PRIMEAPE] = { - { .songLengthId = 18 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GROWLITHE] = { - { .songLengthId = 33 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ARCANINE] = { - { .songLengthId = 6 }, - { .songLengthId = 3 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_POLIWAG] = { - { .songLengthId = 21 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_POLIWHIRL] = { - { .songLengthId = 21 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_POLIWRATH] = { - { .songLengthId = 21 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ABRA] = { - { .songLengthId = 0 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KADABRA] = { - { .songLengthId = 44 }, - { .songLengthId = 0 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ALAKAZAM] = { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MACHOP] = { - { .songLengthId = 42 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MACHOKE] = { - { .songLengthId = 42 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MACHAMP] = { - { .songLengthId = 42 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BELLSPROUT] = { - { .songLengthId = 11 }, - { .songLengthId = 33 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WEEPINBELL] = { - { .songLengthId = 12 }, - { .songLengthId = 15 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VICTREEBEL] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TENTACOOL] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TENTACRUEL] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GEODUDE] = { - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GRAVELER] = { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GOLEM] = { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PONYTA] = { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RAPIDASH] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SLOWPOKE] = { - { .songLengthId = 24 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SLOWBRO] = { - { .songLengthId = 24 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAGNEMITE] = { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 18 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAGNETON] = { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FARFETCHD] = { - { .songLengthId = 6 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DODUO] = { - { .songLengthId = 26 }, - { .songLengthId = 39 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DODRIO] = { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SEEL] = { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DEWGONG] = { - { .songLengthId = 39 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GRIMER] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MUK] = { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHELLDER] = { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CLOYSTER] = { - { .songLengthId = 30 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GASTLY] = { - { .songLengthId = 0 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HAUNTER] = { - { .songLengthId = 21 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GENGAR] = { - { .songLengthId = 9 }, - { .songLengthId = 8 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ONIX] = { - { .songLengthId = 21 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DROWZEE] = { - { .songLengthId = 33 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HYPNO] = { - { .songLengthId = 17 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KRABBY] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KINGLER] = { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VOLTORB] = { - { .songLengthId = 26 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ELECTRODE] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_EXEGGCUTE] = { - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_EXEGGUTOR] = { - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 9 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CUBONE] = { - { .songLengthId = 45 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAROWAK] = { - { .songLengthId = 0 }, - { .songLengthId = 26 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HITMONLEE] = { - { .songLengthId = 17 }, - { .songLengthId = 21 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HITMONCHAN] = { - { .songLengthId = 17 }, - { .songLengthId = 21 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LICKITUNG] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KOFFING] = { - { .songLengthId = 21 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WEEZING] = { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RHYHORN] = { - { .songLengthId = 20 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RHYDON] = { - { .songLengthId = 18 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CHANSEY] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TANGELA] = { - { .songLengthId = 2 }, - { .songLengthId = 9 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KANGASKHAN] = { - { .songLengthId = 0 }, - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HORSEA] = { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SEADRA] = { - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GOLDEEN] = { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SEAKING] = { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_STARYU] = { - { .songLengthId = 27 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_STARMIE] = { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MR_MIME] = { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 18 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SCYTHER] = { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_JYNX] = { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ELECTABUZZ] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAGMAR] = { - { .songLengthId = 0 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PINSIR] = { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TAUROS] = { - { .songLengthId = 29 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAGIKARP] = { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GYARADOS] = { - { .songLengthId = 29 }, - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 29 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LAPRAS] = { - { .songLengthId = 44 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DITTO] = { - { .songLengthId = 17 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_EEVEE] = { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VAPOREON] = { - { .songLengthId = 3 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_JOLTEON] = { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FLAREON] = { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PORYGON] = { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 21 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_OMANYTE] = { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_OMASTAR] = { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KABUTO] = { - { .songLengthId = 42 }, - { .songLengthId = 39 }, - { .songLengthId = 26 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KABUTOPS] = { - { .songLengthId = 42 }, - { .songLengthId = 39 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_AERODACTYL] = { - { .songLengthId = 3 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SNORLAX] = { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ARTICUNO] = { - { .songLengthId = 6 }, - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ZAPDOS] = { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MOLTRES] = { - { .songLengthId = 26 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DRATINI] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DRAGONAIR] = { - { .songLengthId = 0 }, - { .songLengthId = 21 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DRAGONITE] = { - { .songLengthId = 0 }, - { .songLengthId = 21 }, - { .songLengthId = 18 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MEWTWO] = { - { .songLengthId = 45 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MEW] = { - { .songLengthId = 45 }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, @@ -1221,801 +1221,801 @@ const struct BardSound gBardSounds_Pokemon[NUM_SPECIES][6] = { NULL_BARD_SOUND, }, [SPECIES_CHIKORITA] = { - { .songLengthId = 17 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BAYLEEF] = { - { .songLengthId = 3 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MEGANIUM] = { - { .songLengthId = 3 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CYNDAQUIL] = { - { .songLengthId = 15 }, - { .songLengthId = 42 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_QUILAVA] = { - { .songLengthId = 17 }, - { .songLengthId = 6 }, - { .songLengthId = 8 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TYPHLOSION] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TOTODILE] = { - { .songLengthId = 24 }, - { .songLengthId = 24 }, - { .songLengthId = 18 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CROCONAW] = { - { .songLengthId = 27 }, - { .songLengthId = 24 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FERALIGATR] = { - { .songLengthId = 48 }, - { .songLengthId = 0 }, - { .songLengthId = 15 }, - { .songLengthId = 3 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, }, [SPECIES_SENTRET] = { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FURRET] = { - { .songLengthId = 48 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HOOTHOOT] = { - { .songLengthId = 39 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NOCTOWL] = { - { .songLengthId = 27 }, - { .songLengthId = 33 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LEDYBA] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LEDIAN] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SPINARAK] = { - { .songLengthId = 15 }, - { .songLengthId = 48 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ARIADOS] = { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CROBAT] = { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CHINCHOU] = { - { .songLengthId = 15 }, - { .songLengthId = 33 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LANTURN] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PICHU] = { - { .songLengthId = 12 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CLEFFA] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_IGGLYBUFF] = { - { .songLengthId = 17 }, - { .songLengthId = 42 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TOGEPI] = { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TOGETIC] = { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NATU] = { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_XATU] = { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAREEP] = { - { .songLengthId = 29 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FLAAFFY] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_AMPHAROS] = { - { .songLengthId = 0 }, - { .songLengthId = 6 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BELLOSSOM] = { - { .songLengthId = 9 }, - { .songLengthId = 27 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MARILL] = { - { .songLengthId = 8 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_AZUMARILL] = { - { .songLengthId = 8 }, - { .songLengthId = 39 }, - { .songLengthId = 44 }, - { .songLengthId = 16 }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SUDOWOODO] = { - { .songLengthId = 39 }, - { .songLengthId = 24 }, - { .songLengthId = 39 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_POLITOED] = { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HOPPIP] = { - { .songLengthId = 29 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SKIPLOOM] = { - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_JUMPLUFF] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_AIPOM] = { - { .songLengthId = 3 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SUNKERN] = { - { .songLengthId = 44 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SUNFLORA] = { - { .songLengthId = 44 }, - { .songLengthId = 24 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_YANMA] = { - { .songLengthId = 0 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WOOPER] = { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_QUAGSIRE] = { - { .songLengthId = 0 }, - { .songLengthId = 18 }, - { .songLengthId = 50 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ESPEON] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_UMBREON] = { - { .songLengthId = 42 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MURKROW] = { - { .songLengthId = 48 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SLOWKING] = { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MISDREAVUS] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_UNOWN] = { - { .songLengthId = 42 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WOBBUFFET] = { - { .songLengthId = 29 }, - { .songLengthId = 44 }, - { .songLengthId = 9 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GIRAFARIG] = { - { .songLengthId = 48 }, - { .songLengthId = 0 }, - { .songLengthId = 42 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PINECO] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FORRETRESS] = { - { .songLengthId = 26 }, - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DUNSPARCE] = { - { .songLengthId = 42 }, - { .songLengthId = 28 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GLIGAR] = { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_STEELIX] = { - { .songLengthId = 12 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SNUBBULL] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GRANBULL] = { - { .songLengthId = 2 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_QWILFISH] = { - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SCIZOR] = { - { .songLengthId = 17 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHUCKLE] = { - { .songLengthId = 42 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HERACROSS] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SNEASEL] = { - { .songLengthId = 12 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TEDDIURSA] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_URSARING] = { - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SLUGMA] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAGCARGO] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SWINUB] = { - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PILOSWINE] = { - { .songLengthId = 17 }, - { .songLengthId = 26 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CORSOLA] = { - { .songLengthId = 24 }, - { .songLengthId = 24 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_REMORAID] = { - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 3 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_OCTILLERY] = { - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DELIBIRD] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MANTINE] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SKARMORY] = { - { .songLengthId = 27 }, - { .songLengthId = 26 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HOUNDOUR] = { - { .songLengthId = 35 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HOUNDOOM] = { - { .songLengthId = 33 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KINGDRA] = { - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PHANPY] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DONPHAN] = { - { .songLengthId = 27 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PORYGON2] = { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_STANTLER] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SMEARGLE] = { - { .songLengthId = 48 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TYROGUE] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HITMONTOP] = { - { .songLengthId = 17 }, - { .songLengthId = 21 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SMOOCHUM] = { - { .songLengthId = 39 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ELEKID] = { - { .songLengthId = 11 }, - { .songLengthId = 11 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAGBY] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MILTANK] = { - { .songLengthId = 17 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BLISSEY] = { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RAIKOU] = { - { .songLengthId = 18 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ENTEI] = { - { .songLengthId = 9 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SUICUNE] = { - { .songLengthId = 12 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LARVITAR] = { - { .songLengthId = 21 }, - { .songLengthId = 17 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PUPITAR] = { - { .songLengthId = 39 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TYRANITAR] = { - { .songLengthId = 18 }, - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LUGIA] = { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HO_OH] = { - { .songLengthId = 24 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CELEBI] = { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, @@ -2221,1082 +2221,1082 @@ const struct BardSound gBardSounds_Pokemon[NUM_SPECIES][6] = { NULL_BARD_SOUND, }, [SPECIES_TREECKO] = { - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GROVYLE] = { - { .songLengthId = 24 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SCEPTILE] = { - { .songLengthId = 9 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TORCHIC] = { - { .songLengthId = 24 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_COMBUSKEN] = { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BLAZIKEN] = { - { .songLengthId = 3 }, - { .songLengthId = 17 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MUDKIP] = { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MARSHTOMP] = { - { .songLengthId = 27 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SWAMPERT] = { - { .songLengthId = 27 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_POOCHYENA] = { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MIGHTYENA] = { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 44 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ZIGZAGOON] = { - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 39 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LINOONE] = { - { .songLengthId = 20 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WURMPLE] = { - { .songLengthId = 48 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SILCOON] = { - { .songLengthId = 17 }, - { .songLengthId = 40 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BEAUTIFLY] = { - { .songLengthId = 45 }, - { .songLengthId = 9 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CASCOON] = { - { .songLengthId = 0 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DUSTOX] = { - { .songLengthId = 44 }, - { .songLengthId = 23 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LOTAD] = { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LOMBRE] = { - { .songLengthId = 24 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LUDICOLO] = { - { .songLengthId = 39 }, - { .songLengthId = 9 }, - { .songLengthId = 26 }, - { .songLengthId = 26 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SEEDOT] = { - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NUZLEAF] = { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHIFTRY] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NINCADA] = { - { .songLengthId = 15 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NINJASK] = { - { .songLengthId = 15 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHEDINJA] = { - { .songLengthId = 9 }, - { .songLengthId = 15 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TAILLOW] = { - { .songLengthId = 3 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SWELLOW] = { - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHROOMISH] = { - { .songLengthId = 39 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BRELOOM] = { - { .songLengthId = 9 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SPINDA] = { - { .songLengthId = 15 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WINGULL] = { - { .songLengthId = 15 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PELIPPER] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SURSKIT] = { - { .songLengthId = 48 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MASQUERAIN] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WAILMER] = { - { .songLengthId = 5 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WAILORD] = { - { .songLengthId = 3 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SKITTY] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DELCATTY] = { - { .songLengthId = 9 }, - { .songLengthId = 0 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KECLEON] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BALTOY] = { - { .songLengthId = 1 }, - { .songLengthId = 30 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CLAYDOL] = { - { .songLengthId = 3 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NOSEPASS] = { - { .songLengthId = 24 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TORKOAL] = { - { .songLengthId = 24 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SABLEYE] = { - { .songLengthId = 3 }, - { .songLengthId = 11 }, - { .songLengthId = 18 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BARBOACH] = { - { .songLengthId = 27 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WHISCASH] = { - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LUVDISC] = { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CORPHISH] = { - { .songLengthId = 24 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CRAWDAUNT] = { - { .songLengthId = 27 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FEEBAS] = { - { .songLengthId = 14 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MILOTIC] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CARVANHA] = { - { .songLengthId = 27 }, - { .songLengthId = 1 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHARPEDO] = { - { .songLengthId = 29 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TRAPINCH] = { - { .songLengthId = 0 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VIBRAVA] = { - { .songLengthId = 17 }, - { .songLengthId = 27 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_FLYGON] = { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAKUHITA] = { - { .songLengthId = 27 }, - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HARIYAMA] = { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ELECTRIKE] = { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MANECTRIC] = { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_NUMEL] = { - { .songLengthId = 44 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CAMERUPT] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SPHEAL] = { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SEALEO] = { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WALREIN] = { - { .songLengthId = 27 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CACNEA] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CACTURNE] = { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SNORUNT] = { - { .songLengthId = 24 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GLALIE] = { - { .songLengthId = 5 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LUNATONE] = { - { .songLengthId = 39 }, - { .songLengthId = 44 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SOLROCK] = { - { .songLengthId = 24 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_AZURILL] = { - { .songLengthId = 6 }, - { .songLengthId = 39 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SPOINK] = { - { .songLengthId = 30 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GRUMPIG] = { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_PLUSLE] = { - { .songLengthId = 42 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MINUN] = { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MAWILE] = { - { .songLengthId = 27 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MEDITITE] = { - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_MEDICHAM] = { - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 0 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SWABLU] = { - { .songLengthId = 27 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ALTARIA] = { - { .songLengthId = 6 }, - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WYNAUT] = { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DUSKULL] = { - { .songLengthId = 42 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DUSCLOPS] = { - { .songLengthId = 42 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ROSELIA] = { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SLAKOTH] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VIGOROTH] = { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SLAKING] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GULPIN] = { - { .songLengthId = 36 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SWALOT] = { - { .songLengthId = 27 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_TROPIUS] = { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_WHISMUR] = { - { .songLengthId = 17 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LOUDRED] = { - { .songLengthId = 33 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_EXPLOUD] = { - { .songLengthId = 9 }, - { .songLengthId = 33 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CLAMPERL] = { - { .songLengthId = 0 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_HUNTAIL] = { - { .songLengthId = 42 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GOREBYSS] = { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ABSOL] = { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHUPPET] = { - { .songLengthId = 42 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BANETTE] = { - { .songLengthId = 3 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SEVIPER] = { - { .songLengthId = 9 }, - { .songLengthId = 18 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ZANGOOSE] = { - { .songLengthId = 3 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RELICANTH] = { - { .songLengthId = 9 }, - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ARON] = { - { .songLengthId = 27 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LAIRON] = { - { .songLengthId = 5 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_AGGRON] = { - { .songLengthId = 0 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CASTFORM] = { - { .songLengthId = 0 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_VOLBEAT] = { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ILLUMISE] = { - { .songLengthId = 12 }, - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 3 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LILEEP] = { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CRADILY] = { - { .songLengthId = 3 }, - { .songLengthId = 17 }, - { .songLengthId = 12 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ANORITH] = { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 17 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_ARMALDO] = { - { .songLengthId = 27 }, - { .songLengthId = 27 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RALTS] = { - { .songLengthId = 7 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KIRLIA] = { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GARDEVOIR] = { - { .songLengthId = 27 }, - { .songLengthId = 9 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BAGON] = { - { .songLengthId = 5 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SHELGON] = { - { .songLengthId = 9 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_SALAMENCE] = { - { .songLengthId = 0 }, - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_BELDUM] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_METANG] = { - { .songLengthId = 9 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_METAGROSS] = { - { .songLengthId = 9 }, - { .songLengthId = 42 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_REGIROCK] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_REGICE] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_REGISTEEL] = { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_KYOGRE] = { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 48 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_GROUDON] = { - { .songLengthId = 33 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_RAYQUAZA] = { - { .songLengthId = 3 }, - { .songLengthId = 3 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LATIAS] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_LATIOS] = { - { .songLengthId = 0 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_JIRACHI] = { - { .songLengthId = 48 }, - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_DEOXYS] = { - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, [SPECIES_CHIMECHO] = { - { .songLengthId = 18 }, - { .songLengthId = 9 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, } diff --git a/src/data/bard_music/speech.h b/src/data/bard_music/speech.h index dc7844ec89..d6f409be8b 100644 --- a/src/data/bard_music/speech.h +++ b/src/data/bard_music/speech.h @@ -1,482 +1,482 @@ #ifndef GUARD_DATA_BARD_MUSIC_SPEECH_H #define GUARD_DATA_BARD_MUSIC_SPEECH_H -const struct BardSound gBardSounds_Speech[][6] = { - { - { .songLengthId = 9 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Speech[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_LISTEN)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 9 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_NOT_VERY)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MEAN)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LAY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 10 }, + [EC_INDEX(EC_WORD_RECOMMEND)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NITWIT)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_QUITE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FROM)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FEELING)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BUT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 9 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_HOWEVER)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CASE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THE)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_MISS)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HOW)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ENOUGH)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 23 }, + [EC_INDEX(EC_WORD_A_LOT)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 17 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_A_LITTLE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 45 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ABSOLUTELY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, + [EC_INDEX(EC_WORD_AND)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ONLY)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, + [EC_INDEX(EC_WORD_AROUND)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PROBABLY)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_IF)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_VERY)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 20 }, - { .songLengthId = 12 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_A_TINY_BIT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WILD)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 11 }, + [EC_INDEX(EC_WORD_THAT_S)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_JUST)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 11 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EVEN_SO)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MUST_BE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 48 }, - { .songLengthId = 6 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NATURALLY)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 35 }, + [EC_INDEX(EC_WORD_FOR_NOW)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 50 }, - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_UNDERSTOOD)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_JOKING)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_READY)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_SOMETHING)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 35 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOMEHOW)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALTHOUGH)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALSO)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PERFECT)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 44 }, - { .songLengthId = 1 }, + [EC_INDEX(EC_WORD_AS_MUCH_AS)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 10 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_REALLY)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRULY)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 14 }, - { .songLengthId = 38 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SERIOUSLY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 7 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOTALLY)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 16 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UNTIL)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AS_IF)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 40 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MOOD)] = { + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RATHER)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 38 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AWFULLY)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_MODE)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MORE)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOO_LATE)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 6 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FINALLY)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 8 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ANY)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_INSTEAD)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FANTASTIC)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/status.h b/src/data/bard_music/status.h index 9a3fd01393..d4acac9739 100644 --- a/src/data/bard_music/status.h +++ b/src/data/bard_music/status.h @@ -1,874 +1,874 @@ #ifndef GUARD_DATA_BARD_MUSIC_STATUS_H #define GUARD_DATA_BARD_MUSIC_STATUS_H -const struct BardSound gBardSounds_Status[][6] = { - { - { .songLengthId = 8 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Status[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_DARK)] = { + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STENCH)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THICK_FAT)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RAIN_DISH)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DRIZZLE)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 12 }, - { .songLengthId = 6 }, - { .songLengthId = 0 }, + [EC_INDEX(EC_WORD_ARENA_TRAP)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 17 }, - { .songLengthId = 44 }, - { .songLengthId = 3 }, + [EC_INDEX(EC_WORD_INTIMIDATE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ROCK_HEAD)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COLOR)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 50 }, - { .songLengthId = 1 }, - { .songLengthId = 44 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_ALT_COLOR)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ROCK)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 36 }, + [EC_INDEX(EC_WORD_BEAUTIFUL)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEAUTY)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 21 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AIR_LOCK)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PSYCHIC)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_HYPER_CUTTER)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FIGHTING)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 24 }, - { .songLengthId = 0 }, + [EC_INDEX(EC_WORD_SHADOW_TAG)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMART)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 50 }, - { .songLengthId = 9 }, + [EC_INDEX(EC_WORD_SMARTNESS)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SPEED_BOOST)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COOL)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 41 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COOLNESS)] = { + { .songId = PHONEME_ID(PH_GOOSE_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 6 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_BATTLE_ARMOR)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CUTE)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CUTENESS)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STURDY)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 15 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SUCTION_CUPS)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GRASS)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 23 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_CLEAR_BODY)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TORRENT)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GHOST)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ICE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GUTS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ROUGH_SKIN)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 6 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHELL_ARMOR)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 50 }, - { .songLengthId = 8 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NATURAL_CURE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DAMP)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GROUND)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LIMBER)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MAGNET_PULL)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHITE_SMOKE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 24 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SYNCHRONIZE)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 48 }, - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_OVERGROW)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SWIFT_SWIM)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SAND_STREAM)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SAND_VEIL)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KEEN_EYE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 48 }, - { .songLengthId = 24 }, - { .songLengthId = 42 }, + [EC_INDEX(EC_WORD_INNER_FOCUS)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STATIC)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TYPE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOUGH)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TOUGHNESS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHED_SKIN)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_HUGE_POWER)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 36 }, - { .songLengthId = 44 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_VOLT_ABSORB)] = { + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 48 }, - { .songLengthId = 44 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_WATER_ABSORB)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 9 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_ELECTRIC)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 2 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FORECAST)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 14 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SERENE_GRACE)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 32 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_POISON)] = { + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 32 }, - { .songLengthId = 27 }, - { .songLengthId = 30 }, + [EC_INDEX(EC_WORD_POISON_POINT)] = { + { .songId = PHONEME_ID(PH_CHOICE_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DRAGON)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRACE)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OBLIVIOUS)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 0 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRUANT)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 8 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_RUN_AWAY)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_STICKY_HOLD)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CLOUD_NINE)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NORMAL)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STEEL)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 15 }, - { .songLengthId = 3 }, + [EC_INDEX(EC_WORD_ILLUMINATE)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_EARLY_BIRD)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 38 }, + [EC_INDEX(EC_WORD_HUSTLE)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHINE)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FLYING)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DROUGHT)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 17 }, - { .songLengthId = 21 }, + [EC_INDEX(EC_WORD_LIGHTNINGROD)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 33 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COMPOUNDEYES)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 36 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_MARVEL_SCALE)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 48 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_WONDER_GUARD)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 21 }, - { .songLengthId = 12 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_INSOMNIA)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 12 }, - { .songLengthId = 3 }, + [EC_INDEX(EC_WORD_LEVITATE)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PLUS)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PRESSURE)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 9 }, - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_LIQUID_OOZE)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 48 }, - { .songLengthId = 3 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COLOR_CHANGE)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 39 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOUNDPROOF)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 9 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EFFECT_SPORE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 42 }, + [EC_INDEX(EC_WORD_PKRS)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FIRE)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 21 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_FLAME_BODY)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MINUS)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_OWN_TEMPO)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 1 }, - { .songLengthId = 44 }, - { .songLengthId = 27 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_MAGMA_ARMOR)] = { + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WATER)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 48 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WATER_VEIL)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BUG)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 7 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SWARM)] = { + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 7 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CUTE_CHARM)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 39 }, - { .songLengthId = 17 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_IMMUNITY)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BLAZE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PICKUP)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PATTERN)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 20 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_FLASH_FIRE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 27 }, - { .songLengthId = 48 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_VITAL_SPIRIT)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CHLOROPHYLL)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 45 }, - { .songLengthId = 33 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_PURE_POWER)] = { + { .songId = PHONEME_ID(PH_CURE_BLEND) }, + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 43 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHIELD_DUST)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/time.h b/src/data/bard_music/time.h index 1f7dac8a60..a2952517ef 100644 --- a/src/data/bard_music/time.h +++ b/src/data/bard_music/time.h @@ -1,362 +1,362 @@ #ifndef GUARD_DATA_BARD_MUSIC_TIME_H #define GUARD_DATA_BARD_MUSIC_TIME_H -const struct BardSound gBardSounds_Time[][6] = { - { - { .songLengthId = 27 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Time[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_FALL)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MORNING)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 28 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_TOMORROW)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 2 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LAST)] = { + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DAY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOMETIME)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALWAYS)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CURRENT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 9 }, - { .songLengthId = 44 }, + [EC_INDEX(EC_WORD_FOREVER)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DAYS)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_END)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TUESDAY)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 50 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_YESTERDAY)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TODAY)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FRIDAY)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MONDAY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LATER)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 12 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_EARLIER)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 44 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_ANOTHER)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TIME)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 17 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FINISH)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WEDNESDAY)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 40 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SOON)] = { + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_START)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MONTH)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_STOP)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 33 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NOW)] = { + { .songId = PHONEME_ID(PH_MOUTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FINAL)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEXT)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AGE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 48 }, - { .songLengthId = 5 }, + [EC_INDEX(EC_WORD_SATURDAY)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SUMMER)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SUNDAY)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 15 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BEGINNING)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SPRING)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DAYTIME)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 50 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WINTER)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DAILY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 10 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OLDEN)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ALMOST)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEARLY)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 48 }, - { .songLengthId = 5 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_THURSDAY)] = { + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 18 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NIGHTTIME)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 20 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NIGHT)] = { + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 14 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WEEK)] = { + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/trainer.h b/src/data/bard_music/trainer.h index 05fc6a6ef4..d49397eabf 100644 --- a/src/data/bard_music/trainer.h +++ b/src/data/bard_music/trainer.h @@ -1,218 +1,218 @@ #ifndef GUARD_DATA_BARD_MUSIC_TRAINER_H #define GUARD_DATA_BARD_MUSIC_TRAINER_H -const struct BardSound gBardSounds_Trainer[][6] = { - { - { .songLengthId = 18 }, - { .songLengthId = 39 }, - { .songLengthId = 45 }, +static const struct BardSoundTemplate sBardSoundTemplates_Trainer[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_I_CHOOSE_YOU)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_CURE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 21 }, - { .songLengthId = 42 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GOTCHA)] = { + { .songId = PHONEME_ID(PH_LOT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRADE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 18 }, - { .songLengthId = 50 }, + [EC_INDEX(EC_WORD_SAPPHIRE)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 27 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EVOLVE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 18 }, - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_ENCYCLOPEDIA)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, }, - { - { .songLengthId = 3 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_NATURE)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CENTER)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EGG)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LINK)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 8 }, - { .songLengthId = 6 }, - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_SP_ABILITY)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_SOLO) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, }, - { - { .songLengthId = 3 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TRAINER)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 50 }, - { .songLengthId = 15 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_VERSION)] = { + { .songId = PHONEME_ID(PH_NURSE_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 0 }, + [EC_INDEX(EC_WORD_POKENAV)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 27 }, + [EC_INDEX(EC_WORD_POKEMON)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GET)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 12 }, - { .songLengthId = 9 }, + [EC_INDEX(EC_WORD_POKEDEX)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_RUBY)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LEVEL)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, + [EC_INDEX(EC_WORD_RED)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GREEN)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, + [EC_INDEX(EC_WORD_BAG)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FLAME)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_GOLD)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_LEAF)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_SILVER)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 48 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_EMERALD)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/trendysaying.h b/src/data/bard_music/trendysaying.h index ccd9083ead..575f105cbc 100644 --- a/src/data/bard_music/trendysaying.h +++ b/src/data/bard_music/trendysaying.h @@ -1,266 +1,266 @@ #ifndef GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H #define GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H -const struct BardSound gBardSounds_TrendySaying[][6] = { - { - { .songLengthId = 5 }, - { .songLengthId = 2 }, - { .songLengthId = 20 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_TrendySaying[NUM_TRENDY_SAYINGS][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_KTHX_BYE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YES_SIR_EXCL)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27 }, - { .songLengthId = 27 }, - { .songLengthId = 23 }, + [EC_INDEX(EC_WORD_AVANT_GARDE)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_THOUGHT_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 38 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_COUPLE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 44 }, - { .songLengthId = 18 }, + [EC_INDEX(EC_WORD_MUCH_OBLIGED)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 29 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YEEHAW_EXCL)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MEGA)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 17 }, - { .songLengthId = 3 }, - { .songLengthId = 26 }, + [EC_INDEX(EC_WORD_1_HIT_KO_EXCL)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 11 }, - { .songLengthId = 17 }, - { .songLengthId = 14 }, + [EC_INDEX(EC_WORD_DESTINY)] = { + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CANCEL)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NEW)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 9 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FLATTEN)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KIDDING)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOSER)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_LOSING)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 0 }, - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HAPPENING)] = { + { .songId = PHONEME_ID(PH_TRAP_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIP_AND)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHAKE)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHADY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UPBEAT)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MODERN)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SMELL_YA)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 3 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BANG)] = { + { .songId = PHONEME_ID(PH_FACE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 35 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_KNOCKOUT)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 36 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HASSLE)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WINNER)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_FEVER)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 29 }, - { .songLengthId = 44 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_WANNABE)] = { + { .songId = PHONEME_ID(PH_THOUGHT_SOLO) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_BABY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEART)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OLD)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 43 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YOUNG)] = { + { .songId = PHONEME_ID(PH_STRUT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UGLY)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, diff --git a/src/data/bard_music/voices.h b/src/data/bard_music/voices.h index 97f249ecb5..ca7012198f 100644 --- a/src/data/bard_music/voices.h +++ b/src/data/bard_music/voices.h @@ -1,507 +1,507 @@ #ifndef GUARD_DATA_BARD_MUSIC_VOICES_H #define GUARD_DATA_BARD_MUSIC_VOICES_H -const struct BardSound gBardSounds_Voices[][6] = { - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, +static const struct BardSoundTemplate sBardSoundTemplates_Voices[][MAX_BARD_SOUNDS_PER_WORD] = { + [EC_INDEX(EC_WORD_EXCL)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EXCL_EXCL)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_QUES_EXCL)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_QUES)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ELLIPSIS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ELLIPSIS_EXCL)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 48 }, - { .songLengthId = 51 }, - { .songLengthId = 12 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, + PREV_BARD_SOUND, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DASH)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_DASH_DASH_DASH)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 26 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UH_OH)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 27, .songLengthOffset = 0x5, .unused = 0x8 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WAAAH)] = { + { .songId = PHONEME_ID(PH_THOUGHT_BLEND), .lengthAdjustment = +5, .unused = 8 }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AHAHA)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OH_QUES)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_NOPE)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_URGH)] = { + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 40 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HMM)] = { + { .songId = PHONEME_ID(PH_GOOSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 25 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WHOAH)] = { + { .songId = PHONEME_ID(PH_GOAT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 49 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WROOOAAR_EXCL)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + { .songId = PHONEME_ID(PH_NURSE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 35 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WOW)] = { + { .songId = PHONEME_ID(PH_MOUTH_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 17 }, - { .songLengthId = 17 }, - { .songLengthId = 17 }, + [EC_INDEX(EC_WORD_GIGGLE)] = { + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, + { .songId = PHONEME_ID(PH_KIT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 10 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SIGH)] = { + { .songId = PHONEME_ID(PH_DRESS_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 14 }, - { .songLengthId = 12 }, - { .songLengthId = 2 }, - { .songLengthId = 36 }, + [EC_INDEX(EC_WORD_UNBELIEVABLE)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_SOLO) }, + { .songId = PHONEME_ID(PH_FOOT_BLEND) }, NULL_BARD_SOUND, }, - { - { .songLengthId = 19 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CRIES)] = { + { .songId = PHONEME_ID(PH_PRICE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 14 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AGREE)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EH_QUES)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 18 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_CRY)] = { + { .songId = PHONEME_ID(PH_PRICE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_EHEHE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 30 }, - { .songLengthId = 30 }, - { .songLengthId = 30 }, + [EC_INDEX(EC_WORD_OI_OI_OI)] = { + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, + { .songId = PHONEME_ID(PH_CHOICE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 1 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OH_YEAH)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_TRAP_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OH)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OOPS)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 23 }, - { .songLengthId = 11 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SHOCKED)] = { + { .songId = PHONEME_ID(PH_LOT_SOLO) }, + { .songId = PHONEME_ID(PH_DRESS_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 13 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_EEK)] = { + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GRAAAH)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 23 }, + [EC_INDEX(EC_WORD_GWAHAHAHA)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_LOT_SOLO) }, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 5 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WAY)] = { + { .songId = PHONEME_ID(PH_FACE_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_TCH)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEHE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HAH)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 44 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YUP)] = { + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_HAHAHA)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 19 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AIYEEH)] = { + { .songId = PHONEME_ID(PH_PRICE_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 7 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HIYAH)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 39 }, - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_FUFUFU)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 26 }, - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_LOL)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 26 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_SNORT)] = { + { .songId = PHONEME_ID(PH_GOAT_SOLO) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HUMPH)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 12 }, - { .songLengthId = 12 }, - { .songLengthId = 12 }, + [EC_INDEX(EC_WORD_HEHEHE)] = { + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 9 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_HEH)] = { + { .songId = PHONEME_ID(PH_DRESS_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 24 }, - { .songLengthId = 24 }, + [EC_INDEX(EC_WORD_HOHOHO)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 42 }, - { .songLengthId = 44 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_UH_HUH)] = { + { .songId = PHONEME_ID(PH_STRUT_BLEND) }, + { .songId = PHONEME_ID(PH_STRUT_SOLO) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 14 }, - { .songLengthId = 48 }, + [EC_INDEX(EC_WORD_OH_DEAR)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FLEECE_SOLO) }, + { .songId = PHONEME_ID(PH_NURSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 28 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_ARRGH)] = { + { .songId = PHONEME_ID(PH_THOUGHT_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 39 }, - { .songLengthId = 39 }, - { .songLengthId = 39 }, + [EC_INDEX(EC_WORD_MUFUFU)] = { + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, + { .songId = PHONEME_ID(PH_GOOSE_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 15 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_MMM)] = { + { .songId = PHONEME_ID(PH_KIT_BLEND) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OH_KAY)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 24 }, - { .songLengthId = 4 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_OKAY)] = { + { .songId = PHONEME_ID(PH_GOAT_BLEND) }, + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_LALALA)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 4 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_YAY)] = { + { .songId = PHONEME_ID(PH_FACE_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 7 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_AWW)] = { + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 34 }, - { .songLengthId = 13 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_WOWEE)] = { + { .songId = PHONEME_ID(PH_MOUTH_HELD) }, + { .songId = PHONEME_ID(PH_FLEECE_HELD) }, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 7 }, - { .songLengthId = 51 }, - { .songLengthId = 51 }, + [EC_INDEX(EC_WORD_GWAH)] = { + { .songId = PHONEME_ID(PH_CLOTH_HELD) }, + PREV_BARD_SOUND, + PREV_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, }, - { - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, - { .songLengthId = 6 }, + [EC_INDEX(EC_WORD_WAHAHAHA)] = { + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, + { .songId = PHONEME_ID(PH_CLOTH_BLEND) }, NULL_BARD_SOUND, NULL_BARD_SOUND, } diff --git a/src/data/bard_music/word_pitch.h b/src/data/bard_music/word_pitch.h deleted file mode 100644 index 7b4205da5f..0000000000 --- a/src/data/bard_music/word_pitch.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef GUARD_WORD_PITCH_H -#define GUARD_WORD_PITCH_H - -#define PITCH_END 0x1800 - -static const s16 sPitch1_0[] = { -0x300, PITCH_END }; -static const s16 sPitch1_1[] = { 0x0900, PITCH_END }; -static const s16 sPitch1_2[] = { 0x0100, PITCH_END }; -static const s16 sPitch1_3[] = { 0x0400, PITCH_END }; -static const s16 sPitch1_4[] = { 0x0b00, PITCH_END }; -static const s16 sPitch2_0[] = { -0x300, -0x100, PITCH_END }; -static const s16 sPitch2_1[] = { -0x300, 0x0200, PITCH_END }; -static const s16 sPitch2_2[] = { 0x0200, 0x0400, PITCH_END }; -static const s16 sPitch2_3[] = { 0x0600, 0x0800, PITCH_END }; -static const s16 sPitch2_4[] = { 0x0900, 0x0800, PITCH_END }; -static const s16 sPitch3_0[] = { -0x300, -0x100, -0x300, PITCH_END }; -static const s16 sPitch3_1[] = { 0x0400, -0x300, 0x0400, PITCH_END }; -static const s16 sPitch3_2[] = { 0x0900, 0x0800, 0x0600, PITCH_END }; -static const s16 sPitch3_3[] = { 0x0100, 0x0200, 0x0400, PITCH_END }; -static const s16 sPitch3_4[] = { 0x0600, 0x1000, 0x0d00, PITCH_END }; -static const s16 sPitch4_0[] = { 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END }; -static const s16 sPitch4_1[] = { 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END }; -static const s16 sPitch4_2[] = { 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; -static const s16 sPitch4_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; -static const s16 sPitch4_4[] = { 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END }; -static const s16 sPitch5_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END }; -static const s16 sPitch5_1[] = { 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; -static const s16 sPitch5_2[] = { 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END }; -static const s16 sPitch5_3[] = { 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END }; -static const s16 sPitch5_4[] = { 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END }; -static const s16 sPitch6_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; -static const s16 sPitch6_1[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END }; -static const s16 sPitch6_2[] = { 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END }; -static const s16 sPitch6_3[] = { 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END }; -static const s16 sPitch6_4[] = { 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END }; -static const s16 sPitch7_0[] = { 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END }; -static const s16 sPitch7_1[] = { 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END }; -static const s16 sPitch7_2[] = { 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END }; -static const s16 sPitch7_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END }; -static const s16 sPitch7_4[] = { 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END }; - -// Only sPitch7_# are used below -// This table is always indexed with (x + 30), where x is some value 0 - 4 -static const s16 *const sBardSoundPitchTables[] = { - sPitch1_0, sPitch1_1, sPitch1_2, sPitch1_3, sPitch1_4, - sPitch2_0, sPitch2_1, sPitch2_2, sPitch2_3, sPitch2_4, - sPitch3_0, sPitch3_1, sPitch3_2, sPitch3_3, sPitch3_4, - sPitch4_0, sPitch4_1, sPitch4_2, sPitch4_3, sPitch4_4, - sPitch5_0, sPitch5_1, sPitch5_2, sPitch5_3, sPitch5_4, - sPitch6_0, sPitch6_1, sPitch6_2, sPitch6_3, sPitch6_4, - sPitch7_0, sPitch7_1, sPitch7_2, sPitch7_3, sPitch7_4 -}; - - -#endif //GUARD_WORD_PITCH_H diff --git a/src/data/battle_frontier/apprentice.h b/src/data/battle_frontier/apprentice.h index c190ea09b5..bae966cffd 100644 --- a/src/data/battle_frontier/apprentice.h +++ b/src/data/battle_frontier/apprentice.h @@ -298,7 +298,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = { { .name = {_("サダヒロ"), _("ALANN"), _("ALAIN"), _("ADELFO"), _("CLAUS"), _("TEO")}, - .otId = 0xBDC9, + .otId = 48585, .facilityClass = FACILITY_CLASS_BUG_CATCHER, .species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT}, .id = 0, @@ -306,7 +306,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")}, - .otId = 0xCF09, + .otId = 53001, .facilityClass = FACILITY_CLASS_YOUNGSTER, .species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH}, .id = 1, @@ -314,7 +314,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")}, - .otId = 0x2E34, + .otId = 11828, .facilityClass = FACILITY_CLASS_SCHOOL_KID_M, .species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP}, .id = 2, @@ -322,7 +322,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")}, - .otId = 0x84EF, + .otId = 34031, .facilityClass = FACILITY_CLASS_LASS, .species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA}, .id = 3, @@ -330,7 +330,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")}, - .otId = 0x1E43, + .otId = 7747, .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY}, .id = 4, @@ -338,7 +338,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")}, - .otId = 0x379F, + .otId = 14239, .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M, .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA}, .id = 5, @@ -346,7 +346,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")}, - .otId = 0xF555, + .otId = 62805, .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F, .species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO}, .id = 6, @@ -354,7 +354,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")}, - .otId = 0x8D26, + .otId = 36134, .facilityClass = FACILITY_CLASS_BEAUTY, .species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC}, .id = 7, @@ -362,7 +362,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")}, - .otId = 0x800C, + .otId = 32780, .facilityClass = FACILITY_CLASS_AROMA_LADY, .species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY}, .id = 8, @@ -370,7 +370,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")}, - .otId = 0x469f, + .otId = 18079, .facilityClass = FACILITY_CLASS_HIKER, .species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON}, .id = 9, @@ -378,7 +378,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")}, - .otId = 0x71FC, + .otId = 29180, .facilityClass = FACILITY_CLASS_FISHERMAN, .species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA}, .id = 10, @@ -386,7 +386,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")}, - .otId = 0xA39E, + .otId = 41886, .facilityClass = FACILITY_CLASS_SAILOR, .species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE}, .id = 11, @@ -394,7 +394,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")}, - .otId = 0xE590, + .otId = 58768, .facilityClass = FACILITY_CLASS_GUITARIST, .species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING}, .id = 12, @@ -402,7 +402,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")}, - .otId = 0xD018, + .otId = 53272, .facilityClass = FACILITY_CLASS_BLACK_BELT, .species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING}, .id = 13, @@ -410,7 +410,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")}, - .otId = 0xBC75, + .otId = 48245, .facilityClass = FACILITY_CLASS_RUIN_MANIAC, .species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM}, .id = 14, @@ -418,7 +418,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] = }, { .name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")}, - .otId = 0xFA02, + .otId = 64002, .facilityClass = FACILITY_CLASS_GENTLEMAN, .species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS}, .id = 15, @@ -948,7 +948,7 @@ static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] = QUESTION_ID_WIN_SPEECH }; -static void (* const sApprenticeFunctions[])(void) = +static void (*const sApprenticeFunctions[])(void) = { [APPRENTICE_FUNC_GAVE_LVLMODE] = Script_GivenApprenticeLvlMode, [APPRENTICE_FUNC_SET_LVLMODE] = Script_SetApprenticeLvlMode, diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h index 625a602658..f0a203d56d 100644 --- a/src/data/battle_frontier/battle_frontier_trainer_mons.h +++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h @@ -4172,7 +4172,7 @@ FRONTIER_MON_##lastmon##_10,\ -1 -// The strong Psychic M/F trainers all use the below pokemon +// The strong Psychic M/F trainers all use the below Pokémon // Additionally they use 1 of 3 legendary trios, and Latios or Latias depending on gender #define FRONTIER_MONS_PSYCHIC_2(lati, legend1, legend2, legend3) \ FRONTIER_MON_WOBBUFFET_1, \ diff --git a/src/data/decoration/tilemaps.h b/src/data/decoration/tilemaps.h index eebb3acb25..d6c351ae85 100644 --- a/src/data/decoration/tilemaps.h +++ b/src/data/decoration/tilemaps.h @@ -171,7 +171,7 @@ static const u8 sDecorTilemap_3x2_X[] = { 0x06, 0x07, 0x06, 0x07, 0x06, 0x07 }; -#define DECORSIZE(width, height)((width) * (height) * 4) +#define DECORSIZE(width, height) ((width) * (height) * 4) static const struct { const u8 *tiles; diff --git a/src/data/easy_chat/easy_chat_group_actions.h b/src/data/easy_chat/easy_chat_group_actions.h index 6ad297efcf..38f623ea56 100755 --- a/src/data/easy_chat/easy_chat_group_actions.h +++ b/src/data/easy_chat/easy_chat_group_actions.h @@ -81,469 +81,469 @@ const struct EasyChatWordInfo gEasyChatGroup_Actions[] = { [EC_INDEX(EC_WORD_MEETS)] = { .text = gEasyChatWord_Meets, - .alphabeticalOrder = 72, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALLOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CONCEDE)] = { .text = gEasyChatWord_Concede, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANGERS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIVE)] = { .text = gEasyChatWord_Give, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_APPEAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIVES)] = { .text = gEasyChatWord_Gives, - .alphabeticalOrder = 75, + .alphabeticalOrder = EC_INDEX(EC_WORD_APPEARS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLAYED)] = { .text = gEasyChatWord_Played, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_BELIEVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLAYS)] = { .text = gEasyChatWord_Plays, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_BRAG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COLLECT)] = { .text = gEasyChatWord_Collect, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WALKING)] = { .text = gEasyChatWord_Walking, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAPABLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WALKS)] = { .text = gEasyChatWord_Walks, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAUSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SAYS)] = { .text = gEasyChatWord_Says, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHANGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WENT)] = { .text = gEasyChatWord_Went, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHOOSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SAID)] = { .text = gEasyChatWord_Said, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_COLLECT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAKE_UP)] = { .text = gEasyChatWord_WakeUp, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_COME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAKES_UP)] = { .text = gEasyChatWord_WakesUp, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_CONCEDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANGERS)] = { .text = gEasyChatWord_Angers, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_COULDN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TEACH)] = { .text = gEasyChatWord_Teach, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPEAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TEACHES)] = { .text = gEasyChatWord_Teaches, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_DRINKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLEASE)] = { .text = gEasyChatWord_Please, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_EATS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEARN)] = { .text = gEasyChatWord_Learn, - .alphabeticalOrder = 76, + .alphabeticalOrder = EC_INDEX(EC_WORD_FAINT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHANGE)] = { .text = gEasyChatWord_Change, - .alphabeticalOrder = 77, + .alphabeticalOrder = EC_INDEX(EC_WORD_FAINTED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STORY)] = { .text = gEasyChatWord_Story, - .alphabeticalOrder = 73, + .alphabeticalOrder = EC_INDEX(EC_WORD_FORGET), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRUST)] = { .text = gEasyChatWord_Trust, - .alphabeticalOrder = 74, + .alphabeticalOrder = EC_INDEX(EC_WORD_FORGETS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LAVISH)] = { .text = gEasyChatWord_Lavish, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LISTENS)] = { .text = gEasyChatWord_Listens, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIVES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEARING)] = { .text = gEasyChatWord_Hearing, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEARING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRAINS)] = { .text = gEasyChatWord_Trains, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_IGNORANT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHOOSE)] = { .text = gEasyChatWord_Choose, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_KNOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COME)] = { .text = gEasyChatWord_Come, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_KNOWS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAME)] = { .text = gEasyChatWord_Came, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_LAVISH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SEARCH)] = { .text = gEasyChatWord_Search, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEARN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAKE)] = { .text = gEasyChatWord_Make, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_LISTENS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAUSE)] = { .text = gEasyChatWord_Cause, - .alphabeticalOrder = 67, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOOKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KNOW)] = { .text = gEasyChatWord_Know, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KNOWS)] = { .text = gEasyChatWord_Knows, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_MEETS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_REFUSE)] = { .text = gEasyChatWord_Refuse, - .alphabeticalOrder = 65, + .alphabeticalOrder = EC_INDEX(EC_WORD_OVERDO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STORES)] = { .text = gEasyChatWord_Stores, - .alphabeticalOrder = 70, + .alphabeticalOrder = EC_INDEX(EC_WORD_OWN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BRAG)] = { .text = gEasyChatWord_Brag, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLAYED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IGNORANT)] = { .text = gEasyChatWord_Ignorant, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLAYS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THINKS)] = { .text = gEasyChatWord_Thinks, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLEASE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BELIEVE)] = { .text = gEasyChatWord_Believe, - .alphabeticalOrder = 64, + .alphabeticalOrder = EC_INDEX(EC_WORD_PRAISE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SLIDE)] = { .text = gEasyChatWord_Slide, - .alphabeticalOrder = 63, + .alphabeticalOrder = EC_INDEX(EC_WORD_PRETEND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EATS)] = { .text = gEasyChatWord_Eats, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_REFUSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_USE)] = { .text = gEasyChatWord_Use, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_RELEASE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_USES)] = { .text = gEasyChatWord_Uses, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_RUN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_USING)] = { .text = gEasyChatWord_Using, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_RUNS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COULDN_T)] = { .text = gEasyChatWord_Couldnt, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_SAID), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAPABLE)] = { .text = gEasyChatWord_Capable, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_SAYS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISAPPEAR)] = { .text = gEasyChatWord_Disappear, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_SEARCH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_APPEAR)] = { .text = gEasyChatWord_Appear, - .alphabeticalOrder = 69, + .alphabeticalOrder = EC_INDEX(EC_WORD_SEEK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THROW)] = { .text = gEasyChatWord_Throw, - .alphabeticalOrder = 68, + .alphabeticalOrder = EC_INDEX(EC_WORD_SEES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WORRY)] = { .text = gEasyChatWord_Worry, - .alphabeticalOrder = 66, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SLEPT)] = { .text = gEasyChatWord_Slept, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_SINK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SLEEP)] = { .text = gEasyChatWord_Sleep, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_SLEEP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RELEASE)] = { .text = gEasyChatWord_Release, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_SLEPT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DRINKS)] = { .text = gEasyChatWord_Drinks, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_SLIDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RUNS)] = { .text = gEasyChatWord_Runs, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMACK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RUN)] = { .text = gEasyChatWord_Run, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_STORES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WORKS)] = { .text = gEasyChatWord_Works, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_STORY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WORKING)] = { .text = gEasyChatWord_Working, - .alphabeticalOrder = 71, + .alphabeticalOrder = EC_INDEX(EC_WORD_TAKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TALKING)] = { .text = gEasyChatWord_Talking, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_TALK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TALK)] = { .text = gEasyChatWord_Talk, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_TALKING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SINK)] = { .text = gEasyChatWord_Sink, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_TEACH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMACK)] = { .text = gEasyChatWord_Smack, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_TEACHES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PRETEND)] = { .text = gEasyChatWord_Pretend, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_THINKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PRAISE)] = { .text = gEasyChatWord_Praise, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_THROW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OVERDO)] = { .text = gEasyChatWord_Overdo, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRAINS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHOW)] = { .text = gEasyChatWord_Show, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRUST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOOKS)] = { .text = gEasyChatWord_Looks, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_USE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SEES)] = { .text = gEasyChatWord_Sees, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_USES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SEEK)] = { .text = gEasyChatWord_Seek, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_USING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OWN)] = { .text = gEasyChatWord_Own, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAKE_UP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TAKE)] = { .text = gEasyChatWord_Take, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAKES_UP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALLOW)] = { .text = gEasyChatWord_Allow, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_WALKING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FORGET)] = { .text = gEasyChatWord_Forget, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_WALKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FORGETS)] = { .text = gEasyChatWord_Forgets, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_WENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_APPEARS)] = { .text = gEasyChatWord_Appears, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_WORKING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FAINT)] = { .text = gEasyChatWord_Faint, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_WORKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FAINTED)] = { .text = gEasyChatWord_Fainted, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_WORRY), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_adjectives.h b/src/data/easy_chat/easy_chat_group_adjectives.h index 619dff6213..6a85973df4 100755 --- a/src/data/easy_chat/easy_chat_group_adjectives.h +++ b/src/data/easy_chat/easy_chat_group_adjectives.h @@ -39,217 +39,217 @@ const struct EasyChatWordInfo gEasyChatGroup_Adjectives[] = { [EC_INDEX(EC_WORD_WANDERING)] = { .text = gEasyChatWord_Wandering, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANTICIPATION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RICKETY)] = { .text = gEasyChatWord_Rickety, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_AWESOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ROCK_SOLID)] = { .text = gEasyChatWord_RockSolid, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_BREAK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HUNGRY)] = { .text = gEasyChatWord_Hungry, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_DESTROYED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TIGHT)] = { .text = gEasyChatWord_Tight, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_DROOLING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TICKLISH)] = { .text = gEasyChatWord_Ticklish, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCITING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TWIRLING)] = { .text = gEasyChatWord_Twirling, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_FIERY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SPIRALING)] = { .text = gEasyChatWord_Spiraling, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAPPILY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THIRSTY)] = { .text = gEasyChatWord_Thirsty, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOPELESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOLLING)] = { .text = gEasyChatWord_Lolling, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_HUNGRY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SILKY)] = { .text = gEasyChatWord_Silky, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_INCREASING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SADLY)] = { .text = gEasyChatWord_Sadly, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOLLING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOPELESS)] = { .text = gEasyChatWord_Hopeless, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOVEY_DOVEY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_USELESS)] = { .text = gEasyChatWord_Useless, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_RICKETY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DROOLING)] = { .text = gEasyChatWord_Drooling, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_RIPPED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCITING)] = { .text = gEasyChatWord_Exciting, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_ROCK_SOLID), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THICK)] = { .text = gEasyChatWord_Thick, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_SADLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMOOTH)] = { .text = gEasyChatWord_Smooth, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_SCATTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SLIMY)] = { .text = gEasyChatWord_Slimy, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHAKY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THIN)] = { .text = gEasyChatWord_Thin, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHREDDED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BREAK)] = { .text = gEasyChatWord_Break, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_SILKY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VORACIOUS)] = { .text = gEasyChatWord_Voracious, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_SLIMY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SCATTER)] = { .text = gEasyChatWord_Scatter, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMOOTH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AWESOME)] = { .text = gEasyChatWord_Awesome, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_SPIRALING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WIMPY)] = { .text = gEasyChatWord_Wimpy, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_THICK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WOBBLY)] = { .text = gEasyChatWord_Wobbly, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_THIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHAKY)] = { .text = gEasyChatWord_Shaky, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_THIRSTY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RIPPED)] = { .text = gEasyChatWord_Ripped, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_TICKLISH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHREDDED)] = { .text = gEasyChatWord_Shredded, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_TIGHT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INCREASING)] = { .text = gEasyChatWord_Increasing, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_TWIRLING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YET)] = { .text = gEasyChatWord_Yet, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_USELESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DESTROYED)] = { .text = gEasyChatWord_Destroyed, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_VORACIOUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FIERY)] = { .text = gEasyChatWord_Fiery, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_WANDERING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOVEY_DOVEY)] = { .text = gEasyChatWord_LoveyDovey, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_WIMPY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAPPILY)] = { .text = gEasyChatWord_Happily, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_WOBBLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANTICIPATION)] = { .text = gEasyChatWord_Anticipation, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_YET), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_battle.h b/src/data/easy_chat/easy_chat_group_battle.h index 2a2420b2f1..56d7ce0cd8 100755 --- a/src/data/easy_chat/easy_chat_group_battle.h +++ b/src/data/easy_chat/easy_chat_group_battle.h @@ -66,379 +66,379 @@ const struct EasyChatWordInfo gEasyChatGroup_Battle[] = { [EC_INDEX(EC_WORD_MATCH_UP)] = { .text = gEasyChatWord_MatchUp, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_ACCEPT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GO)] = { .text = gEasyChatWord_Go, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_AIM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NO_1)] = { .text = gEasyChatWord_No1, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_ATTACK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DECIDE)] = { .text = gEasyChatWord_Decide, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LET_ME_WIN)] = { .text = gEasyChatWord_LetMeWin, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAN_WIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WINS)] = { .text = gEasyChatWord_Wins, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAN_T_WIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WIN)] = { .text = gEasyChatWord_Win, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHALLENGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WON)] = { .text = gEasyChatWord_Won, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_COME_ON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IF_I_WIN)] = { .text = gEasyChatWord_IfIWin, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_DECIDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHEN_I_WIN)] = { .text = gEasyChatWord_WhenIWin, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_DECIDED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAN_T_WIN)] = { .text = gEasyChatWord_CantWin, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_EASY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAN_WIN)] = { .text = gEasyChatWord_CanWin, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_ESCAPE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NO_MATCH)] = { .text = gEasyChatWord_NoMatch, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_FIGHT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SPIRIT)] = { .text = gEasyChatWord_Spirit, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_FIGHTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DECIDED)] = { .text = gEasyChatWord_Decided, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_FOE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRUMP_CARD)] = { .text = gEasyChatWord_TrumpCard, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_GENIUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TAKE_THAT)] = { .text = gEasyChatWord_TakeThat, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIVE_UP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COME_ON)] = { .text = gEasyChatWord_ComeOn, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_GO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ATTACK)] = { .text = gEasyChatWord_Attack, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_GO_EASY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SURRENDER)] = { .text = gEasyChatWord_Surrender, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_GUARD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GUTSY)] = { .text = gEasyChatWord_Gutsy, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_GUTSY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TALENT)] = { .text = gEasyChatWord_Talent, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_IF_I_LOSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STRATEGY)] = { .text = gEasyChatWord_Strategy, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_IF_I_WIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMITE)] = { .text = gEasyChatWord_Smite, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_INVINCIBLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MATCH)] = { .text = gEasyChatWord_Match, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEADER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VICTORY)] = { .text = gEasyChatWord_Victory, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEGEND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OFFENSIVE)] = { .text = gEasyChatWord_Offensive, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_LET_ME_WIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SENSE)] = { .text = gEasyChatWord_Sense, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VERSUS)] = { .text = gEasyChatWord_Versus, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOSS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FIGHTS)] = { .text = gEasyChatWord_Fights, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POWER)] = { .text = gEasyChatWord_Power, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_MATCH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHALLENGE)] = { .text = gEasyChatWord_Challenge, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_MATCH_UP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STRONG)] = { .text = gEasyChatWord_Strong, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_MOVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOO_STRONG)] = { .text = gEasyChatWord_TooStrong, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_NO_MATCH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GO_EASY)] = { .text = gEasyChatWord_GoEasy, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_NO_1), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FOE)] = { .text = gEasyChatWord_Foe, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_OFFENSIVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GENIUS)] = { .text = gEasyChatWord_Genius, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_PARTNER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEGEND)] = { .text = gEasyChatWord_Legend, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_POINTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ESCAPE)] = { .text = gEasyChatWord_Escape, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_POWER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AIM)] = { .text = gEasyChatWord_Aim, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_PUSHOVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BATTLE)] = { .text = gEasyChatWord_Battle, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_RECEIVED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FIGHT)] = { .text = gEasyChatWord_Fight, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_REJECT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RESUSCITATE)] = { .text = gEasyChatWord_Resuscitate, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_RESUSCITATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POINTS)] = { .text = gEasyChatWord_Points, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_RULE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SERIOUS)] = { .text = gEasyChatWord_Serious, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_SENSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIVE_UP)] = { .text = gEasyChatWord_GiveUp, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_SERIOUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOSS)] = { .text = gEasyChatWord_Loss, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMITE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IF_I_LOSE)] = { .text = gEasyChatWord_IfILose, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_SPIRIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOST)] = { .text = gEasyChatWord_Lost, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_STRATEGY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOSE)] = { .text = gEasyChatWord_Lose, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_STRONG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GUARD)] = { .text = gEasyChatWord_Guard, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_SURRENDER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PARTNER)] = { .text = gEasyChatWord_Partner, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_TAKE_THAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_REJECT)] = { .text = gEasyChatWord_Reject, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_TALENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ACCEPT)] = { .text = gEasyChatWord_Accept, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOO_STRONG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INVINCIBLE)] = { .text = gEasyChatWord_Invincible, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOO_WEAK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RECEIVED)] = { .text = gEasyChatWord_Received, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRUMP_CARD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EASY)] = { .text = gEasyChatWord_Easy, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_VERSUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WEAK)] = { .text = gEasyChatWord_Weak, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_VICTORY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOO_WEAK)] = { .text = gEasyChatWord_TooWeak, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_WEAK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PUSHOVER)] = { .text = gEasyChatWord_Pushover, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHEN_I_WIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEADER)] = { .text = gEasyChatWord_Leader, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_WIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RULE)] = { .text = gEasyChatWord_Rule, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_WINS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MOVE)] = { .text = gEasyChatWord_Move, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_WON), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_conditions.h b/src/data/easy_chat/easy_chat_group_conditions.h index d0636f1628..b53816e9e9 100755 --- a/src/data/easy_chat/easy_chat_group_conditions.h +++ b/src/data/easy_chat/easy_chat_group_conditions.h @@ -72,415 +72,415 @@ const struct EasyChatWordInfo gEasyChatGroup_Conditions[] = { [EC_INDEX(EC_WORD_HOT)] = { .text = gEasyChatWord_Hot, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_ABSENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXISTS)] = { .text = gEasyChatWord_Exists, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALONE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCESS)] = { .text = gEasyChatWord_Excess, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_AMUSING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_APPROVED)] = { .text = gEasyChatWord_Approved, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_APPROVED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAS)] = { .text = gEasyChatWord_Has, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_AWFUL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOOD)] = { .text = gEasyChatWord_Good, - .alphabeticalOrder = 68, + .alphabeticalOrder = EC_INDEX(EC_WORD_BADLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LESS)] = { .text = gEasyChatWord_Less, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_BECOMES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MOMENTUM)] = { .text = gEasyChatWord_Momentum, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOING)] = { .text = gEasyChatWord_Going, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WEIRD)] = { .text = gEasyChatWord_Weird, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_BIG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BUSY)] = { .text = gEasyChatWord_Busy, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_BORED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOGETHER)] = { .text = gEasyChatWord_Together, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_BUSY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FULL)] = { .text = gEasyChatWord_Full, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_CLOSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ABSENT)] = { .text = gEasyChatWord_Absent, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_COLD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEING)] = { .text = gEasyChatWord_Being, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_CORRECT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEED)] = { .text = gEasyChatWord_Need, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_DIFFERENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TASTY)] = { .text = gEasyChatWord_Tasty, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_DOCILE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SKILLED)] = { .text = gEasyChatWord_Skilled, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_ELSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NOISY)] = { .text = gEasyChatWord_Noisy, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_ENTERTAINING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BIG)] = { .text = gEasyChatWord_Big, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCELLENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LATE)] = { .text = gEasyChatWord_Late, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CLOSE)] = { .text = gEasyChatWord_Close, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXISTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DOCILE)] = { .text = gEasyChatWord_Docile, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXPENSIVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AMUSING)] = { .text = gEasyChatWord_Amusing, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_FABULOUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ENTERTAINING)] = { .text = gEasyChatWord_Entertaining, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_FAST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PERFECTION)] = { .text = gEasyChatWord_Perfection, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_FULL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PRETTY)] = { .text = gEasyChatWord_Pretty, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEALTHY)] = { .text = gEasyChatWord_Healthy, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOOD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCELLENT)] = { .text = gEasyChatWord_Excellent, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UPSIDE_DOWN)] = { .text = gEasyChatWord_UpsideDown, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEALTHY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COLD)] = { .text = gEasyChatWord_Cold, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_REFRESHING)] = { .text = gEasyChatWord_Refreshing, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_IMPOSSIBLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNAVOIDABLE)] = { .text = gEasyChatWord_Unavoidable, - .alphabeticalOrder = 63, + .alphabeticalOrder = EC_INDEX(EC_WORD_KIND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MUCH)] = { .text = gEasyChatWord_Much, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_LACKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OVERWHELMING)] = { .text = gEasyChatWord_Overwhelming, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_LATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FABULOUS)] = { .text = gEasyChatWord_Fabulous, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_LESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ELSE)] = { .text = gEasyChatWord_Else, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOUSY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXPENSIVE)] = { .text = gEasyChatWord_Expensive, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CORRECT)] = { .text = gEasyChatWord_Correct, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_LUKEWARM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IMPOSSIBLE)] = { .text = gEasyChatWord_Impossible, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_MISTAKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMALL)] = { .text = gEasyChatWord_Small, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_MOMENTUM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DIFFERENT)] = { .text = gEasyChatWord_Different, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_MUCH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TIRED)] = { .text = gEasyChatWord_Tired, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_MYSTERY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SKILL)] = { .text = gEasyChatWord_Skill, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_NATURAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOP)] = { .text = gEasyChatWord_Top, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NON_STOP)] = { .text = gEasyChatWord_NonStop, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_NOISY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PREPOSTEROUS)] = { .text = gEasyChatWord_Preposterous, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_NON_STOP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NONE)] = { .text = gEasyChatWord_None, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_NONE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NOTHING)] = { .text = gEasyChatWord_Nothing, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_NOTHING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NATURAL)] = { .text = gEasyChatWord_Natural, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_OVERWHELMING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BECOMES)] = { .text = gEasyChatWord_Becomes, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_PERFECTION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LUKEWARM)] = { .text = gEasyChatWord_Lukewarm, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_PREPOSTEROUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FAST)] = { .text = gEasyChatWord_Fast, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_PRETTY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOW)] = { .text = gEasyChatWord_Low, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_REFRESHING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AWFUL)] = { .text = gEasyChatWord_Awful, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_SECRET), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALONE)] = { .text = gEasyChatWord_Alone, - .alphabeticalOrder = 67, + .alphabeticalOrder = EC_INDEX(EC_WORD_SEEMS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BORED)] = { .text = gEasyChatWord_Bored, - .alphabeticalOrder = 66, + .alphabeticalOrder = EC_INDEX(EC_WORD_SIMPLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SECRET)] = { .text = gEasyChatWord_Secret, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_SKILL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MYSTERY)] = { .text = gEasyChatWord_Mystery, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_SKILLED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LACKS)] = { .text = gEasyChatWord_Lacks, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMALL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEST)] = { .text = gEasyChatWord_Best, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_TASTY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOUSY)] = { .text = gEasyChatWord_Lousy, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_TIRED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MISTAKE)] = { .text = gEasyChatWord_Mistake, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOGETHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KIND)] = { .text = gEasyChatWord_Kind, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WELL)] = { .text = gEasyChatWord_Well, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNAVOIDABLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WEAKENED)] = { .text = gEasyChatWord_Weakened, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_UPSIDE_DOWN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SIMPLE)] = { .text = gEasyChatWord_Simple, - .alphabeticalOrder = 65, + .alphabeticalOrder = EC_INDEX(EC_WORD_WEAKENED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SEEMS)] = { .text = gEasyChatWord_Seems, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_WEIRD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BADLY)] = { .text = gEasyChatWord_Badly, - .alphabeticalOrder = 64, + .alphabeticalOrder = EC_INDEX(EC_WORD_WELL), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_endings.h b/src/data/easy_chat/easy_chat_group_endings.h index ffa5108a91..629380b039 100755 --- a/src/data/easy_chat/easy_chat_group_endings.h +++ b/src/data/easy_chat/easy_chat_group_endings.h @@ -72,415 +72,415 @@ const struct EasyChatWordInfo gEasyChatGroup_Endings[] = { [EC_INDEX(EC_WORD_WILL)] = { .text = gEasyChatWord_Will, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_A), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WILL_BE_HERE)] = { .text = gEasyChatWord_WillBeHere, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_ABOUT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OR)] = { .text = gEasyChatWord_Or, - .alphabeticalOrder = 63, + .alphabeticalOrder = EC_INDEX(EC_WORD_AFTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TIMES)] = { .text = gEasyChatWord_Times, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WONDER)] = { .text = gEasyChatWord_Wonder, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_AN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IS_IT_QUES)] = { .text = gEasyChatWord_IsItQues, - .alphabeticalOrder = 68, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANYWHERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BE)] = { .text = gEasyChatWord_Be, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_ARE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIMME)] = { .text = gEasyChatWord_Gimme, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_AS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COULD)] = { .text = gEasyChatWord_Could, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_AT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIKELY_TO)] = { .text = gEasyChatWord_LikelyTo, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_BE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WOULD)] = { .text = gEasyChatWord_Would, - .alphabeticalOrder = 64, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEFORE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IS)] = { .text = gEasyChatWord_Is, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_BELONGS_TO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ISN_T_IT_QUES)] = { .text = gEasyChatWord_IsntItQues, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_BETTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LET_S)] = { .text = gEasyChatWord_Lets, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OTHER)] = { .text = gEasyChatWord_Other, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ARE)] = { .text = gEasyChatWord_Are, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_COULD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAS)] = { .text = gEasyChatWord_Was, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_DID), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WERE)] = { .text = gEasyChatWord_Were, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_DIDN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THOSE)] = { .text = gEasyChatWord_Those, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_DO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ISN_T)] = { .text = gEasyChatWord_Isnt, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_DOES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WON_T)] = { .text = gEasyChatWord_Wont, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_DOESN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAN_T)] = { .text = gEasyChatWord_Cant, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_DON_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAN)] = { .text = gEasyChatWord_Can, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DON_T)] = { .text = gEasyChatWord_Dont, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_FOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DO)] = { .text = gEasyChatWord_Do, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIMME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DOES)] = { .text = gEasyChatWord_Does, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHOM)] = { .text = gEasyChatWord_Whom, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAVEN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHICH)] = { .text = gEasyChatWord_Which, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_IN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WASN_T)] = { .text = gEasyChatWord_Wasnt, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_IS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WEREN_T)] = { .text = gEasyChatWord_Werent, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_IS_IT_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAVE)] = { .text = gEasyChatWord_Have, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_ISN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAVEN_T)] = { .text = gEasyChatWord_Havent, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_ISN_T_IT_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_A)] = { .text = gEasyChatWord_A, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_IT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AN)] = { .text = gEasyChatWord_An, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_LET_S), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NOT)] = { .text = gEasyChatWord_Not, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THERE)] = { .text = gEasyChatWord_There, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIKELY_TO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OK_QUES)] = { .text = gEasyChatWord_OkQues, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAYBE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SO)] = { .text = gEasyChatWord_So, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_NOT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAYBE)] = { .text = gEasyChatWord_Maybe, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_OF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ABOUT)] = { .text = gEasyChatWord_About, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_OFF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OVER)] = { .text = gEasyChatWord_Over, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_OK_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IT)] = { .text = gEasyChatWord_It, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_ON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALL)] = { .text = gEasyChatWord_All, - .alphabeticalOrder = 67, + .alphabeticalOrder = EC_INDEX(EC_WORD_ONCE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FOR)] = { .text = gEasyChatWord_For, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_OR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ON)] = { .text = gEasyChatWord_On, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_OTHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OFF)] = { .text = gEasyChatWord_Off, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_OUT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AS)] = { .text = gEasyChatWord_As, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_OVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TO)] = { .text = gEasyChatWord_To, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_SINCE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WITH)] = { .text = gEasyChatWord_With, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_SO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BETTER)] = { .text = gEasyChatWord_Better, - .alphabeticalOrder = 66, + .alphabeticalOrder = EC_INDEX(EC_WORD_THAN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVER)] = { .text = gEasyChatWord_Ever, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_THERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SINCE)] = { .text = gEasyChatWord_Since, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_THOSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OF)] = { .text = gEasyChatWord_Of, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_TIMES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BELONGS_TO)] = { .text = gEasyChatWord_BelongsTo, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_TO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AT)] = { .text = gEasyChatWord_At, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IN)] = { .text = gEasyChatWord_In, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OUT)] = { .text = gEasyChatWord_Out, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_WASN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOO)] = { .text = gEasyChatWord_Too, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_WERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIKE)] = { .text = gEasyChatWord_Like, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_WEREN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DID)] = { .text = gEasyChatWord_Did, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHICH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DIDN_T)] = { .text = gEasyChatWord_Didnt, - .alphabeticalOrder = 65, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHILE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DOESN_T)] = { .text = gEasyChatWord_Doesnt, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHOM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WITHOUT)] = { .text = gEasyChatWord_Without, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_WILL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AFTER)] = { .text = gEasyChatWord_After, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_WILL_BE_HERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEFORE)] = { .text = gEasyChatWord_Before, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_WITH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHILE)] = { .text = gEasyChatWord_While, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_WITHOUT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THAN)] = { .text = gEasyChatWord_Than, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_WON_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ONCE)] = { .text = gEasyChatWord_Once, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_WONDER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANYWHERE)] = { .text = gEasyChatWord_Anywhere, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_WOULD), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_events.h b/src/data/easy_chat/easy_chat_group_events.h index 0fbbcc4a78..a4e5165c60 100755 --- a/src/data/easy_chat/easy_chat_group_events.h +++ b/src/data/easy_chat/easy_chat_group_events.h @@ -32,175 +32,175 @@ const struct EasyChatWordInfo gEasyChatGroup_Events[] = { [EC_INDEX(EC_WORD_APPEAL)] = { .text = gEasyChatWord_Appeal, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_APPEAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVENTS)] = { .text = gEasyChatWord_Events, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE_ROOM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STAY_AT_HOME)] = { .text = gEasyChatWord_StayAtHome, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE_TOWER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BERRY)] = { .text = gEasyChatWord_Berry, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_BERRY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CONTEST)] = { .text = gEasyChatWord_Contest, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_BLEND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MC)] = { .text = gEasyChatWord_Mc, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_CONTEST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_JUDGE)] = { .text = gEasyChatWord_Judge, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_CRUSH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SUPER)] = { .text = gEasyChatWord_Super, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_DIRECT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STAGE)] = { .text = gEasyChatWord_Stage, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVENTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HALL_OF_FAME)] = { .text = gEasyChatWord_HallOfFame, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVOLUTION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVOLUTION)] = { .text = gEasyChatWord_Evolution, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_FRONTIER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HYPER)] = { .text = gEasyChatWord_Hyper, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_HALL_OF_FAME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BATTLE_TOWER)] = { .text = gEasyChatWord_BattleTower, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIDDEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEADERS)] = { .text = gEasyChatWord_Leaders, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_HYPER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BATTLE_ROOM)] = { .text = gEasyChatWord_BattleRoom, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_JUDGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIDDEN)] = { .text = gEasyChatWord_Hidden, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEADERS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SECRET_BASE)] = { .text = gEasyChatWord_SecretBase, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_MASTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BLEND)] = { .text = gEasyChatWord_Blend, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_MC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POKEBLOCK)] = { .text = gEasyChatWord_POKEBLOCK, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_POKEBLOCK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MASTER)] = { .text = gEasyChatWord_Master, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_RANK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RANK)] = { .text = gEasyChatWord_Rank, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_RIBBON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RIBBON)] = { .text = gEasyChatWord_Ribbon, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_ROOM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CRUSH)] = { .text = gEasyChatWord_Crush, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_SECRET_BASE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DIRECT)] = { .text = gEasyChatWord_Direct, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_STAGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOWER)] = { .text = gEasyChatWord_Tower, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_STAY_AT_HOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNION)] = { .text = gEasyChatWord_Union, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_SUPER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ROOM)] = { .text = gEasyChatWord_Room, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOWER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WIRELESS)] = { .text = gEasyChatWord_Wireless, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FRONTIER)] = { .text = gEasyChatWord_Frontier, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_WIRELESS), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_feelings.h b/src/data/easy_chat/easy_chat_group_feelings.h index 55fe9d00c5..5c2221530a 100755 --- a/src/data/easy_chat/easy_chat_group_feelings.h +++ b/src/data/easy_chat/easy_chat_group_feelings.h @@ -72,415 +72,415 @@ const struct EasyChatWordInfo gEasyChatGroup_Feelings[] = { [EC_INDEX(EC_WORD_MEET)] = { .text = gEasyChatWord_Meet, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_ADORE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLAY)] = { .text = gEasyChatWord_Play, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALL_RIGHT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HURRIED)] = { .text = gEasyChatWord_Hurried, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANGER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOES)] = { .text = gEasyChatWord_Goes, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANGRY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIDDY)] = { .text = gEasyChatWord_Giddy, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_BAD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAPPY)] = { .text = gEasyChatWord_Happy, - .alphabeticalOrder = 63, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAPPINESS)] = { .text = gEasyChatWord_Happiness, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_BORING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCITE)] = { .text = gEasyChatWord_Excite, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_CARE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IMPORTANT)] = { .text = gEasyChatWord_Important, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_CARES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FUNNY)] = { .text = gEasyChatWord_Funny, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_DANGER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOT)] = { .text = gEasyChatWord_Got, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_DARN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GO_HOME)] = { .text = gEasyChatWord_GoHome, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_DEFEATED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISAPPOINTED)] = { .text = gEasyChatWord_Disappointed, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPOINT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISAPPOINTS)] = { .text = gEasyChatWord_Disappoints, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPOINTED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SAD)] = { .text = gEasyChatWord_Sad, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPOINTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRY)] = { .text = gEasyChatWord_Try, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISASTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRIES)] = { .text = gEasyChatWord_Tries, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISLIKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEARS)] = { .text = gEasyChatWord_Hears, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_DISLIKES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THINK)] = { .text = gEasyChatWord_Think, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_DONE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEAR)] = { .text = gEasyChatWord_Hear, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_DOWNCAST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WANTS)] = { .text = gEasyChatWord_Wants, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_DRINK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MISHEARD)] = { .text = gEasyChatWord_Misheard, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_EAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISLIKE)] = { .text = gEasyChatWord_Dislike, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_ENJOY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANGRY)] = { .text = gEasyChatWord_Angry, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_ENJOYS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANGER)] = { .text = gEasyChatWord_Anger, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCITE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SCARY)] = { .text = gEasyChatWord_Scary, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_FEAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LONESOME)] = { .text = gEasyChatWord_Lonesome, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_FUNNY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISAPPOINT)] = { .text = gEasyChatWord_Disappoint, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_GETS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_JOY)] = { .text = gEasyChatWord_Joy, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIDDY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GETS)] = { .text = gEasyChatWord_Gets, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_GO_HOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEVER)] = { .text = gEasyChatWord_Never, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DARN)] = { .text = gEasyChatWord_Darn, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DOWNCAST)] = { .text = gEasyChatWord_Downcast, - .alphabeticalOrder = 64, + .alphabeticalOrder = EC_INDEX(EC_WORD_GREAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INCREDIBLE)] = { .text = gEasyChatWord_Incredible, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAPPINESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIKES)] = { .text = gEasyChatWord_Likes, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAPPY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISLIKES)] = { .text = gEasyChatWord_Dislikes, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_HARD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BORING)] = { .text = gEasyChatWord_Boring, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CARE)] = { .text = gEasyChatWord_Care, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEARS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CARES)] = { .text = gEasyChatWord_Cares, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_HURRIED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALL_RIGHT)] = { .text = gEasyChatWord_AllRight, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_IMPORTANT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ADORE)] = { .text = gEasyChatWord_Adore, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_INCREDIBLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DISASTER)] = { .text = gEasyChatWord_Disaster, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_JOY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ENJOY)] = { .text = gEasyChatWord_Enjoy, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_LACKING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ENJOYS)] = { .text = gEasyChatWord_Enjoys, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIKES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EAT)] = { .text = gEasyChatWord_Eat, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_LONESOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LACKING)] = { .text = gEasyChatWord_Lacking, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_MEET), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BAD)] = { .text = gEasyChatWord_Bad, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_MISHEARD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HARD)] = { .text = gEasyChatWord_Hard, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEGATIVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TERRIBLE)] = { .text = gEasyChatWord_Terrible, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHOULD)] = { .text = gEasyChatWord_Should, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_NICE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NICE)] = { .text = gEasyChatWord_Nice, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DRINK)] = { .text = gEasyChatWord_Drink, - .alphabeticalOrder = 66, + .alphabeticalOrder = EC_INDEX(EC_WORD_QUESTION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SURPRISE)] = { .text = gEasyChatWord_Surprise, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_RARE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FEAR)] = { .text = gEasyChatWord_Fear, - .alphabeticalOrder = 65, + .alphabeticalOrder = EC_INDEX(EC_WORD_ROMANTIC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WANT)] = { .text = gEasyChatWord_Want, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_SAD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAIT)] = { .text = gEasyChatWord_Wait, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_SATISFIED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SATISFIED)] = { .text = gEasyChatWord_Satisfied, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_SCARY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SEE)] = { .text = gEasyChatWord_See, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_SEE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RARE)] = { .text = gEasyChatWord_Rare, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHOULD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEGATIVE)] = { .text = gEasyChatWord_Negative, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_SURPRISE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DONE)] = { .text = gEasyChatWord_Done, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_TERRIBLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DANGER)] = { .text = gEasyChatWord_Danger, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_THINK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DEFEATED)] = { .text = gEasyChatWord_Defeated, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRIES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEAT)] = { .text = gEasyChatWord_Beat, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GREAT)] = { .text = gEasyChatWord_Great, - .alphabeticalOrder = 67, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNDERSTAND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ROMANTIC)] = { .text = gEasyChatWord_Romantic, - .alphabeticalOrder = 68, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNDERSTANDS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_QUESTION)] = { .text = gEasyChatWord_Question, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNDERSTAND)] = { .text = gEasyChatWord_Understand, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_WANT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNDERSTANDS)] = { .text = gEasyChatWord_Understands, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_WANTS), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_greetings.h b/src/data/easy_chat/easy_chat_group_greetings.h index fb95f7939d..aabf34c1cf 100755 --- a/src/data/easy_chat/easy_chat_group_greetings.h +++ b/src/data/easy_chat/easy_chat_group_greetings.h @@ -45,253 +45,253 @@ const struct EasyChatWordInfo gEasyChatGroup_Greetings[] = { [EC_INDEX(EC_WORD_THANKS)] = { .text = gEasyChatWord_Thanks, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_APOLOGIZE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YES)] = { .text = gEasyChatWord_Yes, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_APPRECIATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HERE_GOES)] = { .text = gEasyChatWord_HereGoes, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_BYE_BYE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HERE_I_COME)] = { .text = gEasyChatWord_HereICome, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_COME_OVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HERE_IT_IS)] = { .text = gEasyChatWord_HereItIs, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_CONGRATS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YEAH)] = { .text = gEasyChatWord_Yeah, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_COUNT_ON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WELCOME)] = { .text = gEasyChatWord_Welcome, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCUSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OI)] = { .text = gEasyChatWord_Oi, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCUSE_ME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOW_DO)] = { .text = gEasyChatWord_HowDo, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_FORGIVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CONGRATS)] = { .text = gEasyChatWord_Congrats, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIVE_ME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIVE_ME)] = { .text = gEasyChatWord_GiveMe, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_GO_AHEAD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SORRY)] = { .text = gEasyChatWord_Sorry, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOOD_BYE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_APOLOGIZE)] = { .text = gEasyChatWord_Apologize, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_HELLO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FORGIVE)] = { .text = gEasyChatWord_Forgive, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_HERE_GOES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEY_THERE)] = { .text = gEasyChatWord_HeyThere, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_HERE_I_COME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HELLO)] = { .text = gEasyChatWord_Hello, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_HERE_IT_IS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOOD_BYE)] = { .text = gEasyChatWord_GoodBye, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THANK_YOU)] = { .text = gEasyChatWord_ThankYou, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEY_THERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_I_VE_ARRIVED)] = { .text = gEasyChatWord_IveArrived, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEY_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PARDON)] = { .text = gEasyChatWord_Pardon, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_HI), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCUSE)] = { .text = gEasyChatWord_Excuse, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOO_HAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SEE_YA)] = { .text = gEasyChatWord_SeeYa, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOW_DO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCUSE_ME)] = { .text = gEasyChatWord_ExcuseMe, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_HUH_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WELL_THEN)] = { .text = gEasyChatWord_WellThen, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_I_VE_ARRIVED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GO_AHEAD)] = { .text = gEasyChatWord_GoAhead, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_LISTENING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_APPRECIATE)] = { .text = gEasyChatWord_Appreciate, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_MEET_YOU), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEY_QUES)] = { .text = gEasyChatWord_HeyQues, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_NO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHAT_S_UP_QUES)] = { .text = gEasyChatWord_WhatsUpQues, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_OI), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HUH_QUES)] = { .text = gEasyChatWord_HuhQues, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_PARDON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NO)] = { .text = gEasyChatWord_No, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_SEE_YA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HI)] = { .text = gEasyChatWord_Hi, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMELL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YEAH_YEAH)] = { .text = gEasyChatWord_YeahYeah, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_SORRY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BYE_BYE)] = { .text = gEasyChatWord_ByeBye, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_THANK_YOU), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MEET_YOU)] = { .text = gEasyChatWord_MeetYou, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_THANKS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEY)] = { .text = gEasyChatWord_Hey, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_WELCOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMELL)] = { .text = gEasyChatWord_Smell, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_WELL_THEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LISTENING)] = { .text = gEasyChatWord_Listening, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHAT_S_UP_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOO_HAH)] = { .text = gEasyChatWord_HooHah, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_YAHOO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YAHOO)] = { .text = gEasyChatWord_Yahoo, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_YEAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YO)] = { .text = gEasyChatWord_Yo, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_YEAH_YEAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COME_OVER)] = { .text = gEasyChatWord_ComeOver, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_YES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COUNT_ON)] = { .text = gEasyChatWord_CountOn, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_YO), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_hobbies.h b/src/data/easy_chat/easy_chat_group_hobbies.h index dd507e21b9..fb3484ae05 100755 --- a/src/data/easy_chat/easy_chat_group_hobbies.h +++ b/src/data/easy_chat/easy_chat_group_hobbies.h @@ -57,325 +57,325 @@ const struct EasyChatWordInfo gEasyChatGroup_Hobbies[] = { [EC_INDEX(EC_WORD_IDOL)] = { .text = gEasyChatWord_Idol, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_ADVENTURE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANIME)] = { .text = gEasyChatWord_Anime, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANIME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SONG)] = { .text = gEasyChatWord_Song, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_BALL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MOVIE)] = { .text = gEasyChatWord_Movie, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_BIKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SWEETS)] = { .text = gEasyChatWord_Sweets, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_BOARD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHAT)] = { .text = gEasyChatWord_Chat, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_BOOK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHILD_S_PLAY)] = { .text = gEasyChatWord_ChildsPlay, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_CAMERA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOYS)] = { .text = gEasyChatWord_Toys, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_CARDS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MUSIC)] = { .text = gEasyChatWord_Music, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHANNEL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CARDS)] = { .text = gEasyChatWord_Cards, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHOPPING)] = { .text = gEasyChatWord_Shopping, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHILD_S_PLAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CAMERA)] = { .text = gEasyChatWord_Camera, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_COLLECTION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VIEWING)] = { .text = gEasyChatWord_Viewing, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_COMICS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SPECTATOR)] = { .text = gEasyChatWord_Spectator, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_COMPLETE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOURMET)] = { .text = gEasyChatWord_Gourmet, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_DANCE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GAME)] = { .text = gEasyChatWord_Game, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_DATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RPG)] = { .text = gEasyChatWord_Rpg, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_DESIGN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COLLECTION)] = { .text = gEasyChatWord_Collection, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_DIET), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COMPLETE)] = { .text = gEasyChatWord_Complete, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_FASHION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAGAZINE)] = { .text = gEasyChatWord_Magazine, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_FESTIVAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WALK)] = { .text = gEasyChatWord_Walk, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_FISHING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BIKE)] = { .text = gEasyChatWord_Bike, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_FLOWERS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOBBY)] = { .text = gEasyChatWord_Hobby, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_GAME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SPORTS)] = { .text = gEasyChatWord_Sports, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOURMET), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOFTWARE)] = { .text = gEasyChatWord_Software, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_HERO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SONGS)] = { .text = gEasyChatWord_Songs, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEROINE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DIET)] = { .text = gEasyChatWord_Diet, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOBBY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TREASURE)] = { .text = gEasyChatWord_Treasure, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOLIDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRAVEL)] = { .text = gEasyChatWord_Travel, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_IDOL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DANCE)] = { .text = gEasyChatWord_Dance, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOCOMOTIVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHANNEL)] = { .text = gEasyChatWord_Channel, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOOK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAKING)] = { .text = gEasyChatWord_Making, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAGAZINE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FISHING)] = { .text = gEasyChatWord_Fishing, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAKING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DATE)] = { .text = gEasyChatWord_Date, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_MOVIE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DESIGN)] = { .text = gEasyChatWord_Design, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_MUSIC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOCOMOTIVE)] = { .text = gEasyChatWord_Locomotive, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_NAP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLUSH_DOLL)] = { .text = gEasyChatWord_PlushDoll, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_PC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PC)] = { .text = gEasyChatWord_Pc, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLANS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FLOWERS)] = { .text = gEasyChatWord_Flowers, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLUSH_DOLL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HERO)] = { .text = gEasyChatWord_Hero, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_RPG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NAP)] = { .text = gEasyChatWord_Nap, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHOPPING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEROINE)] = { .text = gEasyChatWord_Heroine, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOFTWARE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FASHION)] = { .text = gEasyChatWord_Fashion, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_SONG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ADVENTURE)] = { .text = gEasyChatWord_Adventure, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_SONGS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BOARD)] = { .text = gEasyChatWord_Board, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_SPECTATOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BALL)] = { .text = gEasyChatWord_Ball, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_SPORTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BOOK)] = { .text = gEasyChatWord_Book, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_SWEETS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FESTIVAL)] = { .text = gEasyChatWord_Festival, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOYS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COMICS)] = { .text = gEasyChatWord_Comics, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRAVEL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOLIDAY)] = { .text = gEasyChatWord_Holiday, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_TREASURE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLANS)] = { .text = gEasyChatWord_Plans, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRENDY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRENDY)] = { .text = gEasyChatWord_Trendy, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_VACATION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VACATION)] = { .text = gEasyChatWord_Vacation, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_VIEWING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOOK)] = { .text = gEasyChatWord_Look, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_WALK), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_lifestyle.h b/src/data/easy_chat/easy_chat_group_lifestyle.h index 5819d0f2e4..264f4dde90 100755 --- a/src/data/easy_chat/easy_chat_group_lifestyle.h +++ b/src/data/easy_chat/easy_chat_group_lifestyle.h @@ -48,271 +48,271 @@ const struct EasyChatWordInfo gEasyChatGroup_Lifestyle[] = { [EC_INDEX(EC_WORD_CHORES)] = { .text = gEasyChatWord_Chores, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALLOWANCE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOME)] = { .text = gEasyChatWord_Home, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_BATH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MONEY)] = { .text = gEasyChatWord_Money, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHORES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALLOWANCE)] = { .text = gEasyChatWord_Allowance, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_CLASS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BATH)] = { .text = gEasyChatWord_Bath, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_COMMEMORATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CONVERSATION)] = { .text = gEasyChatWord_Conversation, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_CONVERSATION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SCHOOL)] = { .text = gEasyChatWord_School, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_DEPT_STORE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COMMEMORATE)] = { .text = gEasyChatWord_Commemorate, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_DIGITAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HABIT)] = { .text = gEasyChatWord_Habit, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_DREAM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GROUP)] = { .text = gEasyChatWord_Group, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WORD)] = { .text = gEasyChatWord_Word, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_GROUP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STORE)] = { .text = gEasyChatWord_Store, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_HABIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SERVICE)] = { .text = gEasyChatWord_Service, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WORK)] = { .text = gEasyChatWord_Work, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_INFORMATION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SYSTEM)] = { .text = gEasyChatWord_System, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_ITEM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRAIN)] = { .text = gEasyChatWord_Train, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_KINDERGARTEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CLASS)] = { .text = gEasyChatWord_Class, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_LESSONS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LESSONS)] = { .text = gEasyChatWord_Lessons, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_LETTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INFORMATION)] = { .text = gEasyChatWord_Information, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIFE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIVING)] = { .text = gEasyChatWord_Living, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIVING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TEACHER)] = { .text = gEasyChatWord_Teacher, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_MACHINE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOURNAMENT)] = { .text = gEasyChatWord_Tournament, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAIL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LETTER)] = { .text = gEasyChatWord_Letter, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_MESSAGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVENT)] = { .text = gEasyChatWord_Event, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_MONEY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DIGITAL)] = { .text = gEasyChatWord_Digital, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_NAME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TEST)] = { .text = gEasyChatWord_Test, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEWS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DEPT_STORE)] = { .text = gEasyChatWord_DeptStore, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_PARTY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TELEVISION)] = { .text = gEasyChatWord_Television, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_PHONE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PHONE)] = { .text = gEasyChatWord_Phone, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_POPULAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ITEM)] = { .text = gEasyChatWord_Item, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_PROMISE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NAME)] = { .text = gEasyChatWord_Name, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_RADIO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEWS)] = { .text = gEasyChatWord_News, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_RENTAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POPULAR)] = { .text = gEasyChatWord_Popular, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_SCHOOL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PARTY)] = { .text = gEasyChatWord_Party, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_SERVICE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STUDY)] = { .text = gEasyChatWord_Study, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_STORE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MACHINE)] = { .text = gEasyChatWord_Machine, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_STUDY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAIL)] = { .text = gEasyChatWord_Mail, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_SYSTEM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MESSAGE)] = { .text = gEasyChatWord_Message, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_TEACHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PROMISE)] = { .text = gEasyChatWord_Promise, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_TELEVISION), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DREAM)] = { .text = gEasyChatWord_Dream, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_TEST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KINDERGARTEN)] = { .text = gEasyChatWord_Kindergarten, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOURNAMENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIFE)] = { .text = gEasyChatWord_Life, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRAIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RADIO)] = { .text = gEasyChatWord_Radio, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_WORD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RENTAL)] = { .text = gEasyChatWord_Rental, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_WORK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WORLD)] = { .text = gEasyChatWord_World, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_WORLD), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_misc.h b/src/data/easy_chat/easy_chat_group_misc.h index aa8f84406d..187c86fc7a 100755 --- a/src/data/easy_chat/easy_chat_group_misc.h +++ b/src/data/easy_chat/easy_chat_group_misc.h @@ -45,253 +45,253 @@ const struct EasyChatWordInfo gEasyChatGroup_Misc[] = { [EC_INDEX(EC_WORD_HIGHS)] = { .text = gEasyChatWord_Highs, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_ABOVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOWS)] = { .text = gEasyChatWord_Lows, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_AM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UM)] = { .text = gEasyChatWord_Um, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_AWAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_REAR)] = { .text = gEasyChatWord_Rear, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_BACK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THINGS)] = { .text = gEasyChatWord_Things, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_BELOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THING)] = { .text = gEasyChatWord_Thing, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_BESIDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BELOW)] = { .text = gEasyChatWord_Below, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHOICE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ABOVE)] = { .text = gEasyChatWord_Above, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_CONFUSED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BACK)] = { .text = gEasyChatWord_Back, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_DEEP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIGH)] = { .text = gEasyChatWord_High, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_DOWN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HERE)] = { .text = gEasyChatWord_Here, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVERY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INSIDE)] = { .text = gEasyChatWord_Inside, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_FAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OUTSIDE)] = { .text = gEasyChatWord_Outside, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_FRONT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BESIDE)] = { .text = gEasyChatWord_Beside, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_HERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THIS_IS_IT_EXCL)] = { .text = gEasyChatWord_ThisIsItExcl, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THIS)] = { .text = gEasyChatWord_This, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIGHS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVERY)] = { .text = gEasyChatWord_Every, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_INSIDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THESE)] = { .text = gEasyChatWord_These, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEFT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THESE_WERE)] = { .text = gEasyChatWord_TheseWere, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOWS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DOWN)] = { .text = gEasyChatWord_Down, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THAT)] = { .text = gEasyChatWord_That, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_OPPOSITE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THOSE_ARE)] = { .text = gEasyChatWord_ThoseAre, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_OUTSIDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THOSE_WERE)] = { .text = gEasyChatWord_ThoseWere, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_REAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THAT_S_IT_EXCL)] = { .text = gEasyChatWord_ThatsItExcl, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_RIGHT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AM)] = { .text = gEasyChatWord_Am, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHALLOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THAT_WAS)] = { .text = gEasyChatWord_ThatWas, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_THAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FRONT)] = { .text = gEasyChatWord_Front, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_THAT_WAS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UP)] = { .text = gEasyChatWord_Up, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_THAT_S_IT_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHOICE)] = { .text = gEasyChatWord_Choice, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_THESE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FAR)] = { .text = gEasyChatWord_Far, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_THESE_WERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AWAY)] = { .text = gEasyChatWord_Away, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_THING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEAR)] = { .text = gEasyChatWord_Near, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_THINGS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHERE)] = { .text = gEasyChatWord_Where, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_THIS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHEN)] = { .text = gEasyChatWord_When, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_THIS_IS_IT_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHAT)] = { .text = gEasyChatWord_What, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_THOSE_ARE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DEEP)] = { .text = gEasyChatWord_Deep, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_THOSE_WERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHALLOW)] = { .text = gEasyChatWord_Shallow, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_UM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHY)] = { .text = gEasyChatWord_Why, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_UP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CONFUSED)] = { .text = gEasyChatWord_Confused, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OPPOSITE)] = { .text = gEasyChatWord_Opposite, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEFT)] = { .text = gEasyChatWord_Left, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RIGHT)] = { .text = gEasyChatWord_Right, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHY), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_people.h b/src/data/easy_chat/easy_chat_group_people.h index 2ddd3c9d9c..fb73c8651a 100755 --- a/src/data/easy_chat/easy_chat_group_people.h +++ b/src/data/easy_chat/easy_chat_group_people.h @@ -78,451 +78,451 @@ const struct EasyChatWordInfo gEasyChatGroup_People[] = { [EC_INDEX(EC_WORD_OPPONENT)] = { .text = gEasyChatWord_Opponent, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_ADULT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_I)] = { .text = gEasyChatWord_I, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YOU)] = { .text = gEasyChatWord_You, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_AREN_T), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YOURS)] = { .text = gEasyChatWord_Yours, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_AUNT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SON)] = { .text = gEasyChatWord_Son, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_BABE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YOUR)] = { .text = gEasyChatWord_Your, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YOU_RE)] = { .text = gEasyChatWord_Youre, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_BOY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YOU_VE)] = { .text = gEasyChatWord_Youve, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_BROTHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MOTHER)] = { .text = gEasyChatWord_Mother, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHILDREN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GRANDFATHER)] = { .text = gEasyChatWord_Grandfather, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_DAUGHTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNCLE)] = { .text = gEasyChatWord_Uncle, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_DUDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FATHER)] = { .text = gEasyChatWord_Father, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_FAMILY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BOY)] = { .text = gEasyChatWord_Boy, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_FATHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ADULT)] = { .text = gEasyChatWord_Adult, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_FRIEND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BROTHER)] = { .text = gEasyChatWord_Brother, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIRL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SISTER)] = { .text = gEasyChatWord_Sister, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_GRANDFATHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GRANDMOTHER)] = { .text = gEasyChatWord_Grandmother, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_GRANDMOTHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AUNT)] = { .text = gEasyChatWord_Aunt, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_HE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PARENT)] = { .text = gEasyChatWord_Parent, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_HE_S), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAN)] = { .text = gEasyChatWord_Man, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_HER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ME)] = { .text = gEasyChatWord_Me, - .alphabeticalOrder = 72, + .alphabeticalOrder = EC_INDEX(EC_WORD_HERS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIRL)] = { .text = gEasyChatWord_Girl, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BABE)] = { .text = gEasyChatWord_Babe, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FAMILY)] = { .text = gEasyChatWord_Family, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_I), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HER)] = { .text = gEasyChatWord_Her, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_I_AM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIM)] = { .text = gEasyChatWord_Him, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_I_WAS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HE)] = { .text = gEasyChatWord_He, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_I_VE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLACE)] = { .text = gEasyChatWord_Place, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_IT_S), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DAUGHTER)] = { .text = gEasyChatWord_Daughter, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_KID), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIS)] = { .text = gEasyChatWord_His, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_LADY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HE_S)] = { .text = gEasyChatWord_Hes, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AREN_T)] = { .text = gEasyChatWord_Arent, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_ME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SIBLINGS)] = { .text = gEasyChatWord_Siblings, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_MOTHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KID)] = { .text = gEasyChatWord_Kid, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_MR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHILDREN)] = { .text = gEasyChatWord_Children, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_MRS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MR)] = { .text = gEasyChatWord_Mr, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_MY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MRS)] = { .text = gEasyChatWord_Mrs, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_MYSELF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MYSELF)] = { .text = gEasyChatWord_Myself, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_OPPONENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_I_WAS)] = { .text = gEasyChatWord_IWas, - .alphabeticalOrder = 64, + .alphabeticalOrder = EC_INDEX(EC_WORD_OUR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TO_ME)] = { .text = gEasyChatWord_ToMe, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_PARENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MY)] = { .text = gEasyChatWord_My, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_PERSON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_I_AM)] = { .text = gEasyChatWord_IAm, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLACE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_I_VE)] = { .text = gEasyChatWord_Ive, - .alphabeticalOrder = 66, + .alphabeticalOrder = EC_INDEX(EC_WORD_RIVAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHO)] = { .text = gEasyChatWord_Who, - .alphabeticalOrder = 69, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOMEONE)] = { .text = gEasyChatWord_Someone, - .alphabeticalOrder = 73, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHE_IS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHO_WAS)] = { .text = gEasyChatWord_WhoWas, - .alphabeticalOrder = 70, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHE_WAS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TO_WHOM)] = { .text = gEasyChatWord_ToWhom, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_SIBLINGS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHOSE)] = { .text = gEasyChatWord_Whose, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_SISTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHO_IS)] = { .text = gEasyChatWord_WhoIs, - .alphabeticalOrder = 74, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IT_S)] = { .text = gEasyChatWord_Its, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOMEONE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LADY)] = { .text = gEasyChatWord_Lady, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_SON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FRIEND)] = { .text = gEasyChatWord_Friend, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_THEIR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALLY)] = { .text = gEasyChatWord_Ally, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_THEY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PERSON)] = { .text = gEasyChatWord_Person, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_THEY_WERE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DUDE)] = { .text = gEasyChatWord_Dude, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_THEY_RE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THEY)] = { .text = gEasyChatWord_They, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_THEY_VE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THEY_WERE)] = { .text = gEasyChatWord_TheyWere, - .alphabeticalOrder = 71, + .alphabeticalOrder = EC_INDEX(EC_WORD_TO_HER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TO_THEM)] = { .text = gEasyChatWord_ToThem, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_TO_ME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THEIR)] = { .text = gEasyChatWord_Their, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_TO_THEM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THEY_RE)] = { .text = gEasyChatWord_Theyre, - .alphabeticalOrder = 63, + .alphabeticalOrder = EC_INDEX(EC_WORD_TO_US), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THEY_VE)] = { .text = gEasyChatWord_Theyve, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_TO_WHOM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WE)] = { .text = gEasyChatWord_We, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNCLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEEN)] = { .text = gEasyChatWord_Been, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_WE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TO_US)] = { .text = gEasyChatWord_ToUs, - .alphabeticalOrder = 65, + .alphabeticalOrder = EC_INDEX(EC_WORD_WE_RE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OUR)] = { .text = gEasyChatWord_Our, - .alphabeticalOrder = 67, + .alphabeticalOrder = EC_INDEX(EC_WORD_WE_VE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WE_RE)] = { .text = gEasyChatWord_WeRe, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RIVAL)] = { .text = gEasyChatWord_Rival, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHO_IS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WE_VE)] = { .text = gEasyChatWord_Weve, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHO_WAS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WOMAN)] = { .text = gEasyChatWord_Woman, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHOSE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHE)] = { .text = gEasyChatWord_She, - .alphabeticalOrder = 68, + .alphabeticalOrder = EC_INDEX(EC_WORD_WOMAN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHE_WAS)] = { .text = gEasyChatWord_SheWas, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_YOU), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TO_HER)] = { .text = gEasyChatWord_ToHer, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_YOU_RE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HERS)] = { .text = gEasyChatWord_Hers, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_YOU_VE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHE_IS)] = { .text = gEasyChatWord_SheIs, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_YOUR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOME)] = { .text = gEasyChatWord_Some, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_YOURS), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_speech.h b/src/data/easy_chat/easy_chat_group_speech.h index a0874a33a5..c88aedc39e 100755 --- a/src/data/easy_chat/easy_chat_group_speech.h +++ b/src/data/easy_chat/easy_chat_group_speech.h @@ -63,361 +63,361 @@ const struct EasyChatWordInfo gEasyChatGroup_Speech[] = { [EC_INDEX(EC_WORD_LISTEN)] = { .text = gEasyChatWord_Listen, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_A_LITTLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NOT_VERY)] = { .text = gEasyChatWord_NotVery, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_A_LOT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MEAN)] = { .text = gEasyChatWord_Mean, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_A_TINY_BIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIE)] = { .text = gEasyChatWord_Lie, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_ABSOLUTELY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LAY)] = { .text = gEasyChatWord_Lay, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALSO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RECOMMEND)] = { .text = gEasyChatWord_Recommend, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALTHOUGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NITWIT)] = { .text = gEasyChatWord_Nitwit, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_AND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_QUITE)] = { .text = gEasyChatWord_Quite, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FROM)] = { .text = gEasyChatWord_From, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_AROUND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FEELING)] = { .text = gEasyChatWord_Feeling, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_AS_IF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BUT)] = { .text = gEasyChatWord_But, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_AS_MUCH_AS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOWEVER)] = { .text = gEasyChatWord_However, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_AWFULLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CASE)] = { .text = gEasyChatWord_Case, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_BUT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THE)] = { .text = gEasyChatWord_The, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_CASE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MISS)] = { .text = gEasyChatWord_Miss, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_ENOUGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOW)] = { .text = gEasyChatWord_How, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVEN_SO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIT)] = { .text = gEasyChatWord_Hit, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_FANTASTIC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ENOUGH)] = { .text = gEasyChatWord_Enough, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_FEELING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_A_LOT)] = { .text = gEasyChatWord_ALot, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_FINALLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_A_LITTLE)] = { .text = gEasyChatWord_ALittle, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_FOR_NOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ABSOLUTELY)] = { .text = gEasyChatWord_Absolutely, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_FROM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AND)] = { .text = gEasyChatWord_And, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ONLY)] = { .text = gEasyChatWord_Only, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AROUND)] = { .text = gEasyChatWord_Around, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOWEVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PROBABLY)] = { .text = gEasyChatWord_Probably, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_IF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IF)] = { .text = gEasyChatWord_If, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_INSTEAD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VERY)] = { .text = gEasyChatWord_Very, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_JOKING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_A_TINY_BIT)] = { .text = gEasyChatWord_ATinyBit, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_JUST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WILD)] = { .text = gEasyChatWord_Wild, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_LAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THAT_S)] = { .text = gEasyChatWord_Thats, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_JUST)] = { .text = gEasyChatWord_Just, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_LISTEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVEN_SO)] = { .text = gEasyChatWord_EvenSo, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_MEAN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MUST_BE)] = { .text = gEasyChatWord_MustBe, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_MISS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NATURALLY)] = { .text = gEasyChatWord_Naturally, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_MODE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FOR_NOW)] = { .text = gEasyChatWord_ForNow, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_MOOD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNDERSTOOD)] = { .text = gEasyChatWord_Understood, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_MORE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_JOKING)] = { .text = gEasyChatWord_Joking, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_MUST_BE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_READY)] = { .text = gEasyChatWord_Ready, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_NATURALLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOMETHING)] = { .text = gEasyChatWord_Something, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_NITWIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOMEHOW)] = { .text = gEasyChatWord_Somehow, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_NOT_VERY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALTHOUGH)] = { .text = gEasyChatWord_Although, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_ONLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALSO)] = { .text = gEasyChatWord_Also, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_PERFECT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PERFECT)] = { .text = gEasyChatWord_Perfect, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_PROBABLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AS_MUCH_AS)] = { .text = gEasyChatWord_AsMuchAs, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_QUITE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_REALLY)] = { .text = gEasyChatWord_Really, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_RATHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRULY)] = { .text = gEasyChatWord_Truly, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_READY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SERIOUSLY)] = { .text = gEasyChatWord_Seriously, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_REALLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOTALLY)] = { .text = gEasyChatWord_Totally, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_RECOMMEND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNTIL)] = { .text = gEasyChatWord_Until, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_SERIOUSLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AS_IF)] = { .text = gEasyChatWord_AsIf, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOMEHOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MOOD)] = { .text = gEasyChatWord_Mood, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOMETHING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RATHER)] = { .text = gEasyChatWord_Rather, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_THAT_S), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AWFULLY)] = { .text = gEasyChatWord_Awfully, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_THE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MODE)] = { .text = gEasyChatWord_Mode, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOO_LATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MORE)] = { .text = gEasyChatWord_More, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOTALLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOO_LATE)] = { .text = gEasyChatWord_TooLate, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRULY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FINALLY)] = { .text = gEasyChatWord_Finally, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNDERSTOOD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANY)] = { .text = gEasyChatWord_Any, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNTIL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INSTEAD)] = { .text = gEasyChatWord_Instead, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_VERY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FANTASTIC)] = { .text = gEasyChatWord_Fantastic, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_WILD), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_status.h b/src/data/easy_chat/easy_chat_group_status.h index af2292b446..b751fbaf18 100755 --- a/src/data/easy_chat/easy_chat_group_status.h +++ b/src/data/easy_chat/easy_chat_group_status.h @@ -112,655 +112,655 @@ const struct EasyChatWordInfo gEasyChatGroup_Status[] = { [EC_INDEX(EC_WORD_DARK)] = { .text = gEasyChatWord_Dark, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_AIR_LOCK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STENCH)] = { .text = gEasyChatWord_Stench, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALT_COLOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THICK_FAT)] = { .text = gEasyChatWord_ThickFat, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_ARENA_TRAP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RAIN_DISH)] = { .text = gEasyChatWord_RainDish, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE_ARMOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DRIZZLE)] = { .text = gEasyChatWord_Drizzle, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEAUTIFUL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ARENA_TRAP)] = { .text = gEasyChatWord_ArenaTrap, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEAUTY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INTIMIDATE)] = { .text = gEasyChatWord_Intimidate, - .alphabeticalOrder = 101, + .alphabeticalOrder = EC_INDEX(EC_WORD_BLAZE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ROCK_HEAD)] = { .text = gEasyChatWord_RockHead, - .alphabeticalOrder = 97, + .alphabeticalOrder = EC_INDEX(EC_WORD_BUG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COLOR)] = { .text = gEasyChatWord_Color, - .alphabeticalOrder = 106, + .alphabeticalOrder = EC_INDEX(EC_WORD_CHLOROPHYLL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALT_COLOR)] = { .text = gEasyChatWord_AltColor, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_CLEAR_BODY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ROCK)] = { .text = gEasyChatWord_Rock, - .alphabeticalOrder = 68, + .alphabeticalOrder = EC_INDEX(EC_WORD_CLOUD_NINE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEAUTIFUL)] = { .text = gEasyChatWord_Beautiful, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_COLOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEAUTY)] = { .text = gEasyChatWord_Beauty, - .alphabeticalOrder = 86, + .alphabeticalOrder = EC_INDEX(EC_WORD_COLOR_CHANGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AIR_LOCK)] = { .text = gEasyChatWord_AirLock, - .alphabeticalOrder = 78, + .alphabeticalOrder = EC_INDEX(EC_WORD_COMPOUNDEYES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PSYCHIC)] = { .text = gEasyChatWord_Psychic, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_COOL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HYPER_CUTTER)] = { .text = gEasyChatWord_HyperCutter, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_COOLNESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FIGHTING)] = { .text = gEasyChatWord_Fighting, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_CUTE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHADOW_TAG)] = { .text = gEasyChatWord_ShadowTag, - .alphabeticalOrder = 99, + .alphabeticalOrder = EC_INDEX(EC_WORD_CUTE_CHARM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMART)] = { .text = gEasyChatWord_Smart, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_CUTENESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMARTNESS)] = { .text = gEasyChatWord_Smartness, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_DAMP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SPEED_BOOST)] = { .text = gEasyChatWord_SpeedBoost, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_DARK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COOL)] = { .text = gEasyChatWord_Cool, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_DRAGON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COOLNESS)] = { .text = gEasyChatWord_Coolness, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_DRIZZLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BATTLE_ARMOR)] = { .text = gEasyChatWord_BattleArmor, - .alphabeticalOrder = 76, + .alphabeticalOrder = EC_INDEX(EC_WORD_DROUGHT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CUTE)] = { .text = gEasyChatWord_Cute, - .alphabeticalOrder = 72, + .alphabeticalOrder = EC_INDEX(EC_WORD_EARLY_BIRD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CUTENESS)] = { .text = gEasyChatWord_Cuteness, - .alphabeticalOrder = 88, + .alphabeticalOrder = EC_INDEX(EC_WORD_EFFECT_SPORE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STURDY)] = { .text = gEasyChatWord_Sturdy, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_ELECTRIC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SUCTION_CUPS)] = { .text = gEasyChatWord_SuctionCups, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_FIGHTING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GRASS)] = { .text = gEasyChatWord_Grass, - .alphabeticalOrder = 90, + .alphabeticalOrder = EC_INDEX(EC_WORD_FIRE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CLEAR_BODY)] = { .text = gEasyChatWord_ClearBody, - .alphabeticalOrder = 91, + .alphabeticalOrder = EC_INDEX(EC_WORD_FLAME_BODY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TORRENT)] = { .text = gEasyChatWord_Torrent, - .alphabeticalOrder = 104, + .alphabeticalOrder = EC_INDEX(EC_WORD_FLASH_FIRE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GHOST)] = { .text = gEasyChatWord_Ghost, - .alphabeticalOrder = 75, + .alphabeticalOrder = EC_INDEX(EC_WORD_FLYING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ICE)] = { .text = gEasyChatWord_Ice, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_FORECAST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GUTS)] = { .text = gEasyChatWord_Guts, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_GHOST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ROUGH_SKIN)] = { .text = gEasyChatWord_RoughSkin, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_GRASS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHELL_ARMOR)] = { .text = gEasyChatWord_ShellArmor, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_GROUND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NATURAL_CURE)] = { .text = gEasyChatWord_NaturalCure, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_GUTS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DAMP)] = { .text = gEasyChatWord_Damp, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_HUGE_POWER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GROUND)] = { .text = gEasyChatWord_Ground, - .alphabeticalOrder = 73, + .alphabeticalOrder = EC_INDEX(EC_WORD_HUSTLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIMBER)] = { .text = gEasyChatWord_Limber, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_HYPER_CUTTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAGNET_PULL)] = { .text = gEasyChatWord_MagnetPull, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_ICE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHITE_SMOKE)] = { .text = gEasyChatWord_WhiteSmoke, - .alphabeticalOrder = 71, + .alphabeticalOrder = EC_INDEX(EC_WORD_ILLUMINATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SYNCHRONIZE)] = { .text = gEasyChatWord_Synchronize, - .alphabeticalOrder = 100, + .alphabeticalOrder = EC_INDEX(EC_WORD_IMMUNITY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OVERGROW)] = { .text = gEasyChatWord_Overgrow, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_INNER_FOCUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SWIFT_SWIM)] = { .text = gEasyChatWord_SwiftSwim, - .alphabeticalOrder = 81, + .alphabeticalOrder = EC_INDEX(EC_WORD_INSOMNIA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SAND_STREAM)] = { .text = gEasyChatWord_SandStream, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_INTIMIDATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SAND_VEIL)] = { .text = gEasyChatWord_SandVeil, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_KEEN_EYE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KEEN_EYE)] = { .text = gEasyChatWord_KeenEye, - .alphabeticalOrder = 82, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEVITATE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INNER_FOCUS)] = { .text = gEasyChatWord_InnerFocus, - .alphabeticalOrder = 77, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIGHTNINGROD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STATIC)] = { .text = gEasyChatWord_Static, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIMBER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TYPE)] = { .text = gEasyChatWord_Type, - .alphabeticalOrder = 85, + .alphabeticalOrder = EC_INDEX(EC_WORD_LIQUID_OOZE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOUGH)] = { .text = gEasyChatWord_Tough, - .alphabeticalOrder = 94, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAGMA_ARMOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOUGHNESS)] = { .text = gEasyChatWord_Toughness, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_MAGNET_PULL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHED_SKIN)] = { .text = gEasyChatWord_ShedSkin, - .alphabeticalOrder = 79, + .alphabeticalOrder = EC_INDEX(EC_WORD_MARVEL_SCALE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HUGE_POWER)] = { .text = gEasyChatWord_HugePower, - .alphabeticalOrder = 92, + .alphabeticalOrder = EC_INDEX(EC_WORD_MINUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VOLT_ABSORB)] = { .text = gEasyChatWord_VoltAbsorb, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_NATURAL_CURE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WATER_ABSORB)] = { .text = gEasyChatWord_WaterAbsorb, - .alphabeticalOrder = 69, + .alphabeticalOrder = EC_INDEX(EC_WORD_NORMAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ELECTRIC)] = { .text = gEasyChatWord_Electric, - .alphabeticalOrder = 64, + .alphabeticalOrder = EC_INDEX(EC_WORD_OBLIVIOUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FORECAST)] = { .text = gEasyChatWord_Forecast, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_OVERGROW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SERENE_GRACE)] = { .text = gEasyChatWord_SereneGrace, - .alphabeticalOrder = 93, + .alphabeticalOrder = EC_INDEX(EC_WORD_OWN_TEMPO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POISON)] = { .text = gEasyChatWord_Poison, - .alphabeticalOrder = 103, + .alphabeticalOrder = EC_INDEX(EC_WORD_PATTERN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POISON_POINT)] = { .text = gEasyChatWord_PoisonPoint, - .alphabeticalOrder = 102, + .alphabeticalOrder = EC_INDEX(EC_WORD_PICKUP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DRAGON)] = { .text = gEasyChatWord_Dragon, - .alphabeticalOrder = 89, + .alphabeticalOrder = EC_INDEX(EC_WORD_PKRS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRACE)] = { .text = gEasyChatWord_Trace, - .alphabeticalOrder = 83, + .alphabeticalOrder = EC_INDEX(EC_WORD_PLUS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OBLIVIOUS)] = { .text = gEasyChatWord_Oblivious, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_POISON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRUANT)] = { .text = gEasyChatWord_Truant, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_POISON_POINT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RUN_AWAY)] = { .text = gEasyChatWord_RunAway, - .alphabeticalOrder = 84, + .alphabeticalOrder = EC_INDEX(EC_WORD_PRESSURE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STICKY_HOLD)] = { .text = gEasyChatWord_StickyHold, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_PSYCHIC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CLOUD_NINE)] = { .text = gEasyChatWord_CloudNine, - .alphabeticalOrder = 107, + .alphabeticalOrder = EC_INDEX(EC_WORD_PURE_POWER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NORMAL)] = { .text = gEasyChatWord_Normal, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_RAIN_DISH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STEEL)] = { .text = gEasyChatWord_Steel, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_ROCK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ILLUMINATE)] = { .text = gEasyChatWord_Illuminate, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_ROCK_HEAD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EARLY_BIRD)] = { .text = gEasyChatWord_EarlyBird, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_ROUGH_SKIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HUSTLE)] = { .text = gEasyChatWord_Hustle, - .alphabeticalOrder = 66, + .alphabeticalOrder = EC_INDEX(EC_WORD_RUN_AWAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHINE)] = { .text = gEasyChatWord_Shine, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_SAND_STREAM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FLYING)] = { .text = gEasyChatWord_Flying, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_SAND_VEIL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DROUGHT)] = { .text = gEasyChatWord_Drought, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_SERENE_GRACE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIGHTNINGROD)] = { .text = gEasyChatWord_Lightningrod, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHADOW_TAG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COMPOUNDEYES)] = { .text = gEasyChatWord_Compoundeyes, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHED_SKIN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MARVEL_SCALE)] = { .text = gEasyChatWord_MarvelScale, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHELL_ARMOR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WONDER_GUARD)] = { .text = gEasyChatWord_WonderGuard, - .alphabeticalOrder = 108, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHIELD_DUST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_INSOMNIA)] = { .text = gEasyChatWord_Insomnia, - .alphabeticalOrder = 74, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHINE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEVITATE)] = { .text = gEasyChatWord_Levitate, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMART), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PLUS)] = { .text = gEasyChatWord_Plus, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMARTNESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PRESSURE)] = { .text = gEasyChatWord_Pressure, - .alphabeticalOrder = 87, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOUNDPROOF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LIQUID_OOZE)] = { .text = gEasyChatWord_LiquidOoze, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_SPEED_BOOST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COLOR_CHANGE)] = { .text = gEasyChatWord_ColorChange, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_STATIC), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOUNDPROOF)] = { .text = gEasyChatWord_Soundproof, - .alphabeticalOrder = 70, + .alphabeticalOrder = EC_INDEX(EC_WORD_STEEL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EFFECT_SPORE)] = { .text = gEasyChatWord_EffectSpore, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_STENCH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PKRS)] = { .text = gEasyChatWord_Pkrs, - .alphabeticalOrder = 67, + .alphabeticalOrder = EC_INDEX(EC_WORD_STICKY_HOLD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FIRE)] = { .text = gEasyChatWord_Fire, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_STURDY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FLAME_BODY)] = { .text = gEasyChatWord_FlameBody, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_SUCTION_CUPS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MINUS)] = { .text = gEasyChatWord_Minus, - .alphabeticalOrder = 98, + .alphabeticalOrder = EC_INDEX(EC_WORD_SWARM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OWN_TEMPO)] = { .text = gEasyChatWord_OwnTempo, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_SWIFT_SWIM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MAGMA_ARMOR)] = { .text = gEasyChatWord_MagmaArmor, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_SYNCHRONIZE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WATER)] = { .text = gEasyChatWord_Water, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_THICK_FAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WATER_VEIL)] = { .text = gEasyChatWord_WaterVeil, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_TORRENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BUG)] = { .text = gEasyChatWord_Bug, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOUGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SWARM)] = { .text = gEasyChatWord_Swarm, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOUGHNESS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CUTE_CHARM)] = { .text = gEasyChatWord_CuteCharm, - .alphabeticalOrder = 63, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRACE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_IMMUNITY)] = { .text = gEasyChatWord_Immunity, - .alphabeticalOrder = 65, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRUANT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BLAZE)] = { .text = gEasyChatWord_Blaze, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_TYPE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PICKUP)] = { .text = gEasyChatWord_Pickup, - .alphabeticalOrder = 105, + .alphabeticalOrder = EC_INDEX(EC_WORD_VITAL_SPIRIT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PATTERN)] = { .text = gEasyChatWord_Pattern, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_VOLT_ABSORB), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FLASH_FIRE)] = { .text = gEasyChatWord_FlashFire, - .alphabeticalOrder = 95, + .alphabeticalOrder = EC_INDEX(EC_WORD_WATER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VITAL_SPIRIT)] = { .text = gEasyChatWord_VitalSpirit, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_WATER_ABSORB), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CHLOROPHYLL)] = { .text = gEasyChatWord_Chlorophyll, - .alphabeticalOrder = 96, + .alphabeticalOrder = EC_INDEX(EC_WORD_WATER_VEIL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_PURE_POWER)] = { .text = gEasyChatWord_PurePower, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHITE_SMOKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHIELD_DUST)] = { .text = gEasyChatWord_ShieldDust, - .alphabeticalOrder = 80, + .alphabeticalOrder = EC_INDEX(EC_WORD_WONDER_GUARD), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_time.h b/src/data/easy_chat/easy_chat_group_time.h index 061abffd49..e7646f4fa7 100755 --- a/src/data/easy_chat/easy_chat_group_time.h +++ b/src/data/easy_chat/easy_chat_group_time.h @@ -48,271 +48,271 @@ const struct EasyChatWordInfo gEasyChatGroup_Time[] = { [EC_INDEX(EC_WORD_FALL)] = { .text = gEasyChatWord_Fall, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_AGE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MORNING)] = { .text = gEasyChatWord_Morning, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALMOST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TOMORROW)] = { .text = gEasyChatWord_Tomorrow, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_ALWAYS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LAST)] = { .text = gEasyChatWord_Last, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_ANOTHER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DAY)] = { .text = gEasyChatWord_Day, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_BEGINNING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOMETIME)] = { .text = gEasyChatWord_Sometime, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_CURRENT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALWAYS)] = { .text = gEasyChatWord_Always, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_DAILY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CURRENT)] = { .text = gEasyChatWord_Current, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_DAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FOREVER)] = { .text = gEasyChatWord_Forever, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_DAYS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DAYS)] = { .text = gEasyChatWord_Days, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_DAYTIME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_END)] = { .text = gEasyChatWord_End, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_EARLIER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TUESDAY)] = { .text = gEasyChatWord_Tuesday, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_END), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YESTERDAY)] = { .text = gEasyChatWord_Yesterday, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_FALL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TODAY)] = { .text = gEasyChatWord_Today, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_FINAL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FRIDAY)] = { .text = gEasyChatWord_Friday, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_FINISH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MONDAY)] = { .text = gEasyChatWord_Monday, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_FOREVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LATER)] = { .text = gEasyChatWord_Later, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_FRIDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EARLIER)] = { .text = gEasyChatWord_Earlier, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_LAST), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ANOTHER)] = { .text = gEasyChatWord_Another, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_LATER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TIME)] = { .text = gEasyChatWord_Time, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_MONDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FINISH)] = { .text = gEasyChatWord_Finish, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_MONTH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WEDNESDAY)] = { .text = gEasyChatWord_Wednesday, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_MORNING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SOON)] = { .text = gEasyChatWord_Soon, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEARLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_START)] = { .text = gEasyChatWord_Start, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEXT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MONTH)] = { .text = gEasyChatWord_Month, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_NIGHT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_STOP)] = { .text = gEasyChatWord_Stop, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_NIGHTTIME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NOW)] = { .text = gEasyChatWord_Now, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_NOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FINAL)] = { .text = gEasyChatWord_Final, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_OLDEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEXT)] = { .text = gEasyChatWord_Next, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_SATURDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AGE)] = { .text = gEasyChatWord_Age, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOMETIME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SATURDAY)] = { .text = gEasyChatWord_Saturday, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_SOON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SUMMER)] = { .text = gEasyChatWord_Summer, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_SPRING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SUNDAY)] = { .text = gEasyChatWord_Sunday, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_START), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BEGINNING)] = { .text = gEasyChatWord_Beginning, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_STOP), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SPRING)] = { .text = gEasyChatWord_Spring, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_SUMMER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DAYTIME)] = { .text = gEasyChatWord_Daytime, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_SUNDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WINTER)] = { .text = gEasyChatWord_Winter, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_THURSDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DAILY)] = { .text = gEasyChatWord_Daily, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_TIME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OLDEN)] = { .text = gEasyChatWord_Olden, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_TODAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ALMOST)] = { .text = gEasyChatWord_Almost, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_TOMORROW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEARLY)] = { .text = gEasyChatWord_Nearly, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_TUESDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_THURSDAY)] = { .text = gEasyChatWord_Thursday, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_WEDNESDAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NIGHTTIME)] = { .text = gEasyChatWord_Nighttime, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_WEEK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NIGHT)] = { .text = gEasyChatWord_Night, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_WINTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WEEK)] = { .text = gEasyChatWord_Week, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_YESTERDAY), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_trainer.h b/src/data/easy_chat/easy_chat_group_trainer.h index 87966c9771..a74ac5c3f6 100755 --- a/src/data/easy_chat/easy_chat_group_trainer.h +++ b/src/data/easy_chat/easy_chat_group_trainer.h @@ -30,163 +30,163 @@ const struct EasyChatWordInfo gEasyChatGroup_Trainer[] = { [EC_INDEX(EC_WORD_I_CHOOSE_YOU)] = { .text = gEasyChatWord_IChooseYou, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_BAG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GOTCHA)] = { .text = gEasyChatWord_Gotcha, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_CENTER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRADE)] = { .text = gEasyChatWord_Trade, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_EGG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SAPPHIRE)] = { .text = gEasyChatWord_Sapphire, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_EMERALD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EVOLVE)] = { .text = gEasyChatWord_Evolve, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_ENCYCLOPEDIA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ENCYCLOPEDIA)] = { .text = gEasyChatWord_Encyclopedia, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_EVOLVE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NATURE)] = { .text = gEasyChatWord_Nature, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_FLAME), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CENTER)] = { .text = gEasyChatWord_Center, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_GET), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EGG)] = { .text = gEasyChatWord_Egg, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOLD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LINK)] = { .text = gEasyChatWord_Link, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_GOTCHA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SP_ABILITY)] = { .text = gEasyChatWord_SpAbility, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_GREEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TRAINER)] = { .text = gEasyChatWord_Trainer, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_I_CHOOSE_YOU), .enabled = TRUE, }, [EC_INDEX(EC_WORD_VERSION)] = { .text = gEasyChatWord_Version, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEAF), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POKENAV)] = { .text = gEasyChatWord_Pokenav, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_LEVEL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POKEMON)] = { .text = gEasyChatWord_Pokemon, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_LINK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GET)] = { .text = gEasyChatWord_Get, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_NATURE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_POKEDEX)] = { .text = gEasyChatWord_Pokedex, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_POKEDEX), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RUBY)] = { .text = gEasyChatWord_Ruby, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_POKEMON), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LEVEL)] = { .text = gEasyChatWord_Level, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_POKENAV), .enabled = TRUE, }, [EC_INDEX(EC_WORD_RED)] = { .text = gEasyChatWord_Red, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_RED), .enabled = FALSE, }, [EC_INDEX(EC_WORD_GREEN)] = { .text = gEasyChatWord_Green, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_RUBY), .enabled = FALSE, }, [EC_INDEX(EC_WORD_BAG)] = { .text = gEasyChatWord_Bag, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_SAPPHIRE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FLAME)] = { .text = gEasyChatWord_Flame, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_SILVER), .enabled = FALSE, }, [EC_INDEX(EC_WORD_GOLD)] = { .text = gEasyChatWord_Gold, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_SP_ABILITY), .enabled = FALSE, }, [EC_INDEX(EC_WORD_LEAF)] = { .text = gEasyChatWord_Leaf, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRADE), .enabled = FALSE, }, [EC_INDEX(EC_WORD_SILVER)] = { .text = gEasyChatWord_Silver, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_TRAINER), .enabled = FALSE, }, [EC_INDEX(EC_WORD_EMERALD)] = { .text = gEasyChatWord_Emerald, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_VERSION), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_trendy_saying.h b/src/data/easy_chat/easy_chat_group_trendy_saying.h index 938073f7f8..60b5d8c725 100755 --- a/src/data/easy_chat/easy_chat_group_trendy_saying.h +++ b/src/data/easy_chat/easy_chat_group_trendy_saying.h @@ -36,199 +36,199 @@ const struct EasyChatWordInfo gEasyChatGroup_TrendySaying[] = { [EC_INDEX(EC_WORD_KTHX_BYE)] = { .text = gEasyChatWord_KthxBye, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_1_HIT_KO_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YES_SIR_EXCL)] = { .text = gEasyChatWord_YesSirExcl, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_AVANT_GARDE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AVANT_GARDE)] = { .text = gEasyChatWord_AvantGarde, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_BABY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_COUPLE)] = { .text = gEasyChatWord_Couple, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_BANG), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MUCH_OBLIGED)] = { .text = gEasyChatWord_MuchObliged, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_CANCEL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YEEHAW_EXCL)] = { .text = gEasyChatWord_YeehawExcl, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_COUPLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MEGA)] = { .text = gEasyChatWord_Mega, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_DESTINY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_1_HIT_KO_EXCL)] = { .text = gEasyChatWord_1HitKOExcl, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_FEVER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DESTINY)] = { .text = gEasyChatWord_Destiny, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_FLATTEN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CANCEL)] = { .text = gEasyChatWord_Cancel, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAPPENING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NEW)] = { .text = gEasyChatWord_New, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_HASSLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FLATTEN)] = { .text = gEasyChatWord_Flatten, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEART), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KIDDING)] = { .text = gEasyChatWord_Kidding, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIP_AND), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOSER)] = { .text = gEasyChatWord_Loser, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_KIDDING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOSING)] = { .text = gEasyChatWord_Losing, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_KNOCKOUT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAPPENING)] = { .text = gEasyChatWord_Happening, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_KTHX_BYE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIP_AND)] = { .text = gEasyChatWord_HipAnd, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOSER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHAKE)] = { .text = gEasyChatWord_Shake, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOSING), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHADY)] = { .text = gEasyChatWord_Shady, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_MEGA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UPBEAT)] = { .text = gEasyChatWord_Upbeat, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_MODERN), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MODERN)] = { .text = gEasyChatWord_Modern, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_MUCH_OBLIGED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SMELL_YA)] = { .text = gEasyChatWord_SmellYa, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_NEW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BANG)] = { .text = gEasyChatWord_Bang, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_OLD), .enabled = TRUE, }, [EC_INDEX(EC_WORD_KNOCKOUT)] = { .text = gEasyChatWord_Knockout, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHADY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HASSLE)] = { .text = gEasyChatWord_Hassle, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHAKE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WINNER)] = { .text = gEasyChatWord_Winner, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_SMELL_YA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FEVER)] = { .text = gEasyChatWord_Fever, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_UGLY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WANNABE)] = { .text = gEasyChatWord_Wannabe, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_UPBEAT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_BABY)] = { .text = gEasyChatWord_Baby, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_WANNABE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEART)] = { .text = gEasyChatWord_Heart, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_WINNER), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OLD)] = { .text = gEasyChatWord_Old, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_YEEHAW_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YOUNG)] = { .text = gEasyChatWord_Young, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_YES_SIR_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UGLY)] = { .text = gEasyChatWord_Ugly, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_YOUNG), .enabled = TRUE, }, }; diff --git a/src/data/easy_chat/easy_chat_group_voices.h b/src/data/easy_chat/easy_chat_group_voices.h index 3ebbafd252..f50cba002e 100755 --- a/src/data/easy_chat/easy_chat_group_voices.h +++ b/src/data/easy_chat/easy_chat_group_voices.h @@ -66,379 +66,379 @@ const struct EasyChatWordInfo gEasyChatGroup_Voices[] = { [EC_INDEX(EC_WORD_EXCL)] = { .text = gEasyChatWord_Excl, - .alphabeticalOrder = 0, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EXCL_EXCL)] = { .text = gEasyChatWord_ExclExcl, - .alphabeticalOrder = 1, + .alphabeticalOrder = EC_INDEX(EC_WORD_EXCL_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_QUES_EXCL)] = { .text = gEasyChatWord_QuesExcl, - .alphabeticalOrder = 7, + .alphabeticalOrder = EC_INDEX(EC_WORD_DASH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_QUES)] = { .text = gEasyChatWord_Ques, - .alphabeticalOrder = 8, + .alphabeticalOrder = EC_INDEX(EC_WORD_DASH_DASH_DASH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ELLIPSIS)] = { .text = gEasyChatWord_Ellipsis, - .alphabeticalOrder = 4, + .alphabeticalOrder = EC_INDEX(EC_WORD_ELLIPSIS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ELLIPSIS_EXCL)] = { .text = gEasyChatWord_EllipsisExcl, - .alphabeticalOrder = 5, + .alphabeticalOrder = EC_INDEX(EC_WORD_ELLIPSIS_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS)] = { .text = gEasyChatWord_EllipsisEllipsisEllipsis, - .alphabeticalOrder = 6, + .alphabeticalOrder = EC_INDEX(EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DASH)] = { .text = gEasyChatWord_Dash, - .alphabeticalOrder = 3, + .alphabeticalOrder = EC_INDEX(EC_WORD_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_DASH_DASH_DASH)] = { .text = gEasyChatWord_DashDashDash, - .alphabeticalOrder = 2, + .alphabeticalOrder = EC_INDEX(EC_WORD_QUES_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UH_OH)] = { .text = gEasyChatWord_UhOh, - .alphabeticalOrder = 23, + .alphabeticalOrder = EC_INDEX(EC_WORD_AGREE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAAAH)] = { .text = gEasyChatWord_Waaah, - .alphabeticalOrder = 11, + .alphabeticalOrder = EC_INDEX(EC_WORD_AHAHA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AHAHA)] = { .text = gEasyChatWord_Ahaha, - .alphabeticalOrder = 41, + .alphabeticalOrder = EC_INDEX(EC_WORD_AIYEEH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OH_QUES)] = { .text = gEasyChatWord_OhQues, - .alphabeticalOrder = 52, + .alphabeticalOrder = EC_INDEX(EC_WORD_ARRGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_NOPE)] = { .text = gEasyChatWord_Nope, - .alphabeticalOrder = 59, + .alphabeticalOrder = EC_INDEX(EC_WORD_AWW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_URGH)] = { .text = gEasyChatWord_Urgh, - .alphabeticalOrder = 22, + .alphabeticalOrder = EC_INDEX(EC_WORD_CRIES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HMM)] = { .text = gEasyChatWord_Hmm, - .alphabeticalOrder = 25, + .alphabeticalOrder = EC_INDEX(EC_WORD_CRY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WHOAH)] = { .text = gEasyChatWord_Whoah, - .alphabeticalOrder = 32, + .alphabeticalOrder = EC_INDEX(EC_WORD_EEK), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WROOOAAR_EXCL)] = { .text = gEasyChatWord_WroooaarExcl, - .alphabeticalOrder = 24, + .alphabeticalOrder = EC_INDEX(EC_WORD_EH_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WOW)] = { .text = gEasyChatWord_Wow, - .alphabeticalOrder = 26, + .alphabeticalOrder = EC_INDEX(EC_WORD_EHEHE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GIGGLE)] = { .text = gEasyChatWord_Giggle, - .alphabeticalOrder = 43, + .alphabeticalOrder = EC_INDEX(EC_WORD_FUFUFU), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SIGH)] = { .text = gEasyChatWord_Sigh, - .alphabeticalOrder = 19, + .alphabeticalOrder = EC_INDEX(EC_WORD_GIGGLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UNBELIEVABLE)] = { .text = gEasyChatWord_Unbelievable, - .alphabeticalOrder = 33, + .alphabeticalOrder = EC_INDEX(EC_WORD_GRAAAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CRIES)] = { .text = gEasyChatWord_Cries, - .alphabeticalOrder = 61, + .alphabeticalOrder = EC_INDEX(EC_WORD_GWAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AGREE)] = { .text = gEasyChatWord_Agree, - .alphabeticalOrder = 34, + .alphabeticalOrder = EC_INDEX(EC_WORD_GWAHAHAHA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EH_QUES)] = { .text = gEasyChatWord_EhQues, - .alphabeticalOrder = 38, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_CRY)] = { .text = gEasyChatWord_Cry, - .alphabeticalOrder = 40, + .alphabeticalOrder = EC_INDEX(EC_WORD_HAHAHA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EHEHE)] = { .text = gEasyChatWord_Ehehe, - .alphabeticalOrder = 48, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OI_OI_OI)] = { .text = gEasyChatWord_OiOiOi, - .alphabeticalOrder = 37, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEHE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OH_YEAH)] = { .text = gEasyChatWord_OhYeah, - .alphabeticalOrder = 47, + .alphabeticalOrder = EC_INDEX(EC_WORD_HEHEHE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OH)] = { .text = gEasyChatWord_Oh, - .alphabeticalOrder = 42, + .alphabeticalOrder = EC_INDEX(EC_WORD_HIYAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OOPS)] = { .text = gEasyChatWord_Oops, - .alphabeticalOrder = 15, + .alphabeticalOrder = EC_INDEX(EC_WORD_HMM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SHOCKED)] = { .text = gEasyChatWord_Shocked, - .alphabeticalOrder = 49, + .alphabeticalOrder = EC_INDEX(EC_WORD_HOHOHO), .enabled = TRUE, }, [EC_INDEX(EC_WORD_EEK)] = { .text = gEasyChatWord_Eek, - .alphabeticalOrder = 46, + .alphabeticalOrder = EC_INDEX(EC_WORD_HUMPH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GRAAAH)] = { .text = gEasyChatWord_Graaah, - .alphabeticalOrder = 57, + .alphabeticalOrder = EC_INDEX(EC_WORD_LALALA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GWAHAHAHA)] = { .text = gEasyChatWord_Gwahahaha, - .alphabeticalOrder = 44, + .alphabeticalOrder = EC_INDEX(EC_WORD_LOL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAY)] = { .text = gEasyChatWord_Way, - .alphabeticalOrder = 54, + .alphabeticalOrder = EC_INDEX(EC_WORD_MMM), .enabled = TRUE, }, [EC_INDEX(EC_WORD_TCH)] = { .text = gEasyChatWord_Tch, - .alphabeticalOrder = 53, + .alphabeticalOrder = EC_INDEX(EC_WORD_MUFUFU), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEHE)] = { .text = gEasyChatWord_Hehe, - .alphabeticalOrder = 13, + .alphabeticalOrder = EC_INDEX(EC_WORD_NOPE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAH)] = { .text = gEasyChatWord_Hah, - .alphabeticalOrder = 29, + .alphabeticalOrder = EC_INDEX(EC_WORD_OH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YUP)] = { .text = gEasyChatWord_Yup, - .alphabeticalOrder = 51, + .alphabeticalOrder = EC_INDEX(EC_WORD_OH_DEAR), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HAHAHA)] = { .text = gEasyChatWord_Hahaha, - .alphabeticalOrder = 28, + .alphabeticalOrder = EC_INDEX(EC_WORD_OH_YEAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AIYEEH)] = { .text = gEasyChatWord_Aiyeeh, - .alphabeticalOrder = 55, + .alphabeticalOrder = EC_INDEX(EC_WORD_OH_KAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HIYAH)] = { .text = gEasyChatWord_Hiyah, - .alphabeticalOrder = 12, + .alphabeticalOrder = EC_INDEX(EC_WORD_OH_QUES), .enabled = TRUE, }, [EC_INDEX(EC_WORD_FUFUFU)] = { .text = gEasyChatWord_Fufufu, - .alphabeticalOrder = 27, + .alphabeticalOrder = EC_INDEX(EC_WORD_OI_OI_OI), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LOL)] = { .text = gEasyChatWord_Lol, - .alphabeticalOrder = 56, + .alphabeticalOrder = EC_INDEX(EC_WORD_OKAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_SNORT)] = { .text = gEasyChatWord_Snort, - .alphabeticalOrder = 30, + .alphabeticalOrder = EC_INDEX(EC_WORD_OOPS), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HUMPH)] = { .text = gEasyChatWord_Humph, - .alphabeticalOrder = 31, + .alphabeticalOrder = EC_INDEX(EC_WORD_SHOCKED), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEHEHE)] = { .text = gEasyChatWord_Hehehe, - .alphabeticalOrder = 20, + .alphabeticalOrder = EC_INDEX(EC_WORD_SIGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HEH)] = { .text = gEasyChatWord_Heh, - .alphabeticalOrder = 45, + .alphabeticalOrder = EC_INDEX(EC_WORD_SNORT), .enabled = TRUE, }, [EC_INDEX(EC_WORD_HOHOHO)] = { .text = gEasyChatWord_Hohoho, - .alphabeticalOrder = 36, + .alphabeticalOrder = EC_INDEX(EC_WORD_TCH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_UH_HUH)] = { .text = gEasyChatWord_UhHuh, - .alphabeticalOrder = 50, + .alphabeticalOrder = EC_INDEX(EC_WORD_UH_HUH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OH_DEAR)] = { .text = gEasyChatWord_OhDear, - .alphabeticalOrder = 9, + .alphabeticalOrder = EC_INDEX(EC_WORD_UH_OH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_ARRGH)] = { .text = gEasyChatWord_Arrgh, - .alphabeticalOrder = 21, + .alphabeticalOrder = EC_INDEX(EC_WORD_UNBELIEVABLE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MUFUFU)] = { .text = gEasyChatWord_Mufufu, - .alphabeticalOrder = 14, + .alphabeticalOrder = EC_INDEX(EC_WORD_URGH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_MMM)] = { .text = gEasyChatWord_Mmm, - .alphabeticalOrder = 10, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAAAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OH_KAY)] = { .text = gEasyChatWord_OhKay, - .alphabeticalOrder = 62, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAHAHAHA), .enabled = TRUE, }, [EC_INDEX(EC_WORD_OKAY)] = { .text = gEasyChatWord_Okay, - .alphabeticalOrder = 35, + .alphabeticalOrder = EC_INDEX(EC_WORD_WAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_LALALA)] = { .text = gEasyChatWord_Lalala, - .alphabeticalOrder = 16, + .alphabeticalOrder = EC_INDEX(EC_WORD_WHOAH), .enabled = TRUE, }, [EC_INDEX(EC_WORD_YAY)] = { .text = gEasyChatWord_Yay, - .alphabeticalOrder = 18, + .alphabeticalOrder = EC_INDEX(EC_WORD_WOW), .enabled = TRUE, }, [EC_INDEX(EC_WORD_AWW)] = { .text = gEasyChatWord_Aww, - .alphabeticalOrder = 60, + .alphabeticalOrder = EC_INDEX(EC_WORD_WOWEE), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WOWEE)] = { .text = gEasyChatWord_Wowee, - .alphabeticalOrder = 17, + .alphabeticalOrder = EC_INDEX(EC_WORD_WROOOAAR_EXCL), .enabled = TRUE, }, [EC_INDEX(EC_WORD_GWAH)] = { .text = gEasyChatWord_Gwah, - .alphabeticalOrder = 58, + .alphabeticalOrder = EC_INDEX(EC_WORD_YAY), .enabled = TRUE, }, [EC_INDEX(EC_WORD_WAHAHAHA)] = { .text = gEasyChatWord_Wahahaha, - .alphabeticalOrder = 39, + .alphabeticalOrder = EC_INDEX(EC_WORD_YUP), .enabled = TRUE, }, }; diff --git a/src/data/graphics/battle_environment.h b/src/data/graphics/battle_environment.h new file mode 100644 index 0000000000..d1abc026de --- /dev/null +++ b/src/data/graphics/battle_environment.h @@ -0,0 +1,88 @@ +const u32 gBattleEnvironmentTiles_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Sand[] = INCBIN_U32("graphics/battle_environment/sand/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_Sand[] = INCBIN_U32("graphics/battle_environment/sand/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_Sand[] = INCBIN_U32("graphics/battle_environment/sand/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Water[] = INCBIN_U32("graphics/battle_environment/water/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_Water[] = INCBIN_U32("graphics/battle_environment/water/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_Water[] = INCBIN_U32("graphics/battle_environment/water/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Rock[] = INCBIN_U32("graphics/battle_environment/rock/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_Rock[] = INCBIN_U32("graphics/battle_environment/rock/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_Rock[] = INCBIN_U32("graphics/battle_environment/rock/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Cave[] = INCBIN_U32("graphics/battle_environment/cave/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_Cave[] = INCBIN_U32("graphics/battle_environment/cave/palette.gbapal.lz"); +const u32 gBattleEnvironmentTilemap_Cave[] = INCBIN_U32("graphics/battle_environment/cave/map.bin.lz"); + +const u32 gBattleEnvironmentPalette_Plain[] = INCBIN_U32("graphics/battle_environment/plain/palette.gbapal.lz"); + +const u32 gBattleEnvironmentTiles_Building[] = INCBIN_U32("graphics/battle_environment/building/tiles.4bpp.lz"); +const u32 gBattleEnvironmentPalette_Frontier[] = INCBIN_U32("graphics/battle_environment/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles +const u32 gBattleEnvironmentTilemap_Building[] = INCBIN_U32("graphics/battle_environment/building/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Stadium[] = INCBIN_U32("graphics/battle_environment/stadium/tiles.4bpp.lz"); +const u32 gBattleEnvironmentTilemap_Stadium[] = INCBIN_U32("graphics/battle_environment/stadium/map.bin.lz"); + +const u32 gBattleEnvironmentTiles_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/tiles.4bpp.lz"); +const u32 gBattleEnvironmentTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/map.bin.lz"); + +const u32 gBattleEnvironmentPalette_Building[] = INCBIN_U32("graphics/battle_environment/building/palette.gbapal.lz"); + +const u32 gBattleEnvironmentPalette_Kyogre[] = INCBIN_U32("graphics/battle_environment/water/kyogre.gbapal.lz"); +const u32 gBattleEnvironmentPalette_Groudon[] = INCBIN_U32("graphics/battle_environment/cave/groudon.gbapal.lz"); +const u32 gBattleEnvironmentPalette_BuildingGym[] = INCBIN_U32("graphics/battle_environment/building/palette2.gbapal.lz"); +const u32 gBattleEnvironmentPalette_BuildingLeader[] = INCBIN_U32("graphics/battle_environment/building/palette3.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumAqua[] = INCBIN_U32("graphics/battle_environment/stadium/palette1.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumMagma[] = INCBIN_U32("graphics/battle_environment/stadium/palette2.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumSidney[] = INCBIN_U32("graphics/battle_environment/stadium/palette3.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumPhoebe[] = INCBIN_U32("graphics/battle_environment/stadium/palette4.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumGlacia[] = INCBIN_U32("graphics/battle_environment/stadium/palette5.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumDrake[] = INCBIN_U32("graphics/battle_environment/stadium/palette6.gbapal.lz"); +const u32 gBattleEnvironmentPalette_StadiumWallace[] = INCBIN_U32("graphics/battle_environment/stadium/palette7.gbapal.lz"); +const u32 gBattleEnvironmentPalette_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/palette.gbapal.lz"); + +const u32 gBattleEnvironmentAnimTiles_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_TallGrass[] = INCBIN_U32("graphics/battle_environment/tall_grass/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_LongGrass[] = INCBIN_U32("graphics/battle_environment/long_grass/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Sand[] = INCBIN_U32("graphics/battle_environment/sand/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Sand[] = INCBIN_U32("graphics/battle_environment/sand/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Underwater[] = INCBIN_U32("graphics/battle_environment/underwater/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Water[] = INCBIN_U32("graphics/battle_environment/water/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Water[] = INCBIN_U32("graphics/battle_environment/water/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_PondWater[] = INCBIN_U32("graphics/battle_environment/pond_water/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Rock[] = INCBIN_U32("graphics/battle_environment/rock/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Rock[] = INCBIN_U32("graphics/battle_environment/rock/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Cave[] = INCBIN_U32("graphics/battle_environment/cave/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Cave[] = INCBIN_U32("graphics/battle_environment/cave/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Building[] = INCBIN_U32("graphics/battle_environment/building/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Building[] = INCBIN_U32("graphics/battle_environment/building/anim_map.bin.lz"); + +const u32 gBattleEnvironmentAnimTiles_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/anim_tiles.4bpp.lz"); +const u32 gBattleEnvironmentAnimTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_environment/sky/anim_map.bin.lz"); diff --git a/src/data/graphics/battle_terrain.h b/src/data/graphics/battle_terrain.h deleted file mode 100644 index e719fafe3c..0000000000 --- a/src/data/graphics/battle_terrain.h +++ /dev/null @@ -1,88 +0,0 @@ -const u32 gBattleTerrainTiles_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/map.bin.lz"); - -const u32 gBattleTerrainTiles_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/map.bin.lz"); - -const u32 gBattleTerrainTiles_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/map.bin.lz"); - -const u32 gBattleTerrainTiles_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/map.bin.lz"); - -const u32 gBattleTerrainTiles_Water[] = INCBIN_U32("graphics/battle_terrain/water/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_Water[] = INCBIN_U32("graphics/battle_terrain/water/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_Water[] = INCBIN_U32("graphics/battle_terrain/water/map.bin.lz"); - -const u32 gBattleTerrainTiles_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/map.bin.lz"); - -const u32 gBattleTerrainTiles_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/map.bin.lz"); - -const u32 gBattleTerrainTiles_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/palette.gbapal.lz"); -const u32 gBattleTerrainTilemap_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/map.bin.lz"); - -const u32 gBattleTerrainPalette_Plain[] = INCBIN_U32("graphics/battle_terrain/plain/palette.gbapal.lz"); - -const u32 gBattleTerrainTiles_Building[] = INCBIN_U32("graphics/battle_terrain/building/tiles.4bpp.lz"); -const u32 gBattleTerrainPalette_Frontier[] = INCBIN_U32("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles -const u32 gBattleTerrainTilemap_Building[] = INCBIN_U32("graphics/battle_terrain/building/map.bin.lz"); - -const u32 gBattleTerrainTiles_Stadium[] = INCBIN_U32("graphics/battle_terrain/stadium/tiles.4bpp.lz"); -const u32 gBattleTerrainTilemap_Stadium[] = INCBIN_U32("graphics/battle_terrain/stadium/map.bin.lz"); - -const u32 gBattleTerrainTiles_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/tiles.4bpp.lz"); -const u32 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/map.bin.lz"); - -const u32 gBattleTerrainPalette_Building[] = INCBIN_U32("graphics/battle_terrain/building/palette.gbapal.lz"); - -const u32 gBattleTerrainPalette_Kyogre[] = INCBIN_U32("graphics/battle_terrain/water/kyogre.gbapal.lz"); -const u32 gBattleTerrainPalette_Groudon[] = INCBIN_U32("graphics/battle_terrain/cave/groudon.gbapal.lz"); -const u32 gBattleTerrainPalette_BuildingGym[] = INCBIN_U32("graphics/battle_terrain/building/palette2.gbapal.lz"); -const u32 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U32("graphics/battle_terrain/building/palette3.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U32("graphics/battle_terrain/stadium/palette1.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U32("graphics/battle_terrain/stadium/palette2.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U32("graphics/battle_terrain/stadium/palette3.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U32("graphics/battle_terrain/stadium/palette4.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U32("graphics/battle_terrain/stadium/palette5.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U32("graphics/battle_terrain/stadium/palette6.gbapal.lz"); -const u32 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U32("graphics/battle_terrain/stadium/palette7.gbapal.lz"); -const u32 gBattleTerrainPalette_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/palette.gbapal.lz"); - -const u32 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Water[] = INCBIN_U32("graphics/battle_terrain/water/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Water[] = INCBIN_U32("graphics/battle_terrain/water/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Building[] = INCBIN_U32("graphics/battle_terrain/building/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Building[] = INCBIN_U32("graphics/battle_terrain/building/anim_map.bin.lz"); - -const u32 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/anim_tiles.4bpp.lz"); -const u32 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/anim_map.bin.lz"); diff --git a/src/data/graphics/berries.h b/src/data/graphics/berries.h index e33384a846..0809537597 100644 --- a/src/data/graphics/berries.h +++ b/src/data/graphics/berries.h @@ -2,7 +2,7 @@ const u32 gBerryCheck_Gfx[] = INCBIN_U32("graphics/bag/check_berry.4bpp.lz"); const u32 gBerryCheck_Pal[] = INCBIN_U32("graphics/bag/check_berry.gbapal.lz"); const u32 gBerryTag_Gfx[] = INCBIN_U32("graphics/bag/berry_tag.bin.lz"); -const u32 gBerryTag_Pal[] = INCBIN_U32("graphics/bag/berry_tag_title.bin.lz"); +const u32 gBerryTag_Tilemap[] = INCBIN_U32("graphics/bag/berry_tag_title.bin.lz"); const u32 gBerryCheckCircle_Gfx[] = INCBIN_U32("graphics/bag/check_berry_circle.4bpp.lz"); diff --git a/src/data/graphics/intro_scene.h b/src/data/graphics/intro_scene.h index cb7706c9a3..8b17b00346 100644 --- a/src/data/graphics/intro_scene.h +++ b/src/data/graphics/intro_scene.h @@ -1,6 +1,6 @@ const u16 gIntroGameFreakTextFade_Pal[] = INCBIN_U16("graphics/intro/scene_1/text.gbapal"); // game freak text blue fade const u16 gIntroPlayer_Pal[] = INCBIN_U16("graphics/intro/scene_2/player.gbapal"); -const u16 gIntro3Bg_Pal[] = INCBIN_U16("graphics/intro/scene_3/bg.gbapal"); +const u16 gIntro3Bg_Pal[16][16] = INCBIN_U16("graphics/intro/scene_3/bg.gbapal"); const u16 gIntroVolbeat_Pal[] = INCBIN_U16("graphics/intro/scene_2/volbeat.gbapal"); const u16 gIntroTorchic_Pal[] = INCBIN_U16("graphics/intro/scene_2/torchic.gbapal"); const u16 gIntroManectric_Pal[] = INCBIN_U16("graphics/intro/scene_2/manectric.gbapal"); diff --git a/src/data/heal_locations.constants.json.txt b/src/data/heal_locations.constants.json.txt new file mode 100644 index 0000000000..e9ca860b35 --- /dev/null +++ b/src/data/heal_locations.constants.json.txt @@ -0,0 +1,14 @@ +#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H +#define GUARD_CONSTANTS_HEAL_LOCATIONS_H + +{{ doNotModifyHeader }} + +enum { + HEAL_LOCATION_NONE, +## for heal_location in heal_locations + {{ heal_location.id }}, +## endfor + NUM_HEAL_LOCATIONS +}; + +#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/src/data/heal_locations.h b/src/data/heal_locations.h deleted file mode 100644 index 04530a1dbf..0000000000 --- a/src/data/heal_locations.h +++ /dev/null @@ -1,25 +0,0 @@ -static const struct HealLocation sHealLocations[] = -{ - [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, - [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2}, - [HEAL_LOCATION_PETALBURG_CITY - 1] = {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17}, - [HEAL_LOCATION_SLATEPORT_CITY - 1] = {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20}, - [HEAL_LOCATION_MAUVILLE_CITY - 1] = {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6}, - [HEAL_LOCATION_RUSTBORO_CITY - 1] = {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39}, - [HEAL_LOCATION_FORTREE_CITY - 1] = {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7}, - [HEAL_LOCATION_LILYCOVE_CITY - 1] = {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15}, - [HEAL_LOCATION_MOSSDEEP_CITY - 1] = {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17}, - [HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32}, - [HEAL_LOCATION_EVER_GRANDE_CITY - 1] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49}, - [HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9}, - [HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9}, - [HEAL_LOCATION_OLDALE_TOWN - 1] = {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17}, - [HEAL_LOCATION_DEWFORD_TOWN - 1] = {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11}, - [HEAL_LOCATION_LAVARIDGE_TOWN - 1] = {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7}, - [HEAL_LOCATION_FALLARBOR_TOWN - 1] = {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8}, - [HEAL_LOCATION_VERDANTURF_TOWN - 1] = {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4}, - [HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16}, - [HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6}, - [HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20}, - [HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52}, -}; diff --git a/src/data/heal_locations.json b/src/data/heal_locations.json new file mode 100644 index 0000000000..c465ff65c3 --- /dev/null +++ b/src/data/heal_locations.json @@ -0,0 +1,136 @@ +{ + "heal_locations": [ + { + "id": "HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F", + "map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F", + "x": 4, + "y": 2 + }, + { + "id": "HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F", + "map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F", + "x": 4, + "y": 2 + }, + { + "id": "HEAL_LOCATION_PETALBURG_CITY", + "map": "MAP_PETALBURG_CITY", + "x": 20, + "y": 17 + }, + { + "id": "HEAL_LOCATION_SLATEPORT_CITY", + "map": "MAP_SLATEPORT_CITY", + "x": 19, + "y": 20 + }, + { + "id": "HEAL_LOCATION_MAUVILLE_CITY", + "map": "MAP_MAUVILLE_CITY", + "x": 22, + "y": 6 + }, + { + "id": "HEAL_LOCATION_RUSTBORO_CITY", + "map": "MAP_RUSTBORO_CITY", + "x": 16, + "y": 39 + }, + { + "id": "HEAL_LOCATION_FORTREE_CITY", + "map": "MAP_FORTREE_CITY", + "x": 5, + "y": 7 + }, + { + "id": "HEAL_LOCATION_LILYCOVE_CITY", + "map": "MAP_LILYCOVE_CITY", + "x": 24, + "y": 15 + }, + { + "id": "HEAL_LOCATION_MOSSDEEP_CITY", + "map": "MAP_MOSSDEEP_CITY", + "x": 28, + "y": 17 + }, + { + "id": "HEAL_LOCATION_SOOTOPOLIS_CITY", + "map": "MAP_SOOTOPOLIS_CITY", + "x": 43, + "y": 32 + }, + { + "id": "HEAL_LOCATION_EVER_GRANDE_CITY", + "map": "MAP_EVER_GRANDE_CITY", + "x": 27, + "y": 49 + }, + { + "id": "HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE", + "map": "MAP_LITTLEROOT_TOWN", + "x": 5, + "y": 9 + }, + { + "id": "HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE", + "map": "MAP_LITTLEROOT_TOWN", + "x": 14, + "y": 9 + }, + { + "id": "HEAL_LOCATION_OLDALE_TOWN", + "map": "MAP_OLDALE_TOWN", + "x": 6, + "y": 17 + }, + { + "id": "HEAL_LOCATION_DEWFORD_TOWN", + "map": "MAP_DEWFORD_TOWN", + "x": 2, + "y": 11 + }, + { + "id": "HEAL_LOCATION_LAVARIDGE_TOWN", + "map": "MAP_LAVARIDGE_TOWN", + "x": 9, + "y": 7 + }, + { + "id": "HEAL_LOCATION_FALLARBOR_TOWN", + "map": "MAP_FALLARBOR_TOWN", + "x": 14, + "y": 8 + }, + { + "id": "HEAL_LOCATION_VERDANTURF_TOWN", + "map": "MAP_VERDANTURF_TOWN", + "x": 16, + "y": 4 + }, + { + "id": "HEAL_LOCATION_PACIFIDLOG_TOWN", + "map": "MAP_PACIFIDLOG_TOWN", + "x": 8, + "y": 16 + }, + { + "id": "HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE", + "map": "MAP_EVER_GRANDE_CITY", + "x": 18, + "y": 6 + }, + { + "id": "HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR", + "map": "MAP_SOUTHERN_ISLAND_EXTERIOR", + "x": 15, + "y": 20 + }, + { + "id": "HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST", + "map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", + "x": 3, + "y": 52 + } + ] +} diff --git a/src/data/heal_locations.json.txt b/src/data/heal_locations.json.txt new file mode 100644 index 0000000000..fd63228e33 --- /dev/null +++ b/src/data/heal_locations.json.txt @@ -0,0 +1,28 @@ +{{ doNotModifyHeader }} + +static const struct HealLocation sHealLocations[NUM_HEAL_LOCATIONS - 1] = { +## for heal_location in heal_locations + [{{ heal_location.id }} - 1] = { + .mapGroup = MAP_GROUP({{ heal_location.map }}), + .mapNum = MAP_NUM({{ heal_location.map }}), + .x = {{ heal_location.x }}, + .y = {{ heal_location.y }}, + }, +## endfor +}; + +static const u16 sWhiteoutRespawnHealCenterMapIdxs[][2] = { +## for heal_location in heal_locations +{% if existsIn(heal_location, "respawn_map") %} + [{{ heal_location.id }} - 1] = { MAP_GROUP({{ heal_location.respawn_map }}), MAP_NUM({{ heal_location.respawn_map }})}, +{% endif %} +## endfor +}; + +static const u8 sWhiteoutRespawnHealerNpcIds[] = { +## for heal_location in heal_locations +{% if existsIn(heal_location, "respawn_npc") %} + [{{ heal_location.id }} - 1] = {{ heal_location.respawn_npc }}, +{% endif %} +## endfor +}; diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 90faab0777..703e8e406e 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -64,7 +64,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] = // Each layout array has an array for each of the 6 party slots // The array for each slot has the sprite coords of its various sprites in the following order -// Pokemon icon (x, y), held item (x, y), status condition (x, y), menu pokeball (x, y) +// Pokémon icon (x, y), held item (x, y), status condition (x, y), menu Poké Ball (x, y) static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] = { [PARTY_LAYOUT_SINGLE] = @@ -902,7 +902,7 @@ static const struct CompressedSpritePalette sSpritePalette_MenuPokeball = gPartyMenuPokeball_Pal, TAG_POKEBALL }; -// Used for the pokeball sprite on each party slot / Cancel button +// Used for the Poké Ball sprite on each party slot / Cancel button static const struct SpriteTemplate sSpriteTemplate_MenuPokeball = { .tileTag = TAG_POKEBALL, diff --git a/src/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h index 15bcadeb29..848d5c5016 100644 --- a/src/data/pokemon/experience_tables.h +++ b/src/data/pokemon/experience_tables.h @@ -1,10 +1,10 @@ -#define SQUARE(n)(n * n) -#define CUBE(n)(n * n * n) +#define SQUARE(n) ((n) * (n)) +#define CUBE(n) ((n) * (n) * (n)) -#define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4 -#define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5 -#define EXP_MEDIUM_FAST(n)(CUBE(n)) // (n)^3 -#define EXP_MEDIUM_SLOW(n)((6 * CUBE(n)) / 5 - (15 * SQUARE(n)) + (100 * n) - 140) // (6 * (n)^3) / 5 - (15 * (n)^2) + (100 * n) - 140 +#define EXP_SLOW(n) ((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4 +#define EXP_FAST(n) ((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5 +#define EXP_MEDIUM_FAST(n) (CUBE(n)) // (n)^3 +#define EXP_MEDIUM_SLOW(n) ((6 * CUBE(n)) / 5 - (15 * SQUARE(n)) + (100 * n) - 140) // (6 * (n)^3) / 5 - (15 * (n)^2) + (100 * n) - 140 #define EXP_ERRATIC(n) \ (n <= 50) ? ((100 - n) * CUBE(n) / 50) \ :(n <= 68) ? ((150 - n) * CUBE(n) / 100) \ diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h index 55b0abcea8..aa09948ec0 100644 --- a/src/data/pokemon/pokedex_orders.h +++ b/src/data/pokemon/pokedex_orders.h @@ -25,7 +25,7 @@ const u16 gPokedexOrder_Alphabetical[] = NATIONAL_DEX_OLD_UNOWN_X, NATIONAL_DEX_OLD_UNOWN_Y, NATIONAL_DEX_OLD_UNOWN_Z, - // Actual pokemon start here. + // Actual Pokémon start here. NATIONAL_DEX_ABRA, NATIONAL_DEX_ABSOL, NATIONAL_DEX_AERODACTYL, diff --git a/src/data/region_map/region_map_sections.constants.json.txt b/src/data/region_map/region_map_sections.constants.json.txt new file mode 100644 index 0000000000..340c29b33d --- /dev/null +++ b/src/data/region_map/region_map_sections.constants.json.txt @@ -0,0 +1,22 @@ +{{ doNotModifyHeader }} +#ifndef GUARD_CONSTANTS_REGION_MAP_SECTIONS_H +#define GUARD_CONSTANTS_REGION_MAP_SECTIONS_H + +enum { +## for map_section in map_sections + {{ map_section.id }}, +## endfor + MAPSEC_NONE, + MAPSEC_COUNT +}; + +// Special location IDs that use the same value space as MAPSECs. +#define METLOC_SPECIAL_EGG 0xFD +#define METLOC_IN_GAME_TRADE 0xFE +#define METLOC_FATEFUL_ENCOUNTER 0xFF + +#define KANTO_MAPSEC_START MAPSEC_PALLET_TOWN +#define KANTO_MAPSEC_END MAPSEC_SPECIAL_AREA +#define KANTO_MAPSEC_COUNT (KANTO_MAPSEC_END - KANTO_MAPSEC_START + 1) + +#endif // GUARD_CONSTANTS_REGION_MAP_SECTIONS_H diff --git a/src/data/region_map/region_map_sections.json b/src/data/region_map/region_map_sections.json index 8fa0079117..49426128b8 100644 --- a/src/data/region_map/region_map_sections.json +++ b/src/data/region_map/region_map_sections.json @@ -1,7 +1,7 @@ { "map_sections": [ { - "map_section": "MAPSEC_LITTLEROOT_TOWN", + "id": "MAPSEC_LITTLEROOT_TOWN", "name": "LITTLEROOT TOWN", "x": 4, "y": 11, @@ -9,7 +9,7 @@ "height": 1 }, { - "map_section": "MAPSEC_OLDALE_TOWN", + "id": "MAPSEC_OLDALE_TOWN", "name": "OLDALE TOWN", "x": 4, "y": 9, @@ -17,7 +17,7 @@ "height": 1 }, { - "map_section": "MAPSEC_DEWFORD_TOWN", + "id": "MAPSEC_DEWFORD_TOWN", "name": "DEWFORD TOWN", "x": 2, "y": 14, @@ -25,7 +25,7 @@ "height": 1 }, { - "map_section": "MAPSEC_LAVARIDGE_TOWN", + "id": "MAPSEC_LAVARIDGE_TOWN", "name": "LAVARIDGE TOWN", "x": 5, "y": 3, @@ -33,7 +33,7 @@ "height": 1 }, { - "map_section": "MAPSEC_FALLARBOR_TOWN", + "id": "MAPSEC_FALLARBOR_TOWN", "name": "FALLARBOR TOWN", "x": 3, "y": 0, @@ -41,7 +41,7 @@ "height": 1 }, { - "map_section": "MAPSEC_VERDANTURF_TOWN", + "id": "MAPSEC_VERDANTURF_TOWN", "name": "VERDANTURF TOWN", "x": 4, "y": 6, @@ -49,7 +49,7 @@ "height": 1 }, { - "map_section": "MAPSEC_PACIFIDLOG_TOWN", + "id": "MAPSEC_PACIFIDLOG_TOWN", "name": "PACIFIDLOG TOWN", "x": 17, "y": 10, @@ -57,7 +57,7 @@ "height": 1 }, { - "map_section": "MAPSEC_PETALBURG_CITY", + "id": "MAPSEC_PETALBURG_CITY", "name": "PETALBURG CITY", "x": 1, "y": 9, @@ -65,7 +65,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SLATEPORT_CITY", + "id": "MAPSEC_SLATEPORT_CITY", "name": "SLATEPORT CITY", "x": 8, "y": 10, @@ -73,7 +73,7 @@ "height": 2 }, { - "map_section": "MAPSEC_MAUVILLE_CITY", + "id": "MAPSEC_MAUVILLE_CITY", "name": "MAUVILLE CITY", "x": 8, "y": 6, @@ -81,7 +81,7 @@ "height": 1 }, { - "map_section": "MAPSEC_RUSTBORO_CITY", + "id": "MAPSEC_RUSTBORO_CITY", "name": "RUSTBORO CITY", "x": 0, "y": 5, @@ -89,7 +89,7 @@ "height": 2 }, { - "map_section": "MAPSEC_FORTREE_CITY", + "id": "MAPSEC_FORTREE_CITY", "name": "FORTREE CITY", "x": 12, "y": 0, @@ -97,7 +97,7 @@ "height": 1 }, { - "map_section": "MAPSEC_LILYCOVE_CITY", + "id": "MAPSEC_LILYCOVE_CITY", "name": "LILYCOVE CITY", "x": 18, "y": 3, @@ -105,7 +105,7 @@ "height": 1 }, { - "map_section": "MAPSEC_MOSSDEEP_CITY", + "id": "MAPSEC_MOSSDEEP_CITY", "name": "MOSSDEEP CITY", "x": 24, "y": 5, @@ -113,7 +113,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SOOTOPOLIS_CITY", + "id": "MAPSEC_SOOTOPOLIS_CITY", "name": "SOOTOPOLIS CITY", "x": 21, "y": 7, @@ -121,7 +121,7 @@ "height": 1 }, { - "map_section": "MAPSEC_EVER_GRANDE_CITY", + "id": "MAPSEC_EVER_GRANDE_CITY", "name": "EVER GRANDE CITY", "x": 27, "y": 8, @@ -129,7 +129,7 @@ "height": 2 }, { - "map_section": "MAPSEC_ROUTE_101", + "id": "MAPSEC_ROUTE_101", "name": "ROUTE 101", "x": 4, "y": 10, @@ -137,7 +137,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_102", + "id": "MAPSEC_ROUTE_102", "name": "ROUTE 102", "x": 2, "y": 9, @@ -145,7 +145,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_103", + "id": "MAPSEC_ROUTE_103", "name": "ROUTE 103", "x": 4, "y": 8, @@ -153,7 +153,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_104", + "id": "MAPSEC_ROUTE_104", "name": "ROUTE 104", "x": 0, "y": 7, @@ -161,7 +161,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_105", + "id": "MAPSEC_ROUTE_105", "name": "ROUTE 105", "x": 0, "y": 10, @@ -169,7 +169,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_106", + "id": "MAPSEC_ROUTE_106", "name": "ROUTE 106", "x": 0, "y": 13, @@ -177,7 +177,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_107", + "id": "MAPSEC_ROUTE_107", "name": "ROUTE 107", "x": 3, "y": 14, @@ -185,7 +185,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_108", + "id": "MAPSEC_ROUTE_108", "name": "ROUTE 108", "x": 6, "y": 14, @@ -193,7 +193,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_109", + "id": "MAPSEC_ROUTE_109", "name": "ROUTE 109", "x": 8, "y": 12, @@ -201,7 +201,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_110", + "id": "MAPSEC_ROUTE_110", "name": "ROUTE 110", "x": 8, "y": 7, @@ -209,7 +209,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_111", + "id": "MAPSEC_ROUTE_111", "name": "ROUTE 111", "x": 8, "y": 0, @@ -217,7 +217,7 @@ "height": 6 }, { - "map_section": "MAPSEC_ROUTE_112", + "id": "MAPSEC_ROUTE_112", "name": "ROUTE 112", "x": 6, "y": 3, @@ -225,7 +225,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_113", + "id": "MAPSEC_ROUTE_113", "name": "ROUTE 113", "x": 4, "y": 0, @@ -233,7 +233,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_114", + "id": "MAPSEC_ROUTE_114", "name": "ROUTE 114", "x": 1, "y": 0, @@ -241,7 +241,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_115", + "id": "MAPSEC_ROUTE_115", "name": "ROUTE 115", "x": 0, "y": 2, @@ -249,7 +249,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_116", + "id": "MAPSEC_ROUTE_116", "name": "ROUTE 116", "x": 1, "y": 5, @@ -257,7 +257,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_117", + "id": "MAPSEC_ROUTE_117", "name": "ROUTE 117", "x": 5, "y": 6, @@ -265,7 +265,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_118", + "id": "MAPSEC_ROUTE_118", "name": "ROUTE 118", "x": 10, "y": 6, @@ -273,7 +273,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_119", + "id": "MAPSEC_ROUTE_119", "name": "ROUTE 119", "x": 11, "y": 0, @@ -281,7 +281,7 @@ "height": 6 }, { - "map_section": "MAPSEC_ROUTE_120", + "id": "MAPSEC_ROUTE_120", "name": "ROUTE 120", "x": 13, "y": 0, @@ -289,7 +289,7 @@ "height": 4 }, { - "map_section": "MAPSEC_ROUTE_121", + "id": "MAPSEC_ROUTE_121", "name": "ROUTE 121", "x": 14, "y": 3, @@ -297,7 +297,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_122", + "id": "MAPSEC_ROUTE_122", "name": "ROUTE 122", "x": 16, "y": 4, @@ -305,7 +305,7 @@ "height": 2 }, { - "map_section": "MAPSEC_ROUTE_123", + "id": "MAPSEC_ROUTE_123", "name": "ROUTE 123", "x": 12, "y": 6, @@ -313,7 +313,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_124", + "id": "MAPSEC_ROUTE_124", "name": "ROUTE 124", "x": 20, "y": 3, @@ -321,7 +321,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_125", + "id": "MAPSEC_ROUTE_125", "name": "ROUTE 125", "x": 24, "y": 3, @@ -329,7 +329,7 @@ "height": 2 }, { - "map_section": "MAPSEC_ROUTE_126", + "id": "MAPSEC_ROUTE_126", "name": "ROUTE 126", "x": 20, "y": 6, @@ -337,7 +337,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_127", + "id": "MAPSEC_ROUTE_127", "name": "ROUTE 127", "x": 23, "y": 6, @@ -345,7 +345,7 @@ "height": 3 }, { - "map_section": "MAPSEC_ROUTE_128", + "id": "MAPSEC_ROUTE_128", "name": "ROUTE 128", "x": 23, "y": 9, @@ -353,7 +353,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_129", + "id": "MAPSEC_ROUTE_129", "name": "ROUTE 129", "x": 24, "y": 10, @@ -361,7 +361,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_130", + "id": "MAPSEC_ROUTE_130", "name": "ROUTE 130", "x": 21, "y": 10, @@ -369,7 +369,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_131", + "id": "MAPSEC_ROUTE_131", "name": "ROUTE 131", "x": 18, "y": 10, @@ -377,7 +377,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_132", + "id": "MAPSEC_ROUTE_132", "name": "ROUTE 132", "x": 15, "y": 10, @@ -385,7 +385,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_133", + "id": "MAPSEC_ROUTE_133", "name": "ROUTE 133", "x": 12, "y": 10, @@ -393,7 +393,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ROUTE_134", + "id": "MAPSEC_ROUTE_134", "name": "ROUTE 134", "x": 9, "y": 10, @@ -401,7 +401,7 @@ "height": 1 }, { - "map_section": "MAPSEC_UNDERWATER_124", + "id": "MAPSEC_UNDERWATER_124", "name": "UNDERWATER", "x": 20, "y": 3, @@ -409,7 +409,7 @@ "height": 3 }, { - "map_section": "MAPSEC_UNDERWATER_126", + "id": "MAPSEC_UNDERWATER_126", "name": "UNDERWATER", "x": 20, "y": 6, @@ -417,7 +417,7 @@ "height": 3 }, { - "map_section": "MAPSEC_UNDERWATER_127", + "id": "MAPSEC_UNDERWATER_127", "name": "UNDERWATER", "x": 23, "y": 6, @@ -425,7 +425,7 @@ "height": 3 }, { - "map_section": "MAPSEC_UNDERWATER_128", + "id": "MAPSEC_UNDERWATER_128", "name": "UNDERWATER", "x": 23, "y": 9, @@ -433,7 +433,7 @@ "height": 1 }, { - "map_section": "MAPSEC_UNDERWATER_SOOTOPOLIS", + "id": "MAPSEC_UNDERWATER_SOOTOPOLIS", "name": "UNDERWATER", "x": 21, "y": 7, @@ -441,7 +441,7 @@ "height": 1 }, { - "map_section": "MAPSEC_GRANITE_CAVE", + "id": "MAPSEC_GRANITE_CAVE", "name": "GRANITE CAVE", "x": 1, "y": 13, @@ -449,7 +449,7 @@ "height": 1 }, { - "map_section": "MAPSEC_MT_CHIMNEY", + "id": "MAPSEC_MT_CHIMNEY", "name": "MT. CHIMNEY", "x": 6, "y": 2, @@ -457,7 +457,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SAFARI_ZONE", + "id": "MAPSEC_SAFARI_ZONE", "name": "SAFARI ZONE", "x": 16, "y": 2, @@ -465,7 +465,7 @@ "height": 1 }, { - "map_section": "MAPSEC_BATTLE_FRONTIER", + "id": "MAPSEC_BATTLE_FRONTIER", "name": "BATTLE FRONTIER", "x": 22, "y": 12, @@ -473,7 +473,7 @@ "height": 1 }, { - "map_section": "MAPSEC_PETALBURG_WOODS", + "id": "MAPSEC_PETALBURG_WOODS", "name": "PETALBURG WOODS", "x": 0, "y": 8, @@ -481,7 +481,7 @@ "height": 1 }, { - "map_section": "MAPSEC_RUSTURF_TUNNEL", + "id": "MAPSEC_RUSTURF_TUNNEL", "name": "RUSTURF TUNNEL", "x": 2, "y": 5, @@ -489,7 +489,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ABANDONED_SHIP", + "id": "MAPSEC_ABANDONED_SHIP", "name": "ABANDONED SHIP", "x": 6, "y": 14, @@ -497,7 +497,7 @@ "height": 1 }, { - "map_section": "MAPSEC_NEW_MAUVILLE", + "id": "MAPSEC_NEW_MAUVILLE", "name": "NEW MAUVILLE", "x": 8, "y": 7, @@ -505,7 +505,7 @@ "height": 1 }, { - "map_section": "MAPSEC_METEOR_FALLS", + "id": "MAPSEC_METEOR_FALLS", "name": "METEOR FALLS", "x": 0, "y": 3, @@ -513,7 +513,7 @@ "height": 1 }, { - "map_section": "MAPSEC_METEOR_FALLS2", + "id": "MAPSEC_METEOR_FALLS2", "name": "METEOR FALLS", "x": 1, "y": 2, @@ -521,7 +521,7 @@ "height": 1 }, { - "map_section": "MAPSEC_MT_PYRE", + "id": "MAPSEC_MT_PYRE", "name": "MT. PYRE", "x": 16, "y": 4, @@ -529,7 +529,7 @@ "height": 1 }, { - "map_section": "MAPSEC_AQUA_HIDEOUT_OLD", + "id": "MAPSEC_AQUA_HIDEOUT_OLD", "name": "{AQUA} HIDEOUT", "name_clone": true, "x": 19, @@ -538,7 +538,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SHOAL_CAVE", + "id": "MAPSEC_SHOAL_CAVE", "name": "SHOAL CAVE", "x": 24, "y": 4, @@ -546,7 +546,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SEAFLOOR_CAVERN", + "id": "MAPSEC_SEAFLOOR_CAVERN", "name": "SEAFLOOR CAVERN", "x": 24, "y": 9, @@ -554,7 +554,7 @@ "height": 1 }, { - "map_section": "MAPSEC_UNDERWATER_SEAFLOOR_CAVERN", + "id": "MAPSEC_UNDERWATER_SEAFLOOR_CAVERN", "name": "UNDERWATER", "x": 24, "y": 9, @@ -562,7 +562,7 @@ "height": 1 }, { - "map_section": "MAPSEC_VICTORY_ROAD", + "id": "MAPSEC_VICTORY_ROAD", "name": "VICTORY ROAD", "x": 27, "y": 9, @@ -570,7 +570,7 @@ "height": 1 }, { - "map_section": "MAPSEC_MIRAGE_ISLAND", + "id": "MAPSEC_MIRAGE_ISLAND", "name": "MIRAGE ISLAND", "x": 17, "y": 10, @@ -578,7 +578,7 @@ "height": 1 }, { - "map_section": "MAPSEC_CAVE_OF_ORIGIN", + "id": "MAPSEC_CAVE_OF_ORIGIN", "name": "CAVE OF ORIGIN", "x": 21, "y": 7, @@ -586,7 +586,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SOUTHERN_ISLAND", + "id": "MAPSEC_SOUTHERN_ISLAND", "name": "SOUTHERN ISLAND", "x": 12, "y": 14, @@ -594,7 +594,7 @@ "height": 1 }, { - "map_section": "MAPSEC_FIERY_PATH", + "id": "MAPSEC_FIERY_PATH", "name": "FIERY PATH", "x": 6, "y": 3, @@ -602,7 +602,7 @@ "height": 1 }, { - "map_section": "MAPSEC_FIERY_PATH2", + "id": "MAPSEC_FIERY_PATH2", "name": "FIERY PATH", "x": 7, "y": 3, @@ -610,7 +610,7 @@ "height": 1 }, { - "map_section": "MAPSEC_JAGGED_PASS", + "id": "MAPSEC_JAGGED_PASS", "name": "JAGGED PASS", "x": 6, "y": 3, @@ -618,7 +618,7 @@ "height": 1 }, { - "map_section": "MAPSEC_JAGGED_PASS2", + "id": "MAPSEC_JAGGED_PASS2", "name": "JAGGED PASS", "x": 7, "y": 2, @@ -626,7 +626,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SEALED_CHAMBER", + "id": "MAPSEC_SEALED_CHAMBER", "name": "SEALED CHAMBER", "x": 11, "y": 10, @@ -634,7 +634,7 @@ "height": 1 }, { - "map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER", + "id": "MAPSEC_UNDERWATER_SEALED_CHAMBER", "name": "UNDERWATER", "x": 11, "y": 10, @@ -642,7 +642,7 @@ "height": 1 }, { - "map_section": "MAPSEC_SCORCHED_SLAB", + "id": "MAPSEC_SCORCHED_SLAB", "name": "SCORCHED SLAB", "x": 13, "y": 0, @@ -650,7 +650,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ISLAND_CAVE", + "id": "MAPSEC_ISLAND_CAVE", "name": "ISLAND CAVE", "x": 0, "y": 10, @@ -658,7 +658,7 @@ "height": 1 }, { - "map_section": "MAPSEC_DESERT_RUINS", + "id": "MAPSEC_DESERT_RUINS", "name": "DESERT RUINS", "x": 8, "y": 3, @@ -666,7 +666,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ANCIENT_TOMB", + "id": "MAPSEC_ANCIENT_TOMB", "name": "ANCIENT TOMB", "x": 13, "y": 2, @@ -674,15 +674,11 @@ "height": 1 }, { - "map_section": "MAPSEC_INSIDE_OF_TRUCK", - "name": "INSIDE OF TRUCK", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_INSIDE_OF_TRUCK", + "name": "INSIDE OF TRUCK" }, { - "map_section": "MAPSEC_SKY_PILLAR", + "id": "MAPSEC_SKY_PILLAR", "name": "SKY PILLAR", "x": 19, "y": 10, @@ -690,901 +686,457 @@ "height": 1 }, { - "map_section": "MAPSEC_SECRET_BASE", - "name": "SECRET BASE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SECRET_BASE", + "name": "SECRET BASE" }, { - "map_section": "MAPSEC_DYNAMIC", - "name": "", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_DYNAMIC", + "name": "" }, { - "map_section": "MAPSEC_PALLET_TOWN", - "name": "PALLET TOWN", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_PALLET_TOWN", + "name": "PALLET TOWN" }, { - "map_section": "MAPSEC_VIRIDIAN_CITY", - "name": "VIRIDIAN CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_VIRIDIAN_CITY", + "name": "VIRIDIAN CITY" }, { - "map_section": "MAPSEC_PEWTER_CITY", - "name": "PEWTER CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_PEWTER_CITY", + "name": "PEWTER CITY" }, { - "map_section": "MAPSEC_CERULEAN_CITY", - "name": "CERULEAN CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_CERULEAN_CITY", + "name": "CERULEAN CITY" }, { - "map_section": "MAPSEC_LAVENDER_TOWN", - "name": "LAVENDER TOWN", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_LAVENDER_TOWN", + "name": "LAVENDER TOWN" }, { - "map_section": "MAPSEC_VERMILION_CITY", - "name": "VERMILION CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_VERMILION_CITY", + "name": "VERMILION CITY" }, { - "map_section": "MAPSEC_CELADON_CITY", - "name": "CELADON CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_CELADON_CITY", + "name": "CELADON CITY" }, { - "map_section": "MAPSEC_FUCHSIA_CITY", - "name": "FUCHSIA CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_FUCHSIA_CITY", + "name": "FUCHSIA CITY" }, { - "map_section": "MAPSEC_CINNABAR_ISLAND", - "name": "CINNABAR ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_CINNABAR_ISLAND", + "name": "CINNABAR ISLAND" }, { - "map_section": "MAPSEC_INDIGO_PLATEAU", - "name": "INDIGO PLATEAU", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_INDIGO_PLATEAU", + "name": "INDIGO PLATEAU" }, { - "map_section": "MAPSEC_SAFFRON_CITY", - "name": "SAFFRON CITY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SAFFRON_CITY", + "name": "SAFFRON CITY" }, { - "map_section": "MAPSEC_ROUTE_4_POKECENTER", + "id": "MAPSEC_ROUTE_4_POKECENTER", "name": "ROUTE 4", - "name_clone": true, - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "name_clone": true }, { - "map_section": "MAPSEC_ROUTE_10_POKECENTER", + "id": "MAPSEC_ROUTE_10_POKECENTER", "name": "ROUTE 10", - "name_clone": true, - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "name_clone": true }, { - "map_section": "MAPSEC_ROUTE_1", - "name": "ROUTE 1", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_1", + "name": "ROUTE 1" }, { - "map_section": "MAPSEC_ROUTE_2", - "name": "ROUTE 2", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_2", + "name": "ROUTE 2" }, { - "map_section": "MAPSEC_ROUTE_3", - "name": "ROUTE 3", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_3", + "name": "ROUTE 3" }, { - "map_section": "MAPSEC_ROUTE_4", - "name": "ROUTE 4", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_4", + "name": "ROUTE 4" }, { - "map_section": "MAPSEC_ROUTE_5", - "name": "ROUTE 5", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_5", + "name": "ROUTE 5" }, { - "map_section": "MAPSEC_ROUTE_6", - "name": "ROUTE 6", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_6", + "name": "ROUTE 6" }, { - "map_section": "MAPSEC_ROUTE_7", - "name": "ROUTE 7", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_7", + "name": "ROUTE 7" }, { - "map_section": "MAPSEC_ROUTE_8", - "name": "ROUTE 8", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_8", + "name": "ROUTE 8" }, { - "map_section": "MAPSEC_ROUTE_9", - "name": "ROUTE 9", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_9", + "name": "ROUTE 9" }, { - "map_section": "MAPSEC_ROUTE_10", - "name": "ROUTE 10", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_10", + "name": "ROUTE 10" }, { - "map_section": "MAPSEC_ROUTE_11", - "name": "ROUTE 11", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_11", + "name": "ROUTE 11" }, { - "map_section": "MAPSEC_ROUTE_12", - "name": "ROUTE 12", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_12", + "name": "ROUTE 12" }, { - "map_section": "MAPSEC_ROUTE_13", - "name": "ROUTE 13", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_13", + "name": "ROUTE 13" }, { - "map_section": "MAPSEC_ROUTE_14", - "name": "ROUTE 14", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_14", + "name": "ROUTE 14" }, { - "map_section": "MAPSEC_ROUTE_15", - "name": "ROUTE 15", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_15", + "name": "ROUTE 15" }, { - "map_section": "MAPSEC_ROUTE_16", - "name": "ROUTE 16", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_16", + "name": "ROUTE 16" }, { - "map_section": "MAPSEC_ROUTE_17", - "name": "ROUTE 17", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_17", + "name": "ROUTE 17" }, { - "map_section": "MAPSEC_ROUTE_18", - "name": "ROUTE 18", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_18", + "name": "ROUTE 18" }, { - "map_section": "MAPSEC_ROUTE_19", - "name": "ROUTE 19", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_19", + "name": "ROUTE 19" }, { - "map_section": "MAPSEC_ROUTE_20", - "name": "ROUTE 20", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_20", + "name": "ROUTE 20" }, { - "map_section": "MAPSEC_ROUTE_21", - "name": "ROUTE 21", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_21", + "name": "ROUTE 21" }, { - "map_section": "MAPSEC_ROUTE_22", - "name": "ROUTE 22", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_22", + "name": "ROUTE 22" }, { - "map_section": "MAPSEC_ROUTE_23", - "name": "ROUTE 23", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_23", + "name": "ROUTE 23" }, { - "map_section": "MAPSEC_ROUTE_24", - "name": "ROUTE 24", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_24", + "name": "ROUTE 24" }, { - "map_section": "MAPSEC_ROUTE_25", - "name": "ROUTE 25", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROUTE_25", + "name": "ROUTE 25" }, { - "map_section": "MAPSEC_VIRIDIAN_FOREST", - "name": "VIRIDIAN FOREST", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_VIRIDIAN_FOREST", + "name": "VIRIDIAN FOREST" }, { - "map_section": "MAPSEC_MT_MOON", - "name": "MT. MOON", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_MT_MOON", + "name": "MT. MOON" }, { - "map_section": "MAPSEC_S_S_ANNE", - "name": "S.S. ANNE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_S_S_ANNE", + "name": "S.S. ANNE" }, { - "map_section": "MAPSEC_UNDERGROUND_PATH", + "id": "MAPSEC_UNDERGROUND_PATH", + "name": "UNDERGROUND PATH" + }, + { + "id": "MAPSEC_UNDERGROUND_PATH_2", "name": "UNDERGROUND PATH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "name_clone": true }, { - "map_section": "MAPSEC_UNDERGROUND_PATH_2", - "name": "UNDERGROUND PATH", - "name_clone": true, - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_DIGLETTS_CAVE", + "name": "DIGLETT'S CAVE" }, { - "map_section": "MAPSEC_DIGLETTS_CAVE", - "name": "DIGLETT'S CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_KANTO_VICTORY_ROAD", + "id": "MAPSEC_KANTO_VICTORY_ROAD", "name": "VICTORY ROAD", - "name_clone": true, - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "name_clone": true }, { - "map_section": "MAPSEC_ROCKET_HIDEOUT", - "name": "ROCKET HIDEOUT", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROCKET_HIDEOUT", + "name": "ROCKET HIDEOUT" }, { - "map_section": "MAPSEC_SILPH_CO", - "name": "SILPH CO.", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SILPH_CO", + "name": "SILPH CO." }, { - "map_section": "MAPSEC_POKEMON_MANSION", - "name": "POKéMON MANSION", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_POKEMON_MANSION", + "name": "POKéMON MANSION" }, { - "map_section": "MAPSEC_KANTO_SAFARI_ZONE", + "id": "MAPSEC_KANTO_SAFARI_ZONE", "name": "SAFARI ZONE", - "name_clone": true, - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "name_clone": true }, { - "map_section": "MAPSEC_POKEMON_LEAGUE", - "name": "POKéMON LEAGUE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_POKEMON_LEAGUE", + "name": "POKéMON LEAGUE" }, { - "map_section": "MAPSEC_ROCK_TUNNEL", - "name": "ROCK TUNNEL", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ROCK_TUNNEL", + "name": "ROCK TUNNEL" }, { - "map_section": "MAPSEC_SEAFOAM_ISLANDS", - "name": "SEAFOAM ISLANDS", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SEAFOAM_ISLANDS", + "name": "SEAFOAM ISLANDS" }, { - "map_section": "MAPSEC_POKEMON_TOWER", - "name": "POKéMON TOWER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_POKEMON_TOWER", + "name": "POKéMON TOWER" }, { - "map_section": "MAPSEC_CERULEAN_CAVE", - "name": "CERULEAN CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_CERULEAN_CAVE", + "name": "CERULEAN CAVE" }, { - "map_section": "MAPSEC_POWER_PLANT", - "name": "POWER PLANT", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_POWER_PLANT", + "name": "POWER PLANT" }, { - "map_section": "MAPSEC_ONE_ISLAND", - "name": "ONE ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ONE_ISLAND", + "name": "ONE ISLAND" }, { - "map_section": "MAPSEC_TWO_ISLAND", - "name": "TWO ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_TWO_ISLAND", + "name": "TWO ISLAND" }, { - "map_section": "MAPSEC_THREE_ISLAND", - "name": "THREE ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_THREE_ISLAND", + "name": "THREE ISLAND" }, { - "map_section": "MAPSEC_FOUR_ISLAND", - "name": "FOUR ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_FOUR_ISLAND", + "name": "FOUR ISLAND" }, { - "map_section": "MAPSEC_FIVE_ISLAND", - "name": "FIVE ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_FIVE_ISLAND", + "name": "FIVE ISLAND" }, { - "map_section": "MAPSEC_SEVEN_ISLAND", - "name": "SEVEN ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SEVEN_ISLAND", + "name": "SEVEN ISLAND" }, { - "map_section": "MAPSEC_SIX_ISLAND", - "name": "SIX ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SIX_ISLAND", + "name": "SIX ISLAND" }, { - "map_section": "MAPSEC_KINDLE_ROAD", - "name": "KINDLE ROAD", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_KINDLE_ROAD", + "name": "KINDLE ROAD" }, { - "map_section": "MAPSEC_TREASURE_BEACH", - "name": "TREASURE BEACH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_TREASURE_BEACH", + "name": "TREASURE BEACH" }, { - "map_section": "MAPSEC_CAPE_BRINK", - "name": "CAPE BRINK", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_CAPE_BRINK", + "name": "CAPE BRINK" }, { - "map_section": "MAPSEC_BOND_BRIDGE", - "name": "BOND BRIDGE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_BOND_BRIDGE", + "name": "BOND BRIDGE" }, { - "map_section": "MAPSEC_THREE_ISLE_PORT", - "name": "THREE ISLE PORT", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_THREE_ISLE_PORT", + "name": "THREE ISLE PORT" }, { - "map_section": "MAPSEC_SEVII_ISLE_6", - "name": "SEVII ISLE 6", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SEVII_ISLE_6", + "name": "SEVII ISLE 6" }, { - "map_section": "MAPSEC_SEVII_ISLE_7", - "name": "SEVII ISLE 7", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SEVII_ISLE_7", + "name": "SEVII ISLE 7" }, { - "map_section": "MAPSEC_SEVII_ISLE_8", - "name": "SEVII ISLE 8", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SEVII_ISLE_8", + "name": "SEVII ISLE 8" }, { - "map_section": "MAPSEC_SEVII_ISLE_9", - "name": "SEVII ISLE 9", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SEVII_ISLE_9", + "name": "SEVII ISLE 9" }, { - "map_section": "MAPSEC_RESORT_GORGEOUS", - "name": "RESORT GORGEOUS", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_RESORT_GORGEOUS", + "name": "RESORT GORGEOUS" }, { - "map_section": "MAPSEC_WATER_LABYRINTH", - "name": "WATER LABYRINTH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_WATER_LABYRINTH", + "name": "WATER LABYRINTH" }, { - "map_section": "MAPSEC_FIVE_ISLE_MEADOW", - "name": "FIVE ISLE MEADOW", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_FIVE_ISLE_MEADOW", + "name": "FIVE ISLE MEADOW" }, { - "map_section": "MAPSEC_MEMORIAL_PILLAR", - "name": "MEMORIAL PILLAR", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_MEMORIAL_PILLAR", + "name": "MEMORIAL PILLAR" }, { - "map_section": "MAPSEC_OUTCAST_ISLAND", - "name": "OUTCAST ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_OUTCAST_ISLAND", + "name": "OUTCAST ISLAND" }, { - "map_section": "MAPSEC_GREEN_PATH", - "name": "GREEN PATH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_GREEN_PATH", + "name": "GREEN PATH" }, { - "map_section": "MAPSEC_WATER_PATH", - "name": "WATER PATH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_WATER_PATH", + "name": "WATER PATH" }, { - "map_section": "MAPSEC_RUIN_VALLEY", - "name": "RUIN VALLEY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_RUIN_VALLEY", + "name": "RUIN VALLEY" }, { - "map_section": "MAPSEC_TRAINER_TOWER", + "id": "MAPSEC_TRAINER_TOWER", + "name": "TRAINER TOWER" + }, + { + "id": "MAPSEC_CANYON_ENTRANCE", + "name": "CANYON ENTRANCE" + }, + { + "id": "MAPSEC_SEVAULT_CANYON", + "name": "SEVAULT CANYON" + }, + { + "id": "MAPSEC_TANOBY_RUINS", + "name": "TANOBY RUINS" + }, + { + "id": "MAPSEC_SEVII_ISLE_22", + "name": "SEVII ISLE 22" + }, + { + "id": "MAPSEC_SEVII_ISLE_23", + "name": "SEVII ISLE 23" + }, + { + "id": "MAPSEC_SEVII_ISLE_24", + "name": "SEVII ISLE 24" + }, + { + "id": "MAPSEC_NAVEL_ROCK_FRLG", + "name": "NAVEL ROCK" + }, + { + "id": "MAPSEC_MT_EMBER", + "name": "MT. EMBER" + }, + { + "id": "MAPSEC_BERRY_FOREST", + "name": "BERRY FOREST" + }, + { + "id": "MAPSEC_ICEFALL_CAVE", + "name": "ICEFALL CAVE" + }, + { + "id": "MAPSEC_ROCKET_WAREHOUSE", + "name": "ROCKET WAREHOUSE" + }, + { + "id": "MAPSEC_TRAINER_TOWER_2", "name": "TRAINER TOWER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "name_clone": true }, { - "map_section": "MAPSEC_CANYON_ENTRANCE", - "name": "CANYON ENTRANCE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_DOTTED_HOLE", + "name": "DOTTED HOLE" }, { - "map_section": "MAPSEC_SEVAULT_CANYON", - "name": "SEVAULT CANYON", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_LOST_CAVE", + "name": "LOST CAVE" }, { - "map_section": "MAPSEC_TANOBY_RUINS", - "name": "TANOBY RUINS", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_PATTERN_BUSH", + "name": "PATTERN BUSH" }, { - "map_section": "MAPSEC_SEVII_ISLE_22", - "name": "SEVII ISLE 22", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_ALTERING_CAVE_FRLG", + "name": "ALTERING CAVE" }, { - "map_section": "MAPSEC_SEVII_ISLE_23", - "name": "SEVII ISLE 23", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_TANOBY_CHAMBERS", + "name": "TANOBY CHAMBERS" }, { - "map_section": "MAPSEC_SEVII_ISLE_24", - "name": "SEVII ISLE 24", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_THREE_ISLE_PATH", + "name": "THREE ISLE PATH" }, { - "map_section": "MAPSEC_NAVEL_ROCK_FRLG", - "name": "NAVEL ROCK", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_TANOBY_KEY", + "name": "TANOBY KEY" }, { - "map_section": "MAPSEC_MT_EMBER", - "name": "MT. EMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_BIRTH_ISLAND_FRLG", + "name": "BIRTH ISLAND" }, { - "map_section": "MAPSEC_BERRY_FOREST", - "name": "BERRY FOREST", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_MONEAN_CHAMBER", + "name": "MONEAN CHAMBER" }, { - "map_section": "MAPSEC_ICEFALL_CAVE", - "name": "ICEFALL CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_LIPTOO_CHAMBER", + "name": "LIPTOO CHAMBER" }, { - "map_section": "MAPSEC_ROCKET_WAREHOUSE", - "name": "ROCKET WAREHOUSE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_WEEPTH_CHAMBER", + "name": "WEEPTH CHAMBER" }, { - "map_section": "MAPSEC_TRAINER_TOWER_2", - "name": "TRAINER TOWER", - "name_clone": true, - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_DILFORD_CHAMBER", + "name": "DILFORD CHAMBER" }, { - "map_section": "MAPSEC_DOTTED_HOLE", - "name": "DOTTED HOLE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SCUFIB_CHAMBER", + "name": "SCUFIB CHAMBER" }, { - "map_section": "MAPSEC_LOST_CAVE", - "name": "LOST CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_RIXY_CHAMBER", + "name": "RIXY CHAMBER" }, { - "map_section": "MAPSEC_PATTERN_BUSH", - "name": "PATTERN BUSH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_VIAPOIS_CHAMBER", + "name": "VIAPOIS CHAMBER" }, { - "map_section": "MAPSEC_ALTERING_CAVE_FRLG", - "name": "ALTERING CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_EMBER_SPA", + "name": "EMBER SPA" }, { - "map_section": "MAPSEC_TANOBY_CHAMBERS", - "name": "TANOBY CHAMBERS", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_SPECIAL_AREA", + "name": "SPECIAL AREA" }, { - "map_section": "MAPSEC_THREE_ISLE_PATH", - "name": "THREE ISLE PATH", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_TANOBY_KEY", - "name": "TANOBY KEY", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_BIRTH_ISLAND_FRLG", - "name": "BIRTH ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_MONEAN_CHAMBER", - "name": "MONEAN CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_LIPTOO_CHAMBER", - "name": "LIPTOO CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_WEEPTH_CHAMBER", - "name": "WEEPTH CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_DILFORD_CHAMBER", - "name": "DILFORD CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_SCUFIB_CHAMBER", - "name": "SCUFIB CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_RIXY_CHAMBER", - "name": "RIXY CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_VIAPOIS_CHAMBER", - "name": "VIAPOIS CHAMBER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_EMBER_SPA", - "name": "EMBER SPA", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_SPECIAL_AREA", - "name": "SPECIAL AREA", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - { - "map_section": "MAPSEC_AQUA_HIDEOUT", + "id": "MAPSEC_AQUA_HIDEOUT", "name": "AQUA HIDEOUT", "x": 19, "y": 3, @@ -1592,7 +1144,7 @@ "height": 1 }, { - "map_section": "MAPSEC_MAGMA_HIDEOUT", + "id": "MAPSEC_MAGMA_HIDEOUT", "name": "MAGMA HIDEOUT", "x": 6, "y": 3, @@ -1600,7 +1152,7 @@ "height": 1 }, { - "map_section": "MAPSEC_MIRAGE_TOWER", + "id": "MAPSEC_MIRAGE_TOWER", "name": "MIRAGE TOWER", "x": 8, "y": 2, @@ -1608,23 +1160,15 @@ "height": 1 }, { - "map_section": "MAPSEC_BIRTH_ISLAND", - "name": "BIRTH ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_BIRTH_ISLAND", + "name": "BIRTH ISLAND" }, { - "map_section": "MAPSEC_FARAWAY_ISLAND", - "name": "FARAWAY ISLAND", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_FARAWAY_ISLAND", + "name": "FARAWAY ISLAND" }, { - "map_section": "MAPSEC_ARTISAN_CAVE", + "id": "MAPSEC_ARTISAN_CAVE", "name": "ARTISAN CAVE", "x": 22, "y": 12, @@ -1632,31 +1176,19 @@ "height": 1 }, { - "map_section": "MAPSEC_MARINE_CAVE", - "name": "MARINE CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_MARINE_CAVE", + "name": "MARINE CAVE" }, { - "map_section": "MAPSEC_UNDERWATER_MARINE_CAVE", - "name": "UNDERWATER", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_UNDERWATER_MARINE_CAVE", + "name": "UNDERWATER" }, { - "map_section": "MAPSEC_TERRA_CAVE", - "name": "TERRA CAVE", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_TERRA_CAVE", + "name": "TERRA CAVE" }, { - "map_section": "MAPSEC_UNDERWATER_105", + "id": "MAPSEC_UNDERWATER_105", "name": "UNDERWATER", "x": 0, "y": 10, @@ -1664,7 +1196,7 @@ "height": 3 }, { - "map_section": "MAPSEC_UNDERWATER_125", + "id": "MAPSEC_UNDERWATER_125", "name": "UNDERWATER", "x": 24, "y": 3, @@ -1672,7 +1204,7 @@ "height": 2 }, { - "map_section": "MAPSEC_UNDERWATER_129", + "id": "MAPSEC_UNDERWATER_129", "name": "UNDERWATER", "x": 24, "y": 10, @@ -1680,7 +1212,7 @@ "height": 1 }, { - "map_section": "MAPSEC_DESERT_UNDERPASS", + "id": "MAPSEC_DESERT_UNDERPASS", "name": "DESERT UNDERPASS", "x": 2, "y": 0, @@ -1688,7 +1220,7 @@ "height": 1 }, { - "map_section": "MAPSEC_ALTERING_CAVE", + "id": "MAPSEC_ALTERING_CAVE", "name": "ALTERING CAVE", "x": 6, "y": 8, @@ -1696,15 +1228,11 @@ "height": 1 }, { - "map_section": "MAPSEC_NAVEL_ROCK", - "name": "NAVEL ROCK", - "x": 0, - "y": 0, - "width": 1, - "height": 1 + "id": "MAPSEC_NAVEL_ROCK", + "name": "NAVEL ROCK" }, { - "map_section": "MAPSEC_TRAINER_HILL", + "id": "MAPSEC_TRAINER_HILL", "name": "TRAINER HILL", "x": 8, "y": 4, diff --git a/src/data/region_map/region_map_sections.json.txt b/src/data/region_map/region_map_sections.json.txt index e9c372cb54..0da2d31794 100644 --- a/src/data/region_map/region_map_sections.json.txt +++ b/src/data/region_map/region_map_sections.json.txt @@ -3,21 +3,49 @@ #define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H ## for map_section in map_sections -{% if isEmptyString(getVar(map_section.name)) and not existsIn(map_section, "name_clone") %}{{ setVar(map_section.name, map_section.map_section) }}{% endif %} +{% if existsIn(map_section, "name") and isEmptyString(getVar(map_section.name)) and not existsIn(map_section, "name_clone") %}{{ setVar(map_section.name, map_section.id) }}{% endif %} ## endfor ## for map_section in map_sections -{% if getVar(map_section.name) == map_section.map_section %} +{% if existsIn(map_section, "name") %} +{% if getVar(map_section.name) == map_section.id %} static const u8 sMapName_{{ cleanString(map_section.name) }}[] = _("{{ map_section.name }}"); {% endif %} {% if existsIn(map_section, "name_clone") %} static const u8 sMapName_{{ cleanString(map_section.name) }}_Clone[] = _("{{ map_section.name }}"); {% endif %} +{% endif %} ## endfor const struct RegionMapLocation gRegionMapEntries[] = { ## for map_section in map_sections - [{{ map_section.map_section }}] = { {{ map_section.x }}, {{ map_section.y }}, {{ map_section.width }}, {{ map_section.height }}, sMapName_{{ cleanString(map_section.name) }}{% if existsIn(map_section, "name_clone") %}_Clone{% endif %} }, + [{{ map_section.id }}] = { +{% if existsIn(map_section, "x") %} + .x = {{ map_section.x }}, +{% else %} + .x = 0, +{% endif %} +{% if existsIn(map_section, "y") %} + .y = {{ map_section.y }}, +{% else %} + .y = 0, +{% endif %} +{% if existsIn(map_section, "width") %} + .width = {{ map_section.width }}, +{% else %} + .width = 1, +{% endif %} +{% if existsIn(map_section, "height") %} + .height = {{ map_section.height }}, +{% else %} + .height = 1, +{% endif %} +{% if existsIn(map_section, "name") %} + .name = sMapName_{{ cleanString(map_section.name) }}{% if existsIn(map_section, "name_clone") %}_Clone{% endif %}, +{% else %} + .name = (const u8[])_(""), +{% endif %} + }, ## endfor }; diff --git a/src/data/tilesets/headers.h b/src/data/tilesets/headers.h index 2eae1be1ea..f6cac20c05 100644 --- a/src/data/tilesets/headers.h +++ b/src/data/tilesets/headers.h @@ -636,8 +636,8 @@ const struct Tileset gTileset_SecretBase = .callback = NULL, }; -const struct Tileset * const gTilesetPointer_SecretBase = &gTileset_SecretBase; -const struct Tileset * const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave; +const struct Tileset *const gTilesetPointer_SecretBase = &gTileset_SecretBase; +const struct Tileset *const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave; const struct Tileset gTileset_EliteFour = { diff --git a/src/data/union_room.h b/src/data/union_room.h index 129c629941..8f17bb81db 100644 --- a/src/data/union_room.h +++ b/src/data/union_room.h @@ -451,7 +451,7 @@ ALIGNED(4) static const u8 sText_NobodyHasRegistered[] = _("Nobody has registere ALIGNED(4) static const u8 sText_ChooseRequestedMonType[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); ALIGNED(4) static const u8 sText_WhichMonWillYouOffer[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); ALIGNED(4) static const u8 sText_RegistrationCanceled[] = _("Registration has been canceled.\p"); -ALIGNED(4) static const u8 sText_RegistraionCompleted[] = _("Registration has been completed.\p"); +ALIGNED(4) static const u8 sText_RegistrationCompleted[] = _("Registration has been completed.\p"); ALIGNED(4) static const u8 sText_TradeCanceled[] = _("The trade has been canceled.\p"); ALIGNED(4) static const u8 sText_CancelRegistrationOfMon[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?"); ALIGNED(4) static const u8 sText_CancelRegistrationOfEgg[] = _("Cancel the registration of your\nEGG?"); @@ -633,10 +633,10 @@ static const struct WindowTemplate sWindowTemplate_BButtonCancel = { // Minimum and maximum number of players for a link group // A minimum of 0 means the min and max are equal -#define LINK_GROUP_CAPACITY(min, max)(((min) << 12) | ((max) << 8)) -#define GROUP_MAX(capacity)(capacity & 0x0F) -#define GROUP_MIN(capacity)(capacity >> 4) -#define GROUP_MIN2(capacity)(capacity & 0xF0) // Unnecessary to have both, but needed to match +#define LINK_GROUP_CAPACITY(min, max) (((min) << 12) | ((max) << 8)) +#define GROUP_MAX(capacity) (capacity & 0x0F) +#define GROUP_MIN(capacity) (capacity >> 4) +#define GROUP_MIN2(capacity) (capacity & 0xF0) // Unnecessary to have both, but needed to match static const u32 sLinkGroupToActivityAndCapacity[NUM_LINK_GROUP_TYPES] = { [LINK_GROUP_SINGLE_BATTLE] = ACTIVITY_BATTLE_SINGLE | LINK_GROUP_CAPACITY(0, 2), diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index bf848249f0..38df4dc712 100755 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -70,8 +70,8 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { ## for encounter in wild_encounter_group.encounters { - .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, - .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, + .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ encounter.map }}){% else %}0{% endif %}, + .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ encounter.map }}){% else %}{{ loop.index1 }}{% endif %}, .landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, .waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, @@ -79,8 +79,8 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = }, ## endfor { - .mapGroup = MAP_GROUP(UNDEFINED), - .mapNum = MAP_NUM(UNDEFINED), + .mapGroup = MAP_GROUP(MAP_UNDEFINED), + .mapNum = MAP_NUM(MAP_UNDEFINED), .landMonsInfo = NULL, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, diff --git a/src/daycare.c b/src/daycare.c index d62bd589d0..5ebe255b39 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -193,10 +193,10 @@ void StoreSelectedPokemonInDaycare(void) StorePokemonInEmptyDaycareSlot(&gPlayerParty[monId], &gSaveBlock1Ptr->daycare); } -// Shifts the second daycare pokemon slot into the first slot. +// Shifts the second daycare Pokémon slot into the first slot. static void ShiftDaycareSlots(struct DayCare *daycare) { - // This condition is only satisfied when the player takes out the first pokemon from the daycare. + // This condition is only satisfied when the player takes out the first Pokémon from the daycare. if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE) { @@ -596,7 +596,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) } } -// Counts the number of egg moves a pokemon learns and stores the moves in +// Counts the number of egg moves a Pokémon learns and stores the moves in // the given array. static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) { diff --git a/src/decompress.c b/src/decompress.c index 8452f340ed..491ae8587f 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -100,9 +100,13 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } else if (species > NUM_SPECIES) // is species unknown? draw the ? icon + { LZ77UnCompWram(gMonFrontPicTable[0].data, dest); + } else + { LZ77UnCompWram(src->data, dest); + } DuplicateDeoxysTiles(dest, species); DrawSpindaSpots(species, personality, dest, isFrontPic); @@ -214,7 +218,8 @@ static void UNUSED StitchObjectsOn8x8Canvas(s32 object_size, s32 object_count, u // While the remaining space will be filled with actual data if (object_size == 6) { - for (k = 0; k < 256; k++) { + for (k = 0; k < 256; k++) + { *dest = 0; dest++; } @@ -224,14 +229,16 @@ static void UNUSED StitchObjectsOn8x8Canvas(s32 object_size, s32 object_count, u { if (object_size == 6) { - for (k = 0; k < 32; k++) { + for (k = 0; k < 32; k++) + { *dest = 0; dest++; } } // Copy tile data - for (k = 0; k < 32 * object_size; k++) { + for (k = 0; k < 32 * object_size; k++) + { *dest = *src; src++; dest++; @@ -239,7 +246,8 @@ static void UNUSED StitchObjectsOn8x8Canvas(s32 object_size, s32 object_count, u if (object_size == 6) { - for (k = 0; k < 32; k++) { + for (k = 0; k < 32; k++) + { *dest = 0; dest++; } @@ -248,7 +256,8 @@ static void UNUSED StitchObjectsOn8x8Canvas(s32 object_size, s32 object_count, u if (object_size == 6) { - for (k = 0; k < 256; k++) { + for (k = 0; k < 256; k++) + { *dest = 0; dest++; } @@ -322,9 +331,13 @@ void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } else if (species > NUM_SPECIES) // is species unknown? draw the ? icon + { LZ77UnCompWram(gMonFrontPicTable[0].data, dest); + } else + { LZ77UnCompWram(src->data, dest); + } DuplicateDeoxysTiles(dest, species); DrawSpindaSpots(species, personality, dest, isFrontPic); @@ -380,9 +393,13 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } else if (species > NUM_SPECIES) // is species unknown? draw the ? icon + { LZ77UnCompWram(gMonFrontPicTable[0].data, dest); + } else + { LZ77UnCompWram(src->data, dest); + } DrawSpindaSpots(species, personality, dest, isFrontPic); } diff --git a/src/decoration.c b/src/decoration.c index f4fae6cc5e..98c6dba176 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1340,7 +1340,8 @@ static void DecorationItemsMenuAction_AttemptPlace(u8 taskId) else { ConvertIntToDecimalStringN(gStringVar1, sDecorationContext.size, STR_CONV_MODE_RIGHT_ALIGN, 2); - if (sDecorationContext.isPlayerRoom == FALSE) { + if (sDecorationContext.isPlayerRoom == FALSE) + { StringExpandPlaceholders(gStringVar4, gText_NoMoreDecorations); } else @@ -1920,7 +1921,7 @@ static void ClearPlaceDecorationGraphicsDataBuffer(struct PlaceDecorationGraphic static void CopyPalette(u16 *dest, u16 pal) { - CpuFastCopy(&((u16 *)gTilesetPointer_SecretBase->palettes)[pal * 16], dest, sizeof(u16) * 16); + CpuFastCopy(&gTilesetPointer_SecretBase->palettes[pal], dest, PLTT_SIZE_4BPP); } static void CopyTile(u8 *dest, u16 tile) @@ -1933,7 +1934,7 @@ static void CopyTile(u8 *dest, u16 tile) if (tile != 0) tile &= 0x03FF; - CpuFastCopy(&((u8 *)gTilesetPointer_SecretBase->tiles)[tile * TILE_SIZE_4BPP], buffer, TILE_SIZE_4BPP); + CpuFastCopy(&gTilesetPointer_SecretBase->tiles[tile * TILE_SIZE_4BPP / sizeof(u32)], buffer, TILE_SIZE_4BPP); switch (mode) { case 0: @@ -1975,7 +1976,7 @@ static void SetDecorSelectionBoxTiles(struct PlaceDecorationGraphicsDataBuffer * static u16 GetMetatile(u16 tile) { - return ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[tile] & 0xFFF; + return gTilesetPointer_SecretBaseRedCave->metatiles[tile] & 0xFFF; } static void SetDecorSelectionMetatiles(struct PlaceDecorationGraphicsDataBuffer *data) @@ -2046,7 +2047,7 @@ static u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphics SetDecorSelectionMetatiles(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); SetDecorSelectionBoxTiles(data); - CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); + CopyPalette(data->palette, gTilesetPointer_SecretBaseRedCave->metatiles[(data->decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); LoadSpritePalette(&sSpritePal_PlaceDecoration); return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } @@ -2102,7 +2103,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u SetDecorSelectionMetatiles(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); SetDecorSelectionBoxTiles(&sPlaceDecorationGraphicsDataBuffer); - CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); + CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, gTilesetPointer_SecretBaseRedCave->metatiles[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); sheet.data = sPlaceDecorationGraphicsDataBuffer.image; sheet.size = sDecorShapeSizes[sPlaceDecorationGraphicsDataBuffer.decoration->shape] * TILE_SIZE_4BPP; sheet.tag = tilesTag; @@ -2254,7 +2255,8 @@ static void Task_PutAwayDecoration(u8 taskId) gTasks[taskId].tState = 1; break; case 1: - if (!gPaletteFade.active) { + if (!gPaletteFade.active) + { DrawWholeMapView(); ScriptContext_SetupScript(SecretBase_EventScript_PutAwayDecoration); ClearDialogWindowAndFrame(0, TRUE); diff --git a/gflib/dma3_manager.c b/src/dma3_manager.c similarity index 100% rename from gflib/dma3_manager.c rename to src/dma3_manager.c diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 1b4500002c..16ea035c7c 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -275,13 +275,13 @@ struct DodrioGame /*0x3308*/ struct DodrioGame_ScoreResults scoreResults[MAX_RFU_PLAYERS]; }; // size = 0x3330 -EWRAM_DATA static struct DodrioGame * sGame = NULL; -EWRAM_DATA static u16 * sDodrioSpriteIds[MAX_RFU_PLAYERS] = {NULL}; -EWRAM_DATA static u16 * sCloudSpriteIds[NUM_CLOUDS] = {NULL}; -EWRAM_DATA static u16 * sBerrySpriteIds[NUM_BERRY_COLUMNS] = {NULL}; -EWRAM_DATA static u16 * sBerryIconSpriteIds[NUM_BERRY_TYPES] = {NULL}; -EWRAM_DATA static struct StatusBar * sStatusBar = NULL; -EWRAM_DATA static struct DodrioGame_Gfx * sGfx = NULL; +EWRAM_DATA static struct DodrioGame *sGame = NULL; +EWRAM_DATA static u16 *sDodrioSpriteIds[MAX_RFU_PLAYERS] = {NULL}; +EWRAM_DATA static u16 *sCloudSpriteIds[NUM_CLOUDS] = {NULL}; +EWRAM_DATA static u16 *sBerrySpriteIds[NUM_BERRY_COLUMNS] = {NULL}; +EWRAM_DATA static u16 *sBerryIconSpriteIds[NUM_BERRY_TYPES] = {NULL}; +EWRAM_DATA static struct StatusBar *sStatusBar = NULL; +EWRAM_DATA static struct DodrioGame_Gfx *sGfx = NULL; static bool32 sExitingGame; @@ -695,7 +695,7 @@ static void ResetTasksAndSprites(void) FreeAllSpritePalettes(); } -static void InitDodrioGame(struct DodrioGame * game) +static void InitDodrioGame(struct DodrioGame *game) { u8 i; @@ -1091,32 +1091,39 @@ static void InitResults_Member(void) { u8 i; - switch (sGame->state) { + switch (sGame->state) + { case 0: - if (SendBlock(0, sGame->berryResults[sGame->timer], sizeof(sGame->berryResults))) { + if (SendBlock(0, sGame->berryResults[sGame->timer], sizeof(sGame->berryResults))) + { sGame->playersReceived = 0; sGame->state++; } break; case 1: - if (IsLinkTaskFinished()) { + if (IsLinkTaskFinished()) + { sGame->state++; } break; case 2: - if (AllLinkBlocksReceived()) { - for (i = 0; i < sGame->numPlayers; i++) { + if (AllLinkBlocksReceived()) + { + for (i = 0; i < sGame->numPlayers; i++) + { memcpy(sGame->berryResults, gBlockRecvBuffer, sizeof(sGame->berryResults)); sGame->playersReceived = sGame->numPlayers; } } - if (sGame->playersReceived >= sGame->numPlayers) { + if (sGame->playersReceived >= sGame->numPlayers) + { sGame->timer++; sGame->state++; } break; default: - if (WaitFanfare(TRUE)) { + if (WaitFanfare(TRUE)) + { sGame->maxBerriesPickedInRow = sGame->berryResults[sGame->multiplayerId][BERRY_IN_ROW]; SetGameFunc(FUNC_RESULTS); FadeOutAndPlayNewMapMusic(MUS_RG_VICTORY_WILD, 4); @@ -1426,7 +1433,7 @@ static void Task_NewGameIntro(u8 taskId) static void Task_CommunicateMonInfo(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; u8 i; switch (tState) @@ -1752,7 +1759,7 @@ static void HandleSound_Member(void) } for (i = berryStart; i < berryEnd; i++) { - struct DodrioGame_Berries * berries = &sGame->players[sGame->multiplayerId].berries; + struct DodrioGame_Berries *berries = &sGame->players[sGame->multiplayerId].berries; if (berries->fallDist[i] >= MAX_FALL_DIST) { if (!sGame->playingSquishSound[i]) @@ -1795,7 +1802,7 @@ static void VBlankCB_DodrioGame(void) ProcessSpriteCopyRequests(); } -static void InitMonInfo(struct DodrioGame_MonInfo * monInfo, struct Pokemon *mon) +static void InitMonInfo(struct DodrioGame_MonInfo *monInfo, struct Pokemon *mon) { monInfo->isShiny = IsMonShiny(mon); } @@ -1854,7 +1861,7 @@ static void InitFirstWaveOfBerries(void) for (i = berryStart; i < berryEnd; i++) { - struct DodrioGame_Berries * berries = &sGame->player.berries; + struct DodrioGame_Berries *berries = &sGame->player.berries; berries->fallDist[i] = (i % 2 == 0) ? 1 : 0; berries->ids[i] = BERRY_BLUE; } @@ -1988,7 +1995,7 @@ static bool32 TryPickBerry(u8 playerId, u8 pickState, u8 column) { s32 pick = 0; u8 numPlayersIdx = sGame->numPlayers - 1; - struct DodrioGame_Berries * berries = &sGame->player.berries; + struct DodrioGame_Berries *berries = &sGame->player.berries; switch (pickState) { @@ -3834,7 +3841,7 @@ static void LoadDodrioGfx(void) LoadSpritePalette(&shiny); } -static void CreateDodrioSprite(struct DodrioGame_MonInfo * monInfo, u8 playerId, u8 id, u8 numPlayers) +static void CreateDodrioSprite(struct DodrioGame_MonInfo *monInfo, u8 playerId, u8 id, u8 numPlayers) { struct SpriteTemplate template = { diff --git a/src/easy_chat.c b/src/easy_chat.c index 8e93ca310e..760b07e382 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1478,10 +1478,10 @@ void ShowEasyChatScreen(void) break; case EASY_CHAT_TYPE_BARD_SONG: bard = &gSaveBlock1Ptr->oldMan.bard; - for (i = 0; i < BARD_SONG_LENGTH; i ++) - bard->temporaryLyrics[i] = bard->songLyrics[i]; + for (i = 0; i < NUM_BARD_SONG_WORDS; i ++) + bard->newSongLyrics[i] = bard->songLyrics[i]; - words = bard->temporaryLyrics; + words = bard->newSongLyrics; break; case EASY_CHAT_TYPE_INTERVIEW: words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.words; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index abf1aff841..5aa955d7e9 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -33,6 +33,7 @@ #include "naming_screen.h" #include "pokemon_storage_system.h" #include "field_screen_effect.h" +#include "trade.h" #include "data.h" #include "battle.h" // to get rid of later #include "constants/rgb.h" @@ -62,7 +63,6 @@ struct EggHatchData u8 textColor[3]; }; -extern const u32 gTradePlatform_Tilemap[]; extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NicknameHatchPrompt[]; diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index c5b8712b5c..0e49967049 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -378,7 +378,7 @@ static u8 GetTrainerHillUnkVal(void) return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256; } -static bool32 ValidateTrainerChecksum(struct EReaderTrainerHillTrainer * hillTrainer) +static bool32 ValidateTrainerChecksum(struct EReaderTrainerHillTrainer *hillTrainer) { int checksum = CalcByteArraySum((u8 *)hillTrainer, offsetof(typeof(*hillTrainer), checksum)); if (checksum != hillTrainer->checksum) @@ -387,7 +387,7 @@ static bool32 ValidateTrainerChecksum(struct EReaderTrainerHillTrainer * hillTra return TRUE; } -bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet * hillSet) +bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *hillSet) { u32 i; u32 checksum; @@ -426,7 +426,7 @@ static bool32 ValidateTrainerHillChecksum(struct EReaderTrainerHillSet *hillSet) return TRUE; } -static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSet, struct TrainerHillChallenge * challenge) +static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet *hillSet, struct TrainerHillChallenge *challenge) { int i; @@ -465,7 +465,7 @@ static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSe return TRUE; } -bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet * hillSet) +bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *hillSet) { void *buffer = AllocZeroed(SECTOR_SIZE); bool32 result = TryWriteTrainerHill_Internal(hillSet, buffer); @@ -473,7 +473,7 @@ bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet * hillSet) return result; } -static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet * dest, u8 * buffer) +static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet *dest, u8 *buffer) { if (TryReadSpecialSaveSector(SECTOR_ID_TRAINER_HILL, buffer) != SAVE_STATUS_OK) return FALSE; @@ -485,7 +485,7 @@ static bool32 TryReadTrainerHill_Internal(struct EReaderTrainerHillSet * dest, u return TRUE; } -static bool32 TryReadTrainerHill(struct EReaderTrainerHillSet * hillSet) +static bool32 TryReadTrainerHill(struct EReaderTrainerHillSet *hillSet) { u8 *buffer = AllocZeroed(SECTOR_SIZE); bool32 result = TryReadTrainerHill_Internal(hillSet, buffer); @@ -501,7 +501,7 @@ bool32 ReadTrainerHillAndValidate(void) return result; } -int EReader_Send(int size, const void * src) +int EReader_Send(int size, const void *src) { int result; int sendStatus; @@ -542,7 +542,7 @@ int EReader_Send(int size, const void * src) return result; } -int EReader_Recv(void * dest) +int EReader_Recv(void *dest) { int result; int recvStatus; @@ -619,7 +619,7 @@ static void OpenSerial32(void) sCounter2 = 0; } -int EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBuffer) +int EReaderHandleTransfer(u8 mode, size_t size, const void *data, void *recvBuffer) { switch (sSendRecvMgr.state) { @@ -712,7 +712,7 @@ static u16 DetermineSendRecvState(u8 mode) return resp; } -static void SetUpTransferManager(size_t size, const void * data, void * recvBuffer) +static void SetUpTransferManager(size_t size, const void *data, void *recvBuffer) { if (sSendRecvMgr.isParent) { diff --git a/src/ereader_screen.c b/src/ereader_screen.c index c625c78a9e..556acf8e3c 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -40,7 +40,10 @@ struct EReaderData static void Task_EReader(u8); -struct EReaderData gEReaderData; +// This belongs in COMMON somewhere between party_menu and ereader_screen, but it's unused so it's unclear where. +COMMON_DATA UNUSED u8 gUnknownSpace[64] = {0}; + +COMMON_DATA struct EReaderData gEReaderData = {0}; extern const u8 gMultiBootProgram_EReader_Start[]; extern const u8 gMultiBootProgram_EReader_End[]; diff --git a/src/event_object_lock.c b/src/event_object_lock.c index 29575111fb..7cb260757c 100644 --- a/src/event_object_lock.c +++ b/src/event_object_lock.c @@ -98,7 +98,7 @@ void FreezeObjects_WaitForPlayerAndSelected(void) void ScriptUnfreezeObjectEvents(void) { - u8 playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + u8 playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); @@ -110,7 +110,7 @@ void UnionRoom_UnlockPlayerAndChatPartner(void) if (gObjectEvents[gSelectedObjectEvent].active) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); - playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index a181ea9f21..6997f0b40a 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -30,6 +30,17 @@ #include "constants/trainer_types.h" #include "constants/union_room.h" +#define SPECIAL_LOCALIDS_START (min(LOCALID_CAMERA, \ + min(LOCALID_PLAYER, \ + LOCALID_BERRY_BLENDER_PLAYER_END - MAX_RFU_PLAYERS + 1))) + +// The object event templates on a map cannot use the special IDs listed above or they can behave unexpectedly. +// For more details on these special IDs see their definitions in 'include/constants/event_objects.h'. +// OBJECT_EVENT_TEMPLATES_COUNT should always be low enough that it doesn't overlap with these IDs. +#if OBJECT_EVENT_TEMPLATES_COUNT >= SPECIAL_LOCALIDS_START +#error "OBJECT_EVENT_TEMPLATES_COUNT is too large. Object event local IDs may overlap with reserved IDs." +#endif + // this file was known as evobjmv.c in Game Freak's original source enum { @@ -144,9 +155,9 @@ static u8 FindObjectEventPaletteIndexByTag(u16); static void _PatchObjectPalette(u16, u8); static bool8 ObjectEventDoesElevationMatch(struct ObjectEvent *, u8); static void SpriteCB_CameraObject(struct Sprite *); -static void CameraObject_0(struct Sprite *); -static void CameraObject_1(struct Sprite *); -static void CameraObject_2(struct Sprite *); +static void CameraObject_Init(struct Sprite *); +static void CameraObject_UpdateMove(struct Sprite *); +static void CameraObject_UpdateFrozen(struct Sprite *); static const struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8, const struct ObjectEventTemplate *, u8); static void ClearObjectEventMovement(struct ObjectEvent *, struct Sprite *); static void ObjectEventSetSingleMovement(struct ObjectEvent *, struct Sprite *, u8); @@ -193,10 +204,16 @@ static const struct SpriteTemplate sCameraSpriteTemplate = { .callback = SpriteCB_CameraObject }; +enum { + CAMERA_STATE_INIT, + CAMERA_STATE_MOVE, + CAMERA_STATE_FROZEN, +}; + static void (*const sCameraObjectFuncs[])(struct Sprite *) = { - CameraObject_0, - CameraObject_1, - CameraObject_2, + [CAMERA_STATE_INIT] = CameraObject_Init, + [CAMERA_STATE_MOVE] = CameraObject_UpdateMove, + [CAMERA_STATE_FROZEN] = CameraObject_UpdateFrozen, }; #include "data/object_events/object_event_graphics.h" @@ -1165,9 +1182,9 @@ static const u8 sPlayerDirectionToCopyDirection[][4] = { static void ClearObjectEvent(struct ObjectEvent *objectEvent) { *objectEvent = (struct ObjectEvent){}; - objectEvent->localId = OBJ_EVENT_ID_PLAYER; - objectEvent->mapNum = MAP_NUM(UNDEFINED); - objectEvent->mapGroup = MAP_GROUP(UNDEFINED); + objectEvent->localId = LOCALID_PLAYER; + objectEvent->mapNum = MAP_NUM(MAP_UNDEFINED); + objectEvent->mapGroup = MAP_GROUP(MAP_UNDEFINED); objectEvent->movementActionId = MOVEMENT_ACTION_NONE; } @@ -1216,7 +1233,7 @@ u8 GetFirstInactiveObjectEventId(void) u8 GetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) { - if (localId < OBJ_EVENT_ID_PLAYER) + if (localId < LOCALID_PLAYER) return GetObjectEventIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); return GetObjectEventIdByLocalId(localId); @@ -1295,8 +1312,8 @@ static u8 InitObjectEventStateFromTemplate(const struct ObjectEventTemplate *tem objectEvent->previousCoords.y = y; objectEvent->currentElevation = template->elevation; objectEvent->previousElevation = template->elevation; - objectEvent->rangeX = template->movementRangeX; - objectEvent->rangeY = template->movementRangeY; + objectEvent->range.rangeX = template->movementRangeX; + objectEvent->range.rangeY = template->movementRangeY; objectEvent->trainerType = template->trainerType; objectEvent->mapNum = mapNum; objectEvent->trainerRange_berryTreeId = template->trainerRange_berryTreeId; @@ -1305,10 +1322,10 @@ static u8 InitObjectEventStateFromTemplate(const struct ObjectEventTemplate *tem SetObjectEventDynamicGraphicsId(objectEvent); if (sMovementTypeHasRange[objectEvent->movementType]) { - if (objectEvent->rangeX == 0) - objectEvent->rangeX++; - if (objectEvent->rangeY == 0) - objectEvent->rangeY++; + if (objectEvent->range.rangeX == 0) + objectEvent->range.rangeX++; + if (objectEvent->range.rangeY == 0) + objectEvent->range.rangeY++; } return objectEventId; } @@ -1321,7 +1338,7 @@ u8 Unref_TryInitLocalObjectEvent(u8 localId) if (gMapHeader.events != NULL) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) objectEventCount = GetNumBattlePyramidObjectEvents(); else if (InTrainerHill()) objectEventCount = HILL_TRAINERS_PER_FLOOR; @@ -1637,7 +1654,7 @@ void TrySpawnObjectEvents(s16 cameraX, s16 cameraY) s16 top = gSaveBlock1Ptr->pos.y; s16 bottom = gSaveBlock1Ptr->pos.y + MAP_OFFSET_H + 2; - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) objectCount = GetNumBattlePyramidObjectEvents(); else if (InTrainerHill()) objectCount = HILL_TRAINERS_PER_FLOOR; @@ -1836,7 +1853,7 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) sprite->x += 8; sprite->y += 16 + sprite->centerToCornerVecY; if (objectEvent->trackedByCamera) - CameraObjectReset1(); + CameraObjectReset(); } void ObjectEventSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) @@ -2128,7 +2145,7 @@ void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y) sprite->y += 16 + sprite->centerToCornerVecY; ResetObjectEventFldEffData(objectEvent); if (objectEvent->trackedByCamera) - CameraObjectReset1(); + CameraObjectReset(); } void TryMoveObjectEventToMapCoords(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) @@ -2204,15 +2221,15 @@ void UpdateObjectEventsForCameraUpdate(s16 x, s16 y) RemoveObjectEventsOutsideView(); } -#define sLinkedSpriteId data[0] -#define sState data[1] - -u8 AddCameraObject(u8 linkedSpriteId) +// The "CameraObject" functions below are responsible for an invisible sprite +// that follows the movements of a different sprite (normally the player's sprite) +// and tracks x/y movement distances for the camera so it knows where to move. +u8 AddCameraObject(u8 followSpriteId) { u8 spriteId = CreateSprite(&sCameraSpriteTemplate, 0, 0, 4); gSprites[spriteId].invisible = TRUE; - gSprites[spriteId].sLinkedSpriteId = linkedSpriteId; + gSprites[spriteId].sCamera_FollowSpriteId = followSpriteId; return spriteId; } @@ -2221,35 +2238,37 @@ static void SpriteCB_CameraObject(struct Sprite *sprite) void (*callbacks[ARRAY_COUNT(sCameraObjectFuncs)])(struct Sprite *); memcpy(callbacks, sCameraObjectFuncs, sizeof sCameraObjectFuncs); - callbacks[sprite->sState](sprite); + callbacks[sprite->sCamera_State](sprite); } -static void CameraObject_0(struct Sprite *sprite) +static void CameraObject_Init(struct Sprite *sprite) { - sprite->x = gSprites[sprite->sLinkedSpriteId].x; - sprite->y = gSprites[sprite->sLinkedSpriteId].y; + sprite->x = gSprites[sprite->sCamera_FollowSpriteId].x; + sprite->y = gSprites[sprite->sCamera_FollowSpriteId].y; sprite->invisible = TRUE; - sprite->sState = 1; - CameraObject_1(sprite); + sprite->sCamera_State = CAMERA_STATE_MOVE; + CameraObject_UpdateMove(sprite); } -static void CameraObject_1(struct Sprite *sprite) +static void CameraObject_UpdateMove(struct Sprite *sprite) { - s16 x = gSprites[sprite->sLinkedSpriteId].x; - s16 y = gSprites[sprite->sLinkedSpriteId].y; + s16 x = gSprites[sprite->sCamera_FollowSpriteId].x; + s16 y = gSprites[sprite->sCamera_FollowSpriteId].y; - sprite->data[2] = x - sprite->x; - sprite->data[3] = y - sprite->y; + sprite->sCamera_MoveX = x - sprite->x; + sprite->sCamera_MoveY = y - sprite->y; sprite->x = x; sprite->y = y; } -static void CameraObject_2(struct Sprite *sprite) +// Invisible sprite will continue to follow the parent sprite, +// but no corresponding camera movement will be shown. +static void CameraObject_UpdateFrozen(struct Sprite *sprite) { - sprite->x = gSprites[sprite->sLinkedSpriteId].x; - sprite->y = gSprites[sprite->sLinkedSpriteId].y; - sprite->data[2] = 0; - sprite->data[3] = 0; + sprite->x = gSprites[sprite->sCamera_FollowSpriteId].x; + sprite->y = gSprites[sprite->sCamera_FollowSpriteId].y; + sprite->sCamera_MoveX = 0; + sprite->sCamera_MoveY = 0; } static struct Sprite *FindCameraSprite(void) @@ -2264,51 +2283,43 @@ static struct Sprite *FindCameraSprite(void) return NULL; } -void CameraObjectReset1(void) +void CameraObjectReset(void) { - struct Sprite *camera; - - camera = FindCameraSprite(); + struct Sprite *camera = FindCameraSprite(); if (camera != NULL) { - camera->sState = 0; + camera->sCamera_State = CAMERA_STATE_INIT; camera->callback(camera); } } void CameraObjectSetFollowedSpriteId(u8 spriteId) { - struct Sprite *camera; - - camera = FindCameraSprite(); + struct Sprite *camera = FindCameraSprite(); if (camera != NULL) { - camera->sLinkedSpriteId = spriteId; - CameraObjectReset1(); + camera->sCamera_FollowSpriteId = spriteId; + CameraObjectReset(); } } static u8 UNUSED CameraObjectGetFollowedSpriteId(void) { - struct Sprite *camera; - - camera = FindCameraSprite(); + struct Sprite *camera = FindCameraSprite(); if (camera == NULL) return MAX_SPRITES; - return camera->sLinkedSpriteId; + return camera->sCamera_FollowSpriteId; } -void CameraObjectReset2(void) +void CameraObjectFreeze(void) { - // UB: Possible null dereference -#ifdef UBFIX struct Sprite *camera = FindCameraSprite(); - if (camera) - camera->sState = 2; -#else - FindCameraSprite()->sState = 2; -#endif // UBFIX +#ifdef UBFIX // Possible null dereference + if (camera == NULL) + return; +#endif + camera->sCamera_State = CAMERA_STATE_FROZEN; } u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) @@ -4682,18 +4693,18 @@ static bool8 IsCoordOutsideObjectEventMovementRange(struct ObjectEvent *objectEv s16 top; s16 bottom; - if (objectEvent->rangeX != 0) + if (objectEvent->range.rangeX != 0) { - left = objectEvent->initialCoords.x - objectEvent->rangeX; - right = objectEvent->initialCoords.x + objectEvent->rangeX; + left = objectEvent->initialCoords.x - objectEvent->range.rangeX; + right = objectEvent->initialCoords.x + objectEvent->range.rangeX; if (left > x || right < x) return TRUE; } - if (objectEvent->rangeY != 0) + if (objectEvent->range.rangeY != 0) { - top = objectEvent->initialCoords.y - objectEvent->rangeY; - bottom = objectEvent->initialCoords.y + objectEvent->rangeY; + top = objectEvent->initialCoords.y - objectEvent->range.rangeY; + bottom = objectEvent->initialCoords.y + objectEvent->range.rangeY; if (top > y || bottom < y) return TRUE; @@ -6171,7 +6182,7 @@ bool8 MovementAction_FacePlayer_Step0(struct ObjectEvent *objectEvent, struct Sp { u8 playerObjectId; - if (!TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0, &playerObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0, &playerObjectId)) FaceDirection(objectEvent, sprite, GetDirectionToFace(objectEvent->currentCoords.x, objectEvent->currentCoords.y, gObjectEvents[playerObjectId].currentCoords.x, @@ -6184,7 +6195,7 @@ bool8 MovementAction_FaceAwayPlayer_Step0(struct ObjectEvent *objectEvent, struc { u8 playerObjectId; - if (!TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0, &playerObjectId)) + if (!TryGetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0, &playerObjectId)) FaceDirection(objectEvent, sprite, GetOppositeDirection(GetDirectionToFace(objectEvent->currentCoords.x, objectEvent->currentCoords.y, gObjectEvents[playerObjectId].currentCoords.x, @@ -8070,14 +8081,18 @@ static void DoGroundEffects_OnSpawn(struct ObjectEvent *objEvent, struct Sprite { u32 flags; +#ifdef BUGFIX + if (objEvent->triggerGroundEffectsOnMove && objEvent->localId != OBJ_EVENT_ID_CAMERA) +#else if (objEvent->triggerGroundEffectsOnMove) +#endif { flags = 0; UpdateObjectEventElevationAndPriority(objEvent, sprite); GetAllGroundEffectFlags_OnSpawn(objEvent, &flags); SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); DoFlaggedGroundEffects(objEvent, sprite, flags); - objEvent->triggerGroundEffectsOnMove = 0; + objEvent->triggerGroundEffectsOnMove = FALSE; objEvent->disableCoveringGroundEffects = 0; } } @@ -8086,7 +8101,11 @@ static void DoGroundEffects_OnBeginStep(struct ObjectEvent *objEvent, struct Spr { u32 flags; +#ifdef BUGFIX + if (objEvent->triggerGroundEffectsOnMove && objEvent->localId != OBJ_EVENT_ID_CAMERA) +#else if (objEvent->triggerGroundEffectsOnMove) +#endif { flags = 0; UpdateObjectEventElevationAndPriority(objEvent, sprite); @@ -8094,7 +8113,7 @@ static void DoGroundEffects_OnBeginStep(struct ObjectEvent *objEvent, struct Spr SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); filters_out_some_ground_effects(objEvent, &flags); DoFlaggedGroundEffects(objEvent, sprite, flags); - objEvent->triggerGroundEffectsOnMove = 0; + objEvent->triggerGroundEffectsOnMove = FALSE; objEvent->disableCoveringGroundEffects = 0; } } @@ -8103,7 +8122,11 @@ static void DoGroundEffects_OnFinishStep(struct ObjectEvent *objEvent, struct Sp { u32 flags; +#ifdef BUGFIX + if (objEvent->triggerGroundEffectsOnStop && objEvent->localId != OBJ_EVENT_ID_CAMERA) +#else if (objEvent->triggerGroundEffectsOnStop) +#endif { flags = 0; UpdateObjectEventElevationAndPriority(objEvent, sprite); @@ -8802,7 +8825,7 @@ u8 MovementAction_LockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite bool32 found = FALSE; for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { - if (firstFreeSlot == OBJECT_EVENTS_COUNT && sLockedAnimObjectEvents->localIds[i] == 0) + if (firstFreeSlot == OBJECT_EVENTS_COUNT && sLockedAnimObjectEvents->localIds[i] == LOCALID_NONE) firstFreeSlot = i; if (sLockedAnimObjectEvents->localIds[i] == objectEvent->localId) @@ -8842,7 +8865,7 @@ u8 MovementAction_UnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprit index = FindLockedObjectEventIndex(objectEvent); if (index != OBJECT_EVENTS_COUNT) { - sLockedAnimObjectEvents->localIds[index] = 0; + sLockedAnimObjectEvents->localIds[index] = LOCALID_NONE; sLockedAnimObjectEvents->count--; ableToStore = TRUE; } diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index 96ff1b52df..1568c18d5f 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -150,7 +150,9 @@ static void SpriteCB_Sparkle_SpiralUpward(struct Sprite *sprite) sprite->oam.matrixNum = matrixNum; } else + { DestroySprite(sprite); + } } static void CreateSparkle_SpiralUpward(u8 trigIdx) @@ -178,7 +180,9 @@ static void SpriteCB_Sparkle_ArcDown(struct Sprite *sprite) sprite->sTimer++; } else + { DestroySprite(sprite); + } } static void CreateSparkle_ArcDown(u8 trigIdx) @@ -206,7 +210,9 @@ static void SpriteCB_Sparkle_CircleInward(struct Sprite *sprite) sprite->sTrigIdx += 4; } else + { DestroySprite(sprite); + } } static void CreateSparkle_CircleInward(u8 trigIdx, u8 speed) @@ -238,7 +244,9 @@ static void SpriteCB_Sparkle_Spray(struct Sprite *sprite) sprite->sTrigIdx++; matrixNum = 31 - (sprite->sTrigIdx * 12 / 128); if (sprite->sTrigIdx > 64) + { sprite->subpriority = 1; + } else { sprite->invisible = FALSE; @@ -252,7 +260,9 @@ static void SpriteCB_Sparkle_Spray(struct Sprite *sprite) sprite->sTimer++; } else + { DestroySprite(sprite); + } } static void CreateSparkle_Spray(u8 id) @@ -348,7 +358,9 @@ static void Task_Sparkles_ArcDown(u8 taskId) gTasks[taskId].tTimer++; } else + { gTasks[taskId].func = Task_Sparkles_ArcDown_End; + } } static void Task_Sparkles_ArcDown_End(u8 taskId) @@ -388,7 +400,9 @@ static void Task_Sparkles_CircleInward(u8 taskId) gTasks[taskId].tTimer++; } else + { gTasks[taskId].func = Task_Sparkles_CircleInward_End; + } } static void Task_Sparkles_CircleInward_End(u8 taskId) @@ -437,7 +451,9 @@ static void Task_Sparkles_SprayAndFlash(u8 taskId) gTasks[taskId].tTimer++; } else + { gTasks[taskId].func = Task_Sparkles_SprayAndFlash_End; + } } static void Task_Sparkles_SprayAndFlash_End(u8 taskId) @@ -486,7 +502,9 @@ static void Task_Sparkles_SprayAndFlashTrade(u8 taskId) gTasks[taskId].tTimer++; } else + { gTasks[taskId].func = Task_Sparkles_SprayAndFlash_End; + } } #undef tTimer @@ -560,9 +578,13 @@ static void Task_CycleEvolutionMonSprite_Init(u8 taskId) static void Task_CycleEvolutionMonSprite_TryEnd(u8 taskId) { if (gTasks[taskId].tEvoStopped) + { EndOnPreEvoMon(taskId); + } else if (gTasks[taskId].tScaleSpeed == 128) + { EndOnPostEvoMon(taskId); + } else { gTasks[taskId].tScaleSpeed += 2; @@ -574,7 +596,9 @@ static void Task_CycleEvolutionMonSprite_TryEnd(u8 taskId) static void Task_CycleEvolutionMonSprite_UpdateSize(u8 taskId) { if (gTasks[taskId].tEvoStopped) + { gTasks[taskId].func = EndOnPreEvoMon; + } else { u16 oamMatrixArg; @@ -583,7 +607,9 @@ static void Task_CycleEvolutionMonSprite_UpdateSize(u8 taskId) { // Set pre-evo sprite growth if (gTasks[taskId].tPreEvoScale < MON_MAX_SCALE - gTasks[taskId].tScaleSpeed) + { gTasks[taskId].tPreEvoScale += gTasks[taskId].tScaleSpeed; + } else { gTasks[taskId].tPreEvoScale = MON_MAX_SCALE; @@ -592,7 +618,9 @@ static void Task_CycleEvolutionMonSprite_UpdateSize(u8 taskId) // Set post-evo sprite shrink if (gTasks[taskId].tPostEvoScale > MON_MIN_SCALE + gTasks[taskId].tScaleSpeed) + { gTasks[taskId].tPostEvoScale -= gTasks[taskId].tScaleSpeed; + } else { gTasks[taskId].tPostEvoScale = MON_MIN_SCALE; @@ -603,7 +631,9 @@ static void Task_CycleEvolutionMonSprite_UpdateSize(u8 taskId) { // Set post-evo sprite growth if (gTasks[taskId].tPostEvoScale < MON_MAX_SCALE - gTasks[taskId].tScaleSpeed) + { gTasks[taskId].tPostEvoScale += gTasks[taskId].tScaleSpeed; + } else { gTasks[taskId].tPostEvoScale = MON_MAX_SCALE; @@ -612,7 +642,9 @@ static void Task_CycleEvolutionMonSprite_UpdateSize(u8 taskId) // Set pre-evo sprite shrink if (gTasks[taskId].tPreEvoScale > MON_MIN_SCALE + gTasks[taskId].tScaleSpeed) + { gTasks[taskId].tPreEvoScale -= gTasks[taskId].tScaleSpeed; + } else { gTasks[taskId].tPreEvoScale = MON_MIN_SCALE; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 133afe3b0d..f09425720a 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -48,7 +48,7 @@ struct EvoInfo static EWRAM_DATA struct EvoInfo *sEvoStructPtr = NULL; static EWRAM_DATA u16 *sBgAnimPal = NULL; -void (*gCB2_AfterEvolution)(void); +COMMON_DATA void (*gCB2_AfterEvolution)(void) = NULL; #define sEvoCursorPos gBattleCommunication[1] // when learning a new move #define sEvoGraphicsTaskId gBattleCommunication[2] @@ -211,7 +211,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u u8 name[POKEMON_NAME_BUFFER_SIZE]; u16 currSpecies; u32 trainerId, personality; - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u8 id; SetHBlankCallback(NULL); @@ -237,7 +237,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u gBattle_BG3_X = 256; gBattle_BG3_Y = 0; - gBattleTerrain = BATTLE_TERRAIN_PLAIN; + gBattleEnvironment = BATTLE_ENVIRONMENT_PLAIN; InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); @@ -311,7 +311,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u static void CB2_EvolutionSceneLoadGraphics(void) { u8 id; - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u16 postEvoSpecies; u32 trainerId, personality; struct Pokemon *mon = &gPlayerParty[gTasks[sEvoStructPtr->evoTaskId].tPartyId]; @@ -343,7 +343,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) gBattle_BG3_X = 256; gBattle_BG3_Y = 0; - gBattleTerrain = BATTLE_TERRAIN_PLAIN; + gBattleEnvironment = BATTLE_ENVIRONMENT_PLAIN; InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); @@ -420,7 +420,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) break; case 4: { - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u32 trainerId = GetMonData(mon, MON_DATA_OT_ID); u32 personality = GetMonData(mon, MON_DATA_PERSONALITY); DecompressPicFromTable_2(&gMonFrontPicTable[postEvoSpecies], @@ -470,7 +470,7 @@ void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSprit u8 name[POKEMON_NAME_BUFFER_SIZE]; u16 currSpecies; u32 trainerId, personality; - const struct CompressedSpritePalette* pokePal; + const struct CompressedSpritePalette *pokePal; u8 id; GetMonData(mon, MON_DATA_NICKNAME, name); diff --git a/src/faraway_island.c b/src/faraway_island.c index 4f34cf30e6..fc3a714e5f 100755 --- a/src/faraway_island.c +++ b/src/faraway_island.c @@ -321,8 +321,8 @@ static u8 GetValidMewMoveDirection(u8 ignoredDir) void UpdateFarawayIslandStepCounter(void) { u16 steps = VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER); - if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR) - && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR)) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR)) { steps++; if (steps >= 9999) @@ -334,8 +334,8 @@ void UpdateFarawayIslandStepCounter(void) bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent) { - if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR) - && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR)) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR)) { if (objectEvent->graphicsId == OBJ_EVENT_GFX_MEW) return TRUE; @@ -346,8 +346,8 @@ bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent) bool8 IsMewPlayingHideAndSeek(void) { - if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR) - && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR)) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR)) { if (FlagGet(FLAG_CAUGHT_MEW) != TRUE && FlagGet(FLAG_HIDE_MEW) != TRUE) return TRUE; diff --git a/src/field_camera.c b/src/field_camera.c index 3f7e29208c..e76ba3d855 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -39,9 +39,9 @@ static s16 sVerticalCameraPan; static bool8 sBikeCameraPanFlag; static void (*sFieldCameraPanningCallback)(void); -struct CameraObject gFieldCamera; -u16 gTotalCameraPixelOffsetY; -u16 gTotalCameraPixelOffsetX; +COMMON_DATA struct CameraObject gFieldCamera = {0}; +COMMON_DATA u16 gTotalCameraPixelOffsetY = 0; +COMMON_DATA u16 gTotalCameraPixelOffsetX = 0; static void ResetCameraOffset(struct FieldCameraOffset *cameraOffset) { @@ -231,7 +231,9 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, if (metatileId > NUM_METATILES_TOTAL) metatileId = 0; if (metatileId < NUM_METATILES_IN_PRIMARY) + { metatiles = mapLayout->primaryTileset->metatiles; + } else { metatiles = mapLayout->secondaryTileset->metatiles; @@ -331,8 +333,8 @@ static void CameraUpdateCallback(struct CameraObject *fieldCamera) { if (fieldCamera->spriteId != 0) { - fieldCamera->movementSpeedX = gSprites[fieldCamera->spriteId].data[2]; - fieldCamera->movementSpeedY = gSprites[fieldCamera->spriteId].data[3]; + fieldCamera->movementSpeedX = gSprites[fieldCamera->spriteId].sCamera_MoveX; + fieldCamera->movementSpeedY = gSprites[fieldCamera->spriteId].sCamera_MoveY; } } diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 09d6ae7838..8ddeda77ac 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -38,7 +38,7 @@ static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; static EWRAM_DATA u16 sPrevMetatileBehavior = 0; -u8 gSelectedObjectEvent; +COMMON_DATA u8 gSelectedObjectEvent = 0; static void GetPlayerPosition(struct MapPosition *); static void GetInFrontOfPlayerPosition(struct MapPosition *); @@ -137,7 +137,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) u8 playerDirection; u16 metatileBehavior; - gSpecialVar_LastTalked = 0; + gSpecialVar_LastTalked = LOCALID_NONE; gSelectedObjectEvent = 0; playerDirection = GetPlayerFacingDirection(); @@ -268,7 +268,7 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil else objectEventId = GetObjectEventIdByPosition(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->elevation); - if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) + if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == LOCALID_PLAYER) return NULL; for (i = 0; i < 4; i++) @@ -289,14 +289,14 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 const u8 *script; objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); - if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) + if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == LOCALID_PLAYER) { if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) return NULL; // Look for an object event on the other side of the counter. objectEventId = GetObjectEventIdByPosition(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->elevation); - if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) + if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == LOCALID_PLAYER) return NULL; } @@ -814,7 +814,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi warpEvent = &gMapHeader.events->warps[warpEventId]; } - if (warpEvent->mapNum == MAP_NUM(DYNAMIC)) + if (warpEvent->mapNum == MAP_NUM(MAP_DYNAMIC)) { SetWarpDestinationToDynamicWarp(warpEvent->warpId); } @@ -825,7 +825,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); UpdateEscapeWarp(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum); - if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(DYNAMIC)) + if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(MAP_DYNAMIC)) SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); } } diff --git a/src/field_door.c b/src/field_door.c index 255233ec23..9d69337c0e 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -437,7 +437,9 @@ static const struct DoorGraphics *GetDoorGraphics(const struct DoorGraphics *gfx static s8 StartDoorAnimationTask(const struct DoorGraphics *gfx, const struct DoorAnimFrame *frames, u32 x, u32 y) { if (FuncIsActiveTask(Task_AnimateDoor) == TRUE) + { return -1; + } else { u8 taskId = CreateTask(Task_AnimateDoor, 0x50); @@ -560,8 +562,8 @@ static bool8 ShouldUseMultiCorridorDoor(void) { if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR)) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)) { return TRUE; } diff --git a/src/field_effect.c b/src/field_effect.c index 86f1ca97d2..5dcc4b3c08 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -254,7 +254,7 @@ static const u32 sHofMonitorBig_Gfx[] = INCBIN_U32("graphics/field_effects/pics/ static const u8 sHofMonitorSmall_Gfx[] = INCBIN_U8("graphics/field_effects/pics/hof_monitor_small.4bpp"); static const u16 sHofMonitor_Pal[16] = INCBIN_U16("graphics/field_effects/palettes/hof_monitor.gbapal"); -// Graphics for the lights streaking past your Pokemon when it uses a field move. +// Graphics for the lights streaking past your Pokémon when it uses a field move. static const u32 sFieldMoveStreaksOutdoors_Gfx[] = INCBIN_U32("graphics/field_effects/pics/field_move_streaks.4bpp"); static const u16 sFieldMoveStreaksOutdoors_Pal[16] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks.gbapal"); static const u16 sFieldMoveStreaksOutdoors_Tilemap[320] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks.bin"); @@ -1293,7 +1293,8 @@ static void CreateHofMonitorSprite(s16 taskId, s16 x, s16 y, bool8 isSmallMonito { spriteId = CreateSpriteAtEnd(&sSpriteTemplate_HofMonitorBig, x, y, 0); SetSubspriteTables(&gSprites[spriteId], &sSubspriteTable_HofMonitorBig); - } else + } + else { spriteId = CreateSpriteAtEnd(&sSpriteTemplate_HofMonitorSmall, x, y, 0); } @@ -1444,7 +1445,7 @@ static bool8 FallWarpEffect_Init(struct Task *task) struct Sprite *playerSprite; playerObject = &gObjectEvents[gPlayerAvatar.objectEventId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; - CameraObjectReset2(); + CameraObjectFreeze(); gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; gPlayerAvatar.preventStep = TRUE; ObjectEventSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); @@ -1540,7 +1541,7 @@ static bool8 FallWarpEffect_End(struct Task *task) { gPlayerAvatar.preventStep = FALSE; UnlockPlayerFieldControls(); - CameraObjectReset1(); + CameraObjectReset(); UnfreezeObjectEvents(); InstallCameraPanAheadCallback(); DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect)); @@ -1579,7 +1580,7 @@ static void Task_EscalatorWarpOut(u8 taskId) static bool8 EscalatorWarpOut_Init(struct Task *task) { FreezeObjectEvents(); - CameraObjectReset2(); + CameraObjectFreeze(); StartEscalator(task->tGoingUp); task->tState++; return FALSE; @@ -1711,7 +1712,7 @@ static bool8 EscalatorWarpIn_Init(struct Task *task) s16 x; s16 y; u8 behavior; - CameraObjectReset2(); + CameraObjectFreeze(); objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(DIR_EAST)); PlayerGetDestCoords(&x, &y); @@ -1811,7 +1812,7 @@ static bool8 EscalatorWarpIn_End(struct Task *task) objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { - CameraObjectReset1(); + CameraObjectReset(); UnlockPlayerFieldControls(); ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST)); DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpIn)); @@ -1957,7 +1958,7 @@ static void Task_LavaridgeGymB1FWarp(u8 taskId) static bool8 LavaridgeGymB1FWarpEffect_Init(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { FreezeObjectEvents(); - CameraObjectReset2(); + CameraObjectFreeze(); SetCameraPanningCallback(NULL); gPlayerAvatar.preventStep = TRUE; objectEvent->fixedPriority = 1; @@ -2003,7 +2004,8 @@ static bool8 LavaridgeGymB1FWarpEffect_Rise(struct Task *task, struct ObjectEven { task->data[1] <<= 1; } - } else if (!(task->data[2] & 4) && (task->data[1] > 0)) + } + else if (!(task->data[2] & 4) && (task->data[1] > 0)) { task->data[1] >>= 1; } @@ -2017,7 +2019,8 @@ static bool8 LavaridgeGymB1FWarpEffect_Rise(struct Task *task, struct ObjectEven { task->data[3]++; } - } else + } + else { task->data[4] = 1; } @@ -2072,7 +2075,7 @@ static void Task_LavaridgeGymB1FWarpExit(u8 taskId) static bool8 LavaridgeGymB1FWarpExitEffect_Init(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { - CameraObjectReset2(); + CameraObjectFreeze(); FreezeObjectEvents(); gPlayerAvatar.preventStep = TRUE; objectEvent->invisible = TRUE; @@ -2101,7 +2104,7 @@ static bool8 LavaridgeGymB1FWarpExitEffect_PopOut(struct Task *task, struct Obje { task->data[0]++; objectEvent->invisible = FALSE; - CameraObjectReset1(); + CameraObjectReset(); PlaySE(SE_M_DIG); ObjectEventSetHeldMovement(objectEvent, GetJumpMovementAction(DIR_EAST)); } @@ -2150,7 +2153,7 @@ static void Task_LavaridgeGym1FWarp(u8 taskId) static bool8 LavaridgeGym1FWarpEffect_Init(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite) { FreezeObjectEvents(); - CameraObjectReset2(); + CameraObjectFreeze(); gPlayerAvatar.preventStep = TRUE; objectEvent->fixedPriority = 1; task->data[0]++; @@ -2169,7 +2172,8 @@ static bool8 LavaridgeGym1FWarpEffect_AshPuff(struct Task *task, struct ObjectEv gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_ASH_PUFF); task->data[0]++; - } else + } + else { task->data[1]++; ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFasterMovementAction(objectEvent->facingDirection)); @@ -2370,7 +2374,7 @@ static void TeleportWarpOutFieldEffect_Init(struct Task *task) { LockPlayerFieldControls(); FreezeObjectEvents(); - CameraObjectReset2(); + CameraObjectFreeze(); task->data[15] = GetPlayerFacingDirection(); task->tState++; } @@ -2452,7 +2456,7 @@ static void FieldCallback_TeleportWarpIn(void) FreezeObjectEvents(); gFieldCallback = NULL; gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; - CameraObjectReset2(); + CameraObjectFreeze(); CreateTask(Task_TeleportWarpIn, 0); } @@ -2496,10 +2500,11 @@ static void TeleportWarpInFieldEffect_SpinEnter(struct Task *task) if (task->data[13] == 0) { task->data[13]++; - objectEvent->triggerGroundEffectsOnMove = 1; + objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->subspriteMode = task->data[14]; } - } else + } + else { sprite->oam.priority = 1; if (sprite->subspriteMode != SUBSPRITES_OFF) @@ -2536,7 +2541,7 @@ static void TeleportWarpInFieldEffect_SpinGround(struct Task *task) if ((++task->data[2]) > 4 && task->data[14] == objectEvent->facingDirection) { UnlockPlayerFieldControls(); - CameraObjectReset1(); + CameraObjectReset(); UnfreezeObjectEvents(); DestroyTask(FindTaskIdByFunc(Task_TeleportWarpIn)); } @@ -3268,7 +3273,7 @@ static void FlyOutFieldEffect_FlyOffWithBird(struct Task *task) objectEvent->inanimate = FALSE; objectEvent->hasShadow = FALSE; SetFlyBirdPlayerSpriteId(task->tBirdSpriteId, objectEvent->spriteId); - CameraObjectReset2(); + CameraObjectFreeze(); task->tState++; } } @@ -3483,7 +3488,7 @@ static void FlyInFieldEffect_BirdSwoopDown(struct Task *task) SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_NONE); } ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - CameraObjectReset2(); + CameraObjectFreeze(); ObjectEventTurn(objectEvent, DIR_WEST); StartSpriteAnim(&gSprites[objectEvent->spriteId], ANIM_GET_ON_OFF_POKEMON_WEST); objectEvent->invisible = FALSE; diff --git a/src/field_message_box.c b/src/field_message_box.c index 55124e7dfc..b797e1d353 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -84,7 +84,7 @@ bool8 ShowPokenavFieldMessage(const u8 *str) StringExpandPlaceholders(gStringVar4, str); CreateTask(Task_HidePokenavMessageWhenDone, 0); StartMatchCallFromScript(str); - sFieldMessageBoxMode = 2; + sFieldMessageBoxMode = FIELD_MESSAGE_BOX_NORMAL; return TRUE; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 5f4573c533..90e19e27f3 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -38,14 +38,13 @@ EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {}; EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {}; // static declarations - -static u8 ObjectEventCB2_NoMovement2(); +static u8 ObjectEventCB2_NoMovement2(void); static bool8 TryInterruptObjectEventSpecialAnim(struct ObjectEvent *, u8); static void npc_clear_strange_bits(struct ObjectEvent *); static void MovePlayerAvatarUsingKeypadInput(u8, u16, u16); -static void PlayerAllowForcedMovementIfMovingSameDirection(); -static bool8 TryDoMetatileBehaviorForcedMovement(); -static u8 GetForcedMovementByMetatileBehavior(); +static void PlayerAllowForcedMovementIfMovingSameDirection(void); +static bool8 TryDoMetatileBehaviorForcedMovement(void); +static u8 GetForcedMovementByMetatileBehavior(void); static bool8 ForcedMovement_None(void); static bool8 ForcedMovement_Slip(void); @@ -232,7 +231,7 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) = [DIR_EAST - 1] = MetatileBehavior_IsEastArrowWarp, }; -static const u8 sRivalAvatarGfxIds[][2] = +static const u8 sRivalAvatarGfxIds[][GENDER_COUNT] = { [PLAYER_AVATAR_STATE_NORMAL] = {OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL}, [PLAYER_AVATAR_STATE_MACH_BIKE] = {OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE, OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE}, @@ -244,7 +243,7 @@ static const u8 sRivalAvatarGfxIds[][2] = [PLAYER_AVATAR_STATE_WATERING] = {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING} }; -static const u8 sPlayerAvatarGfxIds[][2] = +static const u8 sPlayerAvatarGfxIds[][GENDER_COUNT] = { [PLAYER_AVATAR_STATE_NORMAL] = {OBJ_EVENT_GFX_BRENDAN_NORMAL, OBJ_EVENT_GFX_MAY_NORMAL}, [PLAYER_AVATAR_STATE_MACH_BIKE] = {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, OBJ_EVENT_GFX_MAY_MACH_BIKE}, @@ -318,7 +317,7 @@ static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct Obj void MovementType_Player(struct Sprite *sprite) { - UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, ObjectEventCB2_NoMovement2); + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, (bool8 (*)(struct ObjectEvent *, struct Sprite *))ObjectEventCB2_NoMovement2); } static u8 ObjectEventCB2_NoMovement2(void) @@ -620,9 +619,27 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) } else { - u8 adjustedCollision = collision - COLLISION_STOP_SURFING; - if (adjustedCollision > 3) + // Player collided with something. Certain collisions have special handling that precludes the normal collision effect. + // COLLISION_STOP_SURFING and COLLISION_PUSHED_BOULDER's effects are started by CheckForObjectEventCollision. + // COLLISION_LEDGE_JUMP's effect is handled further up in this function, so it will never reach this point. + // COLLISION_ROTATING_GATE is unusual however, this was probably included by mistake. When the player walks into a + // rotating gate that cannot rotate there is no additional handling, it's just a regular collision. Its exclusion here + // means that the player avatar won't update if they encounter this kind of collision. This has two noticeable effects: + // - Colliding with it head-on stops the player dead, rather than playing the walking animation and playing a bump sound effect + // - Colliding with it by changing direction won't turn the player avatar, their walking animation will just speed up. +#ifdef BUGFIX + if (collision != COLLISION_STOP_SURFING + && collision != COLLISION_LEDGE_JUMP + && collision != COLLISION_PUSHED_BOULDER) +#else + if (collision != COLLISION_STOP_SURFING + && collision != COLLISION_LEDGE_JUMP + && collision != COLLISION_PUSHED_BOULDER + && collision != COLLISION_ROTATING_GATE) +#endif + { PlayerNotOnBikeCollide(direction); + } return; } } @@ -777,7 +794,7 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) playerY = object->currentCoords.y; MoveCoords(direction, &playerX, &playerY); - mewObjectId = GetObjectEventIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR)); + mewObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_FARAWAY_ISLAND_MEW, MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR), MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR)); if (mewObjectId == OBJECT_EVENTS_COUNT) return FALSE; @@ -1363,7 +1380,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) u8 objectEventId; struct ObjectEvent *objectEvent; - playerObjEventTemplate.localId = OBJ_EVENT_ID_PLAYER; + playerObjEventTemplate.localId = LOCALID_PLAYER; playerObjEventTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); playerObjEventTemplate.x = x - MAP_OFFSET; playerObjEventTemplate.y = y - MAP_OFFSET; @@ -1663,6 +1680,10 @@ static void Task_WaitStopSurfing(u8 taskId) gPlayerAvatar.preventStep = FALSE; UnlockPlayerFieldControls(); DestroySprite(&gSprites[playerObjEvent->fieldEffectSpriteId]); +#ifdef BUGFIX + // If this is not defined but the player steps into grass from surfing, they will appear over the grass instead of in the grass. + playerObjEvent->triggerGroundEffectsOnMove = TRUE; +#endif DestroyTask(taskId); } } @@ -2093,7 +2114,7 @@ static void Task_DoPlayerSpinExit(u8 taskId) tSpeed = 1; tCurY = (u16)(sprite->y + sprite->y2) << 4; sprite->y2 = 0; - CameraObjectReset2(); + CameraObjectFreeze(); object->fixedPriority = TRUE; sprite->oam.priority = 0; sprite->subpriority = 0; @@ -2162,7 +2183,7 @@ static void Task_DoPlayerSpinEntrance(u8 taskId) tSubpriority = sprite->subpriority; tCurY = -((u16)sprite->y2 + 32) * 16; sprite->y2 = 0; - CameraObjectReset2(); + CameraObjectFreeze(); object->fixedPriority = TRUE; sprite->oam.priority = 1; sprite->subpriority = 0; @@ -2197,7 +2218,7 @@ static void Task_DoPlayerSpinEntrance(u8 taskId) object->fixedPriority = 0; sprite->oam.priority = tPriority; sprite->subpriority = tSubpriority; - CameraObjectReset1(); + CameraObjectReset(); DestroyTask(taskId); } break; diff --git a/src/field_poison.c b/src/field_poison.c index f254a6d142..1b8ae94094 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -89,7 +89,11 @@ static void Task_TryFieldPoisonWhiteOut(u8 taskId) if (AllMonsFainted()) { // Battle facilities have their own white out script to handle the challenge loss - if (InBattlePyramid() | InBattlePike() || InTrainerHillChallenge()) +#ifdef BUGFIX + if (CurrentBattlePyramidLocation() || InBattlePike() || InTrainerHillChallenge()) +#else + if (CurrentBattlePyramidLocation() | InBattlePike() || InTrainerHillChallenge()) +#endif gSpecialVar_Result = FLDPSN_FRONTIER_WHITEOUT; else gSpecialVar_Result = FLDPSN_WHITEOUT; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 616444116c..bd354c8a44 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -334,7 +334,7 @@ static void Task_ExitDoor(u8 taskId) { u8 objEventId; SetPlayerVisibility(TRUE); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->tState = 2; } @@ -344,7 +344,7 @@ static void Task_ExitDoor(u8 taskId) { u8 objEventId; task->data[1] = FieldAnimateDoorClose(*x, *y); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]); task->tState = 3; } @@ -382,7 +382,7 @@ static void Task_ExitNonAnimDoor(u8 taskId) { u8 objEventId; SetPlayerVisibility(TRUE); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventSetHeldMovement(&gObjectEvents[objEventId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->tState = 2; } @@ -693,9 +693,9 @@ static void Task_DoDoorWarp(u8 taskId) if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { u8 objEventId; - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP); task->tState = 2; } @@ -705,7 +705,7 @@ static void Task_DoDoorWarp(u8 taskId) { u8 objEventId; task->data[1] = FieldAnimateDoorClose(*x, *y - 1); - objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]); SetPlayerVisibility(FALSE); task->tState = 3; diff --git a/src/field_special_scene.c b/src/field_special_scene.c index a2b3d6366f..ccb15f02b4 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -312,7 +312,7 @@ void Task_HandlePorthole(u8 taskId) case IDLE_CHECK: if (JOY_NEW(A_BUTTON)) data[1] = 1; - if (!ScriptMovement_IsObjectMovementFinished(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup)) + if (!ScriptMovement_IsObjectMovementFinished(LOCALID_PLAYER, location->mapNum, location->mapGroup)) return; if (CountSSTidalStep(1) == TRUE) { @@ -334,12 +334,12 @@ void Task_HandlePorthole(u8 taskId) if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT) { - ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript); + ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript); data[0] = IDLE_CHECK; } else { - ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript); + ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript); data[0] = IDLE_CHECK; } break; diff --git a/src/field_specials.c b/src/field_specials.c index 7d20d3571d..98384d52ab 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -92,7 +92,7 @@ static EWRAM_DATA u8 sFrontierExchangeCorner_ItemIconWindowId = 0; static EWRAM_DATA u8 sPCBoxToSendMon = 0; static EWRAM_DATA u32 sBattleTowerMultiBattleTypeFlags = 0; -struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; +COMMON_DATA struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate = {0}; void TryLoseFansFromPlayTime(void); void SetPlayerGotFirstFans(void); @@ -263,7 +263,7 @@ u16 GetRecordedCyclingRoadResults(void) void UpdateCyclingRoadState(void) { - if (gLastUsedWarp.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE) && gLastUsedWarp.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE)) + if (gLastUsedWarp.mapNum == MAP_NUM(MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE) && gLastUsedWarp.mapGroup == MAP_GROUP(MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE)) return; if (VarGet(VAR_CYCLING_CHALLENGE_STATE) == 2 || VarGet(VAR_CYCLING_CHALLENGE_STATE) == 3) @@ -313,39 +313,39 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) case SS_TIDAL_DEPART_SLATEPORT: if (*varCruiseStepCount < 60) { - *mapNum = MAP_NUM(ROUTE134); + *mapNum = MAP_NUM(MAP_ROUTE134); *x = *varCruiseStepCount + 19; } else if (*varCruiseStepCount < 140) { - *mapNum = MAP_NUM(ROUTE133); + *mapNum = MAP_NUM(MAP_ROUTE133); *x = *varCruiseStepCount - 60; } else { - *mapNum = MAP_NUM(ROUTE132); + *mapNum = MAP_NUM(MAP_ROUTE132); *x = *varCruiseStepCount - 140; } break; case SS_TIDAL_HALFWAY_SLATEPORT: if (*varCruiseStepCount < 66) { - *mapNum = MAP_NUM(ROUTE132); + *mapNum = MAP_NUM(MAP_ROUTE132); *x = 65 - *varCruiseStepCount; } else if (*varCruiseStepCount < 146) { - *mapNum = MAP_NUM(ROUTE133); + *mapNum = MAP_NUM(MAP_ROUTE133); *x = 145 - *varCruiseStepCount; } else { - *mapNum = MAP_NUM(ROUTE134); + *mapNum = MAP_NUM(MAP_ROUTE134); *x = 224 - *varCruiseStepCount; } break; } - *mapGroup = MAP_GROUP(ROUTE132); + *mapGroup = MAP_GROUP(MAP_ROUTE132); *y = 20; return SS_TIDAL_LOCATION_CURRENTS; } @@ -563,8 +563,8 @@ void SpawnLinkPartnerObjectEvent(void) linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL; break; } - SpawnSpecialObjectEventParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + MAP_OFFSET, coordOffsets[j][1] + y + MAP_OFFSET, 0); - LoadLinkPartnerObjectEventSpritePalette(linkSpriteId, 240 - i, i); + SpawnSpecialObjectEventParameterized(linkSpriteId, movementTypes[j], LOCALID_BERRY_BLENDER_PLAYER_END - i, coordOffsets[j][0] + x + MAP_OFFSET, coordOffsets[j][1] + y + MAP_OFFSET, 0); + LoadLinkPartnerObjectEventSpritePalette(linkSpriteId, LOCALID_BERRY_BLENDER_PLAYER_END - i, i); j++; if (j == MAX_LINK_PLAYERS) j = 0; @@ -927,9 +927,9 @@ u8 GetBattleOutcome(void) void CableCarWarp(void) { if (gSpecialVar_0x8004 != 0) - SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4); + SetWarpDestination(MAP_GROUP(MAP_ROUTE112_CABLE_CAR_STATION), MAP_NUM(MAP_ROUTE112_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4); else - SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4); + SetWarpDestination(MAP_GROUP(MAP_MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MAP_MT_CHIMNEY_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4); } void SetHiddenItemFlag(void) @@ -1252,7 +1252,7 @@ void SpawnCameraObject(void) { u8 obj = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, - OBJ_EVENT_ID_CAMERA, + LOCALID_CAMERA, gSaveBlock1Ptr->pos.x + MAP_OFFSET, gSaveBlock1Ptr->pos.y + MAP_OFFSET, 3); // elevation @@ -1263,7 +1263,7 @@ void SpawnCameraObject(void) void RemoveCameraObject(void) { CameraObjectSetFollowedSpriteId(GetPlayerAvatarSpriteId()); - RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveObjectEventByLocalIdAndMap(LOCALID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } u8 GetPokeblockNameByMonNature(void) @@ -1398,8 +1398,8 @@ bool8 Special_AreLeadMonEVsMaxedOut(void) u8 TryUpdateRusturfTunnelState(void) { if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) - && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL)) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_RUSTURF_TUNNEL) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_RUSTURF_TUNNEL)) { if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1)) { @@ -1662,8 +1662,8 @@ bool8 IsBadEggInParty(void) bool8 InMultiPartnerRoom(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS) return TRUE; return FALSE; @@ -1749,22 +1749,22 @@ void SetDeptStoreFloor(void) u8 deptStoreFloor; switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F): deptStoreFloor = DEPT_STORE_FLOORNUM_1F; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F): deptStoreFloor = DEPT_STORE_FLOORNUM_2F; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F): deptStoreFloor = DEPT_STORE_FLOORNUM_3F; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F): deptStoreFloor = DEPT_STORE_FLOORNUM_4F; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F): deptStoreFloor = DEPT_STORE_FLOORNUM_5F; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP; break; default: @@ -1779,27 +1779,27 @@ u16 GetDeptStoreDefaultFloorChoice(void) sLilycoveDeptStore_NeverRead = 0; sLilycoveDeptStore_DefaultFloorChoice = 0; - if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F)) + if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F)) { switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F): sLilycoveDeptStore_NeverRead = 0; sLilycoveDeptStore_DefaultFloorChoice = 0; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F): sLilycoveDeptStore_NeverRead = 0; sLilycoveDeptStore_DefaultFloorChoice = 1; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F): sLilycoveDeptStore_NeverRead = 0; sLilycoveDeptStore_DefaultFloorChoice = 2; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F): sLilycoveDeptStore_NeverRead = 0; sLilycoveDeptStore_DefaultFloorChoice = 3; break; - case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F): sLilycoveDeptStore_NeverRead = 0; sLilycoveDeptStore_DefaultFloorChoice = 4; break; @@ -2044,7 +2044,7 @@ bool8 UsedPokemonCenterWarp(void) bool32 PlayerNotAtTrainerHillEntrance(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_TRAINER_HILL_ENTRANCE)) return FALSE; return TRUE; @@ -3349,8 +3349,8 @@ static void ChangeDeoxysRockLevel(u8 rockLevel) CreateTask(WaitForDeoxysRockMovement, 8); gFieldEffectArguments[0] = LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK; - gFieldEffectArguments[1] = MAP_NUM(BIRTH_ISLAND_EXTERIOR); - gFieldEffectArguments[2] = MAP_GROUP(BIRTH_ISLAND_EXTERIOR); + gFieldEffectArguments[1] = MAP_NUM(MAP_BIRTH_ISLAND_EXTERIOR); + gFieldEffectArguments[2] = MAP_GROUP(MAP_BIRTH_ISLAND_EXTERIOR); gFieldEffectArguments[3] = sDeoxysRockCoords[rockLevel][0]; gFieldEffectArguments[4] = sDeoxysRockCoords[rockLevel][1]; @@ -3377,7 +3377,7 @@ static void WaitForDeoxysRockMovement(u8 taskId) void IncrementBirthIslandRockStepCount(void) { u16 stepCount = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); - if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BIRTH_ISLAND_EXTERIOR)) { if (++stepCount > 99) VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0); @@ -3470,22 +3470,22 @@ void CreateAbnormalWeatherEvent(void) bool32 GetAbnormalWeatherMapNameAndType(void) { static const u8 sAbnormalWeatherMapNumbers[] = { - MAP_NUM(ROUTE114), - MAP_NUM(ROUTE114), - MAP_NUM(ROUTE115), - MAP_NUM(ROUTE115), - MAP_NUM(ROUTE116), - MAP_NUM(ROUTE116), - MAP_NUM(ROUTE118), - MAP_NUM(ROUTE118), - MAP_NUM(ROUTE105), - MAP_NUM(ROUTE105), - MAP_NUM(ROUTE125), - MAP_NUM(ROUTE125), - MAP_NUM(ROUTE127), - MAP_NUM(ROUTE127), - MAP_NUM(ROUTE129), - MAP_NUM(ROUTE129) + MAP_NUM(MAP_ROUTE114), + MAP_NUM(MAP_ROUTE114), + MAP_NUM(MAP_ROUTE115), + MAP_NUM(MAP_ROUTE115), + MAP_NUM(MAP_ROUTE116), + MAP_NUM(MAP_ROUTE116), + MAP_NUM(MAP_ROUTE118), + MAP_NUM(MAP_ROUTE118), + MAP_NUM(MAP_ROUTE105), + MAP_NUM(MAP_ROUTE105), + MAP_NUM(MAP_ROUTE125), + MAP_NUM(MAP_ROUTE125), + MAP_NUM(MAP_ROUTE127), + MAP_NUM(MAP_ROUTE127), + MAP_NUM(MAP_ROUTE129), + MAP_NUM(MAP_ROUTE129) }; u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION); @@ -3503,22 +3503,22 @@ bool8 AbnormalWeatherHasExpired(void) // Duplicate array. static const u8 sAbnormalWeatherMapNumbers[] = { - MAP_NUM(ROUTE114), - MAP_NUM(ROUTE114), - MAP_NUM(ROUTE115), - MAP_NUM(ROUTE115), - MAP_NUM(ROUTE116), - MAP_NUM(ROUTE116), - MAP_NUM(ROUTE118), - MAP_NUM(ROUTE118), - MAP_NUM(ROUTE105), - MAP_NUM(ROUTE105), - MAP_NUM(ROUTE125), - MAP_NUM(ROUTE125), - MAP_NUM(ROUTE127), - MAP_NUM(ROUTE127), - MAP_NUM(ROUTE129), - MAP_NUM(ROUTE129) + MAP_NUM(MAP_ROUTE114), + MAP_NUM(MAP_ROUTE114), + MAP_NUM(MAP_ROUTE115), + MAP_NUM(MAP_ROUTE115), + MAP_NUM(MAP_ROUTE116), + MAP_NUM(MAP_ROUTE116), + MAP_NUM(MAP_ROUTE118), + MAP_NUM(MAP_ROUTE118), + MAP_NUM(MAP_ROUTE105), + MAP_NUM(MAP_ROUTE105), + MAP_NUM(MAP_ROUTE125), + MAP_NUM(MAP_ROUTE125), + MAP_NUM(MAP_ROUTE127), + MAP_NUM(MAP_ROUTE127), + MAP_NUM(MAP_ROUTE129), + MAP_NUM(MAP_ROUTE129) }; u16 steps = VarGet(VAR_ABNORMAL_WEATHER_STEP_COUNTER); @@ -3530,15 +3530,15 @@ bool8 AbnormalWeatherHasExpired(void) if (++steps > 999) { VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, 0); - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_UNDERWATER_MARINE_CAVE)) { switch (gSaveBlock1Ptr->location.mapNum) { - case MAP_NUM(UNDERWATER_MARINE_CAVE): - case MAP_NUM(MARINE_CAVE_ENTRANCE): - case MAP_NUM(MARINE_CAVE_END): - case MAP_NUM(TERRA_CAVE_ENTRANCE): - case MAP_NUM(TERRA_CAVE_END): + case MAP_NUM(MAP_UNDERWATER_MARINE_CAVE): + case MAP_NUM(MAP_MARINE_CAVE_ENTRANCE): + case MAP_NUM(MAP_MARINE_CAVE_END): + case MAP_NUM(MAP_TERRA_CAVE_ENTRANCE): + case MAP_NUM(MAP_TERRA_CAVE_END): VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1); return FALSE; default: @@ -3546,14 +3546,14 @@ bool8 AbnormalWeatherHasExpired(void) } } - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_ROUTE127)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_UNDERWATER_ROUTE127)) { switch (gSaveBlock1Ptr->location.mapNum) { - case MAP_NUM(UNDERWATER_ROUTE127): - case MAP_NUM(UNDERWATER_ROUTE129): - case MAP_NUM(UNDERWATER_ROUTE105): - case MAP_NUM(UNDERWATER_ROUTE125): + case MAP_NUM(MAP_UNDERWATER_ROUTE127): + case MAP_NUM(MAP_UNDERWATER_ROUTE129): + case MAP_NUM(MAP_UNDERWATER_ROUTE105): + case MAP_NUM(MAP_UNDERWATER_ROUTE125): VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1); return FALSE; default: @@ -3589,18 +3589,18 @@ u32 GetMartEmployeeObjectEventId(void) { static const u8 sPokeMarts[][3] = { - { MAP_GROUP(OLDALE_TOWN_MART), MAP_NUM(OLDALE_TOWN_MART), LOCALID_OLDALE_MART_CLERK }, - { MAP_GROUP(LAVARIDGE_TOWN_MART), MAP_NUM(LAVARIDGE_TOWN_MART), LOCALID_LAVARIDGE_MART_CLERK }, - { MAP_GROUP(FALLARBOR_TOWN_MART), MAP_NUM(FALLARBOR_TOWN_MART), LOCALID_FALLARBOR_MART_CLERK }, - { MAP_GROUP(VERDANTURF_TOWN_MART), MAP_NUM(VERDANTURF_TOWN_MART), LOCALID_VERDANTURF_MART_CLERK }, - { MAP_GROUP(PETALBURG_CITY_MART), MAP_NUM(PETALBURG_CITY_MART), LOCALID_PETALBURG_MART_CLERK }, - { MAP_GROUP(SLATEPORT_CITY_MART), MAP_NUM(SLATEPORT_CITY_MART), LOCALID_SLATEPORT_MART_CLERK }, - { MAP_GROUP(MAUVILLE_CITY_MART), MAP_NUM(MAUVILLE_CITY_MART), LOCALID_MAUVILLE_MART_CLERK }, - { MAP_GROUP(RUSTBORO_CITY_MART), MAP_NUM(RUSTBORO_CITY_MART), LOCALID_RUSTBORO_MART_CLERK }, - { MAP_GROUP(FORTREE_CITY_MART), MAP_NUM(FORTREE_CITY_MART), LOCALID_FORTREE_MART_CLERK }, - { MAP_GROUP(MOSSDEEP_CITY_MART), MAP_NUM(MOSSDEEP_CITY_MART), LOCALID_MOSSDEEP_MART_CLERK }, - { MAP_GROUP(SOOTOPOLIS_CITY_MART), MAP_NUM(SOOTOPOLIS_CITY_MART), LOCALID_SOOTOPOLIS_MART_CLERK }, - { MAP_GROUP(BATTLE_FRONTIER_MART), MAP_NUM(BATTLE_FRONTIER_MART), LOCALID_BATTLE_FRONTIER_MART_CLERK } + { MAP_GROUP(MAP_OLDALE_TOWN_MART), MAP_NUM(MAP_OLDALE_TOWN_MART), LOCALID_OLDALE_MART_CLERK }, + { MAP_GROUP(MAP_LAVARIDGE_TOWN_MART), MAP_NUM(MAP_LAVARIDGE_TOWN_MART), LOCALID_LAVARIDGE_MART_CLERK }, + { MAP_GROUP(MAP_FALLARBOR_TOWN_MART), MAP_NUM(MAP_FALLARBOR_TOWN_MART), LOCALID_FALLARBOR_MART_CLERK }, + { MAP_GROUP(MAP_VERDANTURF_TOWN_MART), MAP_NUM(MAP_VERDANTURF_TOWN_MART), LOCALID_VERDANTURF_MART_CLERK }, + { MAP_GROUP(MAP_PETALBURG_CITY_MART), MAP_NUM(MAP_PETALBURG_CITY_MART), LOCALID_PETALBURG_MART_CLERK }, + { MAP_GROUP(MAP_SLATEPORT_CITY_MART), MAP_NUM(MAP_SLATEPORT_CITY_MART), LOCALID_SLATEPORT_MART_CLERK }, + { MAP_GROUP(MAP_MAUVILLE_CITY_MART), MAP_NUM(MAP_MAUVILLE_CITY_MART), LOCALID_MAUVILLE_MART_CLERK }, + { MAP_GROUP(MAP_RUSTBORO_CITY_MART), MAP_NUM(MAP_RUSTBORO_CITY_MART), LOCALID_RUSTBORO_MART_CLERK }, + { MAP_GROUP(MAP_FORTREE_CITY_MART), MAP_NUM(MAP_FORTREE_CITY_MART), LOCALID_FORTREE_MART_CLERK }, + { MAP_GROUP(MAP_MOSSDEEP_CITY_MART), MAP_NUM(MAP_MOSSDEEP_CITY_MART), LOCALID_MOSSDEEP_MART_CLERK }, + { MAP_GROUP(MAP_SOOTOPOLIS_CITY_MART), MAP_NUM(MAP_SOOTOPOLIS_CITY_MART), LOCALID_SOOTOPOLIS_MART_CLERK }, + { MAP_GROUP(MAP_BATTLE_FRONTIER_MART), MAP_NUM(MAP_BATTLE_FRONTIER_MART), LOCALID_FRONTIER_MART_CLERK }, }; u8 i; @@ -3620,7 +3620,7 @@ bool32 IsTrainerRegistered(void) int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); if (index >= 0) { - if (FlagGet(FLAG_MATCH_CALL_REGISTERED + index) == TRUE) + if (FlagGet(TRAINER_REGISTERED_FLAGS_START + index) == TRUE) return TRUE; } return FALSE; @@ -3880,7 +3880,7 @@ void GetBattlePyramidHint(void) // Used to avoid a potential softlock if the player respawns on Dewford with no way off void ResetHealLocationFromDewford(void) { - if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) + if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(MAP_DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(MAP_DEWFORD_TOWN)) SetLastHealLocationWarp(HEAL_LOCATION_PETALBURG_CITY); } @@ -3957,14 +3957,14 @@ bool8 InPokemonCenter(void) #define FANCLUB_BITFIELD (gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START]) #define FANCLUB_COUNTER 0x007F -#define GET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD >> (flag) & 1) -#define SET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD |= 1 << (flag)) -#define FLIP_TRAINER_FAN_CLUB_FLAG(flag)(FANCLUB_BITFIELD ^= 1 << (flag)) +#define GET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD >> (flag) & 1) +#define SET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD |= 1 << (flag)) +#define FLIP_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD ^= 1 << (flag)) -#define GET_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD & FANCLUB_COUNTER) -#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & ~FANCLUB_COUNTER) | (count)) -#define INCR_TRAINER_FAN_CLUB_COUNTER(count)(FANCLUB_BITFIELD += (count)) -#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~FANCLUB_COUNTER) +#define GET_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD & FANCLUB_COUNTER) +#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & ~FANCLUB_COUNTER) | (count)) +#define INCR_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD += (count)) +#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~FANCLUB_COUNTER) void ResetFanClub(void) { diff --git a/src/field_weather.c b/src/field_weather.c index 5ca9075250..bc86bcdc7d 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -277,7 +277,6 @@ static void BuildColorMaps(void) u16 brightnessDelta; u16 colorMapIndex; u16 baseBrightness; - u32 remainingBrightness; s16 diff; sPaletteColorMapTypes = sBasePaletteColorMapTypes; @@ -305,11 +304,7 @@ static void BuildColorMaps(void) } baseBrightness = curBrightness; - remainingBrightness = 0x1f00 - curBrightness; - if ((0x1f00 - curBrightness) < 0) - remainingBrightness += 0xf; - - brightnessDelta = remainingBrightness / (NUM_WEATHER_COLOR_MAPS - 3); + brightnessDelta = (0x1f00 - curBrightness) / (NUM_WEATHER_COLOR_MAPS - 3); if (colorVal < 12) { // For shadows (color values < 12), the remaining color mappings are diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index de0b90c480..10ce1bc37a 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -770,7 +770,7 @@ void Snow_InitVars(void) gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->targetColorMapIndex = 3; gWeatherPtr->colorMapStepDelay = 20; - gWeatherPtr->targetSnowflakeSpriteCount = 16; + gWeatherPtr->targetSnowflakeSpriteCount = NUM_SNOWFLAKE_SPRITES; gWeatherPtr->snowflakeVisibleCounter = 0; } diff --git a/src/fieldmap.c b/src/fieldmap.c index d9c4fa371a..8c0e416f45 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -31,7 +31,7 @@ EWRAM_DATA struct Camera gCamera = {0}; EWRAM_DATA static struct ConnectionFlags sMapConnectionFlags = {0}; EWRAM_DATA static u32 UNUSED sFiller = 0; // without this, the next file won't align properly -struct BackupMapLayout gBackupMapLayout; +COMMON_DATA struct BackupMapLayout gBackupMapLayout = {0}; static const struct ConnectionFlags sDummyConnectionFlags = {0}; @@ -48,7 +48,7 @@ static const struct MapConnection *GetIncomingConnection(u8 direction, int x, in static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, const struct MapConnection *connection); static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, int offset); -#define GetBorderBlockAt(x, y)({ \ +#define GetBorderBlockAt(x, y) ({ \ u16 block; \ int i; \ const u16 *border = gMapHeader.mapLayout->border; /* Unused, they read it again below */ \ @@ -144,7 +144,7 @@ static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader) for (i = 0; i < count; i++, connection++) { struct MapHeader const *cMap = GetMapHeaderFromConnection(connection); - u32 offset = connection->offset; + s32 offset = connection->offset; switch (connection->direction) { case CONNECTION_SOUTH: diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 5c7d23b5ac..1e2b9a95fc 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -65,7 +65,7 @@ static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/cave_tran static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/cave_transition/black.gbapal"); static const u16 sCaveTransitionPalette_Enter[] = INCBIN_U16("graphics/cave_transition/enter.gbapal"); -static const u16 sCaveTransitionPalette_Exit[] = INCBIN_U16("graphics/cave_transition/exit.gbapal"); + static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/cave_transition/tilemap.bin.lz"); static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/cave_transition/tiles.4bpp.lz"); @@ -219,7 +219,7 @@ static void Task_ExitCaveTransition2(u8 taskId) LZ77UnCompVram(sCaveTransitionTiles, (void *)(VRAM + 0xC000)); LZ77UnCompVram(sCaveTransitionTilemap, (void *)(VRAM + 0xF800)); LoadPalette(sCaveTransitionPalette_White, BG_PLTT_ID(14), PLTT_SIZE_4BPP); - LoadPalette(sCaveTransitionPalette_Exit, BG_PLTT_ID(14), PLTT_SIZEOF(8)); + LoadPalette(&sCaveTransitionPalette_Enter[8], BG_PLTT_ID(14), PLTT_SIZEOF(8)); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 @@ -249,7 +249,7 @@ static void Task_ExitCaveTransition3(u8 taskId) u16 blend = count + 0x1000; SetGpuReg(REG_OFFSET_BLDALPHA, blend); - if (count <= 0x10) + if (count <= 16) { gTasks[taskId].data[1]++; } @@ -270,7 +270,7 @@ static void Task_ExitCaveTransition4(u8 taskId) if (count < 8) { gTasks[taskId].data[2]++; - LoadPalette(&sCaveTransitionPalette_Exit[count], BG_PLTT_ID(14), sizeof(sCaveTransitionPalette_Exit) - PLTT_SIZEOF(count)); + LoadPalette(&sCaveTransitionPalette_Enter[8 + count], BG_PLTT_ID(14), PLTT_SIZEOF(8) - PLTT_SIZEOF(count)); } else { diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index c01e88b512..513cd13e76 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -308,7 +308,7 @@ static const struct SpriteTemplate sSpriteTemplate_RecordMixLights = .callback = SpriteCallbackDummy, }; -// For accessing pokemon storage PC or the Hall of Fame PC +// For accessing Pokémon storage PC or the Hall of Fame PC void ComputerScreenOpenEffect(u16 increment, u16 unused, u8 priority) { CreateComputerScreenEffectTask(Task_ComputerScreenOpenEffect, increment, unused, priority); diff --git a/src/frontier_pass.c b/src/frontier_pass.c index 07e06ad3b9..54d25a11e0 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -917,12 +917,12 @@ static void CB2_ReturnFromRecord(void) sPassData->cursorX = sSavedPassData.cursorX; sPassData->cursorY = sSavedPassData.cursorY; memset(&sSavedPassData, 0, sizeof(sSavedPassData)); - switch (InBattlePyramid()) + switch (CurrentBattlePyramidLocation()) { - case 1: + case PYRAMID_LOCATION_FLOOR: PlayBGM(MUS_B_PYRAMID); break; - case 2: + case PYRAMID_LOCATION_TOP: PlayBGM(MUS_B_PYRAMID_TOP); break; default: @@ -1241,7 +1241,7 @@ static void ShowHideZoomingArea(bool8 show, bool8 zoomedIn) static void UpdateAreaHighlight(u8 cursorArea, u8 previousCursorArea) { - #define NON_HIGHLIGHT_AREA(area)((area) == CURSOR_AREA_NOTHING || (area) > CURSOR_AREA_CANCEL) + #define NON_HIGHLIGHT_AREA(area) ((area) == CURSOR_AREA_NOTHING || (area) > CURSOR_AREA_CANCEL) // If moving off highlightable area, unhighlight it switch (previousCursorArea) @@ -1580,48 +1580,48 @@ static void Task_HandleFrontierMap(u8 taskId) static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a frontier map number { // In Battle Tower - if ((mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM)) - || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM))) + if ((mapNum >= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM)) + || (mapNum >= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM))) return FRONTIER_FACILITY_TOWER + 1; // In Battle Dome - else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM)) + else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM)) return FRONTIER_FACILITY_DOME + 1; // In Battle Palace - else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PALACE_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM)) + else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM)) return FRONTIER_FACILITY_PALACE + 1; // In Battle Arena - else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_ARENA_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM)) + else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM)) return FRONTIER_FACILITY_ARENA + 1; // In Battle Factory - else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM)) + else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM)) return FRONTIER_FACILITY_FACTORY + 1; // In Battle Pike - else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)) + else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)) return FRONTIER_FACILITY_PIKE + 1; // In Battle Pyramid - else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) - || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_TOP)) + else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) + || mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP)) return FRONTIER_FACILITY_PYRAMID + 1; else @@ -1657,8 +1657,8 @@ static void InitFrontierMapSprites(void) { s8 mapNum = gSaveBlock1Ptr->location.mapNum; - if (mapNum == MAP_NUM(BATTLE_FRONTIER_OUTSIDE_WEST) - || (mapNum == MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST) && (x = 55))) + if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_OUTSIDE_WEST) + || (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_OUTSIDE_EAST) && (x = 55))) { x += gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; @@ -1679,7 +1679,7 @@ static void InitFrontierMapSprites(void) else { // Handle Artisan Cave. - if (gSaveBlock1Ptr->escapeWarp.mapNum == MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST)) + if (gSaveBlock1Ptr->escapeWarp.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_OUTSIDE_EAST)) x = gSaveBlock1Ptr->escapeWarp.x + 55; else x = gSaveBlock1Ptr->escapeWarp.x; diff --git a/src/frontier_util.c b/src/frontier_util.c index 08b0e68d2e..66fb74da03 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -326,7 +326,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][FRONTIER_PARTY_SIZ }, [FRONTIER_FACILITY_FACTORY] = { - // Because Factory's pokemon are random, this facility's Brain also uses random pokemon. + // Because Factory's Pokémon are random, this facility's Brain also uses random Pokémon. // What is interesting, this team is actually the one Steven uses in the multi tag battle alongside the player. { { @@ -604,7 +604,7 @@ static const u16 sBattledBrainBitFlags[NUM_FRONTIER_FACILITIES][2] = [FRONTIER_FACILITY_PYRAMID] = {1 << 12, 1 << 13}, }; -static void (* const sFrontierUtilFuncs[])(void) = +static void (*const sFrontierUtilFuncs[])(void) = { [FRONTIER_UTIL_FUNC_GET_STATUS] = GetChallengeStatus, [FRONTIER_UTIL_FUNC_GET_DATA] = GetFrontierData, @@ -2006,7 +2006,7 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL // gSpecialVar_Result is the level mode before and after calls to this function // gSpecialVar_0x8004 is used to store the return value instead (TRUE if there are insufficient eligible mons) -// The names of ineligible pokemon that have been caught are also buffered to print +// The names of ineligible Pokémon that have been caught are also buffered to print static void CheckPartyIneligibility(void) { u16 speciesArray[PARTY_SIZE]; diff --git a/gflib/gpu_regs.c b/src/gpu_regs.c similarity index 97% rename from gflib/gpu_regs.c rename to src/gpu_regs.c index 3bcc4fd931..d645c1442d 100644 --- a/gflib/gpu_regs.c +++ b/src/gpu_regs.c @@ -8,7 +8,7 @@ #define EMPTY_SLOT 0xFF -static u8 sGpuRegBuffer[GPU_REG_BUF_SIZE]; +static ALIGNED(2) u8 sGpuRegBuffer[GPU_REG_BUF_SIZE]; // sGpuRegBuffer is read as u16 so it needs to be properly aligned static u8 sGpuRegWaitingList[GPU_REG_BUF_SIZE]; static volatile bool8 sGpuRegBufferLocked; static volatile bool8 sShouldSyncRegIE; diff --git a/src/graphics.c b/src/graphics.c index 17ea237df2..3d7f2fa08b 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1,4 +1,5 @@ #include "global.h" +#include "graphics.h" const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/textbox.4bpp.lz"); const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/textbox.gbapal.lz"); @@ -257,7 +258,7 @@ const u16 gBattleAnimUnused_Unknown2[] = INCBIN_U16("graphics/battle_anims/unuse const u16 gBattleAnimUnused_Unknown3[] = INCBIN_U16("graphics/battle_anims/unused/unknown_3.bin"); const u32 gBattleAnimUnusedGfx_LineSketch2[] = INCBIN_U32("graphics/battle_anims/unused/line_sketch_2.8bpp.lz"); -const u16 gBattleAnimUnusedPal_LineSketch2[] = INCBIN_U16("graphics/battle_anims/unused/line_sketch_2.gbapal.lz"); +const u32 gBattleAnimUnusedPal_LineSketch2[] = INCBIN_U32("graphics/battle_anims/unused/line_sketch_2.gbapal.lz"); const u32 gBattleAnimUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/battle_anims/unused/line_sketch_2.bin.lz"); const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); @@ -354,7 +355,7 @@ const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_inte const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal"); -const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp", +const u8 gHealthboxElementsGfxTable[][32] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp", "graphics/battle_interface/expbar.4bpp", "graphics/battle_interface/status.4bpp", "graphics/battle_interface/misc.4bpp", @@ -362,7 +363,7 @@ const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpb "graphics/battle_interface/misc_frameend.4bpp", "graphics/battle_interface/ball_display.4bpp", "graphics/battle_interface/ball_caught_indicator.4bpp", - "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent/partner pokemon + "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent/partner Pokémon "graphics/battle_interface/status3.4bpp", "graphics/battle_interface/status4.4bpp", "graphics/battle_interface/healthbox_doubles_frameend.4bpp", @@ -942,7 +943,7 @@ const u32 gBattleVSFrame_Pal[] = INCBIN_U32("graphics/battle_transitions/vs_fram const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz"); -#include "data/graphics/battle_terrain.h" +#include "data/graphics/battle_environment.h" // Battle Dome const u32 gDomeTourneyTree_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.4bpp.lz"); @@ -953,7 +954,7 @@ const u32 gDomeTourneyLineUp_Tilemap[] = INCBIN_U32("graphics/battle_frontier/to const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz"); const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz"); const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz"); -const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and pokeball buttons +const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and Poké Ball buttons const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.gbapal.lz"); const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz"); const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz"); @@ -971,7 +972,7 @@ const u16 gTilesetAnims_BattleDomePals0_3[] = INCBIN_U16("graphics/battle_fronti static const u16 sUnused0[] = {0x13F, 0x119, 0x113, 0x10E}; -const u16 gBattlePyramidFloor_Pal[] = INCBIN_U16("graphics/battle_frontier/pyramid_floor.gbapal"); +const u16 gBattlePyramidFloor_Pal[][16] = INCBIN_U16("graphics/battle_frontier/pyramid_floor.gbapal"); const u32 gMultiBattleIntroBg_Opponent_Tilemap[] = INCBIN_U32("graphics/battle_frontier/multi_battle_intro_bg_opponent.bin.lz"); const u32 gMultiBattleIntroBg_Player_Tilemap[] = INCBIN_U32("graphics/battle_frontier/multi_battle_intro_bg_player.bin.lz"); @@ -1228,9 +1229,8 @@ const u16 gFrontierPassMapCursor_Pal[] = INCBIN_U16("graphics/frontier_pass/map_ const u16 gFrontierPassMedalsSilver_Pal[] = INCBIN_U16("graphics/frontier_pass/silver.gbapal"); const u16 gFrontierPassMedalsGold_Pal[] = INCBIN_U16("graphics/frontier_pass/gold.gbapal"); -// Pokedex +// Pokédex const u16 gPokedexBgHoenn_Pal[] = INCBIN_U16("graphics/pokedex/bg_hoenn.gbapal"); -const u16 gPokedexCaughtScreen_Pal[] = INCBIN_U16("graphics/pokedex/caught_screen.gbapal"); const u16 gPokedexSearchResults_Pal[] = INCBIN_U16("graphics/pokedex/search_results_bg.gbapal"); const u16 gPokedexBgNational_Pal[] = INCBIN_U16("graphics/pokedex/bg_national.gbapal"); const u32 gPokedexMenu_Gfx[] = INCBIN_U32("graphics/pokedex/menu.4bpp.lz"); @@ -1282,7 +1282,7 @@ const u16 gContestResultsTitle_Smart_Tilemap[] = INCBIN_U16("graphics/contest/r const u16 gContestResultsTitle_Tough_Tilemap[] = INCBIN_U16("graphics/contest/results_screen/title_tough.bin"); const u16 gContestResultsTitle_Tilemap[] = INCBIN_U16("graphics/contest/results_screen/title.bin"); -// pokenav +// PokéNav const u16 gPokenavCondition_Pal[] = INCBIN_U16("graphics/pokenav/condition/graph.gbapal"); const u32 gPokenavCondition_Gfx[] = INCBIN_U32("graphics/pokenav/condition/graph.4bpp.lz"); @@ -1383,7 +1383,7 @@ const u32 gKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/f const u32 gKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/back.bin.lz"); const u32 gKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/front_link.bin.lz"); -// pokemon storage system +// Pokémon storage system const u32 gStorageSystemMenu_Gfx[] = INCBIN_U32("graphics/pokemon_storage/menu.4bpp.lz"); const u16 gStorageSystemPartyMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/party_menu.gbapal"); @@ -1515,12 +1515,12 @@ const u16 gTitleScreenPressStartPal[] = INCBIN_U16("graphics/title_screen/p const u32 gTitleScreenPressStartGfx[] = INCBIN_U32("graphics/title_screen/press_start.4bpp.lz"); const u32 gTitleScreenPokemonLogoTilemap[] = INCBIN_U32("graphics/title_screen/pokemon_logo.bin.lz"); -const u16 gFrontierPassBg_Pal[] = INCBIN_U16("graphics/frontier_pass/bg.gbapal"); // 8 x 16 +const u16 gFrontierPassBg_Pal[][16] = INCBIN_U16("graphics/frontier_pass/bg.gbapal"); // 8 x 16 const u32 gFrontierPassBg_Gfx[] = INCBIN_U32("graphics/frontier_pass/bg.4bpp.lz"); const u32 gFrontierPassMapAndCard_Gfx[] = INCBIN_U32("graphics/frontier_pass/map_and_card.8bpp.lz"); const u32 gFrontierPassBg_Tilemap[] = INCBIN_U32("graphics/frontier_pass/bg.bin.lz"); -const u16 gFrontierPassCancelButton_Tilemap[] = INCBIN_U16("graphics/frontier_pass/cancel.bin"); -const u16 gFrontierPassCancelButtonHighlighted_Tilemap[] = INCBIN_U16("graphics/frontier_pass/cancel_highlighted.bin"); +const u32 gFrontierPassCancelButton_Tilemap[] = INCBIN_U32("graphics/frontier_pass/cancel.bin"); +const u32 gFrontierPassCancelButtonHighlighted_Tilemap[] = INCBIN_U32("graphics/frontier_pass/cancel_highlighted.bin"); // Berry Crush const u16 gBerryCrush_Crusher_Pal[] = INCBIN_U16("graphics/berry_crush/crusher.gbapal"); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 63c7c30c26..c9038ecf64 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -97,7 +97,7 @@ static void Task_HofPC_HandlePaletteOnExit(u8 taskId); static void Task_HofPC_HandleExit(u8 taskId); static void Task_HofPC_ExitOnButtonPress(u8 taskId); static void SpriteCB_GetOnScreenAndAnimate(struct Sprite *sprite); -static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2); +static void HallOfFame_PrintMonInfo(struct HallofFameMon *currMon, u8 unused1, u8 unused2); static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2); static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2); static void Task_DoDomeConfetti(u8 taskId); @@ -296,7 +296,7 @@ static const union AnimCmd sAnim_WhiteConfettiC[] = ANIMCMD_END }; -static const union AnimCmd * const sAnims_Confetti[] = +static const union AnimCmd *const sAnims_Confetti[] = { sAnim_PinkConfettiA, sAnim_RedConfettiA, @@ -563,7 +563,7 @@ static void Task_Hof_DisplayMon(u8 taskId) s16 startX, startY, destX, destY; u16 currMonId = gTasks[taskId].tDisplayedMonId; - struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; + struct HallofFameMon *currMon = &sHofMonPtr->mon[currMonId]; if (gTasks[taskId].tMonNumber > PARTY_SIZE / 2) { @@ -597,7 +597,7 @@ static void Task_Hof_DisplayMon(u8 taskId) static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId) { u16 currMonId = gTasks[taskId].tDisplayedMonId; - struct HallofFameMon* currMon = &sHofMonPtr->mon[currMonId]; + struct HallofFameMon *currMon = &sHofMonPtr->mon[currMonId]; struct Sprite *monSprite = &gSprites[gTasks[taskId].tMonSpriteId(currMonId)]; if (monSprite->callback == SpriteCallbackDummy) @@ -612,7 +612,7 @@ static void Task_Hof_PrintMonInfoAfterAnimating(u8 taskId) static void Task_Hof_TryDisplayAnotherMon(u8 taskId) { u16 currPokeID = gTasks[taskId].tDisplayedMonId; - struct HallofFameMon* currMon = &sHofMonPtr->mon[currPokeID]; + struct HallofFameMon *currMon = &sHofMonPtr->mon[currPokeID]; if (gTasks[taskId].tFrameCount != 0) { @@ -621,7 +621,7 @@ static void Task_Hof_TryDisplayAnotherMon(u8 taskId) else { sHofFadePalettes |= (0x10000 << gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.paletteNum); - if (gTasks[taskId].tDisplayedMonId < PARTY_SIZE - 1 && currMon[1].species != SPECIES_NONE) // there is another pokemon to display + if (gTasks[taskId].tDisplayedMonId < PARTY_SIZE - 1 && currMon[1].species != SPECIES_NONE) // there is another Pokémon to display { gTasks[taskId].tDisplayedMonId++; BeginNormalPaletteFade(sHofFadePalettes, 0, 12, 12, RGB(16, 29, 24)); @@ -889,7 +889,7 @@ static void Task_HofPC_CopySaveData(u8 taskId) static void Task_HofPC_DrawSpritesPrintText(u8 taskId) { struct HallofFameTeam *savedTeams = sHofMonPtr; - struct HallofFameMon* currMon; + struct HallofFameMon *currMon; u16 i; for (i = 0; i < gTasks[taskId].tCurrTeamNo; i++) @@ -955,7 +955,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) static void Task_HofPC_PrintMonInfo(u8 taskId) { struct HallofFameTeam *savedTeams = sHofMonPtr; - struct HallofFameMon* currMon; + struct HallofFameMon *currMon; u16 i; u16 currMonID; @@ -1111,7 +1111,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2) CopyWindowToVram(0, COPYWIN_FULL); } -static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2) +static void HallOfFame_PrintMonInfo(struct HallofFameMon *currMon, u8 unused1, u8 unused2) { u8 text[max(32, POKEMON_NAME_LENGTH + 1)]; u8 *stringPtr; diff --git a/src/heal_location.c b/src/heal_location.c index 0ab5540346..a787b33590 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -10,7 +10,7 @@ u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) { - if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) + if (sHealLocations[i].mapGroup == mapGroup && sHealLocations[i].mapNum == mapNum) return i + 1; } return HEAL_LOCATION_NONE; diff --git a/src/image_processing_effects.c b/src/image_processing_effects.c index 51a5d13993..b09e881fe0 100644 --- a/src/image_processing_effects.c +++ b/src/image_processing_effects.c @@ -4,16 +4,16 @@ #include "constants/rgb.h" // IWRAM common -u8 gCanvasColumnStart; -u16 *gCanvasPixels; -u8 gCanvasRowEnd; -u8 gCanvasHeight; -u8 gCanvasColumnEnd; -u8 gCanvasRowStart; -u8 gCanvasMonPersonality; -u8 gCanvasWidth; -u16 *gCanvasPalette; -u16 gCanvasPaletteStart; +COMMON_DATA u8 gCanvasColumnStart = 0; +COMMON_DATA u16 *gCanvasPixels = NULL; +COMMON_DATA u8 gCanvasRowEnd = 0; +COMMON_DATA u8 gCanvasHeight = 0; +COMMON_DATA u8 gCanvasColumnEnd = 0; +COMMON_DATA u8 gCanvasRowStart = 0; +COMMON_DATA u8 gCanvasMonPersonality = 0; +COMMON_DATA u8 gCanvasWidth = 0; +COMMON_DATA u16 *gCanvasPalette = NULL; +COMMON_DATA u16 gCanvasPaletteStart = 0; static void ApplyImageEffect_Pointillism(void); static void ApplyImageEffect_Blur(void); diff --git a/src/international_string_util.c b/src/international_string_util.c index 457e3260be..6186bd116c 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -76,10 +76,7 @@ int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu) } finalWidth = maxWidth + listMenu->item_X + 9; - if (finalWidth < 0) - finalWidth += 7; - - finalWidth >>= 3; + finalWidth /= 8; if (finalWidth > 28) finalWidth = 28; diff --git a/src/intro.c b/src/intro.c index 195374bba0..169ef002a6 100644 --- a/src/intro.c +++ b/src/intro.c @@ -110,7 +110,13 @@ static void MainCB2_EndIntro(void); extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; -extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate[]; +extern const struct SpriteTemplate gAncientPowerRockSpriteTemplate; + +enum { + COPYRIGHT_INITIALIZE, + COPYRIGHT_START_FADE = 140, + COPYRIGHT_START_INTRO, +}; #define TAG_VOLBEAT 1500 #define TAG_TORCHIC 1501 @@ -172,8 +178,8 @@ static EWRAM_DATA u16 sIntroCharacterGender = 0; static EWRAM_DATA u16 UNUSED sUnusedVar = 0; static EWRAM_DATA u16 sFlygonYOffset = 0; -u32 gIntroFrameCounter; -struct GcmbStruct gMultibootProgramStruct; +COMMON_DATA u32 gIntroFrameCounter = 0; +COMMON_DATA struct GcmbStruct gMultibootProgramStruct = {0}; static const u16 sIntroDrops_Pal[] = INCBIN_U16("graphics/intro/scene_1/drops.gbapal"); static const u16 sIntroLogo_Pal[] = INCBIN_U16("graphics/intro/scene_1/logo.gbapal"); @@ -1067,7 +1073,7 @@ static u8 SetUpCopyrightScreen(void) { switch (gMain.state) { - case 0: + case COPYRIGHT_INITIALIZE: SetVBlankCallback(NULL); SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); @@ -1101,7 +1107,7 @@ static u8 SetUpCopyrightScreen(void) gMain.state++; GameCubeMultiBoot_Main(&gMultibootProgramStruct); break; - case 140: + case COPYRIGHT_START_FADE: GameCubeMultiBoot_Main(&gMultibootProgramStruct); if (gMultibootProgramStruct.gcmb_field_2 != 1) { @@ -1109,7 +1115,7 @@ static u8 SetUpCopyrightScreen(void) gMain.state++; } break; - case 141: + case COPYRIGHT_START_INTRO: if (UpdatePaletteFade()) break; CreateTask(Task_Scene1_Load, 0); @@ -1860,12 +1866,15 @@ static void Task_Scene3_StartGroudon(u8 taskId) #define tTrigIdx data[6] // Re-used #define tPalIdx data[7] +// Treats gIntro3Bg_Pal as u8* and iterates by 1 +#define INTRO3_RAW_PTR(palId)(((void *) &gIntro3Bg_Pal) + palId) + static void Task_Scene3_Groudon(u8 taskId) { s16 *data = gTasks[taskId].data; tTimer++; - if ((u16)(tState - 1) < 7 && tTimer % 2 == 0) + if ((tState >= 1 && tState <= 7) && tTimer % 2 == 0) tYShake ^= 3; PanFadeAndZoomScreen(tScreenX, tScreenY + tYShake, tZoom, 0); switch (tState) @@ -1884,7 +1893,7 @@ static void Task_Scene3_Groudon(u8 taskId) if (--tDelay == 0) { tDelay = 2; - CpuCopy16(&gIntro3Bg_Pal[tPalIdx], &gPlttBufferFaded[BG_PLTT_ID(1) + 15], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(tPalIdx), &gPlttBufferFaded[BG_PLTT_ID(1) + 15], PLTT_SIZEOF(1)); tPalIdx += 2; if (tPalIdx == 0x1EC) tState++; @@ -1901,7 +1910,7 @@ static void Task_Scene3_Groudon(u8 taskId) if (--tDelay == 0) { tDelay = 2; - CpuCopy16(&gIntro3Bg_Pal[tPalIdx], &gPlttBufferFaded[BG_PLTT_ID(1) + 15], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(tPalIdx), &gPlttBufferFaded[BG_PLTT_ID(1) + 15], PLTT_SIZEOF(1)); tPalIdx -= 2; if (tPalIdx == 0x1E0) { @@ -1987,7 +1996,7 @@ static void CreateGroudonRockSprites(u8 taskId) for (i = 0; i < (int)ARRAY_COUNT(sGroudonRockData); i++) { - spriteId = CreateSprite(gAncientPowerRockSpriteTemplate, sGroudonRockData[i][0], DISPLAY_HEIGHT, i); + spriteId = CreateSprite(&gAncientPowerRockSpriteTemplate, sGroudonRockData[i][0], DISPLAY_HEIGHT, i); gSprites[spriteId].callback = SpriteCB_GroudonRocks; gSprites[spriteId].oam.priority = 0; gSprites[spriteId].sRockId = i; @@ -2143,7 +2152,7 @@ static void Task_Scene3_Kyogre(u8 taskId) if (--tDelay == 0) { tDelay = 4; - CpuCopy16(&gIntro3Bg_Pal[tPalIdx], &gPlttBufferFaded[BG_PLTT_ID(2) + 15], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(tPalIdx), &gPlttBufferFaded[BG_PLTT_ID(2) + 15], PLTT_SIZEOF(1)); tPalIdx -= 2; if (tPalIdx == 0x1E0) tState++; @@ -2161,7 +2170,7 @@ static void Task_Scene3_Kyogre(u8 taskId) if (--tDelay == 0) { tDelay = 4; - CpuCopy16(&gIntro3Bg_Pal[tPalIdx], &gPlttBufferFaded[BG_PLTT_ID(2) + 15], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(tPalIdx), &gPlttBufferFaded[BG_PLTT_ID(2) + 15], PLTT_SIZEOF(1)); tPalIdx += 2; if (tPalIdx == 0x1EE) { @@ -2492,7 +2501,7 @@ static void SpriteCB_Lightning(struct Sprite *sprite) sprite->sPalIdx = 0x1C2; sprite->sState++; case 1: - CpuCopy16(&gIntro3Bg_Pal[sprite->sPalIdx], &gPlttBufferFaded[BG_PLTT_ID(5) + 13], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(sprite->sPalIdx), &gPlttBufferFaded[BG_PLTT_ID(5) + 13], PLTT_SIZEOF(1)); sprite->sPalIdx += 2; if (sprite->sPalIdx != 0x1CE) break; @@ -2503,7 +2512,7 @@ static void SpriteCB_Lightning(struct Sprite *sprite) if (--sprite->sDelay == 0) { sprite->sDelay = 4; - CpuCopy16(&gIntro3Bg_Pal[sprite->sPalIdx], &gPlttBufferFaded[BG_PLTT_ID(5) + 13], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(sprite->sPalIdx), &gPlttBufferFaded[BG_PLTT_ID(5) + 13], PLTT_SIZEOF(1)); sprite->sPalIdx -= 2; if (sprite->sPalIdx == 0x1C0) DestroySprite(sprite); @@ -2606,7 +2615,7 @@ static void Task_RayquazaAttack(u8 taskId) case 0: if ((data[2] & 1) != 0) { - CpuCopy16(&gIntro3Bg_Pal[0x1A2 + data[1] * 2], &gPlttBufferFaded[BG_PLTT_ID(5) + 14], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(0x1A2 + data[1] * 2), &gPlttBufferFaded[BG_PLTT_ID(5) + 14], PLTT_SIZEOF(1)); data[1]++; } if (data[1] == 6) @@ -2621,7 +2630,7 @@ static void Task_RayquazaAttack(u8 taskId) { if ((data[2] & 1) != 0) { - CpuCopy16(&gIntro3Bg_Pal[0x1A2 + data[1] * 2], &gPlttBufferFaded[BG_PLTT_ID(5) + 8], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(0x1A2 + data[1] * 2), &gPlttBufferFaded[BG_PLTT_ID(5) + 8], PLTT_SIZEOF(1)); data[1]++; } if (data[1] == 6) @@ -2640,7 +2649,7 @@ static void Task_RayquazaAttack(u8 taskId) { if ((data[2] & 1) != 0) { - CpuCopy16(&gIntro3Bg_Pal[0x182 + data[1] * 2], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(0x182 + data[1] * 2), &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1)); data[1]++; } if (data[1] == 6) @@ -2664,9 +2673,9 @@ static void Task_RayquazaAttack(u8 taskId) if (--data[3] != 0) { BlendPalette(BG_PLTT_ID(5), 16, data[3], RGB(9, 10, 10)); - CpuCopy16(&gIntro3Bg_Pal[428], &gPlttBufferFaded[BG_PLTT_ID(5) + 14], PLTT_SIZEOF(1)); - CpuCopy16(&gIntro3Bg_Pal[428], &gPlttBufferFaded[BG_PLTT_ID(5) + 8], PLTT_SIZEOF(1)); - CpuCopy16(&gIntro3Bg_Pal[396], &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(428), &gPlttBufferFaded[BG_PLTT_ID(5) + 14], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(428), &gPlttBufferFaded[BG_PLTT_ID(5) + 8], PLTT_SIZEOF(1)); + CpuCopy16(INTRO3_RAW_PTR(396), &gPlttBufferFaded[BG_PLTT_ID(5) + 12], PLTT_SIZEOF(1)); } else { diff --git a/gflib/io_reg.c b/src/io_reg.c similarity index 100% rename from gflib/io_reg.c rename to src/io_reg.c diff --git a/src/item.c b/src/item.c index b67cf5f218..a22eaaec91 100644 --- a/src/item.c +++ b/src/item.c @@ -78,7 +78,7 @@ void SetBagItemsPointers(void) void CopyItemName(u16 itemId, u8 *dst) { - StringCopy(dst, ItemId_GetName(itemId)); + StringCopy(dst, GetItemName(itemId)); } void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) @@ -86,7 +86,7 @@ void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) if (itemId == ITEM_POKE_BALL) { if (quantity < 2) - StringCopy(dst, ItemId_GetName(ITEM_POKE_BALL)); + StringCopy(dst, GetItemName(ITEM_POKE_BALL)); else StringCopy(dst, gText_PokeBalls); } @@ -95,7 +95,7 @@ void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity) if (itemId >= FIRST_BERRY_INDEX && itemId <= LAST_BERRY_INDEX) GetBerryCountString(dst, gBerries[itemId - FIRST_BERRY_INDEX].name, quantity); else - StringCopy(dst, ItemId_GetName(itemId)); + StringCopy(dst, GetItemName(itemId)); } } @@ -131,11 +131,11 @@ bool8 CheckBagHasItem(u16 itemId, u16 count) u8 i; u8 pocket; - if (ItemId_GetPocket(itemId) == 0) + if (GetItemPocket(itemId) == 0) return FALSE; - if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) return CheckPyramidBagHasItem(itemId, count); - pocket = ItemId_GetPocket(itemId) - 1; + pocket = GetItemPocket(itemId) - 1; // Check for item slots that contain the item for (i = 0; i < gBagPockets[pocket].capacity; i++) { @@ -178,15 +178,15 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) u16 slotCapacity; u16 ownedCount; - if (ItemId_GetPocket(itemId) == POCKET_NONE) + if (GetItemPocket(itemId) == POCKET_NONE) return FALSE; - if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) { return CheckPyramidBagHasSpace(itemId, count); } - pocket = ItemId_GetPocket(itemId) - 1; + pocket = GetItemPocket(itemId) - 1; if (pocket != BERRIES_POCKET) slotCapacity = MAX_BAG_ITEM_CAPACITY; else @@ -239,11 +239,11 @@ bool8 AddBagItem(u16 itemId, u16 count) { u8 i; - if (ItemId_GetPocket(itemId) == POCKET_NONE) + if (GetItemPocket(itemId) == POCKET_NONE) return FALSE; // check Battle Pyramid Bag - if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) { return AddPyramidBagItem(itemId, count); } @@ -253,7 +253,7 @@ bool8 AddBagItem(u16 itemId, u16 count) struct ItemSlot *newItems; u16 slotCapacity; u16 ownedCount; - u8 pocket = ItemId_GetPocket(itemId) - 1; + u8 pocket = GetItemPocket(itemId) - 1; itemPocket = &gBagPockets[pocket]; newItems = AllocZeroed(itemPocket->capacity * sizeof(struct ItemSlot)); @@ -347,11 +347,11 @@ bool8 RemoveBagItem(u16 itemId, u16 count) u8 i; u16 totalQuantity = 0; - if (ItemId_GetPocket(itemId) == POCKET_NONE || itemId == ITEM_NONE) + if (GetItemPocket(itemId) == POCKET_NONE || itemId == ITEM_NONE) return FALSE; // check Battle Pyramid Bag - if (InBattlePyramid() || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || FlagGet(FLAG_STORING_ITEMS_IN_PYRAMID_BAG) == TRUE) { return RemovePyramidBagItem(itemId, count); } @@ -362,7 +362,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) u16 ownedCount; struct BagPocket *itemPocket; - pocket = ItemId_GetPocket(itemId) - 1; + pocket = GetItemPocket(itemId) - 1; itemPocket = &gBagPockets[pocket]; for (i = 0; i < itemPocket->capacity; i++) @@ -432,7 +432,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count) u8 GetPocketByItemId(u16 itemId) { - return ItemId_GetPocket(itemId); + return GetItemPocket(itemId); } void ClearItemSlots(struct ItemSlot *itemSlots, u8 itemCount) @@ -632,7 +632,7 @@ void SortBerriesOrTMHMs(struct BagPocket *bagPocket) } } -void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_) +void MoveItemSlotInList(struct ItemSlot *itemSlots_, u32 from, u32 to_) { // dumb assignments needed to match struct ItemSlot *itemSlots = itemSlots_; @@ -672,7 +672,7 @@ u16 CountTotalItemQuantityInBag(u16 itemId) { u16 i; u16 ownedCount = 0; - struct BagPocket *bagPocket = &gBagPockets[ItemId_GetPocket(itemId) - 1]; + struct BagPocket *bagPocket = &gBagPockets[GetItemPocket(itemId) - 1]; for (i = 0; i < bagPocket->capacity; i++) { @@ -871,74 +871,74 @@ static u16 SanitizeItemId(u16 itemId) return itemId; } -const u8 *ItemId_GetName(u16 itemId) +const u8 *GetItemName(u16 itemId) { return gItems[SanitizeItemId(itemId)].name; } // Unused -u16 ItemId_GetId(u16 itemId) +u16 GetItemId(u16 itemId) { return gItems[SanitizeItemId(itemId)].itemId; } -u16 ItemId_GetPrice(u16 itemId) +u16 GetItemPrice(u16 itemId) { return gItems[SanitizeItemId(itemId)].price; } -u8 ItemId_GetHoldEffect(u16 itemId) +u8 GetItemHoldEffect(u16 itemId) { return gItems[SanitizeItemId(itemId)].holdEffect; } -u8 ItemId_GetHoldEffectParam(u16 itemId) +u8 GetItemHoldEffectParam(u16 itemId) { return gItems[SanitizeItemId(itemId)].holdEffectParam; } -const u8 *ItemId_GetDescription(u16 itemId) +const u8 *GetItemDescription(u16 itemId) { return gItems[SanitizeItemId(itemId)].description; } -u8 ItemId_GetImportance(u16 itemId) +u8 GetItemImportance(u16 itemId) { return gItems[SanitizeItemId(itemId)].importance; } // Unused -u8 ItemId_GetRegistrability(u16 itemId) +u8 GetItemRegistrability(u16 itemId) { return gItems[SanitizeItemId(itemId)].registrability; } -u8 ItemId_GetPocket(u16 itemId) +u8 GetItemPocket(u16 itemId) { return gItems[SanitizeItemId(itemId)].pocket; } -u8 ItemId_GetType(u16 itemId) +u8 GetItemType(u16 itemId) { return gItems[SanitizeItemId(itemId)].type; } -ItemUseFunc ItemId_GetFieldFunc(u16 itemId) +ItemUseFunc GetItemFieldFunc(u16 itemId) { return gItems[SanitizeItemId(itemId)].fieldUseFunc; } -u8 ItemId_GetBattleUsage(u16 itemId) +u8 GetItemBattleUsage(u16 itemId) { return gItems[SanitizeItemId(itemId)].battleUsage; } -ItemUseFunc ItemId_GetBattleFunc(u16 itemId) +ItemUseFunc GetItemBattleFunc(u16 itemId) { return gItems[SanitizeItemId(itemId)].battleUseFunc; } -u8 ItemId_GetSecondaryId(u16 itemId) +u8 GetItemSecondaryId(u16 itemId) { return gItems[SanitizeItemId(itemId)].secondaryId; } diff --git a/src/item_menu.c b/src/item_menu.c index f0abfcf62a..e5e3e88f4e 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -138,7 +138,7 @@ static void PrepareTMHMMoveWindow(void); static bool8 IsWallysBag(void); static void Task_WallyTutorialBagMenu(u8); static void Task_BagMenu_HandleInput(u8); -static void GetItemName(u8 *, u16); +static void GetItemNameFromPocket(u8 *, u16); static void PrintItemDescription(int); static void BagMenu_PrintCursorAtPos(u8, u8); static void BagMenu_Print(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8); @@ -565,7 +565,7 @@ void CB2_BagMenuFromStartMenu(void) void CB2_BagMenuFromBattle(void) { - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) GoToBagMenu(ITEMMENULOCATION_BATTLE, POCKETS_COUNT, CB2_SetUpReshowBattleScreenAfterMenu2); else GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_BATTLE, CB2_SetUpReshowBattleScreenAfterMenu2); @@ -868,7 +868,7 @@ static void LoadBagItemListBuffers(u8 pocketId) { for (i = 0; i < gBagMenu->numItemStacks[pocketId] - 1; i++) { - GetItemName(sListBuffer2->name[i], pocket->itemSlots[i].itemId); + GetItemNameFromPocket(sListBuffer2->name[i], pocket->itemSlots[i].itemId); subBuffer = sListBuffer1->subBuffers; subBuffer[i].name = sListBuffer2->name[i]; subBuffer[i].id = i; @@ -882,7 +882,7 @@ static void LoadBagItemListBuffers(u8 pocketId) { for (i = 0; i < gBagMenu->numItemStacks[pocketId]; i++) { - GetItemName(sListBuffer2->name[i], pocket->itemSlots[i].itemId); + GetItemNameFromPocket(sListBuffer2->name[i], pocket->itemSlots[i].itemId); subBuffer = sListBuffer1->subBuffers; subBuffer[i].name = sListBuffer2->name[i]; subBuffer[i].id = i; @@ -894,7 +894,7 @@ static void LoadBagItemListBuffers(u8 pocketId) gMultiuseListMenuTemplate.maxShowed = gBagMenu->numShownItems[pocketId]; } -static void GetItemName(u8 *dest, u16 itemId) +static void GetItemNameFromPocket(u8 *dest, u16 itemId) { switch (gBagPosition.pocket) { @@ -976,7 +976,7 @@ static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y) offset = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 119); BagMenu_Print(windowId, FONT_NARROW, gStringVar4, offset, y, 0, 0, TEXT_SKIP_DRAW, COLORID_NORMAL); } - else if (gBagPosition.pocket != KEYITEMS_POCKET && ItemId_GetImportance(itemId) == FALSE) + else if (gBagPosition.pocket != KEYITEMS_POCKET && GetItemImportance(itemId) == FALSE) { // Print item quantity ConvertIntToDecimalStringN(gStringVar1, itemQuantity, STR_CONV_MODE_RIGHT_ALIGN, BAG_ITEM_CAPACITY_DIGITS); @@ -998,7 +998,7 @@ static void PrintItemDescription(int itemIndex) const u8 *str; if (itemIndex != LIST_CANCEL) { - str = ItemId_GetDescription(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex)); + str = GetItemDescription(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex)); } else { @@ -1432,7 +1432,7 @@ static void StartItemSwap(u8 taskId) { s16 *data = gTasks[taskId].data; - ListMenuSetUnkIndicatorsStructField(tListTaskId, 16, 1); + ListMenuSetTemplateField(tListTaskId, LISTFIELD_CURSORKIND, CURSOR_INVISIBLE); tListPosition = gBagPosition.scrollPosition[gBagPosition.pocket] + gBagPosition.cursorPosition[gBagPosition.pocket]; gBagMenu->toSwapPos = tListPosition; CopyItemName(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, tListPosition), gStringVar1); @@ -1533,7 +1533,7 @@ static void OpenContextMenu(u8 taskId) { case ITEMMENULOCATION_BATTLE: case ITEMMENULOCATION_WALLY: - if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) + if (GetItemBattleUsage(gSpecialVar_ItemId)) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_BattleUse; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_BattleUse); @@ -1549,7 +1549,7 @@ static void OpenContextMenu(u8 taskId) gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_BerryBlenderCrush); break; case ITEMMENULOCATION_APPRENTICE: - if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) + if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_Apprentice; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_Apprentice); @@ -1561,7 +1561,7 @@ static void OpenContextMenu(u8 taskId) } break; case ITEMMENULOCATION_FAVOR_LADY: - if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) + if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_FavorLady; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_FavorLady); @@ -1573,7 +1573,7 @@ static void OpenContextMenu(u8 taskId) } break; case ITEMMENULOCATION_QUIZ_LADY: - if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) + if (!GetItemImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY) { gBagMenu->contextMenuItemsPtr = sContextMenuItems_QuizLady; gBagMenu->contextMenuNumItems = ARRAY_COUNT(sContextMenuItems_QuizLady); @@ -1785,10 +1785,10 @@ static void RemoveContextWindow(void) static void ItemMenu_UseOutOfBattle(u8 taskId) { - if (ItemId_GetFieldFunc(gSpecialVar_ItemId)) + if (GetItemFieldFunc(gSpecialVar_ItemId)) { RemoveContextWindow(); - if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU) + if (CalculatePlayerPartyCount() == 0 && GetItemType(gSpecialVar_ItemId) == ITEM_USE_PARTY_MENU) { PrintThereIsNoPokemon(taskId); } @@ -1797,7 +1797,7 @@ static void ItemMenu_UseOutOfBattle(u8 taskId) FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0)); ScheduleBgCopyTilemapToVram(0); if (gBagPosition.pocket != BERRIES_POCKET) - ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + GetItemFieldFunc(gSpecialVar_ItemId)(taskId); else ItemUseOutOfBattle_Berry(taskId); } @@ -1926,7 +1926,7 @@ static void ItemMenu_Give(u8 taskId) { DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage); } - else if (!ItemId_GetImportance(gSpecialVar_ItemId)) + else if (!GetItemImportance(gSpecialVar_ItemId)) { if (CalculatePlayerPartyCount() == 0) { @@ -1985,10 +1985,10 @@ static void ItemMenu_Cancel(u8 taskId) static void ItemMenu_UseInBattle(u8 taskId) { - if (ItemId_GetBattleFunc(gSpecialVar_ItemId)) + if (GetItemBattleFunc(gSpecialVar_ItemId)) { RemoveContextWindow(); - ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + GetItemBattleFunc(gSpecialVar_ItemId)(taskId); } } @@ -2009,7 +2009,7 @@ static void Task_ItemContext_GiveToParty(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeldHere); DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, HandleErrorMessage); } - else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) + else if (gBagPosition.pocket != KEYITEMS_POCKET && !GetItemImportance(gSpecialVar_ItemId)) { Task_FadeAndCloseBagMenu(taskId); } @@ -2024,7 +2024,7 @@ static void Task_ItemContext_GiveToPC(u8 taskId) { if (ItemIsMail(gSpecialVar_ItemId) == TRUE) DisplayItemMessage(taskId, FONT_NORMAL, gText_CantWriteMail, HandleErrorMessage); - else if (gBagPosition.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) + else if (gBagPosition.pocket != KEYITEMS_POCKET && !GetItemImportance(gSpecialVar_ItemId)) gTasks[taskId].func = Task_FadeAndCloseBagMenu; else PrintItemCantBeHeld(taskId); @@ -2036,7 +2036,7 @@ bool8 UseRegisteredKeyItemOnField(void) { u8 taskId; - if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiPartnerRoom() == TRUE) + if (InUnionRoom() == TRUE || CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || InBattlePike() || InMultiPartnerRoom() == TRUE) return FALSE; HideMapNamePopUpWindow(); ChangeBgY_ScreenOff(0, 0, BG_COORD_SET); @@ -2049,7 +2049,7 @@ bool8 UseRegisteredKeyItemOnField(void) PlayerFreeze(); StopPlayerAvatar(); gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; - taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8); + taskId = CreateTask(GetItemFieldFunc(gSaveBlock1Ptr->registeredItem), 8); gTasks[taskId].tUsingRegisteredKeyItem = TRUE; return TRUE; } @@ -2068,7 +2068,7 @@ static void Task_ItemContext_Sell(u8 taskId) { s16 *data = gTasks[taskId].data; - if (ItemId_GetPrice(gSpecialVar_ItemId) == 0) + if (GetItemPrice(gSpecialVar_ItemId) == 0) { CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_CantBuyKeyItem); @@ -2095,7 +2095,7 @@ static void DisplaySellItemPriceAndConfirm(u8 taskId) { s16 *data = gTasks[taskId].data; - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar1, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1); DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, AskSellItems); } @@ -2120,7 +2120,7 @@ static void InitSellHowManyInput(u8 taskId) s16 *data = gTasks[taskId].data; u8 windowId = BagMenu_AddWindow(ITEMWIN_QUANTITY_WIDE); - PrintItemSoldAmount(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + PrintItemSoldAmount(windowId, 1, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount); DisplayCurrentMoneyWindow(); gTasks[taskId].func = Task_ChooseHowManyToSell; } @@ -2131,7 +2131,7 @@ static void Task_ChooseHowManyToSell(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&tItemCount, tQuantity) == TRUE) { - PrintItemSoldAmount(gBagMenu->windowIds[ITEMWIN_QUANTITY_WIDE], tItemCount, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + PrintItemSoldAmount(gBagMenu->windowIds[ITEMWIN_QUANTITY_WIDE], tItemCount, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount); } else if (JOY_NEW(A_BUTTON)) { @@ -2155,7 +2155,7 @@ static void ConfirmSell(u8 taskId) s16 *data = gTasks[taskId].data; CopyItemName(gSpecialVar_ItemId, gStringVar2); - ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar1, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount, STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2); DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, SellItem); } @@ -2168,7 +2168,7 @@ static void SellItem(u8 taskId) PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, tItemCount); - AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * tItemCount); + AddMoney(&gSaveBlock1Ptr->money, (GetItemPrice(gSpecialVar_ItemId) / 2) * tItemCount); DestroyListMenuTask(tListTaskId, scrollPos, cursorPos); UpdatePocketItemList(gBagPosition.pocket); UpdatePocketListPosition(gBagPosition.pocket); @@ -2238,7 +2238,7 @@ static void TryDepositItem(u8 taskId) s16 *data = gTasks[taskId].data; FillWindowPixelBuffer(WIN_DESCRIPTION, PIXEL_FILL(0)); - if (ItemId_GetImportance(gSpecialVar_ItemId)) + if (GetItemImportance(gSpecialVar_ItemId)) { // Can't deposit important items BagMenu_Print(WIN_DESCRIPTION, FONT_NORMAL, gText_CantStoreImportantItems, 3, 1, 0, 0, 0, COLORID_NORMAL); @@ -2549,7 +2549,7 @@ static void PrepareTMHMMoveWindow(void) static void PrintTMHMMoveData(u16 itemId) { u8 i; - u16 moveId; + u16 move; const u8 *text; FillWindowPixelBuffer(WIN_TMHM_INFO, PIXEL_FILL(0)); @@ -2561,35 +2561,35 @@ static void PrintTMHMMoveData(u16 itemId) } else { - moveId = ItemIdToBattleMoveId(itemId); - BlitMenuInfoIcon(WIN_TMHM_INFO, gBattleMoves[moveId].type + 1, 0, 0); + move = ItemIdToBattleMoveId(itemId); + BlitMenuInfoIcon(WIN_TMHM_INFO, gBattleMoves[move].type + 1, 0, 0); // Print TMHM power - if (gBattleMoves[moveId].power <= 1) + if (gBattleMoves[move].power <= 1) { text = gText_ThreeDashes; } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].power, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 12, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); // Print TMHM accuracy - if (gBattleMoves[moveId].accuracy == 0) + if (gBattleMoves[move].accuracy == 0) { text = gText_ThreeDashes; } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); text = gStringVar1; } BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, text, 7, 24, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); // Print TMHM pp - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveId].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); BagMenu_Print(WIN_TMHM_INFO, FONT_NORMAL, gStringVar1, 7, 36, 0, 0, TEXT_SKIP_DRAW, COLORID_TMHM_INFO); CopyWindowToVram(WIN_TMHM_INFO, COPYWIN_GFX); diff --git a/src/item_use.c b/src/item_use.c index 60338e437a..6ae235675a 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -101,8 +101,8 @@ static void SetUpItemUseCallback(u8 taskId) if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) type = gTasks[taskId].tEnigmaBerryType - 1; else - type = ItemId_GetType(gSpecialVar_ItemId) - 1; - if (!InBattlePyramid()) + type = GetItemType(gSpecialVar_ItemId) - 1; + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) { gBagMenu->newScreenCallback = sItemUseCallbacks[type]; Task_FadeAndCloseBagMenu(taskId); @@ -122,7 +122,9 @@ static void SetUpItemUseOnFieldCallback(u8 taskId) SetUpItemUseCallback(taskId); } else + { sItemUseOnFieldCB(taskId); + } } static void FieldCB_UseItemOnField(void) @@ -142,13 +144,15 @@ static void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyIte StringExpandPlaceholders(gStringVar4, str); if (!isUsingRegisteredKeyItemOnField) { - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); else DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } else + { DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); + } } static void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) @@ -171,9 +175,9 @@ static void Task_CloseCantUseKeyItemMessage(u8 taskId) u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) { - if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_TMHM) + if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_TMHM) return 1; - else if (ItemId_GetFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone) + else if (GetItemFieldFunc(itemId) == ItemUseOutOfBattle_EvolutionStone) return 2; else return 0; @@ -202,7 +206,9 @@ void ItemUseOutOfBattle_Bike(u8 taskId) PlayerGetDestCoords(&coordsX, &coordsY); behavior = MapGridGetMetatileBehaviorAt(coordsX, coordsY); if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE || MetatileBehavior_IsVerticalRail(behavior) == TRUE || MetatileBehavior_IsHorizontalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedVerticalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedHorizontalRail(behavior) == TRUE) + { DisplayCannotDismountBikeMessage(taskId, tUsingRegisteredKeyItem); + } else { if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == 0) @@ -211,13 +217,15 @@ void ItemUseOutOfBattle_Bike(u8 taskId) SetUpItemUseOnFieldCallback(taskId); } else + { DisplayDadsAdviceCannotUseItemMessage(taskId, tUsingRegisteredKeyItem); + } } } static void ItemUseOnFieldCB_Bike(u8 taskId) { - if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == MACH_BIKE) + if (GetItemSecondaryId(gSpecialVar_ItemId) == MACH_BIKE) GetOnOffBike(PLAYER_AVATAR_FLAG_MACH_BIKE); else // ACRO_BIKE GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE); @@ -264,12 +272,14 @@ void ItemUseOutOfBattle_Rod(u8 taskId) SetUpItemUseOnFieldCallback(taskId); } else + { DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); + } } static void ItemUseOnFieldCB_Rod(u8 taskId) { - StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId)); + StartFishing(GetItemSecondaryId(gSpecialVar_ItemId)); DestroyTask(taskId); } @@ -393,46 +403,43 @@ static bool8 IsHiddenItemPresentAtCoords(const struct MapEvents *events, s16 x, static bool8 IsHiddenItemPresentInConnection(const struct MapConnection *connection, int x, int y) { + s16 connectionX, connectionY; + struct MapHeader const *const connectionHeader = GetMapHeaderFromConnection(connection); - u16 localX, localY; - u32 localOffset; - s32 localLength; - - struct MapHeader const *const mapHeader = GetMapHeaderFromConnection(connection); - +// To convert our x/y into coordinates that are relative to the connected map, we must: +// - Subtract the virtual offset used for the border buffer (MAP_OFFSET). +// - Subtract the horizontal offset between North/South connections, or the vertical offset for East/West +// - Account for map size. (0,0) is in the NW corner of our map, so when looking North/West we have to add the height/width of the connected map, +// and when looking South/East we have to subtract the height/width of our current map. +#define localX (x - MAP_OFFSET) +#define localY (y - MAP_OFFSET) switch (connection->direction) { - // same weird temp variable behavior seen in IsHiddenItemPresentAtCoords case CONNECTION_NORTH: - localOffset = connection->offset + MAP_OFFSET; - localX = x - localOffset; - localLength = mapHeader->mapLayout->height - MAP_OFFSET; - localY = localLength + y; // additions are reversed for some reason + connectionX = localX - connection->offset; + connectionY = connectionHeader->mapLayout->height + localY; break; case CONNECTION_SOUTH: - localOffset = connection->offset + MAP_OFFSET; - localX = x - localOffset; - localLength = gMapHeader.mapLayout->height + MAP_OFFSET; - localY = y - localLength; + connectionX = localX - connection->offset; + connectionY = localY - gMapHeader.mapLayout->height; break; case CONNECTION_WEST: - localLength = mapHeader->mapLayout->width - MAP_OFFSET; - localX = localLength + x; // additions are reversed for some reason - localOffset = connection->offset + MAP_OFFSET; - localY = y - localOffset; + connectionX = connectionHeader->mapLayout->width + localX; + connectionY = localY - connection->offset; break; case CONNECTION_EAST: - localLength = gMapHeader.mapLayout->width + MAP_OFFSET; - localX = x - localLength; - localOffset = connection->offset + MAP_OFFSET; - localY = y - localOffset; + connectionX = localX - gMapHeader.mapLayout->width; + connectionY = localY - connection->offset; break; default: return FALSE; } - return IsHiddenItemPresentAtCoords(mapHeader->events, localX, localY); + return IsHiddenItemPresentAtCoords(connectionHeader->events, connectionX, connectionY); } +#undef localX +#undef localY + static void CheckForHiddenItemsInMapConnection(u8 taskId) { s16 playerX, playerY; @@ -572,15 +579,15 @@ static u8 GetDirectionToHiddenItem(s16 itemDistanceX, s16 itemDistanceY) static void PlayerFaceHiddenItem(u8 direction) { - ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]); - ObjectEventClearHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]); - UnfreezeObjectEvent(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]); + ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]); + ObjectEventClearHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]); + UnfreezeObjectEvent(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]); PlayerTurnInPlace(direction); } static void Task_HiddenItemNearby(u8 taskId) { - if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]) == TRUE) + if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, Task_CloseItemfinderMessage); } @@ -588,7 +595,7 @@ static void Task_StandingOnHiddenItem(u8 taskId) { s16 *data = gTasks[taskId].data; - if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]) == TRUE + if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]) == TRUE || tItemFound == FALSE) { // Spin player around on item @@ -685,7 +692,7 @@ void ItemUseOutOfBattle_Berry(u8 taskId) } else { - ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + GetItemFieldFunc(gSpecialVar_ItemId)(taskId); } } @@ -819,10 +826,10 @@ static void RemoveUsedItem(void) RemoveBagItem(gSpecialVar_ItemId, 1); CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2); - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) { - UpdatePocketItemList(ItemId_GetPocket(gSpecialVar_ItemId)); - UpdatePocketListPosition(ItemId_GetPocket(gSpecialVar_ItemId)); + UpdatePocketItemList(GetItemPocket(gSpecialVar_ItemId)); + UpdatePocketListPosition(GetItemPocket(gSpecialVar_ItemId)); } else { @@ -835,7 +842,7 @@ void ItemUseOutOfBattle_Repel(u8 taskId) { if (VarGet(VAR_REPEL_STEP_COUNT) == 0) gTasks[taskId].func = Task_StartUseRepel; - else if (!InBattlePyramid()) + else if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, gText_RepelEffectsLingered, CloseItemMessage); else DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, Task_CloseBattlePyramidBagMessage); @@ -857,9 +864,9 @@ static void Task_UseRepel(u8 taskId) { if (!IsSEPlaying()) { - VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); + VarSet(VAR_REPEL_STEP_COUNT, GetItemHoldEffectParam(gSpecialVar_ItemId)); RemoveUsedItem(); - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); else DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); @@ -871,7 +878,7 @@ static void Task_UsedBlackWhiteFlute(u8 taskId) if(++gTasks[taskId].data[8] > 7) { PlaySE(SE_GLASS_FLUTE); - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); else DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); @@ -944,24 +951,26 @@ void ItemUseInBattle_PokeBall(u8 taskId) if (IsPlayerPartyAndPokemonStorageFull() == FALSE) // have room for mon? { RemoveBagItem(gSpecialVar_ItemId, 1); - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) Task_FadeAndCloseBagMenu(taskId); else CloseBattlePyramidBag(taskId); } - else if (!InBattlePyramid()) + else if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) { DisplayItemMessage(taskId, FONT_NORMAL, gText_BoxFull, CloseItemMessage); } else + { DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, Task_CloseBattlePyramidBagMessage); + } } static void Task_CloseStatIncreaseMessage(u8 taskId) { if (JOY_NEW(A_BUTTON | B_BUTTON)) { - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) Task_FadeAndCloseBagMenu(taskId); else CloseBattlePyramidBag(taskId); @@ -974,7 +983,7 @@ static void Task_UseStatIncreaseItem(u8 taskId) { PlaySE(SE_USE_ITEM); RemoveBagItem(gSpecialVar_ItemId, 1); - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage); else DisplayItemMessageInBattlePyramid(taskId, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage); @@ -988,7 +997,7 @@ void ItemUseInBattle_StatIncrease(u8 taskId) if (ExecuteTableBasedItemEffect(&gPlayerParty[partyId], gSpecialVar_ItemId, partyId, 0) != FALSE) { - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, gText_WontHaveEffect, CloseItemMessage); else DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, Task_CloseBattlePyramidBagMessage); @@ -1002,7 +1011,7 @@ void ItemUseInBattle_StatIncrease(u8 taskId) static void ItemUseInBattle_ShowPartyMenu(u8 taskId) { - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) { gBagMenu->newScreenCallback = ChooseMonForInBattleItem; Task_FadeAndCloseBagMenu(taskId); @@ -1040,7 +1049,7 @@ void ItemUseInBattle_Escape(u8 taskId) if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) { RemoveUsedItem(); - if (!InBattlePyramid()) + if (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, Task_FadeAndCloseBagMenu); else DisplayItemMessageInBattlePyramid(taskId, gStringVar4, CloseBattlePyramidBag); diff --git a/src/landmark.c b/src/landmark.c index 615a9bfe3e..d2bb3c4105 100644 --- a/src/landmark.c +++ b/src/landmark.c @@ -369,8 +369,13 @@ static const struct LandmarkList sLandmarkLists[] = {MAPSEC_ROUTE_120, 2, Landmarks_Route120_2}, {MAPSEC_ROUTE_121, 2, Landmarks_Route121_2}, {MAPSEC_ROUTE_122, 0, Landmarks_Route122_0}, +#ifdef BUGFIX + {MAPSEC_ROUTE_122, 1, Landmarks_Route122_0}, + {MAPSEC_ROUTE_123, 0, Landmarks_Route123_0}, +#else {MAPSEC_ROUTE_123, 0, Landmarks_Route123_0}, {MAPSEC_ROUTE_122, 1, Landmarks_Route122_0}, +#endif {MAPSEC_ROUTE_124, 7, Landmarks_Route124_7}, {MAPSEC_ROUTE_125, 2, Landmarks_Route125_2}, {MAPSEC_ROUTE_128, 1, Landmarks_Route128_1}, diff --git a/src/libisagbprn.c b/src/libisagbprn.c index fab9b5990b..a7de7df088 100644 --- a/src/libisagbprn.c +++ b/src/libisagbprn.c @@ -224,7 +224,7 @@ void MgbaClose(void) *REG_DEBUG_ENABLE = 0; } -void MgbaPrintf(s32 level, const char* ptr, ...) +void MgbaPrintf(s32 level, const char *ptr, ...) { va_list args; diff --git a/src/librfu_intr.c b/src/librfu_intr.c index ab4392e229..5ae53ab4e3 100644 --- a/src/librfu_intr.c +++ b/src/librfu_intr.c @@ -7,7 +7,11 @@ static u16 handshake_wait(u16 slot); static void STWI_set_timer_in_RAM(u8 count); static void STWI_stop_timer_in_RAM(void); static void STWI_init_slave(void); +#if __STDC_VERSION__ < 202311L static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()); +#else +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)(...)); +#endif static void Callback_Dummy_S(u16 reqCommandId, void (*callbackS)(u16)); static void Callback_Dummy_ID(void (*callbackId)(void)); @@ -135,7 +139,11 @@ static void sio32intr_clock_master(void) } gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) +#if __STDC_VERSION__ < 202311L Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, gSTWIStatus->callbackM); +#else + Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, (void (*)(...))gSTWIStatus->callbackM); +#endif } else { @@ -388,7 +396,11 @@ static void STWI_init_slave(void) } NAKED +#if __STDC_VERSION__ < 202311L static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()) +#else +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)(...)) +#endif { asm("bx r2"); } diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 828d6450bc..ee5dbe6af4 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -76,11 +76,11 @@ static void rfu_STC_NI_receive_Sender(u8, u8, const struct RfuLocalStruct *, UNU static void rfu_STC_NI_initSlot_asRecvDataEntity(u8, struct NIComm *); static void rfu_STC_NI_initSlot_asRecvControllData(u8, struct NIComm *); -struct RfuSlotStatusUNI *gRfuSlotStatusUNI[RFU_CHILD_MAX]; -struct RfuSlotStatusNI *gRfuSlotStatusNI[RFU_CHILD_MAX]; -struct RfuLinkStatus *gRfuLinkStatus; -struct RfuStatic *gRfuStatic; -struct RfuFixed *gRfuFixed; +COMMON_DATA struct RfuSlotStatusUNI *gRfuSlotStatusUNI[RFU_CHILD_MAX] = {0}; +COMMON_DATA struct RfuSlotStatusNI *gRfuSlotStatusNI[RFU_CHILD_MAX] = {0}; +COMMON_DATA struct RfuLinkStatus *gRfuLinkStatus = NULL; +COMMON_DATA struct RfuStatic *gRfuStatic = NULL; +COMMON_DATA struct RfuFixed *gRfuFixed = NULL; static const struct LLSFStruct llsf_struct[2] = { [MODE_CHILD] = { diff --git a/src/librfu_sio32id.c b/src/librfu_sio32id.c index 1c02840e85..c40bb825b3 100644 --- a/src/librfu_sio32id.c +++ b/src/librfu_sio32id.c @@ -15,7 +15,7 @@ struct RfuSIO32Id u16 lastId; }; -struct RfuSIO32Id gRfuSIO32Id; +COMMON_DATA struct RfuSIO32Id gRfuSIO32Id = {0}; static const u16 Sio32ConnectionData[] = { 0x494e, 0x544e, 0x4e45, 0x4f44 }; // NINTENDO static const char Sio32IDLib_Var[] = "Sio32ID_030820"; @@ -145,7 +145,9 @@ static void Sio32IDIntr(void) } } else + { gRfuSIO32Id.lastId = regSIODATA32; + } } else { diff --git a/src/librfu_stwi.c b/src/librfu_stwi.c index b515f338e0..13a7e34082 100644 --- a/src/librfu_stwi.c +++ b/src/librfu_stwi.c @@ -8,7 +8,7 @@ static void STWI_stop_timer(void); static s32 STWI_restart_Command(void); static s32 STWI_reset_ClockCounter(void); -struct STWIStatus *gSTWIStatus; +COMMON_DATA struct STWIStatus *gSTWIStatus = NULL; void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam) { diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c index e7a5862f07..17020d2716 100644 --- a/src/lilycove_lady.c +++ b/src/lilycove_lady.c @@ -192,7 +192,7 @@ bool8 HasAnotherPlayerGivenFavorLadyItem(void) static void BufferItemName(u8 *dest, u16 itemId) { - StringCopy(dest, ItemId_GetName(itemId)); + StringCopy(dest, GetItemName(itemId)); } void BufferFavorLadyItemName(void) @@ -451,7 +451,7 @@ static u8 GetPlayerNameLength(const u8 *playerName) void BufferQuizPrizeName(void) { - StringCopy(gStringVar1, ItemId_GetName(sQuizLadyPtr->prize)); + StringCopy(gStringVar1, GetItemName(sQuizLadyPtr->prize)); } bool8 BufferQuizAuthorNameAndCheckIfLady(void) diff --git a/src/link.c b/src/link.c index f784a36c67..bb74574a31 100644 --- a/src/link.c +++ b/src/link.c @@ -68,41 +68,41 @@ static u16 sRecvNonzeroCheck; static u8 sChecksumAvailable; static u8 sHandshakePlayerCount; -u16 gLinkPartnersHeldKeys[6]; -u32 gLinkDebugSeed; -struct LinkPlayerBlock gLocalLinkPlayerBlock; -bool8 gLinkErrorOccurred; -u32 gLinkDebugFlags; -u32 gLinkFiller1; -bool8 gRemoteLinkPlayersNotReceived[MAX_LINK_PLAYERS]; -u8 gBlockReceivedStatus[MAX_LINK_PLAYERS]; -u32 gLinkFiller2; -u16 gLinkHeldKeys; -u16 ALIGNED(4) gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; -u32 gLinkStatus; -bool8 gLinkDummy1; // Never read -bool8 gLinkDummy2; // Never read -bool8 gReadyToExitStandby[MAX_LINK_PLAYERS]; -bool8 gReadyToCloseLink[MAX_LINK_PLAYERS]; -u16 gReadyCloseLinkType; // Never read -u8 gSuppressLinkErrorMessage; -bool8 gWirelessCommType; -bool8 gSavedLinkPlayerCount; -u16 gSendCmd[CMD_LENGTH]; -u8 gSavedMultiplayerId; -bool8 gReceivedRemoteLinkPlayers; -struct LinkTestBGInfo gLinkTestBGInfo; -void (*gLinkCallback)(void); -u8 gShouldAdvanceLinkState; -u16 gLinkTestBlockChecksums[MAX_LINK_PLAYERS]; -u8 gBlockRequestType; -u32 gLinkFiller3; -u32 gLinkFiller4; -u32 gLinkFiller5; -u8 gLastSendQueueCount; -struct Link gLink; -u8 gLastRecvQueueCount; -u16 gLinkSavedIme; +COMMON_DATA u16 gLinkPartnersHeldKeys[6] = {0}; +COMMON_DATA u32 gLinkDebugSeed = 0; +COMMON_DATA struct LinkPlayerBlock gLocalLinkPlayerBlock = {0}; +COMMON_DATA bool8 gLinkErrorOccurred = 0; +COMMON_DATA u32 gLinkDebugFlags = 0; +COMMON_DATA u32 gLinkFiller1 = 0; +COMMON_DATA bool8 gRemoteLinkPlayersNotReceived[MAX_LINK_PLAYERS] = {0}; +COMMON_DATA u8 gBlockReceivedStatus[MAX_LINK_PLAYERS] = {0}; +COMMON_DATA u32 gLinkFiller2 = 0; +COMMON_DATA u16 gLinkHeldKeys = 0; +COMMON_DATA u16 ALIGNED(4) gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH] = {0}; +COMMON_DATA u32 gLinkStatus = 0; +COMMON_DATA bool8 gLinkDummy1 = 0; // Never read +COMMON_DATA bool8 gLinkDummy2 = 0; // Never read +COMMON_DATA bool8 gReadyToExitStandby[MAX_LINK_PLAYERS] = {0}; +COMMON_DATA bool8 gReadyToCloseLink[MAX_LINK_PLAYERS] = {0}; +COMMON_DATA u16 gReadyCloseLinkType = 0; // Never read +COMMON_DATA u8 gSuppressLinkErrorMessage = 0; +COMMON_DATA bool8 gWirelessCommType = 0; +COMMON_DATA bool8 gSavedLinkPlayerCount = 0; +COMMON_DATA u16 gSendCmd[CMD_LENGTH] = {0}; +COMMON_DATA u8 gSavedMultiplayerId = 0; +COMMON_DATA bool8 gReceivedRemoteLinkPlayers = 0; +COMMON_DATA struct LinkTestBGInfo gLinkTestBGInfo = {0}; +COMMON_DATA void (*gLinkCallback)(void) = NULL; +COMMON_DATA u8 gShouldAdvanceLinkState = 0; +COMMON_DATA u16 gLinkTestBlockChecksums[MAX_LINK_PLAYERS] = {0}; +COMMON_DATA u8 gBlockRequestType = 0; +COMMON_DATA u32 gLinkFiller3 = 0; +COMMON_DATA u32 gLinkFiller4 = 0; +COMMON_DATA u32 gLinkFiller5 = 0; +COMMON_DATA u8 gLastSendQueueCount = 0; +COMMON_DATA struct Link gLink = {0}; +COMMON_DATA u8 gLastRecvQueueCount = 0; +COMMON_DATA u16 gLinkSavedIme = 0; static EWRAM_DATA u8 sLinkTestDebugValuesEnabled = 0; static EWRAM_DATA u8 sDummyFlag = FALSE; diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 9979097a49..6b20cf9678 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -77,8 +77,8 @@ struct RfuDebug u8 unused4[88]; }; -u32 gRfuAPIBuffer[RFU_API_BUFF_SIZE_RAM / 4]; -struct RfuManager gRfu; +COMMON_DATA u32 gRfuAPIBuffer[RFU_API_BUFF_SIZE_RAM / 4] = {0}; +COMMON_DATA struct RfuManager gRfu = {0}; static u8 sHeldKeyCount; static u8 sResendBlock8[CMD_LENGTH * 2]; @@ -138,7 +138,7 @@ static const u8 sAvailSlots[] = { [4] = AVAIL_SLOT4 }; -#define BLOCK_MASK(bitNum)((1 << (bitNum)) - 1) +#define BLOCK_MASK(bitNum) ((1 << (bitNum)) - 1) static const u32 sAllBlocksReceived[] = { BLOCK_MASK(0), BLOCK_MASK(1), @@ -1175,7 +1175,9 @@ static void RfuHandleReceiveCommand(u8 unused) gRfu.numBlocksReceived[i] = 0; } else + { gRfu.numBlocksReceived[i]++; + } } } } @@ -1302,7 +1304,9 @@ bool32 Rfu_InitBlockSend(const u8 *src, size_t size) gRfu.sendBlock.count = (size / 12) + r4; gRfu.sendBlock.next = 0; if (size > BLOCK_BUFFER_SIZE) + { gRfu.sendBlock.payload = src; + } else { if (src != gBlockSendBuffer) @@ -1629,9 +1633,8 @@ static bool8 CheckForLeavingGroupMembers(void) } else if (gRfuSlotStatusNI[gRfu.childSlot]->recv.state == SLOT_STATE_RECV_FAILED) - rfu_clearSlot(TYPE_NI_RECV, i); { - + rfu_clearSlot(TYPE_NI_RECV, i); } } } @@ -1777,7 +1780,9 @@ static void Task_PlayerExchange(u8 taskId) gTasks[taskId].tState = 101; } else + { gTasks[taskId].tState = 2; + } break; case 101: if (gSendCmd[0] == 0) @@ -1798,7 +1803,9 @@ static void Task_PlayerExchange(u8 taskId) } } else + { gTasks[taskId].tState++; + } break; case 4: if (AreAllPlayersFinishedReceiving()) diff --git a/src/list_menu.c b/src/list_menu.c index e24442ca02..8257712a0a 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -17,29 +17,6 @@ // This allows them to have idle animations. Cursors prior to this are simply printed text. #define CURSOR_OBJECT_START CURSOR_RED_OUTLINE -struct UnkIndicatorsStruct -{ - u8 field_0; - u16 *field_4; - u16 field_8; - u16 field_A; - u16 field_C; - u16 field_E; - u8 field_10; - u8 field_11; - u8 field_12; - u8 field_13; - u8 field_14_0:4; - u8 field_14_1:4; - u8 field_15_0:4; - u8 field_15_1:4; - u8 field_16_0:3; - u8 field_16_1:3; - u8 field_16_2:2; - u8 field_17_0:6; - u8 field_17_1:2; -}; - struct ScrollIndicatorPair { u8 field_0; @@ -99,7 +76,7 @@ static EWRAM_DATA struct { EWRAM_DATA struct ScrollArrowsTemplate gTempScrollArrowTemplate = {0}; // IWRAM common -struct { +COMMON_DATA struct { u8 cursorPal:4; u8 fillValue:4; u8 cursorShadowPal:4; @@ -107,9 +84,9 @@ struct { u8 field_2_2:6; // unused u8 fontId:7; bool8 enabled:1; -} gListMenuOverride; +} gListMenuOverride = {0}; -struct ListMenuTemplate gMultiuseListMenuTemplate; +COMMON_DATA struct ListMenuTemplate gMultiuseListMenuTemplate = {0}; // const rom data static const struct @@ -678,8 +655,6 @@ static void ListMenuDrawCursor(struct ListMenu *list) } } -#undef TASK_NONE - static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorObjId) { struct CursorStruct cursor; @@ -906,104 +881,104 @@ void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu } // unused -s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field) +s32 ListMenuGetTemplateField(u8 taskId, u8 field) { - struct UnkIndicatorsStruct *data = (void *) gTasks[taskId].data; + struct ListMenu *data = (void *) gTasks[taskId].data; switch (field) { - case 0: - case 1: - return (s32)(data->field_4); - case 2: - return data->field_C; - case 3: - return data->field_E; - case 4: - return data->field_10; - case 5: - return data->field_11; - case 6: - return data->field_12; - case 7: - return data->field_13; - case 8: - return data->field_14_0; - case 9: - return data->field_14_1; - case 10: - return data->field_15_0; - case 11: - return data->field_15_1; - case 12: - return data->field_16_0; - case 13: - return data->field_16_1; - case 14: - return data->field_16_2; - case 15: - return data->field_17_0; - case 16: - return data->field_17_1; + case LISTFIELD_MOVECURSORFUNC: + case LISTFIELD_MOVECURSORFUNC2: + return (s32)(data->template.moveCursorFunc); + case LISTFIELD_TOTALITEMS: + return data->template.totalItems; + case LISTFIELD_MAXSHOWED: + return data->template.maxShowed; + case LISTFIELD_WINDOWID: + return data->template.windowId; + case LISTFIELD_HEADERX: + return data->template.header_X; + case LISTFIELD_ITEMX: + return data->template.item_X; + case LISTFIELD_CURSORX: + return data->template.cursor_X; + case LISTFIELD_UPTEXTY: + return data->template.upText_Y; + case LISTFIELD_CURSORPAL: + return data->template.cursorPal; + case LISTFIELD_FILLVALUE: + return data->template.fillValue; + case LISTFIELD_CURSORSHADOWPAL: + return data->template.cursorShadowPal; + case LISTFIELD_LETTERSPACING: + return data->template.lettersSpacing; + case LISTFIELD_ITEMVERTICALPADDING: + return data->template.itemVerticalPadding; + case LISTFIELD_SCROLLMULTIPLE: + return data->template.scrollMultiple; + case LISTFIELD_FONTID: + return data->template.fontId; + case LISTFIELD_CURSORKIND: + return data->template.cursorKind; default: return -1; } } -void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value) +void ListMenuSetTemplateField(u8 taskId, u8 field, s32 value) { - struct UnkIndicatorsStruct *data = (void *) &gTasks[taskId].data; + struct ListMenu *data = (void *) &gTasks[taskId].data; switch (field) { - case 0: - case 1: - data->field_4 = (void *)(value); + case LISTFIELD_MOVECURSORFUNC: + case LISTFIELD_MOVECURSORFUNC2: + data->template.moveCursorFunc = (void *)value; break; - case 2: - data->field_C = value; + case LISTFIELD_TOTALITEMS: + data->template.totalItems = value; break; - case 3: - data->field_E = value; + case LISTFIELD_MAXSHOWED: + data->template.maxShowed = value; break; - case 4: - data->field_10 = value; + case LISTFIELD_WINDOWID: + data->template.windowId = value; break; - case 5: - data->field_11 = value; + case LISTFIELD_HEADERX: + data->template.header_X = value; break; - case 6: - data->field_12 = value; + case LISTFIELD_ITEMX: + data->template.item_X = value; break; - case 7: - data->field_13 = value; + case LISTFIELD_CURSORX: + data->template.cursor_X = value; break; - case 8: - data->field_14_0 = value; + case LISTFIELD_UPTEXTY: + data->template.upText_Y = value; break; - case 9: - data->field_14_1 = value; + case LISTFIELD_CURSORPAL: + data->template.cursorPal = value; break; - case 10: - data->field_15_0 = value; + case LISTFIELD_FILLVALUE: + data->template.fillValue = value; break; - case 11: - data->field_15_1 = value; + case LISTFIELD_CURSORSHADOWPAL: + data->template.cursorShadowPal = value; break; - case 12: - data->field_16_0 = value; + case LISTFIELD_LETTERSPACING: + data->template.lettersSpacing = value; break; - case 13: - data->field_16_1 = value; + case LISTFIELD_ITEMVERTICALPADDING: + data->template.itemVerticalPadding = value; break; - case 14: - data->field_16_2 = value; + case LISTFIELD_SCROLLMULTIPLE: + data->template.scrollMultiple = value; break; - case 15: - data->field_17_0 = value; + case LISTFIELD_FONTID: + data->template.fontId = value; break; - case 16: - data->field_17_1 = value; + case LISTFIELD_CURSORKIND: + data->template.cursorKind = value; break; } } diff --git a/src/load_save.c b/src/load_save.c index 44e08b5e9c..117ba3e27c 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -37,10 +37,10 @@ EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; EWRAM_DATA u32 gLastEncryptionKey = 0; // IWRAM common -bool32 gFlashMemoryPresent; -struct SaveBlock1 *gSaveBlock1Ptr; -struct SaveBlock2 *gSaveBlock2Ptr; -struct PokemonStorage *gPokemonStoragePtr; +COMMON_DATA bool32 gFlashMemoryPresent = 0; +COMMON_DATA struct SaveBlock1 *gSaveBlock1Ptr = NULL; +COMMON_DATA struct SaveBlock2 *gSaveBlock2Ptr = NULL; +COMMON_DATA struct PokemonStorage *gPokemonStoragePtr = NULL; // code void CheckForFlashMemory(void) @@ -69,7 +69,7 @@ void ClearSav1(void) // Offset is the sum of the trainer id bytes void SetSaveBlocksPointers(u16 offset) { - struct SaveBlock1** sav1_LocalVar = &gSaveBlock1Ptr; + struct SaveBlock1 **sav1_LocalVar = &gSaveBlock1Ptr; offset = (offset + Random()) & (SAVEBLOCK_MOVE_RANGE - 4); diff --git a/src/lottery_corner.c b/src/lottery_corner.c index f19e9f7b7b..117a5d6331 100644 --- a/src/lottery_corner.c +++ b/src/lottery_corner.c @@ -75,8 +75,10 @@ void PickLotteryCornerTicket(void) } } } - else // pokemon are always arranged from populated spots first to unpopulated, so the moment a NONE species is found, that's the end of the list. + else // Pokémon are always arranged from populated spots first to unpopulated, so the moment a NONE species is found, that's the end of the list. + { break; + } } for (i = 0; i < TOTAL_BOXES_COUNT; i++) @@ -134,7 +136,9 @@ static u8 GetMatchingDigits(u16 winNumber, u16 otId) matchingDigits++; } else + { break; + } } return matchingDigits; } diff --git a/src/m4a.c b/src/m4a.c index 7774d09cba..2ad2261d08 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -1,4 +1,4 @@ -#include +#include "global.h" #include "gba/m4a_internal.h" extern const u8 gCgb3Vol[]; @@ -7,18 +7,18 @@ extern const u8 gCgb3Vol[]; BSS_CODE ALIGNED(4) char SoundMainRAM_Buffer[0x800] = {0}; -struct SoundInfo gSoundInfo; -struct PokemonCrySong gPokemonCrySongs[MAX_POKEMON_CRIES]; -struct MusicPlayerInfo gPokemonCryMusicPlayers[MAX_POKEMON_CRIES]; -MPlayFunc gMPlayJumpTable[36]; -struct CgbChannel gCgbChans[4]; -struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2]; -struct PokemonCrySong gPokemonCrySong; -struct MusicPlayerInfo gMPlayInfo_BGM; -struct MusicPlayerInfo gMPlayInfo_SE1; -struct MusicPlayerInfo gMPlayInfo_SE2; -struct MusicPlayerInfo gMPlayInfo_SE3; -u8 gMPlayMemAccArea[0x10]; +COMMON_DATA struct SoundInfo gSoundInfo = {0}; +COMMON_DATA struct PokemonCrySong gPokemonCrySongs[MAX_POKEMON_CRIES] = {0}; +COMMON_DATA struct MusicPlayerInfo gPokemonCryMusicPlayers[MAX_POKEMON_CRIES] = {0}; +COMMON_DATA struct MusicPlayerInfo gMPlayInfo_BGM = {0}; +COMMON_DATA MPlayFunc gMPlayJumpTable[36] = {0}; +COMMON_DATA struct CgbChannel gCgbChans[4] = {0}; +COMMON_DATA struct MusicPlayerInfo gMPlayInfo_SE1 = {0}; +COMMON_DATA struct MusicPlayerInfo gMPlayInfo_SE2 = {0}; +COMMON_DATA struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2] = {0}; +COMMON_DATA struct PokemonCrySong gPokemonCrySong = {0}; +COMMON_DATA u8 gMPlayMemAccArea[0x10] = {0}; +COMMON_DATA struct MusicPlayerInfo gMPlayInfo_SE3 = {0}; u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust) { @@ -283,6 +283,7 @@ void MPlayExtender(struct CgbChannel *cgbChans) soundInfo->ident++; +#if __STDC_VERSION__ < 202311L gMPlayJumpTable[8] = ply_memacc; gMPlayJumpTable[17] = ply_lfos; gMPlayJumpTable[19] = ply_mod; @@ -292,6 +293,17 @@ void MPlayExtender(struct CgbChannel *cgbChans) gMPlayJumpTable[31] = TrackStop; gMPlayJumpTable[32] = FadeOutBody; gMPlayJumpTable[33] = TrkVolPitSet; +#else + gMPlayJumpTable[8] = (void (*)(...))ply_memacc; + gMPlayJumpTable[17] = (void (*)(...))ply_lfos; + gMPlayJumpTable[19] = (void (*)(...))ply_mod; + gMPlayJumpTable[28] = (void (*)(...))ply_xcmd; + gMPlayJumpTable[29] = (void (*)(...))ply_endtie; + gMPlayJumpTable[30] = (void (*)(...))SampleFreqSet; + gMPlayJumpTable[31] = (void (*)(...))TrackStop; + gMPlayJumpTable[32] = (void (*)(...))FadeOutBody; + gMPlayJumpTable[33] = (void (*)(...))TrkVolPitSet; +#endif soundInfo->cgbChans = cgbChans; soundInfo->CgbSound = CgbSound; @@ -320,13 +332,21 @@ void MusicPlayerJumpTableCopy(void) void ClearChain(void *x) { +#if __STDC_VERSION__ < 202311L void (*func)(void *) = *(&gMPlayJumpTable[34]); +#else + void (*func)(...) = *(&gMPlayJumpTable[34]); +#endif func(x); } void Clear64byte(void *x) { +#if __STDC_VERSION__ < 202311L void (*func)(void *) = *(&gMPlayJumpTable[35]); +#else + void (*func)(...) = *(&gMPlayJumpTable[35]); +#endif func(x); } diff --git a/src/m4a_tables.c b/src/m4a_tables.c index 4d012cea28..6fb3b273a3 100644 --- a/src/m4a_tables.c +++ b/src/m4a_tables.c @@ -3,7 +3,7 @@ // Some of these functions have different signatures, so we need to make this // an array of void pointers or a struct. It's simpler to just make it an array // for now. -void * const gMPlayJumpTableTemplate[] = +void *const gMPlayJumpTableTemplate[] = { ply_fine, ply_goto, diff --git a/src/mail.c b/src/mail.c index 424a286f3f..e1aaa66873 100644 --- a/src/mail.c +++ b/src/mail.c @@ -48,8 +48,8 @@ struct MailLayout struct MailGraphics { const u16 *palette; - const u8 *tiles; - const u8 *tileMap; + const u32 *tiles; + const u32 *tileMap; u32 unused; u16 textColor; u16 textShadow; diff --git a/src/main.c b/src/main.c index 5f12a2996e..2a47ec51ac 100644 --- a/src/main.c +++ b/src/main.c @@ -59,15 +59,15 @@ const IntrFunc gIntrTableTemplate[] = static u16 sUnusedVar; // Never read -u16 gKeyRepeatStartDelay; -bool8 gLinkTransferringData; -struct Main gMain; -u16 gKeyRepeatContinueDelay; -bool8 gSoftResetDisabled; -IntrFunc gIntrTable[INTR_COUNT]; -u8 gLinkVSyncDisabled; -u32 IntrMain_Buffer[0x200]; -s8 gPcmDmaCounter; +COMMON_DATA u16 gKeyRepeatStartDelay = 0; +COMMON_DATA bool8 gLinkTransferringData = 0; +COMMON_DATA struct Main gMain = {0}; +COMMON_DATA u16 gKeyRepeatContinueDelay = 0; +COMMON_DATA bool8 gSoftResetDisabled = 0; +COMMON_DATA IntrFunc gIntrTable[INTR_COUNT] = {0}; +COMMON_DATA u8 gLinkVSyncDisabled = 0; +COMMON_DATA u32 IntrMain_Buffer[0x200] = {0}; +COMMON_DATA s8 gPcmDmaCounter = 0; static EWRAM_DATA u16 sTrainerId = 0; @@ -86,7 +86,7 @@ void EnableVCountIntrAtLine150(void); #define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON) -void AgbMain() +void AgbMain(void) { // Modern compilers are liberal with the stack on entry to this function, // so RegisterRamReset may crash if it resets IWRAM. @@ -125,7 +125,7 @@ void AgbMain() #if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) (void) MgbaOpen(); #elif (LOG_HANDLER == LOG_HANDLER_AGB_PRINT) - AGBPrintfInit(); + AGBPrintInit(); #endif #endif for (;;) diff --git a/src/main_menu.c b/src/main_menu.c index 6a6ee99557..9565df886d 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -237,7 +237,7 @@ static void SpriteCB_MovePlayerDownWhileShrinking(struct Sprite *); static void Task_NewGameBirchSpeech_WaitForPlayerShrink(u8); static void Task_NewGameBirchSpeech_FadePlayerToWhite(u8); static void Task_NewGameBirchSpeech_Cleanup(u8); -static void SpriteCB_Null(); +static void SpriteCB_Null(struct Sprite *); static void Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox(u8); static void MainMenu_FormatSavegamePlayer(void); static void MainMenu_FormatSavegamePokedex(void); @@ -255,7 +255,6 @@ static const u16 sBirchSpeechBgPals[][16] = { static const u32 sBirchSpeechShadowGfx[] = INCBIN_U32("graphics/birch_speech/shadow.4bpp.lz"); static const u32 sBirchSpeechBgMap[] = INCBIN_U32("graphics/birch_speech/map.bin.lz"); static const u16 sBirchSpeechBgGradientPal[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); -static const u16 sBirchSpeechPlatformBlackPal[] = {RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK}; #define MENU_LEFT 2 #define MENU_TOP_WIN0 1 @@ -528,6 +527,7 @@ enum }; #define MAIN_MENU_BORDER_TILE 0x1D5 +#define BIRCH_DLG_BASE_TILE_NUM 0xFC static void CB2_MainMenu(void) { @@ -1278,7 +1278,7 @@ static void Task_NewGameBirchSpeech_Init(u8 taskId) LZ77UnCompVram(sBirchSpeechShadowGfx, (void *)VRAM); LZ77UnCompVram(sBirchSpeechBgMap, (void *)(BG_SCREEN_ADDR(7))); LoadPalette(sBirchSpeechBgPals, BG_PLTT_ID(0), 2 * PLTT_SIZE_4BPP); - LoadPalette(sBirchSpeechPlatformBlackPal, BG_PLTT_ID(0) + 1, PLTT_SIZEOF(8)); + LoadPalette(&sBirchSpeechBgGradientPal[8], BG_PLTT_ID(0) + 1, PLTT_SIZEOF(8)); ScanlineEffect_Stop(); ResetSpriteData(); FreeAllSpritePalettes(); @@ -1330,7 +1330,7 @@ static void Task_NewGameBirchSpeech_WaitForSpriteFadeInWelcome(u8 taskId) { InitWindows(sNewGameBirchSpeechTextWindows); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(15)); + LoadMessageBoxGfx(0, BIRCH_DLG_BASE_TILE_NUM, BG_PLTT_ID(15)); NewGameBirchSpeech_ShowDialogueWindow(0, 1); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_GFX); @@ -1856,7 +1856,7 @@ static void CB2_NewGameBirchSpeech_ReturnFromNamingScreen(void) SetMainCallback2(CB2_MainMenu); InitWindows(sNewGameBirchSpeechTextWindows); LoadMainMenuWindowFrameTiles(0, 0xF3); - LoadMessageBoxGfx(0, 0xFC, BG_PLTT_ID(15)); + LoadMessageBoxGfx(0, BIRCH_DLG_BASE_TILE_NUM, BG_PLTT_ID(15)); PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_FULL); } @@ -2278,20 +2278,20 @@ static void NewGameBirchSpeech_ShowDialogueWindow(u8 windowId, u8 copyToVram) static void NewGameBirchSpeech_CreateDialogueWindowBorder(u8 bg, u8 x, u8 y, u8 width, u8 height, u8 palNum) { - FillBgTilemapBufferRect(bg, 0xFD, x-2, y-1, 1, 1, palNum); - FillBgTilemapBufferRect(bg, 0xFF, x-1, y-1, 1, 1, palNum); - FillBgTilemapBufferRect(bg, 0x100, x, y-1, width, 1, palNum); - FillBgTilemapBufferRect(bg, 0x101, x+width-1, y-1, 1, 1, palNum); - FillBgTilemapBufferRect(bg, 0x102, x+width, y-1, 1, 1, palNum); - FillBgTilemapBufferRect(bg, 0x103, x-2, y, 1, 5, palNum); - FillBgTilemapBufferRect(bg, 0x105, x-1, y, width+1, 5, palNum); - FillBgTilemapBufferRect(bg, 0x106, x+width, y, 1, 5, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 1, x-2, y-1, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 3, x-1, y-1, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 4, x, y-1, width, 1, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 5, x+width-1, y-1, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 6, x+width, y-1, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 7, x-2, y, 1, 5, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 9, x-1, y, width+1, 5, palNum); + FillBgTilemapBufferRect(bg, BIRCH_DLG_BASE_TILE_NUM + 10, x+width, y, 1, 5, palNum); - FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(0xFD), x-2, y+height, 1, 1, palNum); - FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(0xFF), x-1, y+height, 1, 1, palNum); - FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(0x100), x, y+height, width-1, 1, palNum); - FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(0x101), x+width-1, y+height, 1, 1, palNum); - FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(0x102), x+width, y+height, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(BIRCH_DLG_BASE_TILE_NUM + 1), x-2, y+height, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(BIRCH_DLG_BASE_TILE_NUM + 3), x-1, y+height, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(BIRCH_DLG_BASE_TILE_NUM + 4), x, y+height, width-1, 1, palNum); + FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(BIRCH_DLG_BASE_TILE_NUM + 5), x+width-1, y+height, 1, 1, palNum); + FillBgTilemapBufferRect(bg, BG_TILE_V_FLIP(BIRCH_DLG_BASE_TILE_NUM + 6), x+width, y+height, 1, 1, palNum); } static void Task_NewGameBirchSpeech_ReturnFromNamingScreenShowTextbox(u8 taskId) diff --git a/gflib/malloc.c b/src/malloc.c similarity index 91% rename from gflib/malloc.c rename to src/malloc.c index d0b9497635..8573611bb9 100644 --- a/gflib/malloc.c +++ b/src/malloc.c @@ -1,8 +1,11 @@ #include "global.h" +#include "malloc.h" static void *sHeapStart; static u32 sHeapSize; +ALIGNED(4) EWRAM_DATA u8 gHeap[HEAP_SIZE] = {0}; + #define MALLOC_SYSTEM_ID 0xA3A3 struct MemBlock { @@ -52,18 +55,24 @@ void *AllocInternal(void *heapStart, u32 size) if (size & 3) size = 4 * ((size / 4) + 1); - for (;;) { + for (;;) + { // Loop through the blocks looking for unused block that's big enough. - if (!pos->flag) { + if (!pos->flag) + { foundBlockSize = pos->size; - if (foundBlockSize >= size) { - if (foundBlockSize - size < 2 * sizeof(struct MemBlock)) { + if (foundBlockSize >= size) + { + if (foundBlockSize - size < 2 * sizeof(struct MemBlock)) + { // The block isn't much bigger than the requested size, // so just use it. pos->flag = TRUE; - } else { + } + else + { // The block is significantly bigger than the requested // size, so split the rest into a separate block. foundBlockSize -= sizeof(struct MemBlock); @@ -95,15 +104,18 @@ void *AllocInternal(void *heapStart, u32 size) void FreeInternal(void *heapStart, void *pointer) { - if (pointer) { + if (pointer) + { struct MemBlock *head = (struct MemBlock *)heapStart; struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock)); block->flag = FALSE; // If the freed block isn't the last one, merge with the next block // if it's not in use. - if (block->next != head) { - if (!block->next->flag) { + if (block->next != head) + { + if (!block->next->flag) + { block->size += sizeof(struct MemBlock) + block->next->size; block->next->magic = 0; block->next = block->next->next; @@ -114,8 +126,10 @@ void FreeInternal(void *heapStart, void *pointer) // If the freed block isn't the first one, merge with the previous block // if it's not in use. - if (block != head) { - if (!block->prev->flag) { + if (block != head) + { + if (!block->prev->flag) + { block->prev->next = block->next; if (block->next != head) @@ -132,7 +146,8 @@ void *AllocZeroedInternal(void *heapStart, u32 size) { void *mem = AllocInternal(heapStart, size); - if (mem != NULL) { + if (mem != NULL) + { if (size & 3) size = 4 * ((size / 4) + 1); diff --git a/src/map_name_popup.c b/src/map_name_popup.c index eed2f2b714..4b30068f3c 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -69,7 +69,10 @@ static const u16 sMapPopUp_PaletteTable[][16] = static const u16 sMapPopUp_Palette_Underwater[16] = INCBIN_U16("graphics/map_popup/underwater.gbapal"); -static const u8 sRegionMapSectionId_To_PopUpThemeIdMapping[] = +// -1 in the size excludes MAPSEC_NONE. +// The MAPSEC values for Kanto (between MAPSEC_DYNAMIC and MAPSEC_AQUA_HIDEOUT) are also excluded, +// and this is then handled by subtracting KANTO_MAPSEC_COUNT here and in LoadMapNamePopUpWindowBg. +static const u8 sMapSectionToThemeId[MAPSEC_COUNT - KANTO_MAPSEC_COUNT - 1] = { [MAPSEC_LITTLEROOT_TOWN] = MAPPOPUP_THEME_WOOD, [MAPSEC_OLDALE_TOWN] = MAPPOPUP_THEME_WOOD, @@ -174,7 +177,7 @@ static const u8 sRegionMapSectionId_To_PopUpThemeIdMapping[] = [MAPSEC_DESERT_UNDERPASS - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_STONE, [MAPSEC_ALTERING_CAVE - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_STONE, [MAPSEC_NAVEL_ROCK - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_STONE, - [MAPSEC_TRAINER_HILL - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_MARBLE + [MAPSEC_TRAINER_HILL - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_MARBLE, }; static const u8 sText_PyramidFloor1[] = _("PYRAMID FLOOR 1"); @@ -186,7 +189,7 @@ static const u8 sText_PyramidFloor6[] = _("PYRAMID FLOOR 6"); static const u8 sText_PyramidFloor7[] = _("PYRAMID FLOOR 7"); static const u8 sText_Pyramid[] = _("PYRAMID"); -static const u8 * const sBattlePyramid_MapHeaderStrings[FRONTIER_STAGES_PER_CHALLENGE + 1] = +static const u8 *const sBattlePyramid_MapHeaderStrings[FRONTIER_STAGES_PER_CHALLENGE + 1] = { sText_PyramidFloor1, sText_PyramidFloor2, @@ -317,8 +320,13 @@ void HideMapNamePopUpWindow(void) { if (FuncIsActiveTask(Task_MapNamePopUpWindow)) { - ClearStdWindowAndFrame(GetMapNamePopUpWindowId(), TRUE); - RemoveMapNamePopUpWindow(); + #ifdef UBFIX + if (GetMapNamePopUpWindowId() != WINDOW_NONE) + #endif // UBFIX + { + ClearStdWindowAndFrame(GetMapNamePopUpWindowId(), TRUE); + RemoveMapNamePopUpWindow(); + } SetGpuReg_ForcedBlank(REG_OFFSET_BG0VOFS, 0); DestroyTask(sPopupTaskId); } @@ -331,7 +339,7 @@ static void ShowMapNamePopUpWindow(void) u8 x; const u8 *mapDisplayHeaderSource; - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP) { @@ -405,7 +413,7 @@ static void LoadMapNamePopUpWindowBg(void) else regionMapSectionId = 0; // Discard kanto region sections; } - popUpThemeId = sRegionMapSectionId_To_PopUpThemeIdMapping[regionMapSectionId]; + popUpThemeId = sMapSectionToThemeId[regionMapSectionId]; LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_BG), sMapPopUp_OutlineTable[popUpThemeId], 0x400, 0x21D); CallWindowFunction(popupWindowId, DrawMapNamePopUpFrame); diff --git a/src/match_call.c b/src/match_call.c index a9d18b3477..e6a141a1bc 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -131,7 +131,7 @@ static EWRAM_DATA struct MatchCallState sMatchCallState = {0}; static EWRAM_DATA struct BattleFrontierStreakInfo sBattleFrontierStreakInfo = {0}; static u32 GetCurrentTotalMinutes(struct Time *); -static u32 GetNumRegisteredNPCs(void); +static u32 GetNumRegisteredTrainers(void); static u32 GetActiveMatchCallTrainerId(u32); static int GetTrainerMatchCallId(int); static u16 GetRematchTrainerLocation(int); @@ -1098,7 +1098,7 @@ static bool32 UpdateMatchCallStepCounter(void) static bool32 SelectMatchCallTrainer(void) { u32 matchCallId; - u32 numRegistered = GetNumRegisteredNPCs(); + u32 numRegistered = GetNumRegisteredTrainers(); if (numRegistered == 0) return FALSE; @@ -1114,12 +1114,13 @@ static bool32 SelectMatchCallTrainer(void) return TRUE; } -static u32 GetNumRegisteredNPCs(void) +// Ignores registrable non-trainer NPCs, and special trainers like Wally and the gym leaders. +static u32 GetNumRegisteredTrainers(void) { u32 i, count; for (i = 0, count = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) { - if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) + if (FlagGet(TRAINER_REGISTERED_FLAGS_START + i)) count++; } @@ -1131,7 +1132,7 @@ static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId) u32 i; for (i = 0; i < REMATCH_SPECIAL_TRAINER_START; i++) { - if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i)) + if (FlagGet(TRAINER_REGISTERED_FLAGS_START + i)) { if (!activeMatchCallId) return gRematchTable[i].trainerIds[0]; @@ -1367,7 +1368,7 @@ static bool32 MatchCall_EndCall(u8 taskId) if (!sMatchCallState.triggeredFromScript) { LoadMessageBoxAndBorderGfx(); - playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); @@ -1747,9 +1748,9 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) u8 slot; int i = 0; - if (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) // ??? This check is nonsense. + if (gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED)) // ??? This check is nonsense. { - while (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) + while (gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED)) { if (gWildMonHeaders[i].mapGroup == gRematchTable[matchCallId].mapGroup && gWildMonHeaders[i].mapNum == gRematchTable[matchCallId].mapNum) @@ -1758,7 +1759,7 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) i++; } - if (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) + if (gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED)) { numSpecies = 0; if (gWildMonHeaders[i].landMonsInfo) diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 287419f901..03b4b6663a 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -24,20 +24,20 @@ #include "constants/mauville_old_man.h" static void InitGiddyTaleList(void); -static void StartBardSong(bool8 useTemporaryLyrics); +static void StartBardSong(bool8 useNewSongLyrics); static void Task_BardSong(u8 taskId); static void StorytellerSetup(void); static void Storyteller_ResetFlag(void); static u8 sSelectedStory; -struct BardSong gBardSong; +COMMON_DATA struct BardSong gBardSong = {0}; -static EWRAM_DATA u16 sUnknownBardRelated = 0; -static EWRAM_DATA struct MauvilleManStoryteller * sStorytellerPtr = NULL; +static EWRAM_DATA u16 sUnusedPitchTableIndex = 0; +static EWRAM_DATA struct MauvilleManStoryteller *sStorytellerPtr = NULL; static EWRAM_DATA u8 sStorytellerWindowId = 0; -static const u16 sDefaultBardSongLyrics[BARD_SONG_LENGTH] = { +static const u16 sDefaultBardSongLyrics[NUM_BARD_SONG_WORDS] = { EC_WORD_SHAKE, EC_WORD_IT, EC_WORD_DO, @@ -46,7 +46,7 @@ static const u16 sDefaultBardSongLyrics[BARD_SONG_LENGTH] = { EC_WORD_DANCE }; -static const u8 * const sGiddyAdjectives[] = { +static const u8 *const sGiddyAdjectives[] = { GiddyText_SoPretty, GiddyText_SoDarling, GiddyText_SoRelaxed, @@ -60,7 +60,7 @@ static const u8 * const sGiddyAdjectives[] = { // Non-random lines Giddy can say. Not all are strictly // questions, but most are, and the player will receive // a Yes/No prompt afterwards regardless. -static const u8 * const sGiddyQuestions[GIDDY_MAX_QUESTIONS] = { +static const u8 *const sGiddyQuestions[GIDDY_MAX_QUESTIONS] = { GiddyText_ISoWantToGoOnAVacation, GiddyText_IBoughtCrayonsWith120Colors, GiddyText_WouldntItBeNiceIfWeCouldFloat, @@ -79,7 +79,7 @@ static void SetupBard(void) bard->id = MAUVILLE_MAN_BARD; bard->hasChangedSong = FALSE; bard->language = gGameLanguage; - for (i = 0; i < BARD_SONG_LENGTH; i++) + for (i = 0; i < NUM_BARD_SONG_WORDS; i++) bard->songLyrics[i] = sDefaultBardSongLyrics[i]; } @@ -163,24 +163,33 @@ void SaveBardSongLyrics(void) for (i = 0; i < TRAINER_ID_LENGTH; i++) bard->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; - for (i = 0; i < BARD_SONG_LENGTH; i++) - bard->songLyrics[i] = bard->temporaryLyrics[i]; + for (i = 0; i < NUM_BARD_SONG_WORDS; i++) + bard->songLyrics[i] = bard->newSongLyrics[i]; bard->hasChangedSong = TRUE; } -// Copies lyrics into gStringVar4 +// Copies lyrics into gStringVar4. +// gSpecialVar_0x8004 is used in these functions to indicate which song should be played. +// If it's set to 0 the Bard's current song should be played, otherwise the new user-provided song should be played. +// Its set in the scripts right before 'PlayBardSong' is called. static void PrepareSongText(void) { struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard; - u16 * lyrics = gSpecialVar_0x8004 == 0 ? bard->songLyrics : bard->temporaryLyrics; - u8 * wordEnd = gStringVar4; - u8 * str = wordEnd; - u16 lineNum; + u16 *lyrics = !gSpecialVar_0x8004 ? bard->songLyrics : bard->newSongLyrics; + u8 *wordEnd = gStringVar4; + u8 *str = wordEnd; + u16 paragraphNum; - // Put three words on each line - for (lineNum = 0; lineNum < 2; lineNum++) + // Easy chat "words" aren't strictly single words, e.g. EC_WORD_MATCH_UP is the string "MATCH UP". + // The bard song needs to know when it's at the end of an easy chat word and not just at a space in + // the middle of one, so the loop below will replace spaces in each easy chat word with CHAR_BARD_WORD_DELIMIT. + // When it comes time to print the song's text all the CHAR_BARD_WORD_DELIMIT will get replaced with CHAR_SPACE. + // + // The song text will be displayed in two paragraphs, each containing 3 easy chat words (2 on the first line and 1 on the second). + for (paragraphNum = 0; paragraphNum < 2; paragraphNum++) { + // Line 1, 1st word wordEnd = CopyEasyChatWord(wordEnd, *(lyrics++)); while (wordEnd != str) { @@ -192,6 +201,7 @@ static void PrepareSongText(void) str++; *(wordEnd++) = CHAR_SPACE; + // Line 1, 2nd word wordEnd = CopyEasyChatWord(wordEnd, *(lyrics++)); while (wordEnd != str) { @@ -203,6 +213,7 @@ static void PrepareSongText(void) str++; *(wordEnd++) = CHAR_NEWLINE; + // Line 2, 1st word wordEnd = CopyEasyChatWord(wordEnd, *(lyrics++)); while (wordEnd != str) { @@ -211,8 +222,10 @@ static void PrepareSongText(void) str++; } - if (lineNum == 0) + if (paragraphNum == 0) { + // Erase the 1st paragraph for displaying the 2nd. + // The == 0 check assumes there are only 2 paragraphs. *(wordEnd++) = EXT_CTRL_CODE_BEGIN; *(wordEnd++) = EXT_CTRL_CODE_FILL_WINDOW; } @@ -421,17 +434,19 @@ enum { #define tWordState data[1] #define tDelay data[2] #define tCharIndex data[3] -#define tCurrWord data[4] -#define tUseTemporaryLyrics data[5] +#define tLyricsIndex data[4] +#define tUseNewSongLyrics data[5] -#define MACRO1(a) (((a) & 3) + (((a) / 8) & 1)) -#define MACRO2(a) (((a) % 4) + (((a) / 8) & 1)) +// Takes a 16-bit easy chat word value and returns a value 0-4 (i.e. a value less than NUM_BARD_PITCH_TABLES_PER_SIZE). +// The relationship between the easy chat word and the chosen pitch table is essentially arbitrary. +// This value will be used twice; once for an unused variable, and again to select a pitch table in CalcWordSounds. +#define WORD_TO_PITCH_TABLE_INDEX(a) ( MOD(a, (NUM_BARD_PITCH_TABLES_PER_SIZE-1)) + (((a) >> 3) & 1) ) -static void StartBardSong(bool8 useTemporaryLyrics) +static void StartBardSong(bool8 useNewSongLyrics) { u8 taskId = CreateTask(Task_BardSong, 80); - gTasks[taskId].tUseTemporaryLyrics = useTemporaryLyrics; + gTasks[taskId].tUseNewSongLyrics = useNewSongLyrics; } static void EnableTextPrinters(void) @@ -439,12 +454,12 @@ static void EnableTextPrinters(void) gDisableTextPrinters = FALSE; } -static void DisableTextPrinters(struct TextPrinterTemplate * printer, u16 renderCmd) +static void DisableTextPrinters(struct TextPrinterTemplate *printer, u16 renderCmd) { gDisableTextPrinters = TRUE; } -static void DrawSongTextWindow(const u8 * str) +static void DrawSongTextWindow(const u8 *str) { DrawDialogueFrame(0, FALSE); AddTextPrinterParameterized(0, FONT_NORMAL, str, 0, 1, 1, DisableTextPrinters); @@ -452,6 +467,18 @@ static void DrawSongTextWindow(const u8 * str) CopyWindowToVram(0, COPYWIN_FULL); } +#define BARD_SONG_BASE_VOLUME 0x100 +#define BARD_SONG_BASE_PITCH 0x200 + +enum { + SOUND_STATE_START, + SOUND_STATE_PLAY, + SOUND_STATE_SET_BASE, + SOUND_STATE_END, + SOUND_STATE_WAIT, +}; + +// Sing one frame of the bard's song. 'task' is a pointer to Task_BardSong, which handles changing the states in here. static void BardSing(struct Task *task, struct BardSong *song) { switch (task->tState) @@ -463,60 +490,73 @@ static void BardSing(struct Task *task, struct BardSong *song) s32 i; // Copy lyrics - if (gSpecialVar_0x8004 == 0) + if (!gSpecialVar_0x8004) lyrics = bard->songLyrics; else - lyrics = bard->temporaryLyrics; - for (i = 0; i < BARD_SONG_LENGTH; i++) + lyrics = bard->newSongLyrics; + + for (i = 0; i < NUM_BARD_SONG_WORDS; i++) song->lyrics[i] = lyrics[i]; - song->currWord = 0; + + song->lyricsIndex = 0; + break; } - break; - case BARD_STATE_WAIT_BGM: - break; case BARD_STATE_GET_WORD: { - u16 word = song->lyrics[song->currWord]; - song->sound = GetWordSounds(word); - GetWordPhonemes(song, MACRO1(word)); - song->currWord++; - if (song->sound->songLengthId != 0xFF) - song->state = 0; + u16 easyChatWord = song->lyrics[song->lyricsIndex]; + song->soundTemplates = GetWordSoundTemplates(easyChatWord); + CalcWordSounds(song, WORD_TO_PITCH_TABLE_INDEX(easyChatWord)); + song->lyricsIndex++; + if (song->soundTemplates[0].songId != PHONEME_ID_NONE) + { + // Word has valid sounds, begin playing. + song->state = SOUND_STATE_START; + } else { - song->state = 3; - song->phonemeTimer = 2; + // Word has no valid sounds, skip to the end. + song->state = SOUND_STATE_END; + song->timer = 2; } break; } case BARD_STATE_HANDLE_WORD: case BARD_STATE_WAIT_WORD: { - const struct BardSound *sound = &song->sound[song->currPhoneme]; + const struct BardSoundTemplate *template = &song->soundTemplates[song->soundIndex]; switch (song->state) { - case 0: - song->phonemeTimer = song->phonemes[song->currPhoneme].length; - if (sound->songLengthId <= 50) + case SOUND_STATE_START: + song->timer = song->sounds[song->soundIndex].length; + if (template->songId < NUM_PHONEME_SONGS) { - u8 num = sound->songLengthId / 3; - m4aSongNumStart(PH_TRAP_HELD + 3 * num); + // Phoneme "songs" come in triplets of PH_*_BLEND, PH_*_HELD, and PH_*_SOLO. + // The division then multiplication by 3 below is rounding any value from one of these triplets to a PH_*_HELD. + // This means the actual song files for any phoneme other than PH_*_HELD won't be played here, and the only difference + // when specifying a PH_*_BLEND or PH_*_SOLO in the songId will be the length of the sound, determined by 'sPhonemeLengths'. + u8 phonemeTripletId = template->songId / 3; + m4aSongNumStart((FIRST_PHONEME_SONG + 1) + phonemeTripletId * 3); } - song->state = 2; - song->phonemeTimer--; + song->state = SOUND_STATE_SET_BASE; + song->timer--; break; - case 2: - song->state = 1; - if (sound->songLengthId <= 50) + case SOUND_STATE_SET_BASE: + song->state = SOUND_STATE_PLAY; + if (template->songId < NUM_PHONEME_SONGS) { - song->volume = 0x100 + sound->volume * 16; + // Adjust the song volume for the current phoneme. + // In practice no phonemes use this, so volume here will always be BARD_SONG_BASE_VOLUME. + song->volume = BARD_SONG_BASE_VOLUME + template->volume * 16; m4aMPlayVolumeControl(&gMPlayInfo_SE2, TRACKS_ALL, song->volume); - song->pitch = 0x200 + song->phonemes[song->currPhoneme].pitch; + + // Adjust the song pitch for the current phoneme. + song->pitch = BARD_SONG_BASE_PITCH + song->sounds[song->soundIndex].pitch; m4aMPlayPitchControl(&gMPlayInfo_SE2, TRACKS_ALL, song->pitch); } break; - case 1: + case SOUND_STATE_PLAY: + // Modulate the volume and pitch to make it sound a little more like singing. if (song->voiceInflection > 10) song->volume -= 2; if (song->voiceInflection & 1) @@ -526,31 +566,37 @@ static void BardSing(struct Task *task, struct BardSong *song) m4aMPlayVolumeControl(&gMPlayInfo_SE2, TRACKS_ALL, song->volume); m4aMPlayPitchControl(&gMPlayInfo_SE2, TRACKS_ALL, song->pitch); song->voiceInflection++; - song->phonemeTimer--; - if (song->phonemeTimer == 0) + + song->timer--; + if (song->timer == 0) { - song->currPhoneme++; - if (song->currPhoneme != 6 && song->sound[song->currPhoneme].songLengthId != 0xFF) - song->state = 0; + if (++song->soundIndex != MAX_BARD_SOUNDS_PER_WORD && song->soundTemplates[song->soundIndex].songId != PHONEME_ID_NONE) + { + // There are more sounds to play for this word, return to the start. + song->state = SOUND_STATE_START; + } else { - song->state = 3; - song->phonemeTimer = 2; + // We've reached the final sound for this word, stop playing. + song->state = SOUND_STATE_END; + song->timer = 2; } } break; - case 3: - song->phonemeTimer--; - if (song->phonemeTimer == 0) + case SOUND_STATE_END: + // Delay, then stop playing the phoneme. + if (--song->timer == 0) { m4aMPlayStop(&gMPlayInfo_SE2); - song->state = 4; + song->state = SOUND_STATE_WAIT; // We'll remain stuck at this sound state until Task_BardSong changes states from HANDLE_WORD/WAIT_WORD } break; } - } break; + } case BARD_STATE_PAUSE: + case BARD_STATE_WAIT_BGM: + // Non-singing states. break; } } @@ -569,7 +615,7 @@ static void Task_BardSong(u8 taskId) task->tWordState = 0; task->tDelay = 0; task->tCharIndex = 0; - task->tCurrWord = 0; + task->tLyricsIndex = 0; FadeOutBGMTemporarily(4); task->tState = BARD_STATE_WAIT_BGM; break; @@ -593,15 +639,17 @@ static void Task_BardSong(u8 taskId) wordLen++; } - if (!task->tUseTemporaryLyrics) - sUnknownBardRelated = MACRO2(bard->songLyrics[task->tCurrWord]); + // sUnusedPitchTableIndex is never read. For debugging perhaps, or one of the other languages. + if (!task->tUseNewSongLyrics) + sUnusedPitchTableIndex = WORD_TO_PITCH_TABLE_INDEX(bard->songLyrics[task->tLyricsIndex]); else - sUnknownBardRelated = MACRO2(bard->temporaryLyrics[task->tCurrWord]); + sUnusedPitchTableIndex = WORD_TO_PITCH_TABLE_INDEX(bard->newSongLyrics[task->tLyricsIndex]); gBardSong.length /= wordLen; if (gBardSong.length <= 0) gBardSong.length = 1; - task->tCurrWord++; + + task->tLyricsIndex++; if (task->tDelay == 0) { @@ -633,7 +681,7 @@ static void Task_BardSong(u8 taskId) } else if (gStringVar4[task->tCharIndex] == CHAR_SPACE) { - // Handle space + // End of easy chat word, move on to the next one. EnableTextPrinters(); task->tCharIndex++; task->tState = BARD_STATE_GET_WORD; @@ -649,14 +697,16 @@ static void Task_BardSong(u8 taskId) else if (gStringVar4[task->tCharIndex] == EXT_CTRL_CODE_BEGIN) { // Handle ctrl code + // The only expected ctrl codes are those for clearing the end of the paragraph, + // so this assumes there's a new word coming and does a short delay before the next paragraph. task->tCharIndex += 2; // skip over control codes task->tState = BARD_STATE_GET_WORD; task->tDelay = 8; } else if (gStringVar4[task->tCharIndex] == CHAR_BARD_WORD_DELIMIT) { - // Handle word boundary - gStringVar4[task->tCharIndex] = CHAR_SPACE; // Replace with a real space + // Space within the current easy chat word (see PrepareSongText), just replace it with a real space. + gStringVar4[task->tCharIndex] = CHAR_SPACE; EnableTextPrinters(); task->tCharIndex++; task->tDelay = 0; @@ -700,7 +750,7 @@ void SetMauvilleOldManObjEventGfx(void) // Language fixers? -void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) +void SanitizeMauvilleOldManForRuby(union OldMan *oldMan) { s32 i; u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -709,7 +759,7 @@ void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) { case MAUVILLE_MAN_TRADER: { - struct MauvilleOldManTrader * trader = &oldMan->trader; + struct MauvilleOldManTrader *trader = &oldMan->trader; for (i = 0; i < NUM_TRADER_ITEMS; i++) { if (trader->language[i] == LANGUAGE_JAPANESE) @@ -719,7 +769,7 @@ void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) } case MAUVILLE_MAN_STORYTELLER: { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; for (i = 0; i < NUM_STORYTELLER_TALES; i++) { if (storyteller->gameStatIDs[i] != 0) @@ -740,7 +790,7 @@ void SanitizeMauvilleOldManForRuby(union OldMan * oldMan) } } -static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language1, u32 language2, u32 language3) +static void UNUSED SetMauvilleOldManLanguage(union OldMan *oldMan, u32 language1, u32 language2, u32 language3) { s32 i; @@ -748,7 +798,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language { case MAUVILLE_MAN_TRADER: { - struct MauvilleOldManTrader * trader = &oldMan->trader; + struct MauvilleOldManTrader *trader = &oldMan->trader; for (i = 0; i < NUM_TRADER_ITEMS; i++) { @@ -761,7 +811,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_STORYTELLER: { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; for (i = 0; i < NUM_STORYTELLER_TALES; i++) { @@ -774,7 +824,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_BARD: { - struct MauvilleManBard * bard = &oldMan->bard; + struct MauvilleManBard *bard = &oldMan->bard; if (language3 == LANGUAGE_JAPANESE) bard->language = language1; @@ -784,7 +834,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_HIPSTER: { - struct MauvilleManHipster * hipster = &oldMan->hipster; + struct MauvilleManHipster *hipster = &oldMan->hipster; if (language3 == LANGUAGE_JAPANESE) hipster->language = language1; @@ -794,7 +844,7 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language break; case MAUVILLE_MAN_GIDDY: { - struct MauvilleManGiddy * giddy = &oldMan->giddy; + struct MauvilleManGiddy *giddy = &oldMan->giddy; if (language3 == LANGUAGE_JAPANESE) giddy->language = language1; @@ -805,13 +855,13 @@ static void UNUSED SetMauvilleOldManLanguage(union OldMan * oldMan, u32 language } } -void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 language) +void SanitizeReceivedEmeraldOldMan(union OldMan *oldMan, u32 version, u32 language) { u8 playerName[PLAYER_NAME_LENGTH + 1]; s32 i; if (oldMan->common.id == MAUVILLE_MAN_STORYTELLER && language == LANGUAGE_JAPANESE) { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; for (i = 0; i < NUM_STORYTELLER_TALES; i++) { @@ -828,7 +878,7 @@ void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 version, u32 langu } } -void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language) +void SanitizeReceivedRubyOldMan(union OldMan *oldMan, u32 version, u32 language) { bool32 isRuby = (version == VERSION_SAPPHIRE || version == VERSION_RUBY); @@ -836,21 +886,23 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language { case MAUVILLE_MAN_TRADER: { - struct MauvilleOldManTrader * trader = &oldMan->trader; + struct MauvilleOldManTrader *trader = &oldMan->trader; s32 i; if (isRuby) { for (i = 0; i < NUM_TRADER_ITEMS; i++) { - u8 * str = trader->playerNames[i]; + u8 *str = trader->playerNames[i]; if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN) { StripExtCtrlCodes(str); trader->language[i] = LANGUAGE_JAPANESE; } else + { trader->language[i] = language; + } } } else @@ -868,7 +920,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language case MAUVILLE_MAN_STORYTELLER: { - struct MauvilleManStoryteller * storyteller = &oldMan->storyteller; + struct MauvilleManStoryteller *storyteller = &oldMan->storyteller; s32 i; if (isRuby) @@ -883,7 +935,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language break; case MAUVILLE_MAN_BARD: { - struct MauvilleManBard * bard = &oldMan->bard; + struct MauvilleManBard *bard = &oldMan->bard; if (isRuby) { @@ -893,7 +945,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language break; case MAUVILLE_MAN_HIPSTER: { - struct MauvilleManHipster * hipster = &oldMan->hipster; + struct MauvilleManHipster *hipster = &oldMan->hipster; if (isRuby) { @@ -903,7 +955,7 @@ void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 version, u32 language break; case MAUVILLE_MAN_GIDDY: { - struct MauvilleManGiddy * giddy = &oldMan->giddy; + struct MauvilleManGiddy *giddy = &oldMan->giddy; if (isRuby) { @@ -1247,9 +1299,9 @@ static void GetStoryByStattellerPlayerName(u32 player, void *dst) memcpy(dst, name, PLAYER_NAME_LENGTH); } -static void StorytellerSetPlayerName(u32 player, const u8 * src) +static void StorytellerSetPlayerName(u32 player, const u8 *src) { - u8 * name = sStorytellerPtr->trainerNames[player]; + u8 *name = sStorytellerPtr->trainerNames[player]; memset(name, EOS, PLAYER_NAME_LENGTH); memcpy(name, src, PLAYER_NAME_LENGTH); } @@ -1265,7 +1317,7 @@ static void StorytellerRecordNewStat(u32 player, u32 stat) sStorytellerPtr->language[player] = gGameLanguage; } -static void ScrambleStatList(u8 * arr, s32 count) +static void ScrambleStatList(u8 *arr, s32 count) { s32 i; diff --git a/src/menu_helpers.c b/src/menu_helpers.c index d810508ae4..04e7f061b4 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -279,8 +279,8 @@ bool8 IsHoldingItemAllowed(u16 itemId) { // Enigma Berry can't be held in link areas if (itemId == ITEM_ENIGMA_BERRY - && ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRADE_CENTER) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRADE_CENTER)) + && ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_TRADE_CENTER) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_TRADE_CENTER)) || InUnionRoom() == TRUE)) return FALSE; else diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 20ddce1f44..6f04a4febc 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -317,7 +317,7 @@ void MailboxMenu_Free(void) // filled with the graph color. //--------------------------------------- -#define SHIFT_RIGHT_ADJUSTED(n, s)(((n) >> (s)) + (((n) >> ((s) - 1)) & 1)) +#define SHIFT_RIGHT_ADJUSTED(n, s) (((n) >> (s)) + (((n) >> ((s) - 1)) & 1)) void ConditionGraph_Init(struct ConditionGraph *graph) { @@ -1194,7 +1194,7 @@ void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplat *pal = dataPal; } -void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals) +void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate *template, struct SpritePalette *pals) { u8 i; diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 924428aea4..f8261fd391 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -320,7 +320,7 @@ bool8 MetatileBehavior_IsSouthArrowWarp(u8 metatileBehavior) return FALSE; } -bool8 Unref_MetatileBehavior_IsArrowWarp(u8 metatileBehavior) +bool8 UNUSED Unref_MetatileBehavior_IsArrowWarp(u8 metatileBehavior) { u8 isArrowWarp = FALSE; diff --git a/src/mini_printf.c b/src/mini_printf.c index 2a8c6e5cb7..3caf246048 100644 --- a/src/mini_printf.c +++ b/src/mini_printf.c @@ -36,7 +36,7 @@ #include "gba/types.h" #include "gba/defines.h" #include "config.h" -#include "characters.h" +#include "constants/characters.h" #include "string_util.h" #ifndef NDEBUG @@ -86,6 +86,8 @@ static inline char mini_pchar_decode(char encoded) ret = '('; // opening parentheses else if (encoded == CHAR_RIGHT_PAREN) ret = ')'; // closing parentheses + else if (encoded == CHAR_HYPHEN) + ret = '-'; // hyphen return ret; } @@ -102,8 +104,10 @@ static s32 _putsAscii(char *s, s32 len, void *buf) p0 = b->buffer; /* Copy to buffer */ - for (i = 0; i < len; i++) { - if(b->pbuffer == b->buffer + b->buffer_len - 1) { + for (i = 0; i < len; i++) + { + if(b->pbuffer == b->buffer + b->buffer_len - 1) + { break; } *(b->pbuffer ++) = s[i]; @@ -125,11 +129,37 @@ static s32 _putsEncoded(char *s, s32 len, void *buf) p0 = b->buffer; /* Copy to buffer */ - for (i = 0; i < len; i++) { - if(b->pbuffer == b->buffer + b->buffer_len - 1) { + for (i = 0; i < len; i++) + { + if(b->pbuffer == b->buffer + b->buffer_len - 1) + { break; } - *(b->pbuffer ++) = mini_pchar_decode(s[i]); + if (s[i] == CHAR_NEWLINE) + { + *(b->pbuffer ++) = '\\'; + *(b->pbuffer ++) = 'n'; + } + else if (s[i] == CHAR_PROMPT_SCROLL) + { + *(b->pbuffer ++) = '\\'; + *(b->pbuffer ++) = 'l'; + } + else if (s[i] == CHAR_PROMPT_CLEAR) + { + *(b->pbuffer ++) = '\\'; + *(b->pbuffer ++) = 'p'; + } + else if (s[i] == CHAR_ELLIPSIS) + { + *(b->pbuffer ++) = '.'; + *(b->pbuffer ++) = '.'; + *(b->pbuffer ++) = '.'; + } + else + { + *(b->pbuffer ++) = mini_pchar_decode(s[i]); + } } *(b->pbuffer) = 0; return b->pbuffer - p0; @@ -137,9 +167,9 @@ static s32 _putsEncoded(char *s, s32 len, void *buf) static s32 mini_strlen(const char *s) { - s32 len = 0; - while (s[len] != '\0') len++; - return len; + s32 len = 0; + while (s[len] != '\0') len++; + return len; } static s32 mini_itoa(s32 value, u32 radix, s32 uppercase, bool32 unsig, char *buffer) @@ -184,14 +214,15 @@ static s32 mini_itoa(s32 value, u32 radix, s32 uppercase, bool32 unsig, char *bu return len; } -static s32 mini_pad(char* ptr, s32 len, char pad_char, s32 pad_to, char *buffer) +static s32 mini_pad(char *ptr, s32 len, char pad_char, s32 pad_to, char *buffer) { s32 i; bool32 overflow = FALSE; - char * pbuffer = buffer; + char *pbuffer = buffer; if(pad_to == 0) pad_to = len; - if (len > pad_to) { + if (len > pad_to) + { len = pad_to; overflow = TRUE; } @@ -229,7 +260,7 @@ s32 mini_vsnprintf(char *buffer, u32 buffer_len, const char *fmt, va_list va) return b.pbuffer - b.buffer; } -s32 mini_vpprintf(void* buf, const char *fmt, va_list va) +s32 mini_vpprintf(void *buf, const char *fmt, va_list va) { char bf[24]; char bf2[24]; @@ -243,7 +274,8 @@ s32 mini_vpprintf(void* buf, const char *fmt, va_list va) { len = 1; len = _putsAscii(&ch, len, buf); - } else + } + else { char pad_char = ' '; s32 pad_to = 0; @@ -279,7 +311,8 @@ s32 mini_vpprintf(void* buf, const char *fmt, va_list va) if(l) { len = mini_itoa(va_arg(va, u32), 10, 0, (ch=='u'), bf2); - } else + } + else { if(ch == 'u') { @@ -321,7 +354,8 @@ s32 mini_vpprintf(void* buf, const char *fmt, va_list va) { len = mini_pad(ptr, len, pad_char, pad_to, bf); len = _putsAscii(bf, len, buf); - } else + } + else { len = _putsAscii(ptr, len, buf); } @@ -333,7 +367,8 @@ s32 mini_vpprintf(void* buf, const char *fmt, va_list va) { len = mini_pad(ptr, len, pad_char, pad_to, bf); len = _putsEncoded(bf, len, buf); - } else + } + else { len = _putsEncoded(ptr, len, buf); } diff --git a/src/mirage_tower.c b/src/mirage_tower.c index b1e2e5003b..84f44be626 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -56,12 +56,9 @@ struct FallAnim_Fossil #define TAG_CEILING_CRUMBLE 4000 -#define MIRAGE_TOWER_GFX_LENGTH (sizeof(sBlankTile_Gfx) + sizeof(sMirageTower_Gfx)) +#define MIRAGE_TOWER_GFX_LENGTH (sizeof(sMirageTower_Gfx)) #define FOSSIL_DISINTEGRATE_LENGTH 0x100 -static const struct SpriteSheet sCeilingCrumbleSpriteSheets[]; -static const s16 sCeilingCrumblePositions[][3]; - static void PlayerDescendMirageTower(u8); static void DoScreenShake(u8); static void IncrementCeilingCrumbleFinishedCount(void); @@ -75,8 +72,7 @@ static void Task_FossilFallAndSink(u8); static void SpriteCB_FallingFossil(struct Sprite *); static void UpdateDisintegrationEffect(u8 *, u16, u8, u8, u8); -static const u8 ALIGNED(2) sBlankTile_Gfx[32] = {0}; -static const u8 sMirageTower_Gfx[] = INCBIN_U8("graphics/misc/mirage_tower.4bpp"); +static const ALIGNED(2) u8 sMirageTower_Gfx[] = INCBIN_U8("graphics/misc/mirage_tower.4bpp"); static const u16 sMirageTowerTilemap[] = INCBIN_U16("graphics/misc/mirage_tower.bin"); static const u16 sFossil_Pal[] = INCBIN_U16("graphics/object_events/pics/misc/fossil.gbapal"); // Unused static const u8 sFossil_Gfx[] = INCBIN_U8("graphics/object_events/pics/misc/fossil.4bpp"); // Duplicate of gObjectEventPic_Fossil @@ -265,7 +261,7 @@ static u16 sDebug_DisintegrationData[8]; bool8 IsMirageTowerVisible(void) { - if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111))) + if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE111))) return FALSE; return FlagGet(FLAG_MIRAGE_TOWER_VISIBLE); } @@ -288,8 +284,8 @@ void TryStartMirageTowerPulseBlendEffect(void) return; } - if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) - || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111) + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_ROUTE111) + || gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_ROUTE111) || !FlagGet(FLAG_MIRAGE_TOWER_VISIBLE)) return; @@ -302,8 +298,8 @@ void TryStartMirageTowerPulseBlendEffect(void) void ClearMirageTowerPulseBlendEffect(void) { - if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) - || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111) + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_ROUTE111) + || gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_ROUTE111) || !FlagGet(FLAG_MIRAGE_TOWER_VISIBLE) || sMirageTowerPulseBlend == NULL) return; @@ -445,38 +441,47 @@ static void FinishCeilingCrumbleTask(u8 taskId) ScriptContext_Enable(); } +#define sIndex data[0] +#define sYOffset data[1] + static void CreateCeilingCrumbleSprites(void) { u8 i; u8 spriteId; - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(sCeilingCrumblePositions); i++) { spriteId = CreateSprite(&sSpriteTemplate_CeilingCrumbleLarge, sCeilingCrumblePositions[i][0] + 120, sCeilingCrumblePositions[i][1], 8); gSprites[spriteId].oam.priority = 0; - gSprites[spriteId].oam.paletteNum = 0; - gSprites[spriteId].data[0] = i; + // These sprites use color index 11 from the player's sprite palette. This probably wasn't intentional. + // The palettes for Brendan and May have different shades of green at this index, so the color of these sprites changes + // depending on the player's gender (and neither shade of green particularly fits a crumbling yellow/brown ceiling). + gSprites[spriteId].oam.paletteNum = PALSLOT_PLAYER; + gSprites[spriteId].sIndex = i; } - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(sCeilingCrumblePositions); i++) { spriteId = CreateSprite(&sSpriteTemplate_CeilingCrumbleSmall, sCeilingCrumblePositions[i][0] + 115, sCeilingCrumblePositions[i][1] - 3, 8); gSprites[spriteId].oam.priority = 0; - gSprites[spriteId].oam.paletteNum = 0; - gSprites[spriteId].data[0] = i; + gSprites[spriteId].oam.paletteNum = PALSLOT_PLAYER; + gSprites[spriteId].sIndex = i; } } static void SpriteCB_CeilingCrumble(struct Sprite *sprite) { - sprite->data[1] += 2; - sprite->y2 = sprite->data[1] / 2; - if(((sprite->y) + (sprite->y2)) > sCeilingCrumblePositions[sprite->data[0]][2]) + sprite->sYOffset += 2; + sprite->y2 = sprite->sYOffset / 2; + if ((sprite->y + sprite->y2) > sCeilingCrumblePositions[sprite->sIndex][2]) { DestroySprite(sprite); IncrementCeilingCrumbleFinishedCount(); } } +#undef sIndex +#undef sYOffset + static void SetInvisibleMirageTowerMetatiles(void) { u8 i; @@ -543,7 +548,7 @@ static void InitMirageTowerShake(u8 taskId) gTasks[taskId].tState++; break; case 2: - CpuSet(sBlankTile_Gfx, sMirageTowerGfxBuffer, MIRAGE_TOWER_GFX_LENGTH / 2); + CpuSet(sMirageTower_Gfx, sMirageTowerGfxBuffer, MIRAGE_TOWER_GFX_LENGTH / 2); LoadBgTiles(0, sMirageTowerGfxBuffer, MIRAGE_TOWER_GFX_LENGTH, 0); gTasks[taskId].tState++; break; diff --git a/src/mon_markings.c b/src/mon_markings.c index d7a61c27e7..1de8e413fd 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -23,7 +23,7 @@ static void SpriteCB_Cursor(struct Sprite *); static struct Sprite *CreateMarkingComboSprite(u16, u16, const u16 *, u16); static const u16 sMonMarkings_Pal[] = INCBIN_U16("graphics/interface/mon_markings.gbapal"); -static const u8 sMonMarkings_Gfx[] = INCBIN_U8("graphics/interface/mon_markings.4bpp"); +static const ALIGNED(4) u8 sMonMarkings_Gfx[] = INCBIN_U8("graphics/interface/mon_markings.4bpp"); // Alignment needed for dma copy static const struct OamData sOamData_MenuWindow = { diff --git a/src/move_relearner.c b/src/move_relearner.c index af4593e533..31ed7a5d4a 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -179,7 +179,7 @@ static EWRAM_DATA struct { u16 listOffset; u16 listRow; bool8 showContestInfo; -} sMoveRelearnerMenuSate = {0}; +} sMoveRelearnerMenuState = {0}; static const u16 sUI_Pal[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal"); @@ -369,7 +369,7 @@ static void VBlankCB_MoveRelearner(void) TransferPlttBuffer(); } -// Script arguments: The pokemon to teach is in VAR_0x8004 +// Script arguments: The Pokémon to teach is in VAR_0x8004 void TeachMoveRelearnerMove(void) { LockPlayerFieldControls(); @@ -401,9 +401,9 @@ static void CB2_InitLearnMove(void) InitMoveRelearnerBackgroundLayers(); InitMoveRelearnerWindows(FALSE); - sMoveRelearnerMenuSate.listOffset = 0; - sMoveRelearnerMenuSate.listRow = 0; - sMoveRelearnerMenuSate.showContestInfo = FALSE; + sMoveRelearnerMenuState.listOffset = 0; + sMoveRelearnerMenuState.listRow = 0; + sMoveRelearnerMenuState.showContestInfo = FALSE; CreateLearnableMovesList(); @@ -411,7 +411,7 @@ static void CB2_InitLearnMove(void) LoadSpritePalette(&sMoveRelearnerPalette); CreateUISprites(); - sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow); + sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuState.listOffset, sMoveRelearnerMenuState.listRow); SetBackdropFromColor(RGB_BLACK); SetMainCallback2(CB2_MoveRelearnerMain); } @@ -429,14 +429,14 @@ static void CB2_InitLearnMoveReturnFromSelectMove(void) SetVBlankCallback(VBlankCB_MoveRelearner); InitMoveRelearnerBackgroundLayers(); - InitMoveRelearnerWindows(sMoveRelearnerMenuSate.showContestInfo); + InitMoveRelearnerWindows(sMoveRelearnerMenuState.showContestInfo); CreateLearnableMovesList(); LoadSpriteSheet(&sMoveRelearnerSpriteSheet); LoadSpritePalette(&sMoveRelearnerPalette); CreateUISprites(); - sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuSate.listOffset, sMoveRelearnerMenuSate.listRow); + sMoveRelearnerStruct->moveListMenuTask = ListMenuInit(&gMultiuseListMenuTemplate, sMoveRelearnerMenuState.listOffset, sMoveRelearnerMenuState.listRow); SetBackdropFromColor(RGB_BLACK); SetMainCallback2(CB2_MoveRelearnerMain); } @@ -533,11 +533,11 @@ static void DoMoveRelearnerMain(void) } else if (selection == MENU_B_PRESSED || selection == 1) { - if (sMoveRelearnerMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuState.showContestInfo == FALSE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuState.showContestInfo == TRUE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } @@ -562,11 +562,11 @@ static void DoMoveRelearnerMain(void) } else if (selection == MENU_B_PRESSED || selection == 1) { - if (sMoveRelearnerMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuState.showContestInfo == FALSE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuState.showContestInfo == TRUE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } @@ -622,11 +622,11 @@ static void DoMoveRelearnerMain(void) else if (selection == MENU_B_PRESSED || selection == 1) { // What's the point? It gets set to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT, anyway. - if (sMoveRelearnerMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuState.showContestInfo == FALSE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuState.showContestInfo == TRUE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } @@ -638,11 +638,11 @@ static void DoMoveRelearnerMain(void) if (!MoveRelearnerRunTextPrinters()) { FillWindowPixelBuffer(RELEARNERWIN_MSG, 0x11); - if (sMoveRelearnerMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuState.showContestInfo == FALSE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; } - else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuState.showContestInfo == TRUE) { sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; } @@ -685,11 +685,11 @@ static void DoMoveRelearnerMain(void) case MENU_STATE_FADE_FROM_SUMMARY_SCREEN: BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); sMoveRelearnerStruct->state++; - if (sMoveRelearnerMenuSate.showContestInfo == FALSE) + if (sMoveRelearnerMenuState.showContestInfo == FALSE) { HideHeartSpritesAndShowTeachMoveText(TRUE); } - else if (sMoveRelearnerMenuSate.showContestInfo == TRUE) + else if (sMoveRelearnerMenuState.showContestInfo == TRUE) { ShowTeachMoveText(TRUE); } @@ -705,9 +705,9 @@ static void DoMoveRelearnerMain(void) } else { - u16 moveId = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); + u16 move = GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_MOVE1 + sMoveRelearnerStruct->moveSlot); - StringCopy(gStringVar3, gMoveNames[moveId]); + StringCopy(gStringVar3, gMoveNames[move]); RemoveMonPPBonus(&gPlayerParty[sMoveRelearnerStruct->partyMon], sMoveRelearnerStruct->moveSlot); SetMonMoveSlot(&gPlayerParty[sMoveRelearnerStruct->partyMon], GetCurrentSelectedMove(), sMoveRelearnerStruct->moveSlot); StringCopy(gStringVar2, gMoveNames[GetCurrentSelectedMove()]); @@ -751,7 +751,7 @@ static void DoMoveRelearnerMain(void) static void FreeMoveRelearnerResources(void) { RemoveScrollArrows(); - DestroyListMenuTask(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuSate.listOffset, &sMoveRelearnerMenuSate.listRow); + DestroyListMenuTask(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuState.listOffset, &sMoveRelearnerMenuState.listRow); FreeAllWindowBuffers(); FREE_AND_SET_NULL(sMoveRelearnerStruct); ResetSpriteData(); @@ -778,7 +778,7 @@ static void HideHeartSpritesAndShowTeachMoveText(bool8 onlyHideSprites) static void HandleInput(bool8 showContest) { s32 itemId = ListMenu_ProcessInput(sMoveRelearnerStruct->moveListMenuTask); - ListMenuGetScrollAndRow(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuSate.listOffset, &sMoveRelearnerMenuSate.listRow); + ListMenuGetScrollAndRow(sMoveRelearnerStruct->moveListMenuTask, &sMoveRelearnerMenuState.listOffset, &sMoveRelearnerMenuState.listRow); switch (itemId) { @@ -792,13 +792,13 @@ static void HandleInput(bool8 showContest) { PutWindowTilemap(RELEARNERWIN_DESC_CONTEST); sMoveRelearnerStruct->state = MENU_STATE_SETUP_CONTEST_MODE; - sMoveRelearnerMenuSate.showContestInfo = TRUE; + sMoveRelearnerMenuState.showContestInfo = TRUE; } else { PutWindowTilemap(RELEARNERWIN_DESC_BATTLE); sMoveRelearnerStruct->state = MENU_STATE_SETUP_BATTLE_MODE; - sMoveRelearnerMenuSate.showContestInfo = FALSE; + sMoveRelearnerMenuState.showContestInfo = FALSE; } ScheduleBgCopyTilemapToVram(1); @@ -824,7 +824,7 @@ static void HandleInput(bool8 showContest) static s32 GetCurrentSelectedMove(void) { - return sMoveRelearnerStruct->menuItems[sMoveRelearnerMenuSate.listRow + sMoveRelearnerMenuSate.listOffset].id; + return sMoveRelearnerStruct->menuItems[sMoveRelearnerMenuState.listRow + sMoveRelearnerMenuState.listOffset].id; } // Theory: This used to make the heart sprites visible again (i.e. @@ -876,7 +876,7 @@ static void AddScrollArrows(void) { gTempScrollArrowTemplate = sMoveListScrollArrowsTemplate; gTempScrollArrowTemplate.fullyDownThreshold = sMoveRelearnerStruct->numMenuChoices - sMoveRelearnerStruct->numToShowAtOnce; - sMoveRelearnerStruct->moveListScrollArrowTask = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sMoveRelearnerMenuSate.listOffset); + sMoveRelearnerStruct->moveListScrollArrowTask = AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, &sMoveRelearnerMenuState.listOffset); } } @@ -916,19 +916,19 @@ static void CreateLearnableMovesList(void) sMoveRelearnerStruct->numToShowAtOnce = LoadMoveRelearnerMovesList(sMoveRelearnerStruct->menuItems, sMoveRelearnerStruct->numMenuChoices); } -void MoveRelearnerShowHideHearts(s32 moveId) +void MoveRelearnerShowHideHearts(s32 move) { u16 numHearts; u16 i; - if (!sMoveRelearnerMenuSate.showContestInfo || moveId == LIST_CANCEL) + if (!sMoveRelearnerMenuState.showContestInfo || move == LIST_CANCEL) { for (i = 0; i < 16; i++) gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = TRUE; } else { - numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].appeal / 10); + numHearts = (u8)(gContestEffects[gContestMoves[move].effect].appeal / 10); if (numHearts == 0xFF) numHearts = 0; @@ -942,7 +942,7 @@ void MoveRelearnerShowHideHearts(s32 moveId) gSprites[sMoveRelearnerStruct->heartSpriteIds[i]].invisible = FALSE; } - numHearts = (u8)(gContestEffects[gContestMoves[moveId].effect].jam / 10); + numHearts = (u8)(gContestEffects[gContestMoves[move].effect].jam / 10); if (numHearts == 0xFF) numHearts = 0; diff --git a/src/mystery_gift_client.c b/src/mystery_gift_client.c index 567751bad3..78937d6c9b 100644 --- a/src/mystery_gift_client.c +++ b/src/mystery_gift_client.c @@ -19,7 +19,7 @@ enum { FUNC_RUN_BUFFER, }; -EWRAM_DATA static struct MysteryGiftClient * sClient = NULL; +EWRAM_DATA static struct MysteryGiftClient *sClient = NULL; static void MysteryGiftClient_Init(struct MysteryGiftClient *, u32, u32); static u32 MysteryGiftClient_CallFunc(struct MysteryGiftClient *); @@ -34,7 +34,7 @@ void MysteryGiftClient_Create(bool32 isWonderNews) sClient->isWonderNews = isWonderNews; } -u32 MysteryGiftClient_Run(u16 * endVal) +u32 MysteryGiftClient_Run(u16 *endVal) { u32 result; if (sClient == NULL) @@ -64,7 +64,7 @@ void MysteryGiftClient_SetParam(u32 val) sClient->param = val; } -static void MysteryGiftClient_Init(struct MysteryGiftClient * client, u32 sendPlayerId, u32 recvPlayerId) +static void MysteryGiftClient_Init(struct MysteryGiftClient *client, u32 sendPlayerId, u32 recvPlayerId) { client->unused = 0; client->funcId = FUNC_INIT; @@ -76,7 +76,7 @@ static void MysteryGiftClient_Init(struct MysteryGiftClient * client, u32 sendPl MysteryGiftLink_Init(&client->link, sendPlayerId, recvPlayerId); } -static void MysteryGiftClient_Free(struct MysteryGiftClient * client) +static void MysteryGiftClient_Free(struct MysteryGiftClient *client) { Free(client->sendBuffer); Free(client->recvBuffer); @@ -84,20 +84,20 @@ static void MysteryGiftClient_Free(struct MysteryGiftClient * client) Free(client->msg); } -static void MysteryGiftClient_CopyRecvScript(struct MysteryGiftClient * client) +static void MysteryGiftClient_CopyRecvScript(struct MysteryGiftClient *client) { memcpy(client->script, client->recvBuffer, MG_LINK_BUFFER_SIZE); client->cmdidx = 0; } -static void MysteryGiftClient_InitSendWord(struct MysteryGiftClient * client, u32 ident, u32 word) +static void MysteryGiftClient_InitSendWord(struct MysteryGiftClient *client, u32 ident, u32 word) { CpuFill32(0, client->sendBuffer, MG_LINK_BUFFER_SIZE); *(u32 *)client->sendBuffer = word; MysteryGiftLink_InitSend(&client->link, ident, client->sendBuffer, sizeof(word)); } -static u32 Client_Init(struct MysteryGiftClient * client) +static u32 Client_Init(struct MysteryGiftClient *client) { memcpy(client->script, gMysteryGiftClientScript_Init, MG_LINK_BUFFER_SIZE); client->cmdidx = 0; @@ -106,13 +106,13 @@ static u32 Client_Init(struct MysteryGiftClient * client) return CLI_RET_INIT; } -static u32 Client_Done(struct MysteryGiftClient * client) +static u32 Client_Done(struct MysteryGiftClient *client) { return CLI_RET_END; } -static u32 Client_Recv(struct MysteryGiftClient * client) +static u32 Client_Recv(struct MysteryGiftClient *client) { if (MysteryGiftLink_Recv(&client->link)) { @@ -122,7 +122,7 @@ static u32 Client_Recv(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_Send(struct MysteryGiftClient * client) +static u32 Client_Send(struct MysteryGiftClient *client) { if (MysteryGiftLink_Send(&client->link)) { @@ -132,10 +132,10 @@ static u32 Client_Send(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_Run(struct MysteryGiftClient * client) +static u32 Client_Run(struct MysteryGiftClient *client) { // process command - struct MysteryGiftClientCmd * cmd = &client->script[client->cmdidx]; + struct MysteryGiftClientCmd *cmd = &client->script[client->cmdidx]; client->cmdidx++; switch (cmd->instr) { @@ -245,7 +245,7 @@ static u32 Client_Run(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_Wait(struct MysteryGiftClient * client) +static u32 Client_Wait(struct MysteryGiftClient *client) { if (client->funcState) { @@ -255,7 +255,7 @@ static u32 Client_Wait(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_RunMysteryEventScript(struct MysteryGiftClient * client) +static u32 Client_RunMysteryEventScript(struct MysteryGiftClient *client) { switch (client->funcState) { @@ -274,7 +274,7 @@ static u32 Client_RunMysteryEventScript(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 Client_RunBufferScript(struct MysteryGiftClient * client) +static u32 Client_RunBufferScript(struct MysteryGiftClient *client) { // exec arbitrary code u32 (*func)(u32 *, struct SaveBlock2 *, struct SaveBlock1 *) = (void *)gDecompressionBuffer; @@ -286,7 +286,7 @@ static u32 Client_RunBufferScript(struct MysteryGiftClient * client) return CLI_RET_ACTIVE; } -static u32 MysteryGiftClient_CallFunc(struct MysteryGiftClient * client) +static u32 MysteryGiftClient_CallFunc(struct MysteryGiftClient *client) { u32 (*funcs[])(struct MysteryGiftClient *) = { [FUNC_INIT] = Client_Init, diff --git a/src/mystery_gift_link.c b/src/mystery_gift_link.c index 55f4b78527..2e0031722d 100644 --- a/src/mystery_gift_link.c +++ b/src/mystery_gift_link.c @@ -26,17 +26,17 @@ struct SendRecvHeader static u32 MGL_Receive(struct MysteryGiftLink *); static u32 MGL_Send(struct MysteryGiftLink *); -u32 MysteryGiftLink_Recv(struct MysteryGiftLink * link) +u32 MysteryGiftLink_Recv(struct MysteryGiftLink *link) { return link->recvFunc(link); } -u32 MysteryGiftLink_Send(struct MysteryGiftLink * link) +u32 MysteryGiftLink_Send(struct MysteryGiftLink *link) { return link->sendFunc(link); } -void MysteryGiftLink_Init(struct MysteryGiftLink * link, u32 sendPlayerId, u32 recvPlayerId) +void MysteryGiftLink_Init(struct MysteryGiftLink *link, u32 sendPlayerId, u32 recvPlayerId) { link->sendPlayerId = sendPlayerId; link->recvPlayerId = recvPlayerId; @@ -53,7 +53,7 @@ void MysteryGiftLink_Init(struct MysteryGiftLink * link, u32 sendPlayerId, u32 r link->recvFunc = MGL_Receive; } -void MysteryGiftLink_InitSend(struct MysteryGiftLink * link, u32 ident, const void * src, u32 size) +void MysteryGiftLink_InitSend(struct MysteryGiftLink *link, u32 ident, const void *src, u32 size) { link->state = 0; link->sendIdent = ident; @@ -66,7 +66,7 @@ void MysteryGiftLink_InitSend(struct MysteryGiftLink * link, u32 ident, const vo link->sendBuffer = src; } -void MysteryGiftLink_InitRecv(struct MysteryGiftLink * link, u32 ident, void * dest) +void MysteryGiftLink_InitRecv(struct MysteryGiftLink *link, u32 ident, void *dest) { link->state = 0; link->recvIdent = ident; @@ -76,7 +76,7 @@ void MysteryGiftLink_InitRecv(struct MysteryGiftLink * link, u32 ident, void * d link->recvBuffer = dest; } -static void MGL_ReceiveBlock(u32 playerId, void * dest, size_t size) +static void MGL_ReceiveBlock(u32 playerId, void *dest, size_t size) { memcpy(dest, gBlockRecvBuffer[playerId], size); } @@ -94,7 +94,7 @@ static void MGL_ResetReceived(u32 playerId) ResetBlockReceivedFlag(playerId); } -static bool32 MGL_Receive(struct MysteryGiftLink * link) +static bool32 MGL_Receive(struct MysteryGiftLink *link) { struct SendRecvHeader header; @@ -159,7 +159,7 @@ static bool32 MGL_Receive(struct MysteryGiftLink * link) return FALSE; } -static bool32 MGL_Send(struct MysteryGiftLink * link) +static bool32 MGL_Send(struct MysteryGiftLink *link) { struct SendRecvHeader header; diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 78e4a45715..7bf6152c61 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -64,7 +64,7 @@ struct MysteryGiftTaskData bool8 isWonderNews; bool8 sourceIsFriend; u8 msgId; - u8 * clientMsg; + u8 *clientMsg; }; static const struct BgTemplate sBGTemplates[] = { @@ -485,8 +485,8 @@ void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void) // Print the text window at the top of the screen with the title and control instructions void PrintMysteryGiftOrEReaderHeader(bool8 isEReader, bool32 useCancel) { - const u8 * title; - const u8 * options; + const u8 *title; + const u8 *options; FillWindowPixelBuffer(WIN_HEADER, 0); if (!isEReader) { @@ -597,7 +597,7 @@ static void ShowDownArrow(void) DrawDownArrow(WIN_MSG, DOWN_ARROW_X, DOWN_ARROW_Y, 1, TRUE, &sDownArrowCounterAndYCoordIdx[0], &sDownArrowCounterAndYCoordIdx[1]); } -static bool32 UNUSED HideDownArrowAndWaitButton(u8 * textState) +static bool32 UNUSED HideDownArrowAndWaitButton(u8 *textState) { switch (*textState) { @@ -614,7 +614,7 @@ static bool32 UNUSED HideDownArrowAndWaitButton(u8 * textState) return FALSE; } -static bool32 PrintStringAndWait2Seconds(u8 * counter, const u8 * str) +static bool32 PrintStringAndWait2Seconds(u8 *counter, const u8 *str) { if (*counter == 0) MG_AddMessageTextPrinter(str); @@ -631,7 +631,7 @@ static bool32 PrintStringAndWait2Seconds(u8 * counter, const u8 * str) } } -static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whichMenu) +static u32 MysteryGift_HandleThreeOptionMenu(u8 *unused0, u16 *unused1, u8 whichMenu) { struct ListMenuTemplate listMenuTemplate = sListMenuTemplate_ThreeOptions; struct WindowTemplate windowTemplate = sWindowTemplate_ThreeOptions; @@ -662,7 +662,7 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 * unused0, u16 * unused1, u8 whi return response; } -s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str) +s8 DoMysteryGiftYesNo(u8 *textState, u16 *windowId, bool8 yesNoBoxPlacement, const u8 *str) { struct WindowTemplate windowTemplate; s8 input; @@ -719,7 +719,7 @@ s8 DoMysteryGiftYesNo(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, c } // Handle the "Receive/Send/Toss" menu that appears when selecting Wonder Card/News -static s32 HandleGiftSelectMenu(u8 * textState, u16 * windowId, bool32 cannotToss, bool32 cannotSend) +static s32 HandleGiftSelectMenu(u8 *textState, u16 *windowId, bool32 cannotToss, bool32 cannotSend) { struct WindowTemplate UNUSED windowTemplate; s32 input; @@ -786,7 +786,7 @@ static bool32 ValidateCardOrNews(bool32 isWonderNews) return ValidateSavedWonderNews(); } -static bool32 HandleLoadWonderCardOrNews(u8 * state, bool32 isWonderNews) +static bool32 HandleLoadWonderCardOrNews(u8 *state, bool32 isWonderNews) { switch (*state) { @@ -852,7 +852,7 @@ static bool32 ExitWonderCardOrNews(bool32 isWonderNews, bool32 useCancel) } } -static s32 AskDiscardGift(u8 * textState, u16 * windowId, bool32 isWonderNews) +static s32 AskDiscardGift(u8 *textState, u16 *windowId, bool32 isWonderNews) { if (!isWonderNews) return DoMysteryGiftYesNo(textState, windowId, TRUE, gText_IfThrowAwayCardEventWontHappen); @@ -860,7 +860,7 @@ static s32 AskDiscardGift(u8 * textState, u16 * windowId, bool32 isWonderNews) return DoMysteryGiftYesNo(textState, windowId, TRUE, gText_OkayToDiscardNews); } -static bool32 PrintThrownAway(u8 * textState, bool32 isWonderNews) +static bool32 PrintThrownAway(u8 *textState, bool32 isWonderNews) { if (!isWonderNews) return PrintMysteryGiftMenuMessage(textState, gText_WonderCardThrownAway); @@ -868,7 +868,7 @@ static bool32 PrintThrownAway(u8 * textState, bool32 isWonderNews) return PrintMysteryGiftMenuMessage(textState, gText_WonderNewsThrownAway); } -static bool32 SaveOnMysteryGiftMenu(u8 * state) +static bool32 SaveOnMysteryGiftMenu(u8 *state) { switch (*state) { @@ -897,9 +897,9 @@ static bool32 SaveOnMysteryGiftMenu(u8 * state) return FALSE; } -static const u8 * GetClientResultMessage(bool32 * successMsg, bool8 isWonderNews, bool8 sourceIsFriend, u32 msgId) +static const u8 * GetClientResultMessage(bool32 *successMsg, bool8 isWonderNews, bool8 sourceIsFriend, u32 msgId) { - const u8 * msg = NULL; + const u8 *msg = NULL; *successMsg = FALSE; switch (msgId) @@ -969,7 +969,7 @@ static const u8 * GetClientResultMessage(bool32 * successMsg, bool8 isWonderNews return msg; } -static bool32 PrintSuccessMessage(u8 * state, const u8 * msg, u16 * timer) +static bool32 PrintSuccessMessage(u8 *state, const u8 *msg, u16 *timer) { switch (*state) { @@ -996,9 +996,9 @@ static bool32 PrintSuccessMessage(u8 * state, const u8 * msg, u16 * timer) return FALSE; } -static const u8 * GetServerResultMessage(bool32 * wonderSuccess, bool8 sourceIsFriend, u32 msgId) +static const u8 * GetServerResultMessage(bool32 *wonderSuccess, bool8 sourceIsFriend, u32 msgId) { - const u8 * result = gText_CommunicationError; + const u8 *result = gText_CommunicationError; *wonderSuccess = FALSE; switch (msgId) { @@ -1053,10 +1053,10 @@ static const u8 * GetServerResultMessage(bool32 * wonderSuccess, bool8 sourceIsF return result; } -static bool32 PrintServerResultMessage(u8 * state, u16 * timer, bool8 sourceIsFriend, u32 msgId) +static bool32 PrintServerResultMessage(u8 *state, u16 *timer, bool8 sourceIsFriend, u32 msgId) { bool32 wonderSuccess; - const u8 * str = GetServerResultMessage(&wonderSuccess, sourceIsFriend, msgId); + const u8 *str = GetServerResultMessage(&wonderSuccess, sourceIsFriend, msgId); if (wonderSuccess) return PrintSuccessMessage(state, str, timer); else @@ -1111,7 +1111,7 @@ enum { static void CreateMysteryGiftTask(void) { u8 taskId = CreateTask(Task_MysteryGift, 0); - struct MysteryGiftTaskData * data = (void *)gTasks[taskId].data; + struct MysteryGiftTaskData *data = (void *)gTasks[taskId].data; data->state = MG_STATE_TO_MAIN_MENU; data->textState = 0; data->unused4 = 0; diff --git a/src/mystery_gift_server.c b/src/mystery_gift_server.c index 891870659d..c90e43dee0 100644 --- a/src/mystery_gift_server.c +++ b/src/mystery_gift_server.c @@ -13,7 +13,7 @@ enum { FUNC_RUN, }; -EWRAM_DATA static struct MysteryGiftServer * sServer = NULL; +EWRAM_DATA static struct MysteryGiftServer *sServer = NULL; static void MysteryGiftServer_Init(struct MysteryGiftServer *, const void *, u32, u32); static void MysteryGiftServer_Free(struct MysteryGiftServer *); @@ -34,7 +34,7 @@ void MysterGiftServer_CreateForCard(void) MysteryGiftServer_Init(sServer, gMysteryGiftServerScript_SendWonderCard, 0, 1); } -u32 MysterGiftServer_Run(u16 * endVal) +u32 MysterGiftServer_Run(u16 *endVal) { u32 result; if (sServer == NULL) @@ -49,7 +49,7 @@ u32 MysterGiftServer_Run(u16 * endVal) return result; } -static void MysteryGiftServer_Init(struct MysteryGiftServer * svr, const void * script, u32 sendPlayerId, u32 recvPlayerId) +static void MysteryGiftServer_Init(struct MysteryGiftServer *svr, const void *script, u32 sendPlayerId, u32 recvPlayerId) { svr->unused = 0; svr->funcId = FUNC_INIT; @@ -62,7 +62,7 @@ static void MysteryGiftServer_Init(struct MysteryGiftServer * svr, const void * MysteryGiftLink_Init(&svr->link, sendPlayerId, recvPlayerId); } -static void MysteryGiftServer_Free(struct MysteryGiftServer * svr) +static void MysteryGiftServer_Free(struct MysteryGiftServer *svr) { Free(svr->card); Free(svr->news); @@ -70,7 +70,7 @@ static void MysteryGiftServer_Free(struct MysteryGiftServer * svr) Free(svr->linkGameData); } -static void MysteryGiftServer_InitSend(struct MysteryGiftServer * svr, u32 ident, const void * src, u32 size) +static void MysteryGiftServer_InitSend(struct MysteryGiftServer *svr, u32 ident, const void *src, u32 size) { AGB_ASSERT(size <= MG_LINK_BUFFER_SIZE); MysteryGiftLink_InitSend(&svr->link, ident, src, size); @@ -78,7 +78,7 @@ static void MysteryGiftServer_InitSend(struct MysteryGiftServer * svr, u32 ident // Given the command pointer parameter and the 'default' normal data. // If the command's pointer is not empty use that as the send data, otherwise use the default. -static const void * MysteryGiftServer_GetSendData(const void * dynamicData, const void * defaultData) +static const void * MysteryGiftServer_GetSendData(const void *dynamicData, const void *defaultData) { if (dynamicData != NULL) return dynamicData; @@ -86,7 +86,7 @@ static const void * MysteryGiftServer_GetSendData(const void * dynamicData, cons return defaultData; } -static u32 MysteryGiftServer_Compare(const void * a, const void * b) +static u32 MysteryGiftServer_Compare(const void *a, const void *b) { if (b < a) return 0; @@ -96,36 +96,36 @@ static u32 MysteryGiftServer_Compare(const void * a, const void * b) return 2; } -static u32 Server_Init(struct MysteryGiftServer * svr) +static u32 Server_Init(struct MysteryGiftServer *svr) { svr->funcId = FUNC_RUN; return SVR_RET_INIT; } -static u32 Server_Done(struct MysteryGiftServer * svr) +static u32 Server_Done(struct MysteryGiftServer *svr) { return SVR_RET_END; } -static u32 Server_Recv(struct MysteryGiftServer * svr) +static u32 Server_Recv(struct MysteryGiftServer *svr) { if (MysteryGiftLink_Recv(&svr->link)) svr->funcId = FUNC_RUN; return SVR_RET_ACTIVE; } -static u32 Server_Send(struct MysteryGiftServer * svr) +static u32 Server_Send(struct MysteryGiftServer *svr) { if (MysteryGiftLink_Send(&svr->link)) svr->funcId = FUNC_RUN; return SVR_RET_ACTIVE; } -static u32 Server_Run(struct MysteryGiftServer * svr) +static u32 Server_Run(struct MysteryGiftServer *svr) { // process command - const struct MysteryGiftServerCmd * cmd = &svr->script[svr->cmdidx]; - const void * ptr; + const struct MysteryGiftServerCmd *cmd = &svr->script[svr->cmdidx]; + const void *ptr; svr->cmdidx++; switch (cmd->instr) @@ -280,7 +280,7 @@ static u32 (*const sFuncTable[])(struct MysteryGiftServer *) = { [FUNC_RUN] = Server_Run }; -static u32 MysteryGiftServer_CallFunc(struct MysteryGiftServer * svr) +static u32 MysteryGiftServer_CallFunc(struct MysteryGiftServer *svr) { u32 response; AGB_ASSERT(svr->funcId < ARRAY_COUNT(sFuncTable)); diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index ac62c80bfa..357d0ae13e 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -23,9 +23,9 @@ struct WonderGraphics u8 bodyTextPal:4; u8 footerTextPal:4; // Card only u8 stampShadowPal:4; // Card only - const u32 * tiles; - const u32 * map; - const u16 * pal; + const u32 *tiles; + const u32 *map; + const u16 *pal; }; //====================== @@ -52,7 +52,7 @@ struct WonderCardData { /*0000*/ struct WonderCard card; /*014c*/ struct WonderCardMetadata cardMetadata; - /*0170*/ const struct WonderGraphics * gfx; + /*0170*/ const struct WonderGraphics *gfx; /*0174*/ u8 enterExitState; /*0175*/ u8 statFooterWidth; /*0176*/ u16 windowIds[CARD_WIN_COUNT]; @@ -68,7 +68,7 @@ struct WonderCardData /*045C*/ u8 bgTilemapBuffer[0x1000]; }; -EWRAM_DATA static struct WonderCardData * sWonderCardData = NULL; +EWRAM_DATA static struct WonderCardData *sWonderCardData = NULL; static void BufferCardText(void); static void DrawCardWindow(u8 whichWindow); @@ -184,7 +184,7 @@ static const struct WonderGraphics sCardGraphics[NUM_WONDER_BGS] = { {.titleTextPal = 1, .bodyTextPal = 0, .footerTextPal = 0, .stampShadowPal = 7, .tiles = sWonderCardBgGfx8, .map = sWonderCardBgTilemap8, .pal = sWonderCardBgPal8} }; -bool32 WonderCard_Init(struct WonderCard * card, struct WonderCardMetadata * metadata) +bool32 WonderCard_Init(struct WonderCard *card, struct WonderCardMetadata *metadata) { if (card == NULL || metadata == NULL) return FALSE; @@ -551,7 +551,7 @@ enum { struct WonderNewsData { /*0000*/ struct WonderNews news; - /*01bc*/ const struct WonderGraphics * gfx; + /*01bc*/ const struct WonderGraphics *gfx; /*01c0*/ u8 arrowsRemoved:1; u8 enterExitState:7; /*01c1*/ u8 arrowTaskId; @@ -569,7 +569,7 @@ struct WonderNewsData /*03a4*/ u8 bgTilemapBuffer[0x1000]; }; -EWRAM_DATA static struct WonderNewsData * sWonderNewsData = NULL; +EWRAM_DATA static struct WonderNewsData *sWonderNewsData = NULL; static void BufferNewsText(void); static void DrawNewsWindows(void); @@ -640,7 +640,7 @@ static const struct WonderGraphics sNewsGraphics[NUM_WONDER_BGS] = { {.titleTextPal = 1, .bodyTextPal = 0, .tiles = sWonderNewsGfx8, .map = sWonderNewsTilemap8, .pal = sWonderNewsPal8} }; -bool32 WonderNews_Init(const struct WonderNews * news) +bool32 WonderNews_Init(const struct WonderNews *news) { if (news == NULL) return FALSE; diff --git a/src/naming_screen.c b/src/naming_screen.c index d8ae7ccd4d..f7f599f5b9 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1959,7 +1959,7 @@ static void PrintKeyboardKeys(u8 window, u8 page) PutWindowTilemap(window); } -static const u8 *const sNextKeyboardPageTilemaps[] = +static const u32 *const sNextKeyboardPageTilemaps[] = { [KBPAGE_SYMBOLS] = gNamingScreenKeyboardUpper_Tilemap, [KBPAGE_LETTERS_UPPER] = gNamingScreenKeyboardLower_Tilemap, // lower diff --git a/src/new_game.c b/src/new_game.c index ac3842e0ac..80746561b0 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -126,7 +126,7 @@ static void ClearFrontierRecord(void) static void WarpToTruck(void) { - SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), WARP_ID_NONE, -1, -1); + SetWarpDestination(MAP_GROUP(MAP_INSIDE_OF_TRUCK), MAP_NUM(MAP_INSIDE_OF_TRUCK), WARP_ID_NONE, -1, -1); WarpIntoMap(); } diff --git a/src/overworld.c b/src/overworld.c index e9245ce0a0..32c5eb0678 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -180,14 +180,14 @@ static u16 (*sPlayerKeyInterceptCallback)(u32); static bool8 sReceivingFromLink; static u8 sRfuKeepAliveTimer; -u16 *gOverworldTilemapBuffer_Bg2; -u16 *gOverworldTilemapBuffer_Bg1; -u16 *gOverworldTilemapBuffer_Bg3; -u16 gHeldKeyCodeToSend; -void (*gFieldCallback)(void); -bool8 (*gFieldCallback2)(void); -u8 gLocalLinkPlayerId; // This is our player id in a multiplayer mode. -u8 gFieldLinkPlayerCount; +COMMON_DATA u16 *gOverworldTilemapBuffer_Bg2 = NULL; +COMMON_DATA u16 *gOverworldTilemapBuffer_Bg1 = NULL; +COMMON_DATA u16 *gOverworldTilemapBuffer_Bg3 = NULL; +COMMON_DATA u16 gHeldKeyCodeToSend = 0; +COMMON_DATA void (*gFieldCallback)(void) = NULL; +COMMON_DATA bool8 (*gFieldCallback2)(void) = NULL; +COMMON_DATA u8 gLocalLinkPlayerId = 0; // This is our player id in a multiplayer mode. +COMMON_DATA u8 gFieldLinkPlayerCount = 0; EWRAM_DATA static u8 sObjectEventLoadFlag = 0; EWRAM_DATA struct WarpData gLastUsedWarp = {0}; @@ -202,8 +202,8 @@ EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {0}; static const struct WarpData sDummyWarpData = { - .mapGroup = MAP_GROUP(UNDEFINED), - .mapNum = MAP_NUM(UNDEFINED), + .mapGroup = MAP_GROUP(MAP_UNDEFINED), + .mapNum = MAP_NUM(MAP_UNDEFINED), .warpId = WARP_ID_NONE, .x = -1, .y = -1, @@ -562,9 +562,9 @@ static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId static bool32 IsDummyWarp(struct WarpData *warp) { - if (warp->mapGroup != (s8)MAP_GROUP(UNDEFINED)) + if (warp->mapGroup != (s8)MAP_GROUP(MAP_UNDEFINED)) return FALSE; - else if (warp->mapNum != (s8)MAP_NUM(UNDEFINED)) + else if (warp->mapNum != (s8)MAP_NUM(MAP_UNDEFINED)) return FALSE; else if (warp->warpId != WARP_ID_NONE) return FALSE; @@ -659,7 +659,7 @@ void SetWarpDestinationToHealLocation(u8 healLocationId) { const struct HealLocation *healLocation = GetHealLocation(healLocationId); if (healLocation) - SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); + SetWarpDestination(healLocation->mapGroup, healLocation->mapNum, WARP_ID_NONE, healLocation->x, healLocation->y); } void SetWarpDestinationToLastHealLocation(void) @@ -671,7 +671,7 @@ void SetLastHealLocationWarp(u8 healLocationId) { const struct HealLocation *healLocation = GetHealLocation(healLocationId); if (healLocation) - SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); + SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->mapGroup, healLocation->mapNum, WARP_ID_NONE, healLocation->x, healLocation->y); } void UpdateEscapeWarp(s16 x, s16 y) @@ -729,7 +729,7 @@ void SetContinueGameWarpToHealLocation(u8 healLocationId) { const struct HealLocation *healLocation = GetHealLocation(healLocationId); if (healLocation) - SetWarpData(&gSaveBlock1Ptr->continueGameWarp, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); + SetWarpData(&gSaveBlock1Ptr->continueGameWarp, healLocation->mapGroup, healLocation->mapNum, WARP_ID_NONE, healLocation->x, healLocation->y); } void SetContinueGameWarpToDynamicWarp(int unused) @@ -1015,24 +1015,24 @@ static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp) { switch (warp->mapNum) { - case MAP_NUM(LILYCOVE_CITY): - case MAP_NUM(MOSSDEEP_CITY): - case MAP_NUM(SOOTOPOLIS_CITY): - case MAP_NUM(EVER_GRANDE_CITY): - case MAP_NUM(ROUTE124): - case MAP_NUM(ROUTE125): - case MAP_NUM(ROUTE126): - case MAP_NUM(ROUTE127): - case MAP_NUM(ROUTE128): + case MAP_NUM(MAP_LILYCOVE_CITY): + case MAP_NUM(MAP_MOSSDEEP_CITY): + case MAP_NUM(MAP_SOOTOPOLIS_CITY): + case MAP_NUM(MAP_EVER_GRANDE_CITY): + case MAP_NUM(MAP_ROUTE124): + case MAP_NUM(MAP_ROUTE125): + case MAP_NUM(MAP_ROUTE126): + case MAP_NUM(MAP_ROUTE127): + case MAP_NUM(MAP_ROUTE128): return TRUE; default: if (VarGet(VAR_SOOTOPOLIS_CITY_STATE) < 4) return FALSE; switch (warp->mapNum) { - case MAP_NUM(ROUTE129): - case MAP_NUM(ROUTE130): - case MAP_NUM(ROUTE131): + case MAP_NUM(MAP_ROUTE129): + case MAP_NUM(MAP_ROUTE130): + case MAP_NUM(MAP_ROUTE131): return TRUE; } } @@ -1044,9 +1044,9 @@ static bool16 NoMusicInSotopolisWithLegendaries(struct WarpData *warp) { if (VarGet(VAR_SKY_PILLAR_STATE) != 1) return FALSE; - else if (warp->mapGroup != MAP_GROUP(SOOTOPOLIS_CITY)) + else if (warp->mapGroup != MAP_GROUP(MAP_SOOTOPOLIS_CITY)) return FALSE; - else if (warp->mapNum == MAP_NUM(SOOTOPOLIS_CITY)) + else if (warp->mapNum == MAP_NUM(MAP_SOOTOPOLIS_CITY)) return TRUE; else return FALSE; @@ -1056,10 +1056,10 @@ static bool16 IsInfiltratedWeatherInstitute(struct WarpData *warp) { if (VarGet(VAR_WEATHER_INSTITUTE_STATE)) return FALSE; - else if (warp->mapGroup != MAP_GROUP(ROUTE119_WEATHER_INSTITUTE_1F)) + else if (warp->mapGroup != MAP_GROUP(MAP_ROUTE119_WEATHER_INSTITUTE_1F)) return FALSE; - else if (warp->mapNum == MAP_NUM(ROUTE119_WEATHER_INSTITUTE_1F) - || warp->mapNum == MAP_NUM(ROUTE119_WEATHER_INSTITUTE_2F)) + else if (warp->mapNum == MAP_NUM(MAP_ROUTE119_WEATHER_INSTITUTE_1F) + || warp->mapNum == MAP_NUM(MAP_ROUTE119_WEATHER_INSTITUTE_2F)) return TRUE; else return FALSE; @@ -1071,10 +1071,10 @@ static bool16 IsInflitratedSpaceCenter(struct WarpData *warp) return FALSE; else if (VarGet(VAR_MOSSDEEP_CITY_STATE) > 2) return FALSE; - else if (warp->mapGroup != MAP_GROUP(MOSSDEEP_CITY_SPACE_CENTER_1F)) + else if (warp->mapGroup != MAP_GROUP(MAP_MOSSDEEP_CITY_SPACE_CENTER_1F)) return FALSE; - else if (warp->mapNum == MAP_NUM(MOSSDEEP_CITY_SPACE_CENTER_1F) - || warp->mapNum == MAP_NUM(MOSSDEEP_CITY_SPACE_CENTER_2F)) + else if (warp->mapNum == MAP_NUM(MAP_MOSSDEEP_CITY_SPACE_CENTER_1F) + || warp->mapNum == MAP_NUM(MAP_MOSSDEEP_CITY_SPACE_CENTER_2F)) return TRUE; return FALSE; } @@ -1098,8 +1098,8 @@ u16 GetCurrLocationDefaultMusic(void) u16 music; // Play the desert music only when the sandstorm is active on Route 111. - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE111) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE111) && GetSavedWeather() == WEATHER_SANDSTORM) return MUS_DESERT; @@ -1126,8 +1126,8 @@ u16 GetWarpDestinationMusic(void) } else { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAUVILLE_CITY) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAUVILLE_CITY)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_MAUVILLE_CITY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_MAUVILLE_CITY)) return MUS_ROUTE110; else return MUS_ROUTE119; @@ -1221,10 +1221,10 @@ void TryFadeOutOldMapMusic(void) { if (currentMusic == MUS_SURF && VarGet(VAR_SKY_PILLAR_STATE) == 2 - && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SOOTOPOLIS_CITY) - && sWarpDestination.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY) - && sWarpDestination.mapNum == MAP_NUM(SOOTOPOLIS_CITY) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SOOTOPOLIS_CITY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SOOTOPOLIS_CITY) + && sWarpDestination.mapGroup == MAP_GROUP(MAP_SOOTOPOLIS_CITY) + && sWarpDestination.mapNum == MAP_NUM(MAP_SOOTOPOLIS_CITY) && sWarpDestination.x == 29 && sWarpDestination.y == 53) return; @@ -1297,7 +1297,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter) } } // Ambient cries after the first one take between 1200-2399 frames (~20-40 seconds) - // If the player has a pokemon with the ability Swarm in their party, the time is halved to 600-1199 frames (~10-20 seconds) + // If the player has a Pokémon with the ability Swarm in their party, the time is halved to 600-1199 frames (~10-20 seconds) *delayCounter = ((Random() % 1200) + 1200) / divBy; *state = AMB_CRY_WAIT; break; @@ -1309,18 +1309,18 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter) } break; case AMB_CRY_IDLE: - // No land/water pokemon on this map + // No land/water Pokémon on this map break; } } static void ChooseAmbientCrySpecies(void) { - if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE130) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE130)) + if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE130) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE130)) && !IsMirageIslandPresent()) { - // Only play water pokemon cries on this route + // Only play water Pokémon cries on this route // when Mirage Island is not present sIsAmbientCryWaterMon = TRUE; sAmbientCrySpecies = GetLocalWaterMon(); @@ -2931,7 +2931,7 @@ static void ZeroObjectEvent(struct ObjectEvent *objEvent) // conflict with the usual Event Object struct, thus the definitions. #define linkGender(obj) obj->singleMovementActive // not even one can reference *byte* aligned bitfield members... -#define linkDirection(obj) ((u8 *)obj)[offsetof(typeof(*obj), fieldEffectSpriteId) - 1] // -> rangeX +#define linkDirection(obj) ((u8 *)obj)[offsetof(typeof(*obj), range)] // -> rangeX static void SpawnLinkPlayerObjectEvent(u8 linkPlayerId, s16 x, s16 y, u8 gender) { @@ -3050,7 +3050,7 @@ static void SetPlayerFacingDirection(u8 linkPlayerId, u8 facing) { if (facing > FACING_FORCED_RIGHT) { - objEvent->triggerGroundEffectsOnMove = 1; + objEvent->triggerGroundEffectsOnMove = TRUE; } else { @@ -3199,7 +3199,7 @@ static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion) sprite = &gSprites[objEvent->spriteId]; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = linkPlayerId; - objEvent->triggerGroundEffectsOnMove = 0; + objEvent->triggerGroundEffectsOnMove = FALSE; } } diff --git a/src/party_menu.c b/src/party_menu.c index 9b076755c8..7cde1a018c 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -169,7 +169,7 @@ enum { }; enum { - // Window ids 0-5 are implicitly assigned to each party pokemon in InitPartyMenuBoxes + // Window ids 0-5 are implicitly assigned to each party Pokémon in InitPartyMenuBoxes WIN_MSG = PARTY_SIZE, }; @@ -231,7 +231,7 @@ static EWRAM_DATA u16 sUnused = 0; EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on // IWRAM common -void (*gItemUseCB)(u8, TaskFunc); +COMMON_DATA void (*gItemUseCB)(u8, TaskFunc) = NULL; static void ResetPartyMenu(void); static void CB2_InitPartyMenu(void); @@ -3092,7 +3092,7 @@ static void CursorCb_Give(u8 taskId) static void CB2_SelectBagItemToGive(void) { - if (InBattlePyramid() == FALSE) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE == FALSE) GoToBagMenu(ITEMMENULOCATION_PARTY, POCKETS_COUNT, CB2_GiveHoldItem); else GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_PARTY, CB2_GiveHoldItem); @@ -4275,7 +4275,7 @@ void CB2_ShowPartyMenuForItemUse(void) static void CB2_ReturnToBagMenu(void) { - if (InBattlePyramid() == FALSE) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE == FALSE) GoToBagMenu(ITEMMENULOCATION_LAST, POCKETS_COUNT, NULL); else GoToBattlePyramidBagMenu(PYRAMIDBAG_LOC_PREV, gPyramidBagMenuState.exitCallback); @@ -4800,7 +4800,9 @@ static void Task_LearnNextMoveOrClosePartyMenu(u8 taskId) if (IsFanfareTaskInactive() && ((JOY_NEW(A_BUTTON)) || (JOY_NEW(B_BUTTON)))) { if (gPartyMenu.learnMoveState == 1) + { Task_TryLearningNextMove(taskId); + } else { if (gPartyMenu.learnMoveState == 2) // never occurs @@ -5356,7 +5358,7 @@ void CB2_PartyMenuFromStartMenu(void) // As opposted to by selecting Give in the party menu, which is handled by CursorCb_Give void CB2_ChooseMonToGiveItem(void) { - MainCallback callback = (InBattlePyramid() == FALSE) ? CB2_ReturnToBagMenu : CB2_ReturnToPyramidBagMenu; + MainCallback callback = (CurrentBattlePyramidLocation() == PYRAMID_LOCATION_NONE) ? CB2_ReturnToBagMenu : CB2_ReturnToPyramidBagMenu; InitPartyMenu(PARTY_MENU_TYPE_FIELD, PARTY_LAYOUT_SINGLE, PARTY_ACTION_GIVE_ITEM, FALSE, PARTY_MSG_GIVE_TO_WHICH_MON, Task_HandleChooseMonInput, callback); gPartyMenu.bagItem = gSpecialVar_ItemId; } @@ -5589,8 +5591,8 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon) if (GetMonData(mon, MON_DATA_IS_EGG) || GetMonData(mon, MON_DATA_LEVEL) > GetBattleEntryLevelCap() - || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) + || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY) && GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)) { return FALSE; @@ -5801,7 +5803,7 @@ static bool8 TrySwitchInPokemon(void) u8 newSlot; u8 i; - // In a multi battle, slots 1, 4, and 5 are the partner's pokemon + // In a multi battle, slots 1, 4, and 5 are the partner's Pokémon if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5)) { StringCopy(gStringVar1, GetTrainerPartnerName()); @@ -5913,20 +5915,20 @@ static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId) partyBattleOrder[i] = (partyIds[0 + (i * 2)] << 4) | partyIds[1 + (i * 2)]; } -void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId) +void BufferBattlePartyCurrentOrderBySide(u8 battler, u8 flankId) { - BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battlerId], flankId, battlerId); + BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battler], flankId, battler); } -// when GetBattlerSide(battlerId) == B_SIDE_PLAYER, this function is identical the one above -static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battlerId) +// when GetBattlerSide(battler) == B_SIDE_PLAYER, this function is identical the one above +static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 battler) { u8 partyIndexes[PARTY_SIZE]; int i, j; u8 leftBattler; u8 rightBattler; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { leftBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); @@ -5985,7 +5987,7 @@ static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 ba partyBattleOrder[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)]; } -void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) +void SwitchPartyOrderLinkMulti(u8 battler, u8 slot, u8 slot2) { u8 partyIds[PARTY_SIZE]; u8 tempSlot = 0; @@ -5995,7 +5997,7 @@ void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) if (IsMultiBattle()) { - partyBattleOrder = gBattleStruct->battlerPartyOrders[battlerId]; + partyBattleOrder = gBattleStruct->battlerPartyOrders[battler]; for (i = j = 0; i < PARTY_SIZE / 2; j++, i++) { partyIds[j] = partyBattleOrder[i] >> 4; diff --git a/src/player_pc.c b/src/player_pc.c index 009aa7810f..43239582ce 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -880,7 +880,9 @@ static void Mailbox_CancelMoveToBag(u8 taskId) static void Mailbox_Give(u8 taskId) { if (CalculatePlayerPartyCount() == 0) + { Mailbox_NoPokemonForMail(taskId); + } else { FadeScreen(FADE_TO_BLACK, 0); @@ -1049,7 +1051,7 @@ static void ItemStorage_PrintDescription(s32 id) // Get item description (or Cancel text) if (id != LIST_CANCEL) - description = (u8 *)ItemId_GetDescription(gSaveBlock1Ptr->pcItems[id].itemId); + description = (u8 *)GetItemDescription(gSaveBlock1Ptr->pcItems[id].itemId); else description = ItemStorage_GetMessage(MSG_GO_BACK_TO_PREV); @@ -1193,7 +1195,7 @@ static const u8 *ItemStorage_GetMessage(u16 itemId) string = gText_MoveVar1Where; break; default: - string = ItemId_GetDescription(itemId); + string = GetItemDescription(itemId); break; } return string; @@ -1271,7 +1273,7 @@ static void ItemStorage_ExitItemList(u8 taskId) static void ItemStorage_StartItemSwap(u8 taskId) { s16 *data = gTasks[taskId].data; - ListMenuSetUnkIndicatorsStructField(tListTaskId, 16, 1); + ListMenuSetTemplateField(tListTaskId, LISTFIELD_CURSORKIND, CURSOR_INVISIBLE); sItemStorageMenu->toSwapPos = gPlayerPCItemPageInfo.itemsAbove + gPlayerPCItemPageInfo.cursorPos; ItemStorage_SetSwapArrow(tListTaskId, 0, 0); ItemStorage_UpdateSwapLinePos(sItemStorageMenu->toSwapPos); @@ -1445,7 +1447,7 @@ static void ItemStorage_DoItemToss(u8 taskId) s16 *data = gTasks[taskId].data; u16 pos = gPlayerPCItemPageInfo.cursorPos + gPlayerPCItemPageInfo.itemsAbove; - if (!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[pos].itemId)) + if (!GetItemImportance(gSaveBlock1Ptr->pcItems[pos].itemId)) { // Show toss confirmation prompt CopyItemName(gSaveBlock1Ptr->pcItems[pos].itemId, gStringVar1); diff --git a/src/pokeball.c b/src/pokeball.c index bdc2b70369..5bbeb5c96a 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -40,7 +40,7 @@ static void SpriteCB_TradePokeballEnd(struct Sprite *sprite); static void SpriteCB_HealthboxSlideInDelayed(struct Sprite *sprite); static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite); static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite); -static u16 GetBattlerPokeballItemId(u8 battlerId); +static u16 GetBattlerPokeballItemId(u8 battler); // rom const data @@ -352,7 +352,7 @@ u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow) static void Task_DoPokeballSendOutAnim(u8 taskId) { u16 throwCaseId; - u8 battlerId; + u8 battler; u16 itemId, ballId; u8 ballSpriteId; bool8 notSendOut = FALSE; @@ -364,12 +364,12 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) } throwCaseId = gTasks[taskId].tThrowId; - battlerId = gTasks[taskId].tBattler; + battler = gTasks[taskId].tBattler; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - itemId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + if (GetBattlerSide(battler) != B_SIDE_PLAYER) + itemId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); else - itemId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + itemId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); ballId = ItemIdToBallId(itemId); LoadBallGfx(ballId); @@ -381,15 +381,15 @@ static void Task_DoPokeballSendOutAnim(u8 taskId) switch (throwCaseId) { case POKEBALL_PLAYER_SENDOUT: - gBattlerTarget = battlerId; + gBattlerTarget = battler; gSprites[ballSpriteId].x = 24; gSprites[ballSpriteId].y = 68; gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1; break; case POKEBALL_OPPONENT_SENDOUT: - gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X); - gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24; - gBattlerTarget = battlerId; + gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X); + gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 24; + gBattlerTarget = battler; gSprites[ballSpriteId].data[0] = 0; gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut; break; @@ -667,7 +667,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) u8 wantedCry = gTasks[taskId].tCryTaskWantedCry; s8 pan = gTasks[taskId].tCryTaskPan; u16 species = gTasks[taskId].tCryTaskSpecies; - u8 battlerId = gTasks[taskId].tCryTaskBattler; + u8 battler = gTasks[taskId].tCryTaskBattler; u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId; struct Pokemon *mon = (void *)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 16) | (u16)(gTasks[taskId].tCryTaskMonPtr2)); @@ -684,7 +684,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) PlayCry_ByMode(species, pan, CRY_MODE_NORMAL); else PlayCry_ByMode(species, pan, CRY_MODE_WEAK); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); break; case 2: @@ -701,7 +701,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) else PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK_DOUBLES); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); } else @@ -741,7 +741,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) else PlayCry_ReleaseDouble(species, pan, CRY_MODE_WEAK); - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = FALSE; DestroyTask(taskId); break; } @@ -749,11 +749,11 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) { - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; u32 ballId; StartSpriteAnim(sprite, 1); - ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId)); + ballId = ItemIdToBallId(GetBattlerPokeballItemId(battler)); AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 28, ballId); sprite->data[0] = LaunchBallFadeMonTask(TRUE, sprite->sBattler, 14, ballId); sprite->callback = HandleBallAnimEnd; @@ -766,19 +766,19 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) u16 wantedCryCase; u8 taskId; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; pan = 25; } else { - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; pan = -25; } species = GetMonData(mon, MON_DATA_SPECIES); - if ((battlerId == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battlerId == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + if ((battler == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battler == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) && IsDoubleBattle() && gBattleSpritesDataPtr->animationData->introAnimActive) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -794,18 +794,18 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite) if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->introAnimActive) wantedCryCase = 0; - else if (battlerId == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battlerId == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + else if (battler == GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) || battler == GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) wantedCryCase = 1; else wantedCryCase = 2; - gBattleSpritesDataPtr->healthBoxesData[battlerId].waitForCry = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry = TRUE; taskId = CreateTask(Task_PlayCryWhenReleasedFromBall, 3); gTasks[taskId].tCryTaskSpecies = species; gTasks[taskId].tCryTaskPan = pan; gTasks[taskId].tCryTaskWantedCry = wantedCryCase; - gTasks[taskId].tCryTaskBattler = battlerId; + gTasks[taskId].tCryTaskBattler = battler; gTasks[taskId].tCryTaskMonSpriteId = gBattlerSpriteIds[sprite->sBattler]; gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 16; gTasks[taskId].tCryTaskMonPtr2 = (u32)(mon); @@ -845,28 +845,28 @@ static void SpriteCB_BallThrow_StartCaptureMon(struct Sprite *sprite) static void HandleBallAnimEnd(struct Sprite *sprite) { bool8 affineAnimEnded = FALSE; - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; - gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE; + gSprites[gBattlerSpriteIds[battler]].invisible = FALSE; if (sprite->animEnded) sprite->invisible = TRUE; - if (gSprites[gBattlerSpriteIds[battlerId]].affineAnimEnded) + if (gSprites[gBattlerSpriteIds[battler]].affineAnimEnded) { - StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battlerId]], BATTLER_AFFINE_NORMAL); + StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battler]], BATTLER_AFFINE_NORMAL); affineAnimEnded = TRUE; } else { - gSprites[gBattlerSpriteIds[battlerId]].data[1] -= 288; - gSprites[gBattlerSpriteIds[battlerId]].y2 = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8; + gSprites[gBattlerSpriteIds[battler]].data[1] -= 288; + gSprites[gBattlerSpriteIds[battler]].y2 = gSprites[gBattlerSpriteIds[battler]].data[1] >> 8; } if (sprite->animEnded && affineAnimEnded) { s32 i, doneBattlers; - gSprites[gBattlerSpriteIds[battlerId]].y2 = 0; + gSprites[gBattlerSpriteIds[battler]].y2 = 0; gDoingBattleAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = FALSE; FreeSpriteOamMatrix(sprite); DestroySprite(sprite); @@ -885,7 +885,7 @@ static void HandleBallAnimEnd(struct Sprite *sprite) static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) { - u8 battlerId = sprite->sBattler; + u8 battler = sprite->sBattler; sprite->data[4]++; if (sprite->data[4] == 40) @@ -904,7 +904,7 @@ static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite) DestroySprite(&gSprites[gBattlerSpriteIds[sprite->sBattler]]); DestroySpriteAndFreeResources(sprite); if (gMain.inBattle) - gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = FALSE; } } @@ -1014,10 +1014,10 @@ static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 spritePalNum, u return LaunchBallFadeMonTask(unFadeLater, spritePalNum, selectedPalettes, BALL_POKE); } -// Sprite data for the pokemon +// Sprite data for the Pokémon #define sSpecies data[7] -// Sprite data for the pokeball +// Sprite data for the Poké Ball #define sMonSpriteId data[0] #define sDelay data[1] #define sMonPalNum data[2] @@ -1027,7 +1027,7 @@ static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 spritePalNum, u #define sFinalMonY data[6] #define sTrigIdx data[7] -// Pokeball in Birch intro, and when receiving via trade +// Poké Ball in Birch intro, and when receiving via trade void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, u16 species) { u8 spriteId; @@ -1238,16 +1238,16 @@ static void UNUSED DestroySpriteAndFreeResources_Ball(struct Sprite *sprite) #define sDelayTimer data[1] -void StartHealthboxSlideIn(u8 battlerId) +void StartHealthboxSlideIn(u8 battler) { - struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battlerId]]; + struct Sprite *healthboxSprite = &gSprites[gHealthboxSpriteIds[battler]]; healthboxSprite->sSpeedX = 5; healthboxSprite->sSpeedY = 0; healthboxSprite->x2 = 0x73; healthboxSprite->y2 = 0; healthboxSprite->callback = SpriteCB_HealthboxSlideIn; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { healthboxSprite->sSpeedX = -healthboxSprite->sSpeedX; healthboxSprite->sSpeedY = -healthboxSprite->sSpeedY; @@ -1255,7 +1255,7 @@ void StartHealthboxSlideIn(u8 battlerId) healthboxSprite->y2 = -healthboxSprite->y2; } gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]); - if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT) healthboxSprite->callback = SpriteCB_HealthboxSlideInDelayed; } @@ -1281,13 +1281,13 @@ static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite) #undef sSpeedY #undef sDelayTimer -void DoHitAnimHealthboxEffect(u8 battlerId) +void DoHitAnimHealthboxEffect(u8 battler) { u8 spriteId; spriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HitAnimHealthoxEffect); gSprites[spriteId].data[0] = 1; - gSprites[spriteId].data[1] = gHealthboxSpriteIds[battlerId]; + gSprites[spriteId].data[1] = gHealthboxSpriteIds[battler]; gSprites[spriteId].callback = SpriteCB_HitAnimHealthoxEffect; } @@ -1335,10 +1335,10 @@ void FreeBallGfx(u8 ballId) FreeSpritePaletteByTag(gBallSpritePalettes[ballId].tag); } -static u16 GetBattlerPokeballItemId(u8 battlerId) +static u16 GetBattlerPokeballItemId(u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); else - return GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_POKEBALL); + return GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_POKEBALL); } diff --git a/src/pokeblock.c b/src/pokeblock.c index e01e821f7e..f3d1fa446e 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -699,7 +699,7 @@ static void DrawPokeblockMenuTitleText(void) { u8 i; - const u8 *itemName = ItemId_GetName(ITEM_POKEBLOCK_CASE); + const u8 *itemName = GetItemName(ITEM_POKEBLOCK_CASE); PrintOnPokeblockWindow(WIN_TITLE, itemName, GetStringCenterAlignXOffset(FONT_NORMAL, itemName, 0x48)); PrintOnPokeblockWindow(WIN_SPICY, gText_Spicy, 0); diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index a334038d8d..f274077554 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -760,7 +760,7 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) break; case 6: ResetTempTileDataBuffers(); - DecompressAndCopyTileDataToVram(1, gBattleTerrainTiles_Building, 0, 0, 0); + DecompressAndCopyTileDataToVram(1, gBattleEnvironmentTiles_Building, 0, 0, 0); sPokeblockFeed->loadGfxState++; break; case 7: @@ -771,7 +771,7 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) } break; case 8: - LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP); sPokeblockFeed->loadGfxState = 0; return TRUE; } diff --git a/src/pokedex.c b/src/pokedex.c index bd824aa567..96eedafad5 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -121,8 +121,8 @@ static EWRAM_DATA u8 sPokeBallRotation = 0; static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL; // This is written to, but never read. -u8 gUnusedPokedexU8; -void (*gPokedexVBlankCB)(void); +COMMON_DATA u8 gUnusedPokedexU8 = 0; +COMMON_DATA void (*gPokedexVBlankCB)(void) = NULL; struct SearchOptionText { @@ -1758,7 +1758,7 @@ static void Task_HandlePokedexStartMenuInput(u8 taskId) CreateMonSpritesAtPos(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; //Exit menu break; - case 3: //CLOSE POKEDEX + case 3: //CLOSE POKéDEX BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ClosePokedex; PlaySE(SE_PC_OFF); @@ -1958,12 +1958,12 @@ static void Task_HandleSearchResultsStartMenuInput(u8 taskId) CreateMonSpritesAtPos(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; break; - case 3: //BACK TO POKEDEX + case 3: //BACK TO POKéDEX BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ReturnToPokedexFromSearchResults; PlaySE(SE_TRUCK_DOOR); break; - case 4: //CLOSE POKEDEX + case 4: //CLOSE POKéDEX BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_ClosePokedexFromSearchResultsStartMenu; PlaySE(SE_PC_OFF); @@ -2049,7 +2049,7 @@ static void Task_ClosePokedexFromSearchResultsStartMenu(u8 taskId) #undef tLoadScreenTaskId -// For loading main pokedex page or pokedex search results +// For loading main pokedex page or Pokédex search results static bool8 LoadPokedexListPage(u8 page) { switch (gMain.state) @@ -2396,7 +2396,9 @@ static void CreateMonListEntry(u8 position, u16 b, u16 ignored) if (vOffset >= LIST_SCROLL_STEP) vOffset -= LIST_SCROLL_STEP; if (entryNum < 0 || entryNum >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[entryNum].dexNum == 0xFFFF) + { ClearMonListEntry(17, vOffset * 2, ignored); + } else { ClearMonListEntry(17, vOffset * 2, ignored); @@ -2685,7 +2687,9 @@ static bool8 TryDoInfoScreenScroll(void) } if (sPokedexView->selectedPokemon == selectedPokemon) + { return FALSE; + } else { sPokedexView->selectedPokemon = selectedPokemon; @@ -2708,7 +2712,9 @@ static bool8 TryDoInfoScreenScroll(void) } if (sPokedexView->selectedPokemon == selectedPokemon) + { return FALSE; + } else { sPokedexView->selectedPokemon = selectedPokemon; @@ -4036,7 +4042,7 @@ static void Task_HandleCaughtMonPageInput(u8 taskId) } else { - LoadPalette(gPokedexCaughtScreen_Pal + 1, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); + LoadPalette(gPokedexBgHoenn_Pal + 49, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(7)); } } @@ -4581,7 +4587,7 @@ static void UNUSED PrintDecimalNum(u8 windowId, u16 num, u8 left, u8 top) static void DrawFootprint(u8 windowId, u16 dexNum) { u8 footprint4bpp[TILE_SIZE_4BPP * NUM_FOOTPRINT_TILES]; - const u8 * footprintGfx = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)]; + const u8 *footprintGfx = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)]; u16 tileIdx = 0; u16 i, j; diff --git a/src/pokedex_area_region_map.c b/src/pokedex_area_region_map.c index cd2975473a..06bd05a87b 100644 --- a/src/pokedex_area_region_map.c +++ b/src/pokedex_area_region_map.c @@ -17,7 +17,7 @@ static const u32 sPokedexAreaMapAffine_Tilemap[] = INCBIN_U32("graphics/pokedex/ void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template) { u8 mode; - void * tilemap; + void *tilemap; sPokedexAreaMapBgNum = Alloc(sizeof(sPokedexAreaMapBgNum)); mode = template->mode; diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index f9181a985b..8b0a845102 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -29,9 +29,9 @@ // determined by the data for the corresponding MAPSEC in gRegionMapEntries. // Only maps in the following map groups have their encounters considered for the area screen -#define MAP_GROUP_TOWNS_AND_ROUTES MAP_GROUP(PETALBURG_CITY) -#define MAP_GROUP_DUNGEONS MAP_GROUP(METEOR_FALLS_1F_1R) -#define MAP_GROUP_SPECIAL_AREA MAP_GROUP(SAFARI_ZONE_NORTHWEST) +#define MAP_GROUP_TOWNS_AND_ROUTES MAP_GROUP(MAP_PETALBURG_CITY) +#define MAP_GROUP_DUNGEONS MAP_GROUP(MAP_METEOR_FALLS_1F_1R) +#define MAP_GROUP_SPECIAL_AREA MAP_GROUP(MAP_SAFARI_ZONE_NORTHWEST) #define AREA_SCREEN_WIDTH 32 #define AREA_SCREEN_HEIGHT 20 @@ -87,7 +87,7 @@ struct /*0x6E8*/ u8 *screenSwitchState; /*0x6EC*/ struct RegionMap regionMap; /*0xF70*/ u8 charBuffer[64]; - /*0xFB0*/ struct Sprite * areaUnknownSprites[3]; + /*0xFB0*/ struct Sprite *areaUnknownSprites[3]; /*0xFBC*/ u8 areaUnknownGraphicsBuffer[0x600]; } static EWRAM_DATA *sPokedexAreaScreen = NULL; @@ -121,7 +121,7 @@ static const u16 sMovingRegionMapSections[3] = static const u16 sFeebasData[][3] = { - {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)}, + {SPECIES_FEEBAS, MAP_GROUP(MAP_ROUTE119), MAP_NUM(MAP_ROUTE119)}, {NUM_SPECIES} }; @@ -285,7 +285,7 @@ static void FindMapsWithMon(u16 species) } // Add regular species to the area map - for (i = 0; gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED); i++) + for (i = 0; gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED); i++) { if (MapHasSpecies(&gWildMonHeaders[i], species)) { diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 2c352c67a0..2fb3d55a24 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -60,7 +60,7 @@ static void SpriteCB_CryMeterNeedle(struct Sprite *); static void SetCryMeterNeedleTarget(s8); // IWRAM common -u8 gDexCryScreenState; +COMMON_DATA u8 gDexCryScreenState = 0; // EWRAM vars static EWRAM_DATA struct PokedexCryScreen *sDexCryScreen = NULL; @@ -362,7 +362,7 @@ static void BufferCryWaveformSegment(void) else baseBuffer = gSoundInfo.pcmBuffer + (gSoundInfo.pcmDmaPeriod + 1 - gPcmDmaCounter) * gSoundInfo.pcmSamplesPerVBlank; - buffer = baseBuffer + 0x630; + buffer = baseBuffer + PCM_DMA_BUF_SIZE; for (i = 0; i < ARRAY_COUNT(sDexCryScreen->cryWaveformBuffer); i++) sDexCryScreen->cryWaveformBuffer[i] = buffer[i * 2] * 2; } diff --git a/src/pokemon.c b/src/pokemon.c index d3a570e72f..a06693dc8a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -67,7 +67,7 @@ static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 perso static void EncryptBoxMon(struct BoxPokemon *boxMon); static void DecryptBoxMon(struct BoxPokemon *boxMon); static void Task_PlayMapChosenOrBattleBGM(u8 taskId); -static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); +static bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battler); static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); static bool8 ShouldSkipFriendshipChange(void); static u8 CopyMonToPC(struct Pokemon *mon); @@ -1354,10 +1354,10 @@ static const u16 sHoennToNationalOrder[NUM_SPECIES - 1] = const struct SpindaSpot gSpindaSpotGraphics[] = { - {.x = 16, .y = 7, .image = INCBIN_U16("graphics/spinda_spots/spot_0.1bpp")}, - {.x = 40, .y = 8, .image = INCBIN_U16("graphics/spinda_spots/spot_1.1bpp")}, - {.x = 22, .y = 25, .image = INCBIN_U16("graphics/spinda_spots/spot_2.1bpp")}, - {.x = 34, .y = 26, .image = INCBIN_U16("graphics/spinda_spots/spot_3.1bpp")} + {.x = 16, .y = 7, .image = INCBIN_U16("graphics/pokemon/spinda/spots/spot_0.1bpp")}, + {.x = 40, .y = 8, .image = INCBIN_U16("graphics/pokemon/spinda/spots/spot_1.1bpp")}, + {.x = 22, .y = 25, .image = INCBIN_U16("graphics/pokemon/spinda/spots/spot_2.1bpp")}, + {.x = 34, .y = 26, .image = INCBIN_U16("graphics/pokemon/spinda/spots/spot_3.1bpp")} }; #include "data/pokemon/item_effects.h" @@ -2639,7 +2639,7 @@ static void CreateEventMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedI } // If FALSE, should load this game's Deoxys form. If TRUE, should load normal Deoxys form -bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) +bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battler) { switch (caseId) { @@ -2651,7 +2651,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (gLinkPlayers[GetMultiplayerId()].id == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battler) return FALSE; break; case 2: @@ -2661,7 +2661,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (battlerId == 1 || battlerId == 4 || battlerId == 5) + if (battler == 1 || battler == 4 || battler == 5) return TRUE; return FALSE; case 4: @@ -2673,12 +2673,12 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (gLinkPlayers[GetMultiplayerId()].id == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battler) return FALSE; } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return FALSE; } } @@ -2686,7 +2686,7 @@ bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId) { if (!gMain.inBattle) return FALSE; - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) return FALSE; } break; @@ -2874,8 +2874,11 @@ void CalculateMonStats(struct Pokemon *mon) else { if (currentHP == 0 && oldMaxHP == 0) + { currentHP = newMaxHP; - else if (currentHP != 0) { + } + else if (currentHP != 0) + { // BUG: currentHP is unintentionally able to become <= 0 after the instruction below. This causes the pomeg berry glitch. currentHP += newMaxHP - oldMaxHP; #ifdef BUGFIX @@ -2884,7 +2887,9 @@ void CalculateMonStats(struct Pokemon *mon) #endif } else + { return; + } } SetMonData(mon, MON_DATA_HP, ¤tHP); @@ -3134,8 +3139,8 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } else { - attackerHoldEffect = ItemId_GetHoldEffect(attacker->item); - attackerHoldEffectParam = ItemId_GetHoldEffectParam(attacker->item); + attackerHoldEffect = GetItemHoldEffect(attacker->item); + attackerHoldEffectParam = GetItemHoldEffectParam(attacker->item); } // Get defender hold item info @@ -3146,8 +3151,8 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } else { - defenderHoldEffect = ItemId_GetHoldEffect(defender->item); - defenderHoldEffectParam = ItemId_GetHoldEffectParam(defender->item); + defenderHoldEffect = GetItemHoldEffect(defender->item); + defenderHoldEffectParam = GetItemHoldEffectParam(defender->item); } if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER) @@ -3399,11 +3404,11 @@ u8 CountAliveMonsInBattle(u8 caseId) return retVal; } -static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) +static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battler) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) return FALSE; - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) return FALSE; else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) return FALSE; @@ -3413,9 +3418,9 @@ static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) return FALSE; } -u8 GetDefaultMoveTarget(u8 battlerId) +u8 GetDefaultMoveTarget(u8 battler) { - u8 opposing = BATTLE_OPPOSITE(GET_BATTLER_SIDE(battlerId)); + u8 opposing = BATTLE_OPPOSITE(GET_BATTLER_SIDE(battler)); if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return GetBattlerAtPosition(opposing); @@ -4424,7 +4429,7 @@ static u8 CopyMonToPC(struct Pokemon *mon) { for (boxPos = 0; boxPos < IN_BOX_COUNT; boxPos++) { - struct BoxPokemon* checkingMon = GetBoxedMonPtr(boxNo, boxPos); + struct BoxPokemon *checkingMon = GetBoxedMonPtr(boxNo, boxPos); if (GetBoxMonData(checkingMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) { MonRestorePP(mon); @@ -4633,59 +4638,59 @@ void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex) mon->ppBonuses &= gPPUpClearMask[moveIndex]; } -void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) +void CopyPlayerPartyMonToBattleData(u8 battler, u8 partyIndex) { u16 *hpSwitchout; s32 i; u8 nickname[POKEMON_NAME_BUFFER_SIZE]; - gBattleMons[battlerId].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); - gBattleMons[battlerId].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL); + gBattleMons[battler].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); + gBattleMons[battler].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL); for (i = 0; i < MAX_MON_MOVES; i++) { - gBattleMons[battlerId].moves[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE1 + i, NULL); - gBattleMons[battlerId].pp[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP1 + i, NULL); + gBattleMons[battler].moves[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE1 + i, NULL); + gBattleMons[battler].pp[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP1 + i, NULL); } - gBattleMons[battlerId].ppBonuses = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP_BONUSES, NULL); - gBattleMons[battlerId].friendship = GetMonData(&gPlayerParty[partyIndex], MON_DATA_FRIENDSHIP, NULL); - gBattleMons[battlerId].experience = GetMonData(&gPlayerParty[partyIndex], MON_DATA_EXP, NULL); - gBattleMons[battlerId].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL); - gBattleMons[battlerId].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL); - gBattleMons[battlerId].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL); - gBattleMons[battlerId].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL); - gBattleMons[battlerId].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL); - gBattleMons[battlerId].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL); - gBattleMons[battlerId].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL); - gBattleMons[battlerId].status1 = GetMonData(&gPlayerParty[partyIndex], MON_DATA_STATUS, NULL); - gBattleMons[battlerId].level = GetMonData(&gPlayerParty[partyIndex], MON_DATA_LEVEL, NULL); - gBattleMons[battlerId].hp = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP, NULL); - gBattleMons[battlerId].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL); - gBattleMons[battlerId].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL); - gBattleMons[battlerId].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL); - gBattleMons[battlerId].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL); - gBattleMons[battlerId].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL); - gBattleMons[battlerId].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL); - gBattleMons[battlerId].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); - gBattleMons[battlerId].abilityNum = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ABILITY_NUM, NULL); - gBattleMons[battlerId].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID, NULL); - gBattleMons[battlerId].type1 = gSpeciesInfo[gBattleMons[battlerId].species].types[0]; - gBattleMons[battlerId].type2 = gSpeciesInfo[gBattleMons[battlerId].species].types[1]; - gBattleMons[battlerId].ability = GetAbilityBySpecies(gBattleMons[battlerId].species, gBattleMons[battlerId].abilityNum); + gBattleMons[battler].ppBonuses = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP_BONUSES, NULL); + gBattleMons[battler].friendship = GetMonData(&gPlayerParty[partyIndex], MON_DATA_FRIENDSHIP, NULL); + gBattleMons[battler].experience = GetMonData(&gPlayerParty[partyIndex], MON_DATA_EXP, NULL); + gBattleMons[battler].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL); + gBattleMons[battler].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL); + gBattleMons[battler].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL); + gBattleMons[battler].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL); + gBattleMons[battler].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL); + gBattleMons[battler].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL); + gBattleMons[battler].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL); + gBattleMons[battler].status1 = GetMonData(&gPlayerParty[partyIndex], MON_DATA_STATUS, NULL); + gBattleMons[battler].level = GetMonData(&gPlayerParty[partyIndex], MON_DATA_LEVEL, NULL); + gBattleMons[battler].hp = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP, NULL); + gBattleMons[battler].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL); + gBattleMons[battler].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL); + gBattleMons[battler].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL); + gBattleMons[battler].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL); + gBattleMons[battler].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL); + gBattleMons[battler].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL); + gBattleMons[battler].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); + gBattleMons[battler].abilityNum = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ABILITY_NUM, NULL); + gBattleMons[battler].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID, NULL); + gBattleMons[battler].types[0] = gSpeciesInfo[gBattleMons[battler].species].types[0]; + gBattleMons[battler].types[1] = gSpeciesInfo[gBattleMons[battler].species].types[1]; + gBattleMons[battler].ability = GetAbilityBySpecies(gBattleMons[battler].species, gBattleMons[battler].abilityNum); GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(gBattleMons[battlerId].nickname, nickname); - GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battlerId].otName); + StringCopy_Nickname(gBattleMons[battler].nickname, nickname); + GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battler].otName); - hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(battlerId)]; - *hpSwitchout = gBattleMons[battlerId].hp; + hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(battler)]; + *hpSwitchout = gBattleMons[battler].hp; for (i = 0; i < NUM_BATTLE_STATS; i++) - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; - gBattleMons[battlerId].status2 = 0; - UpdateSentPokesToOpponentValue(battlerId); - ClearTemporarySpeciesSpriteData(battlerId, FALSE); + gBattleMons[battler].status2 = 0; + UpdateSentPokesToOpponentValue(battler); + ClearTemporarySpeciesSpriteData(battler, FALSE); } bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex) @@ -4732,7 +4737,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov u32 temp1, temp2; s8 friendshipChange = 0; u8 holdEffect; - u8 battlerId = MAX_BATTLERS_COUNT; + u8 battler = MAX_BATTLERS_COUNT; u32 friendshipOnly = FALSE; u16 heldItem; u8 effectFlags; @@ -4750,7 +4755,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } else { - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); } // Get battler id (if relevant) @@ -4763,7 +4768,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (gBattlerPartyIndexes[i] == partyIndex) { - battlerId = i; + battler = i; break; } i += 2; @@ -4772,7 +4777,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov else { gActiveBattler = 0; - battlerId = MAX_BATTLERS_COUNT; + battler = MAX_BATTLERS_COUNT; } // Skip using the item if it won't do anything @@ -4804,9 +4809,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov case 0: // Cure infatuation if ((itemEffect[i] & ITEM0_INFATUATION) - && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)) + && gMain.inBattle && battler != MAX_BATTLERS_COUNT && (gBattleMons[battler].status2 & STATUS2_INFATUATION)) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; retVal = FALSE; } @@ -4896,24 +4901,24 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // Cure status if ((itemEffect[i] & ITEM3_SLEEP) - && HealStatusConditions(mon, partyIndex, STATUS1_SLEEP, battlerId) == 0) + && HealStatusConditions(mon, partyIndex, STATUS1_SLEEP, battler) == 0) { - if (battlerId != MAX_BATTLERS_COUNT) - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + if (battler != MAX_BATTLERS_COUNT) + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; retVal = FALSE; } - if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) + if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battlerId) == 0) + if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battlerId) == 0) + if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battler) == 0) retVal = FALSE; - if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battlerId) == 0) + if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battler) == 0) retVal = FALSE; if ((itemEffect[i] & ITEM3_CONFUSION) // heal confusion - && gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)) + && gMain.inBattle && battler != MAX_BATTLERS_COUNT && (gBattleMons[battler].status2 & STATUS2_CONFUSION)) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; retVal = FALSE; } break; @@ -5006,10 +5011,10 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } if (gMain.inBattle) { - if (battlerId != MAX_BATTLERS_COUNT) + if (battler != MAX_BATTLERS_COUNT) { - gAbsentBattlerFlags &= ~gBitTable[battlerId]; - CopyPlayerPartyMonToBattleData(battlerId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId])); + gAbsentBattlerFlags &= ~gBitTable[battler]; + CopyPlayerPartyMonToBattleData(battler, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler])); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) gBattleResults.numRevivesUsed++; } @@ -5059,17 +5064,17 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov SetMonData(mon, MON_DATA_HP, &dataUnsigned); // Update battler (if applicable) - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT) + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT) { - gBattleMons[battlerId].hp = dataUnsigned; + gBattleMons[battler].hp = dataUnsigned; if (!(effectFlags & (ITEM4_REVIVE >> 2)) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gBattleResults.numHealingItemsUsed < 255) gBattleResults.numHealingItemsUsed++; temp2 = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + gActiveBattler = battler; + BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0); MarkBattlerForControllerExec(gActiveBattler); gActiveBattler = temp2; } @@ -5090,23 +5095,23 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // Heal PP for all moves for (temp2 = 0; (signed)(temp2) < (signed)(MAX_MON_MOVES); temp2++) { - u16 moveId; + u16 move; dataUnsigned = GetMonData(mon, MON_DATA_PP1 + temp2, NULL); - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); - if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); + if (dataUnsigned != CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { dataUnsigned += itemEffect[itemEffectParam]; - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant - if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant + if (dataUnsigned > CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { - moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant - dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); + move = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant + dataUnsigned = CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); } SetMonData(mon, MON_DATA_PP1 + temp2, &dataUnsigned); // Heal battler PP too (if applicable) - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battlerId, temp2)) - gBattleMons[battlerId].pp[temp2] = dataUnsigned; + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battler, temp2)) + gBattleMons[battler].pp[temp2] = dataUnsigned; retVal = FALSE; } @@ -5116,23 +5121,23 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov else { // Heal PP for one move - u16 moveId; + u16 move; dataUnsigned = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL); - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); - if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + if (dataUnsigned != CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { dataUnsigned += itemEffect[itemEffectParam++]; - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant - if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant + if (dataUnsigned > CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { - moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant - dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + move = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant + dataUnsigned = CalculatePPWithBonus(move, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); } SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); // Heal battler PP too (if applicable) - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battlerId, moveIndex)) - gBattleMons[battlerId].pp[moveIndex] = dataUnsigned; + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battler, moveIndex)) + gBattleMons[battler].pp[moveIndex] = dataUnsigned; retVal = FALSE; } @@ -5271,7 +5276,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov return retVal; } -bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId) +bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battler) { u32 status = GetMonData(mon, MON_DATA_STATUS, 0); @@ -5279,8 +5284,8 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, { status &= ~healMask; SetMonData(mon, MON_DATA_STATUS, &status); - if (gMain.inBattle && battlerId != MAX_BATTLERS_COUNT) - gBattleMons[battlerId].status1 &= ~healMask; + if (gMain.inBattle && battler != MAX_BATTLERS_COUNT) + gBattleMons[battler].status1 &= ~healMask; return FALSE; } else @@ -5484,7 +5489,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem) if (heldItem == ITEM_ENIGMA_BERRY) holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; else - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); // Prevent evolution with Everstone, unless we're just viewing the party menu with an evolution item if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && mode != EVO_MODE_ITEM_CHECK) @@ -5684,7 +5689,7 @@ u16 SpeciesToCryId(u16 species) // To draw a spot pixel, add 4 to the color index #define SPOT_COLOR_ADJUSTMENT 4 /* - The macro below handles drawing the randomly-placed spots on Spinda's front sprite. + The macros below handle drawing the randomly-placed spots on Spinda's front sprite. Spinda has 4 spots, each with an entry in gSpindaSpotGraphics. Each entry contains a base x and y coordinate for the spot and a 16x16 binary image. Each bit in the image determines whether that pixel should be considered part of the spot. @@ -5696,18 +5701,26 @@ u16 SpeciesToCryId(u16 species) coordinate is calculated as (baseCoord + (given 4 bits of personality) - 8). In effect this means each spot can start at any position -8 to +7 off of its base coordinates (256 possibilities). - The macro then loops over the 16x16 spot image. For each bit in the spot's binary image, if + DRAW_SPINDA_SPOTS loops over the 16x16 spot image. For each bit in the spot's binary image, if the bit is set then it's part of the spot; try to draw it. A pixel is drawn on Spinda if the - pixel on Spinda satisfies the following formula: ((u8)(colorIndex - 1) <= 2). The -1 excludes - transparent pixels, as these are index 0. Therefore only colors 1, 2, or 3 on Spinda will - allow a spot to be drawn. These color indexes are Spinda's light brown body colors. To create + pixel is between FIRST_SPOT_COLOR and LAST_SPOT_COLOR (so only colors 1, 2, or 3 on Spinda will + allow a spot to be drawn). These color indexes are Spinda's light brown body colors. To create the spot it adds 4 to the color index, so Spinda's spots will be colors 5, 6, and 7. - The above is done two different ways in the macro: one with << 4, and one without. This - is because Spinda's sprite is a 4 bits per pixel image, but the pointer to Spinda's pixels + The above is done in TRY_DRAW_SPOT_PIXEL two different ways: one with << 4, and one without. + This is because Spinda's sprite is a 4 bits per pixel image, but the pointer to Spinda's pixels (destPixels) is an 8 bit pointer, so it addresses two pixels. Shifting by 4 accesses the 2nd of these pixels, so this is done every other time. */ + +// Draw spot pixel if this is Spinda's body color +#define TRY_DRAW_SPOT_PIXEL(pixels, shift) \ + if (((*(pixels) & (0xF << (shift))) >= (FIRST_SPOT_COLOR << (shift))) \ + && ((*(pixels) & (0xF << (shift))) <= (LAST_SPOT_COLOR << (shift)))) \ + { \ + *(pixels) += (SPOT_COLOR_ADJUSTMENT << (shift)); \ + } + #define DRAW_SPINDA_SPOTS(personality, dest) \ { \ s32 i; \ @@ -5737,17 +5750,11 @@ u16 SpeciesToCryId(u16 species) /* of the two pixels is being considered for drawing */ \ if (column & 1) \ { \ - /* Draw spot pixel if this is Spinda's body color */ \ - if ((u8)((*destPixels & 0xF0) - (FIRST_SPOT_COLOR << 4))\ - <= ((LAST_SPOT_COLOR - FIRST_SPOT_COLOR) << 4))\ - *destPixels += (SPOT_COLOR_ADJUSTMENT << 4); \ + TRY_DRAW_SPOT_PIXEL(destPixels, 4); \ } \ else \ { \ - /* Draw spot pixel if this is Spinda's body color */ \ - if ((u8)((*destPixels & 0xF) - FIRST_SPOT_COLOR) \ - <= (LAST_SPOT_COLOR - FIRST_SPOT_COLOR)) \ - *destPixels += SPOT_COLOR_ADJUSTMENT; \ + TRY_DRAW_SPOT_PIXEL(destPixels, 0); \ } \ } \ \ @@ -5833,7 +5840,7 @@ s32 GetBattlerMultiplayerId(u16 id) u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) return GetTrainerEncounterMusicIdInBattlePyramid(trainerOpponentId); else if (InTrainerHillChallenge()) return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId); @@ -5877,16 +5884,11 @@ u16 ModifyStatByNature(u8 nature, u16 stat, u8 statIndex) return retVal; } -#define IS_LEAGUE_BATTLE \ - ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ - && (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR \ - || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_LEADER \ - || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION)) \ - void AdjustFriendship(struct Pokemon *mon, u8 event) { u16 species, heldItem; u8 holdEffect; + s8 mod; if (ShouldSkipFriendshipChange()) return; @@ -5903,7 +5905,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) } else { - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); } if (species && species != SPECIES_EGG) @@ -5916,26 +5918,43 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) if (friendship > 199) friendshipLevel++; - if ((event != FRIENDSHIP_EVENT_WALKING || !(Random() & 1)) - && (event != FRIENDSHIP_EVENT_LEAGUE_BATTLE || IS_LEAGUE_BATTLE)) + if (event == FRIENDSHIP_EVENT_WALKING) { - s8 mod = sFriendshipEventModifiers[event][friendshipLevel]; - if (mod > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) - mod = (150 * mod) / 100; - friendship += mod; - if (mod > 0) - { - if (GetMonData(mon, MON_DATA_POKEBALL, 0) == ITEM_LUXURY_BALL) - friendship++; - if (GetMonData(mon, MON_DATA_MET_LOCATION, 0) == GetCurrentRegionMapSectionId()) - friendship++; - } - if (friendship < 0) - friendship = 0; - if (friendship > MAX_FRIENDSHIP) - friendship = MAX_FRIENDSHIP; - SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); + // 50% chance every 128 steps + if (Random() & 1) + return; } + if (event == FRIENDSHIP_EVENT_LEAGUE_BATTLE) + { + // Only if it's a trainer battle with league progression significance + if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER)) + return; + if (!(gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_LEADER + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION)) + return; + } + + mod = sFriendshipEventModifiers[event][friendshipLevel]; + if (mod > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) + // 50% increase, rounding down + mod = (150 * mod) / 100; + + friendship += mod; + if (mod > 0) + { + if (GetMonData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) + friendship++; + if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == GetCurrentRegionMapSectionId()) + friendship++; + } + + if (friendship < 0) + friendship = 0; + if (friendship > MAX_FRIENDSHIP) + friendship = MAX_FRIENDSHIP; + + SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); } } @@ -5996,7 +6015,7 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) } else { - holdEffect = ItemId_GetHoldEffect(heldItem); + holdEffect = GetItemHoldEffect(heldItem); } if (holdEffect == HOLD_EFFECT_MACHO_BRACE) @@ -6038,14 +6057,10 @@ void RandomlyGivePartyPokerus(struct Pokemon *party) do { - do - { - rnd = Random() % PARTY_SIZE; - mon = &party[rnd]; - } - while (!GetMonData(mon, MON_DATA_SPECIES, 0)); + rnd = Random() % PARTY_SIZE; + mon = &party[rnd]; } - while (GetMonData(mon, MON_DATA_IS_EGG, 0)); + while (!GetMonData(mon, MON_DATA_SPECIES, 0) || GetMonData(mon, MON_DATA_IS_EGG, 0)); if (!(CheckPartyHasHadPokerus(party, gBitTable[rnd]))) { @@ -6384,11 +6399,17 @@ void ClearBattleMonForms(void) u16 GetBattleBGM(void) { if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { return MUS_VS_KYOGRE_GROUDON; + } else if (gBattleTypeFlags & BATTLE_TYPE_REGI) + { return MUS_VS_REGI; + } else if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) + { return MUS_VS_TRAINER; + } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { u8 trainerClass; @@ -6435,7 +6456,9 @@ u16 GetBattleBGM(void) } } else + { return MUS_VS_WILD; + } } void PlayBattleBGM(void) @@ -6851,22 +6874,22 @@ void BattleAnimateBackSprite(struct Sprite *sprite, u16 species) static u8 UNUSED GetOwnOpposingLinkMultiBattlerId(bool8 rightSide) { s32 i; - s32 battlerId = 0; + s32 battler = 0; u8 multiplayerId = GetMultiplayerId(); switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: - battlerId = rightSide ? 1 : 3; + battler = rightSide ? 1 : 3; break; case 1: case 3: - battlerId = rightSide ? 2 : 0; + battler = rightSide ? 2 : 0; break; } for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == (s16)battlerId) + if (gLinkPlayers[i].id == (s16)battler) break; } return i; @@ -6875,21 +6898,21 @@ static u8 UNUSED GetOwnOpposingLinkMultiBattlerId(bool8 rightSide) u8 GetOpposingLinkMultiBattlerId(bool8 rightSide, u8 multiplayerId) { s32 i; - s32 battlerId = 0; + s32 battler = 0; switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: - battlerId = rightSide ? 1 : 3; + battler = rightSide ? 1 : 3; break; case 1: case 3: - battlerId = rightSide ? 2 : 0; + battler = rightSide ? 2 : 0; break; } for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == (s16)battlerId) + if (gLinkPlayers[i].id == (s16)battler) break; } return i; @@ -6947,7 +6970,7 @@ static bool8 ShouldSkipFriendshipChange(void) { if (gMain.inBattle && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER)) return TRUE; - if (!gMain.inBattle && (InBattlePike() || InBattlePyramid())) + if (!gMain.inBattle && (InBattlePike() || CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE)) return TRUE; return FALSE; } @@ -6969,7 +6992,7 @@ static bool8 ShouldSkipFriendshipChange(void) #define ALLOC_FAIL_STRUCT (1 << 1) #define GFX_MANAGER_ACTIVE 0xA3 // Arbitrary value -static void InitMonSpritesGfx_Battle(struct MonSpritesGfxManager* gfx) +static void InitMonSpritesGfx_Battle(struct MonSpritesGfxManager *gfx) { u16 i, j; for (i = 0; i < gfx->numSprites; i++) @@ -6982,7 +7005,7 @@ static void InitMonSpritesGfx_Battle(struct MonSpritesGfxManager* gfx) } } -static void InitMonSpritesGfx_FullParty(struct MonSpritesGfxManager* gfx) +static void InitMonSpritesGfx_FullParty(struct MonSpritesGfxManager *gfx) { u16 i, j; for (i = 0; i < gfx->numSprites; i++) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 25c7778f8b..8058074ef4 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -627,7 +627,7 @@ static const u8 sVerticalShakeData[][2] = {-1, 0} }; -static void (* const sMonAnimFunctions[])(struct Sprite *sprite) = +static void (*const sMonAnimFunctions[])(struct Sprite *sprite) = { [ANIM_V_SQUISH_AND_BOUNCE] = Anim_VerticalSquishBounce, [ANIM_CIRCULAR_STRETCH_TWICE] = Anim_CircularStretchTwice, @@ -955,14 +955,14 @@ void StartMonSummaryAnimation(struct Sprite *sprite, u8 frontAnimId) void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, u8 backAnimSet) { - u8 nature, taskId, animId, battlerId; + u8 nature, taskId, animId, battler; taskId = CreateTask(Task_HandleMonAnimation, 128); gTasks[taskId].tPtrHi = (u32)(sprite) >> 16; gTasks[taskId].tPtrLo = (u32)(sprite); - battlerId = sprite->data[0]; - nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[battlerId]]); + battler = sprite->data[0]; + nature = GetNature(&gPlayerParty[gBattlerPartyIndexes[battler]]); // * 3 below because each back anim has 3 variants depending on nature animId = 3 * backAnimSet + sBackAnimNatureModTable[nature]; @@ -4969,29 +4969,24 @@ static void ShrinkGrowVibrate(struct Sprite *sprite) } else { - u8 posY_unsigned; - s8 posY_signed; - s32 posY; - s16 index = (u16)(sprite->data[2] % sprite->data[6] * 256) / sprite->data[6] % 256; + s8 sinY; + u16 y; + s16 index = ((u16)(sprite->data[2] % sprite->data[6] * 256) / sprite->data[6]) % 256; if (sprite->data[2] % 2 == 0) { sprite->data[4] = Sin(index, 32) + 256; sprite->data[5] = Sin(index, 32) + 256; - posY_unsigned = Sin(index, 32); - posY_signed = posY_unsigned; + sinY = Sin(index, 32); } else { sprite->data[4] = Sin(index, 8) + 256; sprite->data[5] = Sin(index, 8) + 256; - posY_unsigned = Sin(index, 8); - posY_signed = posY_unsigned; + sinY = Sin(index, 8); } - posY = posY_signed; - if (posY < 0) - posY += 7; - sprite->y2 = (u32)(posY) >> 3; + y = sinY / 8; + sprite->y2 = y; HandleSetAffineData(sprite, sprite->data[4], sprite->data[5], 0); } diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index e659eebe21..caed0bcdc3 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -4,8 +4,7 @@ #include "palette.h" #include "pokemon_icon.h" #include "sprite.h" - -#define POKE_ICON_BASE_PAL_TAG 56000 +#include "constants/pokemon_icon.h" #define INVALID_ICON_SPECIES SPECIES_OLD_UNOWN_J // Oddly specific, used when an icon should be a ?. Any of the 'old unown' would work diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c index d744ff6650..326512acf0 100755 --- a/src/pokemon_jump.c +++ b/src/pokemon_jump.c @@ -108,7 +108,7 @@ enum { // the lower 8 bits are a timer to the next state. // When the timer is incremented above 255, it increments // the vine state and the timer is reset. -#define VINE_STATE_TIMER(vineState)(((vineState) << 8) | 0xFF) +#define VINE_STATE_TIMER(vineState) (((vineState) << 8) | 0xFF) enum { MONSTATE_NORMAL, // Pokémon is either on the ground or in the middle of a jump @@ -799,7 +799,7 @@ static void RecvLinkData_Leader(void) sPokemonJump->allPlayersReady = TRUE; } -static bool32 (* const sPokeJumpLeaderFuncs[])(void) = +static bool32 (*const sPokeJumpLeaderFuncs[])(void) = { [FUNC_GAME_INTRO] = GameIntro_Leader, [FUNC_WAIT_ROUND] = WaitRound_Leader, @@ -898,7 +898,7 @@ static void RecvLinkData_Member(void) } } -static bool32 (* const sPokeJumpMemberFuncs[])(void) = +static bool32 (*const sPokeJumpMemberFuncs[])(void) = { [FUNC_GAME_INTRO] = GameIntro_Member, [FUNC_WAIT_ROUND] = WaitRound_Member, diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 574e6ba51e..19541d88d8 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -40,6 +40,7 @@ #include "constants/moves.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/pokemon_icon.h" /* NOTE: This file is large. Some general groups of functions have @@ -199,7 +200,7 @@ enum { CURSOR_AREA_IN_BOX, CURSOR_AREA_IN_PARTY, CURSOR_AREA_BOX_TITLE, - CURSOR_AREA_BUTTONS, // Party Pokemon and Close Box + CURSOR_AREA_BUTTONS, // Party Pokémon and Close Box }; #define CURSOR_AREA_IN_HAND CURSOR_AREA_BOX_TITLE // Alt name for cursor area used by Move Items @@ -215,7 +216,7 @@ enum { #define BOXID_CANCELED 201 enum { - PALTAG_MON_ICON_0 = 56000, + PALTAG_MON_ICON_0 = POKE_ICON_BASE_PAL_TAG, PALTAG_MON_ICON_1, // Used implicitly in CreateMonIconSprite PALTAG_MON_ICON_2, // Used implicitly in CreateMonIconSprite PALTAG_3, // Unused @@ -431,7 +432,7 @@ struct PokemonStorageSystemData u16 scrollUnused5; // Never read u16 scrollUnused6; // Never read u8 filler1[22]; - u8 boxTitleTiles[1024]; + u8 ALIGNED(2) boxTitleTiles[1024]; u8 boxTitleCycleId; u8 wallpaperLoadState; // Written to, but never read. u8 wallpaperLoadBoxId; @@ -4823,7 +4824,7 @@ static void MovePartySpriteToNextSlot(struct Sprite *sprite, u16 partyId) sprite->sMonY = (u16)(sprite->y) * 8; sprite->sSpeedX = ((x * 8) - sprite->sMonX) / 8; sprite->sSpeedY = ((y * 8) - sprite->sMonY) / 8; - sprite->data[6] = 8; + sprite->sMoveSteps = 8; sprite->callback = SpriteCB_MovePartyMonToNextSlot; } @@ -6496,10 +6497,10 @@ struct { {MAP_GROUPS_COUNT, 0, MOVE_SURF}, {MAP_GROUPS_COUNT, 0, MOVE_DIVE}, - {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_STRENGTH}, - {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_ROCK_SMASH}, - {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_STRENGTH}, - {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_ROCK_SMASH}, + {MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_STRENGTH}, + {MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_ROCK_SMASH}, + {MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_STRENGTH}, + {MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_ROCK_SMASH}, }; static void GetRestrictedReleaseMoves(u16 *moves) @@ -6982,7 +6983,7 @@ static void SetDisplayMonData(void *pokemon, u8 mode) txtPtr[1] = EOS; if (sStorage->displayMonItemId != ITEM_NONE) - StringCopyPadded(sStorage->displayMonItemName, ItemId_GetName(sStorage->displayMonItemId), CHAR_SPACE, 8); + StringCopyPadded(sStorage->displayMonItemName, GetItemName(sStorage->displayMonItemId), CHAR_SPACE, 8); else StringFill(sStorage->displayMonItemName, CHAR_SPACE, 8); } @@ -8257,7 +8258,7 @@ static bool8 MultiMove_GrabSelection(void) if (!DoMonPlaceChange()) { StartCursorAnim(CURSOR_ANIM_FIST); - MultiMove_InitMove(0, 256, 8); + MultiMove_InitMove(0, Q_8_8(1), 8); InitMultiMonPlaceChange(TRUE); sMultiMove->state++; } @@ -8290,7 +8291,7 @@ static bool8 MultiMove_PlaceMons(void) { case 0: MultiMove_SetPlacedMonData(); - MultiMove_InitMove(0, -256, 8); + MultiMove_InitMove(0, Q_8_8(-1), 8); InitMultiMonPlaceChange(FALSE); sMultiMove->state++; break; @@ -8334,25 +8335,25 @@ static bool8 MultiMove_TryMoveGroup(u8 dir) if (sMultiMove->minRow == 0) return FALSE; sMultiMove->minRow--; - MultiMove_InitMove(0, 1024, 6); + MultiMove_InitMove(0, Q_8_8(4), 6); break; case 1: // Down if (sMultiMove->minRow + sMultiMove->rowsTotal >= IN_BOX_ROWS) return FALSE; sMultiMove->minRow++; - MultiMove_InitMove(0, -1024, 6); + MultiMove_InitMove(0, Q_8_8(-4), 6); break; case 2: // Left if (sMultiMove->minColumn == 0) return FALSE; sMultiMove->minColumn--; - MultiMove_InitMove(1024, 0, 6); + MultiMove_InitMove(Q_8_8(4), 0, 6); break; case 3: // Right if (sMultiMove->minColumn + sMultiMove->columnsTotal >= IN_BOX_COLUMNS) return FALSE; sMultiMove->minColumn++; - MultiMove_InitMove(-1024, 0, 6); + MultiMove_InitMove(Q_8_8(-4), 0, 6); break; } return TRUE; @@ -8985,7 +8986,7 @@ static bool8 IsMovingItem(void) static const u8 *GetMovingItemName(void) { - return ItemId_GetName(sStorage->movingItemId); + return GetItemName(sStorage->movingItemId); } static u16 GetMovingItemId(void) @@ -9180,9 +9181,9 @@ static void PrintItemDescription(void) const u8 *description; if (IsMovingItem()) - description = ItemId_GetDescription(sStorage->movingItemId); + description = GetItemDescription(sStorage->movingItemId); else - description = ItemId_GetDescription(sStorage->displayMonItemId); + description = GetItemDescription(sStorage->displayMonItemId); FillWindowPixelBuffer(WIN_ITEM_DESC, PIXEL_FILL(1)); AddTextPrinterParameterized5(WIN_ITEM_DESC, FONT_NORMAL, description, 4, 0, 0, NULL, 0, 1); @@ -9632,9 +9633,9 @@ u32 CountAllStorageMons(void) return count; } -bool32 AnyStorageMonWithMove(u16 moveId) +bool32 AnyStorageMonWithMove(u16 move) { - u16 moves[] = {moveId, MOVES_COUNT}; + u16 moves[] = {move, MOVES_COUNT}; s32 i, j; for (i = 0; i < TOTAL_BOXES_COUNT; i++) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 4545411124..a5886fd6a9 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -88,13 +88,13 @@ enum { #define PSS_LABEL_WINDOW_PORTRAIT_SPECIES 19 // The lower name #define PSS_LABEL_WINDOW_END 20 -// Dynamic fields for the Pokemon Info page +// Dynamic fields for the Pokémon Info page #define PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER 0 #define PSS_DATA_WINDOW_INFO_ID 1 #define PSS_DATA_WINDOW_INFO_ABILITY 2 #define PSS_DATA_WINDOW_INFO_MEMO 3 -// Dynamic fields for the Pokemon Skills page +// Dynamic fields for the Pokémon Skills page #define PSS_DATA_WINDOW_SKILLS_HELD_ITEM 0 #define PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT 1 #define PSS_DATA_WINDOW_SKILLS_STATS_LEFT 2 // HP, Attack, Defense @@ -174,7 +174,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 currPageIndex; u8 minPageIndex; u8 maxPageIndex; - bool8 lockMonFlag; // This is used to prevent the player from changing pokemon in the move deleter select, etc, but it is not needed because the input is handled differently there + bool8 lockMonFlag; // This is used to prevent the player from changing Pokémon in the move deleter select, etc, but it is not needed because the input is handled differently there u16 newMove; u8 firstMoveIndex; u8 secondMoveIndex; @@ -184,7 +184,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 windowIds[8]; u8 spriteIds[SPRITE_ARR_ID_COUNT]; bool8 handleDeoxys; - s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data + s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or Pokémon data u8 unk_filler4[6]; } *sMonSummaryScreen = NULL; EWRAM_DATA u8 gLastViewedMonIndex = 0; @@ -2094,7 +2094,7 @@ static void ExitMovePositionSwitchMode(u8 taskId, bool8 swapMoves) static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &sMonSummaryScreen->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2129,7 +2129,7 @@ static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) { - struct PokeSummary* summary = &sMonSummaryScreen->summary; + struct PokeSummary *summary = &sMonSummaryScreen->summary; u16 move1 = summary->moves[moveIndex1]; u16 move2 = summary->moves[moveIndex2]; @@ -2682,7 +2682,7 @@ static void DrawContestMoveHearts(u16 move) } } -static void LimitEggSummaryPageDisplay(void) // If the pokemon is an egg, limit the number of pages displayed to 1 +static void LimitEggSummaryPageDisplay(void) // If the Pokémon is an egg, limit the number of pages displayed to 1 { if (sMonSummaryScreen->summary.isEgg) ChangeBgX(3, 0x10000, BG_COORD_SET); @@ -3324,7 +3324,7 @@ static void PrintHeldItemName(void) && IsMultiBattle() == TRUE && (sMonSummaryScreen->curMonIndex == 1 || sMonSummaryScreen->curMonIndex == 4 || sMonSummaryScreen->curMonIndex == 5)) { - text = ItemId_GetName(ITEM_ENIGMA_BERRY); + text = GetItemName(ITEM_ENIGMA_BERRY); } else if (sMonSummaryScreen->summary.item == ITEM_NONE) { @@ -3999,7 +3999,7 @@ static bool32 UNUSED IsMonAnimationFinished(void) return TRUE; } -static void StopPokemonAnimations(void) // A subtle effect, this function stops pokemon animations when leaving the PSS +static void StopPokemonAnimations(void) // A subtle effect, this function stops Pokémon animations when leaving the PSS { u16 i; u16 paletteIndex; diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c index 1817398020..fcda1aa7cd 100644 --- a/src/pokenav_conditions_search_results.c +++ b/src/pokenav_conditions_search_results.c @@ -184,13 +184,21 @@ static bool32 HandleConditionSearchInput_WaitSetup(struct Pokenav_SearchResults static u32 HandleConditionSearchInput(struct Pokenav_SearchResults *menu) { if (JOY_REPEAT(DPAD_UP)) + { return CONDITION_SEARCH_FUNC_MOVE_UP; + } else if (JOY_REPEAT(DPAD_DOWN)) + { return CONDITION_SEARCH_FUNC_MOVE_DOWN; + } else if (JOY_NEW(DPAD_LEFT)) + { return CONDITION_SEARCH_FUNC_PAGE_UP; + } else if (JOY_NEW(DPAD_RIGHT)) + { return CONDITION_SEARCH_FUNC_PAGE_DOWN; + } else if (JOY_NEW(B_BUTTON)) { // Exiting back to main search menu @@ -207,7 +215,9 @@ static u32 HandleConditionSearchInput(struct Pokenav_SearchResults *menu) return CONDITION_SEARCH_FUNC_SELECT_MON; } else + { return CONDITION_SEARCH_FUNC_NONE; + } } static u32 ReturnToConditionSearchList(struct Pokenav_SearchResults *menu) @@ -228,27 +238,27 @@ static u32 GetReturningFromGraph(void) static struct PokenavMonListItem * GetSearchResultsMonDataList(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); return menu->monList->monData; } static u16 GetSearchResultsMonListCount(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); return menu->monList->listCount; } // data below has been set by ConvertConditionsToListRanks static s32 GetSearchResultsSelectedMonRank(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); s32 i = PokenavList_GetSelectedIndex(); return menu->monList->monData[i].data; } static u16 GetSearchResultsCurrentListIndex(void) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); return menu->monList->currIndex; } @@ -261,7 +271,7 @@ static u32 BuildPartyMonSearchResults(s32 state) { s32 i; struct PokenavMonListItem item; - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); menu->monList->listCount = 0; menu->monList->currIndex = 0; @@ -284,7 +294,7 @@ static u32 BuildPartyMonSearchResults(s32 state) static u32 InitBoxMonSearchResults(s32 state) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); menu->monId = 0; menu->boxId = 0; return LT_INC_AND_CONTINUE; @@ -292,7 +302,7 @@ static u32 InitBoxMonSearchResults(s32 state) static u32 BuildBoxMonSearchResults(s32 state) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); s32 boxId = menu->boxId; s32 monId = menu->monId; s32 boxCount = 0; @@ -330,7 +340,7 @@ static u32 BuildBoxMonSearchResults(s32 state) // The condition value in data is then overwritten with their ranking. static u32 ConvertConditionsToListRanks(s32 state) { - struct Pokenav_SearchResults * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); + struct Pokenav_SearchResults *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS); s32 listCount = menu->monList->listCount; s32 prevCondition = menu->monList->monData[0].data; s32 i; @@ -688,12 +698,12 @@ static void CreateSearchResultsList(void) CreatePokenavList(&sConditionSearchResultBgTemplates[1], &template, 0); } -static void BufferSearchMonListItem(struct PokenavMonListItem * item, u8 * dest) +static void BufferSearchMonListItem(struct PokenavMonListItem *item, u8 *dest) { u8 gender; u8 level; - u8 * s; - const u8 * genderStr; + u8 *s; + const u8 *genderStr; // Mon is in party if (item->boxId == TOTAL_BOXES_COUNT) @@ -706,7 +716,7 @@ static void BufferSearchMonListItem(struct PokenavMonListItem * item, u8 * dest) // Mon is in PC else { - struct BoxPokemon * mon = GetBoxedMonPtr(item->boxId, item->monId); + struct BoxPokemon *mon = GetBoxedMonPtr(item->boxId, item->monId); gender = GetBoxMonGender(mon); level = GetLevelFromBoxMonExp(mon); GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3); diff --git a/src/pokenav_list.c b/src/pokenav_list.c index ed3d40dee2..9d1c561d1f 100644 --- a/src/pokenav_list.c +++ b/src/pokenav_list.c @@ -34,7 +34,7 @@ struct PokenavListWindowState { u16 selectedIndexOffset; u16 entriesOnscreen; u32 listItemSize; - void * listPtr; + void *listPtr; }; struct PokenavListSub @@ -43,7 +43,7 @@ struct PokenavListSub u32 printStart; u32 printIndex; u32 itemSize; - void * listPtr; + void *listPtr; s32 startBgY; s32 endBgY; u32 loopedTaskId; @@ -192,7 +192,7 @@ static void InitListItems(struct PokenavListWindowState *windowState, struct Pok PrintListItems(windowState->listPtr, windowState->windowTopIndex, numToPrint, windowState->listItemSize, 0, subPtr); } -static void PrintListItems(void * listPtr, u32 topIndex, u32 numItems, u32 itemSize, u32 printStart, struct PokenavListSub *list) +static void PrintListItems(void *listPtr, u32 topIndex, u32 numItems, u32 itemSize, u32 printStart, struct PokenavListSub *list) { if (numItems == 0) return; diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index f6d71009bb..1c3cf9aeeb 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -506,7 +506,7 @@ static const struct MatchCallStructTrainer sSidneyMatchCallHeader = { .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, - .flag = FLAG_REMATCH_SIDNEY, + .flag = FLAG_REGISTERED_SIDNEY, .rematchTableIdx = REMATCH_SIDNEY, .desc = gText_EliteFourMatchCallDesc, .name = NULL, @@ -522,7 +522,7 @@ static const struct MatchCallStructTrainer sPhoebeMatchCallHeader = { .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, - .flag = FLAG_REMATCH_PHOEBE, + .flag = FLAG_REGISTERED_PHOEBE, .rematchTableIdx = REMATCH_PHOEBE, .desc = gText_EliteFourMatchCallDesc, .name = NULL, @@ -538,7 +538,7 @@ static const struct MatchCallStructTrainer sGlaciaMatchCallHeader = { .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, - .flag = FLAG_REMATCH_GLACIA, + .flag = FLAG_REGISTERED_GLACIA, .rematchTableIdx = REMATCH_GLACIA, .desc = gText_EliteFourMatchCallDesc, .name = NULL, @@ -554,7 +554,7 @@ static const struct MatchCallStructTrainer sDrakeMatchCallHeader = { .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, - .flag = FLAG_REMATCH_DRAKE, + .flag = FLAG_REGISTERED_DRAKE, .rematchTableIdx = REMATCH_DRAKE, .desc = gText_EliteFourMatchCallDesc, .name = NULL, @@ -570,7 +570,7 @@ static const struct MatchCallStructTrainer sWallaceMatchCallHeader = { .type = MC_TYPE_LEADER, .mapSec = MAPSEC_EVER_GRANDE_CITY, - .flag = FLAG_REMATCH_WALLACE, + .flag = FLAG_REGISTERED_WALLACE, .rematchTableIdx = REMATCH_WALLACE, .desc = gText_ChampionMatchCallDesc, .name = NULL, @@ -1136,7 +1136,7 @@ bool32 MatchCall_HasRematchId(u32 idx) void SetMatchCallRegisteredFlag(void) { - int r0 = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); - if (r0 >= 0) - FlagSet(FLAG_MATCH_CALL_REGISTERED + r0); + int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + if (index >= 0) + FlagSet(TRAINER_REGISTERED_FLAGS_START + index); } diff --git a/src/pokenav_match_call_list.c b/src/pokenav_match_call_list.c index 8d1a73f557..fb89e33e0b 100755 --- a/src/pokenav_match_call_list.c +++ b/src/pokenav_match_call_list.c @@ -261,7 +261,7 @@ static u32 LoopedTask_BuildMatchCallList(s32 taskState) bool32 IsRematchEntryRegistered(int rematchIndex) { if (rematchIndex < REMATCH_TABLE_ENTRIES) - return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex); + return FlagGet(TRAINER_REGISTERED_FLAGS_START + rematchIndex); return FALSE; } diff --git a/src/pokenav_menu_handler.c b/src/pokenav_menu_handler.c index b81b4c892f..d67f61c1ea 100644 --- a/src/pokenav_menu_handler.c +++ b/src/pokenav_menu_handler.c @@ -257,7 +257,7 @@ static u32 HandleMainMenuInput(struct Pokenav_Menu *menu) return POKENAV_MENU_FUNC_NONE; } -// Force the player to select Match Call during the call Mr. Stone pokenav tutorial +// Force the player to select Match Call during the call Mr. Stone PokéNav tutorial static u32 HandleMainMenuInputTutorial(struct Pokenav_Menu *menu) { if (UpdateMenuCursorPos(menu)) @@ -287,7 +287,7 @@ static u32 HandleMainMenuInputTutorial(struct Pokenav_Menu *menu) return POKENAV_MENU_FUNC_NONE; } -// After calling Mr. Stone during the pokenav tutorial, force player to exit or use Match Call again +// After calling Mr. Stone during the PokéNav tutorial, force player to exit or use Match Call again static u32 HandleMainMenuInputEndTutorial(struct Pokenav_Menu *menu) { if (UpdateMenuCursorPos(menu)) diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index ede88affdb..ce17f33cfc 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -45,8 +45,8 @@ struct Pokenav_MenuGfx u8 numIconsBlending; bool8 pokenavAlreadyOpen; bool32 iconVisible[MAX_POKENAV_MENUITEMS]; - struct Sprite * blueLightSprite; - struct Sprite * iconSprites[MAX_POKENAV_MENUITEMS][NUM_OPTION_SUBSPRITES]; + struct Sprite *blueLightSprite; + struct Sprite *iconSprites[MAX_POKENAV_MENUITEMS][NUM_OPTION_SUBSPRITES]; u8 bg1TilemapBuffer[BG_SCREEN_SIZE]; }; @@ -380,7 +380,7 @@ static bool32 AreAnyTrainerRematchesNearby(void) bool32 OpenPokenavMenuInitial(void) { - struct Pokenav_MenuGfx * gfx = OpenPokenavMenu(); + struct Pokenav_MenuGfx *gfx = OpenPokenavMenu(); if (gfx == NULL) return FALSE; @@ -391,7 +391,7 @@ bool32 OpenPokenavMenuInitial(void) bool32 OpenPokenavMenuNotInitial(void) { - struct Pokenav_MenuGfx * gfx = OpenPokenavMenu(); + struct Pokenav_MenuGfx *gfx = OpenPokenavMenu(); if (gfx == NULL) return FALSE; @@ -402,7 +402,7 @@ bool32 OpenPokenavMenuNotInitial(void) static struct Pokenav_MenuGfx * OpenPokenavMenu(void) { - struct Pokenav_MenuGfx * gfx = AllocSubstruct(POKENAV_SUBSTRUCT_MENU_GFX, sizeof(struct Pokenav_MenuGfx)); + struct Pokenav_MenuGfx *gfx = AllocSubstruct(POKENAV_SUBSTRUCT_MENU_GFX, sizeof(struct Pokenav_MenuGfx)); if (gfx != NULL) { @@ -416,20 +416,20 @@ static struct Pokenav_MenuGfx * OpenPokenavMenu(void) void CreateMenuHandlerLoopedTask(s32 ltIdx) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); gfx->loopedTaskId = CreateLoopedTask(sMenuHandlerLoopTaskFuncs[ltIdx], 1); gfx->isTaskActiveCB = GetCurrentLoopedTaskActive; } bool32 IsMenuHandlerLoopedTaskActive(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); return gfx->isTaskActiveCB(); } void FreeMenuHandlerSubstruct2(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); DestroyMovingDotsBgTask(); RemoveWindow(gfx->optionDescWindowId); @@ -440,14 +440,14 @@ void FreeMenuHandlerSubstruct2(void) static bool32 GetCurrentLoopedTaskActive(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); return IsLoopedTaskActive(gfx->loopedTaskId); } static u32 LoopedTask_OpenMenu(s32 state) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); switch (state) { @@ -505,7 +505,9 @@ static u32 LoopedTask_OpenMenu(s32 state) ShowBg(2); ShowBg(3); if (gfx->pokenavAlreadyOpen) + { PokenavFadeScreen(POKENAV_FADE_FROM_BLACK); + } else { PlaySE(SE_POKENAV_ON); @@ -815,7 +817,7 @@ static void FreeAndDestroyMainMenuSprites(void) static void CreateMenuOptionSprites(void) { s32 i, j; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); for (i = 0; i < MAX_POKENAV_MENUITEMS; i++) { @@ -831,7 +833,7 @@ static void CreateMenuOptionSprites(void) static void DestroyMenuOptionSprites(void) { s32 i, j; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); for (i = 0; i < MAX_POKENAV_MENUITEMS; i++) { @@ -852,7 +854,7 @@ static void DrawCurrentMenuOptionLabels(void) static void DrawOptionLabelGfx(const u16 *const *optionGfx, s32 yPos, s32 deltaY) { s32 i, j; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); s32 baseTile = GetSpriteTileStartByTag(GFXTAG_OPTIONS); for (i = 0; i < MAX_POKENAV_MENUITEMS; i++) @@ -985,7 +987,7 @@ static bool32 AreMenuOptionSpritesMoving(void) #define sSlideSpeed data[2] #define sSlideEndX data[7] -static void StartOptionSlide(struct Sprite ** sprites, s32 startX, s32 endX, s32 time) +static void StartOptionSlide(struct Sprite **sprites, s32 startX, s32 endX, s32 time) { s32 i; @@ -1014,10 +1016,10 @@ static void StartOptionSlide(struct Sprite ** sprites, s32 startX, s32 endX, s32 // When an option is selected it zooms in and blends away as part // of the transition to the next screen. -static void StartOptionZoom(struct Sprite ** sprites) +static void StartOptionZoom(struct Sprite **sprites) { s32 i; - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); u8 taskId; for (i = 0; i < NUM_OPTION_SUBSPRITES; i++) @@ -1039,7 +1041,7 @@ static void StartOptionZoom(struct Sprite ** sprites) gfx->numIconsBlending++; } -static void SetOptionInvisibility(struct Sprite ** sprites, bool32 invisible) +static void SetOptionInvisibility(struct Sprite **sprites, bool32 invisible) { s32 i; @@ -1050,7 +1052,7 @@ static void SetOptionInvisibility(struct Sprite ** sprites, bool32 invisible) } } -static void SpriteCB_OptionSlide(struct Sprite * sprite) +static void SpriteCB_OptionSlide(struct Sprite *sprite) { sprite->sSlideTime--; if (sprite->sSlideTime != -1) @@ -1070,7 +1072,7 @@ static void SpriteCB_OptionSlide(struct Sprite * sprite) #undef sSlideSpeed #undef sSlideEndX -static void SpriteCB_OptionZoom(struct Sprite * sprite) +static void SpriteCB_OptionZoom(struct Sprite *sprite) { s32 temp; s32 x; @@ -1131,7 +1133,7 @@ static void SpriteCB_OptionZoom(struct Sprite * sprite) static void Task_OptionBlend(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (tBlendDelay == 0) { @@ -1183,7 +1185,7 @@ static void Task_OptionBlend(u8 taskId) // Blue light that blinks if there are available rematches nearby static void CreateMatchCallBlueLightSprite(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); u8 spriteId = CreateSprite(&sMatchCallBlueLightSpriteTemplate, 0x10, 0x60, 4); gfx->blueLightSprite = &gSprites[spriteId]; if (AreAnyTrainerRematchesNearby()) @@ -1198,7 +1200,7 @@ static void DestroyRematchBlueLightSprite(void) DestroySprite(gfx->blueLightSprite); } -static void SpriteCB_BlinkingBlueLight(struct Sprite * sprite) +static void SpriteCB_BlinkingBlueLight(struct Sprite *sprite) { sprite->data[0]++; if (sprite->data[0] > 8) @@ -1210,7 +1212,7 @@ static void SpriteCB_BlinkingBlueLight(struct Sprite * sprite) static void AddOptionDescriptionWindow(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); gfx->optionDescWindowId = AddWindow(&sOptionDescWindowTemplate); PutWindowTilemap(gfx->optionDescWindowId); @@ -1220,9 +1222,9 @@ static void AddOptionDescriptionWindow(void) static void PrintCurrentOptionDescription(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); int menuItem = GetCurrentMenuItemId(); - const u8 * desc = sPageDescriptions[menuItem]; + const u8 *desc = sPageDescriptions[menuItem]; u32 width = GetStringWidth(FONT_NORMAL, desc, -1); FillWindowPixelBuffer(gfx->optionDescWindowId, PIXEL_FILL(6)); AddTextPrinterParameterized3(gfx->optionDescWindowId, FONT_NORMAL, (192 - width) / 2, 1, sOptionDescTextColors, 0, desc); @@ -1232,8 +1234,8 @@ static void PrintCurrentOptionDescription(void) // Can occur by obtaining a mon with a ribbon and then releasing all ribbon winners static void PrintNoRibbonWinners(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); - const u8 * s = gText_NoRibbonWinners; + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + const u8 *s = gText_NoRibbonWinners; u32 width = GetStringWidth(FONT_NORMAL, s, -1); FillWindowPixelBuffer(gfx->optionDescWindowId, PIXEL_FILL(6)); AddTextPrinterParameterized3(gfx->optionDescWindowId, FONT_NORMAL, (192 - width) / 2, 1, sOptionDescTextColors2, 0, s); @@ -1246,13 +1248,13 @@ static bool32 IsDma3ManagerBusyWithBgCopy_(void) static void CreateMovingBgDotsTask(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); gfx->bg3ScrollTaskId = CreateTask(Task_MoveBgDots, 2); } static void DestroyMovingDotsBgTask(void) { - struct Pokenav_MenuGfx * gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); + struct Pokenav_MenuGfx *gfx = GetSubstructPtr(POKENAV_SUBSTRUCT_MENU_GFX); DestroyTask(gfx->bg3ScrollTaskId); } @@ -1288,9 +1290,9 @@ static bool32 IsTaskActive_UpdateBgDotsPalette(void) static void Task_UpdateBgDotsPalette(u8 taskId) { u16 sp8[2]; - s16 * data = gTasks[taskId].data; - const u16 * pal1 = (const u16 *)GetWordTaskArg(taskId, 1); - const u16 * pal2 = (const u16 *)GetWordTaskArg(taskId, 3); + s16 *data = gTasks[taskId].data; + const u16 *pal1 = (const u16 *)GetWordTaskArg(taskId, 1); + const u16 *pal2 = (const u16 *)GetWordTaskArg(taskId, 3); PokenavCopyPalette(pal1, pal2, 2, 12, ++data[0], sp8); LoadPalette(sp8, BG_PLTT_ID(3) + 1, PLTT_SIZEOF(2)); @@ -1343,7 +1345,7 @@ static void InitMenuOptionGlow(void) static void Task_CurrentMenuOptionGlow(u8 taskId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; data[0]++; if (data[0] > 0) { diff --git a/src/pokenav_ribbons_list.c b/src/pokenav_ribbons_list.c index 05eded6240..44fd309c38 100644 --- a/src/pokenav_ribbons_list.c +++ b/src/pokenav_ribbons_list.c @@ -217,26 +217,26 @@ static u32 UpdateMonListBgs(void) static struct PokenavMonListItem *GetMonRibbonMonListData(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); return list->monList->monData; } static s32 GetRibbonsMonListCount(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); return list->monList->listCount; } static s32 UNUSED GetMonRibbonSelectedMonData(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); s32 idx = PokenavList_GetSelectedIndex(); return list->monList->monData[idx].data; } static s32 GetRibbonListMenuCurrIndex(void) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); return list->monList->currIndex; } @@ -249,7 +249,7 @@ static u32 BuildPartyMonRibbonList(s32 state) { s32 i; struct PokenavMonListItem item; - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); list->monList->listCount = 0; list->monList->currIndex = 0; @@ -284,7 +284,7 @@ static u32 InitBoxMonRibbonList(s32 state) static u32 BuildBoxMonRibbonList(s32 state) { - struct Pokenav_RibbonsMonList * list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); + struct Pokenav_RibbonsMonList *list = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_LIST); s32 boxId = list->boxId; s32 monId = list->monId; s32 boxCount = 0; @@ -408,13 +408,13 @@ bool32 IsRibbonsMonListLoopedTaskActive(void) bool32 GetRibbonsMonCurrentLoopedTaskActive(void) { - struct Pokenav_RibbonsMonMenu * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); + struct Pokenav_RibbonsMonMenu *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); return IsLoopedTaskActive(menu->loopedTaskId); } void FreeRibbonsMonMenu(void) { - struct Pokenav_RibbonsMonMenu * menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); + struct Pokenav_RibbonsMonMenu *menu = GetSubstructPtr(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); DestroyPokenavList(); RemoveWindow(menu->winid); FreePokenavSubstruct(POKENAV_SUBSTRUCT_RIBBONS_MON_MENU); @@ -668,7 +668,7 @@ static void DrawListIndexNumber(s32 windowId, s32 index, s32 max) u8 strbuf[16]; u32 x; - u8 * ptr = strbuf; + u8 *ptr = strbuf; ptr = ConvertIntToDecimalStringN(ptr, index, STR_CONV_MODE_RIGHT_ALIGN, 3); *ptr++ = CHAR_SLASH; ConvertIntToDecimalStringN(ptr, max, STR_CONV_MODE_RIGHT_ALIGN, 3); @@ -695,13 +695,13 @@ static void CreateRibbonMonsList(void) } // Buffers the "Nickname gender/level" text for the ribbon mon list -static void BufferRibbonMonInfoText(struct PokenavListItem * listItem, u8 * dest) +static void BufferRibbonMonInfoText(struct PokenavListItem *listItem, u8 *dest) { u8 gender; u8 level; - u8 * s; - const u8 * genderStr; - struct PokenavMonListItem * item = (struct PokenavMonListItem *)listItem; + u8 *s; + const u8 *genderStr; + struct PokenavMonListItem *item = (struct PokenavMonListItem *)listItem; // Mon is in party if (item->boxId == TOTAL_BOXES_COUNT) @@ -714,7 +714,7 @@ static void BufferRibbonMonInfoText(struct PokenavListItem * listItem, u8 * dest // Mon is in PC else { - struct BoxPokemon * mon = GetBoxedMonPtr(item->boxId, item->monId); + struct BoxPokemon *mon = GetBoxedMonPtr(item->boxId, item->monId); gender = GetBoxMonGender(mon); level = GetLevelFromBoxMonExp(mon); GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3); diff --git a/src/pokenav_ribbons_summary.c b/src/pokenav_ribbons_summary.c index e77f839a80..c799daf57b 100644 --- a/src/pokenav_ribbons_summary.c +++ b/src/pokenav_ribbons_summary.c @@ -1080,7 +1080,7 @@ enum { RIBBONGFX_GIFT_3, }; -#define TO_PAL_OFFSET(palNum)((palNum) - PALTAG_RIBBON_ICONS_1) +#define TO_PAL_OFFSET(palNum) ((palNum) - PALTAG_RIBBON_ICONS_1) struct { diff --git a/src/random.c b/src/random.c index de923fba63..aa2c67750d 100644 --- a/src/random.c +++ b/src/random.c @@ -5,8 +5,8 @@ EWRAM_DATA static u8 sUnknown = 0; EWRAM_DATA static u32 sRandCount = 0; // IWRAM common -u32 gRngValue; -u32 gRng2Value; +COMMON_DATA u32 gRngValue = 0; +COMMON_DATA u32 gRng2Value = 0; u16 Random(void) { diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 42866c723b..559fc445f1 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -27,7 +27,7 @@ struct PlayerInfo u32 trainerId; u8 name[PLAYER_NAME_LENGTH + 1]; u8 gender; - u16 battlerId; + u16 battler; u16 language; }; @@ -35,13 +35,13 @@ struct RecordedBattleSave { struct Pokemon playerParty[PARTY_SIZE]; struct Pokemon opponentParty[PARTY_SIZE]; - u8 playersName[MAX_BATTLERS_COUNT][PLAYER_NAME_LENGTH + 1]; - u8 playersGender[MAX_BATTLERS_COUNT]; - u32 playersTrainerId[MAX_BATTLERS_COUNT]; - u8 playersLanguage[MAX_BATTLERS_COUNT]; + u8 playersName[MAX_LINK_PLAYERS][PLAYER_NAME_LENGTH + 1]; + u8 playersGender[MAX_LINK_PLAYERS]; + u32 playersTrainerId[MAX_LINK_PLAYERS]; + u8 playersLanguage[MAX_LINK_PLAYERS]; u32 rngSeed; u32 battleFlags; - u8 playersBattlers[MAX_BATTLERS_COUNT]; + u8 playersBattlers[MAX_LINK_PLAYERS]; u16 opponentA; u16 opponentB; u16 partnerId; @@ -85,7 +85,7 @@ EWRAM_DATA static u32 sAI_Scripts = 0; EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0}; EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0}; EWRAM_DATA static u16 sPlayerMonMoves[MAX_BATTLERS_COUNT / 2][MAX_MON_MOVES] = {0}; -EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA static struct PlayerInfo sPlayers[MAX_LINK_PLAYERS] = {0}; EWRAM_DATA static bool8 sIsPlaybackFinished = 0; EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {0}; EWRAM_DATA static u8 sRecordMixFriendClass = 0; @@ -148,11 +148,11 @@ void RecordedBattle_SetTrainerInfo(void) gRecordedBattleMultiplayerId = GetMultiplayerId(); linkPlayersCount = GetLinkPlayerCount(); - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { sPlayers[i].trainerId = gLinkPlayers[i].trainerId; sPlayers[i].gender = gLinkPlayers[i].gender; - sPlayers[i].battlerId = gLinkPlayers[i].id; + sPlayers[i].battler = gLinkPlayers[i].id; sPlayers[i].language = gLinkPlayers[i].language; // Record names @@ -178,7 +178,7 @@ void RecordedBattle_SetTrainerInfo(void) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); sPlayers[0].gender = gSaveBlock2Ptr->playerGender; - sPlayers[0].battlerId = 0; + sPlayers[0].battler = 0; sPlayers[0].language = gGameLanguage; for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) @@ -186,29 +186,29 @@ void RecordedBattle_SetTrainerInfo(void) } } -void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action) +void RecordedBattle_SetBattlerAction(u8 battler, u8 action) { - if (sBattlerRecordSizes[battlerId] < BATTLER_RECORD_SIZE && sRecordMode != B_RECORD_MODE_PLAYBACK) - sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]++] = action; + if (sBattlerRecordSizes[battler] < BATTLER_RECORD_SIZE && sRecordMode != B_RECORD_MODE_PLAYBACK) + sBattleRecords[battler][sBattlerRecordSizes[battler]++] = action; } -void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear) +void RecordedBattle_ClearBattlerAction(u8 battler, u8 bytesToClear) { s32 i; for (i = 0; i < bytesToClear; i++) { - sBattlerRecordSizes[battlerId]--; - sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] = 0xFF; - if (sBattlerRecordSizes[battlerId] == 0) + sBattlerRecordSizes[battler]--; + sBattleRecords[battler][sBattlerRecordSizes[battler]] = 0xFF; + if (sBattlerRecordSizes[battler] == 0) break; } } -u8 RecordedBattle_GetBattlerAction(u8 battlerId) +u8 RecordedBattle_GetBattlerAction(u8 battler) { // Trying to read past array or invalid action byte, battle is over. - if (sBattlerRecordSizes[battlerId] >= BATTLER_RECORD_SIZE || sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] == 0xFF) + if (sBattlerRecordSizes[battler] >= BATTLER_RECORD_SIZE || sBattleRecords[battler][sBattlerRecordSizes[battler]] == 0xFF) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); @@ -218,7 +218,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId) } else { - return sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]++]; + return sBattleRecords[battler][sBattlerRecordSizes[battler]++]; } } @@ -268,11 +268,11 @@ void RecordedBattle_RecordAllBattlerData(u8 *src) { for (size = *src; size != 0;) { - u8 battlerId = GetNextRecordedDataByte(src, &idx, &size); + u8 battler = GetNextRecordedDataByte(src, &idx, &size); u8 numActions = GetNextRecordedDataByte(src, &idx, &size); for (i = 0; i < numActions; i++) - sBattleRecords[battlerId][sBattlerSavedRecordSizes[battlerId]++] = GetNextRecordedDataByte(src, &idx, &size); + sBattleRecords[battler][sBattlerSavedRecordSizes[battler]++] = GetNextRecordedDataByte(src, &idx, &size); } } } @@ -333,13 +333,13 @@ bool32 MoveRecordedBattleToSaveData(void) battleSave->opponentParty[i] = sSavedOpponentParty[i]; } - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++) battleSave->playersName[i][j] = sPlayers[i].name[j]; battleSave->playersGender[i] = sPlayers[i].gender; battleSave->playersLanguage[i] = sPlayers[i].language; - battleSave->playersBattlers[i] = sPlayers[i].battlerId; + battleSave->playersBattlers[i] = sPlayers[i].battler; battleSave->playersTrainerId[i] = sPlayers[i].trainerId; } @@ -358,16 +358,16 @@ bool32 MoveRecordedBattleToSaveData(void) } else if (sBattleFlags & BATTLE_TYPE_MULTI) { - switch (sPlayers[0].battlerId) + switch (sPlayers[0].battler) { case 0: case 2: - if (!(sPlayers[gRecordedBattleMultiplayerId].battlerId & 1)) + if (!(sPlayers[gRecordedBattleMultiplayerId].battler & 1)) battleSave->battleFlags |= BATTLE_TYPE_RECORDED_IS_MASTER; break; case 1: case 3: - if ((sPlayers[gRecordedBattleMultiplayerId].battlerId & 1)) + if ((sPlayers[gRecordedBattleMultiplayerId].battler & 1)) battleSave->battleFlags |= BATTLE_TYPE_RECORDED_IS_MASTER; break; } @@ -535,7 +535,7 @@ static void SetVariablesForRecordedBattle(struct RecordedBattleSave *src) gEnemyParty[i] = src->opponentParty[i]; } - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { for (var = FALSE, j = 0; j < PLAYER_NAME_LENGTH + 1; j++) { @@ -707,35 +707,35 @@ void RecordedBattle_CopyBattlerMoves(void) void RecordedBattle_CheckMovesetChanges(u8 mode) { - s32 battlerId, j, k; + s32 battler, j, k; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) return; - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { // Player's side only - if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + if (GetBattlerSide(battler) != B_SIDE_OPPONENT) { if (mode == B_RECORD_MODE_RECORDING) { // Check if any of the battler's moves have changed. for (j = 0; j < MAX_MON_MOVES; j++) { - if (gBattleMons[battlerId].moves[j] != sPlayerMonMoves[battlerId / 2][j]) + if (gBattleMons[battler].moves[j] != sPlayerMonMoves[battler / 2][j]) break; } if (j != MAX_MON_MOVES) { // At least one of the moves has been changed - RecordedBattle_SetBattlerAction(battlerId, ACTION_MOVE_CHANGE); + RecordedBattle_SetBattlerAction(battler, ACTION_MOVE_CHANGE); for (j = 0; j < MAX_MON_MOVES; j++) { for (k = 0; k < MAX_MON_MOVES; k++) { - if (gBattleMons[battlerId].moves[j] == sPlayerMonMoves[battlerId / 2][k]) + if (gBattleMons[battler].moves[j] == sPlayerMonMoves[battler / 2][k]) { - RecordedBattle_SetBattlerAction(battlerId, k); + RecordedBattle_SetBattlerAction(battler, k); break; } } @@ -744,7 +744,7 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) } else // B_RECORD_MODE_PLAYBACK { - if (sBattleRecords[battlerId][sBattlerRecordSizes[battlerId]] == ACTION_MOVE_CHANGE) + if (sBattleRecords[battler][sBattlerRecordSizes[battler]] == ACTION_MOVE_CHANGE) { u8 ppBonuses[MAX_MON_MOVES]; u8 moveSlots[MAX_MON_MOVES]; @@ -754,55 +754,55 @@ void RecordedBattle_CheckMovesetChanges(u8 mode) // We know the current action is ACTION_MOVE_CHANGE, retrieve // it without saving it to move on to the next action. - RecordedBattle_GetBattlerAction(battlerId); + RecordedBattle_GetBattlerAction(battler); for (j = 0; j < MAX_MON_MOVES; j++) - ppBonuses[j] = ((gBattleMons[battlerId].ppBonuses & (3 << (j << 1))) >> (j << 1)); + ppBonuses[j] = ((gBattleMons[battler].ppBonuses & (3 << (j << 1))) >> (j << 1)); for (j = 0; j < MAX_MON_MOVES; j++) { - moveSlots[j] = RecordedBattle_GetBattlerAction(battlerId); - movePp.moves[j] = gBattleMons[battlerId].moves[moveSlots[j]]; - movePp.currentPp[j] = gBattleMons[battlerId].pp[moveSlots[j]]; + moveSlots[j] = RecordedBattle_GetBattlerAction(battler); + movePp.moves[j] = gBattleMons[battler].moves[moveSlots[j]]; + movePp.currentPp[j] = gBattleMons[battler].pp[moveSlots[j]]; movePp.maxPp[j] = ppBonuses[moveSlots[j]]; - mimickedMoveSlots[j] = (gDisableStructs[battlerId].mimickedMoves & gBitTable[j]) >> j; + mimickedMoveSlots[j] = (gDisableStructs[battler].mimickedMoves & gBitTable[j]) >> j; } for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleMons[battlerId].moves[j] = movePp.moves[j]; - gBattleMons[battlerId].pp[j] = movePp.currentPp[j]; + gBattleMons[battler].moves[j] = movePp.moves[j]; + gBattleMons[battler].pp[j] = movePp.currentPp[j]; } - gBattleMons[battlerId].ppBonuses = 0; - gDisableStructs[battlerId].mimickedMoves = 0; + gBattleMons[battler].ppBonuses = 0; + gDisableStructs[battler].mimickedMoves = 0; for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleMons[battlerId].ppBonuses |= movePp.maxPp[j] << (j << 1); - gDisableStructs[battlerId].mimickedMoves |= mimickedMoveSlots[j] << j; + gBattleMons[battler].ppBonuses |= movePp.maxPp[j] << (j << 1); + gDisableStructs[battler].mimickedMoves |= mimickedMoveSlots[j] << j; } - if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)) + if (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { for (j = 0; j < MAX_MON_MOVES; j++) - ppBonuses[j] = (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1); + ppBonuses[j] = (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP_BONUSES, NULL) & ((3 << (j << 1)))) >> (j << 1); for (j = 0; j < MAX_MON_MOVES; j++) { - movePp.moves[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + moveSlots[j], NULL); - movePp.currentPp[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + moveSlots[j], NULL); + movePp.moves[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + moveSlots[j], NULL); + movePp.currentPp[j] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP1 + moveSlots[j], NULL); movePp.maxPp[j] = ppBonuses[moveSlots[j]]; } for (j = 0; j < MAX_MON_MOVES; j++) { - SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + j, &movePp.moves[j]); - SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP1 + j, &movePp.currentPp[j]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + j, &movePp.moves[j]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP1 + j, &movePp.currentPp[j]); } ppBonusSet = 0; for (j = 0; j < MAX_MON_MOVES; j++) ppBonusSet |= movePp.maxPp[j] << (j << 1); - SetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PP_BONUSES, &ppBonusSet); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP_BONUSES, &ppBonusSet); } - gChosenMoveByBattler[battlerId] = gBattleMons[battlerId].moves[*(gBattleStruct->chosenMovePositions + battlerId)]; + gChosenMoveByBattler[battler] = gBattleMons[battler].moves[*(gBattleStruct->chosenMovePositions + battler)]; } } } diff --git a/src/region_map.c b/src/region_map.c index 21c6314d30..22a3f567b4 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -189,7 +189,7 @@ static const u16 sTerraOrMarineCaveMapSecIds[ABNORMAL_WEATHER_LOCATIONS] = [ABNORMAL_WEATHER_ROUTE_129_EAST - 1] = MAPSEC_ROUTE_129 }; -#define MARINE_CAVE_COORD(location)(ABNORMAL_WEATHER_##location - MARINE_CAVE_LOCATIONS_START) +#define MARINE_CAVE_COORD(location) (ABNORMAL_WEATHER_##location - MARINE_CAVE_LOCATIONS_START) static const struct UCoords16 sMarineCaveLocationCoords[MARINE_CAVE_LOCATIONS] = { @@ -288,56 +288,56 @@ static const u32 sFlyTargetIcons_Gfx[] = INCBIN_U32("graphics/pokenav/region_map static const u8 sMapHealLocations[][3] = { - [MAPSEC_LITTLEROOT_TOWN] = {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, - [MAPSEC_OLDALE_TOWN] = {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, - [MAPSEC_DEWFORD_TOWN] = {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, - [MAPSEC_LAVARIDGE_TOWN] = {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN}, - [MAPSEC_FALLARBOR_TOWN] = {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN}, - [MAPSEC_VERDANTURF_TOWN] = {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN}, - [MAPSEC_PACIFIDLOG_TOWN] = {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN}, - [MAPSEC_PETALBURG_CITY] = {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY}, - [MAPSEC_SLATEPORT_CITY] = {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY}, - [MAPSEC_MAUVILLE_CITY] = {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY}, - [MAPSEC_RUSTBORO_CITY] = {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY}, - [MAPSEC_FORTREE_CITY] = {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY}, - [MAPSEC_LILYCOVE_CITY] = {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY}, - [MAPSEC_MOSSDEEP_CITY] = {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, - [MAPSEC_SOOTOPOLIS_CITY] = {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, - [MAPSEC_EVER_GRANDE_CITY] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY}, - [MAPSEC_ROUTE_101] = {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), HEAL_LOCATION_NONE}, - [MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), HEAL_LOCATION_NONE}, + [MAPSEC_LITTLEROOT_TOWN] = {MAP_GROUP(MAP_LITTLEROOT_TOWN), MAP_NUM(MAP_LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, + [MAPSEC_OLDALE_TOWN] = {MAP_GROUP(MAP_OLDALE_TOWN), MAP_NUM(MAP_OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, + [MAPSEC_DEWFORD_TOWN] = {MAP_GROUP(MAP_DEWFORD_TOWN), MAP_NUM(MAP_DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, + [MAPSEC_LAVARIDGE_TOWN] = {MAP_GROUP(MAP_LAVARIDGE_TOWN), MAP_NUM(MAP_LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN}, + [MAPSEC_FALLARBOR_TOWN] = {MAP_GROUP(MAP_FALLARBOR_TOWN), MAP_NUM(MAP_FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN}, + [MAPSEC_VERDANTURF_TOWN] = {MAP_GROUP(MAP_VERDANTURF_TOWN), MAP_NUM(MAP_VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN}, + [MAPSEC_PACIFIDLOG_TOWN] = {MAP_GROUP(MAP_PACIFIDLOG_TOWN), MAP_NUM(MAP_PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN}, + [MAPSEC_PETALBURG_CITY] = {MAP_GROUP(MAP_PETALBURG_CITY), MAP_NUM(MAP_PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY}, + [MAPSEC_SLATEPORT_CITY] = {MAP_GROUP(MAP_SLATEPORT_CITY), MAP_NUM(MAP_SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY}, + [MAPSEC_MAUVILLE_CITY] = {MAP_GROUP(MAP_MAUVILLE_CITY), MAP_NUM(MAP_MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY}, + [MAPSEC_RUSTBORO_CITY] = {MAP_GROUP(MAP_RUSTBORO_CITY), MAP_NUM(MAP_RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY}, + [MAPSEC_FORTREE_CITY] = {MAP_GROUP(MAP_FORTREE_CITY), MAP_NUM(MAP_FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY}, + [MAPSEC_LILYCOVE_CITY] = {MAP_GROUP(MAP_LILYCOVE_CITY), MAP_NUM(MAP_LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY}, + [MAPSEC_MOSSDEEP_CITY] = {MAP_GROUP(MAP_MOSSDEEP_CITY), MAP_NUM(MAP_MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, + [MAPSEC_SOOTOPOLIS_CITY] = {MAP_GROUP(MAP_SOOTOPOLIS_CITY), MAP_NUM(MAP_SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, + [MAPSEC_EVER_GRANDE_CITY] = {MAP_GROUP(MAP_EVER_GRANDE_CITY), MAP_NUM(MAP_EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY}, + [MAPSEC_ROUTE_101] = {MAP_GROUP(MAP_ROUTE101), MAP_NUM(MAP_ROUTE101), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_102] = {MAP_GROUP(MAP_ROUTE102), MAP_NUM(MAP_ROUTE102), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_103] = {MAP_GROUP(MAP_ROUTE103), MAP_NUM(MAP_ROUTE103), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_104] = {MAP_GROUP(MAP_ROUTE104), MAP_NUM(MAP_ROUTE104), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_105] = {MAP_GROUP(MAP_ROUTE105), MAP_NUM(MAP_ROUTE105), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_106] = {MAP_GROUP(MAP_ROUTE106), MAP_NUM(MAP_ROUTE106), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_107] = {MAP_GROUP(MAP_ROUTE107), MAP_NUM(MAP_ROUTE107), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_108] = {MAP_GROUP(MAP_ROUTE108), MAP_NUM(MAP_ROUTE108), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_109] = {MAP_GROUP(MAP_ROUTE109), MAP_NUM(MAP_ROUTE109), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_110] = {MAP_GROUP(MAP_ROUTE110), MAP_NUM(MAP_ROUTE110), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_111] = {MAP_GROUP(MAP_ROUTE111), MAP_NUM(MAP_ROUTE111), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_112] = {MAP_GROUP(MAP_ROUTE112), MAP_NUM(MAP_ROUTE112), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_113] = {MAP_GROUP(MAP_ROUTE113), MAP_NUM(MAP_ROUTE113), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_114] = {MAP_GROUP(MAP_ROUTE114), MAP_NUM(MAP_ROUTE114), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_115] = {MAP_GROUP(MAP_ROUTE115), MAP_NUM(MAP_ROUTE115), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_116] = {MAP_GROUP(MAP_ROUTE116), MAP_NUM(MAP_ROUTE116), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_117] = {MAP_GROUP(MAP_ROUTE117), MAP_NUM(MAP_ROUTE117), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_118] = {MAP_GROUP(MAP_ROUTE118), MAP_NUM(MAP_ROUTE118), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_119] = {MAP_GROUP(MAP_ROUTE119), MAP_NUM(MAP_ROUTE119), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_120] = {MAP_GROUP(MAP_ROUTE120), MAP_NUM(MAP_ROUTE120), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_121] = {MAP_GROUP(MAP_ROUTE121), MAP_NUM(MAP_ROUTE121), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_122] = {MAP_GROUP(MAP_ROUTE122), MAP_NUM(MAP_ROUTE122), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_123] = {MAP_GROUP(MAP_ROUTE123), MAP_NUM(MAP_ROUTE123), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_124] = {MAP_GROUP(MAP_ROUTE124), MAP_NUM(MAP_ROUTE124), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_125] = {MAP_GROUP(MAP_ROUTE125), MAP_NUM(MAP_ROUTE125), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_126] = {MAP_GROUP(MAP_ROUTE126), MAP_NUM(MAP_ROUTE126), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_127] = {MAP_GROUP(MAP_ROUTE127), MAP_NUM(MAP_ROUTE127), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_128] = {MAP_GROUP(MAP_ROUTE128), MAP_NUM(MAP_ROUTE128), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_129] = {MAP_GROUP(MAP_ROUTE129), MAP_NUM(MAP_ROUTE129), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_130] = {MAP_GROUP(MAP_ROUTE130), MAP_NUM(MAP_ROUTE130), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_131] = {MAP_GROUP(MAP_ROUTE131), MAP_NUM(MAP_ROUTE131), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_132] = {MAP_GROUP(MAP_ROUTE132), MAP_NUM(MAP_ROUTE132), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_133] = {MAP_GROUP(MAP_ROUTE133), MAP_NUM(MAP_ROUTE133), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_134] = {MAP_GROUP(MAP_ROUTE134), MAP_NUM(MAP_ROUTE134), HEAL_LOCATION_NONE}, }; static const u8 *const sEverGrandeCityNames[] = @@ -976,10 +976,10 @@ static void InitMapBasedOnPlayerLocation(void) u16 xOnMap; struct WarpData *warp; - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SS_TIDAL_CORRIDOR) - && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_CORRIDOR) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_LOWER_DECK) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_ROOMS))) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SS_TIDAL_CORRIDOR) + && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SS_TIDAL_CORRIDOR) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SS_TIDAL_LOWER_DECK) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SS_TIDAL_ROOMS))) { RegionMap_InitializeStateBasedOnSSTidalLocation(); return; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index fd2ed03cca..17a5d3b268 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -18,9 +18,9 @@ // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); -static bool8 LoadBattlerSpriteGfx(u8 battlerId); -static void CreateBattlerSprite(u8 battlerId); -static void CreateHealthboxSprite(u8 battlerId); +static bool8 LoadBattlerSpriteGfx(u8 battler); +static void CreateBattlerSprite(u8 battler); +static void CreateHealthboxSprite(u8 battler); static void ClearBattleBgCntBaseBlocks(void); void ReshowBattleScreenDummy(void) diff --git a/src/roamer.c b/src/roamer.c index e9dc72a993..d5bba00e13 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -18,7 +18,7 @@ enum EWRAM_DATA static u8 sLocationHistory[3][2] = {0}; EWRAM_DATA static u8 sRoamerLocation[2] = {0}; -#define ___ MAP_NUM(UNDEFINED) // For empty spots in the location table +#define ___ MAP_NUM(MAP_UNDEFINED) // For empty spots in the location table // Note: There are two potential softlocks that can occur with this table if its maps are // changed in particular ways. They can be avoided by ensuring the following: @@ -34,26 +34,26 @@ EWRAM_DATA static u8 sRoamerLocation[2] = {0}; // from that map when it lands there. static const u8 sRoamerLocations[][6] = { - { MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), MAP_NUM(ROUTE134), ___ }, - { MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), ___, ___ }, - { MAP_NUM(ROUTE117), MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE118), ___, ___ }, - { MAP_NUM(ROUTE118), MAP_NUM(ROUTE117), MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE119), MAP_NUM(ROUTE123) }, - { MAP_NUM(ROUTE119), MAP_NUM(ROUTE118), MAP_NUM(ROUTE120), ___, ___, ___ }, - { MAP_NUM(ROUTE120), MAP_NUM(ROUTE119), MAP_NUM(ROUTE121), ___, ___, ___ }, - { MAP_NUM(ROUTE121), MAP_NUM(ROUTE120), MAP_NUM(ROUTE122), MAP_NUM(ROUTE123), ___, ___ }, - { MAP_NUM(ROUTE122), MAP_NUM(ROUTE121), MAP_NUM(ROUTE123), ___, ___, ___ }, - { MAP_NUM(ROUTE123), MAP_NUM(ROUTE122), MAP_NUM(ROUTE118), ___, ___, ___ }, - { MAP_NUM(ROUTE124), MAP_NUM(ROUTE121), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), ___, ___ }, - { MAP_NUM(ROUTE125), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), ___, ___, ___ }, - { MAP_NUM(ROUTE126), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), ___, ___, ___ }, - { MAP_NUM(ROUTE127), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), MAP_NUM(ROUTE128), ___, ___ }, - { MAP_NUM(ROUTE128), MAP_NUM(ROUTE127), MAP_NUM(ROUTE129), ___, ___, ___ }, - { MAP_NUM(ROUTE129), MAP_NUM(ROUTE128), MAP_NUM(ROUTE130), ___, ___, ___ }, - { MAP_NUM(ROUTE130), MAP_NUM(ROUTE129), MAP_NUM(ROUTE131), ___, ___, ___ }, - { MAP_NUM(ROUTE131), MAP_NUM(ROUTE130), MAP_NUM(ROUTE132), ___, ___, ___ }, - { MAP_NUM(ROUTE132), MAP_NUM(ROUTE131), MAP_NUM(ROUTE133), ___, ___, ___ }, - { MAP_NUM(ROUTE133), MAP_NUM(ROUTE132), MAP_NUM(ROUTE134), ___, ___, ___ }, - { MAP_NUM(ROUTE134), MAP_NUM(ROUTE133), MAP_NUM(ROUTE110), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE118), MAP_NUM(MAP_ROUTE134), ___ }, + { MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE118), ___, ___ }, + { MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE118), ___, ___ }, + { MAP_NUM(MAP_ROUTE118), MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE119), MAP_NUM(MAP_ROUTE123) }, + { MAP_NUM(MAP_ROUTE119), MAP_NUM(MAP_ROUTE118), MAP_NUM(MAP_ROUTE120), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE120), MAP_NUM(MAP_ROUTE119), MAP_NUM(MAP_ROUTE121), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE121), MAP_NUM(MAP_ROUTE120), MAP_NUM(MAP_ROUTE122), MAP_NUM(MAP_ROUTE123), ___, ___ }, + { MAP_NUM(MAP_ROUTE122), MAP_NUM(MAP_ROUTE121), MAP_NUM(MAP_ROUTE123), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE123), MAP_NUM(MAP_ROUTE122), MAP_NUM(MAP_ROUTE118), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE124), MAP_NUM(MAP_ROUTE121), MAP_NUM(MAP_ROUTE125), MAP_NUM(MAP_ROUTE126), ___, ___ }, + { MAP_NUM(MAP_ROUTE125), MAP_NUM(MAP_ROUTE124), MAP_NUM(MAP_ROUTE127), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE126), MAP_NUM(MAP_ROUTE124), MAP_NUM(MAP_ROUTE127), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE127), MAP_NUM(MAP_ROUTE125), MAP_NUM(MAP_ROUTE126), MAP_NUM(MAP_ROUTE128), ___, ___ }, + { MAP_NUM(MAP_ROUTE128), MAP_NUM(MAP_ROUTE127), MAP_NUM(MAP_ROUTE129), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE129), MAP_NUM(MAP_ROUTE128), MAP_NUM(MAP_ROUTE130), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE130), MAP_NUM(MAP_ROUTE129), MAP_NUM(MAP_ROUTE131), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE131), MAP_NUM(MAP_ROUTE130), MAP_NUM(MAP_ROUTE132), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE132), MAP_NUM(MAP_ROUTE131), MAP_NUM(MAP_ROUTE133), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE133), MAP_NUM(MAP_ROUTE132), MAP_NUM(MAP_ROUTE134), ___, ___, ___ }, + { MAP_NUM(MAP_ROUTE134), MAP_NUM(MAP_ROUTE133), MAP_NUM(MAP_ROUTE110), ___, ___, ___ }, { ___, ___, ___, ___, ___, ___ }, }; @@ -172,7 +172,7 @@ void RoamerMove(void) mapNum = sRoamerLocations[locSet][(Random() % (NUM_LOCATIONS_PER_SET - 1)) + 1]; if (!(sLocationHistory[2][MAP_GRP] == ROAMER_MAP_GROUP && sLocationHistory[2][MAP_NUM] == mapNum) - && mapNum != MAP_NUM(UNDEFINED)) + && mapNum != MAP_NUM(MAP_UNDEFINED)) break; } sRoamerLocation[MAP_NUM] = mapNum; diff --git a/src/rom_header_gf.c b/src/rom_header_gf.c index 36ff3401d3..4f219d15b6 100644 --- a/src/rom_header_gf.c +++ b/src/rom_header_gf.c @@ -8,7 +8,7 @@ // The purpose of this struct is for outside applications to be // able to access parts of the ROM or its save file, like a public API. -// In vanilla, it was used by Colosseum and XD to access pokemon graphics. +// In vanilla, it was used by Colosseum and XD to access Pokémon graphics. // // If this struct is rearranged in any way, it defeats the purpose of // having it at all. Applications like PKHex or streaming HUDs may find @@ -20,16 +20,16 @@ struct GFRomHeader u32 version; u32 language; u8 gameName[32]; - const struct CompressedSpriteSheet * monFrontPics; - const struct CompressedSpriteSheet * monBackPics; - const struct CompressedSpritePalette * monNormalPalettes; - const struct CompressedSpritePalette * monShinyPalettes; - const u8 * const * monIcons; - const u8 * monIconPaletteIds; - const struct SpritePalette * monIconPalettes; - const u8 (* monSpeciesNames)[]; - const u8 (* moveNames)[]; - const struct Decoration * decorations; + const struct CompressedSpriteSheet *monFrontPics; + const struct CompressedSpriteSheet *monBackPics; + const struct CompressedSpritePalette *monNormalPalettes; + const struct CompressedSpritePalette *monShinyPalettes; + const u8 *const *monIcons; + const u8 *monIconPaletteIds; + const struct SpritePalette *monIconPalettes; + const u8 (*monSpeciesNames)[]; + const u8 (*moveNames)[]; + const struct Decoration *decorations; u32 flagsOffset; u32 varsOffset; u32 pokedexOffset; @@ -69,13 +69,13 @@ struct GFRomHeader u32 externalEventFlagsOffset; u32 externalEventDataOffset; u32 unk18; - const struct SpeciesInfo * speciesInfo; - const u8 (* abilityNames)[]; - const u8 * const * abilityDescriptions; - const struct Item * items; - const struct BattleMove * moves; - const struct CompressedSpriteSheet * ballGfx; - const struct CompressedSpritePalette * ballPalettes; + const struct SpeciesInfo *speciesInfo; + const u8 (*abilityNames)[]; + const u8 *const *abilityDescriptions; + const struct Item *items; + const struct BattleMove *moves; + const struct CompressedSpriteSheet *ballGfx; + const struct CompressedSpritePalette *ballPalettes; u32 gcnLinkFlagsOffset; u32 gameClearFlag; u32 ribbonFlag; @@ -89,7 +89,7 @@ struct GFRomHeader u32 giftRibbonsOffset; u32 enigmaBerryOffset; u32 enigmaBerrySize; - const u8 * moveDescriptions; + const u8 *moveDescriptions; u32 unk20; }; diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 0b0c68a836..2c16057fdf 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -3,6 +3,7 @@ #include "event_data.h" #include "event_object_movement.h" #include "fieldmap.h" +#include "rotating_gate.h" #include "sound.h" #include "sprite.h" #include "constants/songs.h" @@ -623,14 +624,14 @@ static EWRAM_DATA u8 sRotatingGate_PuzzleCount = 0; static s32 GetCurrentMapRotatingGatePuzzleType(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FORTREE_CITY_GYM) && - gSaveBlock1Ptr->location.mapNum == MAP_NUM(FORTREE_CITY_GYM)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FORTREE_CITY_GYM) && + gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FORTREE_CITY_GYM)) { return PUZZLE_FORTREE_CITY_GYM; } - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE110_TRICK_HOUSE_PUZZLE6) && - gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE110_TRICK_HOUSE_PUZZLE6)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE110_TRICK_HOUSE_PUZZLE6) && + gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE110_TRICK_HOUSE_PUZZLE6)) { return PUZZLE_ROUTE110_TRICK_HOUSE_PUZZLE6; } @@ -938,7 +939,7 @@ void RotatingGate_InitPuzzle(void) } } -void RotatingGatePuzzleCameraUpdate(u16 deltaX, u16 deltaY) +void RotatingGatePuzzleCameraUpdate(s16 deltaX, s16 deltaY) { if (GetCurrentMapRotatingGatePuzzleType()) { @@ -957,7 +958,7 @@ void RotatingGate_InitPuzzleAndGraphics(void) } } -bool8 CheckForRotatingGatePuzzleCollision(u8 direction, s16 x, s16 y) +bool32 CheckForRotatingGatePuzzleCollision(u8 direction, s16 x, s16 y) { s32 i; @@ -995,7 +996,7 @@ bool8 CheckForRotatingGatePuzzleCollision(u8 direction, s16 x, s16 y) return FALSE; } -bool8 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8 direction, s16 x, s16 y) +bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8 direction, s16 x, s16 y) { s32 i; diff --git a/src/rotating_tile_puzzle.c b/src/rotating_tile_puzzle.c index 7581b81072..0eb58f9c1e 100644 --- a/src/rotating_tile_puzzle.c +++ b/src/rotating_tile_puzzle.c @@ -100,7 +100,7 @@ void FreeRotatingTilePuzzle(void) TRY_FREE_AND_SET_NULL(sRotatingTilePuzzle); - id = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + id = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[id]); ScriptMovement_UnfreezeObjectEvents(); } @@ -109,7 +109,7 @@ u16 MoveRotatingTileObjects(u8 puzzleNumber) { u8 i; struct ObjectEventTemplate *objectEvents = gSaveBlock1Ptr->objectEventTemplates; - u16 localId = 0; + u16 localId = LOCALID_NONE; for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++) { diff --git a/src/roulette.c b/src/roulette.c index 44dac2db6c..f4e6012a8d 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -70,13 +70,13 @@ // Get the id of the col/row from the selection ID // e.g. GET_ROW(SQU_PURPLE_SKITTY) is ROW_PURPLE -#define GET_COL(selectionId)((selectionId) % (NUM_BOARD_POKES + 1)) -#define GET_ROW(selectionId)((selectionId) / (NUM_BOARD_POKES + 1) * (NUM_BOARD_POKES + 1)) +#define GET_COL(selectionId) ((selectionId) % (NUM_BOARD_POKES + 1)) +#define GET_ROW(selectionId) ((selectionId) / (NUM_BOARD_POKES + 1) * (NUM_BOARD_POKES + 1)) // Get the col/row index from the selection ID // e.g. GET_ROW_IDX(SQU_PURPLE_SKITTY) is 2 (purple being the 3rd row) -#define GET_COL_IDX(selectionId)(selectionId - 1) -#define GET_ROW_IDX(selectionId)(selectionId / 5 - 1) +#define GET_COL_IDX(selectionId) (selectionId - 1) +#define GET_ROW_IDX(selectionId) (selectionId / 5 - 1) // Flags for the above selections, used to set which spaces have been hit or bet on #define F_WYNAUT_COL (1 << COL_WYNAUT) @@ -149,7 +149,7 @@ // 2 different Roulette tables with 2 different rates (normal vs service day special) // & 1 gets which table, >> 7 gets if ROULETTE_SPECIAL_RATE is set -#define GET_MIN_BET_ID(var)(((var) & 1) + (((var) >> 7) * 2)) +#define GET_MIN_BET_ID(var) (((var) & 1) + (((var) >> 7) * 2)) // Having Shroomish or Taillow in the party can make rolls more consistent in length // It also increases the likelihood that, if they appear to unstick a ball, they'll move it to a slot the player bet on @@ -990,8 +990,8 @@ static const struct RouletteFlashSettings sFlashData_Colors[NUM_ROULETTE_SLOTS + }, }; -// Data to flash any pokemon icon (F_FLASH_ICON) on the roulette wheel. One entry for each color row -// Each poke icon flashes with the tint of the row color it belongs to, so the pokemon itself is irrelevant +// Data to flash any Pokémon icon (F_FLASH_ICON) on the roulette wheel. One entry for each color row +// Each poke icon flashes with the tint of the row color it belongs to, so the Pokémon itself is irrelevant static const struct RouletteFlashSettings sFlashData_PokeIcons[NUM_BOARD_COLORS] = { [GET_ROW_IDX(ROW_ORANGE)] = { @@ -2702,7 +2702,7 @@ static const struct SpriteTemplate sSpriteTemplates_GridIcons[NUM_BOARD_POKES] = } }; -// Wheel icons are listed clockwise starting from 1 oclock on the roulette wheel (with pokeball upside right) +// Wheel icons are listed clockwise starting from 1 oclock on the roulette wheel (with Poké Ball upside right) // They go Wynaut -> Azurill -> Skitty -> Makuhita, and Orange -> Green -> Purple static const struct SpriteTemplate sSpriteTemplates_WheelIcons[NUM_ROULETTE_SLOTS] = { @@ -4481,7 +4481,7 @@ static void SetBallStuck(struct Sprite *sprite) // The below slot ids are relative to the slot the ball got stuck on if ((sRoulette->useTaillow + 1) & sRoulette->partySpeciesFlags) { - // If the player has the corresponding pokemon in their party (HAS_SHROOMISH or HAS_TAILLOW), + // If the player has the corresponding Pokémon in their party (HAS_SHROOMISH or HAS_TAILLOW), // there's a 75% chance that the ball will be moved to a spot they bet on // assuming it was one of the slots identified as a candidate if (betSlotId && (rand % 256) < 192) diff --git a/src/rtc.c b/src/rtc.c index b79f62a3c4..08d5ec4c98 100644 --- a/src/rtc.c +++ b/src/rtc.c @@ -10,7 +10,7 @@ static u8 sProbeResult; static u16 sSavedIme; // iwram common -struct Time gLocalTime; +COMMON_DATA struct Time gLocalTime = {0}; // const rom diff --git a/src/save.c b/src/save.c index 765fb045c3..bff1384c52 100644 --- a/src/save.c +++ b/src/save.c @@ -79,19 +79,19 @@ STATIC_ASSERT(sizeof(struct SaveBlock2) <= SECTOR_DATA_SIZE, SaveBlock2FreeSpace STATIC_ASSERT(sizeof(struct SaveBlock1) <= SECTOR_DATA_SIZE * (SECTOR_ID_SAVEBLOCK1_END - SECTOR_ID_SAVEBLOCK1_START + 1), SaveBlock1FreeSpace); STATIC_ASSERT(sizeof(struct PokemonStorage) <= SECTOR_DATA_SIZE * (SECTOR_ID_PKMN_STORAGE_END - SECTOR_ID_PKMN_STORAGE_START + 1), PokemonStorageFreeSpace); -u16 gLastWrittenSector; -u32 gLastSaveCounter; -u16 gLastKnownGoodSector; -u32 gDamagedSaveSectors; -u32 gSaveCounter; -struct SaveSector *gReadWriteSector; // Pointer to a buffer for reading/writing a sector -u16 gIncrementalSectorId; -u16 gSaveUnusedVar; -u16 gSaveFileStatus; -void (*gGameContinueCallback)(void); -struct SaveSectorLocation gRamSaveSectorLocations[NUM_SECTORS_PER_SLOT]; -u16 gSaveUnusedVar2; -u16 gSaveAttemptStatus; +COMMON_DATA u16 gLastWrittenSector = 0; +COMMON_DATA u32 gLastSaveCounter = 0; +COMMON_DATA u16 gLastKnownGoodSector = 0; +COMMON_DATA u32 gDamagedSaveSectors = 0; +COMMON_DATA u32 gSaveCounter = 0; +COMMON_DATA struct SaveSector *gReadWriteSector = NULL; // Pointer to a buffer for reading/writing a sector +COMMON_DATA u16 gIncrementalSectorId = 0; +COMMON_DATA u16 gSaveUnusedVar = 0; +COMMON_DATA u16 gSaveFileStatus = 0; +COMMON_DATA void (*gGameContinueCallback)(void) = NULL; +COMMON_DATA struct SaveSectorLocation gRamSaveSectorLocations[NUM_SECTORS_PER_SLOT] = {0}; +COMMON_DATA u16 gSaveUnusedVar2 = 0; +COMMON_DATA u16 gSaveAttemptStatus = 0; EWRAM_DATA struct SaveSector gSaveDataBuffer = {0}; // Buffer used for reading/writing sectors EWRAM_DATA static u8 sUnusedVar = 0; @@ -826,7 +826,7 @@ bool8 LinkFullSave_SetLastSectorSignature(void) return FALSE; } -u8 WriteSaveBlock2(void) +bool8 WriteSaveBlock2(void) { if (gFlashMemoryPresent != TRUE) return TRUE; @@ -902,7 +902,7 @@ u8 LoadGameSave(u8 saveType) u16 GetSaveBlocksPointersBaseOffset(void) { u16 i, slotOffset; - struct SaveSector* sector; + struct SaveSector *sector; sector = gReadWriteSector = &gSaveDataBuffer; if (gFlashMemoryPresent != TRUE) diff --git a/src/save_location.c b/src/save_location.c index 74d2f2c44d..3384200598 100644 --- a/src/save_location.c +++ b/src/save_location.c @@ -119,9 +119,9 @@ void TrySetMapSaveWarpStatus(void) TrySetUnknownWarpStatus(); } -// In FRLG, only bits 0, 4, and 5 are set when the pokedex is received. +// In FRLG, only bits 0, 4, and 5 are set when the Pokédex is received. // Bits 1, 2, 3, and 15 are instead set by SetPostgameFlags. -// These flags are read by Pokemon Colosseum/XD for linking. XD Additionally requires FLAG_SYS_GAME_CLEAR +// These flags are read by Pokémon Colosseum/XD for linking. XD Additionally requires FLAG_SYS_GAME_CLEAR void SetUnlockedPokedexFlags(void) { gSaveBlock2Ptr->gcnLinkFlags |= (1 << 15); diff --git a/src/scrcmd.c b/src/scrcmd.c index 147a11b869..32502e97ce 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -71,7 +71,7 @@ static void CloseBrailleWindow(void); // This is defined in here so the optimizer can't see its value when compiling // script.c. -void * const gNullScriptPtr = NULL; +void *const gNullScriptPtr = NULL; static const u8 sScriptConditionTable[6][3] = { @@ -84,7 +84,7 @@ static const u8 sScriptConditionTable[6][3] = {1, 0, 1}, // != }; -static u8 * const sScriptStringVars[] = +static u8 *const sScriptStringVars[] = { gStringVar1, gStringVar2, @@ -786,7 +786,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) u16 y; PlayerGetDestCoords(&x, &y); - if (mapGroup == MAP_GROUP(UNDEFINED) && mapNum == MAP_NUM(UNDEFINED)) + if (mapGroup == MAP_GROUP(MAP_UNDEFINED) && mapNum == MAP_NUM(MAP_UNDEFINED)) SetWarpDestinationToFixedHoleWarp(x - MAP_OFFSET, y - MAP_OFFSET); else SetWarpDestination(mapGroup, mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET); @@ -1020,7 +1020,7 @@ bool8 ScrCmd_waitmovement(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - if (localId != 0) + if (localId != LOCALID_NONE) sMovingNpcId = localId; sMovingNpcMapGroup = gSaveBlock1Ptr->location.mapGroup; sMovingNpcMapNum = gSaveBlock1Ptr->location.mapNum; @@ -1034,7 +1034,7 @@ bool8 ScrCmd_waitmovementat(struct ScriptContext *ctx) u8 mapGroup; u8 mapNum; - if (localId != 0) + if (localId != LOCALID_NONE) sMovingNpcId = localId; mapGroup = ScriptReadByte(ctx); mapNum = ScriptReadByte(ctx); @@ -1241,7 +1241,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) u8 playerObjectId; HideFieldMessageBox(); - playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); @@ -1255,7 +1255,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) HideFieldMessageBox(); if (gObjectEvents[gSelectedObjectEvent].active) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); - playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0); + playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); @@ -1607,9 +1607,9 @@ bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx) bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); - u16 moveId = VarGet(ScriptReadHalfword(ctx)); + u16 move = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[moveId]); + StringCopy(sScriptStringVars[stringVarIndex], gMoveNames[move]); return FALSE; } @@ -1712,7 +1712,7 @@ bool8 ScrCmd_setmonmove(struct ScriptContext *ctx) bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) { u8 i; - u16 moveId = ScriptReadHalfword(ctx); + u16 move = ScriptReadHalfword(ctx); gSpecialVar_Result = PARTY_SIZE; for (i = 0; i < PARTY_SIZE; i++) @@ -1720,7 +1720,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL); if (!species) break; - if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE) + if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], move) == TRUE) { gSpecialVar_Result = i; gSpecialVar_0x8004 = species; @@ -2207,7 +2207,7 @@ bool8 ScrCmd_lockfortrainer(struct ScriptContext *ctx) } // This command will set a Pokémon's modernFatefulEncounter bit; there is no similar command to clear it. -bool8 ScrCmd_setmonmodernfatefulencounter(struct ScriptContext *ctx) +bool8 ScrCmd_setmodernfatefulencounter(struct ScriptContext *ctx) { bool8 isModernFatefulEncounter = TRUE; u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); @@ -2216,7 +2216,7 @@ bool8 ScrCmd_setmonmodernfatefulencounter(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkmonmodernfatefulencounter(struct ScriptContext *ctx) +bool8 ScrCmd_checkmodernfatefulencounter(struct ScriptContext *ctx) { u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); diff --git a/src/script.c b/src/script.c index c252c95f04..a953ff1e75 100644 --- a/src/script.c +++ b/src/script.c @@ -29,7 +29,7 @@ static bool8 sLockFieldControls; extern ScrCmdFunc gScriptCmdTable[]; extern ScrCmdFunc gScriptCmdTableEnd[]; -extern void *gNullScriptPtr; +extern void *const gNullScriptPtr; void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd) { @@ -378,7 +378,7 @@ void ClearRamScript(void) CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript)); } -bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId) +bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 localId) { struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; @@ -390,13 +390,13 @@ bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 scriptData->magic = RAM_SCRIPT_MAGIC; scriptData->mapGroup = mapGroup; scriptData->mapNum = mapNum; - scriptData->objectId = objectId; + scriptData->localId = localId; memcpy(scriptData->script, script, scriptSize); gSaveBlock1Ptr->ramScript.checksum = CalculateRamScriptChecksum(); return TRUE; } -const u8 *GetRamScript(u8 objectId, const u8 *script) +const u8 *GetRamScript(u8 localId, const u8 *script) { struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; gRamScriptRetAddr = NULL; @@ -406,7 +406,7 @@ const u8 *GetRamScript(u8 objectId, const u8 *script) return script; if (scriptData->mapNum != gSaveBlock1Ptr->location.mapNum) return script; - if (scriptData->objectId != objectId) + if (scriptData->localId != localId) return script; if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) { @@ -420,18 +420,18 @@ const u8 *GetRamScript(u8 objectId, const u8 *script) } } -#define NO_OBJECT OBJ_EVENT_ID_PLAYER +#define NO_OBJECT LOCALID_PLAYER bool32 ValidateSavedRamScript(void) { struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; if (scriptData->magic != RAM_SCRIPT_MAGIC) return FALSE; - if (scriptData->mapGroup != MAP_GROUP(UNDEFINED)) + if (scriptData->mapGroup != MAP_GROUP(MAP_UNDEFINED)) return FALSE; - if (scriptData->mapNum != MAP_NUM(UNDEFINED)) + if (scriptData->mapNum != MAP_NUM(MAP_UNDEFINED)) return FALSE; - if (scriptData->objectId != NO_OBJECT) + if (scriptData->localId != NO_OBJECT) return FALSE; if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) return FALSE; @@ -445,11 +445,11 @@ u8 *GetSavedRamScriptIfValid(void) return NULL; if (scriptData->magic != RAM_SCRIPT_MAGIC) return NULL; - if (scriptData->mapGroup != MAP_GROUP(UNDEFINED)) + if (scriptData->mapGroup != MAP_GROUP(MAP_UNDEFINED)) return NULL; - if (scriptData->mapNum != MAP_NUM(UNDEFINED)) + if (scriptData->mapNum != MAP_NUM(MAP_UNDEFINED)) return NULL; - if (scriptData->objectId != NO_OBJECT) + if (scriptData->localId != NO_OBJECT) return NULL; if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) { @@ -466,5 +466,5 @@ void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize) { if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script)) scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script); - InitRamScript(script, scriptSize, MAP_GROUP(UNDEFINED), MAP_NUM(UNDEFINED), NO_OBJECT); + InitRamScript(script, scriptSize, MAP_GROUP(MAP_UNDEFINED), MAP_NUM(MAP_UNDEFINED), NO_OBJECT); } diff --git a/src/script_movement.c b/src/script_movement.c index 10517dfc8e..19e058aa19 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -89,7 +89,7 @@ static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 return FALSE; } } - moveScrId = GetMovementScriptIdFromObjectEventId(taskId, OBJ_EVENT_ID_PLAYER); + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, LOCALID_PLAYER); if (moveScrId == OBJECT_EVENTS_COUNT) { return TRUE; diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index 6e5653884b..ed28d47c5a 100755 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -213,7 +213,7 @@ void ReducePlayerPartyToSelectedMons(void) CpuFill32(0, party, sizeof party); - // copy the selected pokemon according to the order. + // copy the selected Pokémon according to the order. for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) if (gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal diff --git a/src/secret_base.c b/src/secret_base.c index 9509cd0fc5..df06f9120c 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -110,30 +110,30 @@ static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] = // x, y positions are for when the player warps in for the first time (in front of the computer) static const u8 sSecretBaseEntrancePositions[NUM_SECRET_BASE_GROUPS * 4] = { - [SECRET_BASE_RED_CAVE1] = MAP_NUM(SECRET_BASE_RED_CAVE1), 0, 1, 3, - [SECRET_BASE_RED_CAVE2] = MAP_NUM(SECRET_BASE_RED_CAVE2), 0, 5, 9, - [SECRET_BASE_RED_CAVE3] = MAP_NUM(SECRET_BASE_RED_CAVE3), 0, 1, 3, - [SECRET_BASE_RED_CAVE4] = MAP_NUM(SECRET_BASE_RED_CAVE4), 0, 7, 13, - [SECRET_BASE_BROWN_CAVE1] = MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0, 2, 3, - [SECRET_BASE_BROWN_CAVE2] = MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0, 9, 2, - [SECRET_BASE_BROWN_CAVE3] = MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0, 13, 4, - [SECRET_BASE_BROWN_CAVE4] = MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0, 1, 2, - [SECRET_BASE_BLUE_CAVE1] = MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0, 1, 3, - [SECRET_BASE_BLUE_CAVE2] = MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0, 1, 2, - [SECRET_BASE_BLUE_CAVE3] = MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0, 3, 15, - [SECRET_BASE_BLUE_CAVE4] = MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0, 3, 14, - [SECRET_BASE_YELLOW_CAVE1] = MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0, 9, 3, - [SECRET_BASE_YELLOW_CAVE2] = MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0, 8, 7, - [SECRET_BASE_YELLOW_CAVE3] = MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0, 3, 6, - [SECRET_BASE_YELLOW_CAVE4] = MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0, 5, 9, - [SECRET_BASE_TREE1] = MAP_NUM(SECRET_BASE_TREE1), 0, 2, 3, - [SECRET_BASE_TREE2] = MAP_NUM(SECRET_BASE_TREE2), 0, 5, 6, - [SECRET_BASE_TREE3] = MAP_NUM(SECRET_BASE_TREE3), 0, 15, 3, - [SECRET_BASE_TREE4] = MAP_NUM(SECRET_BASE_TREE4), 0, 4, 10, - [SECRET_BASE_SHRUB1] = MAP_NUM(SECRET_BASE_SHRUB1), 0, 3, 3, - [SECRET_BASE_SHRUB2] = MAP_NUM(SECRET_BASE_SHRUB2), 0, 1, 2, - [SECRET_BASE_SHRUB3] = MAP_NUM(SECRET_BASE_SHRUB3), 0, 7, 8, - [SECRET_BASE_SHRUB4] = MAP_NUM(SECRET_BASE_SHRUB4), 0, 9, 6, + [SECRET_BASE_RED_CAVE1] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE1), 0, 1, 3, + [SECRET_BASE_RED_CAVE2] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE2), 0, 5, 9, + [SECRET_BASE_RED_CAVE3] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE3), 0, 1, 3, + [SECRET_BASE_RED_CAVE4] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE4), 0, 7, 13, + [SECRET_BASE_BROWN_CAVE1] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE1), 0, 2, 3, + [SECRET_BASE_BROWN_CAVE2] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE2), 0, 9, 2, + [SECRET_BASE_BROWN_CAVE3] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE3), 0, 13, 4, + [SECRET_BASE_BROWN_CAVE4] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE4), 0, 1, 2, + [SECRET_BASE_BLUE_CAVE1] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE1), 0, 1, 3, + [SECRET_BASE_BLUE_CAVE2] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE2), 0, 1, 2, + [SECRET_BASE_BLUE_CAVE3] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE3), 0, 3, 15, + [SECRET_BASE_BLUE_CAVE4] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE4), 0, 3, 14, + [SECRET_BASE_YELLOW_CAVE1] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE1), 0, 9, 3, + [SECRET_BASE_YELLOW_CAVE2] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE2), 0, 8, 7, + [SECRET_BASE_YELLOW_CAVE3] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE3), 0, 3, 6, + [SECRET_BASE_YELLOW_CAVE4] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE4), 0, 5, 9, + [SECRET_BASE_TREE1] = MAP_NUM(MAP_SECRET_BASE_TREE1), 0, 2, 3, + [SECRET_BASE_TREE2] = MAP_NUM(MAP_SECRET_BASE_TREE2), 0, 5, 6, + [SECRET_BASE_TREE3] = MAP_NUM(MAP_SECRET_BASE_TREE3), 0, 15, 3, + [SECRET_BASE_TREE4] = MAP_NUM(MAP_SECRET_BASE_TREE4), 0, 4, 10, + [SECRET_BASE_SHRUB1] = MAP_NUM(MAP_SECRET_BASE_SHRUB1), 0, 3, 3, + [SECRET_BASE_SHRUB2] = MAP_NUM(MAP_SECRET_BASE_SHRUB2), 0, 1, 2, + [SECRET_BASE_SHRUB3] = MAP_NUM(MAP_SECRET_BASE_SHRUB3), 0, 7, 8, + [SECRET_BASE_SHRUB4] = MAP_NUM(MAP_SECRET_BASE_SHRUB4), 0, 9, 6, }; #define GET_BASE_MAP_NUM(group) (sSecretBaseEntrancePositions[(group) + 0]) @@ -412,7 +412,7 @@ void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events) static void SetSecretBaseWarpDestination(void) { s8 secretBaseGroup = SECRET_BASE_ID_TO_GROUP(sCurSecretBaseId); - SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), GET_BASE_MAP_NUM(secretBaseGroup), GET_BASE_WARP_ID(secretBaseGroup)); + SetWarpDestinationToMapWarp(MAP_GROUP(MAP_SECRET_BASE_RED_CAVE1), GET_BASE_MAP_NUM(secretBaseGroup), GET_BASE_WARP_ID(secretBaseGroup)); } #define tState data[0] @@ -509,8 +509,8 @@ void EnterNewlyCreatedSecretBase(void) bool8 CurMapIsSecretBase(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) - && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SECRET_BASE_RED_CAVE1) + && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(MAP_SECRET_BASE_SHRUB4)) return TRUE; else return FALSE; @@ -771,7 +771,7 @@ static u8 GetAverageEVs(struct Pokemon *pokemon) void SetPlayerSecretBaseParty(void) { u16 i; - u16 moveIdx; + u16 moveIndex; u16 partyId; struct SecretBaseParty *party; @@ -781,8 +781,8 @@ void SetPlayerSecretBaseParty(void) { for (i = 0; i < PARTY_SIZE; i++) { - for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) - party->moves[i * MAX_MON_MOVES + moveIdx] = MOVE_NONE; + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + party->moves[i * MAX_MON_MOVES + moveIndex] = MOVE_NONE; party->species[i] = SPECIES_NONE; party->heldItems[i] = ITEM_NONE; @@ -793,8 +793,8 @@ void SetPlayerSecretBaseParty(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) { - for (moveIdx = 0; moveIdx < MAX_MON_MOVES; moveIdx++) - party->moves[partyId * MAX_MON_MOVES + moveIdx] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIdx); + for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++) + party->moves[partyId * MAX_MON_MOVES + moveIndex] = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + moveIndex); party->species[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); party->heldItems[partyId] = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); diff --git a/src/shop.c b/src/shop.c index 8fea1e1178..587060f024 100644 --- a/src/shop.c +++ b/src/shop.c @@ -369,7 +369,7 @@ static u8 CreateShopMenu(u8 martType) return CreateTask(Task_ShopMenu, 8); } -static void SetShopMenuCallback(void (* callback)(void)) +static void SetShopMenuCallback(void (*callback)(void)) { sMartInfo.callback = callback; } @@ -603,7 +603,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s if (item != LIST_CANCEL) { if (sMartInfo.martType == MART_TYPE_NORMAL) - description = ItemId_GetDescription(item); + description = GetItemDescription(item); else description = gDecorations[item].description; } @@ -626,7 +626,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y) { ConvertIntToDecimalStringN( gStringVar1, - ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT), + GetItemPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT), STR_CONV_MODE_LEFT_ALIGN, 5); } @@ -985,7 +985,7 @@ static void Task_BuyMenu(u8 taskId) BuyMenuPrintCursor(tListTaskId, COLORID_GRAY_CURSOR); if (sMartInfo.martType == MART_TYPE_NORMAL) - sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)); + sShopData->totalCost = (GetItemPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)); else sShopData->totalCost = gDecorations[itemId].price; @@ -998,7 +998,7 @@ static void Task_BuyMenu(u8 taskId) if (sMartInfo.martType == MART_TYPE_NORMAL) { CopyItemName(itemId, gStringVar1); - if (ItemId_GetPocket(itemId) == POCKET_TM_HM) + if (GetItemPocket(itemId) == POCKET_TM_HM) { StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(itemId)]); BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany2, Task_BuyHowManyDialogueInit); @@ -1058,7 +1058,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (AdjustQuantityAccordingToDPadInput(&tItemCount, sShopData->maxQuantity) == TRUE) { - sShopData->totalCost = (ItemId_GetPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount; + sShopData->totalCost = (GetItemPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount; BuyMenuPrintItemQuantityAndPrice(taskId); } else diff --git a/src/slot_machine.c b/src/slot_machine.c index 5ae0f9f1d5..217767fc9e 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -2324,7 +2324,9 @@ static bool8 ReelTask_MoveToStop(struct Task *task) memcpy(reelStopShocks, sReelStopShocks, sizeof(sReelStopShocks)); reelPixelPos = sSlotMachine->reelPixelOffsets[task->tReelId] % REEL_SYMBOL_HEIGHT; if (reelPixelPos != 0) + { reelPixelPos = AdvanceSlotReelToNextSymbol(task->tReelId, sSlotMachine->reelSpeed); + } else if (sSlotMachine->reelExtraTurns[task->tReelId]) { sSlotMachine->reelExtraTurns[task->tReelId]--; @@ -3324,7 +3326,8 @@ static void SpriteCB_FlashMatchingLines(struct Sprite *sprite) if (sprite->sNumFullFlashes) sprite->sNumFullFlashes--; } - else if (sprite->sColor >= maxColorChange) { + else if (sprite->sColor >= maxColorChange) + { // Reached peak darkness, reverse sprite->sColorIncr = -sprite->sColorIncr; } @@ -6984,7 +6987,7 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Win[] = {ARRAY_COUNT(sSubsprites_DigitalDisplay_Win), sSubsprites_DigitalDisplay_Win} }; -static const struct Subsprite sSubsprites_DigitalDisplay_Smoke[] = +static const struct Subsprite sSubsprites_DigitalDisplay_SmokeBig[] = { { .x = -16, @@ -6996,7 +6999,7 @@ static const struct Subsprite sSubsprites_DigitalDisplay_Smoke[] = } }; -static const struct Subsprite sSubsprites_DigitalDisplay_Unused2[] = +static const struct Subsprite sSubsprites_DigitalDisplay_SmokeSmall[] = { { .x = -8, @@ -7010,12 +7013,8 @@ static const struct Subsprite sSubsprites_DigitalDisplay_Unused2[] = static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Smoke[] = { - {ARRAY_COUNT(sSubsprites_DigitalDisplay_Smoke), sSubsprites_DigitalDisplay_Smoke} -}; - -static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused2[] = -{ - {ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused2), sSubsprites_DigitalDisplay_Unused2} + {ARRAY_COUNT(sSubsprites_DigitalDisplay_SmokeBig), sSubsprites_DigitalDisplay_SmokeBig}, + {ARRAY_COUNT(sSubsprites_DigitalDisplay_SmokeSmall), sSubsprites_DigitalDisplay_SmokeSmall} }; /* diff --git a/src/sound.c b/src/sound.c index bef3658ecd..d35e07d273 100644 --- a/src/sound.c +++ b/src/sound.c @@ -14,7 +14,7 @@ struct Fanfare u16 duration; }; -EWRAM_DATA struct MusicPlayerInfo* gMPlay_PokemonCry = NULL; +EWRAM_DATA struct MusicPlayerInfo *gMPlay_PokemonCry = NULL; EWRAM_DATA u8 gPokemonCryBGMDuckingCounter = 0; static u16 sCurrentMapMusic; @@ -23,7 +23,7 @@ static u8 sMapMusicState; static u8 sMapMusicFadeInSpeed; static u16 sFanfareCounter; -bool8 gDisableMusic; +COMMON_DATA bool8 gDisableMusic = 0; extern struct ToneData gCryTable[]; extern struct ToneData gCryTable_Reverse[]; @@ -463,9 +463,9 @@ void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode) SetPokemonCryChorus(chorus); SetPokemonCryPriority(priority); - // This is a fancy way to get a cry of a pokemon. + // This is a fancy way to get a cry of a Pokémon. // It creates 4 sets of 128 mini cry tables. - // If you wish to expand pokemon, you need to + // If you wish to expand Pokémon, you need to // append new cases to the switch. species = SpeciesToCryId(species); index = species % 128; diff --git a/gflib/sprite.c b/src/sprite.c similarity index 99% rename from gflib/sprite.c rename to src/sprite.c index 80fba81fe3..708a3e7fdf 100644 --- a/gflib/sprite.c +++ b/src/sprite.c @@ -5,8 +5,6 @@ #define MAX_SPRITE_COPY_REQUESTS 64 -#define OAM_MATRIX_COUNT 32 - #define sAnchorX data[6] #define sAnchorY data[7] @@ -121,8 +119,8 @@ typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *); #define AFFINE_ANIM_END 0x7FFF // forward declarations -const union AnimCmd * const gDummySpriteAnimTable[]; -const union AffineAnimCmd * const gDummySpriteAffineAnimTable[]; +const union AnimCmd *const gDummySpriteAnimTable[]; +const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; const struct SpriteTemplate gDummySpriteTemplate; // Unreferenced data. Also unreferenced in R/S. @@ -174,11 +172,11 @@ const struct OamData gDummyOamData = DUMMY_OAM_DATA; static const union AnimCmd sDummyAnim = { ANIM_END }; -const union AnimCmd * const gDummySpriteAnimTable[] = { &sDummyAnim }; +const union AnimCmd *const gDummySpriteAnimTable[] = { &sDummyAnim }; static const union AffineAnimCmd sDummyAffineAnim = { AFFINE_ANIM_END }; -const union AffineAnimCmd * const gDummySpriteAffineAnimTable[] = { &sDummyAffineAnim }; +const union AffineAnimCmd *const gDummySpriteAffineAnimTable[] = { &sDummyAffineAnim }; const struct SpriteTemplate gDummySpriteTemplate = { @@ -276,8 +274,8 @@ static struct AffineAnimState sAffineAnimStates[OAM_MATRIX_COUNT]; static u16 sSpritePaletteTags[16]; // iwram common -u32 gOamMatrixAllocBitmap; -u8 gReservedSpritePaletteCount; +COMMON_DATA u32 gOamMatrixAllocBitmap = 0; +COMMON_DATA u8 gReservedSpritePaletteCount = 0; EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0}; EWRAM_DATA static u16 sSpritePriorities[MAX_SPRITES] = {0}; @@ -1090,9 +1088,13 @@ void ContinueAffineAnim(struct Sprite *sprite) u8 matrixNum = GetSpriteMatrixNum(sprite); if (sAffineAnimStates[matrixNum].delayCounter) + { AffineAnimDelay(matrixNum, sprite); + } else if (sprite->affineAnimPaused) + { return; + } else { s16 type; diff --git a/src/start_menu.c b/src/start_menu.c index 2faff8c63d..13a46c51c6 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -75,7 +75,7 @@ enum }; // IWRAM common -bool8 (*gMenuCallback)(void); +COMMON_DATA bool8 (*gMenuCallback)(void) = NULL; // EWRAM EWRAM_DATA static u8 sSafariBallsWindowId = 0; @@ -293,7 +293,7 @@ static void BuildStartMenuActions(void) { BuildBattlePikeStartMenu(); } - else if (InBattlePyramid()) + else if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { BuildBattlePyramidStartMenu(); } @@ -439,7 +439,7 @@ static void RemoveExtraStartMenuWindows(void) CopyWindowToVram(sSafariBallsWindowId, COPYWIN_GFX); RemoveWindow(sSafariBallsWindowId); } - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { ClearStdWindowAndFrameToTransparent(sBattlePyramidFloorWindowId, FALSE); RemoveWindow(sBattlePyramidFloorWindowId); @@ -499,7 +499,7 @@ static bool32 InitStartMenuStep(void) case 3: if (GetSafariZoneFlag()) ShowSafariBallsWindow(); - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) ShowPyramidFloorWindow(); sInitStartMenuData[0]++; break; @@ -689,7 +689,7 @@ static bool8 StartMenuPokeNavCallback(void) PlayRainStoppingSoundEffect(); RemoveExtraStartMenuWindows(); CleanupOverworldWindowsAndTilemaps(); - SetMainCallback2(CB2_InitPokeNav); // Display PokeNav + SetMainCallback2(CB2_InitPokeNav); // Display PokéNav return TRUE; } @@ -720,7 +720,7 @@ static bool8 StartMenuPlayerNameCallback(void) static bool8 StartMenuSaveCallback(void) { - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) RemoveExtraStartMenuWindows(); gMenuCallback = SaveStartCallback; // Display save menu @@ -981,7 +981,7 @@ static u8 SaveConfirmSaveCallback(void) RemoveStartMenuWindow(); ShowSaveInfoWindow(); - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { ShowSaveMessage(gText_BattlePyramidConfirmRest, SaveYesNoCallback); } @@ -1374,7 +1374,7 @@ static void ShowSaveInfoWindow(void) if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { - // Print pokedex count + // Print Pokédex count yOffset += 16; AddTextPrinterParameterized(sSaveInfoWindowId, FONT_NORMAL, gText_SavingPokedex, 0, yOffset, TEXT_SKIP_DRAW, NULL); BufferSaveMenuText(SAVE_MENU_CAUGHT, gStringVar4, color); diff --git a/src/starter_choose.c b/src/starter_choose.c index 3d5291e887..aaf2fd7b7f 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -26,7 +26,7 @@ #define STARTER_MON_COUNT 3 -// Position of the sprite of the selected starter Pokemon +// Position of the sprite of the selected starter Pokémon #define STARTER_PKMN_POS_X (DISPLAY_WIDTH / 2) #define STARTER_PKMN_POS_Y 64 @@ -248,18 +248,18 @@ static const union AnimCmd sAnim_StarterCircle[] = ANIMCMD_END, }; -static const union AnimCmd * const sAnims_Hand[] = +static const union AnimCmd *const sAnims_Hand[] = { sAnim_Hand, }; -static const union AnimCmd * const sAnims_Pokeball[] = +static const union AnimCmd *const sAnims_Pokeball[] = { sAnim_Pokeball_Still, sAnim_Pokeball_Moving, }; -static const union AnimCmd * const sAnims_StarterCircle[] = +static const union AnimCmd *const sAnims_StarterCircle[] = { sAnim_StarterCircle, }; @@ -278,8 +278,8 @@ static const union AffineAnimCmd sAffineAnim_StarterCircle[] = AFFINEANIMCMD_END, }; -static const union AffineAnimCmd * const sAffineAnims_StarterPokemon = {sAffineAnim_StarterPokemon}; -static const union AffineAnimCmd * const sAffineAnims_StarterCircle[] = {sAffineAnim_StarterCircle}; +static const union AffineAnimCmd *const sAffineAnims_StarterPokemon = {sAffineAnim_StarterPokemon}; +static const union AffineAnimCmd *const sAffineAnims_StarterCircle[] = {sAffineAnim_StarterCircle}; static const struct CompressedSpriteSheet sSpriteSheet_PokeballSelect[] = { @@ -446,7 +446,7 @@ void CB2_ChooseStarter(void) spriteId = CreateSprite(&sSpriteTemplate_Hand, 120, 56, 2); gSprites[spriteId].data[0] = taskId; - // Create three Pokeball sprites + // Create three Poké Ball sprites spriteId = CreateSprite(&sSpriteTemplate_Pokeball, sPokeballCoords[0][0], sPokeballCoords[0][1], 2); gSprites[spriteId].sTaskId = taskId; gSprites[spriteId].sBallId = 0; @@ -495,7 +495,7 @@ static void Task_HandleStarterChooseInput(u8 taskId) spriteId = CreateSprite(&sSpriteTemplate_StarterCircle, sPokeballCoords[selection][0], sPokeballCoords[selection][1], 1); gTasks[taskId].tCircleSpriteId = spriteId; - // Create Pokemon sprite + // Create Pokémon sprite spriteId = CreatePokemonFrontSprite(GetStarterPokemon(gTasks[taskId].tStarterSelection), sPokeballCoords[selection][0], sPokeballCoords[selection][1]); gSprites[spriteId].affineAnims = &sAffineAnims_StarterPokemon; gSprites[spriteId].callback = SpriteCB_StarterPokemon; @@ -637,7 +637,7 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y) static void SpriteCB_SelectionHand(struct Sprite *sprite) { - // Float up and down above selected pokeball + // Float up and down above selected Poké Ball sprite->x = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][0]; sprite->y = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][1]; sprite->y2 = Sin(sprite->data[1], 8); @@ -646,7 +646,7 @@ static void SpriteCB_SelectionHand(struct Sprite *sprite) static void SpriteCB_Pokeball(struct Sprite *sprite) { - // Animate pokeball if currently selected + // Animate Poké Ball if currently selected if (gTasks[sprite->sTaskId].tStarterSelection == sprite->sBallId) StartSpriteAnimIfDifferent(sprite, 1); else diff --git a/gflib/string_util.c b/src/string_util.c similarity index 100% rename from gflib/string_util.c rename to src/string_util.c diff --git a/src/task.c b/src/task.c index 68fb679b3e..b188cbbcba 100644 --- a/src/task.c +++ b/src/task.c @@ -1,7 +1,7 @@ #include "global.h" #include "task.h" -struct Task gTasks[NUM_TASKS]; +COMMON_DATA struct Task gTasks[NUM_TASKS] = {0}; static void InsertTask(u8 newTaskId); static u8 FindFirstActiveTask(void); diff --git a/gflib/text.c b/src/text.c similarity index 99% rename from gflib/text.c rename to src/text.c index bc917c7ced..1c8a64d5c7 100644 --- a/gflib/text.c +++ b/src/text.c @@ -43,10 +43,10 @@ static u16 sLastTextBgColor; static u16 sLastTextFgColor; static u16 sLastTextShadowColor; -const struct FontInfo *gFonts; -bool8 gDisableTextPrinters; -struct TextGlyph gCurGlyph; -TextFlags gTextFlags; +COMMON_DATA const struct FontInfo *gFonts = NULL; +COMMON_DATA bool8 gDisableTextPrinters = 0; +COMMON_DATA struct TextGlyph gCurGlyph = {0}; +COMMON_DATA TextFlags gTextFlags = {0}; static const u8 sFontHalfRowOffsets[] = { diff --git a/src/title_screen.c b/src/title_screen.c index 12015b8bd8..1d605d1fc0 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -680,7 +680,7 @@ static void MainCB2(void) UpdatePaletteFade(); } -// Shine the Pokemon logo two more times, and fade in the version banner +// Shine the Pokémon logo two more times, and fade in the version banner static void Task_TitleScreenPhase1(u8 taskId) { // Skip to next phase when A, B, Start, or Select is pressed @@ -728,7 +728,7 @@ static void Task_TitleScreenPhase1(u8 taskId) #undef sParentTaskId #undef sAlphaBlendIdx -// Create "Press Start" and copyright banners, and slide Pokemon logo up +// Create "Press Start" and copyright banners, and slide Pokémon logo up static void Task_TitleScreenPhase2(u8 taskId) { u32 yPos; @@ -767,7 +767,7 @@ static void Task_TitleScreenPhase2(u8 taskId) if (!(gTasks[taskId].tCounter & 1) && gTasks[taskId].tBg2Y != 0) gTasks[taskId].tBg2Y++; - // Slide Pokemon logo up + // Slide Pokémon logo up yPos = gTasks[taskId].tBg2Y * 256; SetGpuReg(REG_OFFSET_BG2Y_L, yPos); SetGpuReg(REG_OFFSET_BG2Y_H, yPos / 0x10000); diff --git a/src/trade.c b/src/trade.c index 5728a6ee51..e07e418d1a 100644 --- a/src/trade.c +++ b/src/trade.c @@ -157,7 +157,7 @@ struct InGameTrade { u32 personality; u16 heldItem; u8 mailNum; - u8 otName[11]; + u8 otName[TRAINER_NAME_LENGTH + 1]; u8 otGender; u8 sheen; u16 requestedSpecies; @@ -168,7 +168,7 @@ static EWRAM_DATA u8 *sMenuTextTileBuffer = NULL; // Bytes 0-2 are used for the player's name text // Bytes 3-5 are used for the partner's name text // Bytes 6-7 are used for the Cancel text -// Bytes 8-13 are used for the Choose a Pokemon text +// Bytes 8-13 are used for the Choose a Pokémon text // See the corresponding GFXTAGs in src/data/trade.h static EWRAM_DATA u8 *sMenuTextTileBuffers[NUM_MENU_TEXT_SPRITES] = {NULL}; @@ -1010,25 +1010,25 @@ static void SetActiveMenuOptions(void) { if (i < sTradeMenu->partyCounts[TRADE_PLAYER]) { - // Present player pokemon + // Present player Pokémon gSprites[sTradeMenu->partySpriteIds[TRADE_PLAYER][i]].invisible = FALSE; sTradeMenu->optionsActive[i] = TRUE; } else { - // Absent player pokemon + // Absent player Pokémon sTradeMenu->optionsActive[i] = FALSE; } if (i < sTradeMenu->partyCounts[TRADE_PARTNER]) { - // Present partner pokemon + // Present partner Pokémon gSprites[sTradeMenu->partySpriteIds[TRADE_PARTNER][i]].invisible = FALSE; sTradeMenu->optionsActive[i + PARTY_SIZE] = TRUE; } else { - // Absent partner pokemon + // Absent partner Pokémon sTradeMenu->optionsActive[i + PARTY_SIZE] = FALSE; } } @@ -1285,7 +1285,7 @@ static void Leader_HandleCommunication(void) if (sTradeMenu->playerSelectStatus == STATUS_READY && sTradeMenu->partnerSelectStatus == STATUS_READY) { - // Both players have selected a pokemon to trade + // Both players have selected a Pokémon to trade sTradeMenu->callbackId = CB_SET_SELECTED_MONS; sTradeMenu->linkData[0] = LINKCMD_SET_MONS_TO_TRADE; sTradeMenu->linkData[1] = sTradeMenu->cursorPosition; @@ -1295,7 +1295,7 @@ static void Leader_HandleCommunication(void) else if (sTradeMenu->playerSelectStatus == STATUS_READY && sTradeMenu->partnerSelectStatus == STATUS_CANCEL) { - // The player has selected a pokemon to trade, + // The player has selected a Pokémon to trade, // but the partner has selected Cancel PrintTradeMessage(MSG_CANCELED); sTradeMenu->linkData[0] = LINKCMD_PARTNER_CANCEL_TRADE; @@ -1308,7 +1308,7 @@ static void Leader_HandleCommunication(void) else if (sTradeMenu->playerSelectStatus == STATUS_CANCEL && sTradeMenu->partnerSelectStatus == STATUS_READY) { - // The partner has selected a pokemon to trade, + // The partner has selected a Pokémon to trade, // but the player has selected cancel PrintTradeMessage(MSG_FRIEND_WANTS_TO_TRADE); sTradeMenu->linkData[0] = LINKCMD_PLAYER_CANCEL_TRADE; @@ -1465,7 +1465,7 @@ static void CB_ProcessMenuInput(void) if (sTradeMenu->cursorPosition < PARTY_SIZE) { - // Selected pokemon in player's party + // Selected Pokémon in player's party DrawTextBorderOuter(1, 1, 14); FillWindowPixelBuffer(1, PIXEL_FILL(1)); PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions); @@ -1476,7 +1476,7 @@ static void CB_ProcessMenuInput(void) } else if (sTradeMenu->cursorPosition < PARTY_SIZE * 2) { - // Selected pokemon in partner's party + // Selected Pokémon in partner's party BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); sTradeMenu->callbackId = CB_SHOW_MON_SUMMARY; } @@ -1855,7 +1855,7 @@ static void SetSelectedMon(u8 cursorPosition) if (sTradeMenu->drawSelectedMonState[whichParty] == 0) { // Start the animation to display just the selected - // pokemon in the middle of the screen + // Pokémon in the middle of the screen sTradeMenu->drawSelectedMonState[whichParty] = 1; sTradeMenu->selectedMonIdx[whichParty] = cursorPosition; } @@ -1889,10 +1889,10 @@ static void DrawSelectedMonScreen(u8 whichParty) for (i = 0; i < PARTY_SIZE; i++) ClearWindowTilemap(i + (whichParty * PARTY_SIZE + 2)); - // Re-display the selected pokemon + // Re-display the selected Pokémon gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].invisible = FALSE; - // Move the selected pokemon to the center + // Move the selected Pokémon to the center gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].data[0] = 20; gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].data[2] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; @@ -3109,13 +3109,13 @@ static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx) struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx]; u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL); - // The mail attached to the sent Pokemon no longer exists in your file. + // The mail attached to the sent Pokémon no longer exists in your file. if (playerMail != MAIL_NONE) ClearMail(&gSaveBlock1Ptr->mail[playerMail]); SWAP(*playerMon, *partnerMon, sTradeAnim->tempMon); - // By default, a Pokemon received from a trade will have 70 Friendship. + // By default, a Pokémon received from a trade will have 70 Friendship. // Eggs use Friendship to track egg cycles, so don't set this on Eggs. friendship = 70; if (!GetMonData(playerMon, MON_DATA_IS_EGG)) diff --git a/src/trader.c b/src/trader.c index 254d809458..2e427e6f04 100644 --- a/src/trader.c +++ b/src/trader.c @@ -15,7 +15,7 @@ #include "task.h" #include "script_menu.h" -static const u8 * const sDefaultTraderNames[NUM_TRADER_ITEMS] = +static const u8 *const sDefaultTraderNames[NUM_TRADER_ITEMS] = { gText_Tristan, gText_Philip, @@ -58,7 +58,7 @@ void Trader_ResetFlag(void) void CreateAvailableDecorationsMenu(u8 taskId) { u8 i; - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader; struct WindowTemplate windowTemplate = { .bg = 0, @@ -98,7 +98,7 @@ void CreateAvailableDecorationsMenu(u8 taskId) void Task_BufferDecorSelectionAndCloseWindow(u8 taskId, u8 decorationId) { - s16 * data = gTasks[taskId].data; + s16 *data = gTasks[taskId].data; if (decorationId > NUM_DECORATIONS) gSpecialVar_0x8004 = 0xFFFF; else diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 018b9f14ba..a42b988305 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -217,7 +217,7 @@ static const u8 *const sFloorStrings[] = gText_TrainerHill4F, }; -static void (* const sHillFunctions[])(void) = +static void (*const sHillFunctions[])(void) = { [TRAINER_HILL_FUNC_START] = TrainerHillStartChallenge, [TRAINER_HILL_FUNC_GET_OWNER_STATE] = GetOwnerState, @@ -259,10 +259,10 @@ static const struct ObjectEventTemplate sTrainerObjectEventTemplate = static const u32 sNextFloorMapNum[NUM_TRAINER_HILL_FLOORS] = { - [TRAINER_HILL_1F - 1] = MAP_NUM(TRAINER_HILL_2F), - [TRAINER_HILL_2F - 1] = MAP_NUM(TRAINER_HILL_3F), - [TRAINER_HILL_3F - 1] = MAP_NUM(TRAINER_HILL_4F), - [TRAINER_HILL_4F - 1] = MAP_NUM(TRAINER_HILL_ROOF) + [TRAINER_HILL_1F - 1] = MAP_NUM(MAP_TRAINER_HILL_2F), + [TRAINER_HILL_2F - 1] = MAP_NUM(MAP_TRAINER_HILL_3F), + [TRAINER_HILL_3F - 1] = MAP_NUM(MAP_TRAINER_HILL_4F), + [TRAINER_HILL_4F - 1] = MAP_NUM(MAP_TRAINER_HILL_ROOF) }; static const u8 sTrainerPartySlots[HILL_TRAINERS_PER_FLOOR][PARTY_SIZE / 2] = { @@ -366,13 +366,13 @@ static void FreeDataStruct(void) TRY_FREE_AND_SET_NULL(sHillData); } -void CopyTrainerHillTrainerText(u8 which, u16 trainerId) +void CopyTrainerHillTrainerText(u8 which, u16 localId) { u8 id, floorId; SetUpDataStruct(); floorId = GetFloorId(); - id = trainerId - 1; + id = localId - 1; switch (which) { @@ -783,7 +783,7 @@ static bool32 UNUSED OnTrainerHillRoof(void) const struct WarpEvent* SetWarpDestinationTrainerHill4F(void) { - const struct MapHeader *header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), MAP_NUM(TRAINER_HILL_4F)); + const struct MapHeader *header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_TRAINER_HILL_4F), MAP_NUM(MAP_TRAINER_HILL_4F)); return &header->events->warps[1]; } @@ -802,7 +802,7 @@ const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId) if (numFloors == 0 || numFloors > NUM_TRAINER_HILL_FLOORS) numFloors = NUM_TRAINER_HILL_FLOORS; - header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), sNextFloorMapNum[numFloors - 1]); + header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_TRAINER_HILL_4F), sNextFloorMapNum[numFloors - 1]); return &header->events->warps[0]; } diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index b6e2b63c35..f36060e8d1 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -11,7 +11,7 @@ #define PICS_COUNT 8 -// Needs to be large enough to store either a decompressed pokemon pic or trainer pic +// Needs to be large enough to store either a decompressed Pokémon pic or trainer pic #define PIC_SPRITE_SIZE max(MON_PIC_SIZE, TRAINER_PIC_SIZE) #define MAX_PIC_FRAMES max(MAX_MON_PIC_FRAMES, MAX_TRAINER_PIC_FRAMES) diff --git a/src/trainer_see.c b/src/trainer_see.c index 88f9215f77..f7b19aa8d9 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -49,11 +49,11 @@ static bool8 WaitRevealBuriedTrainer(u8 taskId, struct Task *task, struct Object static void SpriteCB_TrainerIcons(struct Sprite *sprite); // IWRAM common -u16 gWhichTrainerToFaceAfterBattle; -u8 gPostBattleMovementScript[4]; -struct ApproachingTrainer gApproachingTrainers[2]; -u8 gNoOfApproachingTrainers; -bool8 gTrainerApproachedPlayer; +COMMON_DATA u16 gWhichTrainerToFaceAfterBattle = 0; +COMMON_DATA u8 gPostBattleMovementScript[4] = {0}; +COMMON_DATA struct ApproachingTrainer gApproachingTrainers[2] = {0}; +COMMON_DATA u8 gNoOfApproachingTrainers = 0; +COMMON_DATA bool8 gTrainerApproachedPlayer = 0; // EWRAM EWRAM_DATA u8 gApproachingTrainerId = 0; @@ -256,7 +256,7 @@ static u8 CheckTrainer(u8 objectEventId) else scriptPtr = GetObjectEventScriptPointerByObjectEventId(objectEventId); - if (InBattlePyramid()) + if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) { if (GetBattlePyramidTrainerFlag(objectEventId)) return 0; @@ -389,15 +389,15 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 ap return 0; } - rangeX = trainerObj->rangeX; - rangeY = trainerObj->rangeY; - trainerObj->rangeX = 0; - trainerObj->rangeY = 0; + rangeX = trainerObj->range.rangeX; + rangeY = trainerObj->range.rangeY; + trainerObj->range.rangeX = 0; + trainerObj->range.rangeY = 0; collision = GetCollisionAtCoords(trainerObj, x, y, direction); - trainerObj->rangeX = rangeX; - trainerObj->rangeY = rangeY; + trainerObj->range.rangeX = rangeX; + trainerObj->range.rangeY = rangeY; if (collision == COLLISION_OBJECT_EVENT) return approachDistance; @@ -595,7 +595,7 @@ static bool8 JumpInPlaceBuriedTrainer(u8 taskId, struct Task *task, struct Objec if (gSprites[task->tOutOfAshSpriteId].animCmdIndex == 2) { trainerObj->fixedPriority = 0; - trainerObj->triggerGroundEffectsOnMove = 1; + trainerObj->triggerGroundEffectsOnMove = TRUE; sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; @@ -800,15 +800,15 @@ void PlayerFaceTrainerAfterBattle(void) objEvent = &gObjectEvents[gApproachingTrainers[gWhichTrainerToFaceAfterBattle].objectEventId]; gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(GetOppositeDirection(objEvent->facingDirection)); gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END; - ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); + ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); } else { objEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(objEvent->facingDirection); gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END; - ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); + ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript); } - SetMovingNpcId(OBJ_EVENT_ID_PLAYER); + SetMovingNpcId(LOCALID_PLAYER); } diff --git a/src/tv.c b/src/tv.c index ef493c10ce..8f4de5548e 100644 --- a/src/tv.c +++ b/src/tv.c @@ -63,14 +63,14 @@ enum { ROULETTE, }; -s8 sCurTVShowSlot; -u16 sTV_SecretBaseVisitMovesTemp[8]; -u8 sTV_DecorationsBuffer[DECOR_MAX_SECRET_BASE]; -struct { +COMMON_DATA s8 sCurTVShowSlot = 0; +COMMON_DATA u16 sTV_SecretBaseVisitMovesTemp[8] = {0}; +COMMON_DATA u8 sTV_DecorationsBuffer[DECOR_MAX_SECRET_BASE] = {0}; +COMMON_DATA struct { u8 level; u16 species; u16 move; -} sTV_SecretBaseVisitMonsTemp[10]; +} sTV_SecretBaseVisitMonsTemp[10] = {0}; static u8 sTVShowMixingNumPlayers; static u8 sTVShowNewsMixingNumPlayers; @@ -199,31 +199,31 @@ static const struct { .species = SPECIES_SEEDOT, .moves = {MOVE_BIDE, MOVE_HARDEN, MOVE_LEECH_SEED}, .level = 3, - .location = MAP_NUM(ROUTE102) + .location = MAP_NUM(MAP_ROUTE102) }, { .species = SPECIES_NUZLEAF, .moves = {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED}, .level = 15, - .location = MAP_NUM(ROUTE114), + .location = MAP_NUM(MAP_ROUTE114), }, { .species = SPECIES_SEEDOT, .moves = {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED}, .level = 13, - .location = MAP_NUM(ROUTE117), + .location = MAP_NUM(MAP_ROUTE117), }, { .species = SPECIES_SEEDOT, .moves = {MOVE_GIGA_DRAIN, MOVE_FRUSTRATION, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED}, .level = 25, - .location = MAP_NUM(ROUTE120), + .location = MAP_NUM(MAP_ROUTE120), }, { .species = SPECIES_SKITTY, .moves = {MOVE_GROWL, MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_ATTRACT}, .level = 8, - .location = MAP_NUM(ROUTE116), + .location = MAP_NUM(MAP_ROUTE116), } }; @@ -836,8 +836,8 @@ void UpdateTVScreensOnMap(int width, int height) break; // case PLAYERS_HOUSE_TV_NONE: default: - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_COVE_LILY_MOTEL_1F) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_COVE_LILY_MOTEL_1F)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F)) { // NPC in Lilycove Hotel is always watching TV SetTVMetatilesOnMap(width, height, METATILE_Building_TV_On); @@ -992,6 +992,7 @@ static void TakeGabbyAndTyOffTheAir(void) gSaveBlock1Ptr->gabbyAndTyData.onAir = FALSE; } +// See gabby_and_ty.inc for details u8 GabbyAndTyGetBattleNum(void) { if (gSaveBlock1Ptr->gabbyAndTyData.battleNum > 5) @@ -1033,41 +1034,42 @@ u8 GabbyAndTyGetLastBattleTrivia(void) return 0; } +// See gabby_and_ty.inc for details void GetGabbyAndTyLocalIds(void) { switch (GabbyAndTyGetBattleNum()) { case 1: - gSpecialVar_0x8004 = 14; - gSpecialVar_0x8005 = 13; + gSpecialVar_0x8004 = LOCALID_ROUTE111_GABBY_1; + gSpecialVar_0x8005 = LOCALID_ROUTE111_TY_1; break; case 2: - gSpecialVar_0x8004 = 5; - gSpecialVar_0x8005 = 6; + gSpecialVar_0x8004 = LOCALID_ROUTE118_GABBY_1; + gSpecialVar_0x8005 = LOCALID_ROUTE118_TY_1; break; case 3: - gSpecialVar_0x8004 = 18; - gSpecialVar_0x8005 = 17; + gSpecialVar_0x8004 = LOCALID_ROUTE120_GABBY_1; + gSpecialVar_0x8005 = LOCALID_ROUTE120_TY_1; break; case 4: - gSpecialVar_0x8004 = 21; - gSpecialVar_0x8005 = 22; + gSpecialVar_0x8004 = LOCALID_ROUTE111_GABBY_2; + gSpecialVar_0x8005 = LOCALID_ROUTE111_TY_2; break; case 5: - gSpecialVar_0x8004 = 8; - gSpecialVar_0x8005 = 9; + gSpecialVar_0x8004 = LOCALID_ROUTE118_GABBY_2; + gSpecialVar_0x8005 = LOCALID_ROUTE118_TY_2; break; case 6: - gSpecialVar_0x8004 = 19; - gSpecialVar_0x8005 = 20; + gSpecialVar_0x8004 = LOCALID_ROUTE120_GABBY_2; + gSpecialVar_0x8005 = LOCALID_ROUTE120_TY_2; break; case 7: - gSpecialVar_0x8004 = 23; - gSpecialVar_0x8005 = 24; + gSpecialVar_0x8004 = LOCALID_ROUTE111_GABBY_3; + gSpecialVar_0x8005 = LOCALID_ROUTE111_TY_3; break; case 8: - gSpecialVar_0x8004 = 10; - gSpecialVar_0x8005 = 11; + gSpecialVar_0x8004 = LOCALID_ROUTE118_GABBY_3; + gSpecialVar_0x8005 = LOCALID_ROUTE118_TY_3; break; } } @@ -1503,8 +1505,8 @@ void TryPutSmartShopperOnAir(void) TVShow *show; u8 i; - if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) - && !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_MART) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_MART)) + if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_TRAINER_HILL_ENTRANCE)) + && !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_MART) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_MART)) && !rbernoulli(1, 3)) { sCurTVShowSlot = FindFirstEmptyRecordMixTVShowSlot(gSaveBlock1Ptr->tvShows); @@ -2199,7 +2201,7 @@ void TryPutLotteryWinnerReportOnAir(void) } } -void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u16 betterMove) +void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIndex, const u16 *movePtr, u16 betterMove) { TVShow *show; u8 i; @@ -2214,10 +2216,10 @@ void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16 StringCopy(show->battleSeminar.playerName, gSaveBlock2Ptr->playerName); show->battleSeminar.foeSpecies = foeSpecies; show->battleSeminar.species = species; - show->battleSeminar.move = movePtr[moveIdx]; + show->battleSeminar.move = movePtr[moveIndex]; for (i = 0, j = 0; i < MAX_MON_MOVES; i++) { - if (i != moveIdx && movePtr[i]) + if (i != moveIndex && movePtr[i]) { show->battleSeminar.otherMoves[j] = movePtr[i]; j++; @@ -2678,14 +2680,14 @@ static bool8 ShouldApplyPokeNewsEffect(u8 newsKind) switch (newsKind) { case POKENEWS_SLATEPORT: - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SLATEPORT_CITY) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SLATEPORT_CITY) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SLATEPORT_CITY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SLATEPORT_CITY) && gSpecialVar_LastTalked == LOCALID_SLATEPORT_ENERGY_GURU) return TRUE; return FALSE; case POKENEWS_LILYCOVE: - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)) return TRUE; return FALSE; } @@ -2807,7 +2809,7 @@ static void SmartShopper_BufferPurchaseTotal(u8 varIdx, TVShow *show) for (i = 0; i < SMARTSHOPPER_NUM_ITEMS; i++) { if (show->smartshopperShow.itemIds[i] != ITEM_NONE) - price += ItemId_GetPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i]; + price += GetItemPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i]; } if (show->smartshopperShow.priceReduced == TRUE) @@ -3357,18 +3359,18 @@ u32 GetPlayerIDAsU32(void) u8 CheckForPlayersHouseNews(void) { // Check if not in Littleroot house map group - if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) return PLAYERS_HOUSE_TV_NONE; // Check if not in player's house (dependent on gender) if (gSaveBlock2Ptr->playerGender == MALE) { - if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) + if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) return PLAYERS_HOUSE_TV_NONE; } else { - if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F)) + if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F)) return PLAYERS_HOUSE_TV_NONE; } @@ -3384,11 +3386,11 @@ u8 CheckForPlayersHouseNews(void) void GetMomOrDadStringForTVMessage(void) { // If the player is checking the TV in their house it will only refer to their Mom. - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { if (gSaveBlock2Ptr->playerGender == MALE) { - if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { StringCopy(gStringVar1, gText_Mom); VarSet(VAR_TEMP_3, 1); @@ -3396,7 +3398,7 @@ void GetMomOrDadStringForTVMessage(void) } else { - if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F)) + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F)) { StringCopy(gStringVar1, gText_Mom); VarSet(VAR_TEMP_3, 1); @@ -3440,7 +3442,7 @@ void GetMomOrDadStringForTVMessage(void) void HideBattleTowerReporter(void) { VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0); - RemoveObjectEventByLocalIdAndMap(LOCALID_BATTLE_TOWER_LOBBY_REPORTER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + RemoveObjectEventByLocalIdAndMap(LOCALID_TOWER_LOBBY_REPORTER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); FlagSet(FLAG_HIDE_BATTLE_TOWER_REPORTER); } @@ -4489,7 +4491,7 @@ static void DoTVShowTodaysSmartShopper(void) break; case SMARTSHOPPER_STATE_CLERK_NORMAL: TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language); - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[0])); ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[0]); // Pick a random comment (SMARTSHOPPER_STATE_RAND_COMMENT_#) sTVShowState += SMARTSHOPPER_STATE_CLERK_NORMAL + (Random() % (SMARTSHOPPER_STATE_RAND_COMMENT_4 - SMARTSHOPPER_STATE_RAND_COMMENT_1 + 1)); @@ -4511,7 +4513,7 @@ static void DoTVShowTodaysSmartShopper(void) break; case SMARTSHOPPER_STATE_SECOND_ITEM: // Clerk describes 2nd type of item player purchased - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[1])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[1])); ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[1]); if (show->smartshopperShow.itemIds[2] != ITEM_NONE) sTVShowState = SMARTSHOPPER_STATE_THIRD_ITEM; @@ -4522,7 +4524,7 @@ static void DoTVShowTodaysSmartShopper(void) break; case SMARTSHOPPER_STATE_THIRD_ITEM: // Clerk describes 3rd type of item player purchased - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[2])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[2])); ConvertIntToDecimalString(2, show->smartshopperShow.itemAmounts[2]); if (show->smartshopperShow.priceReduced == TRUE) sTVShowState = SMARTSHOPPER_STATE_DURING_SALE; @@ -4550,7 +4552,7 @@ static void DoTVShowTodaysSmartShopper(void) case SMARTSHOPPER_STATE_CLERK_MAX: // Clerk's comments if player purchased maximum number of 1st item TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language); - StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0])); + StringCopy(gStringVar2, GetItemName(show->smartshopperShow.itemIds[0])); if (show->smartshopperShow.priceReduced == TRUE) sTVShowState = SMARTSHOPPER_STATE_DURING_SALE; else @@ -4674,7 +4676,7 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void) sTVShowState = 2; break; case 2: - StringCopy(gStringVar2, ItemId_GetName(show->pokemonToday.ball)); + StringCopy(gStringVar2, GetItemName(show->pokemonToday.ball)); ConvertIntToDecimalString(2, show->pokemonToday.nBallsUsed); if (show->pokemonToday.nBallsUsed < 4) sTVShowState = 3; @@ -5364,7 +5366,8 @@ static void DoTVShow3CheersForPokeblocks(void) if (show->threeCheers.sheen > 24) { StringCopy(gStringVar2, gText_Excellent); - } else if (show->threeCheers.sheen > 22) + } + else if (show->threeCheers.sheen > 22) { StringCopy(gStringVar2, gText_VeryGood); } @@ -5713,7 +5716,7 @@ static void DoTVShowHoennTreasureInvestigators(void) switch (state) { case 0: - StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); + StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item)); if (show->treasureInvestigators.location == MAPSEC_DYNAMIC) { switch (show->treasureInvestigators.mapLayoutId) @@ -5734,13 +5737,13 @@ static void DoTVShowHoennTreasureInvestigators(void) } break; case 1: - StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); + StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item)); TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language); GetMapName(gStringVar3, show->treasureInvestigators.location, 0); TVShowDone(); break; case 2: - StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); + StringCopy(gStringVar1, GetItemName(show->treasureInvestigators.item)); TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language); TVShowDone(); break; @@ -5848,7 +5851,7 @@ static void DoTVShowBreakingNewsTV(void) break; case 3: ConvertIntToDecimalString(0, show->breakingNews.balls); - StringCopy(gStringVar2, ItemId_GetName(show->breakingNews.caughtMonBall)); + StringCopy(gStringVar2, GetItemName(show->breakingNews.caughtMonBall)); sTVShowState = 4; break; case 4: @@ -6010,7 +6013,7 @@ static void DoTVShowPokemonLotteryWinnerFlashReport(void) StringCopy(gStringVar2, gText_Second); else StringCopy(gStringVar2, gText_Third); - StringCopy(gStringVar3, ItemId_GetName(show->lottoWinner.item)); + StringCopy(gStringVar3, GetItemName(show->lottoWinner.item)); TVShowDone(); ShowFieldMessage(sTVPokemonLotteryWinnerFlashReportTextGroup[state]); } @@ -6241,7 +6244,7 @@ static void DoTVShowSpotTheCuties(void) TVShowConvertInternationalString(gStringVar1, show->cuties.playerName, show->cuties.language); TVShowConvertInternationalString(gStringVar2, show->cuties.nickname, show->cuties.pokemonNameLanguage); - // Comments following the intro depend on how many ribbons the pokemon has + // Comments following the intro depend on how many ribbons the Pokémon has if (show->cuties.nRibbons < 10) sTVShowState = SPOTCUTIES_STATE_RIBBONS_LOW; else if (show->cuties.nRibbons < 20) @@ -6694,7 +6697,7 @@ static void DoTVShowSecretBaseSecrets(void) sTVShowState = show->secretBaseSecrets.savedState; break; case SBSECRETS_STATE_USED_BAG: - StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item)); + StringCopy(gStringVar2, GetItemName(show->secretBaseSecrets.item)); sTVShowState = show->secretBaseSecrets.savedState; break; case SBSECRETS_STATE_USED_CUSHION: diff --git a/src/union_room.c b/src/union_room.c index 1b29863183..cd94cf23bf 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1630,7 +1630,7 @@ static void CB2_TransitionToCableClub(void) static void CreateTrainerCardInBuffer(void *dest, bool32 setWonderCard) { - struct TrainerCard * card = (struct TrainerCard *)dest; + struct TrainerCard *card = (struct TrainerCard *)dest; TrainerCard_GenerateCardForLinkPlayer(card); // Below field is re-used, to be read by Task_ExchangeCards @@ -1672,7 +1672,7 @@ static void Task_StartActivity(u8 taskId) HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - WarpForCableClubActivity(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE); + WarpForCableClubActivity(MAP_GROUP(MAP_BATTLE_COLOSSEUM_2P), MAP_NUM(MAP_BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE); SetMainCallback2(CB2_TransitionToCableClub); break; case ACTIVITY_BATTLE_DOUBLE: @@ -1681,7 +1681,7 @@ static void Task_StartActivity(u8 taskId) SavePlayerParty(); LoadPlayerBag(); CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); - WarpForCableClubActivity(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE); + WarpForCableClubActivity(MAP_GROUP(MAP_BATTLE_COLOSSEUM_2P), MAP_NUM(MAP_BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE); SetMainCallback2(CB2_TransitionToCableClub); break; case ACTIVITY_BATTLE_MULTI: @@ -1690,19 +1690,19 @@ static void Task_StartActivity(u8 taskId) SavePlayerParty(); LoadPlayerBag(); CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); - WarpForCableClubActivity(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE); + WarpForCableClubActivity(MAP_GROUP(MAP_BATTLE_COLOSSEUM_4P), MAP_NUM(MAP_BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE); SetMainCallback2(CB2_TransitionToCableClub); break; case ACTIVITY_TRADE: CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - WarpForCableClubActivity(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER); + WarpForCableClubActivity(MAP_GROUP(MAP_TRADE_CENTER), MAP_NUM(MAP_TRADE_CENTER), 5, 8, USING_TRADE_CENTER); SetMainCallback2(CB2_TransitionToCableClub); break; case ACTIVITY_RECORD_CORNER: CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - WarpForCableClubActivity(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, USING_RECORD_CORNER); + WarpForCableClubActivity(MAP_GROUP(MAP_RECORD_CORNER), MAP_NUM(MAP_RECORD_CORNER), 8, 9, USING_RECORD_CORNER); SetMainCallback2(CB2_TransitionToCableClub); break; case ACTIVITY_TRADE | IN_UNION_ROOM: @@ -3125,7 +3125,7 @@ static void Task_RunUnionRoom(u8 taskId) break; case UR_STATE_REGISTER_COMPLETE: SetTradeBoardRegisteredMonInfo(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); - ScheduleFieldMessageAndExit(sText_RegistraionCompleted); + ScheduleFieldMessageAndExit(sText_RegistrationCompleted); break; case UR_STATE_CANCEL_REGISTRATION_PROMPT: switch (UnionRoomHandleYesNo(&uroom->textState, FALSE)) @@ -3496,10 +3496,10 @@ static void Task_SearchForChildOrParent(u8 taskId) } } -static u8 CreateTask_SearchForChildOrParent(struct RfuIncomingPlayerList * parentList, struct RfuIncomingPlayerList * childList, u32 linkGroup) +static u8 CreateTask_SearchForChildOrParent(struct RfuIncomingPlayerList *parentList, struct RfuIncomingPlayerList *childList, u32 linkGroup) { u8 taskId = CreateTask(Task_SearchForChildOrParent, 0); - struct RfuIncomingPlayerList ** data = (void *)gTasks[taskId].data; + struct RfuIncomingPlayerList **data = (void *)gTasks[taskId].data; data[0] = parentList; data[1] = childList; gTasks[taskId].data[4] = linkGroup; @@ -3563,7 +3563,7 @@ static void Task_ListenForWonderDistributor(u8 taskId) } } -static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList * list, u32 linkGroup) +static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList *list, u32 linkGroup) { u8 taskId = CreateTask(Task_ListenForCompatiblePartners, 0); struct RfuIncomingPlayerList **oldList = (void *) gTasks[taskId].data; @@ -3572,7 +3572,7 @@ static u8 CreateTask_ListenForCompatiblePartners(struct RfuIncomingPlayerList * return taskId; } -static u8 CreateTask_ListenForWonderDistributor(struct RfuIncomingPlayerList * list, u32 linkGroup) +static u8 CreateTask_ListenForWonderDistributor(struct RfuIncomingPlayerList *list, u32 linkGroup) { u8 taskId = CreateTask(Task_ListenForWonderDistributor, 0); struct RfuIncomingPlayerList **oldList = (void *) gTasks[taskId].data; @@ -3650,7 +3650,7 @@ static s8 UnionRoomHandleYesNo(u8 *state, bool32 noDraw) return MENU_NOTHING_CHOSEN; } -static u8 CreateTradeBoardWindow(const struct WindowTemplate * template) +static u8 CreateTradeBoardWindow(const struct WindowTemplate *template) { u8 windowId = AddWindow(template); DrawStdWindowFrame(windowId, FALSE); @@ -3880,7 +3880,7 @@ static void ClearIncomingPlayerList(struct RfuIncomingPlayerList *list, u8 count } // Checks player name and trainer id, returns TRUE if they are not the same -static bool8 ArePlayersDifferent(struct RfuPlayerData* player1, const struct RfuPlayerData* player2) +static bool8 ArePlayersDifferent(struct RfuPlayerData *player1, const struct RfuPlayerData *player2) { s32 i; @@ -4044,7 +4044,7 @@ static s32 UnionRoomGetPlayerInteractionResponse(struct RfuPlayerList *list, boo { bool32 metBefore; - struct RfuPlayer * player = &list->players[playerIdx]; + struct RfuPlayer *player = &list->players[playerIdx]; if (!player->rfu.data.startedActivity && !overrideGender) { @@ -4094,7 +4094,7 @@ static void ItemPrintFunc_EmptyList(u8 windowId, u32 itemId, u8 y) { } -static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData * data, const u8 * playerName, u8 colorIdx) +static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData *data, const u8 *playerName, u8 colorIdx) { u8 levelStr[4]; u16 species = data->tradeSpecies; @@ -4146,7 +4146,7 @@ static void TradeBoardListMenuItemPrintFunc(u8 windowId, u32 itemId, u8 y) } } -static s32 GetIndexOfNthTradeBoardOffer(struct RfuPlayer * players, s32 n) +static s32 GetIndexOfNthTradeBoardOffer(struct RfuPlayer *players, s32 n) { s32 i; s32 j = 0; @@ -4306,8 +4306,8 @@ static bool32 PollPartnerYesNoResponse(struct WirelessLink_URoom *data) bool32 InUnionRoom(void) { - return gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNION_ROOM) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(UNION_ROOM) + return gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_UNION_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_UNION_ROOM) ? TRUE : FALSE; } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index c3ace12505..856f91bb78 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -26,7 +26,7 @@ struct UnionRoomBattle s16 textState; }; -static EWRAM_DATA struct UnionRoomBattle * sBattle = NULL; +static EWRAM_DATA struct UnionRoomBattle *sBattle = NULL; static const struct BgTemplate sBgTemplates[] = { { @@ -73,7 +73,7 @@ static void CB2_SetUpPartiesAndStartBattle(void) SetMainCallback2(CB2_InitBattle); } -static void AddTextPrinterForUnionRoomBattle(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) +static void AddTextPrinterForUnionRoomBattle(u8 windowId, const u8 *str, u8 x, u8 y, s32 speed) { s32 letterSpacing = 0; s32 lineSpacing = 1; @@ -81,7 +81,7 @@ static void AddTextPrinterForUnionRoomBattle(u8 windowId, const u8 * str, u8 x, AddTextPrinterParameterized4(windowId, FONT_NORMAL, x, y, letterSpacing, lineSpacing, sTextColors, speed, str); } -static bool32 PrintUnionRoomBattleMessage(s16 * state, const u8 * str, s32 speed) +static bool32 PrintUnionRoomBattleMessage(s16 *state, const u8 *str, s32 speed) { switch (*state) { diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 993e36de52..8cdd4bb144 100644 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -155,7 +155,7 @@ struct UnionRoomChat struct UnionRoomChatDisplay_Subtask { - bool32 (* callback)(u8 *); + bool32 (*callback)(u8 *); bool8 active; u8 state; }; @@ -189,7 +189,7 @@ struct UnionRoomChatSprites struct SubtaskInfo { u16 idx; - bool32 (* callback)(u8 *); + bool32 (*callback)(u8 *); }; struct MessageWindowInfo diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index a7d5045b38..1f06828986 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -14,9 +14,9 @@ // Each parent player can lead a group of up to MAX_RFU_PLAYERS (including themselves). // Multiply the leader's id by MAX_RFU_PLAYERS and add the member's id (0 if the leader) to // get the sprite index of that player. -#define UR_PLAYER_SPRITE_ID(leaderId, memberId)(MAX_RFU_PLAYERS * leaderId + memberId) +#define UR_PLAYER_SPRITE_ID(leaderId, memberId) (MAX_RFU_PLAYERS * leaderId + memberId) -static EWRAM_DATA struct UnionRoomObject * sUnionObjWork = NULL; +static EWRAM_DATA struct UnionRoomObject *sUnionObjWork = NULL; static EWRAM_DATA u32 sUnionObjRefreshTimer = 0; static u8 CreateTask_AnimateUnionRoomPlayers(void); @@ -136,7 +136,7 @@ static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id) return sUnionRoomObjGfxIds[gender][id % NUM_UNION_ROOM_CLASSES]; } -static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 * x, s32 * y) +static void GetUnionRoomPlayerCoords(u32 leaderId, u32 memberId, s32 *x, s32 *y) { *x = sUnionRoomPlayerCoords[leaderId][0] + sUnionRoomGroupOffsets[memberId][0] + MAP_OFFSET; *y = sUnionRoomPlayerCoords[leaderId][1] + sUnionRoomGroupOffsets[memberId][1] + MAP_OFFSET; @@ -181,10 +181,10 @@ static void RemoveUnionRoomPlayerObjectEvent(u32 leaderId) RemoveObjectEventByLocalIdAndMap(sUnionRoomLocalIds[leaderId], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } -static bool32 SetUnionRoomPlayerEnterExitMovement(u32 leaderId, const u8 * movement) +static bool32 SetUnionRoomPlayerEnterExitMovement(u32 leaderId, const u8 *movement) { u8 objectId; - struct ObjectEvent * object; + struct ObjectEvent *object; if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[leaderId], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) return FALSE; object = &gObjectEvents[objectId]; @@ -198,7 +198,7 @@ static bool32 SetUnionRoomPlayerEnterExitMovement(u32 leaderId, const u8 * movem static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 leaderId) { u8 objectId; - struct ObjectEvent * object; + struct ObjectEvent *object; if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[leaderId], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) return TRUE; @@ -213,7 +213,7 @@ static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 leaderId) return TRUE; } -u8 InitUnionRoomPlayerObjects(struct UnionRoomObject * players) +u8 InitUnionRoomPlayerObjects(struct UnionRoomObject *players) { s32 i; @@ -229,7 +229,7 @@ u8 InitUnionRoomPlayerObjects(struct UnionRoomObject * players) return CreateTask_AnimateUnionRoomPlayers(); } -static bool32 AnimateUnionRoomPlayerDespawn(s8 * state, u32 leaderId, struct UnionRoomObject * object) +static bool32 AnimateUnionRoomPlayerDespawn(s8 *state, u32 leaderId, struct UnionRoomObject *object) { switch (*state) { @@ -253,7 +253,7 @@ static bool32 AnimateUnionRoomPlayerDespawn(s8 * state, u32 leaderId, struct Uni return FALSE; } -static bool32 AnimateUnionRoomPlayerSpawn(s8 * state, u32 leaderId, struct UnionRoomObject * object) +static bool32 AnimateUnionRoomPlayerSpawn(s8 *state, u32 leaderId, struct UnionRoomObject *object) { s16 x, y; @@ -290,7 +290,7 @@ static bool32 AnimateUnionRoomPlayerSpawn(s8 * state, u32 leaderId, struct Union static bool32 SpawnGroupLeader(u32 leaderId, u32 gender, u32 id) { - struct UnionRoomObject * object = &sUnionObjWork[leaderId]; + struct UnionRoomObject *object = &sUnionObjWork[leaderId]; object->schedAnim = UNION_ROOM_SPAWN_IN; object->gfxId = GetUnionRoomPlayerGraphicsId(gender, id); @@ -302,7 +302,7 @@ static bool32 SpawnGroupLeader(u32 leaderId, u32 gender, u32 id) static bool32 DespawnGroupLeader(u32 leaderId) { - struct UnionRoomObject * object = &sUnionObjWork[leaderId]; + struct UnionRoomObject *object = &sUnionObjWork[leaderId]; object->schedAnim = UNION_ROOM_SPAWN_OUT; if (object->state == 1) @@ -311,7 +311,7 @@ static bool32 DespawnGroupLeader(u32 leaderId) return FALSE; } -static void AnimateUnionRoomPlayer(u32 leaderId, struct UnionRoomObject * object) +static void AnimateUnionRoomPlayer(u32 leaderId, struct UnionRoomObject *object) { switch (object->state) { @@ -390,7 +390,7 @@ void DestroyUnionRoomPlayerObjects(void) DestroyTask_AnimateUnionRoomPlayers(); } -void CreateUnionRoomPlayerSprites(u8 * spriteIds, s32 leaderId) +void CreateUnionRoomPlayerSprites(u8 *spriteIds, s32 leaderId) { s32 memberId; for (memberId = 0; memberId < MAX_RFU_PLAYERS; memberId++) @@ -405,7 +405,7 @@ void CreateUnionRoomPlayerSprites(u8 * spriteIds, s32 leaderId) } } -void DestroyUnionRoomPlayerSprites(u8 * spriteIds) +void DestroyUnionRoomPlayerSprites(u8 *spriteIds) { s32 i; for (i = 0; i < NUM_UNION_ROOM_SPRITES; i++) @@ -427,7 +427,7 @@ void SetTilesAroundUnionRoomPlayersPassable(void) } } -static u8 GetNewFacingDirectionForUnionRoomPlayer(u32 memberId, u32 leaderId, struct RfuGameData * gameData) +static u8 GetNewFacingDirectionForUnionRoomPlayer(u32 memberId, u32 leaderId, struct RfuGameData *gameData) { if (memberId) // If not leader return sMemberFacingDirections[memberId]; @@ -442,7 +442,7 @@ static bool32 IsUnionRoomPlayerInvisible(u32 leaderId, u32 memberId) return IsVirtualObjectInvisible(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID); } -static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct RfuGameData * gameData) +static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct RfuGameData *gameData) { s32 x, y; s32 id = UR_PLAYER_SPRITE_ID(leaderId, memberId); @@ -465,7 +465,7 @@ static void DespawnGroupMember(u32 leaderId, u32 memberId) MapGridSetMetatileImpassabilityAt(x, y, FALSE); } -static void AssembleGroup(u32 leaderId, struct RfuGameData * gameData) +static void AssembleGroup(u32 leaderId, struct RfuGameData *gameData) { s16 x, y, x2, y2; s32 i; @@ -493,7 +493,7 @@ static void AssembleGroup(u32 leaderId, struct RfuGameData * gameData) } } -static void SpawnGroupLeaderAndMembers(u32 leaderId, struct RfuGameData * gameData) +static void SpawnGroupLeaderAndMembers(u32 leaderId, struct RfuGameData *gameData) { u32 i; switch (gameData->activity) @@ -528,7 +528,7 @@ static void DespawnGroupLeaderAndMembers(u32 leaderId, struct RfuGameData *gameD static void UpdateUnionRoomPlayerSprites(struct WirelessLink_URoom *uroom) { s32 i; - struct RfuPlayer * leaders; + struct RfuPlayer *leaders; sUnionObjRefreshTimer = 0; for (i = 0, leaders = uroom->playerList->players; i < MAX_UNION_ROOM_LEADERS; i++) { @@ -554,7 +554,7 @@ bool32 TryInteractWithUnionRoomMember(struct RfuPlayerList *list, s16 *memberIdP { s16 x, y; s32 i, memberId; - struct RfuPlayer * leaders; + struct RfuPlayer *leaders; if (!IsPlayerStandingStill()) return FALSE; diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 2aefdedf38..c9d5c56e5c 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -73,10 +73,10 @@ struct UsePokeblockSession u8 natureText[34]; }; -// This struct is identical to PokenavMonListItem, the struct used for managing lists of pokemon in the pokenav +// This struct is identical to PokenavMonListItem, the struct used for managing lists of Pokémon in the PokéNav // Given that this screen is essentially duplicated in the poknav, this struct was probably the same one with // a more general name/purpose -// TODO: Once the pokenav conditions screens are documented, resolve the above +// TODO: Once the PokéNav conditions screens are documented, resolve the above struct UsePokeblockMenuPokemon { u8 boxId; // Because this screen is never used for the PC this is always set to TOTAL_BOXES_COUNT to refer to party @@ -1259,7 +1259,7 @@ static void LoadAndCreateSelectionIcons(void) LoadSpriteSheets(spriteSheets); LoadSpritePalettes(spritePals); - // Fill pokeball selection icons up to number in party + // Fill Poké Ball selection icons up to number in party for (i = 0; i < sMenu->info.numSelections - 1; i++) { spriteId = CreateSprite(&spriteTemplate, 226, (i * 20) + 8, 0); @@ -1489,7 +1489,7 @@ static bool8 LoadNewSelection_CancelToMon(void) case 2: if (!ConditionMenu_UpdateMonEnter(&sMenu->graph, &sMenu->curMonXOffset)) { - // Load the new adjacent pokemon (not the one being shown) + // Load the new adjacent Pokémon (not the one being shown) LoadMonInfo(sMenu->toLoadSelection, sMenu->toLoadId); sMenu->info.helperState++; } @@ -1552,7 +1552,7 @@ static bool8 LoadNewSelection_MonToMon(void) case 2: if (!ConditionMenu_UpdateMonEnter(&sMenu->graph, &sMenu->curMonXOffset)) { - // Load the new adjacent pokemon (not the one being shown) + // Load the new adjacent Pokémon (not the one being shown) LoadMonInfo(sMenu->toLoadSelection, sMenu->toLoadId); sMenu->info.helperState++; } @@ -1593,8 +1593,8 @@ static void SpriteCB_SelectionIconCancel(struct Sprite *sprite) sprite->oam.paletteNum = IndexOfSpritePaletteTag(TAG_CONDITION_CANCEL); } -// Calculate the max id for sparkles/stars that appear around the pokemon on the condition screen -// All pokemon start with 1 sparkle (added by CreateConditionSparkleSprites), so the number here +1 +// Calculate the max id for sparkles/stars that appear around the Pokémon on the condition screen +// All Pokémon start with 1 sparkle (added by CreateConditionSparkleSprites), so the number here +1 // is the total number of sparkles that appear static void CalculateNumAdditionalSparkles(u8 monIndex) { diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 3a7f6cab23..7ac9ae0e8f 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -118,8 +118,8 @@ static bool8 CheckFeebas(void) u8 route119Section = 0; u16 spotId; - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE119) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE119)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE119) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE119)) { GetXYCoordsOneStepInFrontOfPlayer(&x, &y); x -= MAP_OFFSET; @@ -309,14 +309,14 @@ static u16 GetCurrentMapWildMonHeaderId(void) for (i = 0; ; i++) { const struct WildPokemonHeader *wildHeader = &gWildMonHeaders[i]; - if (wildHeader->mapGroup == MAP_GROUP(UNDEFINED)) + if (wildHeader->mapGroup == MAP_GROUP(MAP_UNDEFINED)) break; if (gWildMonHeaders[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gWildMonHeaders[i].mapNum == gSaveBlock1Ptr->location.mapNum) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ALTERING_CAVE) && - gSaveBlock1Ptr->location.mapNum == MAP_NUM(ALTERING_CAVE)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ALTERING_CAVE) && + gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ALTERING_CAVE)) { u16 alteringCaveId = VarGet(VAR_ALTERING_CAVE_WILD_SET); if (alteringCaveId >= NUM_ALTERING_CAVE_TABLES) @@ -364,7 +364,7 @@ static u8 PickWildMonNature(void) } } } - // check synchronize for a pokemon with the same ability + // check synchronize for a Pokémon with the same ability if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG) && GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE && Random() % 2 == 0) @@ -540,8 +540,8 @@ static bool8 AllowWildCheckOnNewMetatile(void) static bool8 AreLegendariesInSootopolisPreventingEncounters(void) { - if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(SOOTOPOLIS_CITY) - || gSaveBlock1Ptr->location.mapNum != MAP_NUM(SOOTOPOLIS_CITY)) + if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_SOOTOPOLIS_CITY) + || gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_SOOTOPOLIS_CITY)) { return FALSE; } @@ -812,16 +812,16 @@ u16 GetLocalWildMon(bool8 *isWaterMon) // Neither if (landMonsInfo == NULL && waterMonsInfo == NULL) return SPECIES_NONE; - // Land Pokemon + // Land Pokémon else if (landMonsInfo != NULL && waterMonsInfo == NULL) return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; - // Water Pokemon + // Water Pokémon else if (landMonsInfo == NULL && waterMonsInfo != NULL) { *isWaterMon = TRUE; return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; } - // Either land or water Pokemon + // Either land or water Pokémon if ((Random() % 100) < 80) { return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; @@ -851,7 +851,7 @@ bool8 UpdateRepelCounter(void) { u16 steps; - if (InBattlePike() || InBattlePyramid()) + if (InBattlePike() || CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE) return FALSE; if (InUnionRoom() == TRUE) return FALSE; diff --git a/gflib/window.c b/src/window.c similarity index 99% rename from gflib/window.c rename to src/window.c index 6f7af457d3..644048fad7 100644 --- a/gflib/window.c +++ b/src/window.c @@ -5,12 +5,12 @@ #include "blit.h" // This global is set to 0 and never changed. -u8 gTransparentTileNumber; -void *gWindowBgTilemapBuffers[NUM_BACKGROUNDS]; +COMMON_DATA u8 gTransparentTileNumber = 0; +COMMON_DATA void *gWindowBgTilemapBuffers[NUM_BACKGROUNDS] = {0}; extern u32 gWindowTileAutoAllocEnabled; EWRAM_DATA struct Window gWindows[WINDOWS_MAX] = {0}; -EWRAM_DATA static struct Window* sWindowPtr = NULL; +EWRAM_DATA static struct Window *sWindowPtr = NULL; EWRAM_DATA static u16 sWindowSize = 0; static u8 GetNumActiveWindowsOnBg(u8 bgId); diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 9a562cf7f7..7734c39d24 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -54,7 +54,7 @@ struct WirelessCommunicationStatusScreen u8 filler[10]; }; -static struct WirelessCommunicationStatusScreen * sStatusScreen; +static struct WirelessCommunicationStatusScreen *sStatusScreen; static void CB2_InitWirelessCommunicationScreen(void); static void Task_WirelessCommunicationScreen(u8); @@ -247,7 +247,7 @@ static void CB2_ExitWirelessCommunicationStatusScreen(void) } // Cycle through palettes that relocate various shades of blue to create the wave effect at the bottom of the screen. -static void CyclePalette(s16 * counter, s16 * palIdx) +static void CyclePalette(s16 *counter, s16 *palIdx) { s32 idx; if (++(*counter) > 5) @@ -345,7 +345,7 @@ static void Task_WirelessCommunicationScreen(u8 taskId) #undef tState -static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 mode) +static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 mode) { u8 color[3]; @@ -381,7 +381,7 @@ static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * AddTextPrinterParameterized4(windowId, fontId, x, y, 0, 0, color, TEXT_SKIP_DRAW, str); } -static u32 CountPlayersInGroupAndGetActivity(struct RfuPlayer * player, u32 * groupCounts) +static u32 CountPlayersInGroupAndGetActivity(struct RfuPlayer *player, u32 *groupCounts) { int i, j, k; u32 activity = player->rfu.data.activity; @@ -422,7 +422,7 @@ static u32 CountPlayersInGroupAndGetActivity(struct RfuPlayer * player, u32 * gr #undef group_players } -static bool32 HaveCountsChanged(u32 * currCounts, u32 * prevCounts) +static bool32 HaveCountsChanged(u32 *currCounts, u32 *prevCounts) { s32 i; for (i = 0; i < NUM_GROUPTYPES; i++) @@ -433,11 +433,11 @@ static bool32 HaveCountsChanged(u32 * currCounts, u32 * prevCounts) return FALSE; } -static bool32 UpdateCommunicationCounts(u32 * groupCounts, u32 * prevGroupCounts, u32 * activities, u8 taskId) +static bool32 UpdateCommunicationCounts(u32 *groupCounts, u32 *prevGroupCounts, u32 *activities, u8 taskId) { bool32 activitiesChanged = FALSE; u32 groupCountBuffer[NUM_GROUPTYPES] = {0, 0, 0, 0}; - struct RfuPlayer ** players = (void *)gTasks[taskId].data; + struct RfuPlayer **players = (void *)gTasks[taskId].data; s32 i; for (i = 0; i < NUM_TASK_DATA; i++) diff --git a/sym_bss.txt b/sym_bss.txt index 3a23e74789..0520e0b5b0 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -1,10 +1,10 @@ .include "src/main.o" - .include "gflib/malloc.o" - .include "gflib/dma3_manager.o" - .include "gflib/gpu_regs.o" - .include "gflib/bg.o" - .include "gflib/text.o" - .include "gflib/sprite.o" + .include "src/malloc.o" + .include "src/dma3_manager.o" + .include "src/gpu_regs.o" + .include "src/bg.o" + .include "src/text.o" + .include "src/sprite.o" .include "src/link.o" .include "src/AgbRfu_LinkManager.o" .include "src/link_rfu_3.o" diff --git a/sym_common.txt b/sym_common.txt index 7eebcac74e..e001c2ca59 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -1,37 +1,10 @@ - .space 0x8 + .align 4 .include "main.o" - @ ../gflib/bg.o - .align 2 -gWindowTileAutoAllocEnabled: - .space 4 - @ ../gflib/window.o - .align 4 -gTransparentTileNumber: - .space 1 - .align 4 -gWindowBgTilemapBuffers: - .space 16 - @ ../gflib/text.o - .align 4 -gFonts: - .space 4 - .align 2 -gDisableTextPrinters: - .space 1 - .align 4 -gCurGlyph: - .space 132 - .align 2 -gTextFlags: - .space 4 - @ ../gflib/sprite.o - .align 2 -gOamMatrixAllocBitmap: - .space 4 - .align 2 -gReservedSpritePaletteCount: - .space 1 + .include "bg.o" .align 4 + .include "window.o" + .include "text.o" + .include "sprite.o" .include "link.o" .include "AgbRfu_LinkManager.o" .include "link_rfu_2.o" @@ -53,9 +26,7 @@ gReservedSpritePaletteCount: .include "tv.o" .include "mauville_old_man.o" .include "image_processing_effects.o" - - .space 0x4 - + .align 4 .include "contest_painting.o" .include "field_specials.o" .include "evolution_scene.o" @@ -66,14 +37,9 @@ gReservedSpritePaletteCount: .include "battle_anim_throw.o" .include "battle_factory_screen.o" .include "apprentice.o" - - .space 0x8 - + .align 4 .include "list_menu.o" .include "party_menu.o" - - .space 0x44 - .include "ereader_screen.o" .include "m4a.o" .include "agb_flash.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index 414b7a3b23..92a69cc4c9 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1,9 +1,10 @@ + .include "src/malloc.o" .include "src/decompress.o" .include "src/main.o" - .include "gflib/window.o" - .include "gflib/text.o" - .include "gflib/sprite.o" - .include "gflib/string_util.o" + .include "src/window.o" + .include "src/text.o" + .include "src/sprite.o" + .include "src/string_util.o" .include "src/link.o" .include "src/AgbRfu_LinkManager.o" .include "src/link_rfu_3.o" diff --git a/tools/gbagfx/convert_png.c b/tools/gbagfx/convert_png.c index c9c240efbb..58371229c0 100644 --- a/tools/gbagfx/convert_png.c +++ b/tools/gbagfx/convert_png.c @@ -62,7 +62,7 @@ static unsigned char *ConvertBitDepth(unsigned char *src, int srcBitDepth, int d for (j = 8 - srcBitDepth; j >= 0; j -= srcBitDepth) { - unsigned char pixel = (srcByte >> j) % (1 << destBitDepth); + unsigned char pixel = ((srcByte >> j) % (1 << srcBitDepth)) % (1 << destBitDepth); *dest |= pixel << destBit; destBit -= destBitDepth; if (destBit < 0) diff --git a/tools/gbagfx/jasc_pal.c b/tools/gbagfx/jasc_pal.c index e5ba9c3c2f..8d4bb137d5 100644 --- a/tools/gbagfx/jasc_pal.c +++ b/tools/gbagfx/jasc_pal.c @@ -46,10 +46,14 @@ void ReadJascPaletteLine(FILE *fp, char *line) } if (c == '\n') - FATAL_ERROR("LF line endings aren't supported.\n"); + { + line[length] = 0; + + return; + } if (c == EOF) - FATAL_ERROR("Unexpected EOF. No CRLF at end of file.\n"); + FATAL_ERROR("Unexpected EOF. No LF or CRLF at end of file.\n"); if (c == 0) FATAL_ERROR("NUL character in file.\n"); diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 23056a5ff3..03e51b765a 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -1,4 +1,6 @@ // jsonproc.cpp +// jsonproc converts JSON data to an output file based on an Inja template. +// https://github.com/pantor/inja #include "jsonproc.h" @@ -105,10 +107,13 @@ int main(int argc, char *argv[]) }); env.add_callback("cleanString", 1, [](Arguments& args) { - string badChars = ".'{} \n\t-\u00e9"; string str = args.at(0)->get(); for (unsigned int i = 0; i < str.length(); i++) { - if (badChars.find(str[i]) != std::string::npos) { + // This code is not Unicode aware, so UTF-8 is not easily parsable without introducing + // another library. Just filter out any non-alphanumeric characters for now. + // TODO: proper Unicode string normalization + if ((i == 0 && isdigit(str[i])) + || !isalnum(str[i])) { str[i] = '_'; } } diff --git a/tools/mapjson/json11.cpp b/tools/mapjson/json11.cpp index 1da530206b..fcacdbeb39 100644 --- a/tools/mapjson/json11.cpp +++ b/tools/mapjson/json11.cpp @@ -23,6 +23,7 @@ #include #include #include +#include namespace json11 { @@ -33,7 +34,6 @@ using std::vector; using std::map; using std::make_shared; using std::initializer_list; -using std::move; /* Helper for representing null - just a do-nothing struct, plus comparison * operators so the helpers in JsonValue work. We can't use nullptr_t because @@ -149,7 +149,7 @@ protected: // Constructors explicit Value(const T &value) : m_value(value) {} - explicit Value(T &&value) : m_value(move(value)) {} + explicit Value(T &&value) : m_value(std::move(value)) {} // Get type tag Json::Type type() const override { @@ -196,7 +196,7 @@ class JsonString final : public Value { const string &string_value() const override { return m_value; } public: explicit JsonString(const string &value) : Value(value) {} - explicit JsonString(string &&value) : Value(move(value)) {} + explicit JsonString(string &&value) : Value(std::move(value)) {} }; class JsonArray final : public Value { @@ -204,7 +204,7 @@ class JsonArray final : public Value { const Json & operator[](size_t i) const override; public: explicit JsonArray(const Json::array &value) : Value(value) {} - explicit JsonArray(Json::array &&value) : Value(move(value)) {} + explicit JsonArray(Json::array &&value) : Value(std::move(value)) {} }; class JsonObject final : public Value { @@ -212,7 +212,7 @@ class JsonObject final : public Value { const Json & operator[](const string &key) const override; public: explicit JsonObject(const Json::object &value) : Value(value) {} - explicit JsonObject(Json::object &&value) : Value(move(value)) {} + explicit JsonObject(Json::object &&value) : Value(std::move(value)) {} }; class JsonNull final : public Value { @@ -254,12 +254,12 @@ Json::Json(double value) : m_ptr(make_shared(value)) { Json::Json(int value) : m_ptr(make_shared(value)) {} Json::Json(bool value) : m_ptr(value ? statics().t : statics().f) {} Json::Json(const string &value) : m_ptr(make_shared(value)) {} -Json::Json(string &&value) : m_ptr(make_shared(move(value))) {} +Json::Json(string &&value) : m_ptr(make_shared(std::move(value))) {} Json::Json(const char * value) : m_ptr(make_shared(value)) {} Json::Json(const Json::array &values) : m_ptr(make_shared(values)) {} -Json::Json(Json::array &&values) : m_ptr(make_shared(move(values))) {} +Json::Json(Json::array &&values) : m_ptr(make_shared(std::move(values))) {} Json::Json(const Json::object &values) : m_ptr(make_shared(values)) {} -Json::Json(Json::object &&values) : m_ptr(make_shared(move(values))) {} +Json::Json(Json::object &&values) : m_ptr(make_shared(std::move(values))) {} /* * * * * * * * * * * * * * * * * * * * * Accessors @@ -357,7 +357,7 @@ struct JsonParser final { * Mark this parse as failed. */ Json fail(string &&msg) { - return fail(move(msg), Json()); + return fail(std::move(msg), Json()); } template diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index e53ac7924d..8d8ec4e4e6 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -30,6 +30,8 @@ using json11::Json; #include "mapjson.h" string version; +// System directory separator +string sep; string read_text_file(string filepath) { ifstream in_file(filepath); @@ -94,6 +96,29 @@ string json_to_string(const Json &data, const string &field = "", bool silent = return output; } +string get_generated_warning(const string &filename, bool isAsm) { + string comment = isAsm ? "@" : "//"; + + ostringstream warning; + warning << comment << "\n" + << comment << " DO NOT MODIFY THIS FILE! It is auto-generated from " << filename << "\n" + << comment << "\n\n"; + return warning.str(); +} + +string get_include_guard_start(const string &name) { + ostringstream guard; + guard << "#ifndef GUARD_" << name << "_H\n" + << "#define GUARD_" << name << "_H\n\n"; + return guard.str(); +} + +string get_include_guard_end(const string &name) { + ostringstream guard; + guard << "#endif // GUARD_" << name << "_H\n"; + return guard.str(); +} + string generate_map_header_text(Json map_data, Json layouts_data) { string map_layout_id = json_to_string(map_data, "layout"); @@ -112,8 +137,7 @@ string generate_map_header_text(Json map_data, Json layouts_data) { ostringstream text; string mapName = json_to_string(map_data, "name"); - - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; + text << get_generated_warning("data/maps/" + mapName + "/map.json", true); text << mapName << ":\n" << "\t.4byte " << json_to_string(layout, "name") << "\n"; @@ -165,12 +189,10 @@ string generate_map_connections_text(Json map_data) { if (map_data["connections"] == Json()) return string("\n"); - ostringstream text; - string mapName = json_to_string(map_data, "name"); - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; - + ostringstream text; + text << get_generated_warning("data/maps/" + mapName + "/map.json", true); text << mapName << "_MapConnectionsList:\n"; for (auto &connection : map_data["connections"].array_items()) { @@ -191,11 +213,11 @@ string generate_map_events_text(Json map_data) { if (map_data.object_items().find("shared_events_map") != map_data.object_items().end()) return string("\n"); - ostringstream text; - string mapName = json_to_string(map_data, "name"); - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/" << mapName << "/map.json\n@\n\n"; + ostringstream text; + text << get_generated_warning("data/maps/" + mapName + "/map.json", true); + text << "\t.align 2\n\n"; string objects_label, warps_label, coords_label, bgs_label; @@ -330,13 +352,22 @@ string generate_map_events_text(Json map_data) { return text.str(); } -string get_directory_name(string filename) { - size_t dir_pos = filename.find_last_of("/\\"); +string strip_trailing_separator(string filename) { + if(filename.back() == '/' || filename.back() == '\\') + filename.pop_back(); + return filename; +} +void infer_separator(string filename) { + size_t dir_pos = filename.find_last_of("/\\"); + sep = filename[dir_pos]; +} +string file_parent(string filename){ + size_t dir_pos = filename.find_last_of("/\\"); return filename.substr(0, dir_pos + 1); } -void process_map(string map_filepath, string layouts_filepath) { +void process_map(string map_filepath, string layouts_filepath, string output_dir) { string mapdata_err, layouts_err; string mapdata_json_text = read_text_file(map_filepath); @@ -354,16 +385,58 @@ void process_map(string map_filepath, string layouts_filepath) { string events_text = generate_map_events_text(map_data); string connections_text = generate_map_connections_text(map_data); - string files_dir = get_directory_name(map_filepath); - write_text_file(files_dir + "header.inc", header_text); - write_text_file(files_dir + "events.inc", events_text); - write_text_file(files_dir + "connections.inc", connections_text); + string out_dir = strip_trailing_separator(output_dir).append(sep); + write_text_file(out_dir + "header.inc", header_text); + write_text_file(out_dir + "events.inc", events_text); + write_text_file(out_dir + "connections.inc", connections_text); +} + +void process_event_constants(const vector &map_filepaths, string output_ids_file) { + string warning = get_generated_warning("data/maps/*/map.json", false); + + string guard_name = "CONSTANTS_MAP_EVENT_IDS"; + ostringstream ids_file_text; + ids_file_text << get_include_guard_start(guard_name) << warning; + + for (const string &filepath : map_filepaths) { + string err; + string map_json_text = read_text_file(filepath); + Json map_data = Json::parse(map_json_text, err); + if (map_data == Json()) + FATAL_ERROR("Failed to read '%s' while generating map event constants: %s\n", filepath.c_str(), err.c_str()); + + string map_id = json_to_string(map_data, "id"); + + // Get IDs from the object/clone events. + ostringstream map_ids_text; + auto obj_events = map_data["object_events"].array_items(); + for (unsigned int i = 0; i < obj_events.size(); i++) { + auto obj_event = obj_events[i]; + if (obj_event.object_items().find("local_id") != obj_event.object_items().end()) + map_ids_text << "#define " << json_to_string(obj_event, "local_id") << " " << i + 1 << "\n"; + } + // Get IDs from the warp events. + auto warp_events = map_data["warp_events"].array_items(); + for (unsigned int i = 0; i < warp_events.size(); i++) { + auto warp_event = warp_events[i]; + if (warp_event.object_items().find("warp_id") != warp_event.object_items().end()) + map_ids_text << "#define " << json_to_string(warp_event, "warp_id") << " " << i << "\n"; + } + // Only output if we found any IDs + string temp = map_ids_text.str(); + if (!temp.empty()) { + ids_file_text << "// " << map_id << "\n" << temp << "\n"; + } + } + + ids_file_text << get_include_guard_end(guard_name); + write_text_file(output_ids_file, ids_file_text.str()); } string generate_groups_text(Json groups_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n"; + text << get_generated_warning("data/maps/map_groups.json", true); for (auto &key : groups_data["group_order"].array_items()) { string group = json_to_string(key); @@ -382,7 +455,7 @@ string generate_groups_text(Json groups_data) { return text.str(); } -string generate_connections_text(Json groups_data) { +string generate_connections_text(Json groups_data, string include_path) { vector map_names; for (auto &group : groups_data["group_order"].array_items()) @@ -404,15 +477,15 @@ string generate_connections_text(Json groups_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n"; + text << get_generated_warning("data/maps/map_groups.json", true); for (Json map_name : map_names) - text << "\t.include \"data/maps/" << json_to_string(map_name) << "/connections.inc\"\n"; + text << "\t.include \"" << include_path << "/" << json_to_string(map_name) << "/connections.inc\"\n"; return text.str(); } -string generate_headers_text(Json groups_data) { +string generate_headers_text(Json groups_data, string include_path) { vector map_names; for (auto &group : groups_data["group_order"].array_items()) @@ -421,15 +494,15 @@ string generate_headers_text(Json groups_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n"; + text << get_generated_warning("data/maps/map_groups.json", true); for (string map_name : map_names) - text << "\t.include \"data/maps/" << map_name << "/header.inc\"\n"; + text << "\t.include \"" << include_path << "/" << map_name << "/header.inc\"\n"; return text.str(); } -string generate_events_text(Json groups_data) { +string generate_events_text(Json groups_data, string include_path) { vector map_names; for (auto &group : groups_data["group_order"].array_items()) @@ -438,24 +511,20 @@ string generate_events_text(Json groups_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n"; + text << get_generated_warning(include_path + "/map_groups.json", true); for (string map_name : map_names) - text << "\t.include \"data/maps/" << map_name << "/events.inc\"\n"; + text << "\t.include \"" << include_path << "/" << map_name << "/events.inc\"\n"; return text.str(); } string generate_map_constants_text(string groups_filepath, Json groups_data) { - string file_dir = get_directory_name(groups_filepath); - char dir_separator = file_dir.back(); + string file_dir = file_parent(groups_filepath) + sep; + string guard_name = "CONSTANTS_MAP_GROUPS"; ostringstream text; - - text << "#ifndef GUARD_CONSTANTS_MAP_GROUPS_H\n" - << "#define GUARD_CONSTANTS_MAP_GROUPS_H\n\n"; - - text << "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n//\n\n"; + text << get_include_guard_start(guard_name) << get_generated_warning("data/maps/map_groups.json", false); int group_num = 0; @@ -466,7 +535,7 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { size_t max_length = 0; for (auto &map_name : groups_data[groupName].array_items()) { - string map_filepath = file_dir + json_to_string(map_name) + dir_separator + "map.json"; + string map_filepath = file_dir + json_to_string(map_name) + sep + "map.json"; string err_str; Json map_data = Json::parse(read_text_file(map_filepath), err_str); if (map_data == Json()) @@ -488,12 +557,16 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) { } text << "#define MAP_GROUPS_COUNT " << group_num << "\n\n"; - text << "#endif // GUARD_CONSTANTS_MAP_GROUPS_H\n"; + text << get_include_guard_end(guard_name); return text.str(); } -void process_groups(string groups_filepath) { +// Output paths are directories with trailing path separators +void process_groups(string groups_filepath, string output_asm, string output_c) { + output_asm = strip_trailing_separator(output_asm); // Remove separator if existing. + output_c = strip_trailing_separator(output_c); + string err; Json groups_data = Json::parse(read_text_file(groups_filepath), err); @@ -501,25 +574,22 @@ void process_groups(string groups_filepath) { FATAL_ERROR("%s\n", err.c_str()); string groups_text = generate_groups_text(groups_data); - string connections_text = generate_connections_text(groups_data); - string headers_text = generate_headers_text(groups_data); - string events_text = generate_events_text(groups_data); + string connections_text = generate_connections_text(groups_data, output_asm); + string headers_text = generate_headers_text(groups_data, output_asm); + string events_text = generate_events_text(groups_data, output_asm); string map_header_text = generate_map_constants_text(groups_filepath, groups_data); - string file_dir = get_directory_name(groups_filepath); - char s = file_dir.back(); - - write_text_file(file_dir + "groups.inc", groups_text); - write_text_file(file_dir + "connections.inc", connections_text); - write_text_file(file_dir + "headers.inc", headers_text); - write_text_file(file_dir + "events.inc", events_text); - write_text_file(file_dir + ".." + s + ".." + s + "include" + s + "constants" + s + "map_groups.h", map_header_text); + write_text_file(output_asm + sep + "groups.inc", groups_text); + write_text_file(output_asm + sep + "connections.inc", connections_text); + write_text_file(output_asm + sep + "headers.inc", headers_text); + write_text_file(output_asm + sep + "events.inc", events_text); + write_text_file(output_c + sep + "map_groups.h", map_header_text); } string generate_layout_headers_text(Json layouts_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; + text << get_generated_warning("data/layouts/layouts.json", true); for (auto &layout : layouts_data["layouts"].array_items()) { if (layout == Json::object()) continue; @@ -552,7 +622,7 @@ string generate_layout_headers_text(Json layouts_data) { string generate_layouts_table_text(Json layouts_data) { ostringstream text; - text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n"; + text << get_generated_warning("data/layouts/layouts.json", true); text << "\t.align 2\n" << json_to_string(layouts_data, "layouts_table_label") << "::\n"; @@ -567,12 +637,9 @@ string generate_layouts_table_text(Json layouts_data) { } string generate_layouts_constants_text(Json layouts_data) { + string guard_name = "CONSTANTS_LAYOUTS"; ostringstream text; - - text << "#ifndef GUARD_CONSTANTS_LAYOUTS_H\n" - << "#define GUARD_CONSTANTS_LAYOUTS_H\n\n"; - - text << "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n//\n\n"; + text << get_include_guard_start(guard_name) << get_generated_warning("data/layouts/layouts.json", false); int i = 1; for (auto &layout : layouts_data["layouts"].array_items()) { @@ -581,12 +648,15 @@ string generate_layouts_constants_text(Json layouts_data) { i++; } - text << "\n#endif // GUARD_CONSTANTS_LAYOUTS_H\n"; + text << get_include_guard_end(guard_name); return text.str(); } -void process_layouts(string layouts_filepath) { +void process_layouts(string layouts_filepath, string output_asm, string output_c) { + output_asm = strip_trailing_separator(output_asm).append(sep); + output_c = strip_trailing_separator(output_c).append(sep); + string err; Json layouts_data = Json::parse(read_text_file(layouts_filepath), err); @@ -597,12 +667,9 @@ void process_layouts(string layouts_filepath) { string layouts_table_text = generate_layouts_table_text(layouts_data); string layouts_constants_text = generate_layouts_constants_text(layouts_data); - string file_dir = get_directory_name(layouts_filepath); - char s = file_dir.back(); - - write_text_file(file_dir + "layouts.inc", layout_headers_text); - write_text_file(file_dir + "layouts_table.inc", layouts_table_text); - write_text_file(file_dir + ".." + s + ".." + s + "include" + s + "constants" + s + "layouts.h", layouts_constants_text); + write_text_file(output_asm + "layouts.inc", layout_headers_text); + write_text_file(output_asm + "layouts_table.inc", layouts_table_text); + write_text_file(output_c + "layouts.h", layouts_constants_text); } int main(int argc, char *argv[]) { @@ -616,33 +683,57 @@ int main(int argc, char *argv[]) { char *mode_arg = argv[1]; string mode(mode_arg); - if (mode != "layouts" && mode != "map" && mode != "groups") - FATAL_ERROR("ERROR: must be 'layouts', 'map', or 'groups'.\n"); - if (mode == "map") { - if (argc != 5) - FATAL_ERROR("USAGE: mapjson map \n"); + if (argc != 6) + FATAL_ERROR("USAGE: mapjson map \n"); + infer_separator(argv[3]); string filepath(argv[3]); string layouts_filepath(argv[4]); + string output_dir(argv[5]); - process_map(filepath, layouts_filepath); + process_map(filepath, layouts_filepath, output_dir); } else if (mode == "groups") { - if (argc != 4) - FATAL_ERROR("USAGE: mapjson groups \n"); + if (argc != 6) + FATAL_ERROR("USAGE: mapjson groups \n"); + infer_separator(argv[3]); string filepath(argv[3]); + string output_asm(argv[4]); + string output_c(argv[5]); - process_groups(filepath); + process_groups(filepath, output_asm, output_c); } else if (mode == "layouts") { - if (argc != 4) - FATAL_ERROR("USAGE: mapjson layouts \n"); + if (argc != 6) + FATAL_ERROR("USAGE: mapjson layouts \n"); + infer_separator(argv[3]); string filepath(argv[3]); + string output_asm(argv[4]); + string output_c(argv[5]); - process_layouts(filepath); + process_layouts(filepath, output_asm, output_c); + } + else if (mode == "event_constants") { + if (argc < 5) + FATAL_ERROR("USAGE: mapjson event_constants [additional_map_files] "); + + infer_separator(argv[3]); + + vector filepaths; + const int firstMapFileArg = 3; + const int lastMapFileArg = argc - 2; + for (int i = firstMapFileArg; i <= lastMapFileArg; i++) { + filepaths.push_back(argv[i]); + } + string output_ids_file(argv[argc - 1]); + + process_event_constants(filepaths, output_ids_file); + } + else { + FATAL_ERROR("ERROR: must be 'layouts', 'map', 'event_constants', or 'groups'.\n"); } return 0; diff --git a/tools/preproc/Makefile b/tools/preproc/Makefile index 1507c973f2..606318944c 100644 --- a/tools/preproc/Makefile +++ b/tools/preproc/Makefile @@ -3,10 +3,10 @@ CXX ?= g++ CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := asm_file.cpp c_file.cpp charmap.cpp preproc.cpp string_parser.cpp \ - utf8.cpp + utf8.cpp io.cpp HEADERS := asm_file.h c_file.h char_util.h charmap.h preproc.h string_parser.h \ - utf8.h + utf8.h io.h ifeq ($(OS),Windows_NT) EXE := .exe diff --git a/tools/preproc/asm_file.cpp b/tools/preproc/asm_file.cpp index 04a7410e00..a82354cb5f 100644 --- a/tools/preproc/asm_file.cpp +++ b/tools/preproc/asm_file.cpp @@ -26,34 +26,13 @@ #include "char_util.h" #include "utf8.h" #include "string_parser.h" -#include "../../gflib/characters.h" +#include "../../include/constants/characters.h" +#include "io.h" -AsmFile::AsmFile(std::string filename) : m_filename(filename) +AsmFile::AsmFile(std::string filename, bool isStdin, bool doEnum) : m_filename(filename) { - FILE *fp = std::fopen(filename.c_str(), "rb"); - - if (fp == NULL) - FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); - - std::fseek(fp, 0, SEEK_END); - - m_size = std::ftell(fp); - - if (m_size < 0) - FATAL_ERROR("File size of \"%s\" is less than zero.\n", filename.c_str()); - else if (m_size == 0) - return; // Empty file - - m_buffer = new char[m_size + 1]; - - std::rewind(fp); - - if (std::fread(m_buffer, m_size, 1, fp) != 1) - FATAL_ERROR("Failed to read \"%s\".\n", filename.c_str()); - - m_buffer[m_size] = 0; - - std::fclose(fp); + m_buffer = ReadFileToBuffer(filename.c_str(), isStdin, &m_size); + m_doEnum = doEnum; m_pos = 0; m_lineNum = 1; @@ -65,6 +44,7 @@ AsmFile::AsmFile(std::string filename) : m_filename(filename) AsmFile::AsmFile(AsmFile&& other) : m_filename(std::move(other.m_filename)) { m_buffer = other.m_buffer; + m_doEnum = other.m_doEnum; m_pos = other.m_pos; m_size = other.m_size; m_lineNum = other.m_lineNum; @@ -174,6 +154,8 @@ Directive AsmFile::GetDirective() return Directive::String; else if (CheckForDirective(".braille")) return Directive::Braille; + else if (CheckForDirective("enum")) + return Directive::Enum; else return Directive::Unknown; } @@ -527,6 +509,99 @@ void AsmFile::OutputLine() } } +// parses an assumed C `enum`. Returns false if `enum { ...` is not matched +bool AsmFile::ParseEnum() +{ + if (!m_doEnum) + return false; + + long fallbackPosition = m_pos; + std::string headerFilename = ""; + long currentHeaderLine = SkipWhitespaceAndEol(); + std::string enumName = ReadIdentifier(); + currentHeaderLine += SkipWhitespaceAndEol(); + std::string enumBase = "0"; + long enumCounter = 0; + long symbolCount = 0; + + if (m_buffer[m_pos] == ':') // : + { + m_pos++; + std::string underlyingType; + do { + currentHeaderLine += SkipWhitespaceAndEol(); + underlyingType = ReadIdentifier(); + } while (!underlyingType.empty()); + currentHeaderLine += SkipWhitespaceAndEol(); + } + + if (m_buffer[m_pos] != '{') // assume assembly macro, otherwise assume enum and report errors accordingly + { + m_pos = fallbackPosition - 4; + return false; + } + + currentHeaderLine += FindLastLineNumber(headerFilename); + m_pos++; + for (;;) + { + currentHeaderLine += SkipWhitespaceAndEol(); + std::string currentIdentName = ReadIdentifier(); + if (!currentIdentName.empty()) + { + std::printf("# %ld \"%s\"\n", currentHeaderLine, headerFilename.c_str()); + currentHeaderLine += SkipWhitespaceAndEol(); + if (m_buffer[m_pos] == '=') + { + m_pos++; + SkipWhitespace(); + enumBase.clear(); + for (;;) + { + if (m_pos == m_size) + RaiseError("unexpected EOF"); + if (m_buffer[m_pos] == ',') + break; + if (m_buffer[m_pos] == '\n') + { + currentHeaderLine++; + enumBase.push_back(' '); + } + else + { + enumBase.push_back(m_buffer[m_pos]); + } + m_pos++; + } + enumCounter = 0; + } + std::printf(".equiv %s, (%s) + %ld\n", currentIdentName.c_str(), enumBase.c_str(), enumCounter); + enumCounter++; + symbolCount++; + } + else if (symbolCount == 0) + { + RaiseError("%s:%ld: empty enum is invalid", headerFilename.c_str(), currentHeaderLine); + } + + if (m_buffer[m_pos] != ',') + { + currentHeaderLine += SkipWhitespaceAndEol(); + if (m_buffer[m_pos++] == '}' && m_buffer[m_pos++] == ';') + { + ExpectEmptyRestOfLine(); + break; + } + else + { + RaiseError("unterminated enum from included file %s:%ld", headerFilename.c_str(), currentHeaderLine); + } + } + m_pos++; + } + return true; +} + // Asserts that the rest of the line is empty and moves to the next one. void AsmFile::ExpectEmptyRestOfLine() { @@ -599,3 +674,130 @@ void AsmFile::RaiseWarning(const char* format, ...) { DO_REPORT("warning"); } + +// Skips Whitespace including newlines and returns the amount of newlines skipped +int AsmFile::SkipWhitespaceAndEol() +{ + int newlines = 0; + while (m_buffer[m_pos] == '\t' || m_buffer[m_pos] == ' ' || m_buffer[m_pos] == '\n') + { + if (m_buffer[m_pos] == '\n') + newlines++; + m_pos++; + } + return newlines; +} + +// returns the last line indicator and its corresponding file name without modifying the token index +int AsmFile::FindLastLineNumber(std::string& filename) +{ + long pos = m_pos; + long linebreaks = 0; + while (m_buffer[pos] != '#' && pos >= 0) + { + if (m_buffer[pos] == '\n') + linebreaks++; + pos--; + } + + if (pos < 0) + RaiseError("line indicator for header file not found before `enum`"); + + pos++; + while (m_buffer[pos] == ' ' || m_buffer[pos] == '\t') + pos++; + + if (!IsAsciiDigit(m_buffer[pos])) + RaiseError("malformatted line indicator found before `enum`, expected line number"); + + unsigned n = 0; + int digit = 0; + while ((digit = ConvertDigit(m_buffer[pos++], 10)) != -1) + n = 10 * n + digit; + + while (m_buffer[pos] == ' ' || m_buffer[pos] == '\t') + pos++; + + if (m_buffer[pos++] != '"') + RaiseError("malformatted line indicator found before `enum`, expected filename"); + + while (m_buffer[pos] != '"') + { + unsigned char c = m_buffer[pos++]; + + if (c == 0) + { + if (pos >= m_size) + RaiseError("unexpected EOF in line indicator"); + else + RaiseError("unexpected null character in line indicator"); + } + + if (!IsAsciiPrintable(c)) + RaiseError("unexpected character '\\x%02X' in line indicator", c); + + if (c == '\\') + { + c = m_buffer[pos]; + RaiseError("unexpected escape '\\%c' in line indicator", c); + } + + filename += c; + } + + return n + linebreaks - 1; +} + +std::string AsmFile::ReadIdentifier() +{ + long start = m_pos; + if (!IsIdentifierStartingChar(m_buffer[m_pos])) + return std::string(); + + m_pos++; + + while (IsIdentifierChar(m_buffer[m_pos])) + m_pos++; + + return std::string(&m_buffer[start], m_pos - start); +} + +long AsmFile::ReadInteger(std::string filename, long line) +{ + bool negate = false; + int radix = 10; + if (!IsAsciiDigit(m_buffer[m_pos])) + { + if (m_buffer[m_pos++] == '-') + negate = true; + else + RaiseError("expected number in included file %s:%ld", filename.c_str(), line); + } + + if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'x') + { + radix = 16; + m_pos += 2; + } + else if (m_buffer[m_pos] == '0' && m_buffer[m_pos + 1] == 'b') + { + radix = 2; + m_pos += 2; + } + else if (m_buffer[m_pos] == '0' && IsAsciiDigit(m_buffer[m_pos+1])) + { + radix = 8; + m_pos++; + } + + long n = 0; + int digit; + + while ((digit = ConvertDigit(m_buffer[m_pos], radix)) != -1) + { + n = n * radix + digit; + m_pos++; + } + + return negate ? -n : n; +} diff --git a/tools/preproc/asm_file.h b/tools/preproc/asm_file.h index 29435f76a4..33e6ce5c49 100644 --- a/tools/preproc/asm_file.h +++ b/tools/preproc/asm_file.h @@ -31,13 +31,14 @@ enum class Directive Include, String, Braille, + Enum, Unknown }; class AsmFile { public: - AsmFile(std::string filename); + AsmFile(std::string filename, bool isStdin, bool doEnum); AsmFile(AsmFile&& other); AsmFile(const AsmFile&) = delete; ~AsmFile(); @@ -49,9 +50,11 @@ public: bool IsAtEnd(); void OutputLine(); void OutputLocation(); + bool ParseEnum(); private: char* m_buffer; + bool m_doEnum; long m_pos; long m_size; long m_lineNum; @@ -68,6 +71,10 @@ private: void RaiseError(const char* format, ...); void RaiseWarning(const char* format, ...); void VerifyStringLength(int length); + int SkipWhitespaceAndEol(); + int FindLastLineNumber(std::string& filename); + std::string ReadIdentifier(); + long ReadInteger(std::string filename, long line); }; #endif // ASM_FILE_H diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp index 508c628731..191ca4c152 100644 --- a/tools/preproc/c_file.cpp +++ b/tools/preproc/c_file.cpp @@ -30,56 +30,16 @@ #include "char_util.h" #include "utf8.h" #include "string_parser.h" +#include "io.h" CFile::CFile(const char * filenameCStr, bool isStdin) { - FILE *fp; - - if (isStdin) { - fp = stdin; + if (isStdin) m_filename = std::string{"/"}.append(filenameCStr); - } else { - fp = std::fopen(filenameCStr, "rb"); + else m_filename = std::string(filenameCStr); - } - std::string& filename = m_filename; - - if (fp == NULL) - FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename.c_str()); - - m_size = 0; - m_buffer = (char *)malloc(CHUNK_SIZE + 1); - if (m_buffer == NULL) { - FATAL_ERROR("Failed to allocate memory to process file \"%s\"!", filename.c_str()); - } - - std::size_t numAllocatedBytes = CHUNK_SIZE + 1; - std::size_t bufferOffset = 0; - std::size_t count; - - while ((count = std::fread(m_buffer + bufferOffset, 1, CHUNK_SIZE, fp)) != 0) { - if (!std::ferror(fp)) { - m_size += count; - - if (std::feof(fp)) { - break; - } - - numAllocatedBytes += CHUNK_SIZE; - bufferOffset += CHUNK_SIZE; - m_buffer = (char *)realloc(m_buffer, numAllocatedBytes); - if (m_buffer == NULL) { - FATAL_ERROR("Failed to allocate memory to process file \"%s\"!", filename.c_str()); - } - } else { - FATAL_ERROR("Failed to read \"%s\". (error: %s)", filename.c_str(), std::strerror(errno)); - } - } - - m_buffer[m_size] = 0; - - std::fclose(fp); + m_buffer = ReadFileToBuffer(filenameCStr, isStdin, &m_size); m_pos = 0; m_lineNum = 1; diff --git a/tools/preproc/c_file.h b/tools/preproc/c_file.h index 49e633a18d..c40c33c962 100644 --- a/tools/preproc/c_file.h +++ b/tools/preproc/c_file.h @@ -56,6 +56,4 @@ private: void RaiseWarning(const char* format, ...); }; -#define CHUNK_SIZE 4096 - #endif // C_FILE_H diff --git a/tools/preproc/io.cpp b/tools/preproc/io.cpp new file mode 100644 index 0000000000..321676180d --- /dev/null +++ b/tools/preproc/io.cpp @@ -0,0 +1,51 @@ +#include "preproc.h" +#include "io.h" +#include +#include +#include + +char *ReadFileToBuffer(const char *filename, bool isStdin, long *size) +{ + FILE *fp; + if (isStdin) + fp = stdin; + else + fp = std::fopen(filename, "rb"); + + if (fp == NULL) + FATAL_ERROR("Failed to open \"%s\" for reading.\n", filename); + + *size = 0; + char *buffer = (char *)malloc(CHUNK_SIZE + 1); + if (buffer == NULL) { + FATAL_ERROR("Failed to allocate memory to process file \"%s\"!", filename); + } + + std::size_t numAllocatedBytes = CHUNK_SIZE + 1; + std::size_t bufferOffset = 0; + std::size_t count; + + while ((count = std::fread(buffer + bufferOffset, 1, CHUNK_SIZE, fp)) != 0) { + if (!std::ferror(fp)) { + *size += count; + + if (std::feof(fp)) { + break; + } + + numAllocatedBytes += CHUNK_SIZE; + bufferOffset += CHUNK_SIZE; + buffer = (char *)realloc(buffer, numAllocatedBytes); + if (buffer == NULL) { + FATAL_ERROR("Failed to allocate memory to process file \"%s\"!", filename); + } + } else { + FATAL_ERROR("Failed to read \"%s\". (error: %s)", filename, std::strerror(errno)); + } + } + + buffer[*size] = 0; + + std::fclose(fp); + return buffer; +} diff --git a/tools/preproc/io.h b/tools/preproc/io.h new file mode 100644 index 0000000000..ac4e91051f --- /dev/null +++ b/tools/preproc/io.h @@ -0,0 +1,8 @@ +#ifndef IO_H_ +#define IO_H_ + +#define CHUNK_SIZE 4096 + +char *ReadFileToBuffer(const char *filename, bool isStdin, long *size); + +#endif // IO_H_ diff --git a/tools/preproc/preproc.cpp b/tools/preproc/preproc.cpp index eb2d4c8a23..20c2de51b6 100644 --- a/tools/preproc/preproc.cpp +++ b/tools/preproc/preproc.cpp @@ -20,11 +20,14 @@ #include #include +#include #include "preproc.h" #include "asm_file.h" #include "c_file.h" #include "charmap.h" +static void UsageAndExit(const char *program); + Charmap* g_charmap; void PrintAsmBytes(unsigned char *s, int length) @@ -43,11 +46,12 @@ void PrintAsmBytes(unsigned char *s, int length) } } -void PreprocAsmFile(std::string filename) +void PreprocAsmFile(std::string filename, bool isStdin, bool doEnum) { std::stack stack; - stack.push(AsmFile(filename)); + stack.push(AsmFile(filename, isStdin, doEnum)); + std::printf("# 1 \"%s\"\n", filename.c_str()); for (;;) { @@ -66,7 +70,7 @@ void PreprocAsmFile(std::string filename) switch (directive) { case Directive::Include: - stack.push(AsmFile(stack.top().ReadPath())); + stack.push(AsmFile(stack.top().ReadPath(), false, doEnum)); stack.top().OutputLocation(); break; case Directive::String: @@ -83,6 +87,12 @@ void PreprocAsmFile(std::string filename) PrintAsmBytes(s, length); break; } + case Directive::Enum: + { + if (!stack.top().ParseEnum()) + stack.top().OutputLine(); + break; + } case Directive::Unknown: { std::string globalLabel = stack.top().GetGlobalLabel(); @@ -109,9 +119,9 @@ void PreprocCFile(const char * filename, bool isStdin) cFile.Preproc(); } -char* GetFileExtension(char* filename) +const char* GetFileExtension(const char* filename) { - char* extension = filename; + const char* extension = filename; while (*extension != 0) extension++; @@ -130,35 +140,64 @@ char* GetFileExtension(char* filename) return extension; } +static void UsageAndExit(const char *program) +{ + std::fprintf(stderr, "Usage: %s [-i] [-e] SRC_FILE CHARMAP_FILE\nwhere -i denotes if input is from stdin\n -e enables enum handling\n", program); + std::exit(EXIT_FAILURE); +} + int main(int argc, char **argv) { - if (argc < 3 || argc > 4) + int opt; + const char *source = NULL; + const char *charmap = NULL; + bool isStdin = false; + bool doEnum = false; + + /* preproc [-i] [-e] SRC_FILE CHARMAP_FILE */ + while ((opt = getopt(argc, argv, "ie")) != -1) { - std::fprintf(stderr, "Usage: %s SRC_FILE CHARMAP_FILE [-i]\nwhere -i denotes if input is from stdin\n", argv[0]); - return 1; + switch (opt) + { + case 'i': + isStdin = true; + break; + case 'e': + doEnum = true; + break; + default: + UsageAndExit(argv[0]); + break; + } } - g_charmap = new Charmap(argv[2]); + if (optind + 2 != argc) + UsageAndExit(argv[0]); - char* extension = GetFileExtension(argv[1]); + source = argv[optind + 0]; + charmap = argv[optind + 1]; + + g_charmap = new Charmap(charmap); + + const char* extension = GetFileExtension(source); if (!extension) FATAL_ERROR("\"%s\" has no file extension.\n", argv[1]); if ((extension[0] == 's') && extension[1] == 0) - PreprocAsmFile(argv[1]); - else if ((extension[0] == 'c' || extension[0] == 'i') && extension[1] == 0) { - if (argc == 4) { - if (argv[3][0] == '-' && argv[3][1] == 'i' && argv[3][2] == '\0') { - PreprocCFile(argv[1], true); - } else { - FATAL_ERROR("unknown argument flag \"%s\".\n", argv[3]); - } - } else { - PreprocCFile(argv[1], false); - } - } else + { + PreprocAsmFile(source, isStdin, doEnum); + } + else if ((extension[0] == 'c' || extension[0] == 'i') && extension[1] == 0) + { + if (doEnum) + FATAL_ERROR("-e is invalid for C sources\n"); + PreprocCFile(source, isStdin); + } + else + { FATAL_ERROR("\"%s\" has an unknown file extension of \"%s\".\n", argv[1], extension); + } return 0; } diff --git a/tools/ramscrgen/elf.cpp b/tools/ramscrgen/elf.cpp index 7e78704b8c..077fcc82a4 100644 --- a/tools/ramscrgen/elf.cpp +++ b/tools/ramscrgen/elf.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include #include "ramscrgen.h" @@ -22,6 +21,7 @@ static int s_shstrtabIndex; static std::uint32_t s_symtabOffset; static std::uint32_t s_strtabOffset; +static std::uint32_t s_pseudoCommonSectionIndex; static std::uint32_t s_symbolCount; static std::uint32_t s_elfFileOffset; @@ -101,18 +101,6 @@ static void VerifyElfIdent() FATAL_ERROR("error: \"%s\" not little-endian ELF\n", s_elfPath.c_str()); } -static void VerifyAr() -{ - char expectedMagic[8] = {'!', '<', 'a', 'r', 'c', 'h', '>', '\n'}; - char magic[8]; - - if (std::fread(magic, 8, 1, s_file) != 1) - FATAL_ERROR("error: failed to read AR magic from \"%s\"\n", s_archiveFilePath.c_str()); - - if (std::memcmp(magic, expectedMagic, 8) != 0) - FATAL_ERROR("error: AR magic did not match in \"%s\"\n", s_archiveFilePath.c_str()); -} - static void ReadElfHeader() { Seek(0x20); @@ -123,40 +111,6 @@ static void ReadElfHeader() s_shstrtabIndex = ReadInt16(); } -static void FindArObj() -{ - char file_ident[17] = {0}; - char filesize_s[11] = {0}; - char expectedEndMagic[2] = { 0x60, 0x0a }; - char end_magic[2]; - std::size_t filesize; - - Seek(8); - while (!std::feof(s_file)) { - if (std::fread(file_ident, 16, 1, s_file) != 1) - FATAL_ERROR("error: failed to read file ident in \"%s\"\n", s_archiveFilePath.c_str()); - Skip(32); - if (std::fread(filesize_s, 10, 1, s_file) != 1) - FATAL_ERROR("error: failed to read filesize in \"%s\"\n", s_archiveFilePath.c_str()); - if (std::fread(end_magic, 2, 1, s_file) != 1) - FATAL_ERROR("error: failed to read end sentinel in \"%s\"\n", s_archiveFilePath.c_str()); - if (std::memcmp(end_magic, expectedEndMagic, 2) != 0) - FATAL_ERROR("error: corrupted archive header in \"%s\" at \"%s\"\n", s_archiveFilePath.c_str(), file_ident); - - char * ptr = std::strchr(file_ident, '/'); - if (ptr != nullptr) - *ptr = 0; - filesize = std::strtoul(filesize_s, nullptr, 10); - if (std::strncmp(s_archiveObjectPath.c_str(), file_ident, 16) == 0) { - s_elfFileOffset = std::ftell(s_file); - return; - } - Skip(filesize); - } - - FATAL_ERROR("error: could not find object \"%s\" in archive \"%s\"\n", s_archiveObjectPath.c_str(), s_archiveFilePath.c_str()); -} - static std::string GetSectionName(std::uint32_t shstrtabOffset, int index) { Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * index); @@ -169,6 +123,7 @@ static void FindTableOffsets() { s_symtabOffset = 0; s_strtabOffset = 0; + s_pseudoCommonSectionIndex = 0; Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * s_shstrtabIndex + 0x10); std::uint32_t shstrtabOffset = ReadInt32(); @@ -192,6 +147,11 @@ static void FindTableOffsets() FATAL_ERROR("error: mutiple .strtab sections found in \"%s\"\n", s_elfPath.c_str()); Seek(s_sectionHeaderOffset + s_sectionHeaderEntrySize * i + 0x10); s_strtabOffset = ReadInt32(); + } else if (name == "common_data") { + if (s_pseudoCommonSectionIndex) { + FATAL_ERROR("error: mutiple common_data sections found in \"%s\"\n", s_elfPath.c_str()); + } + s_pseudoCommonSectionIndex = i; } } @@ -202,65 +162,50 @@ static void FindTableOffsets() FATAL_ERROR("error: couldn't find .strtab section in \"%s\"\n", s_elfPath.c_str()); } -static std::map GetCommonSymbols_Shared() +static std::vector> GetCommonSymbols_Shared() { VerifyElfIdent(); ReadElfHeader(); FindTableOffsets(); - std::map commonSymbols; + std::vector> commonSymbols; - std::vector commonSymbolVec; - - Seek(s_symtabOffset); - - for (std::uint32_t i = 0; i < s_symbolCount; i++) - { - Symbol sym; - sym.nameOffset = ReadInt32(); - Skip(4); - sym.size = ReadInt32(); - Skip(2); - std::uint16_t sectionIndex = ReadInt16(); - if (sectionIndex == SHN_COMMON) - commonSymbolVec.push_back(sym); - } - - for (const Symbol& sym : commonSymbolVec) - { - Seek(s_strtabOffset + sym.nameOffset); - std::string name = ReadString(); - commonSymbols[name] = sym.size; + if (s_pseudoCommonSectionIndex) { + std::vector commonSymbolVec; + + Seek(s_symtabOffset); + + for (std::uint32_t i = 0; i < s_symbolCount; i++) + { + Symbol sym; + sym.nameOffset = ReadInt32(); + Skip(4); + sym.size = ReadInt32(); + Skip(2); + std::uint16_t sectionIndex = ReadInt16(); + if (sectionIndex == s_pseudoCommonSectionIndex) + commonSymbolVec.push_back(sym); + } + + for (const Symbol& sym : commonSymbolVec) + { + Seek(s_strtabOffset + sym.nameOffset); + std::string name = ReadString(); + if (name == "$d" || name == "") { + continue; + } + commonSymbols.emplace_back(name, sym.size); + } } return commonSymbols; } -std::map GetCommonSymbolsFromLib(std::string sourcePath, std::string libpath) -{ - std::size_t colonPos = libpath.find(':'); - if (colonPos == std::string::npos) - FATAL_ERROR("error: missing colon separator in libfile \"%s\"\n", s_elfPath.c_str()); - - s_archiveObjectPath = libpath.substr(colonPos + 1); - s_archiveFilePath = sourcePath + "/" + libpath.substr(1, colonPos - 1); - s_elfPath = sourcePath + "/" + libpath.substr(1); - - s_file = std::fopen(s_archiveFilePath.c_str(), "rb"); - - if (s_file == NULL) - FATAL_ERROR("error: failed to open \"%s\" for reading\n", s_archiveFilePath.c_str()); - - VerifyAr(); - FindArObj(); - return GetCommonSymbols_Shared(); -} - -std::map GetCommonSymbols(std::string sourcePath, std::string path) +std::vector> GetCommonSymbols(std::string sourcePath, std::string path) { s_elfFileOffset = 0; if (path[0] == '*') - return GetCommonSymbolsFromLib(sourcePath, path); + FATAL_ERROR("error: library common syms are unsupported (filename: \"%s\")\n", path.c_str()); s_elfPath = sourcePath + "/" + path; s_file = std::fopen(s_elfPath.c_str(), "rb"); diff --git a/tools/ramscrgen/elf.h b/tools/ramscrgen/elf.h index 3704860c0e..bf79a954e0 100644 --- a/tools/ramscrgen/elf.h +++ b/tools/ramscrgen/elf.h @@ -22,9 +22,9 @@ #define ELF_H #include -#include +#include #include -std::map GetCommonSymbols(std::string sourcePath, std::string path); +std::vector> GetCommonSymbols(std::string sourcePath, std::string path); #endif // ELF_H diff --git a/tools/ramscrgen/main.cpp b/tools/ramscrgen/main.cpp index 5e5894f470..e99cf9fa30 100644 --- a/tools/ramscrgen/main.cpp +++ b/tools/ramscrgen/main.cpp @@ -28,54 +28,19 @@ void HandleCommonInclude(std::string filename, std::string sourcePath, std::string symOrderPath, std::string lang) { auto commonSymbols = GetCommonSymbols(sourcePath, filename); - std::size_t dotIndex; - if (filename[0] == '*') { - dotIndex = filename.find_last_of(':'); - filename = filename.substr(dotIndex + 1); - } - - dotIndex = filename.find_last_of('.'); - - if (dotIndex == std::string::npos) - FATAL_ERROR("error: \"%s\" doesn't have a file extension\n", filename.c_str()); - - std::string symOrderFilename = filename.substr(0, dotIndex + 1) + "txt"; - - SymFile symFile(symOrderPath + "/" + symOrderFilename); - - while (!symFile.IsAtEnd()) + for (const auto& commonSym : commonSymbols) { - symFile.HandleLangConditional(lang); + unsigned long size = commonSym.second; - std::string label = symFile.GetLabel(false); - - if (label.length() == 0) - { - unsigned long length; - if (symFile.ReadInteger(length)) - { - if (length & 3) - symFile.RaiseWarning("gap length %d is not multiple of 4", length); - printf(". += 0x%lX;\n", length); - } - } - else - { - if (commonSymbols.count(label) == 0) - symFile.RaiseError("no common symbol named \"%s\"", label.c_str()); - unsigned long size = commonSymbols[label]; - int alignment = 4; - if (size > 4) - alignment = 8; - if (size > 8) - alignment = 16; - printf(". = ALIGN(%d);\n", alignment); - printf("%s = .;\n", label.c_str()); - printf(". += 0x%lX;\n", size); - } - - symFile.ExpectEmptyRestOfLine(); + int alignment = 4; + if (size > 4) + alignment = 8; + if (size > 8) + alignment = 16; + printf(". = ALIGN(%d);\n", alignment); + printf("%s = .;\n", commonSym.first.c_str()); + printf(". += 0x%lX;\n", size); } } diff --git a/tools/scaninc/c_file.cpp b/tools/scaninc/c_file.cpp index 595f366cbe..c1fe10d374 100644 --- a/tools/scaninc/c_file.cpp +++ b/tools/scaninc/c_file.cpp @@ -33,6 +33,11 @@ CFile::CFile(std::string path) m_size = std::ftell(fp); + if (m_size < 0) + FATAL_ERROR("File size of \"%s\" is less than zero.\n", path.c_str()); + else if (m_size == 0) + return; // Empty file + m_buffer = new char[m_size + 1]; m_buffer[m_size] = 0; @@ -49,7 +54,7 @@ CFile::CFile(std::string path) CFile::~CFile() { - delete[] m_buffer; + if (m_size > 0) delete[] m_buffer; } void CFile::FindIncbins() diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index dcb16c0e79..d470a3f163 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -24,6 +24,9 @@ #include #include #include +#include +#include +#include #include "scaninc.h" #include "source_file.h" @@ -38,15 +41,19 @@ bool CanOpenFile(std::string path) return true; } -const char *const USAGE = "Usage: scaninc [-I INCLUDE_PATH] FILE_PATH\n"; +const char *const USAGE = "Usage: scaninc [-I INCLUDE_PATH] [-M DEPENDENCY_OUT_PATH] FILE_PATH\n"; int main(int argc, char **argv) { std::queue filesToProcess; std::set dependencies; + std::set dependencies_includes; std::vector includeDirs; + bool makeformat = false; + std::string make_outfile; + argc--; argv++; @@ -68,6 +75,13 @@ int main(int argc, char **argv) } includeDirs.push_back(includeDir); } + else if(arg.substr(0, 2) == "-M") + { + makeformat = true; + argc--; + argv++; + make_outfile = std::string(argv[0]); + } else { FATAL_ERROR(USAGE); @@ -111,7 +125,13 @@ int main(int argc, char **argv) if (!exists && (file.FileType() == SourceFileType::Asm || file.FileType() == SourceFileType::Inc)) { path = include; + if (CanOpenFile(path)) + exists = true; } + if (!exists) + continue; + + dependencies_includes.insert(path); bool inserted = dependencies.insert(path).second; if (inserted && exists) { @@ -121,8 +141,46 @@ int main(int argc, char **argv) includeDirs.pop_back(); } - for (const std::string &path : dependencies) + if(!makeformat) { - std::printf("%s\n", path.c_str()); + for (const std::string &path : dependencies) + { + std::printf("%s\n", path.c_str()); + } + std::cout << std::endl; + } + else + { + // Write out make rules to a file + std::ofstream output(make_outfile); + + // Print a make rule for the object file + size_t ext_pos = make_outfile.find_last_of("."); + auto object_file = make_outfile.substr(0, ext_pos + 1) + "o"; + output << object_file.c_str() << ":"; + for (const std::string &path : dependencies) + { + output << " " << path; + } + output << '\n'; + + // Dependency list rule. + // Although these rules are identical, they need to be separate, else make will trigger the rule again after the file is created for the first time. + output << make_outfile.c_str() << ":"; + for (const std::string &path : dependencies_includes) + { + output << " " << path; + } + output << '\n'; + + // Dummy rules + // If a dependency is deleted, make will try to make it, instead of rescanning the dependencies before trying to do that. + for (const std::string &path : dependencies) + { + output << path << ":\n"; + } + + output.flush(); + output.close(); } }