diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1dfb5763e0..283e6f8fb5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -52,14 +52,6 @@ jobs:
COMPARE: 0
run: make -j${nproc} all
- - name: Webhook
- if: ${{ github.event_name == 'push' && github.repository_owner == 'pret' }}
- env:
- CALCROM_DISCORD_WEBHOOK_USERNAME: OK
- CALCROM_DISCORD_WEBHOOK_AVATAR_URL: https://i.imgur.com/38BQHdd.png
- CALCROM_DISCORD_WEBHOOK_URL: ${{ secrets.CALCROM_DISCORD_WEBHOOK_URL }}
- run: sh .github/calcrom/webhook.sh pokeemerald
-
- name: Move symfiles
if: ${{ github.event_name == 'push' }}
run: |
diff --git a/.gitignore b/.gitignore
index fd16840c67..cac4a07e61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
*.i
*.elf
*.gba
+!data/*.gba
*.sgm
*.sa1
*.ss[0-9]
@@ -36,3 +37,4 @@ porymap.project.cfg
*.sna
*.diff
*.sym
+*.js
diff --git a/INSTALL.md b/INSTALL.md
index 1ad3b4b0c9..f6434c07be 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -125,12 +125,12 @@ Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or conti
Note that in msys2, Copy is Ctrl+Insert and Paste is Shift+Insert.
-1. Open msys2 at C:\devkitPro\msys2\msys2_shell.bat.
+1. Open msys2 at C:\devkitPro\msys2\mingw64.exe or run `C:\devkitPro\msys2\msys2_shell.bat -mingw64`.
2. Certain packages are required to build pokeemerald. Install these by running the following command:
```bash
- pacman -S make gcc zlib-devel git
+ pacman -S make zlib-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-libpng
```
Note...
@@ -138,39 +138,6 @@ Note that in msys2, Copy is Ctrl+Insert and Paste is Shift+Insert.
> This command will ask for confirmation, just enter the yes action when prompted.
-3. Download [libpng](https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download).
-
-4. Change directory to where libpng was downloaded. By default, msys2 will start in the current user's profile folder, located at **C:\Users\\_\_**, where *\* is your Windows username. In most cases, libpng should be saved within a subfolder of the profile folder. For example, if libpng was saved to **C:\Users\\_\_\Downloads** (the Downloads location for most users), enter this command:
-
- ```bash
- cd Downloads
- ```
-
-
- Notes...
-
- > Note 1: While not shown, msys uses forward slashes `/` instead of backwards slashes `\` as the directory separator.
- > Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Downloads/My Downloads"`.
- > Note 3: Windows path names are case-insensitive so adhering to capitalization isn’t needed.
- > Note 4: If libpng was saved elsewhere, you will need to specify the full path to where libpng was downloaded, e.g. `cd c:/devkitpro/msys2` if it was saved there.
-
-
-5. Run the following commands to uncompress and install libpng.
-
- ```bash
- tar xf libpng-1.6.37.tar.xz
- cd libpng-1.6.37
- ./configure --prefix=/usr
- make check
- make install
- ```
-
-6. Then finally, run the following command to change back to the user profile folder.
-
- ```bash
- cd
- ```
-
### Choosing where to store pokeemerald (msys2)
At this point, you can choose a folder to store pokeemerald into. If you're okay with storing pokeemerald in the user profile folder, then proceed to [Installation](#installation). Otherwise, you'll need to account for where pokeemerald is stored when changing directory to the pokeemerald folder.
@@ -338,6 +305,20 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to
> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
> [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions).
+
+### Arch Linux
+Run this command as root to install the necessary packages:
+```bash
+pacman -S base-devel arm-none-eabi-binutils git libpng
+```
+Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to-store-pokeemerald-linux).
+
+ Note for legacy repos...
+
+> If the repository you plan to build has an **[older revision of the INSTALL.md](https://github.com/pret/pokeemerald/blob/571c598/INSTALL.md)**,
+> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
+> [install devkitARM on Arch Linux](#installing-devkitarm-on-arch-linux).
+
### Other distributions
_(Specific instructions for other distributions would be greatly appreciated!)_
@@ -553,6 +534,24 @@ devkitARM is now installed.
devkitARM is now installed.
+## Installing devkitARM on Arch Linux
+
+1. Follow [devkitPro's instructions](https://devkitpro.org/wiki/devkitPro_pacman#Customising_Existing_Pacman_Install) to configure `pacman` to download devkitPro packages.
+2. Install `gba-dev`: run the following command as root.
+
+ ```console
+ pacman -S gba-dev
+ ```
+ This will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
+
+3. Run the following command to set devkitPro related environment variables (alternatively, close and re-open the Terminal):
+
+ ```bash
+ source /etc/profile.d/devkit-env.sh
+ ```
+
+devkitARM is now installed.
+
## Other toolchains
To build using a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain, which must contain the subdirectory `bin`.
diff --git a/Makefile b/Makefile
index 7b2f79877a..6283a87fe3 100644
--- a/Makefile
+++ b/Makefile
@@ -150,7 +150,7 @@ MAKEFLAGS += --no-print-directory
# Secondary expansion is required for dependency variables in object rules.
.SECONDEXPANSION:
-.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall modern tidymodern tidynonmodern
+.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) libagbsyscall modern tidymodern tidynonmodern
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
@@ -158,7 +158,7 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst
# 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 berry_fix libagbsyscall syms,$(MAKECMDGOALS)))
+ifeq (,$(filter-out all rom compare modern libagbsyscall syms,$(MAKECMDGOALS)))
$(call infoshell, $(MAKE) -f make_tools.mk)
else
NODEP ?= 1
@@ -169,8 +169,8 @@ ifeq (,$(MAKECMDGOALS))
SCAN_DEPS ?= 1
else
# clean, tidy, tools, mostlyclean, clean-tools, $(TOOLDIRS), tidymodern, tidynonmodern don't even build the ROM
- # berry_fix and libagbsyscall do their own thing
- ifeq (,$(filter-out clean tidy tools mostlyclean clean-tools $(TOOLDIRS) tidymodern tidynonmodern berry_fix libagbsyscall,$(MAKECMDGOALS)))
+ # 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
@@ -243,7 +243,6 @@ mostlyclean: tidynonmodern tidymodern
rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
rm -f $(AUTO_GEN_TARGETS)
- @$(MAKE) clean -C berry_fix
@$(MAKE) clean -C libagbsyscall
tidy: tidynonmodern tidymodern
@@ -417,7 +416,7 @@ 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) berry_fix libagbsyscall
+$(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
@@ -428,11 +427,6 @@ $(ROM): $(ELF)
modern: all
-berry_fix/berry_fix.gba: berry_fix
-
-berry_fix:
- @$(MAKE) -C berry_fix COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
-
libagbsyscall:
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
diff --git a/asm/macros.inc b/asm/macros.inc
index 77f44a8475..95bb4e31b0 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -1,8 +1,6 @@
.include "asm/macros/asm.inc"
.include "asm/macros/function.inc"
.include "asm/macros/movement.inc"
- .include "asm/macros/window.inc"
- .include "asm/macros/pokemon_data.inc"
.include "asm/macros/map.inc"
.include "asm/macros/field_effect_script.inc"
.include "asm/macros/trainer_hill.inc"
@@ -16,130 +14,3 @@
.include "asm/macros/battle_frontier/battle_pyramid.inc"
.include "asm/macros/battle_frontier/battle_tower.inc"
.include "asm/macros/battle_frontier/frontier_util.inc"
-
- .macro region_map_entry x, y, width, height, name
- .byte \x
- .byte \y
- .byte \width
- .byte \height
- .4byte gMapName_\name
- .endm
-
- .macro obj_tiles address, uncompressed_size, tag = 0
- .4byte \address
- .2byte \uncompressed_size
- .2byte \tag
- .endm
-
- .macro null_obj_tiles
- obj_tiles 0, 0, 0
- .endm
-
- .macro obj_pal address, tag
- .4byte \address
- .2byte \tag
- .2byte 0@ padding
- .endm
-
- .macro null_obj_pal
- obj_pal 0, 0
- .endm
-
- .macro paired_pals tag, address
- .2byte \tag
- .2byte 0 @ padding
- .4byte \address
- .endm
-
-@ For object animation frames.
- .macro obj_frame_tiles address, uncompressed_size
- .4byte \address
- .2byte \uncompressed_size
- .2byte 0 @ padding
- .endm
-
- .macro spr_template tile_tag, pal_tag, oam, anims, images, affine_anims, callback
- .2byte \tile_tag
- .2byte \pal_tag
- .4byte \oam
- .4byte \anims
- .4byte \images
- .4byte \affine_anims
- .4byte \callback
- .endm
-
-@ Berry trees have a table defining the palette slot used for each of their 5
-@ stages. However, the first 2 stages always use the same slots regardless of
-@ the type of tree and the slots of the last 3 stages always equal each other.
- .macro berry_tree_palette_slot_table slot
- .byte 3, 4, \slot, \slot, \slot
- .endm
-
- .macro subsprite x, y, priority, tile_num_offset, size
- .byte \x
- .byte \y
- .2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size
- .endm
-
- .macro obj_image_anim_frame pic_id, duration, flags = 0
- .2byte \pic_id
- .byte (\flags) | (\duration)
- .byte 0 @ padding
- .endm
-
- .macro obj_image_anim_loop count
- .2byte 0xfffd
- .byte \count
- .byte 0 @ padding
- .endm
-
- .macro obj_image_anim_jump target_index
- .2byte 0xfffe
- .byte \target_index
- .byte 0 @ padding
- .endm
-
- .macro obj_image_anim_end
- .2byte 0xffff
- .2byte 0 @ padding
- .endm
-
- .macro obj_rot_scal_anim_frame delta_x_scale, delta_y_scale, delta_angle, duration
- .2byte \delta_x_scale
- .2byte \delta_y_scale
- .byte \delta_angle
- .byte \duration
- .2byte 0 @ padding
- .endm
-
- .macro obj_rot_scal_anim_loop count
- .2byte 0x7ffd
- .2byte \count
- .4byte 0 @ padding
- .endm
-
- .macro obj_rot_scal_anim_jump target_index
- .2byte 0x7ffe
- .2byte \target_index
- .4byte 0 @ padding
- .endm
-
- .macro obj_rot_scal_anim_end unknown=0
- .2byte 0x7fff
- .2byte \unknown
- .fill 4 @ padding
- .endm
-
- .macro door_anim_frame unknown, offset
- .byte \unknown
- .byte 0 @ padding
- .2byte \offset
- .endm
-
- .macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr
- .2byte \metatile_num
- .byte \unknown
- .byte \unknown2
- .4byte \tile_addr
- .4byte \palette_addr
- .endm
diff --git a/asm/macros/asm.inc b/asm/macros/asm.inc
index 4ac003fabd..3f70145d31 100644
--- a/asm/macros/asm.inc
+++ b/asm/macros/asm.inc
@@ -1,4 +1,4 @@
- .macro inc x
+ .macro inc x:req
.set \x, \x + 1
.endm
@@ -6,7 +6,7 @@
.set __enum__, \x
.endm
- .macro enum constant
+ .macro enum constant:req
.equiv \constant, __enum__
inc __enum__
.endm
diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc
index 4c7646d6f6..5341e5a431 100644
--- a/asm/macros/battle_ai_script.inc
+++ b/asm/macros/battle_ai_script.inc
@@ -251,11 +251,11 @@
.4byte \param1
.endm
- .macro nullsub_2A
+ .macro nop_2A
.byte 0x2a
.endm
- .macro nullsub_2B
+ .macro nop_2B
.byte 0x2b
.endm
@@ -287,11 +287,11 @@
.4byte \param1
.endm
- .macro nullsub_32
+ .macro nop_32
.byte 0x32
.endm
- .macro nullsub_33
+ .macro nop_33
.byte 0x33
.endm
@@ -467,27 +467,27 @@
.byte \battler
.endm
- .macro nullsub_52
+ .macro nop_52
.byte 0x52
.endm
- .macro nullsub_53
+ .macro nop_53
.byte 0x53
.endm
- .macro nullsub_54
+ .macro nop_54
.byte 0x54
.endm
- .macro nullsub_55
+ .macro nop_55
.byte 0x55
.endm
- .macro nullsub_56
+ .macro nop_56
.byte 0x56
.endm
- .macro nullsub_57
+ .macro nop_57
.byte 0x57
.endm
diff --git a/asm/macros/battle_frontier/apprentice.inc b/asm/macros/battle_frontier/apprentice.inc
index 83871880b6..9eb5f9ea8a 100644
--- a/asm/macros/battle_frontier/apprentice.inc
+++ b/asm/macros/battle_frontier/apprentice.inc
@@ -94,11 +94,19 @@
@ Buffer some APPRENTICE_BUFF_* string to the given stringvar (0 for STR_VAR_1, 1 for STR_VAR_2, 2 for STR_VAR_3)
.macro apprentice_buff stringvar:req, tobuff:req
setvar VAR_0x8004, APPRENTICE_FUNC_BUFFER_STRING
- setvar VAR_0x8005, \stringvar
- .if \tobuff >= VARS_START
- copyvar VAR_0x8006, \tobuff
+ .if \stringvar == STR_VAR_1
+ setvar VAR_0x8005, 0
+ .elseif \stringvar == STR_VAR_2
+ setvar VAR_0x8005, 1
+ .elseif \stringvar == STR_VAR_3
+ setvar VAR_0x8005, 2
.else
- setvar VAR_0x8006, \tobuff
+ setvar VAR_0x8005, \stringvar
+ .endif
+ .if \tobuff >= VARS_START
+ copyvar VAR_0x8006, \tobuff
+ .else
+ setvar VAR_0x8006, \tobuff
.endif
special CallApprenticeFunction
.endm
diff --git a/asm/macros/battle_frontier/frontier_util.inc b/asm/macros/battle_frontier/frontier_util.inc
index def5b4d1c7..c875fcdde2 100644
--- a/asm/macros/battle_frontier/frontier_util.inc
+++ b/asm/macros/battle_frontier/frontier_util.inc
@@ -136,7 +136,13 @@
@ Buffer the name of gTrainerBattleOpponent_A in STR_VAR_1 (0) or STR_VAR_2 (1)
.macro frontier_gettrainername stringVar:req
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME
- setvar VAR_0x8005, \stringVar
+ .if \stringVar == STR_VAR_1
+ setvar VAR_0x8005, 0
+ .elseif \stringVar == STR_VAR_2
+ setvar VAR_0x8005, 1
+ .else
+ setvar VAR_0x8005, \stringVar
+ .endif
special CallFrontierUtilFunc
.endm
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 27a4397258..661e675c97 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -44,7 +44,7 @@
.4byte \destination
.endm
- @ Jumps to the standard function at index function.
+ @ Jumps to the script in gStdScripts at index function.
.macro gotostd function:req
.byte 0x08
.byte \function
@@ -56,82 +56,82 @@
STD_OBTAIN_DECORATION = 7
STD_REGISTER_MATCH_CALL = 8
- @ Calls the standard function at index function.
+ @ Calls the script in gStdScripts at index function.
.macro callstd function:req
.byte 0x09
.byte \function
.endm
- @ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function.
+ @ 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 \condition
.byte \function
.endm
- @ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function.
+ @ 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 \condition
.byte \function
.endm
- @ Executes a script stored in a default RAM location.
+ @ Equivalent to the 'return' command for a RAM script.
.macro returnram
.byte 0x0c
.endm
- @ Terminates script execution and "resets the script RAM".
- .macro killscript
+ @ Equivalent to the 'end' command for a RAM script.
+ .macro endram
.byte 0x0d
.endm
- @ Sets some status related to Mystery Event.
+ @ Sets the Mystery Event script status (MEVENT_STATUS_*).
.macro setmysteryeventstatus value:req
.byte 0x0e
.byte \value
.endm
- @ Sets the specified script bank to value.
- .macro loadword destination:req, value:req
+ @ Sets the value at the specified script data index to a fixed 4-byte value.
+ .macro loadword destIndex:req, value:req
.byte 0x0f
- .byte \destination
+ .byte \destIndex
.4byte \value
.endm
- @ Sets the specified script bank to value.
- .macro loadbyte destination:req, value:req
+ @ Sets the value at the specified script data index to a fixed byte value.
+ .macro loadbyte destIndex:req, value:req
.byte 0x10
- .byte \destination
+ .byte \destIndex
.byte \value
.endm
- @ Sets the byte at offset to value.
- .macro writebytetoaddr value:req, offset:req
+ @ Sets the value at the specified pointer.
+ .macro setptr value:req, ptr:req
.byte 0x11
.byte \value
- .4byte \offset
+ .4byte \ptr
.endm
- @ Copies the byte value at source into the specified script bank.
- .macro loadbytefromaddr destination:req, source:req
+ @ Sets the value at the specified script data index to the value at pointer 'source'.
+ .macro loadbytefromptr destIndex:req, source:req
.byte 0x12
- .byte \destination
+ .byte \destIndex
.4byte \source
.endm
- @ Not sure. Judging from XSE's description I think it takes the least-significant byte in bank source and writes it to destination.
- .macro setptrbyte source:req, destination:req
+ @ Sets the value at pointer 'destination' to the contents of the script data at 'srcIndex'.
+ .macro setptrbyte srcIndex:req, destination:req
.byte 0x13
- .byte \source
+ .byte \srcIndex
.4byte \destination
.endm
- @ Copies the contents of bank source into bank destination.
- .macro copylocal destination:req, source:req
+ @ Copies the contents of the script data from one index to another.
+ .macro copylocal destIndex:req, srcIndex:req
.byte 0x14
- .byte \destination
- .byte \source
+ .byte \destIndex
+ .byte \srcIndex
.endm
@ Copies the byte at source to destination, replacing whatever byte was previously there.
@@ -176,56 +176,64 @@
.2byte \source
.endm
- @ Compares the values of script banks a and b, after forcing the values to bytes.
- .macro compare_local_to_local byte1:req, byte2:req
+ @ 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 \byte1
- .byte \byte2
+ .byte \local1
+ .byte \local2
.endm
- @ Compares the least-significant byte of the value of script bank a to a fixed byte value (b).
- .macro compare_local_to_value a:req, b:req
+ @ 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 \a
- .byte \b
+ .byte \local
+ .byte \value
.endm
- @ Compares the least-significant byte of the value of script bank a to the byte located at offset b.
- .macro compare_local_to_addr a:req, b:req
+ @ 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 \a
- .4byte \b
+ .byte \local
+ .4byte \ptr
.endm
- @ Compares the byte located at offset a to the least-significant byte of the value of script bank b.
- .macro compare_addr_to_local a:req, b:req
+ @ 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
- .4byte \a
- .byte \b
+ .4byte \ptr
+ .byte \local
.endm
- @ Compares the byte located at offset a to a fixed byte value (b).
- .macro compare_addr_to_value a:req, b:req
+ @ 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
- .4byte \a
- .byte \b
+ .4byte \ptr
+ .byte \value
.endm
- @ Compares the byte located at offset a to the byte located at offset b.
- .macro compare_addr_to_addr a:req, b:req
+ @ 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
- .4byte \a
- .4byte \b
+ .4byte \ptr1
+ .4byte \ptr2
.endm
- @ Compares the value of `var` to a fixed word value (b).
+ @ 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
.2byte \var
.2byte \value
.endm
- @ Compares the value of `var1` to the value of `var2`.
+ @ 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
.2byte \var1
@@ -233,7 +241,7 @@
.endm
@ Generic compare macro which attempts to deduce argument types based on their values
- @ Any values between 0x4000 to 0x40FF and 0x8000 to 0x8015 are considered event variable identifiers
+ @ Any values between VARS_START to VARS_END and SPECIAL_VARS_START to SPECIAL_VARS_END are considered event variable identifiers
.macro compare var:req, arg:req
.if ((\arg >= VARS_START && \arg <= VARS_END) || (\arg >= SPECIAL_VARS_START && \arg <= SPECIAL_VARS_END))
compare_var_to_var \var, \arg
@@ -242,41 +250,34 @@
.endif
.endm
- @ Calls the native C function stored at `func`.
+ @ Calls the native C function stored at func.
.macro callnative func:req
.byte 0x23
.4byte \func
.endm
- @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE.
+ @ 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
.4byte \func
.endm
- @ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers.
+ @ Calls a function listed in the table in data/specials.inc.
.macro special function:req
.byte 0x25
.2byte SPECIAL_\function
.endm
- @ Calls a special function. That function's output (if any) will be written to the variable you specify.
+ @ 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
.2byte \output
.2byte SPECIAL_\function
.endm
- @ temporary solution
- .macro specialvar_ output:req, functionId:req
- .byte 0x26
- .2byte \output
- .2byte \functionId
- .endm
-
- @ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific
- @ commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock
- @ state, the script will remain blocked indefinitely (essentially a hang).
+ @ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
+ @ commands and specials. Calling EnableBothScriptContexts for instance will allow execution to continue.
.macro waitstate
.byte 0x27
.endm
@@ -287,46 +288,46 @@
.2byte \frames
.endm
- @ Sets a to 1.
- .macro setflag a:req
+ @ Sets flag to TRUE.
+ .macro setflag flag:req
.byte 0x29
- .2byte \a
+ .2byte \flag
.endm
- @ Sets a to 0.
- .macro clearflag a:req
+ @ Sets flag to FALSE.
+ .macro clearflag flag:req
.byte 0x2a
- .2byte \a
+ .2byte \flag
.endm
- @ Compares a to 1.
- .macro checkflag a:req
+ @ 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
- .2byte \a
+ .2byte \flag
.endm
- @ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop.
+ @ Initializes the RTC`s local time offset to the given hour and minute.
.macro initclock hour:req, minute:req
.byte 0x2c
.2byte \hour
.2byte \minute
.endm
- @ Runs time based events. In FireRed, this command is a nop.
+ @ Updates local time using the RTC and runs time based events.
.macro dotimebasedevents
.byte 0x2d
.endm
- @ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG,
- @ this command sets those variables to zero.
+ @ Sets the values of variables VAR_0x8000, VAR_0x8001, and VAR_0x8002 to the current hour, minute, and second.
.macro gettime
.byte 0x2e
.endm
- @ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones.
- .macro playse sound_number:req
+ @ Plays the specified sound. Only one sound may play at a time, with newer ones interrupting older ones.
+ .macro playse song:req
.byte 0x2f
- .2byte \sound_number
+ .2byte \song
.endm
@ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
@@ -335,9 +336,9 @@
.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 songNumber:req
+ .macro playfanfare song:req
.byte 0x31
- .2byte \songNumber
+ .2byte \song
.endm
@ Blocks script execution until all currently-playing fanfares finish.
@@ -345,18 +346,19 @@
.byte 0x32
.endm
- @ Plays the specified (song_number) song. If save_song is TRUE, the
- @ specified (song_number) will be saved as if savebgm was called with it.
- .macro playbgm song_number:req, save_song:req
+ @ 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
- .2byte \song_number
+ .2byte \song
.byte \save_song
.endm
- @ Saves the specified (song_number) song to be played later.
- .macro savebgm song_number:req
+ @ 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
- .2byte \song_number
+ .2byte \song
.endm
@ Crossfades the currently-playing song into the map's default song.
@@ -364,10 +366,10 @@
.byte 0x35
.endm
- @ Crossfades the currently-playng song into the specified (song_number) song.
- .macro fadenewbgm song_number:req
+ @ Crossfades the currently-playing song into the specified song.
+ .macro fadenewbgm song:req
.byte 0x36
- .2byte \song_number
+ .2byte \song
.endm
@ Fades out the currently-playing song.
@@ -382,91 +384,125 @@
.byte \speed
.endm
- @ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF,
- @ then the player will instead be sent to (X, Y) on the map.
- .macro warp map:req, warp:req, X:req, Y:req
+ @ Helper macro for warp commands that formats their arguments.
+ @ It allows warp macros to either provide 1. a valid id for which warp location to use,
+ @ or 2. a pair of x/y coordinates to use. Both may be provided but at least one will be
+ @ ignored by SetPlayerCoordsFromWarp. If none are provided it will use dummy arguments,
+ @ and the warp will send the player to the center of the map.
+ @ Examples of valid inputs for a warp command:
+ @ - warp MAP, x, y
+ @ - warp MAP, warpId
+ @ - warp MAP
+ @ - warp MAP, warpId, x, y
+ .macro formatwarp map:req, a, b, c
+ map \map
+ .ifb \a @ No arguments provided, use dummy warpId and coords.
+ .byte WARP_ID_NONE
+ .2byte -1 @ x
+ .2byte -1 @ y
+ .else
+ .ifb \b @ Only one argument provided, treat it as a warpId and use dummy coords.
+ .byte \a @ warpId
+ .2byte -1 @ x
+ .2byte -1 @ y
+ .else
+ .ifb \c @ Only two arguments provided, treat them as a coord pair and use dummy warpId.
+ .byte WARP_ID_NONE
+ .2byte \a @ x
+ .2byte \b @ y
+ .else @ All three arguments provided. Output them and let the warp sort out which to use.
+ .byte \a @ warpId
+ .2byte \b @ x
+ .2byte \c @ y
+ .endif
+ .endif
+ .endif
+ .endm
+
+
+ @ Warps the player to the specified map.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
- @ Clone of warp that does not play a sound effect.
- .macro warpsilent map:req, warp:req, X:req, Y:req
+ @ Warps the player to the specified map without playing a sound effect.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
- @ Clone of warp that plays a door opening animation before stepping upwards into it.
- .macro warpdoor map:req, warp:req, X:req, Y:req
+ @ Warps the player to the specified map and plays a door opening animation before stepping upwards into it.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
- @ Warps the player to another map using a hole animation.
+ @ Warps the player to another map using a hole animation. If the specified map is MAP_UNDEFINED it will instead
+ @ 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
map \map
.endm
- @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.
- .macro warpteleport map:req, warp:req, X:req, Y:req
+ @ Warps the player to the specified map using a teleport effect. Effect is similar to warpspinenter but
+ @ this warp has a fade out first and doesn't maintain the original facing direction.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
@ Sets the warp destination to be used later.
- .macro setwarp map:req, warp:req, X:req, Y:req
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
- @ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to.
- @ Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
- .macro setdynamicwarp map:req, warp:req, X:req, Y:req
+ @ Sets the dynamic warp destination. Warps with a destination map of MAP_NONE will target this destination.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
- @ Sets the destination that diving or emerging from a dive will take the player to.
- .macro setdivewarp map:req, warp:req, X:req, Y:req
+ @ Sets the destination that diving or emerging from a dive will take the player to. Note that this only
+ @ applies if the current map does not have a dive/emerge connection. If it does have a corresponding
+ @ map connection then that map and the player's current coordinates will be used as the destination instead.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ formatwarp \map, \a, \b, \c
.endm
@ Sets the destination that falling into a hole will take the player to.
- .macro setholewarp map:req, warp:req, X:req, Y:req
+ @ While it does accept and set the x/y coordinates and warpId, they are ultimately ignored.
+ @ This is only used to set the map the player should fall to. The exact location on the
+ @ map to fall to is determined by warphole.
+ @ 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
- map \map
- .byte \warp
- .2byte \X
- .2byte \Y
+ 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
+ @ 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
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
@ Retrieves the number of Pokemon in the player's party, and stores that number in VAR_RESULT.
@@ -474,176 +510,177 @@
.byte 0x43
.endm
- @ Attempts to add quantity of item index 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 index:req, quantity=1
+ @ 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
- .2byte \index
+ .2byte \itemId
.2byte \quantity
.endm
- @ Removes quantity of item index from the player's Bag.
- .macro removeitem index:req, quantity=1
+ @ 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
- .2byte \index
+ .2byte \itemId
.2byte \quantity
.endm
- @ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets VAR_RESULT to
+ @ 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 index:req, quantity:req
+ .macro checkitemspace itemId:req, quantity=1
.byte 0x46
- .2byte \index
+ .2byte \itemId
.2byte \quantity
.endm
- @ Checks if the player has quantity or more of item index in their Bag. Sets VAR_RESULT to TRUE if the player has
+ @ 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 index:req, quantity:req
+ .macro checkitem itemId:req, quantity=1
.byte 0x47
- .2byte \index
+ .2byte \itemId
.2byte \quantity
.endm
@ Checks which Bag pocket the specified item belongs in, and writes the pocket value (POCKET_*) to VAR_RESULT.
- @ This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE).
- .macro checkitemtype index:req
+ @ 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
- .2byte \index
+ .2byte \itemId
.endm
- @ Adds a quantity amount of item index to the player's PC. Both arguments can be variables.
- .macro addpcitem index:req, quantity:req
+ @ Adds quantity of the specified item to the player's PC.
+ .macro addpcitem itemId:req, quantity=1
.byte 0x49
- .2byte \index
+ .2byte \itemId
.2byte \quantity
.endm
- @ Checks for quantity amount of item index in the player's PC. Both arguments can be variables.
- .macro checkpcitem index:req, quantity:req
+ @ Checks for quantity of the specified item in the player's PC.
+ .macro checkpcitem itemId:req, quantity=1
.byte 0x4a
- .2byte \index
+ .2byte \itemId
.2byte \quantity
.endm
- @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ @ Adds a decoration to the player's PC.
.macro adddecoration decoration:req
.byte 0x4b
.2byte \decoration
.endm
- @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ @ Removes a decoration from the player's PC.
.macro removedecoration decoration:req
.byte 0x4c
.2byte \decoration
.endm
- @ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ @ Checks for decoration in the player's PC.
.macro checkdecor decoration:req
.byte 0x4d
.2byte \decoration
.endm
- @ Checks if the player has enough space in their PC to hold decoration. Sets VAR_RESULT to TRUE if there is room, or
- @ FALSE is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ @ 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
.2byte \decoration
.endm
- @ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open.
- @ If no map is specified, then the current map is used.
- .macro applymovement index:req, movements:req, map
+ @ 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
- .2byte \index
+ .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
- .2byte \index
+ .2byte \localId
.4byte \movements
map \map
.endif
.endm
- @ Blocks script execution until the movements being applied to the specified (index) Object finish.
- @ If the specified Object is 0x0000, then the command will block script execution until all Objects
- @ affected by applymovement finish their movements. If the specified Object is not currently being
- @ manipulated with applymovement, then this command does nothing.
+ @ 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 no map is specified, then the current map is used.
- .macro waitmovement index:req, map
+ .macro waitmovement localId:req, map
.ifb \map
.byte 0x51
- .2byte \index
+ .2byte \localId
.else
.byte 0x52
- .2byte \index
+ .2byte \localId
map \map
.endif
.endm
- @ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map,
- @ by setting its visibility flag if it has a valid one. If the Object does not have a valid
- @ visibility flag, this command does nothing.
+ @ Attempts to despawn the specified (localId) object on the specified map.
+ @ It also sets the object's visibility flag if it has one.
@ If no map is specified, then the current map is used.
- .macro removeobject index:req, map
+ .macro removeobject localId:req, map
.ifb \map
.byte 0x53
- .2byte \index
+ .2byte \localId
.else
.byte 0x54
- .2byte \index
+ .2byte \localId
map \map
.endif
.endm
- @ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one.
- @ If the Object does not have a valid visibility flag, this command does nothing.
+ @ Attempts to spawn the specified (localId) object the specified map.
+ @ Note that unlike removeobject this does not modify the object's flag.
@ If no map is specified, then the current map is used.
- .macro addobject index:req, map
+ .macro addobject localId:req, map
.ifb \map
.byte 0x55
- .2byte \index
+ .2byte \localId
.else
.byte 0x56
- .2byte \index
+ .2byte \localId
map \map
.endif
.endm
- @ Sets the specified (index) Object's position on the current map.
- .macro setobjectxy index:req, x:req, y:req
+ @ Sets the specified (localId) object's position on the current map.
+ .macro setobjectxy localId:req, x:req, y:req
.byte 0x57
- .2byte \index
+ .2byte \localId
.2byte \x
.2byte \y
.endm
- .macro showobjectat index:req, map:req
+ @ Sets the specified object's invisibility to FALSE.
+ .macro showobjectat localId:req, map:req
.byte 0x58
- .2byte \index
+ .2byte \localId
map \map
.endm
- .macro hideobjectat index:req, map:req
+ @ Sets the specified object's invisibility to TRUE.
+ .macro hideobjectat localId:req, map:req
.byte 0x59
- .2byte \index
+ .2byte \localId
map \map
.endm
- @ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on.
+ @ Turns the currently selected object (if there is one) to face the player.
.macro faceplayer
.byte 0x5a
.endm
- .macro turnobject index:req, direction:req
+ @ Turns the specified object in the specified direction.
+ .macro turnobject localId:req, direction:req
.byte 0x5b
- .2byte \index
+ .2byte \localId
.byte \direction
.endm
- @ If the Trainer flag for Trainer index is not set, this command does absolutely nothing.
+ @ 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 \type
@@ -700,8 +737,8 @@
NO_MUSIC = FALSE
- @ Starts a single trainer battle, takes a trainer, intro text, loss text, and an optional event script
- @ when used with an event script, you can also pass in an optional flag to disable music
+ @ Starts a single trainer battle. Takes a trainer, intro text, loss text, and an optional event script.
+ @ 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
@@ -712,8 +749,8 @@
.endif
.endm
- @ Starts a double trainer battle, takes a trainer, intro text, loss text, text for when you have too few pokemon
- @ and an optional event script, when used with an event script you can pass in an optional flag to disable music
+ @ Starts a double trainer battle. Takes a trainer, intro text, loss text, text for when you have too few pokemon
+ @ 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
@@ -724,25 +761,25 @@
.endif
.endm
- @ Starts a rematch battle, takes a trainer, intro text and loss text
+ @ 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
.endm
- @ Starts a rematch double battle, takes a trainer, intro text, loss text, and text for when you have too few pokemon
+ @ 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
.endm
- @ Starts a trainer battle, skipping intro text, takes a trainer and loss text
+ @ 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
.endm
- @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this
- @ command behind-the-scenes), and blocks script execution until the battle finishes.
- .macro trainerbattlebegin
+ @ 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
.endm
@@ -756,42 +793,45 @@
.byte 0x5f
.endm
- @ Compares Flag (trainer + 0x500) to 1. (If the flag is set, then the trainer has been defeated by the player.)
+ @ 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
.2byte \trainer
.endm
- @ Sets Flag (trainer + 0x500).
+ @ Sets the trainer flag (trainer + TRAINER_FLAGS_START) to TRUE (defeated).
.macro settrainerflag trainer:req
.byte 0x61
.2byte \trainer
.endm
- @ Clears Flag (trainer + 0x500).
+ @ Sets the trainer flag (trainer + TRAINER_FLAGS_START) to FALSE (not defeated).
.macro cleartrainerflag trainer:req
.byte 0x62
.2byte \trainer
.endm
- .macro setobjectxyperm index:req, x:req, y:req
+ @ 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
- .2byte \index
+ .2byte \localId
.2byte \x
.2byte \y
.endm
- @ Copies a live object event's xy position to its template, so that if the sprite goes off screen,
+ @ 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 index:req
+ .macro copyobjectxytoperm localId:req
.byte 0x64
- .2byte \index
+ .2byte \localId
.endm
- .macro setobjectmovementtype word:req, byte:req
+ @ Sets the movement type (MOVEMENT_TYPE_*) for an object's template.
+ .macro setobjectmovementtype localId:req, movementType:req
.byte 0x65
- .2byte \word
- .byte \byte
+ .2byte \localId
+ .byte \movementType
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the
@@ -801,8 +841,8 @@
.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 script bank 0, then the value of script bank 0 will be treated as
- @ a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.)
+ @ 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
.4byte \text
@@ -823,17 +863,17 @@
.byte 0x6a
.endm
- @ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
+ @ Resumes normal movement for all objects on-screen, and closes any standard message boxes that are still open.
.macro releaseall
.byte 0x6b
.endm
- @ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open.
+ @ 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
.endm
- @ Blocks script execution until the player presses any key.
+ @ Blocks script execution until the player presses the A or B button.
.macro waitbuttonpress
.byte 0x6d
.endm
@@ -859,7 +899,7 @@
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
- @ 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 0x00.
+ @ 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
@@ -906,7 +946,7 @@
.byte \ignoreBPress
.endm
- @ Displays a box containing the front sprite for the specified (species) Pokemon species.
+ @ Displays a box containing the front sprite for the specified Pokemon species.
.macro showmonpic species:req, x:req, y:req
.byte 0x75
.2byte \species
@@ -914,7 +954,7 @@
.byte \y
.endm
- @ Hides all boxes displayed with showmonpic.
+ @ Hides the box displayed by showmonpic.
.macro hidemonpic
.byte 0x76
.endm
@@ -925,9 +965,9 @@
.byte \winnerId
.endm
- @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille
- @ characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the
- @ box's size and position, but in Emerald these are calculated automatically).
+ @ Displays the given string as braille text in a standard message box. The string should use the .braille directive
+ @ 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
.4byte \text
@@ -944,209 +984,237 @@
.byte \textTop
.endm
- @ Gives the player one of the specified (species) Pokemon at level level holding item. The trailing 0s are unused parameters
- .macro givemon species:req, level:req, item:req
+ @ 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
.2byte \species
.byte \level
.2byte \item
- .4byte 0x0
- .4byte 0x0
+ .4byte 0
+ .4byte 0
.byte 0
.endm
+ @ 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
.2byte \species
.endm
- .macro setmonmove index:req, slot:req, move:req
+ @ Replaces the move at 'slot' of the Pokémon in the player's party at 'partyIndex' with the specified move.
+ @ 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 \index
+ .byte \partyIndex
.byte \slot
.2byte \move
.endm
- @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, VAR_RESULT is set to the
+ @ Checks if at least one Pokemon in the player's party knows the specified move. If so, VAR_RESULT is set to the
@ (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 index:req
+ .macro checkpartymove move:req
.byte 0x7c
- .2byte \index
+ .2byte \move
.endm
- @ Writes the name of the Pokemon at index species to the specified buffer.
- .macro bufferspeciesname out:req, species:req
+ @ Converts STR_VAR_1, STR_VAR_2, or STR_VAR_3 to its corresponding index into sScriptStringVars (0, 1, or 2).
+ @ If given anything else it will output it directly.
+ @ Note: Because the STR_VAR_# arguments given to this macro are not part of a processed string they are not
+ @ replaced with their charmap values, they are just passed as the literal characters "STR_VAR_#".
+ .macro stringvar id:req
+ .if \id == STR_VAR_1
+ .byte 0
+ .elseif \id == STR_VAR_2
+ .byte 1
+ .elseif \id == STR_VAR_3
+ .byte 2
+ .else
+ .byte \id
+ .endif
+ .endm
+
+ @ Writes the name of the given Pokemon species to the specified buffer.
+ .macro bufferspeciesname stringVarId:req, species:req
.byte 0x7d
- .byte \out
+ 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 out:req
+ .macro bufferleadmonspeciesname stringVarId:req
.byte 0x7e
- .byte \out
+ stringvar \stringVarId
.endm
- @ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer.
+ @ 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 out:req, slot:req
+ .macro bufferpartymonnick stringVarId:req, slot:req
.byte 0x7f
- .byte \out
+ stringvar \stringVarId
.2byte \slot
.endm
- @ Writes the name of the item at index item to the specified buffer. If the specified index is larger than
- @ the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitemname out:req, item:req
+ @ 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 \out
+ stringvar \stringVarId
.2byte \item
.endm
- @ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop.
- .macro bufferdecorationname out:req, decoration:req
+ @ Writes the name of the specified decoration to the specified buffer.
+ .macro bufferdecorationname stringVarId:req, decoration:req
.byte 0x81
- .byte \out
+ stringvar \stringVarId
.2byte \decoration
.endm
- @ Writes the name of the move at index move to the specified buffer.
- .macro buffermovename out:req, move:req
+ @ Writes the name of the specified move to the specified buffer.
+ .macro buffermovename stringVarId:req, move:req
.byte 0x82
- .byte \out
+ stringvar \stringVarId
.2byte \move
.endm
@ Converts the value of input to a decimal string, and writes that string to the specified buffer.
- .macro buffernumberstring out:req, input:req
+ .macro buffernumberstring stringVarId:req, input:req
.byte 0x83
- .byte \out
+ stringvar \stringVarId
.2byte \input
.endm
- @ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all,
- @ so specifying an invalid standard string (e.x. 0x2B) can and usually will cause crashes or garbage characters.
- .macro bufferstdstring out:req, index:req
+ @ 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 \out
+ stringvar \stringVarId
.2byte \index
.endm
- @ Copies the string at offset to the specified buffer.
- .macro bufferstring out:req, offset:req
+ @ Copies the string at the given pointer to the specified buffer.
+ .macro bufferstring stringVarId:req, text:req
.byte 0x85
- .byte \out
- .4byte \offset
+ stringvar \stringVarId
+ .4byte \text
.endm
@ 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
.4byte \products
.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
.4byte \products
.endm
- @ Apparent clone of pokemartdecoration.
+ @ Identical to pokemartdecoration, but with slight changes to the clerk dialogue. See uses of MART_TYPE_DECOR2.
.macro pokemartdecoration2 products:req
.byte 0x88
.4byte \products
.endm
- @ Starts up the slot machine minigame.
- .macro playslotmachine word:req
+ @ 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
- .2byte \word
+ .2byte \id
.endm
- @ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop.
- .macro setberrytree tree_id:req, berry:req, growth_stage:req
+ @ 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 \tree_id
+ .byte \treeId
.byte \berry
- .byte \growth_stage
+ .byte \growthStage
.endm
- @ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
+ @ Opens the party menu to select a Pokemon for a contest.
.macro choosecontestmon
.byte 0x8b
.endm
- @ Starts a contest. In FireRed, this command is a nop.
+ @ Starts the appeals round of a contest.
.macro startcontest
.byte 0x8c
.endm
- @ Shows the results of a contest. In FireRed, this command is a nop.
+ @ Shows the results screen of a contest.
.macro showcontestresults
.byte 0x8d
.endm
- @ Starts a contest over a link connection. In FireRed, this command is a nop.
+ @ Starts communication to initialize a link contest.
.macro contestlinktransfer
.byte 0x8e
.endm
- @ Stores a random integer between 0 and limit in VAR_RESULT.
+ @ Stores a random integer between 0 and limit (exclusive of limit) in VAR_RESULT.
.macro random limit:req
.byte 0x8f
.2byte \limit
.endm
- @ If check is 0x00, this command adds value to the player's money.
- .macro addmoney value:req, check:req
+ @ 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
.4byte \value
- .byte \check
+ .byte \disable
.endm
- @ If check is 0x00, this command subtracts value from the player's money.
- .macro removemoney value:req, check:req
+ @ 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
.4byte \value
- .byte \check
+ .byte \disable
.endm
- @ If check is 0x00, this command will check if the player has money >= value; VAR_RESULT is set to TRUE if the player
- @ has enough money, or FALSE if they do not.
- .macro checkmoney value:req, check:req
+ @ 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
.4byte \value
- .byte \check
+ .byte \disable
.endm
- @ Spawns a secondary box showing how much money the player has.
- .macro showmoneybox x:req, y:req, check:req
+ @ 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 \x
.byte \y
- .byte \check
+ .byte \disable
.endm
- @ Hides the secondary box spawned by showmoney. Consumption of the x and y arguments was dummied out.
+ @ Destroys the window created by showmoneybox. Consumption of the x and y arguments was dummied out.
.macro hidemoneybox
.byte 0x94
.byte 0 @ \x
.byte 0 @ \y
.endm
- @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments.
- .macro updatemoneybox x:req, y:req
+ @ 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 \x
- .byte \y
- .byte 0 @ 1 = don't perform this command. Always 0 in vanilla. Why this is a thing is beyond me.
+ .byte 0 @ \x
+ .byte 0 @ \y
+ .byte \disable
.endm
- @ Gets the price reduction for the index given. In FireRed, this command is a nop.
- .macro getpricereduction index:req
+ @ Gets whether the effects of the specified PokeNews program are active. newsKind is a POKENEWS_* constant.
+ .macro getpokenewsactive newsKind:req
.byte 0x96
- .2byte \index
+ .2byte \newsKind
.endm
@ Fades the screen to and from black and white. Modes are FADE_(TO/FROM)_(WHITE/BLACK)
@@ -1162,65 +1230,71 @@
.byte \speed
.endm
- .macro setflashradius word:req
+ @ 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
- .2byte \word
+ .2byte \level
.endm
- .macro animateflash byte:req
+ @ 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 \byte
+ .byte \level
.endm
- .macro messageautoscroll pointer:req
+ @ Automatically scrolls through the message without player input and at a fixed speed.
+ .macro messageautoscroll text:req
.byte 0x9b
- .4byte \pointer
+ .4byte \text
.endm
- @ Executes the specified field move animation.
+ @ Executes the specified field effect animation (FLDEFF_*).
.macro dofieldeffect animation:req
.byte 0x9c
.2byte \animation
.endm
- @ Sets up the field effect argument argument with the value value.
- .macro setfieldeffectargument argument:req, param:req
+ @ Sets the field effect argument at index 'argNum' to 'value.'
+ .macro setfieldeffectargument argNum:req, value:req
.byte 0x9d
- .byte \argument
- .2byte \param
+ .byte \argNum
+ .2byte \value
.endm
- @ Blocks script execution until all playing field move animations complete.
+ @ Blocks script execution until all playing field effect animations complete.
.macro waitfieldeffect animation:req
.byte 0x9e
.2byte \animation
.endm
- @ Sets which healing place the player will return to if all of the Pokemon in their party faint.
+ @ 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
.2byte \heallocation
.endm
- @ Checks the player's gender. If male, then MALE (0) is stored in VAR_RESULT. If female, then FEMALE (1) is stored in VAR_RESULT.
+ @ Checks the player's gender. Stores the result (MALE (0) or FEMALE (1)) in VAR_RESULT.
.macro checkplayergender
.byte 0xa0
.endm
- @ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes.
+ @ 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
.2byte \species
.2byte \mode
.endm
- @ Changes the metatile at (x, y) on the current map.
- .macro setmetatile x:req, y:req, metatile_number:req, has_collision:req
+ @ 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
.2byte \x
.2byte \y
- .2byte \metatile_number
- .2byte \has_collision
+ .2byte \metatileId
+ .2byte \impassable
.endm
@ Queues a weather change to the default weather for the map.
@@ -1239,54 +1313,63 @@
.byte 0xa5
.endm
- @ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors).
- .macro setstepcallback subroutine:req
+ @ 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 \subroutine
+ .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
.2byte \index
.endm
- .macro setobjectpriority index:req, map:req, priority:req
+ @ 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
- .2byte \index
+ .2byte \localId
map \map
- .byte \priority
+ .byte \subpriority
.endm
- .macro resetobjectpriority index:req, map:req
+ @ Sets the specified object's fixedPriority to FALSE. Does not change the subpriority field.
+ .macro resetobjectsubpriority localId:req, map:req
.byte 0xa9
- .2byte \index
+ .2byte \localId
map \map
.endm
- .macro createvobject sprite:req, byte2:req, x:req, y:req, elevation, direction
+ @ Creates a sprite with object graphics. Used when creating large groups of static NPCs that exceed
+ @ 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 \sprite
- .byte \byte2
+ .byte \graphicsId
+ .byte \id
.2byte \x
.2byte \y
.byte \elevation
.byte \direction
.endm
- .macro turnvobject index:req, direction:req
+ @ Turns a sprite created with createvobject.
+ .macro turnvobject id:req, direction:req
.byte 0xab
- .byte \index
+ .byte \id
.byte \direction
.endm
- @ Opens the door metatile at (X, Y) with an animation.
+ @ Opens the door metatile at (x, y) with an animation.
.macro opendoor x:req, y:req
.byte 0xac
.2byte \x
.2byte \y
.endm
- @ Closes the door metatile at (X, Y) with an animation.
+ @ Closes the door metatile at (x, y) with an animation.
.macro closedoor x:req, y:req
.byte 0xad
.2byte \x
@@ -1298,21 +1381,21 @@
.byte 0xae
.endm
- @ Sets the door tile at (x, y) to be open without an animation.
+ @ Sets the door metatile at (x, y) to be open without an animation.
.macro setdooropen x:req, y:req
.byte 0xaf
.2byte \x
.2byte \y
.endm
- @ Sets the door tile at (x, y) to be closed without an animation.
+ @ Sets the door metatile at (x, y) to be closed without an animation.
.macro setdoorclosed x:req, y:req
.byte 0xb0
.2byte \x
.2byte \y
.endm
- @ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop.
+ @ 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 \a
@@ -1321,29 +1404,35 @@
.2byte \d
.endm
- @ In FireRed and Emerald, this command is a nop.
+ @ Does nothing. It is implemented but unused in Ruby/Sapphire.
.macro showelevmenu
.byte 0xb2
.endm
+ @ Gets the number of coins the player has and stores it in the variable 'out'.
.macro checkcoins out:req
.byte 0xb3
.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
.2byte \count
.endm
+ @ Takes 'count' coins from the player.
+ @ 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
.2byte \count
.endm
- @ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect
+ @ 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:req
+ .macro setwildbattle species:req, level:req, item=ITEM_NONE
.byte 0xb6
.2byte \species
.byte \level
@@ -1355,83 +1444,90 @@
.byte 0xb7
.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
.4byte \pointer
.endm
- .macro vgoto pointer:req
+ @ Equivalent to goto using the relative address set by setvaddress.
+ .macro vgoto destination:req
.byte 0xb9
- .4byte \pointer
+ .4byte \destination
.endm
- .macro vcall pointer:req
+ @ Equivalent to call using the relative address set by setvaddress.
+ .macro vcall destination:req
.byte 0xba
- .4byte \pointer
+ .4byte \destination
.endm
- .macro vgoto_if byte:req, pointer:req
+ @ Equivalent to goto_if using the relative address set by setvaddress.
+ .macro vgoto_if condition:req, destination:req
.byte 0xbb
- .byte \byte
- .4byte \pointer
+ .byte \condition
+ .4byte \destination
.endm
- .macro vcall_if byte:req, pointer:req
+ @ Equivalent to call_if using the relative address set by setvaddress.
+ .macro vcall_if condition:req, destination:req
.byte 0xbc
- .byte \byte
- .4byte \pointer
+ .byte \condition
+ .4byte \destination
.endm
- .macro vmessage pointer:req
+ @ Equivalent to message using the relative address set by setvaddress.
+ .macro vmessage text:req
.byte 0xbd
- .4byte \pointer
+ .4byte \text
.endm
- .macro vloadptr pointer:req
+ @ Expands the given text at the pointer (- the relative address set by setvaddress) into gStringVar4
+ .macro vbuffermessage text:req
.byte 0xbe
- .4byte \pointer
+ .4byte \text
.endm
- .macro vbufferstring byte:req, pointer:req
+ @ Equivalent to bufferstring using the relative address set by setvaddress.
+ .macro vbufferstring stringVarIndex:req, text:req
.byte 0xbf
- .byte \byte
- .4byte \pointer
+ stringvar \stringVarIndex
+ .4byte \text
.endm
- @ Spawns a secondary box showing how many Coins the player has.
+ @ Create a window showing how many Coins the player has.
.macro showcoinsbox x:req, y:req
.byte 0xc0
.byte \x
.byte \y
.endm
- @ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
+ @ Destroys the window created by showcoins. It consumes its arguments but doesn't use them.
.macro hidecoinsbox x:req, y:req
.byte 0xc1
.byte \x
.byte \y
.endm
- @ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
+ @ Updates the window created by showcoins. It consumes its arguments but doesn't use them.
.macro updatecoinsbox x:req, y:req
.byte 0xc2
.byte \x
.byte \y
.endm
- @ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF.
+ @ 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 \stat
.endm
@ Sets the destination that using an Escape Rope or Dig will take the player to.
- .macro setescapewarp map:req, warp:req, x:req, y:req
+ @ 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
- map \map
- .byte \warp
- .2byte \x
- .2byte \y
+ formatwarp \map, \a, \b, \c
.endm
@ Blocks script execution until cry finishes.
@@ -1439,49 +1535,40 @@
.byte 0xc5
.endm
- @ Writes the name of the specified (box) PC box to the specified buffer.
- .macro bufferboxname out:req, box:req
+ @ Writes the name of the specified PC box to the specified buffer.
+ .macro bufferboxname stringVarId:req, box:req
.byte 0xc6
- .byte \out
+ stringvar \stringVarId
.2byte \box
.endm
- @ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text,
- @ 0xFF resets the color to the default for the current OW's gender, and all other values produce black text.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro textcolor color:req
.byte 0xc7
.byte \color
.endm
- @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom
- @ of the screen when the Main Menu is opened.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
- .macro loadhelp pointer:req
+ .macro loadhelp text:req
.byte 0xc8
- .4byte \pointer
+ .4byte \text
.endm
- @ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of
- @ the screen when the Main Menu is opened.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro unloadhelp
.byte 0xc9
.endm
- @ After using this command, all standard message boxes will use the signpost frame.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro signmsg
.byte 0xca
.endm
- @ Ends the effects of signmsg, returning message box frames to normal.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro normalmsg
.byte 0xcb
.endm
- @ Compares the value of a hidden variable to a dword.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro comparehiddenvar a:req, value:req
.byte 0xcc
@@ -1489,39 +1576,38 @@
.4byte \value
.endm
- @ Sets the Pokemon in the specified slot of the player party's eventLegal bit.
+ @ Sets the eventLegal bit for the Pokemon in the specified slot of the player's party.
.macro setmoneventlegal slot:req
.byte 0xcd
.2byte \slot
.endm
- @ Checks if the Pokemon in the specified slot of the player's party has its eventLegal bit set. If it isn't set,
+ @ Checks if the eventLegal 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 checkmoneventlegal slot:req
.byte 0xce
.2byte \slot
.endm
- @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the
- @ offset specified by the pointer at 0x020375C0.
- .macro gotoram
+ @ 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
.endm
- @ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot.
@ Used only in FireRed/LeafGreen, does nothing in Emerald.
.macro setworldmapflag worldmapflag:req
.byte 0xd0
.2byte \worldmapflag
.endm
- @ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source]
- .macro warpteleport2 map:req, warp:req, x:req, y:req
+ @ Warps the player to the specified map using a teleport effect. Effect is similar to warpteleport, but
+ @ this warp has no fade out and maintains the original facing direction.
+ @ 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
- map \map
- .byte \warp
- .2byte \x
- .2byte \y
+ formatwarp \map, \a, \b, \c
.endm
@ Changes the location where the player caught the Pokemon in the specified slot of their party.
@@ -1531,99 +1617,114 @@
.byte \location
.endm
- @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Moves the objects on the colored puzzle
- @ specified by puzzleNumber one rotation
+ @ 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
.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
+ @ 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
.endm
- @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Allocates memory for the puzzle objects.
+ @ 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. In FireRed, this command is a nop.
+ @ the puzzle tiles start (TRUE for Trick House Room, FALSE for Mossdeep Gym).
.macro initrotatingtilepuzzle isTrickHouse:req
.byte 0xd5
.2byte \isTrickHouse
.endm
- @ For the rotating tile puzzles in Mossdeep Gym/Trick House Room 7. Frees the memory allocated for the puzzle objects.
+ @ For the rotating tile puzzles in Mossdeep Gym / Trick House Room 7. Frees the memory allocated for the puzzle objects.
.macro freerotatingtilepuzzle
.byte 0xd6
.endm
- .macro warpmossdeepgym map:req, warpId:req, x:req, y:req
+ @ Warp used by the teleport tiles in the Mossdeep Gym. Plays SE_WARP_IN and does a simple fade transition.
+ @ Also skips reloading object events by setting SKIP_OBJECT_EVENT_LOAD.
+ @ 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
- map \map
- .byte \warpId
- .2byte \x
- .2byte \y
+ formatwarp \map, \a, \b, \c
.endm
+ @ Sets the selected object to the id of the currently approaching trainer.
.macro selectapproachingtrainer
.byte 0xd8
.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
.endm
+ @ Destroys the window created by braillemessage.
.macro closebraillemessage
.byte 0xda
.endm
- .macro messageinstant pointer:req
+ @ 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
- .4byte \pointer
+ .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 \mode
.endm
- .macro buffertrainerclassname out:req, class:req
+ @ 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 \out
- .2byte \class
+ stringvar \stringVarId
+ .2byte \trainerId
.endm
- .macro buffertrainername out:req, trainer:req
+ @ 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 \out
- .2byte \trainer
+ stringvar \stringVarId
+ .2byte \trainerId
.endm
- .macro pokenavcall pointer:req
+ @ Starts a Pokenav call with the given text.
+ .macro pokenavcall text:req
.byte 0xdf
- .4byte \pointer
+ .4byte \text
.endm
- .macro warpsootopolislegend map:req, byte:req, word1:req, word2:req
+ @ Warp with a fade to white. Used during the Sootopolis legendary fight.
+ @ 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
- map \map
- .byte \byte
- .2byte \word1
- .2byte \word2
+ formatwarp \map, \a, \b, \c
.endm
- .macro buffercontesttypestring out:req, word:req
+ @ 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 \out
- .2byte \word
+ stringvar \stringVarId
+ .2byte \category
.endm
- @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or
- @ Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended).
- @ If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization).
- @ If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitemnameplural out:req, item:req, quantity:req
+ @ Writes the name of the specified item to the specified buffer. If 'item' is a Berry or ITEM_POKE_BALL
+ @ 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 \out
+ stringvar \stringVarId
.2byte \item
.2byte \quantity
.endm
@@ -1641,28 +1742,48 @@
goto_if TRUE, \dest
.endm
- .macro goto_if_lt dest:req @ LESS THAN
- goto_if 0, \dest
+ @ Allows 'compare' followed by a conditional goto/call to be combined into a single statement.
+ @ The following are examples of the two acceptable formats this facilitates:
+ @ compare VAR_RESULT, TRUE
+ @ goto_if_eq MyScript
+ @ - or -
+ @ goto_if_eq VAR_RESULT, TRUE, MyScript
+ @
+ @ The first two arguments to this macro are the base command, e.g. 'goto_if 1' for goto_if_eq.
+ @ The remaining arguments 'a, b, c' depend on the format:
+ @ For a single statement, 'a' and 'b' are the values to compare and 'c' is the destination pointer.
+ @ For a statement preceded by a compare, 'a' is the destination pointer and 'b/c' are not provided.
+ .macro trycompare jump:req, condition:req, a:req, b, c
+ .ifnb \c
+ compare \a, \b
+ \jump \condition, \c
+ .else
+ \jump \condition, \a
+ .endif
.endm
- .macro goto_if_eq dest:req @ EQUAL
- goto_if 1, \dest
+ .macro goto_if_lt a:req, b, c @ LESS THAN
+ trycompare goto_if, 0, \a, \b, \c
.endm
- .macro goto_if_gt dest:req @ GREATER THAN
- goto_if 2, \dest
+ .macro goto_if_eq a:req, b, c @ EQUAL
+ trycompare goto_if, 1, \a, \b, \c
.endm
- .macro goto_if_le dest:req @ LESS THAN OR EQUAL
- goto_if 3, \dest
+ .macro goto_if_gt a:req, b, c @ GREATER THAN
+ trycompare goto_if, 2, \a, \b, \c
.endm
- .macro goto_if_ge dest:req @ GREATER THAN OR EQUAL
- goto_if 4, \dest
+ .macro goto_if_le a:req, b, c @ LESS THAN OR EQUAL
+ trycompare goto_if, 3, \a, \b, \c
.endm
- .macro goto_if_ne dest:req @ NOT EQUAL
- goto_if 5, \dest
+ .macro goto_if_ge a:req, b, c @ GREATER THAN OR EQUAL
+ trycompare goto_if, 4, \a, \b, \c
+ .endm
+
+ .macro goto_if_ne a:req, b, c @ NOT EQUAL
+ trycompare goto_if, 5, \a, \b, \c
.endm
.macro call_if_unset flag:req, dest:req
@@ -1675,36 +1796,36 @@
call_if TRUE, \dest
.endm
- .macro call_if_lt dest:req @ LESS THAN
- call_if 0, \dest
+ .macro call_if_lt a:req, b, c @ LESS THAN
+ trycompare call_if, 0, \a, \b, \c
.endm
- .macro call_if_eq dest:req @ EQUAL
- call_if 1, \dest
+ .macro call_if_eq a:req, b, c @ EQUAL
+ trycompare call_if, 1, \a, \b, \c
.endm
- .macro call_if_gt dest:req @ GREATER THAN
- call_if 2, \dest
+ .macro call_if_gt a:req, b, c @ GREATER THAN
+ trycompare call_if, 2, \a, \b, \c
.endm
- .macro call_if_le dest:req @ LESS THAN OR EQUAL
- call_if 3, \dest
+ .macro call_if_le a:req, b, c @ LESS THAN OR EQUAL
+ trycompare call_if, 3, \a, \b, \c
.endm
- .macro call_if_ge dest:req @ GREATER THAN OR EQUAL
- call_if 4, \dest
+ .macro call_if_ge a:req, b, c @ GREATER THAN OR EQUAL
+ trycompare call_if, 4, \a, \b, \c
.endm
- .macro call_if_ne dest:req @ NOT EQUAL
- call_if 5, \dest
+ .macro call_if_ne a:req, b, c @ NOT EQUAL
+ trycompare call_if, 5, \a, \b, \c
.endm
- .macro vgoto_if_eq dest:req
- vgoto_if TRUE, \dest
+ .macro vgoto_if_eq a:req, b, c
+ trycompare vgoto_if, TRUE, \a, \b, \c
.endm
- .macro vgoto_if_ne dest:req
- vgoto_if FALSE, \dest
+ .macro vgoto_if_ne a:req, b, c
+ trycompare vgoto_if, FALSE, \a, \b, \c
.endm
.macro vgoto_if_unset flag:req, dest:req
@@ -1753,32 +1874,42 @@
MSGBOX_YESNO = 5
MSGBOX_AUTOCLOSE = 6
MSGBOX_GETPOINTS = 9
+ MSGBOX_POKENAV = 10
YES = 1
NO = 0
+ @ Buffers the given text and calls the relevant standard message script (see gStdScripts).
.macro msgbox text:req, type=MSGBOX_DEFAULT
loadword 0, \text
callstd \type
.endm
+ @ Gives 'amount' of the specified 'item' to the player and prints a message with fanfare.
+ @ If the player doesn't have space for all the items then as many are added as possible, the
+ @ message indicates there is no room, and VAR_RESULT is set to FALSE.
+ @ Otherwise VAR_RESULT is set to TRUE, and the message indicates they have received the item(s).
.macro giveitem item:req, amount=1
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
callstd STD_OBTAIN_ITEM
.endm
+ @ For picking up items in the overworld. Similar to giveitem, but with different language and
+ @ sets the flag of the last-talked to object (the item the player picked up).
.macro finditem item:req, amount=1
setorcopyvar VAR_0x8000, \item
setorcopyvar VAR_0x8001, \amount
callstd STD_FIND_ITEM
.endm
+ @ Equivalent to giveitem but for a single decoration.
.macro givedecoration decoration:req
setorcopyvar VAR_0x8000, \decoration
callstd STD_OBTAIN_DECORATION
.endm
+ @ Registers the specified trainer in Match Call and plays a fanfare with a notification message.
.macro register_matchcall trainer:req
setvar VAR_0x8004, \trainer
special SetMatchCallRegisteredFlag
@@ -1786,6 +1917,7 @@
callstd STD_REGISTER_MATCH_CALL
.endm
+ @ Does a sparkle field effect (e.g. when the Trick Master is hiding) at the given coordinates.
.macro dofieldeffectsparkle x:req, y:req, priority:req
setfieldeffectargument 0, \x
setfieldeffectargument 1, \y
@@ -1793,8 +1925,17 @@
dofieldeffect FLDEFF_SPARKLE
.endm
+ @ Prints a braille message, waits for an A or B press, then closes the message.
.macro braillemsgbox text:req
braillemessage \text
waitbuttonpress
closebraillemessage
.endm
+
+ @ Creates an "event legal" Pokémon for an encounter
+ .macro seteventmon species:req, level:req, item=ITEM_NONE
+ setvar VAR_0x8004, \species
+ setvar VAR_0x8005, \level
+ setvar VAR_0x8006, \item
+ special CreateEventLegalEnemyMon
+ .endm
diff --git a/asm/macros/field_effect_script.inc b/asm/macros/field_effect_script.inc
index 597b89acbb..38f7e31750 100644
--- a/asm/macros/field_effect_script.inc
+++ b/asm/macros/field_effect_script.inc
@@ -1,19 +1,21 @@
- .macro field_eff_loadtiles address
+@ The first .byte argument of each macro below is an index into gFieldEffectScriptFuncs
+
+ .macro field_eff_loadtiles address:req
.byte 0
.4byte \address
.endm
- .macro field_eff_loadfadedpal address
+ .macro field_eff_loadfadedpal address:req
.byte 1
.4byte \address
.endm
- .macro field_eff_loadpal address
+ .macro field_eff_loadpal address:req
.byte 2
.4byte \address
.endm
- .macro field_eff_callnative address
+ .macro field_eff_callnative address:req
.byte 3
.4byte \address
.endm
@@ -22,20 +24,20 @@
.byte 4
.endm
- .macro field_eff_loadgfx_callnative tiles_address, palette_address, function_address
+ .macro field_eff_loadgfx_callnative tiles_address:req, palette_address:req, function_address:req
.byte 5
.4byte \tiles_address
.4byte \palette_address
.4byte \function_address
.endm
- .macro field_eff_loadtiles_callnative tiles_address, function_address
+ .macro field_eff_loadtiles_callnative tiles_address:req, function_address:req
.byte 6
.4byte \tiles_address
.4byte \function_address
.endm
- .macro field_eff_loadfadedpal_callnative palette_address, function_address
+ .macro field_eff_loadfadedpal_callnative palette_address:req, function_address:req
.byte 7
.4byte \palette_address
.4byte \function_address
diff --git a/asm/macros/function.inc b/asm/macros/function.inc
index b109595dfd..0f4e6720c9 100644
--- a/asm/macros/function.inc
+++ b/asm/macros/function.inc
@@ -1,15 +1,15 @@
- .macro arm_func_start name
+ .macro arm_func_start name:req
.align 2, 0
.global \name
.arm
.type \name, %function
.endm
- .macro arm_func_end name
+ .macro arm_func_end name:req
.size \name, .-\name
.endm
- .macro thumb_func_start name
+ .macro thumb_func_start name:req
.align 2, 0
.global \name
.thumb
@@ -17,13 +17,13 @@
.type \name, %function
.endm
- .macro non_word_aligned_thumb_func_start name
+ .macro non_word_aligned_thumb_func_start name:req
.global \name
.thumb
.thumb_func
.type \name, %function
.endm
- .macro thumb_func_end name
+ .macro thumb_func_end name:req
.size \name, .-\name
.endm
diff --git a/asm/macros/m4a.inc b/asm/macros/m4a.inc
index 6c5abc09b5..b22da3d634 100644
--- a/asm/macros/m4a.inc
+++ b/asm/macros/m4a.inc
@@ -1,13 +1,13 @@
- .macro song label, music_player, unknown
+ .macro song label:req, music_player:req, unknown:req
.4byte \label
.2byte \music_player
.2byte \unknown
.endm
- .macro music_player info_struct, track_struct, unknown_1, unknown_2
+ .macro music_player info_struct:req, track_struct:req, num_tracks:req, unknown:req
.4byte \info_struct
.4byte \track_struct
- .byte \unknown_1
- .space 1
- .2byte \unknown_2
+ .byte \num_tracks
+ .space 1 @ Padding
+ .2byte \unknown
.endm
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 74ed069179..662257e416 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -1,83 +1,110 @@
- .macro map map_id
+@ Most of the macros in this file are for arranging map event data, and are output by mapjson using data from each map's JSON file.
+
+ @ Takes a MAP constant and outputs the map group and map number as separate bytes
+ .macro map map_id:req
.byte \map_id >> 8 @ map group
.byte \map_id & 0xFF @ map num
.endm
- .macro map_script type, address
+ @ Defines a map script. 'type' is any MAP_SCRIPT_* constant (see include/constants/map_scripts.h)
+ .macro map_script type:req, script:req
.byte \type
- .4byte \address
+ .4byte \script
.endm
- .macro map_script_2 word1, word2, address
- .2byte \word1
- .2byte \word2
- .4byte \address
+ @ Defines an entry in a map script table (for either ON_WARP_INTO_MAP_TABLE or ON_FRAME_TABLE)
+ .macro map_script_2 var:req, compare:req, script:req
+ .2byte \var
+ .2byte \compare
+ .4byte \script
.endm
- .macro object_event index:req, gfx:req, replacement:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
- .byte \index, \gfx, \replacement, 0
- .2byte \x
- .2byte \y
- .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0
- .2byte \trainer_type, \sight_radius_tree_etc
+ @ Defines an object event template for map data. Mirrors the struct layout of ObjectEventTemplate in include/global.fieldmap.h
+ .macro object_event index:req, gfx:req, inConnection:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
+ .byte \index
+ .byte \gfx
+ .byte \inConnection
+ .space 1 @ Padding
+ .2byte \x, \y
+ .byte \elevation
+ .byte \movement_type
+ .byte ((\y_radius << 4) | \x_radius)
+ .space 1 @ Padding
+ .2byte \trainer_type
+ .2byte \sight_radius_tree_etc
.4byte \script
.2byte \event_flag
- .2byte 0
+ .space 2 @ Padding
inc _num_npcs
.endm
- .macro warp_def x, y, byte, warp, map_id
+ @ Defines a warp event for map data. Mirrors the struct layout of WarpEvent in include/global.fieldmap.h
+ .macro warp_def x:req, y:req, elevation:req, warpId:req, map_id:req
.2byte \x, \y
- .byte \byte, \warp
+ .byte \elevation
+ .byte \warpId
.byte \map_id & 0xFF @ map num
.byte \map_id >> 8 @ map group
inc _num_warps
.endm
- .macro coord_event x, y, elevation, trigger, index, script
+ @ Defines a coord event for map data. Mirrors the struct layout of CoordEvent in include/global.fieldmap.h
+ .macro coord_event x:req, y:req, elevation:req, trigger:req, index:req, script:req
.2byte \x, \y
- .byte \elevation, 0
- .2byte \trigger, \index, 0
+ .byte \elevation
+ .space 1 @ Padding
+ .2byte \trigger
+ .2byte \index
+ .space 2 @ Padding
.4byte \script
inc _num_traps
.endm
- .macro coord_weather_event x, y, elevation, weather
- .2byte \x, \y
- .byte \elevation, 0
- .2byte \weather
- .2byte 0, 0
- .4byte 0
- inc _num_traps
+ @ Defines a weather coord event for map data. Any coord event is treated as a weather coord event if its script is NULL
+ .macro coord_weather_event x:req, y:req, elevation:req, weather:req
+ coord_event \x, \y, \elevation, \weather, 0, NULL
.endm
- .macro bg_event x, y, elevation, kind, arg6, arg7
+ @ Defines a generic background event for map data. Mirrors the struct layout of BgEvent in include/global.fieldmap.h
+ @ 'kind' is any BG_EVENT_* constant (see include/constants/event_bg.h).
+ @ 'arg6' and 'arg7' are used differently depending on the bg event type. See macros below
+ .macro bg_event x:req, y:req, elevation:req, kind:req, arg6:req, arg7
.2byte \x, \y
- .byte \elevation, \kind
- .2byte 0
+ .byte \elevation
+ .byte \kind
+ .space 2 @ Padding
.if \kind != BG_EVENT_HIDDEN_ITEM
- .4byte \arg6
+ .4byte \arg6
.else
- .2byte \arg6
- .2byte \arg7
+ .2byte \arg6
+ .2byte \arg7
.endif
inc _num_signs
.endm
- .macro bg_hidden_item_event x, y, height, item, flag
- bg_event \x, \y, \height, BG_EVENT_HIDDEN_ITEM, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START)
+ @ Defines a background sign event for map data. 'facing_dir' is any of the BG_EVENT_PLAYER_FACING_* constants (see include/constants/event_bg.h)
+ .macro bg_sign_event x:req, y:req, elevation:req, facing_dir:req, script:req
+ bg_event \x, \y, \elevation, \facing_dir, \script
.endm
- .macro bg_secret_base_event x, y, height, secret_base_id
- bg_event \x, \y, \height, BG_EVENT_SECRET_BASE, \secret_base_id
+ @ Defines a background hidden item event for map data
+ .macro bg_hidden_item_event x:req, y:req, elevation:req, item:req, flag:req
+ bg_event \x, \y, \elevation, BG_EVENT_HIDDEN_ITEM, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START)
.endm
- .macro map_events npcs, warps, traps, signs
+ @ Defines a background secret base event for map data
+ .macro bg_secret_base_event x:req, y:req, elevation:req, secret_base_id:req
+ bg_event \x, \y, \elevation, BG_EVENT_SECRET_BASE, \secret_base_id
+ .endm
+
+ @ Defines the table of event data for a map. Mirrors the struct layout of MapEvents in include/global.fieldmap.h
+ .macro map_events npcs:req, warps:req, traps:req, signs:req
.byte _num_npcs, _num_warps, _num_traps, _num_signs
.4byte \npcs, \warps, \traps, \signs
reset_map_events
.endm
+ @ Resets the event counters used to track how many events a map has. Run when the events table is created by map_events
.macro reset_map_events
.set _num_npcs, 0
.set _num_warps, 0
@@ -85,23 +112,29 @@
.set _num_signs, 0
.endm
+ @ Initialize the event counters for the first map
reset_map_events
- .equiv connection_down, 1
- .equiv connection_up, 2
- .equiv connection_left, 3
- .equiv connection_right, 4
- .equiv connection_dive, 5
- .equiv connection_emerge, 6
+ @ Directions for connecting maps
+ @ The map.json files will only have e.g. "down" as direction data, and this will be appended to "connection_" by the connection macro
+ .equiv connection_down, CONNECTION_SOUTH
+ .equiv connection_up, CONNECTION_NORTH
+ .equiv connection_left, CONNECTION_WEST
+ .equiv connection_right, CONNECTION_EAST
+ .equiv connection_dive, CONNECTION_DIVE
+ .equiv connection_emerge, CONNECTION_EMERGE
- .macro connection direction, offset, map
- .4byte connection_\direction
+ @ Defines a map connection. Mirrors the struct layout of MapConnection in include/global.fieldmap.h
+ .macro connection direction:req, offset:req, map:req
+ .byte connection_\direction
+ .space 3 @ Padding
.4byte \offset
map \map
- .space 2
+ .space 2 @ Padding
.endm
+ @ Defines the flags for a map header. Mirrors the layout of the bitfield in struct MapHeader in include/global.fieldmap.h
.macro map_header_flags allow_cycling:req, allow_escaping:req, allow_running:req, show_map_name:req
.byte ((\show_map_name & 1) << 3) | ((\allow_running & 1) << 2) | ((\allow_escaping & 1) << 1) | \allow_cycling
.endm
diff --git a/asm/macros/pokemon_data.inc b/asm/macros/pokemon_data.inc
deleted file mode 100644
index ce8ef98ac3..0000000000
--- a/asm/macros/pokemon_data.inc
+++ /dev/null
@@ -1,56 +0,0 @@
- .macro pokedex_entry height, width, text_pointer, pokemon_scale, pokemon_offset, trainer_scale, trainer_offset
- .2byte \height @ in decimeters
- .2byte \width @ in hectograms
- .4byte \text_pointer
- .2byte 0 @ unused
- .2byte \pokemon_scale
- .2byte \pokemon_offset
- .2byte \trainer_scale
- .2byte \trainer_offset
- .2byte 0 @ padding
- .endm
-
- .macro base_stats hp, attack, defense, speed, sp_attack, sp_defense
- .byte \hp
- .byte \attack
- .byte \defense
- .byte \speed
- .byte \sp_attack
- .byte \sp_defense
- .endm
-
- .macro ev_yield hp, attack, defense, speed, sp_attack, sp_defense
- .2byte (\sp_defense << 10) | (\sp_attack << 8) | (\speed << 6) | (\defense << 4) | (\attack << 2) | \hp
- .endm
-
- .macro level_up_move level, move
- .2byte (\level << 9) | \move
- .endm
-
- .macro evo_entry method, parameter, target_species
- .2byte \method
- .2byte \parameter
- .2byte \target_species
- .2byte 0 @ padding
- .endm
-
- .macro empty_evo_entries count
- .fill 8 * \count, 1, 0
- .endm
-
- .macro egg_moves_begin species
- .2byte 20000 + \species
- .endm
-
-@ If the min level equals the max level, only one level argument is needed.
- .macro wild_mon species, min_level, max_level
- .byte \min_level
-
- .ifb \max_level
- .byte \min_level
- .else
- .byte \max_level
- .endif
-
- .2byte \species
- .endm
diff --git a/asm/macros/window.inc b/asm/macros/window.inc
deleted file mode 100644
index a91782bbf8..0000000000
--- a/asm/macros/window.inc
+++ /dev/null
@@ -1,35 +0,0 @@
- .macro window_template bg_id, x, y, width, height, palette, vram_tile_offset
- .byte \bg_id
- .byte \x
- .byte \y
- .byte \width
- .byte \height
- .byte \palette
- .2byte \vram_tile_offset
- .endm
-
- .macro null_window_template
- window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
- .endm
-
- .macro glyph_width_func font_id, func
- .4byte \font_id
- .4byte \func
- .endm
-
- .macro keypad_icon tile_offset, width, height
- .2byte \tile_offset
- .byte \width
- .byte \height
- .endm
-
- .macro font_info func, max_glyph_width, glyph_height, glyph_spacing, line_spacing, text_color, shadow_color, bg_color
- .4byte \func
- .byte \max_glyph_width
- .byte \glyph_height
- .byte \glyph_spacing
- .byte \line_spacing
- .byte \text_color << 4 @ low nybble seems unused
- .byte (\shadow_color << 4) | \bg_color
- .2byte 0 @ padding
- .endm
diff --git a/berry_fix/Makefile b/berry_fix/Makefile
deleted file mode 100644
index 464e5f9e9c..0000000000
--- a/berry_fix/Makefile
+++ /dev/null
@@ -1,203 +0,0 @@
-TOOLCHAIN := $(DEVKITARM)
-COMPARE ?= 0
-
-# 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
-endif
-
-PREFIX := arm-none-eabi-
-OBJCOPY := $(PREFIX)objcopy
-AS := $(PREFIX)as
-LD := $(PREFIX)ld
-
-# note: the makefile must be set up so MODERNCC is never called
-# if MODERN=0
-MODERNCC := $(PREFIX)gcc
-
-ifeq ($(OS),Windows_NT)
-EXE := .exe
-else
-EXE :=
-endif
-
-# use arm-none-eabi-cpp for macOS
-# as macOS's default compiler is clang
-# and clang's preprocessor will warn on \u
-# when preprocessing asm files, expecting a unicode literal
-# we can't unconditionally use arm-none-eabi-cpp
-# as installations which install binutils-arm-none-eabi
-# don't come with it
-ifneq ($(MODERN),1)
- ifeq ($(shell uname -s),Darwin)
- CPP := $(PREFIX)cpp
- else
- CPP := $(CC) -E
- endif
-else
- CPP := $(PREFIX)cpp
-endif
-
-GAME_CODE := AGBJ
-MAKER_CODE := 01
-REVISION := 0
-
-SHELL := /bin/bash -o pipefail
-
-CPPFLAGS := -I ../tools/agbcc/include -I ../tools/agbcc -iquote include -nostdinc -undef
-
-ROM := berry_fix.gba
-OBJ_DIR := build
-CC1 := ../tools/agbcc/bin/agbcc$(EXE)
-override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
-
-
-ELF = $(ROM:.gba=.elf)
-MAP = $(ROM:.gba=.map)
-
-C_SUBDIR = src
-ASM_SUBDIR = asm
-DATA_ASM_SUBDIR = data
-
-C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
-ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
-DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
-
-ASFLAGS := -mcpu=arm7tdmi
-
-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)
-
-# Clear the default suffixes
-.SUFFIXES:
-# Don't delete intermediate files
-.SECONDARY:
-# 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 payload
-
-C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
-C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
-
-ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s)
-ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
-
-DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s)
-DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS))
-
-SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s)
-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) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
-# OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
-
-SUBDIRS := $(sort $(dir $(OBJS)))
-
-$(shell mkdir -p $(SUBDIRS))
-
-all: payload rom
- @:
-
-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: ; @$(MAKE) COMPARE=1
-
-clean: tidy
- rm -f sound/direct_sound_samples/*.bin
- rm -f $(SONG_OBJS) $(MID_OBJS) $(MID_SUBDIR)/*.s
- find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
- make -C payload clean
-
-tidy:
- rm -f $(ROM) $(ELF) $(MAP)
- rm -r build/*
- make -C payload tidy
-
-%.s: ;
-%.png: ;
-%.pal: ;
-%.aif: ;
-
-%.1bpp: %.png ; $(GFX) $< $@
-%.4bpp: %.png ; $(GFX) $< $@
-%.8bpp: %.png ; $(GFX) $< $@
-%.gbapal: %.pal ; $(GFX) $< $@
-%.gbapal: %.png ; $(GFX) $< $@
-%.lz: % ; $(GFX) $< $@
-%.rl: % ; $(GFX) $< $@
-
-
-ifeq ($(NODEP),1)
-$(C_BUILDDIR)/%.o: c_dep :=
-else
-$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c)
-endif
-
-$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
- @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i
- @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s
- $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
-
-ifeq ($(NODEP),1)
-$(ASM_BUILDDIR)/%.o: asm_dep :=
-else
-$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s)
-endif
-
-$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep)
- $(AS) $(ASFLAGS) -o $@ $<
-
-ifeq ($(NODEP),1)
-$(DATA_ASM_BUILDDIR)/%.o: data_dep :=
-else
-$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
-endif
-
-payload:
- @$(MAKE) -C payload COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
-
-payload/payload.gba: payload
-
-data/payload.gba.lz: payload/payload.gba
- $(GFX) $< $@ -search 1
-
-$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
- $(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@
-
-$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
- $(AS) $(ASFLAGS) -I sound -o $@ $<
-
-$(ELF): ld_script.txt $(OBJS)
- cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ../ld_script.txt -o ../$@
-
-$(ROM): $(ELF)
- $(OBJCOPY) -O binary $< $@
- $(FIX) $@ -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
-
diff --git a/berry_fix/asm/berry_fix_header.inc b/berry_fix/asm/berry_fix_header.inc
deleted file mode 100644
index 5167d2ff03..0000000000
--- a/berry_fix/asm/berry_fix_header.inc
+++ /dev/null
@@ -1,35 +0,0 @@
- .global BerryFixMBHeaderNintendoLogo
-BerryFixMBHeaderNintendoLogo:
- .space 156
-
-BerryFixMBHeaderGameTitle:
- .space 12
-
- .global BerryFixMBHeaderGameCode
-BerryFixMBHeaderGameCode:
- .space 4
-
-BerryFixMBHeaderMakerCode:
- .space 2
-
-BerryFixMBHeaderMagic:
- .byte 0
-
-BerryFixMBHeaderMainUnitCode:
- .byte 0
-
-BerryFixMBHeaderDeviceType:
- .byte 0
-
-BerryFixMBHeaderReserved1:
- .space 7
-
- .global BerryFixMBHeaderSoftwareVersion
-BerryFixMBHeaderSoftwareVersion:
- .byte 0
-
-BerryFixMBHeaderChecksum:
- .byte 0
-
-BerryFixMBHeaderReserved2:
- .space 2
diff --git a/berry_fix/asm/loader.s b/berry_fix/asm/loader.s
deleted file mode 100644
index a780140785..0000000000
--- a/berry_fix/asm/loader.s
+++ /dev/null
@@ -1,119 +0,0 @@
- .include "../asm/macros/asm.inc"
- .include "../asm/macros/function.inc"
- .include "../constants/gba_constants.inc"
-
- .set SIO_ERROR, 0x0040
- .set SIO_MULTI_BUSY, 0x0080
-
- .set EWRAM_ORIG, 0x02000000
- .set gCode, 0x02010000
- .set PROG_ORIG, 0x00008000
-
- .syntax unified
-
- .text
-
- arm_func_start _start
-_start: @ 0
- b _entry
- arm_func_end _start
-
- .include "asm/berry_fix_header.inc"
-
-@ C0
- .word 0
-
- .global _GPIOPortData
-_GPIOPortData: @ C4
- .2byte 0
-
- .global _GPIOPortDirection
-_GPIOPortDirection: @ C6
- .2byte 0
-
- .global _GPIOPortReadEnable
-_GPIOPortReadEnable: @ C8
- .2byte 0
-
-@ CA
- .2byte 0
-
-@ CC
- .space 0x34
-
- arm_func_start _entry
-_entry: @ 100
- b _send
- arm_func_end _entry
-
- .space 0x1C
-
- arm_func_start _recv
-_recv:
- @ Waits until link cable is no longer busy.
- @ Returns nz if an error has occurred
- @ Otherwise, returns the received short in r1.
- @ Preserves r0
-_120:
- ldrh r1, [r0, 0x8] @ SIOCNT
- tst r1, SIO_MULTI_BUSY
- beq _120
-_12c:
- ldrh r1, [r0, 0x8] @ SIOCNT
- tst r1, SIO_MULTI_BUSY
- bne _12c
- ldrh r1, [r0, 0x8] @ SIOCNT
- tst r1, SIO_ERROR
- bxne lr
- ldrh r1, [r0] @ SIOMULTI0
- bx lr
- arm_func_end _recv
-
- arm_func_start _send
-_send: @ 14c
- ldr r0, =REG_SIOMULTI0
-_150:
- bl _recv
- bne _150
- mov r2, #0
- strh r2, [r0, 0xa] @ SIOMLT_SEND
- cmp r1, #0
- bne _150
- mov r2, 0x8000
-_16c:
- mov r1, #0
-_170:
- strh r1, [r0, 0xa] @ SIOMLT_SEND
- bl _recv
- bne _150
- cmp r1, r2
- bne _16c
- lsr r2, #5
- cmp r1, #0
- bne _170
- ldr r3, =BerryFixMBHeaderGameCode
- ldrh r2, [r3]
- strh r2, [r0, 0xa] @ SIOMLT_SEND
- bl _recv
-_1a0:
- bne _1a0
- cmp r1, r2
- bne _1a0
- ldrh r2, [r3, 0x2]
- strh r2, [r0, 0xa] @ SIOMLT_SEND
- bl _recv
- bne _1a0
- cmp r1, r2
- bne _1a0
- mov r1, #0
- strh r1, [r0, 0xa] @ SIOMLT_SEND
- ldr r0, =_data_2f0
- ldr r1, =gCode
- swi 0x11 << 16
- ldr lr, =gCode
- bx lr
- .pool
- arm_func_end _send
- @ 1f0
-
- .align 2, 0 @ don't pad with nop
diff --git a/berry_fix/charmap.txt b/berry_fix/charmap.txt
deleted file mode 100644
index 1c143ada4f..0000000000
--- a/berry_fix/charmap.txt
+++ /dev/null
@@ -1,1067 +0,0 @@
-' ' = 00
-'À' = 01
-'Á' = 02
-'Â' = 03
-'Ç' = 04
-'È' = 05
-'É' = 06
-'Ê' = 07
-'Ë' = 08
-'Ì' = 09
-'Î' = 0B
-'Ï' = 0C
-'Ò' = 0D
-'Ó' = 0E
-'Ô' = 0F
-'Œ' = 10
-'Ù' = 11
-'Ú' = 12
-'Û' = 13
-'Ñ' = 14
-'ß' = 15
-'à' = 16
-'á' = 17
-'ç' = 19
-'è' = 1A
-'é' = 1B
-'ê' = 1C
-'ë' = 1D
-'ì' = 1E
-'î' = 20
-'ï' = 21
-'ò' = 22
-'ó' = 23
-'ô' = 24
-'œ' = 25
-'ù' = 26
-'ú' = 27
-'û' = 28
-'ñ' = 29
-'º' = 2A
-'ª' = 2B
-SUPER_ER = 2C
-'&' = 2D
-'+' = 2E
-LV = 34
-'=' = 35
-';' = 36
-'¿' = 51
-'¡' = 52
-PK = 53
-PKMN = 53 54
-POKEBLOCK = 55 56 57 58 59
-'Í' = 5A
-'%' = 5B
-'(' = 5C
-')' = 5D
-'â' = 68
-'í' = 6F
-UNK_SPACER = 77
-UP_ARROW = 79
-DOWN_ARROW = 7A
-LEFT_ARROW = 7B
-RIGHT_ARROW = 7C
-'0' = A1
-'1' = A2
-'2' = A3
-'3' = A4
-'4' = A5
-'5' = A6
-'6' = A7
-'7' = A8
-'8' = A9
-'9' = AA
-'!' = AB
-'?' = AC
-'.' = AD
-'-' = AE
-'·' = AF
-'…' = B0
-'“' = B1
-'”' = B2
-'‘' = B3
-'’' = B4
-'♂' = B5
-'♀' = B6
-'¥' = B7
-',' = B8
-'×' = B9
-'/' = BA
-'A' = BB
-'B' = BC
-'C' = BD
-'D' = BE
-'E' = BF
-'F' = C0
-'G' = C1
-'H' = C2
-'I' = C3
-'J' = C4
-'K' = C5
-'L' = C6
-'M' = C7
-'N' = C8
-'O' = C9
-'P' = CA
-'Q' = CB
-'R' = CC
-'S' = CD
-'T' = CE
-'U' = CF
-'V' = D0
-'W' = D1
-'X' = D2
-'Y' = D3
-'Z' = D4
-'a' = D5
-'b' = D6
-'c' = D7
-'d' = D8
-'e' = D9
-'f' = DA
-'g' = DB
-'h' = DC
-'i' = DD
-'j' = DE
-'k' = DF
-'l' = E0
-'m' = E1
-'n' = E2
-'o' = E3
-'p' = E4
-'q' = E5
-'r' = E6
-'s' = E7
-'t' = E8
-'u' = E9
-'v' = EA
-'w' = EB
-'x' = EC
-'y' = ED
-'z' = EE
-'▶' = EF
-':' = F0
-'Ä' = F1
-'Ö' = F2
-'Ü' = F3
-'ä' = F4
-'ö' = F5
-'ü' = F6
-TALL_PLUS = FC 0C FB
-'$' = FF
-
-@ Hiragana
-'あ' = 01
-'い' = 02
-'う' = 03
-'え' = 04
-'お' = 05
-'か' = 06
-'き' = 07
-'く' = 08
-'け' = 09
-'こ' = 0A
-'さ' = 0B
-'し' = 0C
-'す' = 0D
-'せ' = 0E
-'そ' = 0F
-'た' = 10
-'ち' = 11
-'つ' = 12
-'て' = 13
-'と' = 14
-'な' = 15
-'に' = 16
-'ぬ' = 17
-'ね' = 18
-'の' = 19
-'は' = 1A
-'ひ' = 1B
-'ふ' = 1C
-'へ' = 1D
-'ほ' = 1E
-'ま' = 1F
-'み' = 20
-'む' = 21
-'め' = 22
-'も' = 23
-'や' = 24
-'ゆ' = 25
-'よ' = 26
-'ら' = 27
-'り' = 28
-'る' = 29
-'れ' = 2A
-'ろ' = 2B
-'わ' = 2C
-'を' = 2D
-'ん' = 2E
-'ぁ' = 2F
-'ぃ' = 30
-'ぅ' = 31
-'ぇ' = 32
-'ぉ' = 33
-'ゃ' = 34
-'ゅ' = 35
-'ょ' = 36
-'が' = 37
-'ぎ' = 38
-'ぐ' = 39
-'げ' = 3A
-'ご' = 3B
-'ざ' = 3C
-'じ' = 3D
-'ず' = 3E
-'ぜ' = 3F
-'ぞ' = 40
-'だ' = 41
-'ぢ' = 42
-'づ' = 43
-'で' = 44
-'ど' = 45
-'ば' = 46
-'び' = 47
-'ぶ' = 48
-'べ' = 49
-'ぼ' = 4A
-'ぱ' = 4B
-'ぴ' = 4C
-'ぷ' = 4D
-'ぺ' = 4E
-'ぽ' = 4F
-'っ' = 50
-
-@ Katakana
-'ア' = 51
-'イ' = 52
-'ウ' = 53
-'エ' = 54
-'オ' = 55
-'カ' = 56
-'キ' = 57
-'ク' = 58
-'ケ' = 59
-'コ' = 5A
-'サ' = 5B
-'シ' = 5C
-'ス' = 5D
-'セ' = 5E
-'ソ' = 5F
-'タ' = 60
-'チ' = 61
-'ツ' = 62
-'テ' = 63
-'ト' = 64
-'ナ' = 65
-'ニ' = 66
-'ヌ' = 67
-'ネ' = 68
-'ノ' = 69
-'ハ' = 6A
-'ヒ' = 6B
-'フ' = 6C
-'ヘ' = 6D
-'ホ' = 6E
-'マ' = 6F
-'ミ' = 70
-'ム' = 71
-'メ' = 72
-'モ' = 73
-'ヤ' = 74
-'ユ' = 75
-'ヨ' = 76
-'ラ' = 77
-'リ' = 78
-'ル' = 79
-'レ' = 7A
-'ロ' = 7B
-'ワ' = 7C
-'ヲ' = 7D
-'ン' = 7E
-'ァ' = 7F
-'ィ' = 80
-'ゥ' = 81
-'ェ' = 82
-'ォ' = 83
-'ャ' = 84
-'ュ' = 85
-'ョ' = 86
-'ガ' = 87
-'ギ' = 88
-'グ' = 89
-'ゲ' = 8A
-'ゴ' = 8B
-'ザ' = 8C
-'ジ' = 8D
-'ズ' = 8E
-'ゼ' = 8F
-'ゾ' = 90
-'ダ' = 91
-'ヂ' = 92
-'ヅ' = 93
-'デ' = 94
-'ド' = 95
-'バ' = 96
-'ビ' = 97
-'ブ' = 98
-'ベ' = 99
-'ボ' = 9A
-'パ' = 9B
-'ピ' = 9C
-'プ' = 9D
-'ペ' = 9E
-'ポ' = 9F
-'ッ' = A0
-
-@ Japanese punctuation
-' ' = 00
-'!' = AB
-'?' = AC
-'。' = AD
-'ー' = AE
-'⋯' = B0
-
-STRING = FD
-
-@ string placeholders
-PLAYER = FD 01
-STR_VAR_1 = FD 02
-STR_VAR_2 = FD 03
-STR_VAR_3 = FD 04
-KUN = FD 05
-RIVAL = FD 06
-@ version-dependent strings (originally made for Ruby/Sapphire differences)
-@ Emerald uses the Sapphire strings (except for VERSION).
-VERSION = FD 07 @ "EMERALD"
-AQUA = FD 08
-MAGMA = FD 09
-ARCHIE = FD 0A
-MAXIE = FD 0B
-KYOGRE = FD 0C
-GROUDON = FD 0D
-
-@ battle string placeholders
-
-B_BUFF1 = FD 00
-B_BUFF2 = FD 01
-B_COPY_VAR_1 = FD 02
-B_COPY_VAR_2 = FD 03
-B_COPY_VAR_3 = FD 04
-B_PLAYER_MON1_NAME = FD 05
-B_OPPONENT_MON1_NAME = FD 06
-B_PLAYER_MON2_NAME = FD 07
-B_OPPONENT_MON2_NAME = FD 08
-B_LINK_PLAYER_MON1_NAME = FD 09
-B_LINK_OPPONENT_MON1_NAME = FD 0A
-B_LINK_PLAYER_MON2_NAME = FD 0B
-B_LINK_OPPONENT_MON2_NAME = FD 0C
-B_ATK_NAME_WITH_PREFIX_MON1 = FD 0D
-B_ATK_PARTNER_NAME = FD 0E
-B_ATK_NAME_WITH_PREFIX = FD 0F
-B_DEF_NAME_WITH_PREFIX = FD 10
-B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler
-B_ACTIVE_NAME_WITH_PREFIX = FD 12
-B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13
-B_CURRENT_MOVE = FD 14
-B_LAST_MOVE = FD 15
-B_LAST_ITEM = FD 16
-B_LAST_ABILITY = FD 17
-B_ATK_ABILITY = FD 18
-B_DEF_ABILITY = FD 19
-B_SCR_ACTIVE_ABILITY = FD 1A
-B_EFF_ABILITY = FD 1B
-B_TRAINER1_CLASS = FD 1C
-B_TRAINER1_NAME = FD 1D
-B_LINK_PLAYER_NAME = FD 1E
-B_LINK_PARTNER_NAME = FD 1F
-B_LINK_OPPONENT1_NAME = FD 20
-B_LINK_OPPONENT2_NAME = FD 21
-B_LINK_SCR_TRAINER_NAME = FD 22
-B_PLAYER_NAME = FD 23
-B_TRAINER1_LOSE_TEXT = FD 24
-B_TRAINER1_WIN_TEXT = FD 25
-B_26 = FD 26
-B_PC_CREATOR_NAME = FD 27
-B_ATK_PREFIX1 = FD 28
-B_DEF_PREFIX1 = FD 29
-B_ATK_PREFIX2 = FD 2A
-B_DEF_PREFIX2 = FD 2B
-B_ATK_PREFIX3 = FD 2C
-B_DEF_PREFIX3 = FD 2D
-B_TRAINER2_CLASS = FD 2E
-B_TRAINER2_NAME = FD 2F
-B_TRAINER2_LOSE_TEXT = FD 30
-B_TRAINER2_WIN_TEXT = FD 31
-B_PARTNER_CLASS = FD 32
-B_PARTNER_NAME = FD 33
-B_BUFF3 = FD 34
-
-@ indicates the end of a town/city name (before " TOWN" or " CITY")
-NAME_END = FC 00
-
-@ special 0xF7 character
-SPECIAL_F7 = F7
-
-@ more text functions
-
-COLOR = FC 01 @ use a color listed below right after
-HIGHLIGHT = FC 02 @ same as fc 01
-SHADOW = FC 03 @ same as fc 01
-COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
-PALETTE = FC 05 @ used in credits
-SIZE = FC 06 @ note that anything other than "SMALL" is invalid
-UNKNOWN_7 = FC 07
-PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
-PAUSE_UNTIL_PRESS = FC 09
-WAIT_SE = FC 0A
-PLAY_BGM = FC 0B
-ESCAPE = FC 0C
-SHIFT_TEXT = FC 0D
-UNKNOWN_E = FC 0E
-UNKNOWN_F = FC 0F
-PLAY_SE = FC 10
-CLEAR = FC 11
-SKIP = FC 12
-CLEAR_TO = FC 13
-UNKNOWN_14 = FC 14
-JPN = FC 15
-ENG = FC 16
-PAUSE_MUSIC = FC 17
-RESUME_MUSIC = FC 18
-
-@ colors
-
-TRANSPARENT = 00
-WHITE = 01
-DARK_GRAY = 02
-LIGHT_GRAY = 03
-RED = 04
-LIGHT_RED = 05
-GREEN = 06
-LIGHT_GREEN = 07
-BLUE = 08
-LIGHT_BLUE = 09
-@ these next colors can be set to anything arbitrary at runtime
-@ usually though they'll have the textbox border colors as described below
-DYNAMIC_COLOR1 = 0A @ white
-DYNAMIC_COLOR2 = 0B @ white with a tinge of green
-DYNAMIC_COLOR3 = 0C @ white 2
-DYNAMIC_COLOR4 = 0D @ aquamarine
-DYNAMIC_COLOR5 = 0E @ blue-green
-DYNAMIC_COLOR6 = 0F @ cerulean
-
-@ sound and music
-
-MUS_DUMMY = 00 00
-SE_USE_ITEM = 01 00
-SE_PC_LOGIN = 02 00
-SE_PC_OFF = 03 00
-SE_PC_ON = 04 00
-SE_SELECT = 05 00
-SE_WIN_OPEN = 06 00
-SE_WALL_HIT = 07 00
-SE_DOOR = 08 00
-SE_EXIT = 09 00
-SE_LEDGE = 0A 00
-SE_BIKE_BELL = 0B 00
-SE_NOT_EFFECTIVE = 0C 00
-SE_EFFECTIVE = 0D 00
-SE_SUPER_EFFECTIVE = 0E 00
-SE_BALL_OPEN = 0F 00
-SE_FAINT = 10 00
-SE_FLEE = 11 00
-SE_SLIDING_DOOR = 12 00
-SE_SHIP = 13 00
-SE_BANG = 14 00
-SE_PIN = 15 00
-SE_BOO = 16 00
-SE_BALL = 17 00
-SE_CONTEST_PLACE = 18 00
-SE_A = 19 00
-SE_I = 1A 00
-SE_U = 1B 00
-SE_E = 1C 00
-SE_O = 1D 00
-SE_N = 1E 00
-SE_SUCCESS = 1F 00
-SE_FAILURE = 20 00
-SE_EXP = 21 00
-SE_BIKE_HOP = 22 00
-SE_SWITCH = 23 00
-SE_CLICK = 24 00
-SE_FU_ZAKU = 25 00
-SE_CONTEST_CONDITION_LOSE = 26 00
-SE_LAVARIDGE_FALL_WARP = 27 00
-SE_ICE_STAIRS = 28 00
-SE_ICE_BREAK = 29 00
-SE_ICE_CRACK = 2A 00
-SE_FALL = 2B 00
-SE_UNLOCK = 2C 00
-SE_WARP_IN = 2D 00
-SE_WARP_OUT = 2E 00
-SE_REPEL = 2F 00
-SE_ROTATING_GATE = 30 00
-SE_TRUCK_MOVE = 31 00
-SE_TRUCK_STOP = 32 00
-SE_TRUCK_UNLOAD = 33 00
-SE_TRUCK_DOOR = 34 00
-SE_BERRY_BLENDER = 35 00
-SE_CARD = 36 00
-SE_SAVE = 37 00
-SE_BALL_BOUNCE_1 = 38 00
-SE_BALL_BOUNCE_2 = 39 00
-SE_BALL_BOUNCE_3 = 3A 00
-SE_BALL_BOUNCE_4 = 3B 00
-SE_BALL_TRADE = 3C 00
-SE_BALL_THROW = 3D 00
-SE_NOTE_C = 3E 00
-SE_NOTE_D = 3F 00
-SE_NOTE_E = 40 00
-SE_NOTE_F = 41 00
-SE_NOTE_G = 42 00
-SE_NOTE_A = 43 00
-SE_NOTE_B = 44 00
-SE_NOTE_C_HIGH = 45 00
-SE_PUDDLE = 46 00
-SE_BRIDGE_WALK = 47 00
-SE_ITEMFINDER = 48 00
-SE_DING_DONG = 49 00
-SE_BALLOON_RED = 4A 00
-SE_BALLOON_BLUE = 4B 00
-SE_BALLOON_YELLOW = 4C 00
-SE_BREAKABLE_DOOR = 4D 00
-SE_MUD_BALL = 4E 00
-SE_FIELD_POISON = 4F 00
-SE_ESCALATOR = 50 00
-SE_THUNDERSTORM = 51 00
-SE_THUNDERSTORM_STOP = 52 00
-SE_DOWNPOUR = 53 00
-SE_DOWNPOUR_STOP = 54 00
-SE_RAIN = 55 00
-SE_RAIN_STOP = 56 00
-SE_THUNDER = 57 00
-SE_THUNDER2 = 58 00
-SE_ELEVATOR = 59 00
-SE_LOW_HEALTH = 5A 00
-SE_EXP_MAX = 5B 00
-SE_ROULETTE_BALL = 5C 00
-SE_ROULETTE_BALL2 = 5D 00
-SE_TAILLOW_WING_FLAP = 5E 00
-SE_SHOP = 5F 00
-SE_CONTEST_HEART = 60 00
-SE_CONTEST_CURTAIN_RISE = 61 00
-SE_CONTEST_CURTAIN_FALL = 62 00
-SE_CONTEST_ICON_CHANGE = 63 00
-SE_CONTEST_ICON_CLEAR = 64 00
-SE_CONTEST_MONS_TURN = 65 00
-SE_SHINY = 66 00
-SE_INTRO_BLAST = 67 00
-SE_MUGSHOT = 68 00
-SE_APPLAUSE = 69 00
-SE_VEND = 6A 00
-SE_ORB = 6B 00
-SE_DEX_SCROLL = 6C 00
-SE_DEX_PAGE = 6D 00
-SE_POKENAV_ON = 6E 00
-SE_POKENAV_OFF = 6F 00
-SE_DEX_SEARCH = 70 00
-SE_EGG_HATCH = 71 00
-SE_BALL_TRAY_ENTER = 72 00
-SE_BALL_TRAY_BALL = 73 00
-SE_BALL_TRAY_EXIT = 74 00
-SE_GLASS_FLUTE = 75 00
-SE_M_THUNDERBOLT = 76 00
-SE_M_THUNDERBOLT2 = 77 00
-SE_M_HARDEN = 78 00
-SE_M_NIGHTMARE = 79 00
-SE_M_VITAL_THROW = 7A 00
-SE_M_VITAL_THROW2 = 7B 00
-SE_M_BUBBLE = 7C 00
-SE_M_BUBBLE2 = 7D 00
-SE_M_BUBBLE3 = 7E 00
-SE_M_RAIN_DANCE = 7F 00
-SE_M_CUT = 80 00
-SE_M_STRING_SHOT = 81 00
-SE_M_STRING_SHOT2 = 82 00
-SE_M_ROCK_THROW = 83 00
-SE_M_GUST = 84 00
-SE_M_GUST2 = 85 00
-SE_M_DOUBLE_SLAP = 86 00
-SE_M_DOUBLE_TEAM = 87 00
-SE_M_RAZOR_WIND = 88 00
-SE_M_ICY_WIND = 89 00
-SE_M_THUNDER_WAVE = 8A 00
-SE_M_COMET_PUNCH = 8B 00
-SE_M_MEGA_KICK = 8C 00
-SE_M_MEGA_KICK2 = 8D 00
-SE_M_CRABHAMMER = 8E 00
-SE_M_JUMP_KICK = 8F 00
-SE_M_FLAME_WHEEL = 90 00
-SE_M_FLAME_WHEEL2 = 91 00
-SE_M_FLAMETHROWER = 92 00
-SE_M_FIRE_PUNCH = 93 00
-SE_M_TOXIC = 94 00
-SE_M_SACRED_FIRE = 95 00
-SE_M_SACRED_FIRE2 = 96 00
-SE_M_EMBER = 97 00
-SE_M_TAKE_DOWN = 98 00
-SE_M_BLIZZARD = 99 00
-SE_M_BLIZZARD2 = 9A 00
-SE_M_SCRATCH = 9B 00
-SE_M_VICEGRIP = 9C 00
-SE_M_WING_ATTACK = 9D 00
-SE_M_FLY = 9E 00
-SE_M_SAND_ATTACK = 9F 00
-SE_M_RAZOR_WIND2 = A0 00
-SE_M_BITE = A1 00
-SE_M_HEADBUTT = A2 00
-SE_M_SURF = A3 00
-SE_M_HYDRO_PUMP = A4 00
-SE_M_WHIRLPOOL = A5 00
-SE_M_HORN_ATTACK = A6 00
-SE_M_TAIL_WHIP = A7 00
-SE_M_MIST = A8 00
-SE_M_POISON_POWDER = A9 00
-SE_M_BIND = AA 00
-SE_M_DRAGON_RAGE = AB 00
-SE_M_SING = AC 00
-SE_M_PERISH_SONG = AD 00
-SE_M_PAY_DAY = AE 00
-SE_M_DIG = AF 00
-SE_M_DIZZY_PUNCH = B0 00
-SE_M_SELF_DESTRUCT = B1 00
-SE_M_EXPLOSION = B2 00
-SE_M_ABSORB_2 = B3 00
-SE_M_ABSORB = B4 00
-SE_M_SCREECH = B5 00
-SE_M_BUBBLE_BEAM = B6 00
-SE_M_BUBBLE_BEAM2 = B7 00
-SE_M_SUPERSONIC = B8 00
-SE_M_BELLY_DRUM = B9 00
-SE_M_METRONOME = BA 00
-SE_M_BONEMERANG = BB 00
-SE_M_LICK = BC 00
-SE_M_PSYBEAM = BD 00
-SE_M_FAINT_ATTACK = BE 00
-SE_M_SWORDS_DANCE = BF 00
-SE_M_LEER = C0 00
-SE_M_SWAGGER = C1 00
-SE_M_SWAGGER2 = C2 00
-SE_M_HEAL_BELL = C3 00
-SE_M_CONFUSE_RAY = C4 00
-SE_M_SNORE = C5 00
-SE_M_BRICK_BREAK = C6 00
-SE_M_GIGA_DRAIN = C7 00
-SE_M_PSYBEAM2 = C8 00
-SE_M_SOLAR_BEAM = C9 00
-SE_M_PETAL_DANCE = CA 00
-SE_M_TELEPORT = CB 00
-SE_M_MINIMIZE = CC 00
-SE_M_SKETCH = CD 00
-SE_M_SWIFT = CE 00
-SE_M_REFLECT = CF 00
-SE_M_BARRIER = D0 00
-SE_M_DETECT = D1 00
-SE_M_LOCK_ON = D2 00
-SE_M_MOONLIGHT = D3 00
-SE_M_CHARM = D4 00
-SE_M_CHARGE = D5 00
-SE_M_STRENGTH = D6 00
-SE_M_HYPER_BEAM = D7 00
-SE_M_WATERFALL = D8 00
-SE_M_REVERSAL = D9 00
-SE_M_ACID_ARMOR = DA 00
-SE_M_SANDSTORM = DB 00
-SE_M_TRI_ATTACK = DC 00
-SE_M_TRI_ATTACK2 = DD 00
-SE_M_ENCORE = DE 00
-SE_M_ENCORE2 = DF 00
-SE_M_BATON_PASS = E0 00
-SE_M_MILK_DRINK = E1 00
-SE_M_ATTRACT = E2 00
-SE_M_ATTRACT2 = E3 00
-SE_M_MORNING_SUN = E4 00
-SE_M_FLATTER = E5 00
-SE_M_SAND_TOMB = E6 00
-SE_M_GRASSWHISTLE = E7 00
-SE_M_SPIT_UP = E8 00
-SE_M_DIVE = E9 00
-SE_M_EARTHQUAKE = EA 00
-SE_M_TWISTER = EB 00
-SE_M_SWEET_SCENT = EC 00
-SE_M_YAWN = ED 00
-SE_M_SKY_UPPERCUT = EE 00
-SE_M_STAT_INCREASE = EF 00
-SE_M_HEAT_WAVE = F0 00
-SE_M_UPROAR = F1 00
-SE_M_HAIL = F2 00
-SE_M_COSMIC_POWER = F3 00
-SE_M_TEETER_DANCE = F4 00
-SE_M_STAT_DECREASE = F5 00
-SE_M_HAZE = F6 00
-SE_M_HYPER_BEAM2 = F7 00
-SE_RG_DOOR = F8 00
-SE_RG_CARD_FLIP = F9 00
-SE_RG_CARD_FLIPPING = FA 00
-SE_RG_CARD_OPEN = FB 00
-SE_RG_BAG_CURSOR = FC 00
-SE_RG_BAG_POCKET = FD 00
-SE_RG_BALL_CLICK = FE 00
-SE_RG_SHOP = FF 00
-SE_RG_SS_ANNE_HORN = 00 01
-SE_RG_HELP_OPEN = 01 01
-SE_RG_HELP_CLOSE = 02 01
-SE_RG_HELP_ERROR = 03 01
-SE_RG_DEOXYS_MOVE = 04 01
-SE_RG_POKE_JUMP_SUCCESS = 05 01
-SE_RG_POKE_JUMP_FAILURE = 06 01
-SE_POKENAV_CALL = 07 01
-SE_POKENAV_HANG_UP = 08 01
-SE_ARENA_TIMEUP1 = 09 01
-SE_ARENA_TIMEUP2 = 0A 01
-SE_PIKE_CURTAIN_CLOSE = 0B 01
-SE_PIKE_CURTAIN_OPEN = 0C 01
-SE_SUDOWOODO_SHAKE = 0D 01
-MUS_LITTLEROOT_TEST = 5E 01
-MUS_GSC_ROUTE38 = 5F 01
-MUS_CAUGHT = 60 01
-MUS_VICTORY_WILD = 61 01
-MUS_VICTORY_GYM_LEADER = 62 01
-MUS_VICTORY_LEAGUE = 63 01
-MUS_C_COMM_CENTER = 64 01
-MUS_GSC_PEWTER = 65 01
-MUS_C_VS_LEGEND_BEAST = 66 01
-MUS_ROUTE101 = 67 01
-MUS_ROUTE110 = 68 01
-MUS_ROUTE120 = 69 01
-MUS_PETALBURG = 6A 01
-MUS_OLDALE = 6B 01
-MUS_GYM = 6C 01
-MUS_SURF = 6D 01
-MUS_PETALBURG_WOODS = 6E 01
-MUS_LEVEL_UP = 6F 01
-MUS_HEAL = 70 01
-MUS_OBTAIN_BADGE = 71 01
-MUS_OBTAIN_ITEM = 72 01
-MUS_EVOLVED = 73 01
-MUS_OBTAIN_TMHM = 74 01
-MUS_LILYCOVE_MUSEUM = 75 01
-MUS_ROUTE122 = 76 01
-MUS_OCEANIC_MUSEUM = 77 01
-MUS_EVOLUTION_INTRO = 78 01
-MUS_EVOLUTION = 79 01
-MUS_MOVE_DELETED = 7A 01
-MUS_ENCOUNTER_GIRL = 7B 01
-MUS_ENCOUNTER_MALE = 7C 01
-MUS_ABANDONED_SHIP = 7D 01
-MUS_FORTREE = 7E 01
-MUS_BIRCH_LAB = 7F 01
-MUS_B_TOWER_RS = 80 01
-MUS_ENCOUNTER_SWIMMER = 81 01
-MUS_CAVE_OF_ORIGIN = 82 01
-MUS_OBTAIN_BERRY = 83 01
-MUS_AWAKEN_LEGEND = 84 01
-MUS_SLOTS_JACKPOT = 85 01
-MUS_SLOTS_WIN = 86 01
-MUS_TOO_BAD = 87 01
-MUS_ROULETTE = 88 01
-MUS_LINK_CONTEST_P1 = 89 01
-MUS_LINK_CONTEST_P2 = 8A 01
-MUS_LINK_CONTEST_P3 = 8B 01
-MUS_LINK_CONTEST_P4 = 8C 01
-MUS_ENCOUNTER_RICH = 8D 01
-MUS_VERDANTURF = 8E 01
-MUS_RUSTBORO = 8F 01
-MUS_POKE_CENTER = 90 01
-MUS_ROUTE104 = 91 01
-MUS_ROUTE119 = 92 01
-MUS_CYCLING = 93 01
-MUS_POKE_MART = 94 01
-MUS_LITTLEROOT = 95 01
-MUS_MT_CHIMNEY = 96 01
-MUS_ENCOUNTER_FEMALE = 97 01
-MUS_LILYCOVE = 98 01
-MUS_ROUTE111 = 99 01
-MUS_HELP = 9A 01
-MUS_UNDERWATER = 9B 01
-MUS_VICTORY_TRAINER = 9C 01
-MUS_TITLE = 9D 01
-MUS_INTRO = 9E 01
-MUS_ENCOUNTER_MAY = 9F 01
-MUS_ENCOUNTER_INTENSE = A0 01
-MUS_ENCOUNTER_COOL = A1 01
-MUS_ROUTE113 = A2 01
-MUS_ENCOUNTER_AQUA = A3 01
-MUS_FOLLOW_ME = A4 01
-MUS_ENCOUNTER_BRENDAN = A5 01
-MUS_EVER_GRANDE = A6 01
-MUS_ENCOUNTER_SUSPICIOUS = A7 01
-MUS_VICTORY_AQUA_MAGMA = A8 01
-MUS_CABLE_CAR = A9 01
-MUS_GAME_CORNER = AA 01
-MUS_DEWFORD = AB 01
-MUS_SAFARI_ZONE = AC 01
-MUS_VICTORY_ROAD = AD 01
-MUS_AQUA_MAGMA_HIDEOUT = AE 01
-MUS_SAILING = AF 01
-MUS_MT_PYRE = B0 01
-MUS_SLATEPORT = B1 01
-MUS_MT_PYRE_EXTERIOR = B2 01
-MUS_SCHOOL = B3 01
-MUS_HALL_OF_FAME = B4 01
-MUS_FALLARBOR = B5 01
-MUS_SEALED_CHAMBER = B6 01
-MUS_CONTEST_WINNER = B7 01
-MUS_CONTEST = B8 01
-MUS_ENCOUNTER_MAGMA = B9 01
-MUS_INTRO_BATTLE = BA 01
-MUS_ABNORMAL_WEATHER = BB 01
-MUS_WEATHER_GROUDON = BC 01
-MUS_SOOTOPOLIS = BD 01
-MUS_CONTEST_RESULTS = BE 01
-MUS_HALL_OF_FAME_ROOM = BF 01
-MUS_TRICK_HOUSE = C0 01
-MUS_ENCOUNTER_TWINS = C1 01
-MUS_ENCOUNTER_ELITE_FOUR = C2 01
-MUS_ENCOUNTER_HIKER = C3 01
-MUS_CONTEST_LOBBY = C4 01
-MUS_ENCOUNTER_INTERVIEWER = C5 01
-MUS_ENCOUNTER_CHAMPION = C6 01
-MUS_CREDITS = C7 01
-MUS_END = C8 01
-MUS_B_FRONTIER = C9 01
-MUS_B_ARENA = CA 01
-MUS_OBTAIN_B_POINTS = CB 01
-MUS_REGISTER_MATCH_CALL = CC 01
-MUS_B_PYRAMID = CD 01
-MUS_B_PYRAMID_TOP = CE 01
-MUS_B_PALACE = CF 01
-MUS_RAYQUAZA_APPEARS = D0 01
-MUS_B_TOWER = D1 01
-MUS_OBTAIN_SYMBOL = D2 01
-MUS_B_DOME = D3 01
-MUS_B_PIKE = D4 01
-MUS_B_FACTORY = D5 01
-MUS_VS_RAYQUAZA = D6 01
-MUS_VS_FRONTIER_BRAIN = D7 01
-MUS_VS_MEW = D8 01
-MUS_B_DOME_LOBBY = D9 01
-MUS_VS_WILD = DA 01
-MUS_VS_AQUA_MAGMA = DB 01
-MUS_VS_TRAINER = DC 01
-MUS_VS_GYM_LEADER = DD 01
-MUS_VS_CHAMPION = DE 01
-MUS_VS_REGI = DF 01
-MUS_VS_KYOGRE_GROUDON = E0 01
-MUS_VS_RIVAL = E1 01
-MUS_VS_ELITE_FOUR = E2 01
-MUS_VS_AQUA_MAGMA_LEADER = E3 01
-MUS_RG_FOLLOW_ME = E4 01
-MUS_RG_GAME_CORNER = E5 01
-MUS_RG_ROCKET_HIDEOUT = E6 01
-MUS_RG_GYM = E7 01
-MUS_RG_JIGGLYPUFF = E8 01
-MUS_RG_INTRO_FIGHT = E9 01
-MUS_RG_TITLE = EA 01
-MUS_RG_CINNABAR = EB 01
-MUS_RG_LAVENDER = EC 01
-MUS_RG_HEAL = ED 01
-MUS_RG_CYCLING = EE 01
-MUS_RG_ENCOUNTER_ROCKET = EF 01
-MUS_RG_ENCOUNTER_GIRL = F0 01
-MUS_RG_ENCOUNTER_BOY = F1 01
-MUS_RG_HALL_OF_FAME = F2 01
-MUS_RG_VIRIDIAN_FOREST = F3 01
-MUS_RG_MT_MOON = F4 01
-MUS_RG_POKE_MANSION = F5 01
-MUS_RG_CREDITS = F6 01
-MUS_RG_ROUTE1 = F7 01
-MUS_RG_ROUTE24 = F8 01
-MUS_RG_ROUTE3 = F9 01
-MUS_RG_ROUTE11 = FA 01
-MUS_RG_VICTORY_ROAD = FB 01
-MUS_RG_VS_GYM_LEADER = FC 01
-MUS_RG_VS_TRAINER = FD 01
-MUS_RG_VS_WILD = FE 01
-MUS_RG_VS_CHAMPION = FF 01
-MUS_RG_PALLET = 00 02
-MUS_RG_OAK_LAB = 01 02
-MUS_RG_OAK = 02 02
-MUS_RG_POKE_CENTER = 03 02
-MUS_RG_SS_ANNE = 04 02
-MUS_RG_SURF = 05 02
-MUS_RG_POKE_TOWER = 06 02
-MUS_RG_SILPH = 07 02
-MUS_RG_FUCHSIA = 08 02
-MUS_RG_CELADON = 09 02
-MUS_RG_VICTORY_TRAINER = 0A 02
-MUS_RG_VICTORY_WILD = 0B 02
-MUS_RG_VICTORY_GYM_LEADER = 0C 02
-MUS_RG_VERMILLION = 0D 02
-MUS_RG_PEWTER = 0E 02
-MUS_RG_ENCOUNTER_RIVAL = 0F 02
-MUS_RG_RIVAL_EXIT = 10 02
-MUS_RG_DEX_RATING = 11 02
-MUS_RG_OBTAIN_KEY_ITEM = 12 02
-MUS_RG_CAUGHT_INTRO = 13 02
-MUS_RG_PHOTO = 14 02
-MUS_RG_GAME_FREAK = 15 02
-MUS_RG_CAUGHT = 16 02
-MUS_RG_NEW_GAME_INSTRUCT = 17 02
-MUS_RG_NEW_GAME_INTRO = 18 02
-MUS_RG_NEW_GAME_EXIT = 19 02
-MUS_RG_POKE_JUMP = 1A 02
-MUS_RG_UNION_ROOM = 1B 02
-MUS_RG_NET_CENTER = 1C 02
-MUS_RG_MYSTERY_GIFT = 1D 02
-MUS_RG_BERRY_PICK = 1E 02
-MUS_RG_SEVII_CAVE = 1F 02
-MUS_RG_TEACHY_TV_SHOW = 20 02
-MUS_RG_SEVII_ROUTE = 21 02
-MUS_RG_SEVII_DUNGEON = 22 02
-MUS_RG_SEVII_123 = 23 02
-MUS_RG_SEVII_45 = 24 02
-MUS_RG_SEVII_67 = 25 02
-MUS_RG_POKE_FLUTE = 26 02
-MUS_RG_VS_DEOXYS = 27 02
-MUS_RG_VS_MEWTWO = 28 02
-MUS_RG_VS_LEGEND = 29 02
-MUS_RG_ENCOUNTER_GYM_LEADER = 2A 02
-MUS_RG_ENCOUNTER_DEOXYS = 2B 02
-MUS_RG_TRAINER_TOWER = 2C 02
-MUS_RG_SLOW_PALLET = 2D 02
-MUS_RG_TEACHY_TV_MENU = 2E 02
-PH_TRAP_BLEND = 2F 02
-PH_TRAP_HELD = 30 02
-PH_TRAP_SOLO = 31 02
-PH_FACE_BLEND = 32 02
-PH_FACE_HELD = 33 02
-PH_FACE_SOLO = 34 02
-PH_CLOTH_BLEND = 35 02
-PH_CLOTH_HELD = 36 02
-PH_CLOTH_SOLO = 37 02
-PH_DRESS_BLEND = 38 02
-PH_DRESS_HELD = 39 02
-PH_DRESS_SOLO = 3A 02
-PH_FLEECE_BLEND = 3B 02
-PH_FLEECE_HELD = 3C 02
-PH_FLEECE_SOLO = 3D 02
-PH_KIT_BLEND = 3E 02
-PH_KIT_HELD = 3F 02
-PH_KIT_SOLO = 40 02
-PH_PRICE_BLEND = 41 02
-PH_PRICE_HELD = 42 02
-PH_PRICE_SOLO = 43 02
-PH_LOT_BLEND = 44 02
-PH_LOT_HELD = 45 02
-PH_LOT_SOLO = 46 02
-PH_GOAT_BLEND = 47 02
-PH_GOAT_HELD = 48 02
-PH_GOAT_SOLO = 49 02
-PH_THOUGHT_BLEND = 4A 02
-PH_THOUGHT_HELD = 4B 02
-PH_THOUGHT_SOLO = 4C 02
-PH_CHOICE_BLEND = 4D 02
-PH_CHOICE_HELD = 4E 02
-PH_CHOICE_SOLO = 4F 02
-PH_MOUTH_BLEND = 50 02
-PH_MOUTH_HELD = 51 02
-PH_MOUTH_SOLO = 52 02
-PH_FOOT_BLEND = 53 02
-PH_FOOT_HELD = 54 02
-PH_FOOT_SOLO = 55 02
-PH_GOOSE_BLEND = 56 02
-PH_GOOSE_HELD = 57 02
-PH_GOOSE_SOLO = 58 02
-PH_STRUT_BLEND = 59 02
-PH_STRUT_HELD = 5A 02
-PH_STRUT_SOLO = 5B 02
-PH_CURE_BLEND = 5C 02
-PH_CURE_HELD = 5D 02
-PH_CURE_SOLO = 5E 02
-PH_NURSE_BLEND = 5F 02
-PH_NURSE_HELD = 60 02
-PH_NURSE_SOLO = 61 02
-
-A_BUTTON = F8 00
-B_BUTTON = F8 01
-DPAD_UPDOWN = F8 0A
-DPAD_NONE = F8 0C
-
-UP_ARROW_2 = F9 00
-DOWN_ARROW_2 = F9 01
-LEFT_ARROW_2 = F9 02
-RIGHT_ARROW_2 = F9 03
-PLUS = F9 04
-LV_2 = F9 05
-PP = F9 06
-ID = F9 07
-NO = F9 08
-UNDERSCORE = F9 09
-CIRCLE_1 = F9 0A
-CIRCLE_2 = F9 0B
-CIRCLE_3 = F9 0C
-CIRCLE_4 = F9 0D
-CIRCLE_5 = F9 0E
-CIRCLE_6 = F9 0F
-CIRCLE_7 = F9 10
-CIRCLE_8 = F9 11
-CIRCLE_9 = F9 12
-ROUND_LEFT_PAREN = F9 13
-ROUND_RIGHT_PAREN = F9 14
-CIRCLE_DOT = F9 15
-TRIANGLE = F9 16
-BIG_MULT_X = F9 17
-
-EMOJI_UNDERSCORE = F9 D0
-EMOJI_PIPE = F9 D1
-EMOJI_HIGHBAR = F9 D2
-EMOJI_TILDE = F9 D3
-EMOJI_LEFT_PAREN = F9 D4
-EMOJI_RIGHT_PAREN = F9 D5
-EMOJI_UNION = F9 D6 @ ⊂
-EMOJI_GREATER_THAN = F9 D7
-EMOJI_LEFT_EYE = F9 D8
-EMOJI_RIGHT_EYE = F9 D9
-EMOJI_AT = F9 DA
-EMOJI_SEMICOLON = F9 DB
-EMOJI_PLUS = F9 DC
-EMOJI_MINUS = F9 DD
-EMOJI_EQUALS = F9 DE
-EMOJI_SPIRAL = F9 DF
-EMOJI_TONGUE = F9 E0
-EMOJI_TRIANGLE_OUTLINE = F9 E1
-EMOJI_ACUTE = F9 E2
-EMOJI_GRAVE = F9 E3
-EMOJI_CIRCLE = F9 E4
-EMOJI_TRIANGLE = F9 E5
-EMOJI_SQUARE = F9 E6
-EMOJI_HEART = F9 E7
-EMOJI_MOON = F9 E8
-EMOJI_NOTE = F9 E9
-EMOJI_BALL = F9 EA
-EMOJI_BOLT = F9 EB
-EMOJI_LEAF = F9 EC
-EMOJI_FIRE = F9 ED
-EMOJI_WATER = F9 EE
-EMOJI_LEFT_FIST = F9 EF
-EMOJI_RIGHT_FIST = F9 F0
-EMOJI_BIGWHEEL = F9 F1
-EMOJI_SMALLWHEEL = F9 F2
-EMOJI_SPHERE = F9 F3
-EMOJI_IRRITATED = F9 F4
-EMOJI_MISCHIEVOUS = F9 F5
-EMOJI_HAPPY = F9 F6
-EMOJI_ANGRY = F9 F7
-EMOJI_SURPRISED = F9 F8
-EMOJI_BIGSMILE = F9 F9
-EMOJI_EVIL = F9 FA
-EMOJI_TIRED = F9 FB
-EMOJI_NEUTRAL = F9 FC
-EMOJI_SHOCKED = F9 FD
-EMOJI_BIGANGER = F9 FE
-
-'\l' = FA @ scroll up window text
-'\p' = FB @ new paragraph
-'\n' = FE @ new line
diff --git a/berry_fix/data/data.s b/berry_fix/data/data.s
deleted file mode 100644
index dbb86b13ba..0000000000
--- a/berry_fix/data/data.s
+++ /dev/null
@@ -1,4 +0,0 @@
- .section .rodata
-
-_data_2f0::
- .incbin "data/payload.gba.lz"
diff --git a/berry_fix/ld_script.sed b/berry_fix/ld_script.sed
deleted file mode 100644
index b91542b6f8..0000000000
--- a/berry_fix/ld_script.sed
+++ /dev/null
@@ -1,14 +0,0 @@
-// {
- r sym_ewram.ld
- d
-}
-
-// {
- r sym_bss.ld
- d
-}
-
-// {
- r sym_common.ld
- d
-}
diff --git a/berry_fix/ld_script.txt b/berry_fix/ld_script.txt
deleted file mode 100644
index 2edeaef7cb..0000000000
--- a/berry_fix/ld_script.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-ENTRY(_start)
-
-SECTIONS {
- . = 0x2000000;
-
- .text :
- ALIGN(4)
- {
- asm/loader.o(.text);
- } =0
-
- . += 0x100;
- .rodata :
- ALIGN(4)
- {
- data/data.o(.rodata);
- } =0
-
- . = 0x2010000;
-
- ewram (NOLOAD) :
- ALIGN(4)
- {
- gCode = .;
- }
-
- /DISCARD/ :
- {
- *(*);
- }
-}
diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile
deleted file mode 100644
index 2779c43ba8..0000000000
--- a/berry_fix/payload/Makefile
+++ /dev/null
@@ -1,209 +0,0 @@
-TOOLCHAIN := $(DEVKITARM)
-COMPARE ?= 0
-
-# 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
-endif
-
-PREFIX := arm-none-eabi-
-OBJCOPY := $(PREFIX)objcopy
-AS := $(PREFIX)as
-LD := $(PREFIX)ld
-
-# note: the makefile must be set up so MODERNCC is never called
-# if MODERN=0
-MODERNCC := $(PREFIX)gcc
-
-ifeq ($(OS),Windows_NT)
-EXE := .exe
-else
-EXE :=
-endif
-
-# use arm-none-eabi-cpp for macOS
-# as macOS's default compiler is clang
-# and clang's preprocessor will warn on \u
-# when preprocessing asm files, expecting a unicode literal
-# we can't unconditionally use arm-none-eabi-cpp
-# as installations which install binutils-arm-none-eabi
-# don't come with it
-ifneq ($(MODERN),1)
- ifeq ($(shell uname -s),Darwin)
- CPP := $(PREFIX)cpp
- else
- CPP := $(CC) -E
- endif
-else
- CPP := $(PREFIX)cpp
-endif
-
-SHELL := /bin/bash -o pipefail
-
-CPPFLAGS := -I ../../tools/agbcc/include -I ../../tools/agbcc -iquote include -nostdinc -undef
-
-ROM := payload.gba
-OBJ_DIR := build
-CC1 := ../../tools/agbcc/bin/agbcc$(EXE)
-override CC1FLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
-
-
-ELF = $(ROM:.gba=.elf)
-MAP = $(ROM:.gba=.map)
-
-C_SUBDIR = src
-ASM_SUBDIR = asm
-DATA_ASM_SUBDIR = data
-
-C_BUILDDIR = $(OBJ_DIR)/$(C_SUBDIR)
-ASM_BUILDDIR = $(OBJ_DIR)/$(ASM_SUBDIR)
-DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
-
-ASFLAGS := -mcpu=arm7tdmi
-
-LDFLAGS = -Map ../$(MAP)
-
-LIB := -L ../../../tools/agbcc/lib -lgcc
-
-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)
-
-# Clear the default suffixes
-.SUFFIXES:
-# Don't delete intermediate files
-.SECONDARY:
-# 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
-
-C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
-C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
-
-ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s)
-ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
-
-DATA_ASM_SRCS := $(wildcard $(DATA_ASM_SUBDIR)/*.s)
-DATA_ASM_OBJS := $(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o,$(DATA_ASM_SRCS))
-
-SONG_SRCS := $(wildcard $(SONG_SUBDIR)/*.s)
-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) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
-# OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
-
-SUBDIRS := $(sort $(dir $(OBJS)))
-
-$(shell mkdir -p $(SUBDIRS))
-
-$(C_BUILDDIR)/siirtc.o: CC1FLAGS := -mthumb-interwork
-$(C_BUILDDIR)/agb_flash.o: CC1FLAGS := -O1 -mthumb-interwork
-$(C_BUILDDIR)/agb_flash_1m.o: CC1FLAGS := -O1 -mthumb-interwork
-$(C_BUILDDIR)/agb_flash_mx.o: CC1FLAGS := -O1 -mthumb-interwork
-$(C_BUILDDIR)/agb_flash_le.o: CC1FLAGS := -O1 -mthumb-interwork
-
-all: rom
- @:
-
-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: ; @$(MAKE) COMPARE=1
-
-clean: tidy
- rm -f sound/direct_sound_samples/*.bin
- rm -f $(SONG_OBJS) $(MID_OBJS) $(MID_SUBDIR)/*.s
- find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
-
-tidy:
- rm -f $(ROM) $(ELF) $(MAP)
- rm -r build/*
-
-%.s: ;
-%.png: ;
-%.pal: ;
-%.aif: ;
-
-%.1bpp: %.png ; $(GFX) $< $@
-%.4bpp: %.png ; $(GFX) $< $@
-%.8bpp: %.png ; $(GFX) $< $@
-%.gbapal: %.pal ; $(GFX) $< $@
-%.gbapal: %.png ; $(GFX) $< $@
-%.lz: % ; $(GFX) $< $@
-%.rl: % ; $(GFX) $< $@
-
-
-ifeq ($(NODEP),1)
-$(C_BUILDDIR)/%.o: c_dep :=
-else
-$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c)
-endif
-
-$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
- @$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i
- @$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CC1FLAGS) -o $(C_BUILDDIR)/$*.s
- @echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s
- $(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
-
-ifeq ($(NODEP),1)
-$(ASM_BUILDDIR)/%.o: asm_dep :=
-else
-$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s)
-endif
-
-$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep)
- $(AS) $(ASFLAGS) -o $@ $<
-
-ifeq ($(NODEP),1)
-$(DATA_ASM_BUILDDIR)/%.o: data_dep :=
-else
-$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
-endif
-
-$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
- $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
-
-$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
- $(AS) $(ASFLAGS) -I sound -o $@ $<
-
-$(OBJ_DIR)/sym_bss.ld: sym_bss.txt
- $(RAMSCRGEN) .bss $< ENGLISH > $@
-
-$(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt)
- $(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms > $@
-
-$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
- $(RAMSCRGEN) ewram_data $< ENGLISH > $@
-
-$(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
- cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../$< | sed "s#tools/#../tools/#g" > ld_script.ld
-
-$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
- cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../$@ $(LIB)
-
-$(ROM): $(ELF)
- $(OBJCOPY) -O binary $< $@
-
diff --git a/berry_fix/payload/asm/crt0.s b/berry_fix/payload/asm/crt0.s
deleted file mode 100644
index 2bca006365..0000000000
--- a/berry_fix/payload/asm/crt0.s
+++ /dev/null
@@ -1,82 +0,0 @@
- .include "asm/macros/function.inc"
- .include "constants/gba_constants.inc"
-
- .syntax unified
-
- .text
-
- .arm
- .align 2, 0
- .global Init
-Init:
- mov r0, #PSR_IRQ_MODE
- msr cpsr_cf, r0
- ldr sp, sp_irq
- mov r0, #PSR_SYS_MODE
- msr cpsr_cf, r0
- ldr sp, sp_sys
- ldr r1, =INTR_VECTOR
- ldr r0, =IntrMain
- str r0, [r1]
- ldr r1, =AgbMain + 1
- mov lr, pc
- bx r1
- b Init
-
- .align 2, 0
-sp_sys: .word IWRAM_END - 0x100
-sp_irq: .word IWRAM_END - 0x60
-
- .pool
- .size Init, .-Init
-
- .arm
- .align 2, 0
- .global IntrMain
-IntrMain: @ 0x2010048
- mov ip, #REG_BASE
- add r3, ip, #OFFSET_REG_IE
- ldr r2, [r3]
- and r1, r2, r2, lsr #16
- mov r2, #0
- ands r0, r1, #0x2000
- strbne r0, [r3, #-0x17c]
-_02010064:
- bne _02010064
- ands r0, r1, #0xc0
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #1
- strhne r0, [ip, #-8]
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #2
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #4
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #0x100
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #0x200
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #0x400
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #0x800
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #0x1000
- bne _020100DC
- add r2, r2, #4
- ands r0, r1, #8
-_020100DC:
- strh r0, [r3, #2]
- ldr r1, =gIntrTable
- add r1, r1, r2
- ldr r0, [r1]
- bx r0
- .pool
- .size IntrMain, .-IntrMain
diff --git a/berry_fix/payload/asm/libagbsyscall.s b/berry_fix/payload/asm/libagbsyscall.s
deleted file mode 100644
index 9548e80d28..0000000000
--- a/berry_fix/payload/asm/libagbsyscall.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "asm/macros/function.inc"
- .include "constants/gba_constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CpuSet
-CpuSet: @ 81E3B64
- svc 0xB
- bx lr
- thumb_func_end CpuSet
-
- thumb_func_start Div
-Div: @ 81E3B68
- svc 0x6
- bx lr
- thumb_func_end Div
-
- thumb_func_start Mod
-Mod:
- svc 0x6
- adds r0, r1, 0
- bx lr
- thumb_func_end Mod
-
- thumb_func_start LZ77UnCompVram
-LZ77UnCompVram: @ 81E3B6C
- svc 0x12
- bx lr
- thumb_func_end LZ77UnCompVram
-
- thumb_func_start RegisterRamReset
-RegisterRamReset: @ 81E3B80
- svc 0x1
- bx lr
- thumb_func_end RegisterRamReset
-
- thumb_func_start VBlankIntrWait
-VBlankIntrWait: @ 81E3BA0
- movs r2, 0
- svc 0x5
- bx lr
- thumb_func_end VBlankIntrWait
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/berry_fix/payload/asm/macros/function.inc b/berry_fix/payload/asm/macros/function.inc
deleted file mode 100644
index 67fb373a80..0000000000
--- a/berry_fix/payload/asm/macros/function.inc
+++ /dev/null
@@ -1,29 +0,0 @@
- .macro arm_func_start name
- .align 2, 0
- .global \name
- .arm
- .type \name, function
- .endm
-
- .macro arm_func_end name
- .size \name, .-\name
- .endm
-
- .macro thumb_func_start name
- .align 2, 0
- .global \name
- .thumb
- .thumb_func
- .type \name, function
- .endm
-
- .macro non_word_aligned_thumb_func_start name
- .global \name
- .thumb
- .thumb_func
- .type \name, function
- .endm
-
- .macro thumb_func_end name
- .size \name, .-\name
- .endm
diff --git a/berry_fix/payload/charmap.txt b/berry_fix/payload/charmap.txt
deleted file mode 100644
index 1c143ada4f..0000000000
--- a/berry_fix/payload/charmap.txt
+++ /dev/null
@@ -1,1067 +0,0 @@
-' ' = 00
-'À' = 01
-'Á' = 02
-'Â' = 03
-'Ç' = 04
-'È' = 05
-'É' = 06
-'Ê' = 07
-'Ë' = 08
-'Ì' = 09
-'Î' = 0B
-'Ï' = 0C
-'Ò' = 0D
-'Ó' = 0E
-'Ô' = 0F
-'Œ' = 10
-'Ù' = 11
-'Ú' = 12
-'Û' = 13
-'Ñ' = 14
-'ß' = 15
-'à' = 16
-'á' = 17
-'ç' = 19
-'è' = 1A
-'é' = 1B
-'ê' = 1C
-'ë' = 1D
-'ì' = 1E
-'î' = 20
-'ï' = 21
-'ò' = 22
-'ó' = 23
-'ô' = 24
-'œ' = 25
-'ù' = 26
-'ú' = 27
-'û' = 28
-'ñ' = 29
-'º' = 2A
-'ª' = 2B
-SUPER_ER = 2C
-'&' = 2D
-'+' = 2E
-LV = 34
-'=' = 35
-';' = 36
-'¿' = 51
-'¡' = 52
-PK = 53
-PKMN = 53 54
-POKEBLOCK = 55 56 57 58 59
-'Í' = 5A
-'%' = 5B
-'(' = 5C
-')' = 5D
-'â' = 68
-'í' = 6F
-UNK_SPACER = 77
-UP_ARROW = 79
-DOWN_ARROW = 7A
-LEFT_ARROW = 7B
-RIGHT_ARROW = 7C
-'0' = A1
-'1' = A2
-'2' = A3
-'3' = A4
-'4' = A5
-'5' = A6
-'6' = A7
-'7' = A8
-'8' = A9
-'9' = AA
-'!' = AB
-'?' = AC
-'.' = AD
-'-' = AE
-'·' = AF
-'…' = B0
-'“' = B1
-'”' = B2
-'‘' = B3
-'’' = B4
-'♂' = B5
-'♀' = B6
-'¥' = B7
-',' = B8
-'×' = B9
-'/' = BA
-'A' = BB
-'B' = BC
-'C' = BD
-'D' = BE
-'E' = BF
-'F' = C0
-'G' = C1
-'H' = C2
-'I' = C3
-'J' = C4
-'K' = C5
-'L' = C6
-'M' = C7
-'N' = C8
-'O' = C9
-'P' = CA
-'Q' = CB
-'R' = CC
-'S' = CD
-'T' = CE
-'U' = CF
-'V' = D0
-'W' = D1
-'X' = D2
-'Y' = D3
-'Z' = D4
-'a' = D5
-'b' = D6
-'c' = D7
-'d' = D8
-'e' = D9
-'f' = DA
-'g' = DB
-'h' = DC
-'i' = DD
-'j' = DE
-'k' = DF
-'l' = E0
-'m' = E1
-'n' = E2
-'o' = E3
-'p' = E4
-'q' = E5
-'r' = E6
-'s' = E7
-'t' = E8
-'u' = E9
-'v' = EA
-'w' = EB
-'x' = EC
-'y' = ED
-'z' = EE
-'▶' = EF
-':' = F0
-'Ä' = F1
-'Ö' = F2
-'Ü' = F3
-'ä' = F4
-'ö' = F5
-'ü' = F6
-TALL_PLUS = FC 0C FB
-'$' = FF
-
-@ Hiragana
-'あ' = 01
-'い' = 02
-'う' = 03
-'え' = 04
-'お' = 05
-'か' = 06
-'き' = 07
-'く' = 08
-'け' = 09
-'こ' = 0A
-'さ' = 0B
-'し' = 0C
-'す' = 0D
-'せ' = 0E
-'そ' = 0F
-'た' = 10
-'ち' = 11
-'つ' = 12
-'て' = 13
-'と' = 14
-'な' = 15
-'に' = 16
-'ぬ' = 17
-'ね' = 18
-'の' = 19
-'は' = 1A
-'ひ' = 1B
-'ふ' = 1C
-'へ' = 1D
-'ほ' = 1E
-'ま' = 1F
-'み' = 20
-'む' = 21
-'め' = 22
-'も' = 23
-'や' = 24
-'ゆ' = 25
-'よ' = 26
-'ら' = 27
-'り' = 28
-'る' = 29
-'れ' = 2A
-'ろ' = 2B
-'わ' = 2C
-'を' = 2D
-'ん' = 2E
-'ぁ' = 2F
-'ぃ' = 30
-'ぅ' = 31
-'ぇ' = 32
-'ぉ' = 33
-'ゃ' = 34
-'ゅ' = 35
-'ょ' = 36
-'が' = 37
-'ぎ' = 38
-'ぐ' = 39
-'げ' = 3A
-'ご' = 3B
-'ざ' = 3C
-'じ' = 3D
-'ず' = 3E
-'ぜ' = 3F
-'ぞ' = 40
-'だ' = 41
-'ぢ' = 42
-'づ' = 43
-'で' = 44
-'ど' = 45
-'ば' = 46
-'び' = 47
-'ぶ' = 48
-'べ' = 49
-'ぼ' = 4A
-'ぱ' = 4B
-'ぴ' = 4C
-'ぷ' = 4D
-'ぺ' = 4E
-'ぽ' = 4F
-'っ' = 50
-
-@ Katakana
-'ア' = 51
-'イ' = 52
-'ウ' = 53
-'エ' = 54
-'オ' = 55
-'カ' = 56
-'キ' = 57
-'ク' = 58
-'ケ' = 59
-'コ' = 5A
-'サ' = 5B
-'シ' = 5C
-'ス' = 5D
-'セ' = 5E
-'ソ' = 5F
-'タ' = 60
-'チ' = 61
-'ツ' = 62
-'テ' = 63
-'ト' = 64
-'ナ' = 65
-'ニ' = 66
-'ヌ' = 67
-'ネ' = 68
-'ノ' = 69
-'ハ' = 6A
-'ヒ' = 6B
-'フ' = 6C
-'ヘ' = 6D
-'ホ' = 6E
-'マ' = 6F
-'ミ' = 70
-'ム' = 71
-'メ' = 72
-'モ' = 73
-'ヤ' = 74
-'ユ' = 75
-'ヨ' = 76
-'ラ' = 77
-'リ' = 78
-'ル' = 79
-'レ' = 7A
-'ロ' = 7B
-'ワ' = 7C
-'ヲ' = 7D
-'ン' = 7E
-'ァ' = 7F
-'ィ' = 80
-'ゥ' = 81
-'ェ' = 82
-'ォ' = 83
-'ャ' = 84
-'ュ' = 85
-'ョ' = 86
-'ガ' = 87
-'ギ' = 88
-'グ' = 89
-'ゲ' = 8A
-'ゴ' = 8B
-'ザ' = 8C
-'ジ' = 8D
-'ズ' = 8E
-'ゼ' = 8F
-'ゾ' = 90
-'ダ' = 91
-'ヂ' = 92
-'ヅ' = 93
-'デ' = 94
-'ド' = 95
-'バ' = 96
-'ビ' = 97
-'ブ' = 98
-'ベ' = 99
-'ボ' = 9A
-'パ' = 9B
-'ピ' = 9C
-'プ' = 9D
-'ペ' = 9E
-'ポ' = 9F
-'ッ' = A0
-
-@ Japanese punctuation
-' ' = 00
-'!' = AB
-'?' = AC
-'。' = AD
-'ー' = AE
-'⋯' = B0
-
-STRING = FD
-
-@ string placeholders
-PLAYER = FD 01
-STR_VAR_1 = FD 02
-STR_VAR_2 = FD 03
-STR_VAR_3 = FD 04
-KUN = FD 05
-RIVAL = FD 06
-@ version-dependent strings (originally made for Ruby/Sapphire differences)
-@ Emerald uses the Sapphire strings (except for VERSION).
-VERSION = FD 07 @ "EMERALD"
-AQUA = FD 08
-MAGMA = FD 09
-ARCHIE = FD 0A
-MAXIE = FD 0B
-KYOGRE = FD 0C
-GROUDON = FD 0D
-
-@ battle string placeholders
-
-B_BUFF1 = FD 00
-B_BUFF2 = FD 01
-B_COPY_VAR_1 = FD 02
-B_COPY_VAR_2 = FD 03
-B_COPY_VAR_3 = FD 04
-B_PLAYER_MON1_NAME = FD 05
-B_OPPONENT_MON1_NAME = FD 06
-B_PLAYER_MON2_NAME = FD 07
-B_OPPONENT_MON2_NAME = FD 08
-B_LINK_PLAYER_MON1_NAME = FD 09
-B_LINK_OPPONENT_MON1_NAME = FD 0A
-B_LINK_PLAYER_MON2_NAME = FD 0B
-B_LINK_OPPONENT_MON2_NAME = FD 0C
-B_ATK_NAME_WITH_PREFIX_MON1 = FD 0D
-B_ATK_PARTNER_NAME = FD 0E
-B_ATK_NAME_WITH_PREFIX = FD 0F
-B_DEF_NAME_WITH_PREFIX = FD 10
-B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler
-B_ACTIVE_NAME_WITH_PREFIX = FD 12
-B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13
-B_CURRENT_MOVE = FD 14
-B_LAST_MOVE = FD 15
-B_LAST_ITEM = FD 16
-B_LAST_ABILITY = FD 17
-B_ATK_ABILITY = FD 18
-B_DEF_ABILITY = FD 19
-B_SCR_ACTIVE_ABILITY = FD 1A
-B_EFF_ABILITY = FD 1B
-B_TRAINER1_CLASS = FD 1C
-B_TRAINER1_NAME = FD 1D
-B_LINK_PLAYER_NAME = FD 1E
-B_LINK_PARTNER_NAME = FD 1F
-B_LINK_OPPONENT1_NAME = FD 20
-B_LINK_OPPONENT2_NAME = FD 21
-B_LINK_SCR_TRAINER_NAME = FD 22
-B_PLAYER_NAME = FD 23
-B_TRAINER1_LOSE_TEXT = FD 24
-B_TRAINER1_WIN_TEXT = FD 25
-B_26 = FD 26
-B_PC_CREATOR_NAME = FD 27
-B_ATK_PREFIX1 = FD 28
-B_DEF_PREFIX1 = FD 29
-B_ATK_PREFIX2 = FD 2A
-B_DEF_PREFIX2 = FD 2B
-B_ATK_PREFIX3 = FD 2C
-B_DEF_PREFIX3 = FD 2D
-B_TRAINER2_CLASS = FD 2E
-B_TRAINER2_NAME = FD 2F
-B_TRAINER2_LOSE_TEXT = FD 30
-B_TRAINER2_WIN_TEXT = FD 31
-B_PARTNER_CLASS = FD 32
-B_PARTNER_NAME = FD 33
-B_BUFF3 = FD 34
-
-@ indicates the end of a town/city name (before " TOWN" or " CITY")
-NAME_END = FC 00
-
-@ special 0xF7 character
-SPECIAL_F7 = F7
-
-@ more text functions
-
-COLOR = FC 01 @ use a color listed below right after
-HIGHLIGHT = FC 02 @ same as fc 01
-SHADOW = FC 03 @ same as fc 01
-COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
-PALETTE = FC 05 @ used in credits
-SIZE = FC 06 @ note that anything other than "SMALL" is invalid
-UNKNOWN_7 = FC 07
-PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
-PAUSE_UNTIL_PRESS = FC 09
-WAIT_SE = FC 0A
-PLAY_BGM = FC 0B
-ESCAPE = FC 0C
-SHIFT_TEXT = FC 0D
-UNKNOWN_E = FC 0E
-UNKNOWN_F = FC 0F
-PLAY_SE = FC 10
-CLEAR = FC 11
-SKIP = FC 12
-CLEAR_TO = FC 13
-UNKNOWN_14 = FC 14
-JPN = FC 15
-ENG = FC 16
-PAUSE_MUSIC = FC 17
-RESUME_MUSIC = FC 18
-
-@ colors
-
-TRANSPARENT = 00
-WHITE = 01
-DARK_GRAY = 02
-LIGHT_GRAY = 03
-RED = 04
-LIGHT_RED = 05
-GREEN = 06
-LIGHT_GREEN = 07
-BLUE = 08
-LIGHT_BLUE = 09
-@ these next colors can be set to anything arbitrary at runtime
-@ usually though they'll have the textbox border colors as described below
-DYNAMIC_COLOR1 = 0A @ white
-DYNAMIC_COLOR2 = 0B @ white with a tinge of green
-DYNAMIC_COLOR3 = 0C @ white 2
-DYNAMIC_COLOR4 = 0D @ aquamarine
-DYNAMIC_COLOR5 = 0E @ blue-green
-DYNAMIC_COLOR6 = 0F @ cerulean
-
-@ sound and music
-
-MUS_DUMMY = 00 00
-SE_USE_ITEM = 01 00
-SE_PC_LOGIN = 02 00
-SE_PC_OFF = 03 00
-SE_PC_ON = 04 00
-SE_SELECT = 05 00
-SE_WIN_OPEN = 06 00
-SE_WALL_HIT = 07 00
-SE_DOOR = 08 00
-SE_EXIT = 09 00
-SE_LEDGE = 0A 00
-SE_BIKE_BELL = 0B 00
-SE_NOT_EFFECTIVE = 0C 00
-SE_EFFECTIVE = 0D 00
-SE_SUPER_EFFECTIVE = 0E 00
-SE_BALL_OPEN = 0F 00
-SE_FAINT = 10 00
-SE_FLEE = 11 00
-SE_SLIDING_DOOR = 12 00
-SE_SHIP = 13 00
-SE_BANG = 14 00
-SE_PIN = 15 00
-SE_BOO = 16 00
-SE_BALL = 17 00
-SE_CONTEST_PLACE = 18 00
-SE_A = 19 00
-SE_I = 1A 00
-SE_U = 1B 00
-SE_E = 1C 00
-SE_O = 1D 00
-SE_N = 1E 00
-SE_SUCCESS = 1F 00
-SE_FAILURE = 20 00
-SE_EXP = 21 00
-SE_BIKE_HOP = 22 00
-SE_SWITCH = 23 00
-SE_CLICK = 24 00
-SE_FU_ZAKU = 25 00
-SE_CONTEST_CONDITION_LOSE = 26 00
-SE_LAVARIDGE_FALL_WARP = 27 00
-SE_ICE_STAIRS = 28 00
-SE_ICE_BREAK = 29 00
-SE_ICE_CRACK = 2A 00
-SE_FALL = 2B 00
-SE_UNLOCK = 2C 00
-SE_WARP_IN = 2D 00
-SE_WARP_OUT = 2E 00
-SE_REPEL = 2F 00
-SE_ROTATING_GATE = 30 00
-SE_TRUCK_MOVE = 31 00
-SE_TRUCK_STOP = 32 00
-SE_TRUCK_UNLOAD = 33 00
-SE_TRUCK_DOOR = 34 00
-SE_BERRY_BLENDER = 35 00
-SE_CARD = 36 00
-SE_SAVE = 37 00
-SE_BALL_BOUNCE_1 = 38 00
-SE_BALL_BOUNCE_2 = 39 00
-SE_BALL_BOUNCE_3 = 3A 00
-SE_BALL_BOUNCE_4 = 3B 00
-SE_BALL_TRADE = 3C 00
-SE_BALL_THROW = 3D 00
-SE_NOTE_C = 3E 00
-SE_NOTE_D = 3F 00
-SE_NOTE_E = 40 00
-SE_NOTE_F = 41 00
-SE_NOTE_G = 42 00
-SE_NOTE_A = 43 00
-SE_NOTE_B = 44 00
-SE_NOTE_C_HIGH = 45 00
-SE_PUDDLE = 46 00
-SE_BRIDGE_WALK = 47 00
-SE_ITEMFINDER = 48 00
-SE_DING_DONG = 49 00
-SE_BALLOON_RED = 4A 00
-SE_BALLOON_BLUE = 4B 00
-SE_BALLOON_YELLOW = 4C 00
-SE_BREAKABLE_DOOR = 4D 00
-SE_MUD_BALL = 4E 00
-SE_FIELD_POISON = 4F 00
-SE_ESCALATOR = 50 00
-SE_THUNDERSTORM = 51 00
-SE_THUNDERSTORM_STOP = 52 00
-SE_DOWNPOUR = 53 00
-SE_DOWNPOUR_STOP = 54 00
-SE_RAIN = 55 00
-SE_RAIN_STOP = 56 00
-SE_THUNDER = 57 00
-SE_THUNDER2 = 58 00
-SE_ELEVATOR = 59 00
-SE_LOW_HEALTH = 5A 00
-SE_EXP_MAX = 5B 00
-SE_ROULETTE_BALL = 5C 00
-SE_ROULETTE_BALL2 = 5D 00
-SE_TAILLOW_WING_FLAP = 5E 00
-SE_SHOP = 5F 00
-SE_CONTEST_HEART = 60 00
-SE_CONTEST_CURTAIN_RISE = 61 00
-SE_CONTEST_CURTAIN_FALL = 62 00
-SE_CONTEST_ICON_CHANGE = 63 00
-SE_CONTEST_ICON_CLEAR = 64 00
-SE_CONTEST_MONS_TURN = 65 00
-SE_SHINY = 66 00
-SE_INTRO_BLAST = 67 00
-SE_MUGSHOT = 68 00
-SE_APPLAUSE = 69 00
-SE_VEND = 6A 00
-SE_ORB = 6B 00
-SE_DEX_SCROLL = 6C 00
-SE_DEX_PAGE = 6D 00
-SE_POKENAV_ON = 6E 00
-SE_POKENAV_OFF = 6F 00
-SE_DEX_SEARCH = 70 00
-SE_EGG_HATCH = 71 00
-SE_BALL_TRAY_ENTER = 72 00
-SE_BALL_TRAY_BALL = 73 00
-SE_BALL_TRAY_EXIT = 74 00
-SE_GLASS_FLUTE = 75 00
-SE_M_THUNDERBOLT = 76 00
-SE_M_THUNDERBOLT2 = 77 00
-SE_M_HARDEN = 78 00
-SE_M_NIGHTMARE = 79 00
-SE_M_VITAL_THROW = 7A 00
-SE_M_VITAL_THROW2 = 7B 00
-SE_M_BUBBLE = 7C 00
-SE_M_BUBBLE2 = 7D 00
-SE_M_BUBBLE3 = 7E 00
-SE_M_RAIN_DANCE = 7F 00
-SE_M_CUT = 80 00
-SE_M_STRING_SHOT = 81 00
-SE_M_STRING_SHOT2 = 82 00
-SE_M_ROCK_THROW = 83 00
-SE_M_GUST = 84 00
-SE_M_GUST2 = 85 00
-SE_M_DOUBLE_SLAP = 86 00
-SE_M_DOUBLE_TEAM = 87 00
-SE_M_RAZOR_WIND = 88 00
-SE_M_ICY_WIND = 89 00
-SE_M_THUNDER_WAVE = 8A 00
-SE_M_COMET_PUNCH = 8B 00
-SE_M_MEGA_KICK = 8C 00
-SE_M_MEGA_KICK2 = 8D 00
-SE_M_CRABHAMMER = 8E 00
-SE_M_JUMP_KICK = 8F 00
-SE_M_FLAME_WHEEL = 90 00
-SE_M_FLAME_WHEEL2 = 91 00
-SE_M_FLAMETHROWER = 92 00
-SE_M_FIRE_PUNCH = 93 00
-SE_M_TOXIC = 94 00
-SE_M_SACRED_FIRE = 95 00
-SE_M_SACRED_FIRE2 = 96 00
-SE_M_EMBER = 97 00
-SE_M_TAKE_DOWN = 98 00
-SE_M_BLIZZARD = 99 00
-SE_M_BLIZZARD2 = 9A 00
-SE_M_SCRATCH = 9B 00
-SE_M_VICEGRIP = 9C 00
-SE_M_WING_ATTACK = 9D 00
-SE_M_FLY = 9E 00
-SE_M_SAND_ATTACK = 9F 00
-SE_M_RAZOR_WIND2 = A0 00
-SE_M_BITE = A1 00
-SE_M_HEADBUTT = A2 00
-SE_M_SURF = A3 00
-SE_M_HYDRO_PUMP = A4 00
-SE_M_WHIRLPOOL = A5 00
-SE_M_HORN_ATTACK = A6 00
-SE_M_TAIL_WHIP = A7 00
-SE_M_MIST = A8 00
-SE_M_POISON_POWDER = A9 00
-SE_M_BIND = AA 00
-SE_M_DRAGON_RAGE = AB 00
-SE_M_SING = AC 00
-SE_M_PERISH_SONG = AD 00
-SE_M_PAY_DAY = AE 00
-SE_M_DIG = AF 00
-SE_M_DIZZY_PUNCH = B0 00
-SE_M_SELF_DESTRUCT = B1 00
-SE_M_EXPLOSION = B2 00
-SE_M_ABSORB_2 = B3 00
-SE_M_ABSORB = B4 00
-SE_M_SCREECH = B5 00
-SE_M_BUBBLE_BEAM = B6 00
-SE_M_BUBBLE_BEAM2 = B7 00
-SE_M_SUPERSONIC = B8 00
-SE_M_BELLY_DRUM = B9 00
-SE_M_METRONOME = BA 00
-SE_M_BONEMERANG = BB 00
-SE_M_LICK = BC 00
-SE_M_PSYBEAM = BD 00
-SE_M_FAINT_ATTACK = BE 00
-SE_M_SWORDS_DANCE = BF 00
-SE_M_LEER = C0 00
-SE_M_SWAGGER = C1 00
-SE_M_SWAGGER2 = C2 00
-SE_M_HEAL_BELL = C3 00
-SE_M_CONFUSE_RAY = C4 00
-SE_M_SNORE = C5 00
-SE_M_BRICK_BREAK = C6 00
-SE_M_GIGA_DRAIN = C7 00
-SE_M_PSYBEAM2 = C8 00
-SE_M_SOLAR_BEAM = C9 00
-SE_M_PETAL_DANCE = CA 00
-SE_M_TELEPORT = CB 00
-SE_M_MINIMIZE = CC 00
-SE_M_SKETCH = CD 00
-SE_M_SWIFT = CE 00
-SE_M_REFLECT = CF 00
-SE_M_BARRIER = D0 00
-SE_M_DETECT = D1 00
-SE_M_LOCK_ON = D2 00
-SE_M_MOONLIGHT = D3 00
-SE_M_CHARM = D4 00
-SE_M_CHARGE = D5 00
-SE_M_STRENGTH = D6 00
-SE_M_HYPER_BEAM = D7 00
-SE_M_WATERFALL = D8 00
-SE_M_REVERSAL = D9 00
-SE_M_ACID_ARMOR = DA 00
-SE_M_SANDSTORM = DB 00
-SE_M_TRI_ATTACK = DC 00
-SE_M_TRI_ATTACK2 = DD 00
-SE_M_ENCORE = DE 00
-SE_M_ENCORE2 = DF 00
-SE_M_BATON_PASS = E0 00
-SE_M_MILK_DRINK = E1 00
-SE_M_ATTRACT = E2 00
-SE_M_ATTRACT2 = E3 00
-SE_M_MORNING_SUN = E4 00
-SE_M_FLATTER = E5 00
-SE_M_SAND_TOMB = E6 00
-SE_M_GRASSWHISTLE = E7 00
-SE_M_SPIT_UP = E8 00
-SE_M_DIVE = E9 00
-SE_M_EARTHQUAKE = EA 00
-SE_M_TWISTER = EB 00
-SE_M_SWEET_SCENT = EC 00
-SE_M_YAWN = ED 00
-SE_M_SKY_UPPERCUT = EE 00
-SE_M_STAT_INCREASE = EF 00
-SE_M_HEAT_WAVE = F0 00
-SE_M_UPROAR = F1 00
-SE_M_HAIL = F2 00
-SE_M_COSMIC_POWER = F3 00
-SE_M_TEETER_DANCE = F4 00
-SE_M_STAT_DECREASE = F5 00
-SE_M_HAZE = F6 00
-SE_M_HYPER_BEAM2 = F7 00
-SE_RG_DOOR = F8 00
-SE_RG_CARD_FLIP = F9 00
-SE_RG_CARD_FLIPPING = FA 00
-SE_RG_CARD_OPEN = FB 00
-SE_RG_BAG_CURSOR = FC 00
-SE_RG_BAG_POCKET = FD 00
-SE_RG_BALL_CLICK = FE 00
-SE_RG_SHOP = FF 00
-SE_RG_SS_ANNE_HORN = 00 01
-SE_RG_HELP_OPEN = 01 01
-SE_RG_HELP_CLOSE = 02 01
-SE_RG_HELP_ERROR = 03 01
-SE_RG_DEOXYS_MOVE = 04 01
-SE_RG_POKE_JUMP_SUCCESS = 05 01
-SE_RG_POKE_JUMP_FAILURE = 06 01
-SE_POKENAV_CALL = 07 01
-SE_POKENAV_HANG_UP = 08 01
-SE_ARENA_TIMEUP1 = 09 01
-SE_ARENA_TIMEUP2 = 0A 01
-SE_PIKE_CURTAIN_CLOSE = 0B 01
-SE_PIKE_CURTAIN_OPEN = 0C 01
-SE_SUDOWOODO_SHAKE = 0D 01
-MUS_LITTLEROOT_TEST = 5E 01
-MUS_GSC_ROUTE38 = 5F 01
-MUS_CAUGHT = 60 01
-MUS_VICTORY_WILD = 61 01
-MUS_VICTORY_GYM_LEADER = 62 01
-MUS_VICTORY_LEAGUE = 63 01
-MUS_C_COMM_CENTER = 64 01
-MUS_GSC_PEWTER = 65 01
-MUS_C_VS_LEGEND_BEAST = 66 01
-MUS_ROUTE101 = 67 01
-MUS_ROUTE110 = 68 01
-MUS_ROUTE120 = 69 01
-MUS_PETALBURG = 6A 01
-MUS_OLDALE = 6B 01
-MUS_GYM = 6C 01
-MUS_SURF = 6D 01
-MUS_PETALBURG_WOODS = 6E 01
-MUS_LEVEL_UP = 6F 01
-MUS_HEAL = 70 01
-MUS_OBTAIN_BADGE = 71 01
-MUS_OBTAIN_ITEM = 72 01
-MUS_EVOLVED = 73 01
-MUS_OBTAIN_TMHM = 74 01
-MUS_LILYCOVE_MUSEUM = 75 01
-MUS_ROUTE122 = 76 01
-MUS_OCEANIC_MUSEUM = 77 01
-MUS_EVOLUTION_INTRO = 78 01
-MUS_EVOLUTION = 79 01
-MUS_MOVE_DELETED = 7A 01
-MUS_ENCOUNTER_GIRL = 7B 01
-MUS_ENCOUNTER_MALE = 7C 01
-MUS_ABANDONED_SHIP = 7D 01
-MUS_FORTREE = 7E 01
-MUS_BIRCH_LAB = 7F 01
-MUS_B_TOWER_RS = 80 01
-MUS_ENCOUNTER_SWIMMER = 81 01
-MUS_CAVE_OF_ORIGIN = 82 01
-MUS_OBTAIN_BERRY = 83 01
-MUS_AWAKEN_LEGEND = 84 01
-MUS_SLOTS_JACKPOT = 85 01
-MUS_SLOTS_WIN = 86 01
-MUS_TOO_BAD = 87 01
-MUS_ROULETTE = 88 01
-MUS_LINK_CONTEST_P1 = 89 01
-MUS_LINK_CONTEST_P2 = 8A 01
-MUS_LINK_CONTEST_P3 = 8B 01
-MUS_LINK_CONTEST_P4 = 8C 01
-MUS_ENCOUNTER_RICH = 8D 01
-MUS_VERDANTURF = 8E 01
-MUS_RUSTBORO = 8F 01
-MUS_POKE_CENTER = 90 01
-MUS_ROUTE104 = 91 01
-MUS_ROUTE119 = 92 01
-MUS_CYCLING = 93 01
-MUS_POKE_MART = 94 01
-MUS_LITTLEROOT = 95 01
-MUS_MT_CHIMNEY = 96 01
-MUS_ENCOUNTER_FEMALE = 97 01
-MUS_LILYCOVE = 98 01
-MUS_ROUTE111 = 99 01
-MUS_HELP = 9A 01
-MUS_UNDERWATER = 9B 01
-MUS_VICTORY_TRAINER = 9C 01
-MUS_TITLE = 9D 01
-MUS_INTRO = 9E 01
-MUS_ENCOUNTER_MAY = 9F 01
-MUS_ENCOUNTER_INTENSE = A0 01
-MUS_ENCOUNTER_COOL = A1 01
-MUS_ROUTE113 = A2 01
-MUS_ENCOUNTER_AQUA = A3 01
-MUS_FOLLOW_ME = A4 01
-MUS_ENCOUNTER_BRENDAN = A5 01
-MUS_EVER_GRANDE = A6 01
-MUS_ENCOUNTER_SUSPICIOUS = A7 01
-MUS_VICTORY_AQUA_MAGMA = A8 01
-MUS_CABLE_CAR = A9 01
-MUS_GAME_CORNER = AA 01
-MUS_DEWFORD = AB 01
-MUS_SAFARI_ZONE = AC 01
-MUS_VICTORY_ROAD = AD 01
-MUS_AQUA_MAGMA_HIDEOUT = AE 01
-MUS_SAILING = AF 01
-MUS_MT_PYRE = B0 01
-MUS_SLATEPORT = B1 01
-MUS_MT_PYRE_EXTERIOR = B2 01
-MUS_SCHOOL = B3 01
-MUS_HALL_OF_FAME = B4 01
-MUS_FALLARBOR = B5 01
-MUS_SEALED_CHAMBER = B6 01
-MUS_CONTEST_WINNER = B7 01
-MUS_CONTEST = B8 01
-MUS_ENCOUNTER_MAGMA = B9 01
-MUS_INTRO_BATTLE = BA 01
-MUS_ABNORMAL_WEATHER = BB 01
-MUS_WEATHER_GROUDON = BC 01
-MUS_SOOTOPOLIS = BD 01
-MUS_CONTEST_RESULTS = BE 01
-MUS_HALL_OF_FAME_ROOM = BF 01
-MUS_TRICK_HOUSE = C0 01
-MUS_ENCOUNTER_TWINS = C1 01
-MUS_ENCOUNTER_ELITE_FOUR = C2 01
-MUS_ENCOUNTER_HIKER = C3 01
-MUS_CONTEST_LOBBY = C4 01
-MUS_ENCOUNTER_INTERVIEWER = C5 01
-MUS_ENCOUNTER_CHAMPION = C6 01
-MUS_CREDITS = C7 01
-MUS_END = C8 01
-MUS_B_FRONTIER = C9 01
-MUS_B_ARENA = CA 01
-MUS_OBTAIN_B_POINTS = CB 01
-MUS_REGISTER_MATCH_CALL = CC 01
-MUS_B_PYRAMID = CD 01
-MUS_B_PYRAMID_TOP = CE 01
-MUS_B_PALACE = CF 01
-MUS_RAYQUAZA_APPEARS = D0 01
-MUS_B_TOWER = D1 01
-MUS_OBTAIN_SYMBOL = D2 01
-MUS_B_DOME = D3 01
-MUS_B_PIKE = D4 01
-MUS_B_FACTORY = D5 01
-MUS_VS_RAYQUAZA = D6 01
-MUS_VS_FRONTIER_BRAIN = D7 01
-MUS_VS_MEW = D8 01
-MUS_B_DOME_LOBBY = D9 01
-MUS_VS_WILD = DA 01
-MUS_VS_AQUA_MAGMA = DB 01
-MUS_VS_TRAINER = DC 01
-MUS_VS_GYM_LEADER = DD 01
-MUS_VS_CHAMPION = DE 01
-MUS_VS_REGI = DF 01
-MUS_VS_KYOGRE_GROUDON = E0 01
-MUS_VS_RIVAL = E1 01
-MUS_VS_ELITE_FOUR = E2 01
-MUS_VS_AQUA_MAGMA_LEADER = E3 01
-MUS_RG_FOLLOW_ME = E4 01
-MUS_RG_GAME_CORNER = E5 01
-MUS_RG_ROCKET_HIDEOUT = E6 01
-MUS_RG_GYM = E7 01
-MUS_RG_JIGGLYPUFF = E8 01
-MUS_RG_INTRO_FIGHT = E9 01
-MUS_RG_TITLE = EA 01
-MUS_RG_CINNABAR = EB 01
-MUS_RG_LAVENDER = EC 01
-MUS_RG_HEAL = ED 01
-MUS_RG_CYCLING = EE 01
-MUS_RG_ENCOUNTER_ROCKET = EF 01
-MUS_RG_ENCOUNTER_GIRL = F0 01
-MUS_RG_ENCOUNTER_BOY = F1 01
-MUS_RG_HALL_OF_FAME = F2 01
-MUS_RG_VIRIDIAN_FOREST = F3 01
-MUS_RG_MT_MOON = F4 01
-MUS_RG_POKE_MANSION = F5 01
-MUS_RG_CREDITS = F6 01
-MUS_RG_ROUTE1 = F7 01
-MUS_RG_ROUTE24 = F8 01
-MUS_RG_ROUTE3 = F9 01
-MUS_RG_ROUTE11 = FA 01
-MUS_RG_VICTORY_ROAD = FB 01
-MUS_RG_VS_GYM_LEADER = FC 01
-MUS_RG_VS_TRAINER = FD 01
-MUS_RG_VS_WILD = FE 01
-MUS_RG_VS_CHAMPION = FF 01
-MUS_RG_PALLET = 00 02
-MUS_RG_OAK_LAB = 01 02
-MUS_RG_OAK = 02 02
-MUS_RG_POKE_CENTER = 03 02
-MUS_RG_SS_ANNE = 04 02
-MUS_RG_SURF = 05 02
-MUS_RG_POKE_TOWER = 06 02
-MUS_RG_SILPH = 07 02
-MUS_RG_FUCHSIA = 08 02
-MUS_RG_CELADON = 09 02
-MUS_RG_VICTORY_TRAINER = 0A 02
-MUS_RG_VICTORY_WILD = 0B 02
-MUS_RG_VICTORY_GYM_LEADER = 0C 02
-MUS_RG_VERMILLION = 0D 02
-MUS_RG_PEWTER = 0E 02
-MUS_RG_ENCOUNTER_RIVAL = 0F 02
-MUS_RG_RIVAL_EXIT = 10 02
-MUS_RG_DEX_RATING = 11 02
-MUS_RG_OBTAIN_KEY_ITEM = 12 02
-MUS_RG_CAUGHT_INTRO = 13 02
-MUS_RG_PHOTO = 14 02
-MUS_RG_GAME_FREAK = 15 02
-MUS_RG_CAUGHT = 16 02
-MUS_RG_NEW_GAME_INSTRUCT = 17 02
-MUS_RG_NEW_GAME_INTRO = 18 02
-MUS_RG_NEW_GAME_EXIT = 19 02
-MUS_RG_POKE_JUMP = 1A 02
-MUS_RG_UNION_ROOM = 1B 02
-MUS_RG_NET_CENTER = 1C 02
-MUS_RG_MYSTERY_GIFT = 1D 02
-MUS_RG_BERRY_PICK = 1E 02
-MUS_RG_SEVII_CAVE = 1F 02
-MUS_RG_TEACHY_TV_SHOW = 20 02
-MUS_RG_SEVII_ROUTE = 21 02
-MUS_RG_SEVII_DUNGEON = 22 02
-MUS_RG_SEVII_123 = 23 02
-MUS_RG_SEVII_45 = 24 02
-MUS_RG_SEVII_67 = 25 02
-MUS_RG_POKE_FLUTE = 26 02
-MUS_RG_VS_DEOXYS = 27 02
-MUS_RG_VS_MEWTWO = 28 02
-MUS_RG_VS_LEGEND = 29 02
-MUS_RG_ENCOUNTER_GYM_LEADER = 2A 02
-MUS_RG_ENCOUNTER_DEOXYS = 2B 02
-MUS_RG_TRAINER_TOWER = 2C 02
-MUS_RG_SLOW_PALLET = 2D 02
-MUS_RG_TEACHY_TV_MENU = 2E 02
-PH_TRAP_BLEND = 2F 02
-PH_TRAP_HELD = 30 02
-PH_TRAP_SOLO = 31 02
-PH_FACE_BLEND = 32 02
-PH_FACE_HELD = 33 02
-PH_FACE_SOLO = 34 02
-PH_CLOTH_BLEND = 35 02
-PH_CLOTH_HELD = 36 02
-PH_CLOTH_SOLO = 37 02
-PH_DRESS_BLEND = 38 02
-PH_DRESS_HELD = 39 02
-PH_DRESS_SOLO = 3A 02
-PH_FLEECE_BLEND = 3B 02
-PH_FLEECE_HELD = 3C 02
-PH_FLEECE_SOLO = 3D 02
-PH_KIT_BLEND = 3E 02
-PH_KIT_HELD = 3F 02
-PH_KIT_SOLO = 40 02
-PH_PRICE_BLEND = 41 02
-PH_PRICE_HELD = 42 02
-PH_PRICE_SOLO = 43 02
-PH_LOT_BLEND = 44 02
-PH_LOT_HELD = 45 02
-PH_LOT_SOLO = 46 02
-PH_GOAT_BLEND = 47 02
-PH_GOAT_HELD = 48 02
-PH_GOAT_SOLO = 49 02
-PH_THOUGHT_BLEND = 4A 02
-PH_THOUGHT_HELD = 4B 02
-PH_THOUGHT_SOLO = 4C 02
-PH_CHOICE_BLEND = 4D 02
-PH_CHOICE_HELD = 4E 02
-PH_CHOICE_SOLO = 4F 02
-PH_MOUTH_BLEND = 50 02
-PH_MOUTH_HELD = 51 02
-PH_MOUTH_SOLO = 52 02
-PH_FOOT_BLEND = 53 02
-PH_FOOT_HELD = 54 02
-PH_FOOT_SOLO = 55 02
-PH_GOOSE_BLEND = 56 02
-PH_GOOSE_HELD = 57 02
-PH_GOOSE_SOLO = 58 02
-PH_STRUT_BLEND = 59 02
-PH_STRUT_HELD = 5A 02
-PH_STRUT_SOLO = 5B 02
-PH_CURE_BLEND = 5C 02
-PH_CURE_HELD = 5D 02
-PH_CURE_SOLO = 5E 02
-PH_NURSE_BLEND = 5F 02
-PH_NURSE_HELD = 60 02
-PH_NURSE_SOLO = 61 02
-
-A_BUTTON = F8 00
-B_BUTTON = F8 01
-DPAD_UPDOWN = F8 0A
-DPAD_NONE = F8 0C
-
-UP_ARROW_2 = F9 00
-DOWN_ARROW_2 = F9 01
-LEFT_ARROW_2 = F9 02
-RIGHT_ARROW_2 = F9 03
-PLUS = F9 04
-LV_2 = F9 05
-PP = F9 06
-ID = F9 07
-NO = F9 08
-UNDERSCORE = F9 09
-CIRCLE_1 = F9 0A
-CIRCLE_2 = F9 0B
-CIRCLE_3 = F9 0C
-CIRCLE_4 = F9 0D
-CIRCLE_5 = F9 0E
-CIRCLE_6 = F9 0F
-CIRCLE_7 = F9 10
-CIRCLE_8 = F9 11
-CIRCLE_9 = F9 12
-ROUND_LEFT_PAREN = F9 13
-ROUND_RIGHT_PAREN = F9 14
-CIRCLE_DOT = F9 15
-TRIANGLE = F9 16
-BIG_MULT_X = F9 17
-
-EMOJI_UNDERSCORE = F9 D0
-EMOJI_PIPE = F9 D1
-EMOJI_HIGHBAR = F9 D2
-EMOJI_TILDE = F9 D3
-EMOJI_LEFT_PAREN = F9 D4
-EMOJI_RIGHT_PAREN = F9 D5
-EMOJI_UNION = F9 D6 @ ⊂
-EMOJI_GREATER_THAN = F9 D7
-EMOJI_LEFT_EYE = F9 D8
-EMOJI_RIGHT_EYE = F9 D9
-EMOJI_AT = F9 DA
-EMOJI_SEMICOLON = F9 DB
-EMOJI_PLUS = F9 DC
-EMOJI_MINUS = F9 DD
-EMOJI_EQUALS = F9 DE
-EMOJI_SPIRAL = F9 DF
-EMOJI_TONGUE = F9 E0
-EMOJI_TRIANGLE_OUTLINE = F9 E1
-EMOJI_ACUTE = F9 E2
-EMOJI_GRAVE = F9 E3
-EMOJI_CIRCLE = F9 E4
-EMOJI_TRIANGLE = F9 E5
-EMOJI_SQUARE = F9 E6
-EMOJI_HEART = F9 E7
-EMOJI_MOON = F9 E8
-EMOJI_NOTE = F9 E9
-EMOJI_BALL = F9 EA
-EMOJI_BOLT = F9 EB
-EMOJI_LEAF = F9 EC
-EMOJI_FIRE = F9 ED
-EMOJI_WATER = F9 EE
-EMOJI_LEFT_FIST = F9 EF
-EMOJI_RIGHT_FIST = F9 F0
-EMOJI_BIGWHEEL = F9 F1
-EMOJI_SMALLWHEEL = F9 F2
-EMOJI_SPHERE = F9 F3
-EMOJI_IRRITATED = F9 F4
-EMOJI_MISCHIEVOUS = F9 F5
-EMOJI_HAPPY = F9 F6
-EMOJI_ANGRY = F9 F7
-EMOJI_SURPRISED = F9 F8
-EMOJI_BIGSMILE = F9 F9
-EMOJI_EVIL = F9 FA
-EMOJI_TIRED = F9 FB
-EMOJI_NEUTRAL = F9 FC
-EMOJI_SHOCKED = F9 FD
-EMOJI_BIGANGER = F9 FE
-
-'\l' = FA @ scroll up window text
-'\p' = FB @ new paragraph
-'\n' = FE @ new line
diff --git a/berry_fix/payload/common_syms/agb_flash.txt b/berry_fix/payload/common_syms/agb_flash.txt
deleted file mode 100644
index cb421ec80d..0000000000
--- a/berry_fix/payload/common_syms/agb_flash.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-gFlashTimeoutFlag
-PollFlashStatus
-WaitForFlashWrite
-ProgramFlashSector
-gFlash
-ProgramFlashByte
-gFlashNumRemainingBytes
-EraseFlashChip
-EraseFlashSector
-gFlashMaxTime
diff --git a/berry_fix/payload/common_syms/main.txt b/berry_fix/payload/common_syms/main.txt
deleted file mode 100644
index b62c721240..0000000000
--- a/berry_fix/payload/common_syms/main.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-gIntrTable
-gHeldKeys
-gNewKeys
-gIntrVector
-gUpdateSuccessful
-gUnknown_3001194
-gUnknown_30011A0
-gMainCallbackState
-gGameVersion
diff --git a/berry_fix/payload/common_syms/rtc.txt b/berry_fix/payload/common_syms/rtc.txt
deleted file mode 100644
index 7aafbe65df..0000000000
--- a/berry_fix/payload/common_syms/rtc.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-gTimeSinceBerryUpdate
-gRtcUTCTime
diff --git a/berry_fix/payload/constants/gba_constants.inc b/berry_fix/payload/constants/gba_constants.inc
deleted file mode 100644
index 9d59c8fcdd..0000000000
--- a/berry_fix/payload/constants/gba_constants.inc
+++ /dev/null
@@ -1,490 +0,0 @@
- .set PSR_USR_MODE, 0x00000010
- .set PSR_FIQ_MODE, 0x00000011
- .set PSR_IRQ_MODE, 0x00000012
- .set PSR_SVC_MODE, 0x00000013
- .set PSR_ABT_MODE, 0x00000017
- .set PSR_UND_MODE, 0x0000001b
- .set PSR_SYS_MODE, 0x0000001f
- .set PSR_MODE_MASK, 0x0000001f
- .set PSR_T_BIT, 0x00000020
- .set PSR_F_BIT, 0x00000040
- .set PSR_I_BIT, 0x00000080
-
- .set EWRAM_START, 0x02000000
- .set EWRAM_END, EWRAM_START + 0x40000
- .set IWRAM_START, 0x03000000
- .set IWRAM_END, IWRAM_START + 0x8000
-
- .set PLTT, 0x5000000
- .set BG_PLTT, PLTT
- .set OBJ_PLTT, PLTT + 0x200
-
- .set VRAM, 0x6000000
- .set BG_VRAM, VRAM
- .set OBJ_VRAM0, VRAM + 0x10000 @ text-mode BG
- .set OBJ_VRAM1, VRAM + 0x14000 @ bitmap-mode BG
-
- .set OAM, 0x7000000
-
- .set SOUND_INFO_PTR, 0x3007FF0
- .set INTR_CHECK, 0x3007FF8
- .set INTR_VECTOR, 0x3007FFC
-
- .set INTR_FLAG_VBLANK, 1 << 0
- .set INTR_FLAG_HBLANK, 1 << 1
- .set INTR_FLAG_VCOUNT, 1 << 2
- .set INTR_FLAG_TIMER0, 1 << 3
- .set INTR_FLAG_TIMER1, 1 << 4
- .set INTR_FLAG_TIMER2, 1 << 5
- .set INTR_FLAG_TIMER3, 1 << 6
- .set INTR_FLAG_SERIAL, 1 << 7
- .set INTR_FLAG_DMA0, 1 << 8
- .set INTR_FLAG_DMA1, 1 << 9
- .set INTR_FLAG_DMA2, 1 << 10
- .set INTR_FLAG_DMA3, 1 << 11
- .set INTR_FLAG_KEYPAD, 1 << 12
- .set INTR_FLAG_GAMEPAK, 1 << 13
-
- .set VCOUNT_VBLANK, 160
- .set TOTAL_SCANLINES, 228
-
- .set REG_BASE, 0x4000000 @ I/O register base address
-
-@ I/O register offsets
- .set OFFSET_REG_DISPCNT, 0x0
- .set OFFSET_REG_DISPSTAT, 0x4
- .set OFFSET_REG_VCOUNT, 0x6
- .set OFFSET_REG_BG0CNT, 0x8
- .set OFFSET_REG_BG1CNT, 0xa
- .set OFFSET_REG_BG2CNT, 0xc
- .set OFFSET_REG_BG3CNT, 0xe
- .set OFFSET_REG_BG0HOFS, 0x10
- .set OFFSET_REG_BG0VOFS, 0x12
- .set OFFSET_REG_BG1HOFS, 0x14
- .set OFFSET_REG_BG1VOFS, 0x16
- .set OFFSET_REG_BG2HOFS, 0x18
- .set OFFSET_REG_BG2VOFS, 0x1a
- .set OFFSET_REG_BG3HOFS, 0x1c
- .set OFFSET_REG_BG3VOFS, 0x1e
- .set OFFSET_REG_BG2PA, 0x20
- .set OFFSET_REG_BG2PB, 0x22
- .set OFFSET_REG_BG2PC, 0x24
- .set OFFSET_REG_BG2PD, 0x26
- .set OFFSET_REG_BG2X_L, 0x28
- .set OFFSET_REG_BG2X_H, 0x2a
- .set OFFSET_REG_BG2Y_L, 0x2c
- .set OFFSET_REG_BG2Y_H, 0x2e
- .set OFFSET_REG_BG3PA, 0x30
- .set OFFSET_REG_BG3PB, 0x32
- .set OFFSET_REG_BG3PC, 0x34
- .set OFFSET_REG_BG3PD, 0x36
- .set OFFSET_REG_BG3X_L, 0x38
- .set OFFSET_REG_BG3X_H, 0x3a
- .set OFFSET_REG_BG3Y_L, 0x3c
- .set OFFSET_REG_BG3Y_H, 0x3e
- .set OFFSET_REG_WIN0H, 0x40
- .set OFFSET_REG_WIN1H, 0x42
- .set OFFSET_REG_WIN0V, 0x44
- .set OFFSET_REG_WIN1V, 0x46
- .set OFFSET_REG_WININ, 0x48
- .set OFFSET_REG_WINOUT, 0x4a
- .set OFFSET_REG_MOSAIC, 0x4c
- .set OFFSET_REG_BLDCNT, 0x50
- .set OFFSET_REG_BLDALPHA, 0x52
- .set OFFSET_REG_BLDY, 0x54
-
- .set OFFSET_REG_SOUND1CNT, 0x60
- .set OFFSET_REG_SOUND1CNT_L, 0x60
- .set OFFSET_REG_NR10, 0x60
- .set OFFSET_REG_SOUND1CNT_H, 0x62
- .set OFFSET_REG_NR11, 0x62
- .set OFFSET_REG_NR12, 0x63
- .set OFFSET_REG_SOUND1CNT_X, 0x64
- .set OFFSET_REG_NR13, 0x64
- .set OFFSET_REG_NR14, 0x65
- .set OFFSET_REG_SOUND2CNT, 0x68
- .set OFFSET_REG_SOUND2CNT_L, 0x68
- .set OFFSET_REG_NR21, 0x68
- .set OFFSET_REG_NR22, 0x69
- .set OFFSET_REG_SOUND2CNT_H, 0x6c
- .set OFFSET_REG_NR23, 0x6c
- .set OFFSET_REG_NR24, 0x6d
- .set OFFSET_REG_SOUND3CNT, 0x70
- .set OFFSET_REG_SOUND3CNT_L, 0x70
- .set OFFSET_REG_NR30, 0x70
- .set OFFSET_REG_SOUND3CNT_H, 0x72
- .set OFFSET_REG_NR31, 0x72
- .set OFFSET_REG_NR32, 0x73
- .set OFFSET_REG_SOUND3CNT_X, 0x74
- .set OFFSET_REG_NR33, 0x74
- .set OFFSET_REG_NR34, 0x75
- .set OFFSET_REG_SOUND4CNT, 0x78
- .set OFFSET_REG_SOUND4CNT_L, 0x78
- .set OFFSET_REG_NR41, 0x78
- .set OFFSET_REG_NR42, 0x79
- .set OFFSET_REG_SOUND4CNT_H, 0x7c
- .set OFFSET_REG_NR43, 0x7c
- .set OFFSET_REG_NR44, 0x7d
- .set OFFSET_REG_SOUNDCNT, 0x80
- .set OFFSET_REG_SOUNDCNT_L, 0x80
- .set OFFSET_REG_NR50, 0x80
- .set OFFSET_REG_NR51, 0x81
- .set OFFSET_REG_SOUNDCNT_H, 0x82
- .set OFFSET_REG_SOUNDCNT_X, 0x84
- .set OFFSET_REG_NR52, 0x84
- .set OFFSET_REG_SOUNDBIAS, 0x88
- .set OFFSET_REG_WAVE_RAM, 0x90
- .set OFFSET_REG_WAVE_RAM0, 0x90
- .set OFFSET_REG_WAVE_RAM0_L, 0x90
- .set OFFSET_REG_WAVE_RAM0_H, 0x92
- .set OFFSET_REG_WAVE_RAM1, 0x94
- .set OFFSET_REG_WAVE_RAM1_L, 0x94
- .set OFFSET_REG_WAVE_RAM1_H, 0x96
- .set OFFSET_REG_WAVE_RAM2, 0x98
- .set OFFSET_REG_WAVE_RAM2_L, 0x98
- .set OFFSET_REG_WAVE_RAM2_H, 0x9a
- .set OFFSET_REG_WAVE_RAM3, 0x9c
- .set OFFSET_REG_WAVE_RAM3_L, 0x9c
- .set OFFSET_REG_WAVE_RAM3_H, 0x9e
- .set OFFSET_REG_FIFO, 0xa0
- .set OFFSET_REG_FIFO_A, 0xa0
- .set OFFSET_REG_FIFO_A_L, 0xa0
- .set OFFSET_REG_FIFO_A_H, 0xa2
- .set OFFSET_REG_FIFO_B, 0xa4
- .set OFFSET_REG_FIFO_B_L, 0xa4
- .set OFFSET_REG_FIFO_B_H, 0xa6
-
- .set OFFSET_REG_DMA0, 0xb0
- .set OFFSET_REG_DMA0SAD, 0xb0
- .set OFFSET_REG_DMA0SAD_L, 0xb0
- .set OFFSET_REG_DMA0SAD_H, 0xb2
- .set OFFSET_REG_DMA0DAD, 0xb4
- .set OFFSET_REG_DMA0DAD_L, 0xb4
- .set OFFSET_REG_DMA0DAD_H, 0xb6
- .set OFFSET_REG_DMA0CNT, 0xb8
- .set OFFSET_REG_DMA0CNT_L, 0xb8
- .set OFFSET_REG_DMA0CNT_H, 0xba
- .set OFFSET_REG_DMA1, 0xbc
- .set OFFSET_REG_DMA1SAD, 0xbc
- .set OFFSET_REG_DMA1SAD_L, 0xbc
- .set OFFSET_REG_DMA1SAD_H, 0xbe
- .set OFFSET_REG_DMA1DAD, 0xc0
- .set OFFSET_REG_DMA1DAD_L, 0xc0
- .set OFFSET_REG_DMA1DAD_H, 0xc2
- .set OFFSET_REG_DMA1CNT, 0xc4
- .set OFFSET_REG_DMA1CNT_L, 0xc4
- .set OFFSET_REG_DMA1CNT_H, 0xc6
- .set OFFSET_REG_DMA2, 0xc8
- .set OFFSET_REG_DMA2SAD, 0xc8
- .set OFFSET_REG_DMA2SAD_L, 0xc8
- .set OFFSET_REG_DMA2SAD_H, 0xca
- .set OFFSET_REG_DMA2DAD, 0xcc
- .set OFFSET_REG_DMA2DAD_L, 0xcc
- .set OFFSET_REG_DMA2DAD_H, 0xce
- .set OFFSET_REG_DMA2CNT, 0xd0
- .set OFFSET_REG_DMA2CNT_L, 0xd0
- .set OFFSET_REG_DMA2CNT_H, 0xd2
- .set OFFSET_REG_DMA3, 0xd4
- .set OFFSET_REG_DMA3SAD, 0xd4
- .set OFFSET_REG_DMA3SAD_L, 0xd4
- .set OFFSET_REG_DMA3SAD_H, 0xd6
- .set OFFSET_REG_DMA3DAD, 0xd8
- .set OFFSET_REG_DMA3DAD_L, 0xd8
- .set OFFSET_REG_DMA3DAD_H, 0xda
- .set OFFSET_REG_DMA3CNT, 0xdc
- .set OFFSET_REG_DMA3CNT_L, 0xdc
- .set OFFSET_REG_DMA3CNT_H, 0xde
-
- .set OFFSET_REG_TM0CNT, 0x100
- .set OFFSET_REG_TM0CNT_L, 0x100
- .set OFFSET_REG_TM0CNT_H, 0x102
- .set OFFSET_REG_TM1CNT, 0x104
- .set OFFSET_REG_TM1CNT_L, 0x104
- .set OFFSET_REG_TM1CNT_H, 0x106
- .set OFFSET_REG_TM2CNT, 0x108
- .set OFFSET_REG_TM2CNT_L, 0x108
- .set OFFSET_REG_TM2CNT_H, 0x10a
- .set OFFSET_REG_TM3CNT, 0x10c
- .set OFFSET_REG_TM3CNT_L, 0x10c
- .set OFFSET_REG_TM3CNT_H, 0x10e
-
- .set OFFSET_REG_SIOCNT, 0x128
- .set OFFSET_REG_SIODATA8, 0x12a
- .set OFFSET_REG_SIODATA32, 0x120
- .set OFFSET_REG_SIOMLT_SEND, 0x12a
- .set OFFSET_REG_SIOMLT_RECV, 0x120
- .set OFFSET_REG_SIOMULTI0, 0x120
- .set OFFSET_REG_SIOMULTI1, 0x122
- .set OFFSET_REG_SIOMULTI2, 0x124
- .set OFFSET_REG_SIOMULTI3, 0x126
-
- .set OFFSET_REG_KEYINPUT, 0x130
- .set OFFSET_REG_KEYCNT, 0x132
-
- .set OFFSET_REG_RCNT, 0x134
-
- .set OFFSET_REG_JOYCNT, 0x140
- .set OFFSET_REG_JOYSTAT, 0x158
- .set OFFSET_REG_JOY_RECV, 0x150
- .set OFFSET_REG_JOY_RECV_L, 0x150
- .set OFFSET_REG_JOY_RECV_H, 0x152
- .set OFFSET_REG_JOY_TRANS, 0x154
- .set OFFSET_REG_JOY_TRANS_L, 0x154
- .set OFFSET_REG_JOY_TRANS_H, 0x156
-
- .set OFFSET_REG_IME, 0x208
- .set OFFSET_REG_IE, 0x200
- .set OFFSET_REG_IF, 0x202
-
- .set OFFSET_REG_WAITCNT, 0x204
-
-@ I/O register addresses
- .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT
- .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT
- .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT
- .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT
- .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT
- .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT
- .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT
- .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS
- .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS
- .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS
- .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS
- .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS
- .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS
- .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS
- .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS
- .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA
- .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB
- .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC
- .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD
- .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L
- .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H
- .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L
- .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H
- .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA
- .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB
- .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC
- .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD
- .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L
- .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H
- .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L
- .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H
- .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H
- .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H
- .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V
- .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V
- .set REG_WININ, REG_BASE + OFFSET_REG_WININ
- .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT
- .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC
- .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT
- .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA
- .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY
-
- .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT
- .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L
- .set REG_NR10, REG_BASE + OFFSET_REG_NR10
- .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H
- .set REG_NR11, REG_BASE + OFFSET_REG_NR11
- .set REG_NR12, REG_BASE + OFFSET_REG_NR12
- .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X
- .set REG_NR13, REG_BASE + OFFSET_REG_NR13
- .set REG_NR14, REG_BASE + OFFSET_REG_NR14
- .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT
- .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L
- .set REG_NR21, REG_BASE + OFFSET_REG_NR21
- .set REG_NR22, REG_BASE + OFFSET_REG_NR22
- .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H
- .set REG_NR23, REG_BASE + OFFSET_REG_NR23
- .set REG_NR24, REG_BASE + OFFSET_REG_NR24
- .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT
- .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L
- .set REG_NR30, REG_BASE + OFFSET_REG_NR30
- .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H
- .set REG_NR31, REG_BASE + OFFSET_REG_NR31
- .set REG_NR32, REG_BASE + OFFSET_REG_NR32
- .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X
- .set REG_NR33, REG_BASE + OFFSET_REG_NR33
- .set REG_NR34, REG_BASE + OFFSET_REG_NR34
- .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT
- .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L
- .set REG_NR41, REG_BASE + OFFSET_REG_NR41
- .set REG_NR42, REG_BASE + OFFSET_REG_NR42
- .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H
- .set REG_NR43, REG_BASE + OFFSET_REG_NR43
- .set REG_NR44, REG_BASE + OFFSET_REG_NR44
- .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT
- .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L
- .set REG_NR50, REG_BASE + OFFSET_REG_NR50
- .set REG_NR51, REG_BASE + OFFSET_REG_NR51
- .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H
- .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X
- .set REG_NR52, REG_BASE + OFFSET_REG_NR52
- .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS
- .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM
- .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0
- .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L
- .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H
- .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1
- .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L
- .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H
- .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2
- .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L
- .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H
- .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3
- .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L
- .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H
- .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO
- .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A
- .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L
- .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H
- .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B
- .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L
- .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H
-
- .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0
- .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD
- .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L
- .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H
- .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD
- .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L
- .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H
- .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT
- .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L
- .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H
- .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1
- .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD
- .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L
- .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H
- .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD
- .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L
- .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H
- .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT
- .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L
- .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H
- .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2
- .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD
- .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L
- .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H
- .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD
- .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L
- .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H
- .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT
- .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L
- .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H
- .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3
- .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD
- .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L
- .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H
- .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD
- .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L
- .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H
- .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT
- .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L
- .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H
-
- .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT
- .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L
- .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H
- .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT
- .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L
- .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H
- .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT
- .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L
- .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H
- .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT
- .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L
- .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H
-
- .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT
- .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8
- .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32
- .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND
- .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV
- .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0
- .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1
- .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2
- .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3
-
- .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT
- .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT
-
- .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT
-
- .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT
- .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT
- .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV
- .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L
- .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H
- .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS
- .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L
- .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H
-
- .set REG_IME, REG_BASE + OFFSET_REG_IME
- .set REG_IE, REG_BASE + OFFSET_REG_IE
- .set REG_IF, REG_BASE + OFFSET_REG_IF
-
- .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT
-
-@ DMA register constants
-
- .set DMA_DEST_INC, 0x0000
- .set DMA_DEST_DEC, 0x0020
- .set DMA_DEST_FIXED, 0x0040
- .set DMA_DEST_RELOAD, 0x0060
- .set DMA_SRC_INC, 0x0000
- .set DMA_SRC_DEC, 0x0080
- .set DMA_SRC_FIXED, 0x0100
- .set DMA_REPEAT, 0x0200
- .set DMA_16BIT, 0x0000
- .set DMA_32BIT, 0x0400
- .set DMA_DREQ_ON, 0x0800
- .set DMA_START_NOW, 0x0000
- .set DMA_START_VBLANK, 0x1000
- .set DMA_START_HBLANK, 0x2000
- .set DMA_START_SPECIAL, 0x3000
- .set DMA_INTR_ENABLE, 0x4000
- .set DMA_ENABLE, 0x8000
-
-@ OAM attribute constants
-
- .set OAM_OBJ_NORMAL, 0x00000000
- .set OAM_OBJ_BLEND, 0x00000400
- .set OAM_OBJ_WINDOW, 0x00000800
-
- .set OAM_AFFINE_NONE, 0x00000000
- .set OAM_AFFINE_NORMAL_SIZE, 0x00000100
- .set OAM_OBJ_DISABLED, 0x00000200
- .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300
-
- .set OAM_MOSAIC_OFF, 0x00000000
- .set OAM_MOSAIC_ON, 0x00001000
-
- .set OAM_4BPP, 0x00000000
- .set OAM_8BPP, 0x00002000
-
- .set OAM_H_FLIP, 0x10000000
- .set OAM_V_FLIP, 0x20000000
-
- .set OAM_SQUARE, 0x00000000
- .set OAM_H_RECTANGLE, 0x00004000
- .set OAM_V_RECTANGLE, 0x00008000
- .set OAM_SIZE_0, 0x00000000
- .set OAM_SIZE_1, 0x40000000
- .set OAM_SIZE_2, 0x80000000
- .set OAM_SIZE_3, 0xc0000000
-
- .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE
- .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE
- .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE
- .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE
-
- .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE
- .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE
- .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE
- .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE
-
- .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE
- .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE
- .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE
- .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE
diff --git a/berry_fix/payload/graphics/debug_digits.png b/berry_fix/payload/graphics/debug_digits.png
deleted file mode 100644
index edf0d36c96..0000000000
Binary files a/berry_fix/payload/graphics/debug_digits.png and /dev/null differ
diff --git a/berry_fix/payload/graphics/msg_box.png b/berry_fix/payload/graphics/msg_box.png
deleted file mode 100644
index 00d1bbe37e..0000000000
Binary files a/berry_fix/payload/graphics/msg_box.png and /dev/null differ
diff --git a/berry_fix/payload/graphics/msg_box.tilemap b/berry_fix/payload/graphics/msg_box.tilemap
deleted file mode 100644
index 5b82401bad..0000000000
Binary files a/berry_fix/payload/graphics/msg_box.tilemap and /dev/null differ
diff --git a/berry_fix/payload/include/constants/game_stat.h b/berry_fix/payload/include/constants/game_stat.h
deleted file mode 100644
index 47d703d853..0000000000
--- a/berry_fix/payload/include/constants/game_stat.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef GUARD_CONSTANTS_GAME_STAT_H
-#define GUARD_CONSTANTS_GAME_STAT_H
-
-#define GAME_STAT_SAVED_GAME 0
-#define GAME_STAT_FIRST_HOF_PLAY_TIME 1
-#define GAME_STAT_STARTED_TRENDS 2
-#define GAME_STAT_PLANTED_BERRIES 3
-#define GAME_STAT_TRADED_BIKES 4
-#define GAME_STAT_STEPS 5
-#define GAME_STAT_GOT_INTERVIEWED 6
-#define GAME_STAT_TOTAL_BATTLES 7
-#define GAME_STAT_WILD_BATTLES 8
-#define GAME_STAT_TRAINER_BATTLES 9
-#define GAME_STAT_ENTERED_HOF 10
-#define GAME_STAT_POKEMON_CAPTURES 11
-#define GAME_STAT_FISHING_CAPTURES 12
-#define GAME_STAT_HATCHED_EGGS 13
-#define GAME_STAT_EVOLVED_POKEMON 14
-#define GAME_STAT_USED_POKECENTER 15
-#define GAME_STAT_RESTED_AT_HOME 16
-#define GAME_STAT_ENTERED_SAFARI_ZONE 17
-#define GAME_STAT_USED_CUT 18
-#define GAME_STAT_USED_ROCK_SMASH 19
-#define GAME_STAT_MOVED_SECRET_BASE 20
-#define GAME_STAT_POKEMON_TRADES 21
-#define GAME_STAT_UNKNOWN_22 22
-#define GAME_STAT_LINK_BATTLE_WINS 23
-#define GAME_STAT_LINK_BATTLE_LOSSES 24
-#define GAME_STAT_LINK_BATTLE_DRAWS 25
-#define GAME_STAT_USED_SPLASH 26
-#define GAME_STAT_USED_STRUGGLE 27
-#define GAME_STAT_SLOT_JACKPOTS 28
-#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29
-#define GAME_STAT_ENTERED_BATTLE_TOWER 30
-#define GAME_STAT_UNKNOWN_31 31
-#define GAME_STAT_BATTLE_TOWER_BEST_STREAK 32
-#define GAME_STAT_POKEBLOCKS 33
-#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34
-#define GAME_STAT_WON_LINK_CONTEST 35
-#define GAME_STAT_ENTERED_CONTEST 36
-#define GAME_STAT_WON_CONTEST 37
-#define GAME_STAT_SHOPPED 38
-#define GAME_STAT_USED_ITEMFINDER 39
-#define GAME_STAT_GOT_RAINED_ON 40
-#define GAME_STAT_CHECKED_POKEDEX 41
-#define GAME_STAT_RECEIVED_RIBBONS 42
-#define GAME_STAT_JUMPED_DOWN_LEDGES 43
-#define GAME_STAT_WATCHED_TV 44
-#define GAME_STAT_CHECKED_CLOCK 45
-#define GAME_STAT_WON_POKEMON_LOTTERY 46
-#define GAME_STAT_USED_DAYCARE 47
-#define GAME_STAT_RODE_CABLE_CAR 48
-#define GAME_STAT_ENTERED_HOT_SPRINGS 49
-#define NUM_GAME_STATS 50
-
-#endif // GUARD_CONSTANTS_GAME_STAT_H
diff --git a/berry_fix/payload/include/constants/vars.h b/berry_fix/payload/include/constants/vars.h
deleted file mode 100644
index 4b40c1d8c3..0000000000
--- a/berry_fix/payload/include/constants/vars.h
+++ /dev/null
@@ -1,196 +0,0 @@
-#ifndef GUARD_CONSTANTS_VARS_H
-#define GUARD_CONSTANTS_VARS_H
-
-#define VAR_0x3F20 0x3F20
-
-#define VARS_START 0x4000
-
-// temporary vars
-// The first 0x10 vars are are temporary--they are cleared every time a map is loaded.
-#define VAR_TEMP_0 0x4000
-#define VAR_TEMP_1 0x4001
-#define VAR_TEMP_2 0x4002
-#define VAR_TEMP_3 0x4003
-#define VAR_TEMP_4 0x4004
-#define VAR_TEMP_5 0x4005
-#define VAR_TEMP_6 0x4006
-#define VAR_TEMP_7 0x4007
-#define VAR_TEMP_8 0x4008
-#define VAR_TEMP_9 0x4009
-#define VAR_TEMP_A 0x400A
-#define VAR_TEMP_B 0x400B
-#define VAR_TEMP_C 0x400C
-#define VAR_TEMP_D 0x400D
-#define VAR_TEMP_E 0x400E
-#define VAR_TEMP_F 0x400F
-
-// object gfx id vars
-// These 0x10 vars are used to dynamically control a event object's sprite.
-// For example, the rival's sprite id is dynamically set based on the player's gender.
-// See VarGetEventObjectGraphicsId().
-#define VAR_OBJ_GFX_ID_0 0x4010
-#define VAR_OBJ_GFX_ID_1 0x4011
-#define VAR_OBJ_GFX_ID_2 0x4012
-#define VAR_OBJ_GFX_ID_3 0x4013
-#define VAR_OBJ_GFX_ID_4 0x4014
-#define VAR_OBJ_GFX_ID_5 0x4015
-#define VAR_OBJ_GFX_ID_6 0x4016
-#define VAR_OBJ_GFX_ID_7 0x4017
-#define VAR_OBJ_GFX_ID_8 0x4018
-#define VAR_OBJ_GFX_ID_9 0x4019
-#define VAR_OBJ_GFX_ID_A 0x401A
-#define VAR_OBJ_GFX_ID_B 0x401B
-#define VAR_OBJ_GFX_ID_C 0x401C
-#define VAR_OBJ_GFX_ID_D 0x401D
-#define VAR_OBJ_GFX_ID_E 0x401E
-#define VAR_OBJ_GFX_ID_F 0x401F
-
-// general purpose vars
-#define VAR_RECYCLE_GOODS 0x4020
-#define VAR_REPEL_STEP_COUNT 0x4021
-#define VAR_ICE_STEP_COUNT 0x4022
-#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip
-#define VAR_MIRAGE_RND_H 0x4024
-#define VAR_MIRAGE_RND_L 0x4025
-#define VAR_SECRET_BASE_MAP 0x4026
-#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027
-#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028
-#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029
-#define VAR_HAPPINESS_STEP_COUNTER 0x402A
-#define VAR_POISON_STEP_COUNTER 0x402B
-#define VAR_RESET_RTC_ENABLE 0x402C
-#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D
-
-#define VAR_DAYS 0x4040
-#define VAR_FANCLUB_UNKNOWN_1 0x4041 // TODO: document these two fanclub vars
-#define VAR_FANCLUB_UNKNOWN_2 0x4042
-#define VAR_DEPT_STORE_FLOOR 0x4043
-#define VAR_TRICK_HOUSE_ROOMS_COMPLETED 0x4044
-#define VAR_LOTTERY_PRIZE 0x4045
-#define VAR_NATIONAL_DEX 0x4046
-#define VAR_SHROOMISH_SIZE_RECORD 0x4047
-#define VAR_ASH_GATHER_COUNT 0x4048
-#define VAR_BIRCH_STATE 0x4049
-#define VAR_CRUISE_STEP_COUNT 0x404A
-#define VAR_LOTTERY_RND_L 0x404B
-#define VAR_LOTTERY_RND_H 0x404C
-
-#define VAR_BARBOACH_SIZE_RECORD 0x404F
-#define VAR_LITTLEROOT_STATE 0x4050
-#define VAR_ROUTE102_ACCESSIBLE 0x4051
-
-#define VAR_LAVARIDGE_RIVAL_STATE 0x4053
-#define VAR_CURRENT_SECRET_BASE 0x4054
-
-#define VAR_PETALBURG_STATE 0x4057
-#define VAR_SLATEPORT_STATE 0x4058
-
-#define VAR_RUSTBORO_STATE 0x405A
-
-#define VAR_SOOTOPOLIS_STATE 0x405E
-
-#define VAR_ROUTE101_STATE 0x4060
-
-#define VAR_ROUTE103_STATE 0x4062
-
-#define VAR_ROUTE110_STATE 0x4069
-
-#define VAR_ROUTE116_STATE 0x406F
-
-#define VAR_ROUTE118_STATE 0x4071
-#define VAR_ROUTE119_STATE 0x4072
-
-#define VAR_ROUTE121_STATE 0x4074
-#define VAR_ROUTE128_STATE 0x407B
-
-#define VAR_LITTLEROOT_HOUSES_STATE 0x4082 // TODO: needs more investigation
-
-#define VAR_BIRCH_LAB_STATE 0x4084
-#define VAR_PETALBURG_GYM_STATE 0x4085
-#define VAR_LINK_CONTEST_ROOM_STATE 0x4086
-#define VAR_CABLE_CLUB_STATE 0x4087
-#define VAR_CONTEST_LOCATION 0x4088
-#define VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F 0x4089 // TODO: related to decorations
-#define VAR_CONTEST_PRIZE_PICKUP 0x408A
-
-#define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C // TODO: needs more investigation
-#define VAR_LITTLEROOT_RIVAL_STATE 0x408D
-#define VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE 0x408E
-#define VAR_DEVON_CORP_3F_STATE 0x408F
-#define VAR_BRINEY_HOUSE_STATE 0x4090
-
-#define VAR_LITTLEROOT_INTRO_STATE 0x4092
-#define VAR_MAUVILLE_GYM_STATE 0x4093
-#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094
-#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095
-#define VAR_BRINEY_LOCATION 0x4096
-#define VAR_0x4097 0x4097 // TODO: related to creating new secret base
-#define VAR_PETALBURG_WOODS_STATE 0x4098
-#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099
-#define VAR_RUSTURF_TUNNEL_STATE 0x409a
-#define VAR_CAVE_OF_ORIGIN_B4F_STATE 0x409B
-#define VAR_ELITE_4_STATE 0x409C
-
-#define VAR_SLATEPORT_HARBOR_STATE 0x40A0
-
-#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2
-#define VAR_CABLE_CAR_STATION_STATE 0x40A3
-#define VAR_SAFARI_ZONE_STATE 0x40A4
-#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A5
-#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2 0x40A6
-#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3 0x40A7
-
-#define VAR_CYCLING_CHALLENGE_STATE 0x40A9
-#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA
-#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB
-#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC
-#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD
-#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE
-#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF
-#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0
-#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1
-#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2
-#define VAR_WEATHER_INSTITUTE_STATE 0x40B3
-#define VAR_PORTHOLE_STATE 0x40B4
-#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation
-#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6
-#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7
-
-#define VAR_MT_PYRE_STATE 0x40B9
-#define VAR_NEW_MAUVILLE_STATE 0x40BA
-
-#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC
-#define VAR_JAGGED_PASS_VOLCANIC_ASH_WEATHER 0x40BD
-#define VAR_GLASS_WORKSHOP_STATE 0x40BE
-#define VAR_METEOR_FALLS_STATE 0x40BF
-#define VAR_GAME_CORNER_STATE 0x40C0
-#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1
-#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2
-#define VAR_VICTORY_ROAD_1F_STATE 0x40C3
-#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4
-#define VAR_WHICH_FOSSIL_REVIVED 0x40C5
-#define VAR_STEVENS_HOUSE_STATE 0x40C6
-#define VAR_OLDALE_STATE 0x40C7
-
-// special vars
-// They are commonly used as parameters to commands, or return values from commands.
-#define VAR_SPECIAL_0 0x8000
-#define VAR_SPECIAL_1 0x8001
-#define VAR_SPECIAL_2 0x8002
-#define VAR_SPECIAL_3 0x8003
-#define VAR_SPECIAL_4 0x8004
-#define VAR_SPECIAL_5 0x8005
-#define VAR_SPECIAL_6 0x8006
-#define VAR_SPECIAL_7 0x8007
-#define VAR_SPECIAL_8 0x8008
-#define VAR_SPECIAL_9 0x8009
-#define VAR_SPECIAL_A 0x800A
-#define VAR_SPECIAL_B 0x800B
-#define FACING 0x800C
-#define RESULT 0x800D
-#define ITEM_ID 0x800E
-#define LAST_TALKED 0x800F
-#define CONTEST_RANK 0x8010
-#define CONTEST_CATEGORY 0x8011
-
-#endif // GUARD_CONSTANTS_VARS_H
diff --git a/berry_fix/payload/include/flash.h b/berry_fix/payload/include/flash.h
deleted file mode 100644
index 7fc35896d0..0000000000
--- a/berry_fix/payload/include/flash.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef GUARD_FLASH_H
-#define GUARD_FLASH_H
-
-#include "gba/gba.h"
-
-enum
-{
- SECTOR_DAMAGED,
- SECTOR_OK,
- SECTOR_CHECK, // unused
-};
-
-enum MsgBoxUpdateMessage
-{
- MSGBOX_WILL_NOW_UPDATE = 0,
- MSGBOX_HAS_BEEN_UPDATED,
- MSGBOX_UNABLE_TO_UPDATE,
- MSGBOX_NO_NEED_TO_UPDATE,
- MSGBOX_UPDATING
-};
-
-struct SaveSector
-{
- u8 data[0xFF4];
- u16 id;
- u16 checksum;
- u32 signature;
- u32 counter;
-}; // size is 0x1000
-
-// headless save section?
-struct UnkSaveSection
-{
- u8 data[0xFF4];
- u32 signature;
-}; // size is 0xFF8
-
-#define eSaveSection ((struct SaveSector *)0x2020000)
-
-#define NUM_SECTORS_PER_SAVE_SLOT 14 // Number of sectors occupied by a save slot
-#define FILE_SIGNATURE 0x08012025
-
-#define SAVE_STATUS_EMPTY 0
-#define SAVE_STATUS_OK 1
-#define SAVE_STATUS_NO_FLASH 4
-#define SAVE_STATUS_ERROR 0xFF
-
-bool32 flash_maincb_ident_is_valid(void);
-bool8 flash_maincb_read_save(u32);
-void msg_load_gfx(void);
-void msg_display(enum MsgBoxUpdateMessage);
-bool32 flash_maincb_check_need_reset_pacifidlog_tm(void);
-bool32 flash_maincb_reset_pacifidlog_tm(void);
-
-#endif //GUARD_FLASH_H
diff --git a/berry_fix/payload/include/gba/defines.h b/berry_fix/payload/include/gba/defines.h
deleted file mode 100644
index 4037af5846..0000000000
--- a/berry_fix/payload/include/gba/defines.h
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef GUARD_GBA_DEFINES_H
-#define GUARD_GBA_DEFINES_H
-
-#include
-
-#define TRUE 1
-#define FALSE 0
-
-#define BSS_DATA __attribute__((section(".bss")))
-#define IWRAM_DATA __attribute__((section("iwram_data")))
-#define EWRAM_DATA __attribute__((section("ewram_data")))
-#define UNUSED __attribute__((unused))
-#define NAKED __attribute__((naked))
-
-#define ALIGNED(n) __attribute__((aligned(n)))
-
-#define SOUND_INFO_PTR (*(struct SoundInfo **)0x3007FF0)
-#define INTR_CHECK (*(u16 *)0x3007FF8)
-#define INTR_VECTOR (*(void **)0x3007FFC)
-
-#define EWRAM_START 0x02000000
-#define EWRAM_END (EWRAM_START + 0x40000)
-#define IWRAM_START 0x03000000
-#define IWRAM_END (IWRAM_START + 0x8000)
-
-#define PLTT 0x5000000
-#define PLTT_SIZE 0x400
-
-#define BG_PLTT PLTT
-#define BG_PLTT_SIZE 0x200
-
-#define OBJ_PLTT (PLTT + 0x200)
-#define OBJ_PLTT_SIZE 0x200
-
-#define VRAM 0x6000000
-#define VRAM_SIZE 0x18000
-
-#define BG_VRAM VRAM
-#define BG_VRAM_SIZE 0x10000
-#define BG_CHAR_SIZE 0x4000
-#define BG_SCREEN_SIZE 0x800
-#define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n)))
-#define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n)))
-#define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n)))
-
-#define BG_TILE_H_FLIP(n) (0x400 + (n))
-#define BG_TILE_V_FLIP(n) (0x800 + (n))
-
-// text-mode BG
-#define OBJ_VRAM0 (void *)(VRAM + 0x10000)
-#define OBJ_VRAM0_SIZE 0x8000
-
-// bitmap-mode BG
-#define OBJ_VRAM1 (void *)(VRAM + 0x14000)
-#define OBJ_VRAM1_SIZE 0x4000
-
-#define OAM 0x7000000
-#define OAM_SIZE 0x400
-
-#define ROM_HEADER_SIZE 0xC0
-
-#define DISPLAY_WIDTH 240
-#define DISPLAY_HEIGHT 160
-
-#define TILE_SIZE_4BPP 32
-#define TILE_SIZE_8BPP 64
-
-#define TILE_OFFSET_4BPP(n) ((n) * TILE_SIZE_4BPP)
-#define TILE_OFFSET_8BPP(n) ((n) * TILE_SIZE_8BPP)
-
-#define TOTAL_OBJ_TILE_COUNT 1024
-
-#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10))
-#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r))
-#define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F))
-
-#define RGB_BLACK RGB(0, 0, 0)
-#define RGB_WHITE RGB(31, 31, 31)
-#define RGB_RED RGB(31, 0, 0)
-#define RGB_GREEN RGB(0, 31, 0)
-#define RGB_BLUE RGB(0, 0, 31)
-#define RGB_YELLOW RGB(31, 31, 0)
-#define RGB_MAGENTA RGB(31, 0, 31)
-#define RGB_CYAN RGB(0, 31, 31)
-#define RGB_WHITEALPHA (RGB_WHITE | 0x8000)
-
-#endif // GUARD_GBA_DEFINES_H
diff --git a/berry_fix/payload/include/gba/flash_internal.h b/berry_fix/payload/include/gba/flash_internal.h
deleted file mode 100644
index 6fbec31f1b..0000000000
--- a/berry_fix/payload/include/gba/flash_internal.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef GUARD_GBA_FLASH_INTERNAL_H
-#define GUARD_GBA_FLASH_INTERNAL_H
-
-#include "gba/gba.h"
-
-#define FLASH_BASE ((u8 *)0xE000000)
-
-#define FLASH_WRITE(addr, data) ((*(vu8 *)(FLASH_BASE + (addr))) = (data))
-
-#define FLASH_ROM_SIZE_1M 131072 // 1 megabit ROM
-
-#define SECTORS_PER_BANK 16
-
-struct FlashSector
-{
- u32 size;
- u8 shift;
- u16 count;
- u16 top;
-};
-
-struct FlashType {
- u32 romSize;
- struct FlashSector sector;
- u16 wait[2]; // game pak bus read/write wait
-
- // TODO: add support for anonymous unions/structs if possible
- union {
- struct {
- u8 makerId;
- u8 deviceId;
- } separate;
- u16 joined;
- } ids;
-};
-
-struct FlashSetupInfo
-{
- u16 (*programFlashByte)(u16, u32, u8);
- u16 (*programFlashSector)(u16, void *);
- u16 (*eraseFlashChip)(void);
- u16 (*eraseFlashSector)(u16);
- u16 (*WaitForFlashWrite)(u8, u8 *, u8);
- const u16 *maxTime;
- struct FlashType type;
-};
-
-extern u16 gFlashNumRemainingBytes;
-
-extern u16 (*ProgramFlashByte)(u16, u32, u8);
-extern u16 (*ProgramFlashSector)(u16, void *);
-extern u16 (*EraseFlashChip)(void);
-extern u16 (*EraseFlashSector)(u16);
-extern u16 (*WaitForFlashWrite)(u8, u8 *, u8);
-extern const u16 *gFlashMaxTime;
-extern const struct FlashType *gFlash;
-
-extern u8 (*PollFlashStatus)(u8 *);
-extern u8 gFlashTimeoutFlag;
-
-extern const struct FlashSetupInfo MX29L010;
-extern const struct FlashSetupInfo LE26FV10N1TS;
-extern const struct FlashSetupInfo DefaultFlash;
-
-void SwitchFlashBank(u8 bankNum);
-u16 ReadFlashId(void);
-void StartFlashTimer(u8 phase);
-void SetReadFlash1(u16 *dest);
-void StopFlashTimer(void);
-u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
-u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src);
-void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size);
-u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n);
-
-u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData);
-
-u16 EraseFlashChip_MX(void);
-u16 EraseFlashSector_MX(u16 sectorNum);
-u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data);
-u16 ProgramFlashSector_MX(u16 sectorNum, void *src);
-
-// agb_flash_1m
-u32 IdentifyFlash(void);
-
-#endif // GUARD_GBA_FLASH_INTERNAL_H
diff --git a/berry_fix/payload/include/gba/gba.h b/berry_fix/payload/include/gba/gba.h
deleted file mode 100644
index 349344031f..0000000000
--- a/berry_fix/payload/include/gba/gba.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef GUARD_GBA_GBA_H
-#define GUARD_GBA_GBA_H
-
-#include "gba/defines.h"
-#include "gba/io_reg.h"
-#include "gba/types.h"
-#include "gba/multiboot.h"
-#include "gba/syscall.h"
-#include "gba/macro.h"
-#include "gba/isagbprint.h"
-
-#endif // GUARD_GBA_GBA_H
diff --git a/berry_fix/payload/include/gba/io_reg.h b/berry_fix/payload/include/gba/io_reg.h
deleted file mode 100644
index df79b084d3..0000000000
--- a/berry_fix/payload/include/gba/io_reg.h
+++ /dev/null
@@ -1,770 +0,0 @@
-#ifndef GUARD_GBA_IO_REG_H
-#define GUARD_GBA_IO_REG_H
-
-#define REG_BASE 0x4000000 // I/O register base address
-
-// I/O register offsets
-
-#define REG_OFFSET_DISPCNT 0x0
-#define REG_OFFSET_DISPSTAT 0x4
-#define REG_OFFSET_VCOUNT 0x6
-#define REG_OFFSET_BG0CNT 0x8
-#define REG_OFFSET_BG1CNT 0xa
-#define REG_OFFSET_BG2CNT 0xc
-#define REG_OFFSET_BG3CNT 0xe
-#define REG_OFFSET_BG0HOFS 0x10
-#define REG_OFFSET_BG0VOFS 0x12
-#define REG_OFFSET_BG1HOFS 0x14
-#define REG_OFFSET_BG1VOFS 0x16
-#define REG_OFFSET_BG2HOFS 0x18
-#define REG_OFFSET_BG2VOFS 0x1a
-#define REG_OFFSET_BG3HOFS 0x1c
-#define REG_OFFSET_BG3VOFS 0x1e
-#define REG_OFFSET_BG2PA 0x20
-#define REG_OFFSET_BG2PB 0x22
-#define REG_OFFSET_BG2PC 0x24
-#define REG_OFFSET_BG2PD 0x26
-#define REG_OFFSET_BG2X 0x28
-#define REG_OFFSET_BG2X_L 0x28
-#define REG_OFFSET_BG2X_H 0x2a
-#define REG_OFFSET_BG2Y 0x2c
-#define REG_OFFSET_BG2Y_L 0x2c
-#define REG_OFFSET_BG2Y_H 0x2e
-#define REG_OFFSET_BG3PA 0x30
-#define REG_OFFSET_BG3PB 0x32
-#define REG_OFFSET_BG3PC 0x34
-#define REG_OFFSET_BG3PD 0x36
-#define REG_OFFSET_BG3X 0x38
-#define REG_OFFSET_BG3X_L 0x38
-#define REG_OFFSET_BG3X_H 0x3a
-#define REG_OFFSET_BG3Y 0x3c
-#define REG_OFFSET_BG3Y_L 0x3c
-#define REG_OFFSET_BG3Y_H 0x3e
-#define REG_OFFSET_WIN0H 0x40
-#define REG_OFFSET_WIN1H 0x42
-#define REG_OFFSET_WIN0V 0x44
-#define REG_OFFSET_WIN1V 0x46
-#define REG_OFFSET_WININ 0x48
-#define REG_OFFSET_WINOUT 0x4a
-#define REG_OFFSET_MOSAIC 0x4c
-#define REG_OFFSET_BLDCNT 0x50
-#define REG_OFFSET_BLDALPHA 0x52
-#define REG_OFFSET_BLDY 0x54
-
-#define REG_OFFSET_SOUND1CNT_L 0x60
-#define REG_OFFSET_NR10 0x60
-#define REG_OFFSET_SOUND1CNT_H 0x62
-#define REG_OFFSET_NR11 0x62
-#define REG_OFFSET_NR12 0x63
-#define REG_OFFSET_SOUND1CNT_X 0x64
-#define REG_OFFSET_NR13 0x64
-#define REG_OFFSET_NR14 0x65
-#define REG_OFFSET_SOUND2CNT_L 0x68
-#define REG_OFFSET_NR21 0x68
-#define REG_OFFSET_NR22 0x69
-#define REG_OFFSET_SOUND2CNT_H 0x6c
-#define REG_OFFSET_NR23 0x6c
-#define REG_OFFSET_NR24 0x6d
-#define REG_OFFSET_SOUND3CNT_L 0x70
-#define REG_OFFSET_NR30 0x70
-#define REG_OFFSET_SOUND3CNT_H 0x72
-#define REG_OFFSET_NR31 0x72
-#define REG_OFFSET_NR32 0x73
-#define REG_OFFSET_SOUND3CNT_X 0x74
-#define REG_OFFSET_NR33 0x74
-#define REG_OFFSET_NR34 0x75
-#define REG_OFFSET_SOUND4CNT_L 0x78
-#define REG_OFFSET_NR41 0x78
-#define REG_OFFSET_NR42 0x79
-#define REG_OFFSET_SOUND4CNT_H 0x7c
-#define REG_OFFSET_NR43 0x7c
-#define REG_OFFSET_NR44 0x7d
-#define REG_OFFSET_SOUNDCNT_L 0x80
-#define REG_OFFSET_NR50 0x80
-#define REG_OFFSET_NR51 0x81
-#define REG_OFFSET_SOUNDCNT_H 0x82
-#define REG_OFFSET_SOUNDCNT_X 0x84
-#define REG_OFFSET_NR52 0x84
-#define REG_OFFSET_SOUNDBIAS 0x88
-#define REG_OFFSET_SOUNDBIAS_L 0x88
-#define REG_OFFSET_SOUNDBIAS_H 0x89
-#define REG_OFFSET_WAVE_RAM0 0x90
-#define REG_OFFSET_WAVE_RAM1 0x94
-#define REG_OFFSET_WAVE_RAM2 0x98
-#define REG_OFFSET_WAVE_RAM3 0x9c
-#define REG_OFFSET_FIFO_A 0xa0
-#define REG_OFFSET_FIFO_B 0xa4
-
-#define REG_OFFSET_DMA0 0xb0
-#define REG_OFFSET_DMA0SAD 0xb0
-#define REG_OFFSET_DMA0SAD_L 0xb0
-#define REG_OFFSET_DMA0SAD_H 0xb2
-#define REG_OFFSET_DMA0DAD 0xb4
-#define REG_OFFSET_DMA0DAD_L 0xb4
-#define REG_OFFSET_DMA0DAD_H 0xb6
-#define REG_OFFSET_DMA0CNT 0xb8
-#define REG_OFFSET_DMA0CNT_L 0xb8
-#define REG_OFFSET_DMA0CNT_H 0xba
-#define REG_OFFSET_DMA1 0xbc
-#define REG_OFFSET_DMA1SAD 0xbc
-#define REG_OFFSET_DMA1SAD_L 0xbc
-#define REG_OFFSET_DMA1SAD_H 0xbe
-#define REG_OFFSET_DMA1DAD 0xc0
-#define REG_OFFSET_DMA1DAD_L 0xc0
-#define REG_OFFSET_DMA1DAD_H 0xc2
-#define REG_OFFSET_DMA1CNT 0xc4
-#define REG_OFFSET_DMA1CNT_L 0xc4
-#define REG_OFFSET_DMA1CNT_H 0xc6
-#define REG_OFFSET_DMA2 0xc8
-#define REG_OFFSET_DMA2SAD 0xc8
-#define REG_OFFSET_DMA2SAD_L 0xc8
-#define REG_OFFSET_DMA2SAD_H 0xca
-#define REG_OFFSET_DMA2DAD 0xcc
-#define REG_OFFSET_DMA2DAD_L 0xcc
-#define REG_OFFSET_DMA2DAD_H 0xce
-#define REG_OFFSET_DMA2CNT 0xd0
-#define REG_OFFSET_DMA2CNT_L 0xd0
-#define REG_OFFSET_DMA2CNT_H 0xd2
-#define REG_OFFSET_DMA3 0xd4
-#define REG_OFFSET_DMA3SAD 0xd4
-#define REG_OFFSET_DMA3SAD_L 0xd4
-#define REG_OFFSET_DMA3SAD_H 0xd6
-#define REG_OFFSET_DMA3DAD 0xd8
-#define REG_OFFSET_DMA3DAD_L 0xd8
-#define REG_OFFSET_DMA3DAD_H 0xda
-#define REG_OFFSET_DMA3CNT 0xdc
-#define REG_OFFSET_DMA3CNT_L 0xdc
-#define REG_OFFSET_DMA3CNT_H 0xde
-
-#define REG_OFFSET_TMCNT 0x100
-#define REG_OFFSET_TMCNT_L 0x100
-#define REG_OFFSET_TMCNT_H 0x102
-#define REG_OFFSET_TM0CNT 0x100
-#define REG_OFFSET_TM0CNT_L 0x100
-#define REG_OFFSET_TM0CNT_H 0x102
-#define REG_OFFSET_TM1CNT 0x104
-#define REG_OFFSET_TM1CNT_L 0x104
-#define REG_OFFSET_TM1CNT_H 0x106
-#define REG_OFFSET_TM2CNT 0x108
-#define REG_OFFSET_TM2CNT_L 0x108
-#define REG_OFFSET_TM2CNT_H 0x10a
-#define REG_OFFSET_TM3CNT 0x10c
-#define REG_OFFSET_TM3CNT_L 0x10c
-#define REG_OFFSET_TM3CNT_H 0x10e
-
-#define REG_OFFSET_SIOCNT 0x128
-#define REG_OFFSET_SIODATA8 0x12a
-#define REG_OFFSET_SIODATA32 0x120
-#define REG_OFFSET_SIOMLT_SEND 0x12a
-#define REG_OFFSET_SIOMLT_RECV 0x120
-#define REG_OFFSET_SIOMULTI0 0x120
-#define REG_OFFSET_SIOMULTI1 0x122
-#define REG_OFFSET_SIOMULTI2 0x124
-#define REG_OFFSET_SIOMULTI3 0x126
-
-#define REG_OFFSET_KEYINPUT 0x130
-#define REG_OFFSET_KEYCNT 0x132
-
-#define REG_OFFSET_RCNT 0x134
-
-#define REG_OFFSET_JOYCNT 0x140
-#define REG_OFFSET_JOYSTAT 0x158
-#define REG_OFFSET_JOY_RECV 0x150
-#define REG_OFFSET_JOY_RECV_L 0x150
-#define REG_OFFSET_JOY_RECV_H 0x152
-#define REG_OFFSET_JOY_TRANS 0x154
-#define REG_OFFSET_JOY_TRANS_L 0x154
-#define REG_OFFSET_JOY_TRANS_H 0x156
-
-#define REG_OFFSET_IME 0x208
-#define REG_OFFSET_IE 0x200
-#define REG_OFFSET_IF 0x202
-
-#define REG_OFFSET_WAITCNT 0x204
-
-// I/O register addresses
-
-#define REG_ADDR_DISPCNT (REG_BASE + REG_OFFSET_DISPCNT)
-#define REG_ADDR_DISPSTAT (REG_BASE + REG_OFFSET_DISPSTAT)
-#define REG_ADDR_VCOUNT (REG_BASE + REG_OFFSET_VCOUNT)
-#define REG_ADDR_BG0CNT (REG_BASE + REG_OFFSET_BG0CNT)
-#define REG_ADDR_BG1CNT (REG_BASE + REG_OFFSET_BG1CNT)
-#define REG_ADDR_BG2CNT (REG_BASE + REG_OFFSET_BG2CNT)
-#define REG_ADDR_BG3CNT (REG_BASE + REG_OFFSET_BG3CNT)
-#define REG_ADDR_BG0HOFS (REG_BASE + REG_OFFSET_BG0HOFS)
-#define REG_ADDR_BG0VOFS (REG_BASE + REG_OFFSET_BG0VOFS)
-#define REG_ADDR_BG1HOFS (REG_BASE + REG_OFFSET_BG1HOFS)
-#define REG_ADDR_BG1VOFS (REG_BASE + REG_OFFSET_BG1VOFS)
-#define REG_ADDR_BG2HOFS (REG_BASE + REG_OFFSET_BG2HOFS)
-#define REG_ADDR_BG2VOFS (REG_BASE + REG_OFFSET_BG2VOFS)
-#define REG_ADDR_BG3HOFS (REG_BASE + REG_OFFSET_BG3HOFS)
-#define REG_ADDR_BG3VOFS (REG_BASE + REG_OFFSET_BG3VOFS)
-#define REG_ADDR_BG2PA (REG_BASE + REG_OFFSET_BG2PA)
-#define REG_ADDR_BG2PB (REG_BASE + REG_OFFSET_BG2PB)
-#define REG_ADDR_BG2PC (REG_BASE + REG_OFFSET_BG2PC)
-#define REG_ADDR_BG2PD (REG_BASE + REG_OFFSET_BG2PD)
-#define REG_ADDR_BG2X (REG_BASE + REG_OFFSET_BG2X)
-#define REG_ADDR_BG2X_L (REG_BASE + REG_OFFSET_BG2X_L)
-#define REG_ADDR_BG2X_H (REG_BASE + REG_OFFSET_BG2X_H)
-#define REG_ADDR_BG2Y (REG_BASE + REG_OFFSET_BG2Y)
-#define REG_ADDR_BG2Y_L (REG_BASE + REG_OFFSET_BG2Y_L)
-#define REG_ADDR_BG2Y_H (REG_BASE + REG_OFFSET_BG2Y_H)
-#define REG_ADDR_BG3PA (REG_BASE + REG_OFFSET_BG3PA)
-#define REG_ADDR_BG3PB (REG_BASE + REG_OFFSET_BG3PB)
-#define REG_ADDR_BG3PC (REG_BASE + REG_OFFSET_BG3PC)
-#define REG_ADDR_BG3PD (REG_BASE + REG_OFFSET_BG3PD)
-#define REG_ADDR_BG3X (REG_BASE + REG_OFFSET_BG3X)
-#define REG_ADDR_BG3X_L (REG_BASE + REG_OFFSET_BG3X_L)
-#define REG_ADDR_BG3X_H (REG_BASE + REG_OFFSET_BG3X_H)
-#define REG_ADDR_BG3Y (REG_BASE + REG_OFFSET_BG3Y)
-#define REG_ADDR_BG3Y_L (REG_BASE + REG_OFFSET_BG3Y_L)
-#define REG_ADDR_BG3Y_H (REG_BASE + REG_OFFSET_BG3Y_H)
-#define REG_ADDR_WIN0H (REG_BASE + REG_OFFSET_WIN0H)
-#define REG_ADDR_WIN1H (REG_BASE + REG_OFFSET_WIN1H)
-#define REG_ADDR_WIN0V (REG_BASE + REG_OFFSET_WIN0V)
-#define REG_ADDR_WIN1V (REG_BASE + REG_OFFSET_WIN1V)
-#define REG_ADDR_WININ (REG_BASE + REG_OFFSET_WININ)
-#define REG_ADDR_WINOUT (REG_BASE + REG_OFFSET_WINOUT)
-#define REG_ADDR_MOSAIC (REG_BASE + REG_OFFSET_MOSAIC)
-#define REG_ADDR_BLDCNT (REG_BASE + REG_OFFSET_BLDCNT)
-#define REG_ADDR_BLDALPHA (REG_BASE + REG_OFFSET_BLDALPHA)
-#define REG_ADDR_BLDY (REG_BASE + REG_OFFSET_BLDY)
-
-#define REG_ADDR_SOUND1CNT_L (REG_BASE + REG_OFFSET_SOUND1CNT_L)
-#define REG_ADDR_NR10 (REG_BASE + REG_OFFSET_NR10)
-#define REG_ADDR_SOUND1CNT_H (REG_BASE + REG_OFFSET_SOUND1CNT_H)
-#define REG_ADDR_NR11 (REG_BASE + REG_OFFSET_NR11)
-#define REG_ADDR_NR12 (REG_BASE + REG_OFFSET_NR12)
-#define REG_ADDR_SOUND1CNT_X (REG_BASE + REG_OFFSET_SOUND1CNT_X)
-#define REG_ADDR_NR13 (REG_BASE + REG_OFFSET_NR13)
-#define REG_ADDR_NR14 (REG_BASE + REG_OFFSET_NR14)
-#define REG_ADDR_SOUND2CNT_L (REG_BASE + REG_OFFSET_SOUND2CNT_L)
-#define REG_ADDR_NR21 (REG_BASE + REG_OFFSET_NR21)
-#define REG_ADDR_NR22 (REG_BASE + REG_OFFSET_NR22)
-#define REG_ADDR_SOUND2CNT_H (REG_BASE + REG_OFFSET_SOUND2CNT_H)
-#define REG_ADDR_NR23 (REG_BASE + REG_OFFSET_NR23)
-#define REG_ADDR_NR24 (REG_BASE + REG_OFFSET_NR24)
-#define REG_ADDR_SOUND3CNT_L (REG_BASE + REG_OFFSET_SOUND3CNT_L)
-#define REG_ADDR_NR30 (REG_BASE + REG_OFFSET_NR30)
-#define REG_ADDR_SOUND3CNT_H (REG_BASE + REG_OFFSET_SOUND3CNT_H)
-#define REG_ADDR_NR31 (REG_BASE + REG_OFFSET_NR31)
-#define REG_ADDR_NR32 (REG_BASE + REG_OFFSET_NR32)
-#define REG_ADDR_SOUND3CNT_X (REG_BASE + REG_OFFSET_SOUND3CNT_X)
-#define REG_ADDR_NR33 (REG_BASE + REG_OFFSET_NR33)
-#define REG_ADDR_NR34 (REG_BASE + REG_OFFSET_NR34)
-#define REG_ADDR_SOUND4CNT_L (REG_BASE + REG_OFFSET_SOUND4CNT_L)
-#define REG_ADDR_NR41 (REG_BASE + REG_OFFSET_NR41)
-#define REG_ADDR_NR42 (REG_BASE + REG_OFFSET_NR42)
-#define REG_ADDR_SOUND4CNT_H (REG_BASE + REG_OFFSET_SOUND4CNT_H)
-#define REG_ADDR_NR43 (REG_BASE + REG_OFFSET_NR43)
-#define REG_ADDR_NR44 (REG_BASE + REG_OFFSET_NR44)
-#define REG_ADDR_SOUNDCNT_L (REG_BASE + REG_OFFSET_SOUNDCNT_L)
-#define REG_ADDR_NR50 (REG_BASE + REG_OFFSET_NR50)
-#define REG_ADDR_NR51 (REG_BASE + REG_OFFSET_NR51)
-#define REG_ADDR_SOUNDCNT_H (REG_BASE + REG_OFFSET_SOUNDCNT_H)
-#define REG_ADDR_SOUNDCNT_X (REG_BASE + REG_OFFSET_SOUNDCNT_X)
-#define REG_ADDR_NR52 (REG_BASE + REG_OFFSET_NR52)
-#define REG_ADDR_SOUNDBIAS (REG_BASE + REG_OFFSET_SOUNDBIAS)
-#define REG_ADDR_SOUNDBIAS_L (REG_BASE + REG_OFFSET_SOUNDBIAS_L)
-#define REG_ADDR_SOUNDBIAS_H (REG_BASE + REG_OFFSET_SOUNDBIAS_H)
-#define REG_ADDR_WAVE_RAM0 (REG_BASE + REG_OFFSET_WAVE_RAM0)
-#define REG_ADDR_WAVE_RAM1 (REG_BASE + REG_OFFSET_WAVE_RAM1)
-#define REG_ADDR_WAVE_RAM2 (REG_BASE + REG_OFFSET_WAVE_RAM2)
-#define REG_ADDR_WAVE_RAM3 (REG_BASE + REG_OFFSET_WAVE_RAM3)
-#define REG_ADDR_FIFO_A (REG_BASE + REG_OFFSET_FIFO_A)
-#define REG_ADDR_FIFO_B (REG_BASE + REG_OFFSET_FIFO_B)
-
-#define REG_ADDR_DMA0 (REG_BASE + REG_OFFSET_DMA0)
-#define REG_ADDR_DMA0SAD (REG_BASE + REG_OFFSET_DMA0SAD)
-#define REG_ADDR_DMA0DAD (REG_BASE + REG_OFFSET_DMA0DAD)
-#define REG_ADDR_DMA0CNT (REG_BASE + REG_OFFSET_DMA0CNT)
-#define REG_ADDR_DMA0CNT_L (REG_BASE + REG_OFFSET_DMA0CNT_L)
-#define REG_ADDR_DMA0CNT_H (REG_BASE + REG_OFFSET_DMA0CNT_H)
-#define REG_ADDR_DMA1 (REG_BASE + REG_OFFSET_DMA1)
-#define REG_ADDR_DMA1SAD (REG_BASE + REG_OFFSET_DMA1SAD)
-#define REG_ADDR_DMA1DAD (REG_BASE + REG_OFFSET_DMA1DAD)
-#define REG_ADDR_DMA1CNT (REG_BASE + REG_OFFSET_DMA1CNT)
-#define REG_ADDR_DMA1CNT_L (REG_BASE + REG_OFFSET_DMA1CNT_L)
-#define REG_ADDR_DMA1CNT_H (REG_BASE + REG_OFFSET_DMA1CNT_H)
-#define REG_ADDR_DMA2 (REG_BASE + REG_OFFSET_DMA2)
-#define REG_ADDR_DMA2SAD (REG_BASE + REG_OFFSET_DMA2SAD)
-#define REG_ADDR_DMA2DAD (REG_BASE + REG_OFFSET_DMA2DAD)
-#define REG_ADDR_DMA2CNT (REG_BASE + REG_OFFSET_DMA2CNT)
-#define REG_ADDR_DMA2CNT_L (REG_BASE + REG_OFFSET_DMA2CNT_L)
-#define REG_ADDR_DMA2CNT_H (REG_BASE + REG_OFFSET_DMA2CNT_H)
-#define REG_ADDR_DMA3 (REG_BASE + REG_OFFSET_DMA3)
-#define REG_ADDR_DMA3SAD (REG_BASE + REG_OFFSET_DMA3SAD)
-#define REG_ADDR_DMA3DAD (REG_BASE + REG_OFFSET_DMA3DAD)
-#define REG_ADDR_DMA3CNT (REG_BASE + REG_OFFSET_DMA3CNT)
-#define REG_ADDR_DMA3CNT_L (REG_BASE + REG_OFFSET_DMA3CNT_L)
-#define REG_ADDR_DMA3CNT_H (REG_BASE + REG_OFFSET_DMA3CNT_H)
-
-#define REG_ADDR_TMCNT (REG_BASE + REG_OFFSET_TMCNT)
-#define REG_ADDR_TMCNT_L (REG_BASE + REG_OFFSET_TMCNT_L)
-#define REG_ADDR_TMCNT_H (REG_BASE + REG_OFFSET_TMCNT_H)
-#define REG_ADDR_TM0CNT (REG_BASE + REG_OFFSET_TM0CNT)
-#define REG_ADDR_TM0CNT_L (REG_BASE + REG_OFFSET_TM0CNT_L)
-#define REG_ADDR_TM0CNT_H (REG_BASE + REG_OFFSET_TM0CNT_H)
-#define REG_ADDR_TM1CNT (REG_BASE + REG_OFFSET_TM1CNT)
-#define REG_ADDR_TM1CNT_L (REG_BASE + REG_OFFSET_TM1CNT_L)
-#define REG_ADDR_TM1CNT_H (REG_BASE + REG_OFFSET_TM1CNT_H)
-#define REG_ADDR_TM2CNT (REG_BASE + REG_OFFSET_TM2CNT)
-#define REG_ADDR_TM2CNT_L (REG_BASE + REG_OFFSET_TM2CNT_L)
-#define REG_ADDR_TM2CNT_H (REG_BASE + REG_OFFSET_TM2CNT_H)
-#define REG_ADDR_TM3CNT (REG_BASE + REG_OFFSET_TM3CNT)
-#define REG_ADDR_TM3CNT_L (REG_BASE + REG_OFFSET_TM3CNT_L)
-#define REG_ADDR_TM3CNT_H (REG_BASE + REG_OFFSET_TM3CNT_H)
-
-#define REG_ADDR_SIOCNT (REG_BASE + REG_OFFSET_SIOCNT)
-#define REG_ADDR_SIODATA8 (REG_BASE + REG_OFFSET_SIODATA8)
-#define REG_ADDR_SIODATA32 (REG_BASE + REG_OFFSET_SIODATA32)
-#define REG_ADDR_SIOMLT_SEND (REG_BASE + REG_OFFSET_SIOMLT_SEND)
-#define REG_ADDR_SIOMLT_RECV (REG_BASE + REG_OFFSET_SIOMLT_RECV)
-#define REG_ADDR_SIOMULTI0 (REG_BASE + REG_OFFSET_SIOMULTI0)
-#define REG_ADDR_SIOMULTI1 (REG_BASE + REG_OFFSET_SIOMULTI1)
-#define REG_ADDR_SIOMULTI2 (REG_BASE + REG_OFFSET_SIOMULTI2)
-#define REG_ADDR_SIOMULTI3 (REG_BASE + REG_OFFSET_SIOMULTI3)
-
-#define REG_ADDR_KEYINPUT (REG_BASE + REG_OFFSET_KEYINPUT)
-#define REG_ADDR_KEYCNT (REG_BASE + REG_OFFSET_KEYCNT)
-
-#define REG_ADDR_RCNT (REG_BASE + REG_OFFSET_RCNT)
-
-#define REG_ADDR_JOYCNT (REG_BASE + REG_OFFSET_JOYCNT)
-#define REG_ADDR_JOYSTAT (REG_BASE + REG_OFFSET_JOYSTAT)
-#define REG_ADDR_JOY_RECV (REG_BASE + REG_OFFSET_JOY_RECV)
-#define REG_ADDR_JOY_RECV_L (REG_BASE + REG_OFFSET_JOY_RECV_L)
-#define REG_ADDR_JOY_RECV_H (REG_BASE + REG_OFFSET_JOY_RECV_H)
-#define REG_ADDR_JOY_TRANS (REG_BASE + REG_OFFSET_JOY_TRANS)
-#define REG_ADDR_JOY_TRANS_L (REG_BASE + REG_OFFSET_JOY_TRANS_L)
-#define REG_ADDR_JOY_TRANS_H (REG_BASE + REG_OFFSET_JOY_TRANS_H)
-
-#define REG_ADDR_IME (REG_BASE + REG_OFFSET_IME)
-#define REG_ADDR_IE (REG_BASE + REG_OFFSET_IE)
-#define REG_ADDR_IF (REG_BASE + REG_OFFSET_IF)
-
-#define REG_ADDR_WAITCNT (REG_BASE + REG_OFFSET_WAITCNT)
-
-// I/O registers
-
-#define REG_DISPCNT (*(vu16 *)REG_ADDR_DISPCNT)
-#define REG_DISPSTAT (*(vu16 *)REG_ADDR_DISPSTAT)
-#define REG_VCOUNT (*(vu16 *)REG_ADDR_VCOUNT)
-#define REG_BG0CNT (*(vu16 *)REG_ADDR_BG0CNT)
-#define REG_BG1CNT (*(vu16 *)REG_ADDR_BG1CNT)
-#define REG_BG2CNT (*(vu16 *)REG_ADDR_BG2CNT)
-#define REG_BG3CNT (*(vu16 *)REG_ADDR_BG3CNT)
-#define REG_BG0HOFS (*(vu16 *)REG_ADDR_BG0HOFS)
-#define REG_BG0VOFS (*(vu16 *)REG_ADDR_BG0VOFS)
-#define REG_BG1HOFS (*(vu16 *)REG_ADDR_BG1HOFS)
-#define REG_BG1VOFS (*(vu16 *)REG_ADDR_BG1VOFS)
-#define REG_BG2HOFS (*(vu16 *)REG_ADDR_BG2HOFS)
-#define REG_BG2VOFS (*(vu16 *)REG_ADDR_BG2VOFS)
-#define REG_BG3HOFS (*(vu16 *)REG_ADDR_BG3HOFS)
-#define REG_BG3VOFS (*(vu16 *)REG_ADDR_BG3VOFS)
-#define REG_BG2PA (*(vu16 *)REG_ADDR_BG2PA)
-#define REG_BG2PB (*(vu16 *)REG_ADDR_BG2PB)
-#define REG_BG2PC (*(vu16 *)REG_ADDR_BG2PC)
-#define REG_BG2PD (*(vu16 *)REG_ADDR_BG2PD)
-#define REG_BG2X (*(vu32 *)REG_ADDR_BG2X)
-#define REG_BG2X_L (*(vu16 *)REG_ADDR_BG2X_L)
-#define REG_BG2X_H (*(vu16 *)REG_ADDR_BG2X_H)
-#define REG_BG2Y (*(vu32 *)REG_ADDR_BG2Y)
-#define REG_BG2Y_L (*(vu16 *)REG_ADDR_BG2Y_L)
-#define REG_BG2Y_H (*(vu16 *)REG_ADDR_BG2Y_H)
-#define REG_BG3PA (*(vu16 *)REG_ADDR_BG3PA)
-#define REG_BG3PB (*(vu16 *)REG_ADDR_BG3PB)
-#define REG_BG3PC (*(vu16 *)REG_ADDR_BG3PC)
-#define REG_BG3PD (*(vu16 *)REG_ADDR_BG3PD)
-#define REG_BG3X (*(vu32 *)REG_ADDR_BG3X)
-#define REG_BG3X_L (*(vu16 *)REG_ADDR_BG3X_L)
-#define REG_BG3X_H (*(vu16 *)REG_ADDR_BG3X_H)
-#define REG_BG3Y (*(vu32 *)REG_ADDR_BG3Y)
-#define REG_BG3Y_L (*(vu16 *)REG_ADDR_BG3Y_L)
-#define REG_BG3Y_H (*(vu16 *)REG_ADDR_BG3Y_H)
-#define REG_WIN0H (*(vu16 *)REG_ADDR_WIN0H)
-#define REG_WIN1H (*(vu16 *)REG_ADDR_WIN1H)
-#define REG_WIN0V (*(vu16 *)REG_ADDR_WIN0V)
-#define REG_WIN1V (*(vu16 *)REG_ADDR_WIN1V)
-#define REG_WININ (*(vu16 *)REG_ADDR_WININ)
-#define REG_WINOUT (*(vu16 *)REG_ADDR_WINOUT)
-#define REG_MOSAIC (*(vu16 *)REG_ADDR_MOSAIC)
-#define REG_BLDCNT (*(vu16 *)REG_ADDR_BLDCNT)
-#define REG_BLDALPHA (*(vu16 *)REG_ADDR_BLDALPHA)
-#define REG_BLDY (*(vu16 *)REG_ADDR_BLDY)
-
-#define REG_SOUND1CNT_L (*(vu16 *)REG_ADDR_SOUND1CNT_L)
-#define REG_NR10 (*(vu8 *)REG_ADDR_NR10)
-#define REG_SOUND1CNT_H (*(vu16 *)REG_ADDR_SOUND1CNT_H)
-#define REG_NR11 (*(vu8 *)REG_ADDR_NR11)
-#define REG_NR12 (*(vu8 *)REG_ADDR_NR12)
-#define REG_SOUND1CNT_X (*(vu16 *)REG_ADDR_SOUND1CNT_X)
-#define REG_NR13 (*(vu8 *)REG_ADDR_NR13)
-#define REG_NR14 (*(vu8 *)REG_ADDR_NR14)
-#define REG_SOUND2CNT_L (*(vu16 *)REG_ADDR_SOUND2CNT_L)
-#define REG_NR21 (*(vu8 *)REG_ADDR_NR21)
-#define REG_NR22 (*(vu8 *)REG_ADDR_NR22)
-#define REG_SOUND2CNT_H (*(vu16 *)REG_ADDR_SOUND2CNT_H)
-#define REG_NR23 (*(vu8 *)REG_ADDR_NR23)
-#define REG_NR24 (*(vu8 *)REG_ADDR_NR24)
-#define REG_SOUND3CNT_L (*(vu16 *)REG_ADDR_SOUND3CNT_L)
-#define REG_NR30 (*(vu8 *)REG_ADDR_NR30)
-#define REG_SOUND3CNT_H (*(vu16 *)REG_ADDR_SOUND3CNT_H)
-#define REG_NR31 (*(vu8 *)REG_ADDR_NR31)
-#define REG_NR32 (*(vu8 *)REG_ADDR_NR32)
-#define REG_SOUND3CNT_X (*(vu16 *)REG_ADDR_SOUND3CNT_X)
-#define REG_NR33 (*(vu8 *)REG_ADDR_NR33)
-#define REG_NR34 (*(vu8 *)REG_ADDR_NR34)
-#define REG_SOUND4CNT_L (*(vu16 *)REG_ADDR_SOUND4CNT_L)
-#define REG_NR41 (*(vu8 *)REG_ADDR_NR41)
-#define REG_NR42 (*(vu8 *)REG_ADDR_NR42)
-#define REG_SOUND4CNT_H (*(vu16 *)REG_ADDR_SOUND4CNT_H)
-#define REG_NR43 (*(vu8 *)REG_ADDR_NR43)
-#define REG_NR44 (*(vu8 *)REG_ADDR_NR44)
-#define REG_SOUNDCNT_L (*(vu16 *)REG_ADDR_SOUNDCNT_L)
-#define REG_NR50 (*(vu8 *)REG_ADDR_NR50)
-#define REG_NR51 (*(vu8 *)REG_ADDR_NR51)
-#define REG_SOUNDCNT_H (*(vu16 *)REG_ADDR_SOUNDCNT_H)
-#define REG_SOUNDCNT_X (*(vu16 *)REG_ADDR_SOUNDCNT_X)
-#define REG_NR52 (*(vu8 *)REG_ADDR_NR52)
-#define REG_SOUNDBIAS (*(vu16 *)REG_ADDR_SOUNDBIAS)
-#define REG_SOUNDBIAS_L (*(vu8 *)REG_ADDR_SOUNDBIAS_L)
-#define REG_SOUNDBIAS_H (*(vu8 *)REG_ADDR_SOUNDBIAS_H)
-#define REG_WAVE_RAM0 (*(vu32 *)REG_ADDR_WAVE_RAM0)
-#define REG_WAVE_RAM1 (*(vu32 *)REG_ADDR_WAVE_RAM1)
-#define REG_WAVE_RAM2 (*(vu32 *)REG_ADDR_WAVE_RAM2)
-#define REG_WAVE_RAM3 (*(vu32 *)REG_ADDR_WAVE_RAM3)
-#define REG_FIFO_A (*(vu32 *)REG_ADDR_FIFO_A)
-#define REG_FIFO_B (*(vu32 *)REG_ADDR_FIFO_B)
-
-#define REG_DMA0SAD (*(vu32 *)REG_ADDR_DMA0SAD)
-#define REG_DMA0DAD (*(vu32 *)REG_ADDR_DMA0DAD)
-#define REG_DMA0CNT (*(vu32 *)REG_ADDR_DMA0CNT)
-#define REG_DMA0CNT_L (*(vu16 *)REG_ADDR_DMA0CNT_L)
-#define REG_DMA0CNT_H (*(vu16 *)REG_ADDR_DMA0CNT_H)
-
-#define REG_DMA1SAD (*(vu32 *)REG_ADDR_DMA1SAD)
-#define REG_DMA1DAD (*(vu32 *)REG_ADDR_DMA1DAD)
-#define REG_DMA1CNT (*(vu32 *)REG_ADDR_DMA1CNT)
-#define REG_DMA1CNT_L (*(vu16 *)REG_ADDR_DMA1CNT_L)
-#define REG_DMA1CNT_H (*(vu16 *)REG_ADDR_DMA1CNT_H)
-
-#define REG_DMA2SAD (*(vu32 *)REG_ADDR_DMA2SAD)
-#define REG_DMA2DAD (*(vu32 *)REG_ADDR_DMA2DAD)
-#define REG_DMA2CNT (*(vu32 *)REG_ADDR_DMA2CNT)
-#define REG_DMA2CNT_L (*(vu16 *)REG_ADDR_DMA2CNT_L)
-#define REG_DMA2CNT_H (*(vu16 *)REG_ADDR_DMA2CNT_H)
-
-#define REG_DMA3SAD (*(vu32 *)REG_ADDR_DMA3SAD)
-#define REG_DMA3DAD (*(vu32 *)REG_ADDR_DMA3DAD)
-#define REG_DMA3CNT (*(vu32 *)REG_ADDR_DMA3CNT)
-#define REG_DMA3CNT_L (*(vu16 *)REG_ADDR_DMA3CNT_L)
-#define REG_DMA3CNT_H (*(vu16 *)REG_ADDR_DMA3CNT_H)
-
-#define REG_TMCNT(n) (*(vu16 *)(REG_ADDR_TMCNT + ((n) * 4)))
-#define REG_TMCNT_L(n) (*(vu16 *)(REG_ADDR_TMCNT_L + ((n) * 4)))
-#define REG_TMCNT_H(n) (*(vu16 *)(REG_ADDR_TMCNT_H + ((n) * 4)))
-#define REG_TM0CNT (*(vu32 *)REG_ADDR_TM0CNT)
-#define REG_TM0CNT_L (*(vu16 *)REG_ADDR_TM0CNT_L)
-#define REG_TM0CNT_H (*(vu16 *)REG_ADDR_TM0CNT_H)
-#define REG_TM1CNT (*(vu32 *)REG_ADDR_TM1CNT)
-#define REG_TM1CNT_L (*(vu16 *)REG_ADDR_TM1CNT_L)
-#define REG_TM1CNT_H (*(vu16 *)REG_ADDR_TM1CNT_H)
-#define REG_TM2CNT (*(vu32 *)REG_ADDR_TM2CNT)
-#define REG_TM2CNT_L (*(vu16 *)REG_ADDR_TM2CNT_L)
-#define REG_TM2CNT_H (*(vu16 *)REG_ADDR_TM2CNT_H)
-#define REG_TM3CNT (*(vu32 *)REG_ADDR_TM3CNT)
-#define REG_TM3CNT_L (*(vu16 *)REG_ADDR_TM3CNT_L)
-#define REG_TM3CNT_H (*(vu16 *)REG_ADDR_TM3CNT_H)
-
-#define REG_SIOCNT (*(vu16 *)REG_ADDR_SIOCNT)
-#define REG_SIODATA8 (*(vu16 *)REG_ADDR_SIODATA8)
-#define REG_SIODATA32 (*(vu32 *)REG_ADDR_SIODATA32)
-#define REG_SIOMLT_SEND (*(vu16 *)REG_ADDR_SIOMLT_SEND)
-#define REG_SIOMLT_RECV (*(vu64 *)REG_ADDR_SIOMLT_RECV)
-#define REG_SIOMULTI0 (*(vu16 *)REG_ADDR_SIOMULTI0)
-#define REG_SIOMULTI1 (*(vu16 *)REG_ADDR_SIOMULTI1)
-#define REG_SIOMULTI2 (*(vu16 *)REG_ADDR_SIOMULTI2)
-#define REG_SIOMULTI3 (*(vu16 *)REG_ADDR_SIOMULTI3)
-
-#define REG_KEYINPUT (*(vu16 *)REG_ADDR_KEYINPUT)
-#define REG_KEYCNT (*(vu16 *)REG_ADDR_KEYCNT)
-
-#define REG_RCNT (*(vu16 *)REG_ADDR_RCNT)
-
-#define REG_IME (*(vu16 *)REG_ADDR_IME)
-#define REG_IE (*(vu16 *)REG_ADDR_IE)
-#define REG_IF (*(vu16 *)REG_ADDR_IF)
-
-#define REG_WAITCNT (*(vu16 *)REG_ADDR_WAITCNT)
-
-// I/O register fields
-
-// DISPCNT
-#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text
-#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off
-#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine
-#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color
-#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette
-#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color
-#define DISPCNT_HBLANK_INTERVAL 0x0020 // Allow access to OAM during H-Blank
-#define DISPCNT_OBJ_1D_MAP 0x0040
-#define DISPCNT_FORCED_BLANK 0x0080
-#define DISPCNT_BG0_ON 0x0100
-#define DISPCNT_BG1_ON 0x0200
-#define DISPCNT_BG2_ON 0x0400
-#define DISPCNT_BG3_ON 0x0800
-#define DISPCNT_BG_ALL_ON 0x0F00
-#define DISPCNT_OBJ_ON 0x1000
-#define DISPCNT_WIN0_ON 0x2000
-#define DISPCNT_WIN1_ON 0x4000
-#define DISPCNT_OBJWIN_ON 0x8000
-
-// DISPSTAT
-#define DISPSTAT_VBLANK 0x0001 // in V-Blank
-#define DISPSTAT_HBLANK 0x0002 // in H-Blank
-#define DISPSTAT_VCOUNT 0x0004 // V-Count match
-#define DISPSTAT_VBLANK_INTR 0x0008 // V-Blank interrupt enabled
-#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled
-#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled
-
-// BGCNT
-#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs.
-#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data.
-#define BGCNT_MOSAIC 0x0040
-#define BGCNT_16COLOR 0x0000 // 4 bits per pixel
-#define BGCNT_256COLOR 0x0080 // 8 bits per pixel
-#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map.
-#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default.
-#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels.
-#define BGCNT_TXT512x256 0x4000
-#define BGCNT_TXT256x512 0x8000
-#define BGCNT_TXT512x512 0xC000
-#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels.
-#define BGCNT_AFF256x256 0x4000
-#define BGCNT_AFF512x512 0x8000
-#define BGCNT_AFF1024x1024 0xC000
-
-// WININ/OUT
-#define WININ_WIN0_BG0 (1 << 0)
-#define WININ_WIN0_BG1 (1 << 1)
-#define WININ_WIN0_BG2 (1 << 2)
-#define WININ_WIN0_BG3 (1 << 3)
-#define WININ_WIN0_BG_ALL (WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3)
-#define WININ_WIN0_OBJ (1 << 4)
-#define WININ_WIN0_CLR (1 << 5)
-#define WININ_WIN1_BG0 (1 << 8)
-#define WININ_WIN1_BG1 (1 << 9)
-#define WININ_WIN1_BG2 (1 << 10)
-#define WININ_WIN1_BG3 (1 << 11)
-#define WININ_WIN1_BG_ALL (WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3)
-#define WININ_WIN1_OBJ (1 << 12)
-#define WININ_WIN1_CLR (1 << 13)
-
-#define WINOUT_WIN01_BG0 (1 << 0)
-#define WINOUT_WIN01_BG1 (1 << 1)
-#define WINOUT_WIN01_BG2 (1 << 2)
-#define WINOUT_WIN01_BG3 (1 << 3)
-#define WINOUT_WIN01_BG_ALL (WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3)
-#define WINOUT_WIN01_OBJ (1 << 4)
-#define WINOUT_WIN01_CLR (1 << 5)
-#define WINOUT_WINOBJ_BG0 (1 << 8)
-#define WINOUT_WINOBJ_BG1 (1 << 9)
-#define WINOUT_WINOBJ_BG2 (1 << 10)
-#define WINOUT_WINOBJ_BG3 (1 << 11)
-#define WINOUT_WINOBJ_BG_ALL (WINOUT_WINOBJ_BG0 | WINOUT_WINOBJ_BG1 | WINOUT_WINOBJ_BG2 | WINOUT_WINOBJ_BG3)
-#define WINOUT_WINOBJ_OBJ (1 << 12)
-#define WINOUT_WINOBJ_CLR (1 << 13)
-
-#define WIN_RANGE(a, b) (((a) << 8) | (b))
-#define WIN_RANGE2(a, b) ((b) | ((a) << 8))
-
-// BLDCNT
-// Bits 0-5 select layers for the 1st target
-#define BLDCNT_TGT1_BG0 (1 << 0)
-#define BLDCNT_TGT1_BG1 (1 << 1)
-#define BLDCNT_TGT1_BG2 (1 << 2)
-#define BLDCNT_TGT1_BG3 (1 << 3)
-#define BLDCNT_TGT1_OBJ (1 << 4)
-#define BLDCNT_TGT1_BD (1 << 5)
-#define BLDCNT_TGT1_ALL (BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD)
-// Bits 6-7 select the special effect
-#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect
-#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA)
-#define BLDCNT_EFFECT_LIGHTEN (2 << 6) // 1st target becomes whiter (controlled by BLDY)
-#define BLDCNT_EFFECT_DARKEN (3 << 6) // 1st target becomes blacker (controlled by BLDY)
-// Bits 8-13 select layers for the 2nd target
-#define BLDCNT_TGT2_BG0 (1 << 8)
-#define BLDCNT_TGT2_BG1 (1 << 9)
-#define BLDCNT_TGT2_BG2 (1 << 10)
-#define BLDCNT_TGT2_BG3 (1 << 11)
-#define BLDCNT_TGT2_OBJ (1 << 12)
-#define BLDCNT_TGT2_BD (1 << 13)
-#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD)
-
-// BLDALPHA
-#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1))
-
-// SOUNDCNT_H
-#define SOUND_CGB_MIX_QUARTER 0x0000
-#define SOUND_CGB_MIX_HALF 0x0001
-#define SOUND_CGB_MIX_FULL 0x0002
-#define SOUND_A_MIX_HALF 0x0000
-#define SOUND_A_MIX_FULL 0x0004
-#define SOUND_B_MIX_HALF 0x0000
-#define SOUND_B_MIX_FULL 0x0008
-#define SOUND_ALL_MIX_FULL 0x000E
-#define SOUND_A_RIGHT_OUTPUT 0x0100
-#define SOUND_A_LEFT_OUTPUT 0x0200
-#define SOUND_A_TIMER_0 0x0000
-#define SOUND_A_TIMER_1 0x0400
-#define SOUND_A_FIFO_RESET 0x0800
-#define SOUND_B_RIGHT_OUTPUT 0x1000
-#define SOUND_B_LEFT_OUTPUT 0x2000
-#define SOUND_B_TIMER_0 0x0000
-#define SOUND_B_TIMER_1 0x4000
-#define SOUND_B_FIFO_RESET 0x8000
-
-// SOUNDCNT_X
-#define SOUND_1_ON 0x0001
-#define SOUND_2_ON 0x0002
-#define SOUND_3_ON 0x0004
-#define SOUND_4_ON 0x0008
-#define SOUND_MASTER_ENABLE 0x0080
-
-// DMA
-#define DMA_DEST_INC 0x0000
-#define DMA_DEST_DEC 0x0020
-#define DMA_DEST_FIXED 0x0040
-#define DMA_DEST_RELOAD 0x0060
-#define DMA_SRC_INC 0x0000
-#define DMA_SRC_DEC 0x0080
-#define DMA_SRC_FIXED 0x0100
-#define DMA_REPEAT 0x0200
-#define DMA_16BIT 0x0000
-#define DMA_32BIT 0x0400
-#define DMA_DREQ_ON 0x0800
-#define DMA_START_NOW 0x0000
-#define DMA_START_VBLANK 0x1000
-#define DMA_START_HBLANK 0x2000
-#define DMA_START_SPECIAL 0x3000
-#define DMA_START_MASK 0x3000
-#define DMA_INTR_ENABLE 0x4000
-#define DMA_ENABLE 0x8000
-
-// timer
-#define TIMER_1CLK 0x00
-#define TIMER_64CLK 0x01
-#define TIMER_256CLK 0x02
-#define TIMER_1024CLK 0x03
-#define TIMER_INTR_ENABLE 0x40
-#define TIMER_ENABLE 0x80
-
-// serial
-#define SIO_ID 0x0030 // Communication ID
-
-#define SIO_8BIT_MODE 0x0000 // Normal 8-bit communication mode
-#define SIO_32BIT_MODE 0x1000 // Normal 32-bit communication mode
-#define SIO_MULTI_MODE 0x2000 // Multi-player communication mode
-#define SIO_UART_MODE 0x3000 // UART communication mode
-
-#define SIO_9600_BPS 0x0000 // baud rate 9600 bps
-#define SIO_38400_BPS 0x0001 // 38400 bps
-#define SIO_57600_BPS 0x0002 // 57600 bps
-#define SIO_115200_BPS 0x0003 // 115200 bps
-
-#define SIO_MULTI_SI 0x0004 // Multi-player communication SI terminal
-#define SIO_MULTI_SD 0x0008 // SD terminal
-#define SIO_MULTI_BUSY 0x0080
-
-#define SIO_ERROR 0x0040 // Detect error
-#define SIO_START 0x0080 // Start transfer
-#define SIO_ENABLE 0x0080 // Enable SIO
-
-#define SIO_INTR_ENABLE 0x4000
-
-#define SIO_MULTI_SI_SHIFT 2
-#define SIO_MULTI_SI_MASK 0x1
-#define SIO_MULTI_DI_SHIFT 3
-#define SIO_MULTI_DI_MASK 0x1
-
-// keys
-#define A_BUTTON 0x0001
-#define B_BUTTON 0x0002
-#define SELECT_BUTTON 0x0004
-#define START_BUTTON 0x0008
-#define DPAD_RIGHT 0x0010
-#define DPAD_LEFT 0x0020
-#define DPAD_UP 0x0040
-#define DPAD_DOWN 0x0080
-#define R_BUTTON 0x0100
-#define L_BUTTON 0x0200
-#define KEYS_MASK 0x03FF
-#define KEY_INTR_ENABLE 0x0400
-#define KEY_OR_INTR 0x0000
-#define KEY_AND_INTR 0x8000
-#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
-#define JOY_EXCL_DPAD 0x030F
-
-// interrupt flags
-#define INTR_FLAG_VBLANK (1 << 0)
-#define INTR_FLAG_HBLANK (1 << 1)
-#define INTR_FLAG_VCOUNT (1 << 2)
-#define INTR_FLAG_TIMER0 (1 << 3)
-#define INTR_FLAG_TIMER1 (1 << 4)
-#define INTR_FLAG_TIMER2 (1 << 5)
-#define INTR_FLAG_TIMER3 (1 << 6)
-#define INTR_FLAG_SERIAL (1 << 7)
-#define INTR_FLAG_DMA0 (1 << 8)
-#define INTR_FLAG_DMA1 (1 << 9)
-#define INTR_FLAG_DMA2 (1 << 10)
-#define INTR_FLAG_DMA3 (1 << 11)
-#define INTR_FLAG_KEYPAD (1 << 12)
-#define INTR_FLAG_GAMEPAK (1 << 13)
-
-// WAITCNT
-#define WAITCNT_SRAM_4 (0 << 0)
-#define WAITCNT_SRAM_3 (1 << 0)
-#define WAITCNT_SRAM_2 (2 << 0)
-#define WAITCNT_SRAM_8 (3 << 0)
-#define WAITCNT_SRAM_MASK (3 << 0)
-
-#define WAITCNT_WS0_N_4 (0 << 2)
-#define WAITCNT_WS0_N_3 (1 << 2)
-#define WAITCNT_WS0_N_2 (2 << 2)
-#define WAITCNT_WS0_N_8 (3 << 2)
-#define WAITCNT_WS0_N_MASK (3 << 2)
-
-#define WAITCNT_WS0_S_2 (0 << 4)
-#define WAITCNT_WS0_S_1 (1 << 4)
-
-#define WAITCNT_WS1_N_4 (0 << 5)
-#define WAITCNT_WS1_N_3 (1 << 5)
-#define WAITCNT_WS1_N_2 (2 << 5)
-#define WAITCNT_WS1_N_8 (3 << 5)
-#define WAITCNT_WS1_N_MASK (3 << 5)
-
-#define WAITCNT_WS1_S_4 (0 << 7)
-#define WAITCNT_WS1_S_1 (1 << 7)
-
-#define WAITCNT_WS2_N_4 (0 << 8)
-#define WAITCNT_WS2_N_3 (1 << 8)
-#define WAITCNT_WS2_N_2 (2 << 8)
-#define WAITCNT_WS2_N_8 (3 << 8)
-#define WAITCNT_WS2_N_MASK (3 << 8)
-
-#define WAITCNT_WS2_S_8 (0 << 10)
-#define WAITCNT_WS2_S_1 (1 << 10)
-
-#define WAITCNT_PHI_OUT_NONE (0 << 11)
-#define WAITCNT_PHI_OUT_4MHZ (1 << 11)
-#define WAITCNT_PHI_OUT_8MHZ (2 << 11)
-#define WAITCNT_PHI_OUT_16MHZ (3 << 11)
-#define WAITCNT_PHI_OUT_MASK (3 << 11)
-
-#define WAITCNT_PREFETCH_ENABLE (1 << 14)
-
-#define WAITCNT_AGB (0 << 15)
-#define WAITCNT_CGB (1 << 15)
-
-#endif // GUARD_GBA_IO_REG_H
diff --git a/berry_fix/payload/include/gba/isagbprint.h b/berry_fix/payload/include/gba/isagbprint.h
deleted file mode 100644
index c5eb456c3f..0000000000
--- a/berry_fix/payload/include/gba/isagbprint.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef GUARD_GBA_ISAGBPRINT_H
-#define GUARD_GBA_ISAGBPRINT_H
-
-#ifdef NDEBUG
-#define AGBPrintInit()
-#define AGBPutc(cChr)
-#define AGBPrint(pBuf)
-#define AGBPrintf(pBuf, ...)
-#define AGBPrintFlush1Block()
-#define AGBPrintFlush()
-#define AGBAssert(pFile, nLine, pExpression, nStopProgram)
-#else
-void AGBPrintInit(void);
-void AGBPutc(const char cChr);
-void AGBPrint(const char *pBuf);
-void AGBPrintf(const char *pBuf, ...);
-void AGBPrintFlush1Block(void);
-void AGBPrintFlush(void);
-void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram);
-#endif
-
-#undef AGB_ASSERT
-#ifdef NDEBUG
-#define AGB_ASSERT(exp)
-#else
-#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1);
-#endif
-
-#undef AGB_WARNING
-#ifdef NDEBUG
-#define AGB_WARNING(exp)
-#else
-#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0);
-#endif
-
-// for matching purposes
-
-#ifdef NDEBUG
-#define AGB_ASSERT_EX(exp, file, line)
-#else
-#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1);
-#endif
-
-#ifdef NDEBUG
-#define AGB_WARNING_EX(exp, file, line)
-#else
-#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0);
-#endif
-
-#endif // GUARD_GBA_ISAGBPRINT_H
diff --git a/berry_fix/payload/include/gba/m4a_internal.h b/berry_fix/payload/include/gba/m4a_internal.h
deleted file mode 100644
index 1aca675854..0000000000
--- a/berry_fix/payload/include/gba/m4a_internal.h
+++ /dev/null
@@ -1,467 +0,0 @@
-#ifndef GUARD_GBA_M4A_INTERNAL_H
-#define GUARD_GBA_M4A_INTERNAL_H
-
-#include "gba/gba.h"
-
-// ASCII encoding of 'Smsh' in reverse
-// This is presumably short for SMASH, the developer of MKS4AGB.
-#define ID_NUMBER 0x68736D53
-
-#define C_V 0x40 // center value for PAN, BEND, and TUNE
-
-#define SOUND_MODE_REVERB_VAL 0x0000007F
-#define SOUND_MODE_REVERB_SET 0x00000080
-#define SOUND_MODE_MAXCHN 0x00000F00
-#define SOUND_MODE_MAXCHN_SHIFT 8
-#define SOUND_MODE_MASVOL 0x0000F000
-#define SOUND_MODE_MASVOL_SHIFT 12
-#define SOUND_MODE_FREQ_05734 0x00010000
-#define SOUND_MODE_FREQ_07884 0x00020000
-#define SOUND_MODE_FREQ_10512 0x00030000
-#define SOUND_MODE_FREQ_13379 0x00040000
-#define SOUND_MODE_FREQ_15768 0x00050000
-#define SOUND_MODE_FREQ_18157 0x00060000
-#define SOUND_MODE_FREQ_21024 0x00070000
-#define SOUND_MODE_FREQ_26758 0x00080000
-#define SOUND_MODE_FREQ_31536 0x00090000
-#define SOUND_MODE_FREQ_36314 0x000A0000
-#define SOUND_MODE_FREQ_40137 0x000B0000
-#define SOUND_MODE_FREQ_42048 0x000C0000
-#define SOUND_MODE_FREQ 0x000F0000
-#define SOUND_MODE_FREQ_SHIFT 16
-#define SOUND_MODE_DA_BIT_9 0x00800000
-#define SOUND_MODE_DA_BIT_8 0x00900000
-#define SOUND_MODE_DA_BIT_7 0x00A00000
-#define SOUND_MODE_DA_BIT_6 0x00B00000
-#define SOUND_MODE_DA_BIT 0x00B00000
-#define SOUND_MODE_DA_BIT_SHIFT 20
-
-struct WaveData
-{
- u16 type;
- u16 status;
- u32 freq;
- u32 loopStart;
- u32 size; // number of samples
- s8 data[1]; // samples
-};
-
-#define TONEDATA_TYPE_CGB 0x07
-#define TONEDATA_TYPE_FIX 0x08
-#define TONEDATA_TYPE_SPL 0x40 // key split
-#define TONEDATA_TYPE_RHY 0x80 // rhythm
-
-#define TONEDATA_P_S_PAN 0xc0
-#define TONEDATA_P_S_PAM TONEDATA_P_S_PAN
-
-struct ToneData
-{
- u8 type;
- u8 key;
- u8 length; // sound length (compatible sound)
- u8 pan_sweep; // pan or sweep (compatible sound ch. 1)
- struct WaveData *wav;
- u8 attack;
- u8 decay;
- u8 sustain;
- u8 release;
-};
-
-struct CgbChannel
-{
- u8 sf;
- u8 ty;
- u8 rightVolume;
- u8 leftVolume;
- u8 at;
- u8 de;
- u8 su;
- u8 re;
- u8 ky;
- u8 ev;
- u8 eg;
- u8 ec;
- u8 echoVolume;
- u8 echoLength;
- u8 d1;
- u8 d2;
- u8 gt;
- u8 mk;
- u8 ve;
- u8 pr;
- u8 rp;
- u8 d3[3];
- u8 d5;
- u8 sg;
- u8 n4;
- u8 pan;
- u8 panMask;
- u8 mo;
- u8 le;
- u8 sw;
- u32 fr;
- u32 wp;
- u32 cp;
- u32 tp;
- u32 pp;
- u32 np;
- u8 d4[8];
-};
-
-struct MusicPlayerTrack;
-
-struct SoundChannel
-{
- u8 status;
- u8 type;
- u8 rightVolume;
- u8 leftVolume;
- u8 attack;
- u8 decay;
- u8 sustain;
- u8 release;
- u8 ky;
- u8 ev;
- u8 er;
- u8 el;
- u8 echoVolume;
- u8 echoLength;
- u8 d1;
- u8 d2;
- u8 gt;
- u8 mk;
- u8 ve;
- u8 pr;
- u8 rp;
- u8 d3[3];
- u32 ct;
- u32 fw;
- u32 freq;
- struct WaveData *wav;
- u32 cp;
- struct MusicPlayerTrack *track;
- u32 pp;
- u32 np;
- u32 d4;
- u16 xpi;
- u16 xpc;
-};
-
-#define MAX_DIRECTSOUND_CHANNELS 12
-
-#define PCM_DMA_BUF_SIZE 1584 // size of Direct Sound buffer
-
-struct SoundInfo
-{
- // This field is normally equal to ID_NUMBER but it is set to other
- // values during sensitive operations for locking purposes.
- // This field should be volatile but isn't. This could potentially cause
- // race conditions.
- u32 ident;
-
- vu8 pcmDmaCounter;
-
- // Direct Sound
- u8 reverb;
- u8 maxChans;
- u8 masterVolume;
- u8 freq;
-
- u8 mode;
- u8 c15;
- u8 pcmDmaPeriod; // number of V-blanks per PCM DMA
- u8 maxLines;
- u8 gap[3];
- s32 pcmSamplesPerVBlank;
- s32 pcmFreq;
- s32 divFreq;
- struct CgbChannel *cgbChans;
- u32 func;
- u32 intp;
- void (*CgbSound)(void);
- void (*CgbOscOff)(u8);
- u32 (*MidiKeyToCgbFreq)(u8, u8, u8);
- u32 MPlayJumpTable;
- u32 plynote;
- u32 ExtVolPit;
- u8 gap2[16];
- struct SoundChannel chans[MAX_DIRECTSOUND_CHANNELS];
- s8 pcmBuffer[PCM_DMA_BUF_SIZE * 2];
-};
-
-struct SongHeader
-{
- u8 trackCount;
- u8 blockCount;
- u8 priority;
- u8 reverb;
- struct ToneData *tone;
- u8 *part[1];
-};
-
-struct PokemonCrySong
-{
- u8 trackCount;
- u8 blockCount;
- u8 priority;
- u8 reverb;
- struct ToneData *tone;
- u8 *part[2];
- u8 gap;
- u8 part0; // 0x11
- u8 tuneValue; // 0x12
- u8 gotoCmd; // 0x13
- u32 gotoTarget; // 0x14
- u8 part1; // 0x18
- u8 tuneValue2; // 0x19
- u8 cont[2]; // 0x1A
- u8 volCmd; // 0x1C
- u8 volumeValue; // 0x1D
- u8 unkCmd0D[2]; // 0x1E
- u32 unkCmd0DParam; // 0x20
- u8 xreleCmd[2]; // 0x24
- u8 releaseValue; // 0x26
- u8 panCmd;
- u8 panValue; // 0x28
- u8 tieCmd; // 0x29
- u8 tieKeyValue; // 0x2A
- u8 tieVelocityValue; // 0x2B
- u8 unkCmd0C[2]; // 0x2C
- u16 unkCmd0CParam; // 0x2E
- u8 end[2]; // 0x30
-};
-
-#define MPT_FLG_VOLSET 0x01
-#define MPT_FLG_VOLCHG 0x03
-#define MPT_FLG_PITSET 0x04
-#define MPT_FLG_PITCHG 0x0C
-#define MPT_FLG_START 0x40
-#define MPT_FLG_EXIST 0x80
-
-struct MusicPlayerTrack
-{
- u8 flags;
- u8 wait;
- u8 patternLevel;
- u8 repN;
- u8 gateTime;
- u8 key;
- u8 velocity;
- u8 runningStatus;
- u8 keyM;
- u8 pitM;
- s8 keyShift;
- s8 keyShiftX;
- s8 tune;
- u8 pitX;
- s8 bend;
- u8 bendRange;
- u8 volMR;
- u8 volML;
- u8 vol;
- u8 volX;
- s8 pan;
- s8 panX;
- s8 modM;
- u8 mod;
- u8 modT;
- u8 lfoSpeed;
- u8 lfoSpeedC;
- u8 lfoDelay;
- u8 lfoDelayC;
- u8 priority;
- u8 echoVolume;
- u8 echoLength;
- struct SoundChannel *chan;
- struct ToneData tone;
- u8 gap[10];
- u16 unk_3A;
- u32 unk_3C;
- u8 *cmdPtr;
- u8 *patternStack[3];
-};
-
-#define MUSICPLAYER_STATUS_TRACK 0x0000ffff
-#define MUSICPLAYER_STATUS_PAUSE 0x80000000
-
-#define MAX_MUSICPLAYER_TRACKS 16
-
-#define TEMPORARY_FADE 0x0001
-#define FADE_IN 0x0002
-#define FADE_VOL_MAX 64
-#define FADE_VOL_SHIFT 2
-
-struct MusicPlayerInfo
-{
- struct SongHeader *songHeader;
- u32 status;
- u8 trackCount;
- u8 priority;
- u8 cmd;
- u8 unk_B;
- u32 clock;
- u8 gap[8];
- u8 *memAccArea;
- u16 tempoD;
- u16 tempoU;
- u16 tempoI;
- u16 tempoC;
- u16 fadeOI;
- u16 fadeOC;
- u16 fadeOV;
- struct MusicPlayerTrack *tracks;
- struct ToneData *tone;
- u32 ident;
- u32 func;
- u32 intp;
-};
-
-struct MusicPlayer
-{
- struct MusicPlayerInfo *info;
- struct MusicPlayerTrack *track;
- u8 unk_8;
- u16 unk_A;
-};
-
-struct Song
-{
- struct SongHeader *header;
- u16 ms;
- u16 me;
-};
-
-extern const struct MusicPlayer gMPlayTable[];
-extern const struct Song gSongTable[];
-
-
-
-extern u8 gMPlayMemAccArea[];
-
-//u8 gPokemonCrySong[52];
-//u8 gPokemonCrySongs[52 * MAX_POKEMON_CRIES];
-
-#define MAX_POKEMON_CRIES 2
-
-extern struct PokemonCrySong gPokemonCrySong;
-extern struct PokemonCrySong gPokemonCrySongs[];
-
-extern struct MusicPlayerInfo gPokemonCryMusicPlayers[];
-extern struct MusicPlayerTrack gPokemonCryTracks[];
-
-extern char SoundMainRAM[];
-
-extern void *gMPlayJumpTable[];
-
-typedef void (*XcmdFunc)(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-extern const XcmdFunc gXcmdTable[];
-
-extern struct CgbChannel gCgbChans[];
-
-extern const u8 gScaleTable[];
-extern const u32 gFreqTable[];
-extern const u16 gPcmSamplesPerVBlankTable[];
-
-extern const u8 gCgbScaleTable[];
-extern const s16 gCgbFreqTable[];
-extern const u8 gNoiseTable[];
-
-extern const struct PokemonCrySong gPokemonCrySongTemplate;
-
-extern const struct ToneData voicegroup000;
-
-extern char gNumMusicPlayers[];
-extern char gMaxLines[];
-
-#define NUM_MUSIC_PLAYERS ((u16)gNumMusicPlayers)
-#define MAX_LINES ((u32)gMaxLines)
-
-u32 umul3232H32(u32 multiplier, u32 multiplicand);
-void SoundMain(void);
-void SoundMainBTM(void);
-void TrackStop(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track);
-void MPlayMain(void);
-void RealClearChain(void *x);
-
-void MPlayContinue(struct MusicPlayerInfo *mplayInfo);
-void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader);
-void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo);
-void FadeOutBody(struct MusicPlayerInfo *mplayInfo);
-void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track);
-void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed);
-void ClearChain(void *x);
-void Clear64byte(void *addr);
-void SoundInit(struct SoundInfo *soundInfo);
-void MPlayExtender(struct CgbChannel *cgbChans);
-void m4aSoundMode(u32 mode);
-void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track, u8 a3);
-void CgbSound(void);
-void CgbOscOff(u8);
-u32 MidiKeyToCgbFreq(u8, u8, u8);
-void DummyFunc(void);
-void MPlayJumpTableCopy(void **mplayJumpTable);
-void SampleFreqSet(u32 freq);
-void m4aSoundVSyncOn(void);
-void m4aSoundVSyncOff(void);
-
-void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo);
-void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume);
-void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch);
-void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan);
-void ClearModM(struct MusicPlayerTrack *track);
-void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth);
-void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed);
-
-struct MusicPlayerInfo *SetPokemonCryTone(struct ToneData *tone);
-void SetPokemonCryVolume(u8 val);
-void SetPokemonCryPanpot(s8 val);
-void SetPokemonCryPitch(s16 val);
-void SetPokemonCryLength(u16 val);
-void SetPokemonCryRelease(u8 val);
-void SetPokemonCryProgress(u32 val);
-bool32 IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo);
-void SetPokemonCryChorus(s8 val);
-void SetPokemonCryStereo(u32 val);
-void SetPokemonCryPriority(u8 val);
-
-// sound command handler functions
-void ply_fine(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_goto(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_patt(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_pend(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_rept(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_memacc(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_prio(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_tempo(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_keysh(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_voice(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_vol(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_pan(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_bend(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_bendr(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_lfos(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_lfodl(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_mod(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_modt(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_tune(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_port(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xcmd(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_endtie(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_note(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-
-// extended sound command handler functions
-void ply_xxx(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xwave(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xtype(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xatta(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xdeca(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xsust(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xrele(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xiecv(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xiecl(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xleng(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xswee(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xcmd_0C(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-void ply_xcmd_0D(struct MusicPlayerInfo *, struct MusicPlayerTrack *);
-
-#endif // GUARD_GBA_M4A_INTERNAL_H
diff --git a/berry_fix/payload/include/gba/macro.h b/berry_fix/payload/include/gba/macro.h
deleted file mode 100644
index 6f9c55f2ed..0000000000
--- a/berry_fix/payload/include/gba/macro.h
+++ /dev/null
@@ -1,247 +0,0 @@
-#ifndef GUARD_GBA_MACRO_H
-#define GUARD_GBA_MACRO_H
-
-#define CPU_FILL(value, dest, size, bit) \
-{ \
- vu##bit tmp = (vu##bit)(value); \
- CpuSet((void *)&tmp, \
- dest, \
- CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size)/(bit/8) & 0x1FFFFF)); \
-}
-
-#define CpuFill16(value, dest, size) CPU_FILL(value, dest, size, 16)
-#define CpuFill32(value, dest, size) CPU_FILL(value, dest, size, 32)
-
-#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size)/(bit/8) & 0x1FFFFF))
-
-#define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16)
-#define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32)
-
-#define CpuFastFill(value, dest, size) \
-{ \
- vu32 tmp = (vu32)(value); \
- CpuFastSet((void *)&tmp, \
- dest, \
- CPU_FAST_SET_SRC_FIXED | ((size)/(32/8) & 0x1FFFFF)); \
-}
-
-#define CpuFastFill16(value, dest, size) CpuFastFill(((value) << 16) | (value), (dest), (size))
-
-#define CpuFastFill8(value, dest, size) CpuFastFill(((value) << 24) | ((value) << 16) | ((value) << 8) | (value), (dest), (size))
-
-#define CpuFastCopy(src, dest, size) CpuFastSet(src, dest, ((size)/(32/8) & 0x1FFFFF))
-
-#define DmaSet(dmaNum, src, dest, control) \
-{ \
- vu32 *dmaRegs = (vu32 *)REG_ADDR_DMA##dmaNum; \
- dmaRegs[0] = (vu32)(src); \
- dmaRegs[1] = (vu32)(dest); \
- dmaRegs[2] = (vu32)(control); \
- dmaRegs[2]; \
-}
-
-#define DMA_FILL(dmaNum, value, dest, size, bit) \
-{ \
- vu##bit tmp = (vu##bit)(value); \
- DmaSet(dmaNum, \
- &tmp, \
- dest, \
- (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 \
- | ((size)/(bit/8))); \
-}
-
-#define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16)
-#define DmaFill32(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 32)
-
-// Note that the DMA clear macros cause the DMA control value to be calculated
-// at runtime rather than compile time. The size is divided by the DMA transfer
-// unit size (2 or 4 bytes) and then combined with the DMA control flags using a
-// bitwise OR operation.
-
-#define DMA_CLEAR(dmaNum, dest, size, bit) \
-{ \
- vu##bit *_dest = (vu##bit *)(dest); \
- u32 _size = size; \
- DmaFill##bit(dmaNum, 0, _dest, _size); \
-}
-
-#define DmaClear16(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 16)
-#define DmaClear32(dmaNum, dest, size) DMA_CLEAR(dmaNum, dest, size, 32)
-
-#define DMA_COPY(dmaNum, src, dest, size, bit) \
- DmaSet(dmaNum, \
- src, \
- dest, \
- (DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 \
- | ((size)/(bit/8)))
-
-#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16)
-#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32)
-
-#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \
-{ \
- const void *_src = src; \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- while (1) \
- { \
- DmaCopy##bit(dmaNum, _src, _dest, (block)); \
- _src += (block); \
- _dest += (block); \
- _size -= (block); \
- if (_size <= (block)) \
- { \
- DmaCopy##bit(dmaNum, _src, _dest, _size); \
- break; \
- } \
- } \
-}
-
-#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16)
-
-#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32)
-
-#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
-{ \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- while (1) \
- { \
- DmaFill##bit(dmaNum, value, _dest, (block)); \
- _dest += (block); \
- _size -= (block); \
- if (_size <= (block)) \
- { \
- DmaFill##bit(dmaNum, value, _dest, _size); \
- break; \
- } \
- } \
-}
-
-#define DmaFillLarge16(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 16)
-
-#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32)
-
-#define DmaClearLarge(dmaNum, dest, size, block, bit) \
-{ \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- while (1) \
- { \
- DmaFill##bit(dmaNum, 0, _dest, (block)); \
- _dest += (block); \
- _size -= (block); \
- if (_size <= (block)) \
- { \
- DmaFill##bit(dmaNum, 0, _dest, _size); \
- break; \
- } \
- } \
-}
-
-#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16)
-
-#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32)
-
-#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
-{ \
- const void *_src = src; \
- void *_dest = (void *)(dest); \
- u32 _size = size; \
- DmaCopy##bit(dmaNum, _src, _dest, _size); \
-}
-
-#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
-#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
-
-#define DmaFillDefvars(dmaNum, value, dest, size, bit) \
-{ \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- DmaFill##bit(dmaNum, value, _dest, _size); \
-}
-
-#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16)
-#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32)
-
-#define DmaClearDefvars(dmaNum, dest, size, bit) \
-{ \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- DmaClear##bit(dmaNum, _dest, _size); \
-}
-
-#define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16)
-#define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32)
-
-#define DmaStop(dmaNum) \
-{ \
- vu16 *dmaRegs = (vu16 *)REG_ADDR_DMA##dmaNum; \
- dmaRegs[5] &= ~(DMA_START_MASK | DMA_DREQ_ON | DMA_REPEAT); \
- dmaRegs[5] &= ~DMA_ENABLE; \
- dmaRegs[5]; \
-}
-
-#define IntrEnable(flags) \
-{ \
- u16 imeTemp; \
- \
- imeTemp = REG_IME; \
- REG_IME = 0; \
- REG_IE |= flags; \
- REG_IME = imeTemp; \
-} \
-// from pokeemerald
-// Maximum amount of data we will transfer in one operation
-#define MAX_DMA_BLOCK_SIZE 0x1000
-
-#define MAX_DMA_REQUESTS 128
-
-#define DMA_REQUEST_COPY32 1
-#define DMA_REQUEST_FILL32 2
-#define DMA_REQUEST_COPY16 3
-#define DMA_REQUEST_FILL16 4
-
-#define Dma3CopyLarge_(src, dest, size, bit) \
-{ \
- const void *_src = src; \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- while (1) \
- { \
- if (_size <= MAX_DMA_BLOCK_SIZE) \
- { \
- DmaCopy##bit(3, _src, _dest, _size); \
- break; \
- } \
- DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \
- _src += MAX_DMA_BLOCK_SIZE; \
- _dest += MAX_DMA_BLOCK_SIZE; \
- _size -= MAX_DMA_BLOCK_SIZE; \
- } \
-}
-
-#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16)
-#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32)
-
-#define Dma3FillLarge_(value, dest, size, bit) \
-{ \
- void *_dest = (void *)dest; \
- u32 _size = size; \
- while (1) \
- { \
- if (_size <= MAX_DMA_BLOCK_SIZE) \
- { \
- DmaFill##bit(3, value, _dest, _size); \
- break; \
- } \
- DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \
- _dest += MAX_DMA_BLOCK_SIZE; \
- _size -= MAX_DMA_BLOCK_SIZE; \
- } \
-}
-
-#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
-#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
-
-#endif // GUARD_GBA_MACRO_H
diff --git a/berry_fix/payload/include/gba/multiboot.h b/berry_fix/payload/include/gba/multiboot.h
deleted file mode 100644
index 14b6594b29..0000000000
--- a/berry_fix/payload/include/gba/multiboot.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef GUARD_GBA_MULTIBOOT_H
-#define GUARD_GBA_MULTIBOOT_H
-
-#define MULTIBOOT_NCHILD 3 // Maximum number of slaves
-#define MULTIBOOT_HEADER_SIZE 0xc0 // Header size
-#define MULTIBOOT_SEND_SIZE_MIN 0x100 // Minimum transmission size
-#define MULTIBOOT_SEND_SIZE_MAX 0x40000 // Maximum transmission size
-
-struct MultiBootParam
-{
- u32 system_work[5]; // 00
- u8 handshake_data; // 14
- u8 padding; // 15
- u16 handshake_timeout; // 16
- u8 probe_count; // 18
- u8 client_data[MULTIBOOT_NCHILD]; // 19
- u8 palette_data; // 1c
- u8 response_bit; // 1d
- u8 client_bit; // 1e
- u8 reserved1; // 1f
- const u8 *boot_srcp; // 20
- const u8 *boot_endp; // 24
- const u8 *masterp;
- u8 *reserved2[MULTIBOOT_NCHILD];
- u32 system_work2[4];
- u8 sendflag;
- u8 probe_target_bit;
- u8 check_wait;
- u8 server_type;
-};
-
-#define MULTIBOOT_ERROR_04 0x04
-#define MULTIBOOT_ERROR_08 0x08
-#define MULTIBOOT_ERROR_0c 0x0c
-#define MULTIBOOT_ERROR_40 0x40
-#define MULTIBOOT_ERROR_44 0x44
-#define MULTIBOOT_ERROR_48 0x48
-#define MULTIBOOT_ERROR_4c 0x4c
-#define MULTIBOOT_ERROR_80 0x80
-#define MULTIBOOT_ERROR_84 0x84
-#define MULTIBOOT_ERROR_88 0x88
-#define MULTIBOOT_ERROR_8c 0x8c
-#define MULTIBOOT_ERROR_NO_PROBE_TARGET 0x50
-#define MULTIBOOT_ERROR_NO_DLREADY 0x60
-#define MULTIBOOT_ERROR_BOOT_FAILURE 0x70
-#define MULTIBOOT_ERROR_HANDSHAKE_FAILURE 0x71
-
-#define MULTIBOOT_CONNECTION_CHECK_WAIT 15
-
-#define MULTIBOOT_SERVER_TYPE_NORMAL 0
-#define MULTIBOOT_SERVER_TYPE_QUICK 1
-
-#define MULTIBOOT_HANDSHAKE_TIMEOUT 400
-
-#endif // GUARD_GBA_MULTIBOOT_H
diff --git a/berry_fix/payload/include/gba/syscall.h b/berry_fix/payload/include/gba/syscall.h
deleted file mode 100644
index eb1bd4e20f..0000000000
--- a/berry_fix/payload/include/gba/syscall.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef GUARD_GBA_SYSCALL_H
-#define GUARD_GBA_SYSCALL_H
-
-#include "gba/types.h"
-
-#define RESET_EWRAM 0x01
-#define RESET_IWRAM 0x02
-#define RESET_PALETTE 0x04
-#define RESET_VRAM 0x08
-#define RESET_OAM 0x10
-#define RESET_SIO_REGS 0x20
-#define RESET_SOUND_REGS 0x40
-#define RESET_REGS 0x80
-#define RESET_ALL 0xFF
-
-void SoftReset(u32 resetFlags);
-
-void RegisterRamReset(u32 resetFlags);
-
-void VBlankIntrWait(void);
-
-u16 Sqrt(u32 num);
-
-u16 ArcTan2(s16 x, s16 y);
-
-#define CPU_SET_SRC_FIXED 0x01000000
-#define CPU_SET_16BIT 0x00000000
-#define CPU_SET_32BIT 0x04000000
-
-void CpuSet(const void *src, void *dest, u32 control);
-
-#define CPU_FAST_SET_SRC_FIXED 0x01000000
-
-void CpuFastSet(const void *src, void *dest, u32 control);
-
-void BgAffineSet(struct BgAffineSrcData *src, struct BgAffineDstData *dest, s32 count);
-
-void ObjAffineSet(struct ObjAffineSrcData *src, void *dest, s32 count, s32 offset);
-
-void LZ77UnCompWram(const void *src, void *dest);
-
-void LZ77UnCompVram(const void *src, void *dest);
-
-void RLUnCompWram(const void *src, void *dest);
-
-void RLUnCompVram(const void *src, void *dest);
-
-int MultiBoot(struct MultiBootParam *mp);
-
-void SoundBiasReset(void);
-
-void SoundBiasSet(void);
-
-u32 Div(u32 divisor, u32 dividend);
-u32 Mod(u32 divisor, u32 dividend);
-
-#endif // GUARD_GBA_SYSCALL_H
diff --git a/berry_fix/payload/include/gba/types.h b/berry_fix/payload/include/gba/types.h
deleted file mode 100644
index e919abc22a..0000000000
--- a/berry_fix/payload/include/gba/types.h
+++ /dev/null
@@ -1,146 +0,0 @@
-#ifndef GUARD_GBA_TYPES_H
-#define GUARD_GBA_TYPES_H
-
-#include
-
-typedef uint8_t u8;
-typedef uint16_t u16;
-typedef uint32_t u32;
-typedef uint64_t u64;
-typedef int8_t s8;
-typedef int16_t s16;
-typedef int32_t s32;
-typedef int64_t s64;
-
-typedef volatile u8 vu8;
-typedef volatile u16 vu16;
-typedef volatile u32 vu32;
-typedef volatile u64 vu64;
-typedef volatile s8 vs8;
-typedef volatile s16 vs16;
-typedef volatile s32 vs32;
-typedef volatile s64 vs64;
-
-typedef float f32;
-typedef double f64;
-
-typedef u8 bool8;
-typedef u16 bool16;
-typedef u32 bool32;
-
-struct BgCnt
-{
- u16 priority:2;
- u16 charBaseBlock:2;
- u16 dummy:2;
- u16 mosaic:1;
- u16 palettes:1;
- u16 screenBaseBlock:5;
- u16 areaOverflowMode:1;
- u16 screenSize:2;
-};
-typedef volatile struct BgCnt vBgCnt;
-
-struct PlttData
-{
- u16 r:5; // red
- u16 g:5; // green
- u16 b:5; // blue
- u16 unused_15:1;
-};
-
-struct OamData
-{
- /*0x00*/ u32 y:8;
- /*0x01*/ u32 affineMode:2; // 0x1, 0x2 -> 0x4
- u32 objMode:2; // 0x4, 0x8 -> 0xC
- u32 mosaic:1; // 0x10
- u32 bpp:1; // 0x20
- u32 shape:2; // 0x40, 0x80 -> 0xC0
-
- /*0x02*/ u32 x:9;
- u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
- u32 size:2;
-
- /*0x04*/ u16 tileNum:10; // 0x3FF
- u16 priority:2; // 0x400, 0x800 -> 0xC00
- u16 paletteNum:4;
- /*0x06*/ u16 affineParam;
-};
-
-#define ST_OAM_OBJ_NORMAL 0
-#define ST_OAM_OBJ_BLEND 1
-#define ST_OAM_OBJ_WINDOW 2
-
-#define ST_OAM_AFFINE_OFF 0
-#define ST_OAM_AFFINE_NORMAL 1
-#define ST_OAM_AFFINE_ERASE 2
-#define ST_OAM_AFFINE_DOUBLE 3
-
-#define ST_OAM_AFFINE_ON_MASK 1
-#define ST_OAM_AFFINE_DOUBLE_MASK 2
-
-#define ST_OAM_4BPP 0
-#define ST_OAM_8BPP 1
-
-#define ST_OAM_SQUARE 0
-#define ST_OAM_H_RECTANGLE 1
-#define ST_OAM_V_RECTANGLE 2
-
-struct BgAffineSrcData
-{
- s32 texX;
- s32 texY;
- s16 scrX;
- s16 scrY;
- s16 sx;
- s16 sy;
- u16 alpha;
-};
-
-struct BgAffineDstData
-{
- s16 pa;
- s16 pb;
- s16 pc;
- s16 pd;
- s32 dx;
- s32 dy;
-};
-
-struct ObjAffineSrcData
-{
- s16 xScale;
- s16 yScale;
- u16 rotation;
-};
-
-// Multi-player SIO Control Structure
-struct SioMultiCnt
-{
- u16 baudRate:2; // baud rate
- u16 si:1; // SI terminal
- u16 sd:1; // SD terminal
- u16 id:2; // ID
- u16 error:1; // error flag
- u16 enable:1; // SIO enable
- u16 unused_11_8:4;
- u16 mode:2; // communication mode (should equal 2)
- u16 intrEnable:1; // IRQ enable
- u16 unused_15:1;
- u16 data; // data
-};
-
-#define ST_SIO_MULTI_MODE 2 // Multi-player communication mode
-
-// baud rate
-#define ST_SIO_9600_BPS 0 // 9600 bps
-#define ST_SIO_38400_BPS 1 // 38400 bps
-#define ST_SIO_57600_BPS 2 // 57600 bps
-#define ST_SIO_115200_BPS 3 // 115200 bps
-
-typedef void (*MainCallback)(void);
-typedef void (*IntrCallback)(void);
-typedef void (*IntrFunc)(void);
-
-#endif // GUARD_GBA_TYPES_H
diff --git a/berry_fix/payload/include/global.berry.h b/berry_fix/payload/include/global.berry.h
deleted file mode 100644
index 8f185c8f9d..0000000000
--- a/berry_fix/payload/include/global.berry.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef GUARD_GLOBAL_BERRY_H
-#define GUARD_GLOBAL_BERRY_H
-
-struct Berry
-{
- /*0x00*/ u8 name[7];
- /*0x07*/ u8 firmness;
- /*0x08*/ u16 size;
- /*0x0A*/ u8 maxYield;
- /*0x0B*/ u8 minYield;
- /*0x0C*/ const u8 *description1;
- /*0x10*/ const u8 *description2;
- /*0x14*/ u8 stageDuration;
- /*0x15*/ u8 spicy;
- /*0x16*/ u8 dry;
- /*0x17*/ u8 sweet;
- /*0x18*/ u8 bitter;
- /*0x19*/ u8 sour;
- /*0x1A*/ u8 smoothness;
-};
-
-struct EnigmaBerry
-{
- /*0x000*/ struct Berry berry;
- /*0x01B*/ u8 pic[(6 * 6) * TILE_SIZE_4BPP];
- /*0x49C*/ u16 palette[16];
- /*0x4BC*/ u8 description1[45];
- /*0x4E9*/ u8 description2[45];
- /*0x516*/ u8 itemEffect[18];
- /*0x528*/ u8 holdEffect;
- /*0x529*/ u8 holdEffectParam;
- /*0x52C*/ u32 checksum;
-};
-
-struct BattleEnigmaBerry
-{
- /*0x00*/ u8 name[7];
- /*0x07*/ u8 holdEffect;
- /*0x08*/ u8 itemEffect[18];
- /*0x1A*/ u8 holdEffectParam;
-};
-
-struct BerryTree
-{
- /*0x00*/ u8 berry;
- /*0x01*/ u8 stage:7;
- /*
- A berry sparkle is a state that a berry tree
- can be in after growing within the player's
- viewport.
- */
- /*0x01*/ bool8 growthSparkle:1;
- /*0x02*/ u16 minutesUntilNextStage;
- /*0x04*/ u8 berryYield;
- /*0x05*/ u8 regrowthCount:4;
- /*0x05*/ u8 watered1:1;
- /*0x05*/ u8 watered2:1;
- /*0x05*/ u8 watered3:1;
- /*0x05*/ u8 watered4:1;
-};
-
-#endif // GUARD_GLOBAL_BERRY_H
diff --git a/berry_fix/payload/include/global.fieldmap.h b/berry_fix/payload/include/global.fieldmap.h
deleted file mode 100644
index e7150b429f..0000000000
--- a/berry_fix/payload/include/global.fieldmap.h
+++ /dev/null
@@ -1,310 +0,0 @@
-#ifndef GUARD_GLOBAL_FIELDMAP_H
-#define GUARD_GLOBAL_FIELDMAP_H
-
-enum
-{
- CONNECTION_SOUTH = 1,
- CONNECTION_NORTH,
- CONNECTION_WEST,
- CONNECTION_EAST,
- CONNECTION_DIVE,
- CONNECTION_EMERGE
-};
-
-typedef void (*TilesetCB)(void);
-
-struct Tileset
-{
- /*0x00*/ bool8 isCompressed;
- /*0x01*/ bool8 isSecondary;
- /*0x04*/ void *tiles;
- /*0x08*/ void *palettes;
- /*0x0c*/ void *metatiles;
- /*0x10*/ void *metatileAttributes;
- /*0x14*/ TilesetCB callback;
-};
-
-struct MapLayout
-{
- /*0x00*/ s32 width;
- /*0x04*/ s32 height;
- /*0x08*/ u16 *border;
- /*0x0c*/ u16 *map;
- /*0x10*/ struct Tileset *primaryTileset;
- /*0x14*/ struct Tileset *secondaryTileset;
-};
-
-struct BackupMapLayout
-{
- s32 width;
- s32 height;
- u16 *map;
-};
-
-struct EventObjectTemplate
-{
- /*0x00*/ u8 localId;
- /*0x01*/ u8 graphicsId;
- /*0x02*/ u8 unk2;
- /*0x04*/ s16 x;
- /*0x06*/ s16 y;
- /*0x08*/ u8 elevation;
- /*0x09*/ u8 movementType;
- /*0x0A*/ u8 movementRangeX:4;
- u8 movementRangeY:4;
- /*0x0C*/ u16 trainerType;
- /*0x0E*/ u16 trainerRange_berryTreeId;
- /*0x10*/ u8 *script;
- /*0x14*/ u16 flagId;
-};
-
-struct WarpEvent
-{
- s16 x, y;
- u8 elevation;
- u8 warpId;
- u8 mapNum;
- u8 mapGroup;
-};
-
-struct CoordEvent
-{
- s16 x, y;
- u8 elevation;
- u16 trigger;
- u16 index;
- u8 filler_A[0x2];
- u8 *script;
-};
-
-struct BgEvent
-{
- u16 x, y;
- u8 elevation;
- u8 kind; // The "kind" field determines how to access bgUnion union below.
- union {
- u8 *script;
- struct {
- u16 item;
- u16 hiddenItemId;
- } hiddenItem;
- u32 secretBaseId;
- } bgUnion;
-};
-
-struct MapEvents
-{
- u8 eventObjectCount;
- u8 warpCount;
- u8 coordEventCount;
- u8 bgEventCount;
-
- struct EventObjectTemplate *eventObjects;
- struct WarpEvent *warps;
- struct CoordEvent *coordEvents;
- struct BgEvent *bgEvents;
-};
-
-struct MapConnection
-{
- /*0x00*/ u8 direction;
- /*0x01*/ u32 offset;
- /*0x05*/ u8 mapGroup;
- /*0x06*/ u8 mapNum;
-};
-
-struct MapConnections
-{
- s32 count;
- struct MapConnection *connections;
-};
-
-struct MapHeader
-{
- /* 0x00 */ struct MapLayout *mapLayout;
- /* 0x04 */ struct MapEvents *events;
- /* 0x08 */ u8 *mapScripts;
- /* 0x0C */ struct MapConnections *connections;
- /* 0x10 */ u16 music;
- /* 0x12 */ u16 mapLayoutId;
- /* 0x14 */ u8 regionMapSectionId;
- /* 0x15 */ u8 cave;
- /* 0x16 */ u8 weather;
- /* 0x17 */ u8 mapType;
- /* 0x18 */ u8 filler_18;
- /* 0x19 */ u8 escapeRope;
- /* 0x1A */ u8 flags;
- /* 0x1B */ u8 battleType;
-};
-
-struct EventObject
-{
- /*0x00*/ u32 active:1;
- u32 singleMovementActive:1;
- u32 triggerGroundEffectsOnMove:1;
- u32 triggerGroundEffectsOnStop:1;
- u32 disableCoveringGroundEffects:1; // disables ground effects that cover parts of the object's sprite
- u32 landingJump:1;
- u32 heldMovementActive:1;
- u32 heldMovementFinished:1;
- /*0x01*/ u32 frozen:1;
- u32 facingDirectionLocked:1;
- u32 disableAnim:1; // used to disable forced movement sliding animations (like on ice)
- u32 enableAnim:1;
- u32 inanimate:1;
- u32 invisible:1;
- u32 offScreen:1;
- u32 trackedByCamera:1; // only set for the player object
- /*0x02*/ u32 isPlayer:1;
- u32 hasReflection:1;
- u32 inShortGrass:1;
- u32 inShallowFlowingWater:1;
- u32 inSandPile:1;
- u32 inHotSprings:1;
- u32 hasShadow:1;
- u32 spriteAnimPausedBackup:1;
- /*0x03*/ u32 spriteAffineAnimPausedBackup:1;
- u32 disableJumpLandingGroundEffect:1;
- u32 fixedPriority:1;
- /*0x04*/ u8 spriteId;
- /*0x05*/ u8 graphicsId;
- /*0x06*/ u8 movementType;
- /*0x07*/ u8 trainerType;
- /*0x08*/ u8 localId;
- /*0x09*/ u8 mapNum;
- /*0x0A*/ u8 mapGroup;
- /*0x0B*/ u8 currentElevation:4;
- u8 previousElevation:4;
- /*0x0C*/ struct Coords16 initialCoords;
- /*0x10*/ struct Coords16 currentCoords;
- /*0x14*/ struct Coords16 previousCoords;
- /*0x18*/ u8 facingDirection:4;
- /*0x18*/ u8 movementDirection:4;
- /*0x19*/ union __attribute__((packed)) {
- u8 as_byte;
- struct __attribute__((packed)) {
- u16 x:4;
- u16 y:4;
- } as_nybbles;
- } range;
- /*0x1A*/ u8 fieldEffectSpriteId;
- /*0x1B*/ u8 warpArrowSpriteId;
- /*0x1C*/ u8 movementActionId;
- /*0x1D*/ u8 trainerRange_berryTreeId;
- /*0x1E*/ u8 currentMetatileBehavior;
- /*0x1F*/ u8 previousMetatileBehavior;
- /*0x20*/ u8 previousMovementDirection;
- /*0x21*/ u8 directionSequenceIndex;
- /*0x22*/ u8 playerCopyableMovement; // used as an index to gCopyPlayerMovementFuncs for the "copy player" movement types
- /*size = 0x24*/
-};
-
-struct EventObjectGraphicsInfo
-{
- /*0x00*/ u16 tileTag;
- /*0x02*/ u16 paletteTag;
- /*0x04*/ u16 bridgeReflectionPaletteTag;
- /*0x06*/ u16 size;
- /*0x08*/ s16 width;
- /*0x0A*/ s16 height;
- /*0x0C*/ u8 paletteSlot:4;
- u8 shadowSize:2;
- u8 inanimate:1;
- u8 disableReflectionPaletteLoad:1;
- /*0x0D*/ u8 tracks;
- /*0x10*/ const struct OamData *oam;
- /*0x14*/ const struct SubspriteTable *subspriteTables;
- /*0x18*/ const union AnimCmd *const *anims;
- /*0x1C*/ const struct SpriteFrameImage *images;
- /*0x20*/ const union AffineAnimCmd *const *affineAnims;
-};
-
-#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
-#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
-#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
-#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
-#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4)
-#define PLAYER_AVATAR_FLAG_CONTROLLABLE (1 << 5)
-#define PLAYER_AVATAR_FLAG_FORCED_MOVE (1 << 6)
-#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
-
-enum
-{
- ACRO_BIKE_NORMAL,
- ACRO_BIKE_TURNING,
- ACRO_BIKE_WHEELIE_STANDING,
- ACRO_BIKE_BUNNY_HOP,
- ACRO_BIKE_WHEELIE_MOVING,
- ACRO_BIKE_STATE5,
- ACRO_BIKE_STATE6,
-};
-
-enum
-{
- DIR_NONE,
- DIR_SOUTH,
- DIR_NORTH,
- DIR_WEST,
- DIR_EAST,
- DIR_SOUTHWEST,
- DIR_SOUTHEAST,
- DIR_NORTHWEST,
- DIR_NORTHEAST,
-};
-
-enum
-{
- COLLISION_LEDGE_JUMP = 6
-};
-
-// player running states
-enum
-{
- NOT_MOVING,
- TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles
- MOVING,
-};
-
-// player tile transition states
-enum
-{
- T_NOT_MOVING,
- T_TILE_TRANSITION,
- T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary.
-};
-
-struct PlayerAvatar /* 0x202E858 */
-{
- /*0x00*/ u8 flags;
- /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags
- /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving.
- /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
- /*0x04*/ u8 spriteId;
- /*0x05*/ u8 eventObjectId;
- /*0x06*/ bool8 preventStep;
- /*0x07*/ u8 gender;
- /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie
- /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here.
- /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike.
- /*0x0B*/ u8 bikeSpeed;
- // acro bike only
- /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs.
- /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only
- // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update.
- /*0x14*/ u8 dirTimerHistory[8];
- /*0x1C*/ u8 abStartSelectTimerHistory[8];
-};
-
-struct Camera
-{
- bool8 active:1;
- s32 x;
- s32 y;
-};
-
-extern struct EventObject gMapObjects[];
-extern u8 gSelectedEventObject;
-extern struct MapHeader gMapHeader;
-extern struct PlayerAvatar gPlayerAvatar;
-
-#endif // GUARD_GLOBAL_FIELDMAP_H
diff --git a/berry_fix/payload/include/global.h b/berry_fix/payload/include/global.h
deleted file mode 100644
index 4bea138d67..0000000000
--- a/berry_fix/payload/include/global.h
+++ /dev/null
@@ -1,876 +0,0 @@
-#ifndef GUARD_GLOBAL_H
-#define GUARD_GLOBAL_H
-
-#include "gba/gba.h"
-
-// global.h from pokemon ruby
-
-// IDE support
-#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__INTELLISENSE__)
-// We define these when using certain IDEs to fool preproc
-#define _(x) (x)
-#define __(x) (x)
-#define INCBIN(...) {0}
-#define INCBIN_U8 INCBIN
-#define INCBIN_U16 INCBIN
-#define INCBIN_U32 INCBIN
-#define INCBIN_S8 INCBIN
-#define INCBIN_S16 INCBIN
-#define INCBIN_S32 INCBIN
-#endif // IDE support
-
-// Prevent cross-jump optimization.
-#define BLOCK_CROSS_JUMP asm("");
-
-// to help in decompiling
-#define asm_comment(x) asm volatile("@ -- " x " -- ")
-
-#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided\n")
-
-#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
-
-
-#define POKEMON_SLOTS_NUMBER 412
-#define POKEMON_NAME_LENGTH 10
-#define OT_NAME_LENGTH 7
-
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#define max(a, b) ((a) >= (b) ? (a) : (b))
-
-// why does GF hate 2d arrays
-#define MULTI_DIM_ARR(x, dim, y) ((x) * dim + (y))
-
-// dim access enums
-enum
-{
- B_8 = 1,
- B_16 = 2,
- B_32 = 4
-};
-
-// There are many quirks in the source code which have overarching behavioral differences from
-// a number of other files. For example, diploma.c seems to declare rodata before each use while
-// other files declare out of order and must be at the beginning. There are also a number of
-// macros which differ from one file to the next due to the method of obtaining the result, such
-// as these below. Because of this, there is a theory (Two Team Theory) that states that these
-// programming projects had more than 1 "programming team" which utilized different macros for
-// each of the files that were worked on.
-#define T1_READ_8(ptr) ((ptr)[0])
-#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
-#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24))
-#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr)
-
-// T2_READ_8 is a duplicate to remain consistent with each group.
-#define T2_READ_8(ptr) ((ptr)[0])
-#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
-#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
-#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr)
-
-// Credits to Made (dolphin emoji)
-#define S16TOPOSFLOAT(val) \
-({ \
- s16 v = (val); \
- float f = (float)v; \
- if(v < 0) f += 65536.0f; \
- f; \
-})
-
-enum
-{
- VERSION_SAPPHIRE = 1,
- VERSION_RUBY = 2,
- VERSION_EMERALD = 3,
-};
-
-enum LanguageId
-{
- LANGUAGE_JAPANESE = 1,
- LANGUAGE_ENGLISH = 2,
- LANGUAGE_GERMAN = 5,
-};
-
-// capacities of various saveblock objects
-#define DAYCARE_MON_COUNT 2
-#define POKEBLOCKS_COUNT 40
-#define PARTY_SIZE 6
-#define EVENT_OBJECTS_COUNT 16
-#define BERRY_TREES_COUNT 128
-#define FLAGS_COUNT 288
-#define VARS_COUNT 256
-#define MAIL_COUNT 16
-#define SECRET_BASES_COUNT 20
-#define TV_SHOWS_COUNT 25
-#define POKE_NEWS_COUNT 16
-#define PC_ITEMS_COUNT 50
-#define BAG_ITEMS_COUNT 20
-#define BAG_KEYITEMS_COUNT 20
-#define BAG_POKEBALLS_COUNT 16
-#define BAG_TMHM_COUNT 64
-#define BAG_BERRIES_COUNT 46
-
-enum
-{
- MALE,
- FEMALE
-};
-
-enum
-{
- OPTIONS_BUTTON_MODE_NORMAL,
- OPTIONS_BUTTON_MODE_LR,
- OPTIONS_BUTTON_MODE_L_EQUALS_A
-};
-
-enum
-{
- OPTIONS_TEXT_SPEED_SLOW,
- OPTIONS_TEXT_SPEED_MID,
- OPTIONS_TEXT_SPEED_FAST
-};
-
-enum
-{
- OPTIONS_SOUND_MONO,
- OPTIONS_SOUND_STEREO
-};
-
-enum
-{
- OPTIONS_BATTLE_STYLE_SHIFT,
- OPTIONS_BATTLE_STYLE_SET
-};
-
-enum
-{
- BAG_ITEMS = 1,
- BAG_POKEBALLS,
- BAG_TMsHMs,
- BAG_BERRIES,
- BAG_KEYITEMS
-};
-
-struct Coords16
-{
- s16 x;
- s16 y;
-};
-
-struct UCoords16
-{
- u16 x;
- u16 y;
-};
-
-struct SecretBaseRecord
-{
- /*0x1A08*/ u8 secretBaseId;
- /*0x1A09*/ u8 sbr_field_1_0:4;
- /*0x1A09*/ u8 gender:1;
- /*0x1A09*/ u8 sbr_field_1_5:1;
- /*0x1A09*/ u8 sbr_field_1_6:2;
- /*0x1A0A*/ u8 playerName[OT_NAME_LENGTH];
- /*0x1A11*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
- /*0x1A16*/ u16 sbr_field_e;
- /*0x1A18*/ u8 sbr_field_10;
- /*0x1A19*/ u8 sbr_field_11;
- /*0x1A1A*/ u8 decorations[16];
- /*0x1A2A*/ u8 decorationPos[16];
- /*0x1A3C*/ u32 partyPersonality[6];
- /*0x1A54*/ u16 partyMoves[6 * 4];
- /*0x1A84*/ u16 partySpecies[6];
- /*0x1A90*/ u16 partyHeldItems[6];
- /*0x1A9C*/ u8 partyLevels[6];
- /*0x1AA2*/ u8 partyEVs[6];
-};
-
-#include "constants/game_stat.h"
-#include "global.fieldmap.h"
-#include "global.berry.h"
-#include "pokemon.h"
-
-struct WarpData
-{
- s8 mapGroup;
- s8 mapNum;
- s8 warpId;
- s16 x, y;
-};
-
-struct ItemSlot
-{
- u16 itemId;
- u16 quantity;
-};
-
-struct Pokeblock
-{
- u8 color;
- u8 spicy;
- u8 dry;
- u8 sweet;
- u8 bitter;
- u8 sour;
- u8 feel;
-};
-
-struct Roamer
-{
- /*0x00*/ u32 ivs;
- /*0x04*/ u32 personality;
- /*0x08*/ u16 species;
- /*0x0A*/ u16 hp;
- /*0x0C*/ u8 level;
- /*0x0D*/ u8 status;
- /*0x0E*/ u8 cool;
- /*0x0F*/ u8 beauty;
- /*0x10*/ u8 cute;
- /*0x11*/ u8 smart;
- /*0x12*/ u8 tough;
- /*0x13*/ bool8 active;
- /*0x14*/ u8 filler[0x8];
-};
-
-struct RamScriptData
-{
- u8 magic;
- u8 mapGroup;
- u8 mapNum;
- u8 objectId;
- u8 script[995];
-};
-
-struct RamScript
-{
- u32 checksum;
- struct RamScriptData data;
-};
-
-struct EasyChatPair
-{
- u16 unk0_0:7;
- u16 unk0_7:7;
- u16 unk1_6:1;
- u16 unk2;
- u16 words[2];
-}; /*size = 0x8*/
-
-struct TVShowCommon
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 pad02[20];
- /*0x16*/ u16 var16[3];
- /*0x1C*/ u8 srcTrainerId3Lo;
- /*0x1D*/ u8 srcTrainerId3Hi;
- /*0x1E*/ u8 srcTrainerId2Lo;
- /*0x1F*/ u8 srcTrainerId2Hi;
- /*0x20*/ u8 srcTrainerIdLo;
- /*0x21*/ u8 srcTrainerIdHi;
- /*0x22*/ u8 trainerIdLo;
- /*0x23*/ u8 trainerIdHi;
-};
-
-struct TVShowFanClubLetter
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u16 species;
- /*0x04*/ u16 pad04[6];
- /*0x10*/ u8 playerName[8];
- /*0x18*/ u8 language;
-};
-
-struct TVShowRecentHappenings
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u16 var02;
- /*0x04*/ u16 var04[6];
- /*0x10*/ u8 playerName[8];
- /*0x18*/ u8 language;
- /*0x19*/ u8 pad19[10];
-};
-
-struct TVShowFanclubOpinions
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u16 var02;
- /*0x04*/ u8 var04A:4;
- /*0x04*/ u8 var04B:4;
- /*0x05*/ u8 playerName[8];
- /*0x0D*/ u8 language;
- /*0x0E*/ u8 var0E;
- /*0x0F*/ u8 var0F;
- /*0x10*/ u8 var10[8];
- /*0x18*/ u16 var18[2];
- /*0x1C*/ u16 var1C[4];
-};
-
-struct TVShowUnknownType04
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 pad02[4];
- /*0x06*/ u16 var06;
-};
-
-struct TVShowNameRaterShow
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u16 species;
- /*0x04*/ u8 pokemonName[11];
- /*0x0F*/ u8 trainerName[11];
- /*0x1A*/ u8 random;
- /*0x1B*/ u8 random2;
- /*0x1C*/ u16 var1C;
- /*0x1E*/ u8 language;
- /*0x1F*/ u8 pokemonNameLanguage;
-};
-
-struct TVShowBravoTrainerPokemonProfiles
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u16 species;
- /*0x04*/ u16 var04[2];
- /*0x08*/ u8 pokemonNickname[11];
- /*0x13*/ u8 contestCategory:3;
- /*0x13*/ u8 contestRank:2;
- /*0x13*/ u8 contestResult:2;
- /*0x13*/ u8 var13_7:1;
- /*0x14*/ u16 var14;
- /*0x16*/ u8 playerName[8];
- /*0x1E*/ u8 language;
- /*0x1F*/ u8 var1f;
-};
-
-struct TVShowBravoTrainerBattleTowerSpotlight
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 trainerName[8];
- /*0x0A*/ u16 species;
- /*0x0C*/ u8 enemyTrainerName[8];
- /*0x14*/ u16 defeatedSpecies;
- /*0x16*/ u16 var16;
- /*0x18*/ u16 var18[1];
- /*0x1A*/ u8 btLevel;
- /*0x1B*/ u8 var1b;
- /*0x1C*/ u8 var1c;
- /*0x1D*/ u8 language;
-};
-
-struct TVShowPokemonToday
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 language;
- /*0x03*/ u8 language2;
- /*0x04*/ u8 nickname[11];
- /*0x0F*/ u8 ball;
- /*0x10*/ u16 species;
- /*0x12*/ u8 var12;
- /*0x13*/ u8 playerName[8];
-};
-
-struct TVShowSmartShopper
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 priceReduced;
- /*0x03*/ u8 language;
- /*0x04*/ u8 pad04[2];
- /*0x06*/ u16 itemIds[3];
- /*0x0C*/ u16 itemAmounts[3];
- /*0x12*/ u8 shopLocation;
- /*0x13*/ u8 playerName[8];
-};
-
-struct TVShowPokemonTodayFailed
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 language;
- /*0x03*/ u8 pad03[9];
- /*0x0c*/ u16 species;
- /*0x0e*/ u16 species2;
- /*0x10*/ u8 var10;
- /*0x11*/ u8 var11;
- /*0x12*/ u8 var12;
- /*0x13*/ u8 playerName[8];
-};
-
-struct TVShowPokemonAngler
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 var02;
- /*0x03*/ u8 var03;
- /*0x04*/ u16 var04;
- /*0x06*/ u8 language;
- u8 pad07[12];
- /*0x13*/ u8 playerName[8];
-};
-
-struct TVShowWorldOfMasters
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u16 var02;
- /*0x04*/ u16 var04;
- /*0x06*/ u16 var06;
- /*0x08*/ u16 var08;
- /*0x0a*/ u8 var0a;
- /*0x0b*/ u8 language;
- u8 pad0c[7];
- /*0x13*/ u8 playerName[8];
-};
-
-struct TVShowMassOutbreak
-{
- /*0x00*/ u8 kind;
- /*0x01*/ bool8 active;
- /*0x02*/ u8 var02;
- /*0x03*/ u8 var03;
- /*0x04*/ u16 moves[4];
- /*0x0C*/ u16 species;
- /*0x0E*/ u16 var0E;
- /*0x10*/ u8 locationMapNum;
- /*0x11*/ u8 locationMapGroup;
- /*0x12*/ u8 var12;
- /*0x13*/ u8 probability;
- /*0x14*/ u8 level;
- /*0x15*/ u8 var15;
- /*0x16*/ u16 daysLeft;
- /*0x18*/ u8 language;
- u8 pad19[11];
-};
-
-typedef union TVShow
-{
- struct TVShowCommon common;
- struct TVShowFanClubLetter fanclubLetter;
- struct TVShowRecentHappenings recentHappenings;
- struct TVShowFanclubOpinions fanclubOpinions;
- struct TVShowUnknownType04 unkShow04;
- struct TVShowNameRaterShow nameRaterShow;
- struct TVShowBravoTrainerPokemonProfiles bravoTrainer;
- struct TVShowBravoTrainerBattleTowerSpotlight bravoTrainerTower;
- struct TVShowPokemonToday pokemonToday;
- struct TVShowSmartShopper smartshopperShow;
- struct TVShowPokemonTodayFailed pokemonTodayFailed;
- struct TVShowPokemonAngler pokemonAngler;
- struct TVShowWorldOfMasters worldOfMasters;
- struct TVShowMassOutbreak massOutbreak;
-} TVShow;
-
-struct MailStruct
-{
- /*0x00*/ u16 words[9];
- /*0x12*/ u8 playerName[8];
- /*0x1A*/ u8 trainerId[4];
- /*0x1E*/ u16 species;
- /*0x20*/ u16 itemId;
-};
-
-
-// Mauville Pokemon Center men
-
-struct MauvilleManCommon
-{
- u8 id;
-};
-
-struct MauvilleManBard
-{
- /*0x00*/ u8 id;
- /*0x02*/ u16 songLyrics[6];
- /*0x0E*/ u16 temporaryLyrics[6];
- /*0x1A*/ u8 playerName[8];
- /*0x22*/ u8 filler_2DB6[0x3];
- /*0x25*/ u8 playerTrainerId[4];
- /*0x29*/ bool8 hasChangedSong;
-}; /*size = 0x2C*/
-
-struct MauvilleManHipster
-{
- u8 id;
- bool8 alreadySpoken;
-};
-
-struct MauvilleManTrader
-{
- u8 id;
- u8 unk1[4];
- u8 unk5[4][11];
- bool8 alreadyTraded;
-};
-
-struct MauvilleManStoryteller
-{
- u8 id;
- bool8 alreadyRecorded;
- u8 filler2[2];
- u8 gameStatIDs[4];
- u8 trainerNames[4][7];
- u8 statValues[4][4];
-};
-
-struct MauvilleManGiddy
-{
- /*0x00*/ u8 id;
- /*0x01*/ u8 taleCounter;
- /*0x02*/ u8 questionNum;
- /*0x04*/ u16 randomWords[10];
- /*0x18*/ u8 questionList[12];
-}; /*size = 0x2C*/
-
-
-union MauvilleMan
-{
- struct MauvilleManCommon common;
- struct MauvilleManBard bard;
- struct MauvilleManHipster hipster;
- struct MauvilleManTrader trader;
- struct MauvilleManStoryteller storyteller;
- struct MauvilleManGiddy giddy;
- u8 filler[0x40]; // needed to pad out the struct
-};
-
-struct PokeNews
-{
- u8 kind;
- u8 state;
- u16 days;
-};
-
-struct GabbyAndTyData
-{
- /*2b10*/ u16 mon1;
- /*2b12*/ u16 mon2;
- /*2b14*/ u16 lastMove;
- /*2b16*/ u16 quote;
- /*2b18*/ u8 mapnum;
- /*2b19*/ u8 battleNum;
- /*2b1a*/ u8 valA_0:1;
- /*2b1a*/ u8 valA_1:1;
- /*2b1a*/ u8 valA_2:1;
- /*2b1a*/ u8 valA_3:1;
- /*2b1a*/ u8 valA_4:1;
- /*2b1a*/ u8 valA_5:3;
- /*2b1b*/ u8 valB_0:1;
- /*2b1b*/ u8 valB_1:1;
- /*2b1b*/ u8 valB_2:1;
- /*2b1b*/ u8 valB_3:1;
- /*2b1b*/ u8 valB_4:1;
- /*2b1b*/ u8 valB_5:3;
-};
-
-struct DayCareMail
-{
- /*0x00*/ struct MailStruct message;
- /*0x24*/ u8 names[19];
-};
-
-struct DayCareStepCountersEtc {
- u32 steps[DAYCARE_MON_COUNT];
- u16 pendingEggPersonality;
- u8 eggCycleStepsRemaining;
-};
-
-struct RecordMixingDayCareMail
-{
- struct DayCareMail mail[DAYCARE_MON_COUNT];
- u32 numDaycareMons;
- u16 itemsHeld[DAYCARE_MON_COUNT]; // marks whether or not each daycare mon is currently holding an item.
-};
-
-struct DayCareMisc
-{
- struct DayCareMail mail[DAYCARE_MON_COUNT];
- struct DayCareStepCountersEtc countersEtc;
-};
-
-struct DayCare {
- struct BoxPokemon mons[DAYCARE_MON_COUNT];
- struct DayCareMisc misc;
-};
-
-struct LinkBattleRecord
-{
- u8 name[8];
- u16 trainerId;
- u16 wins;
- u16 losses;
- u16 draws;
-};
-
-struct RecordMixingGiftData
-{
- u8 unk0;
- u8 quantity;
- u16 itemId;
- u8 filler4[8];
-};
-
-struct RecordMixingGift
-{
- int checksum;
- struct RecordMixingGiftData data;
-};
-
-struct ContestWinner
-{
- /*0x00*/ u32 personality; // personality
- /*0x04*/ u32 otId; // otId
- /*0x08*/ u16 species; // species
- /*0x0A*/ u8 contestCategory;
- /*0x0B*/ u8 nickname[11];
- /*0x16*/ u8 trainerName[8];
-};
-
-// there should be enough flags for all 412 slots
-// each slot takes up 8 flags
-// if the value is not divisible by 8, we need to account for the reminder as well
-#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0))
-
-struct SaveBlock1 /* 0x02025734 */
-{
- /*0x00*/ struct Coords16 pos;
- /*0x04*/ struct WarpData location;
- /*0x0C*/ struct WarpData warp1;
- /*0x14*/ struct WarpData warp2;
- /*0x1C*/ struct WarpData lastHealLocation;
- /*0x24*/ struct WarpData warp4;
- /*0x2C*/ u16 savedMusic;
- /*0x2E*/ u8 weather;
- /*0x2F*/ u8 weatherCycleStage;
- /*0x30*/ u8 flashLevel; // flash level on current map, 0 being normal and 4 being the darkest
- /*0x32*/ u16 mapLayoutId;
- /*0x34*/ u16 mapView[0x100];
- /*0x234*/ u8 playerPartyCount;
- /*0x238*/ struct Pokemon playerParty[6];
- /*0x490*/ u32 money;
- /*0x494*/ u16 coins;
- /*0x496*/ u16 registeredItem; // registered for use with SELECT button
- /*0x498*/ struct ItemSlot pcItems[PC_ITEMS_COUNT];
- /*0x560*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT];
- /*0x5B0*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT];
- /*0x600*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT];
- /*0x640*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
- /*0x740*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
- /*0x7F8*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
- /*0x938*/ u8 dexSeen2[DEX_FLAGS_NO];
- /*0x96C*/ u16 berryBlenderRecords[3];
- /*0x972*/ u8 filler_972[0x6];
- /*0x978*/ u16 trainerRematchStepCounter;
- /*0x97A*/ u8 trainerRematches[100];
- /*0x9E0*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
- /*0xC20*/ struct EventObjectTemplate eventObjectTemplates[64];
- /*0x1220*/ u8 flags[FLAGS_COUNT];
- /*0x1340*/ u16 vars[VARS_COUNT];
- /*0x1540*/ u32 gameStats[NUM_GAME_STATS];
- /*0x1608*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
- /*0x1A08*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
- /*0x2688*/ u8 playerRoomDecor[12];
- /*0x2694*/ u8 playerRoomDecorPos[12];
- /*0x26A0*/ u8 decorDesk[10];
- /*0x26AA*/ u8 decorChair[10];
- /*0x26B4*/ u8 decorPlant[10];
- /*0x26BE*/ u8 decorOrnament[30];
- /*0x26DC*/ u8 decorMat[30];
- /*0x26FA*/ u8 decorPoster[10];
- /*0x2704*/ u8 decorDoll[40];
- /*0x272C*/ u8 decorCushion[10];
- /*0x2736*/ u8 padding_2736[2];
- /*0x2738*/ TVShow tvShows[TV_SHOWS_COUNT];
- /*0x2ABC*/ struct PokeNews pokeNews[POKE_NEWS_COUNT];
- /*0x2AFC*/ u16 outbreakPokemonSpecies;
- /*0x2AFE*/ u8 outbreakLocationMapNum;
- /*0x2AFF*/ u8 outbreakLocationMapGroup;
- /*0x2B00*/ u8 outbreakPokemonLevel;
- /*0x2B01*/ u8 outbreakUnk1;
- /*0x2B02*/ u16 outbreakUnk2;
- /*0x2B04*/ u16 outbreakPokemonMoves[4];
- /*0x2B0C*/ u8 outbreakUnk4;
- /*0x2B0D*/ u8 outbreakPokemonProbability;
- /*0x2B0E*/ u16 outbreakUnk5;
- /*0x2B10*/ struct GabbyAndTyData gabbyAndTyData;
- /*0x2B1C*/ struct {
- /*0x2B1C*/ u16 unk2B1C[6];
- /*0x2B28*/ u16 unk2B28[6];
- /*0x2B34*/ u16 unk2B34[6];
- /*0x2B40*/ u16 unk2B40[6];
- } easyChats;
- /*0x2B4C*/ struct MailStruct mail[MAIL_COUNT];
- /*0x2D8C*/ u8 unk2D8C[4]; // What is this? Apparently it's supposed to be 64 bytes in size.
- /*0x2D90*/ u8 filler_2D90[0x4];
- /*0x2D94*/ union MauvilleMan mauvilleMan;
- /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
- /*0x2DFC*/ struct ContestWinner contestWinners[8];
- /*0x2EFC*/ struct ContestWinner museumPortraits[5];
- /*0x2F9C*/ struct DayCare daycare;
- /*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5];
- struct {
- /*0x3108*/ u8 unknown1[8];
- /*0x3110*/ u8 giftRibbons[11];
- /*0x311B*/ u8 unknown2[8];
- /*0x3123*/ u32 currentPokeCoupons;
- /*0x3127*/ u32 totalEarnedPokeCoupons;
- /*0x312B*/ u8 unknown3[6];
- /*0x3131*/ u8 receivedWishmakerJirachi;
- /*0x3132*/ u8 unknown4[18];
- } __attribute__((packed)) externalReservedData;
- /*0x3144*/ struct Roamer roamer;
- /*0x3160*/ struct EnigmaBerry enigmaBerry;
- /*0x3690*/ struct RamScript ramScript;
- /*0x3A7C*/ struct RecordMixingGift recordMixingGift;
- /*0x3A8C*/ u8 dexSeen3[DEX_FLAGS_NO];
-};
-
-extern struct SaveBlock1 gSaveBlock1;
-
-struct Time
-{
- /*0x00*/ s16 days;
- /*0x02*/ s8 hours;
- /*0x03*/ s8 minutes;
- /*0x04*/ s8 seconds;
-};
-
-struct Pokedex
-{
- /*0x00*/ u8 order;
- /*0x01*/ u8 unknown1;
- /*0x02*/ u8 nationalMagic; // must equal 0xDA in order to have National mode
- /*0x03*/ u8 unknown2;
- /*0x04*/ u32 unownPersonality; // set when you first see Unown
- /*0x08*/ u32 spindaPersonality; // set when you first see Spinda
- /*0x0C*/ u32 unknown3;
- /*0x10*/ u8 owned[DEX_FLAGS_NO];
- /*0x44*/ u8 seen[DEX_FLAGS_NO];
-};
-
-struct BattleTowerTrainer
-{
- /*0x00*/ u8 trainerClass;
- /*0x01*/ u8 name[8];
- /*0x09*/ u8 teamFlags;
- u8 filler0A[2];
- /*0x0C*/ u16 greeting[6];
-};
-
-struct BattleTowerRecord // record mixing
-{
- /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
- /*0x01*/ u8 trainerClass;
- /*0x02*/ u16 winStreak;
- /*0x04*/ u8 name[8];
- /*0x0C*/ u8 trainerId[4];
- /*0x10*/ u16 greeting[6];
- /*0x1C*/ struct BattleTowerPokemon party[3];
- /*0xA0*/ u32 checksum;
-};
-
-struct BattleTowerEReaderTrainer
-{
- /*0x00*/ u8 unk0;
- /*0x01*/ u8 trainerClass;
- /*0x02*/ u16 winStreak;
- /*0x04*/ u8 name[8];
- /*0x0C*/ u8 trainerId[4];
- /*0x10*/ u16 greeting[6];
- /*0x1C*/ u16 farewellPlayerLost[6];
- /*0x28*/ u16 farewellPlayerWon[6];
- /*0x34*/ struct BattleTowerPokemon party[3];
- /*0xB8*/ u32 checksum;
-};
-
-struct BattleTowerData
-{
- /*0x0000, 0x00A8*/ struct BattleTowerRecord playerRecord;
- /*0x00A4, 0x014C*/ struct BattleTowerRecord records[5]; // from record mixing
- /*0x03D8, 0x0480*/ u16 firstMonSpecies; // species of the first pokemon in the player's battle tower party
- /*0x03DA, 0x0482*/ u16 defeatedBySpecies; // species of the pokemon that defated the player
- /*0x03DC, 0x0484*/ u8 defeatedByTrainerName[8];
- /*0x03E4, 0x048C*/ u8 firstMonNickname[POKEMON_NAME_LENGTH]; // nickname of the first pokemon in the player's battle tower party
- /*0x03F0, 0x0498*/ struct BattleTowerEReaderTrainer ereaderTrainer;
- /*0x04AC, 0x0554*/ u8 battleTowerLevelType:1; // 0 = level 50; 1 = level 100
- /*0x04AC, 0x0554*/ u8 unk_554:1;
- /*0x04AD, 0x0555*/ u8 battleOutcome;
- /*0x04AE, 0x0556*/ u8 var_4AE[2];
- /*0x04B0, 0x0558*/ u16 curChallengeBattleNum[2]; // 1-based index of battle in the current challenge. (challenges consist of 7 battles)
- /*0x04B4, 0x055C*/ u16 curStreakChallengesNum[2]; // 1-based index of the current challenge in the current streak.
- /*0x04B8, 0x0560*/ u16 recordWinStreaks[2];
- /*0x04BC, 0x0564*/ u8 battleTowerTrainerId; // index for gBattleTowerTrainers table
- /*0x04BD, 0x0565*/ u8 selectedPartyMons[0x3]; // indices of the 3 selected player party mons.
- /*0x04C0, 0x0568*/ u16 prizeItem;
- /*0x04C2, 0x056A*/ u8 battledTrainerIds[6];
- /*0x04C8, 0x0570*/ u16 totalBattleTowerWins;
- /*0x04CA, 0x0572*/ u16 bestBattleTowerWinStreak;
- /*0x04CC, 0x0574*/ u16 currentWinStreaks[2];
- /*0x04D0, 0x0578*/ u8 lastStreakLevelType; // 0 = level 50, 1 = level 100. level type of the last streak. Used by tv to report the level mode.
- /*0x04D1, 0x0579*/ u8 filler_4D1[0x317];
-};
-
-struct SaveBlock2 /* 0x02024EA4 */
-{
- /*0x00*/ u8 playerName[8];
- /*0x08*/ u8 playerGender; // MALE, FEMALE
- /*0x09*/ u8 specialSaveWarp;
- /*0x0A*/ u8 playerTrainerId[4];
- /*0x0E*/ u16 playTimeHours;
- /*0x10*/ u8 playTimeMinutes;
- /*0x11*/ u8 playTimeSeconds;
- /*0x12*/ u8 playTimeVBlanks;
- /*0x13*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]
- /*0x14*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]
- u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
- u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
- u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
- u16 optionsBattleSceneOff:1; // whether battle animations are disabled
- u16 regionMapZoom:1; // whether the map is zoomed in
- /*0x18*/ struct Pokedex pokedex;
- /*0x90*/ u8 filler_90[0x8];
- /*0x98*/ struct Time localTimeOffset;
- /*0xA0*/ struct Time lastBerryTreeUpdate;
- /*0xA8*/ struct BattleTowerData battleTower;
-};
-
-struct MapPosition
-{
- s16 x;
- s16 y;
- s8 height;
-};
-
-struct UnkStruct_8054FF8
-{
- u8 a;
- u8 b;
- u8 c;
- u8 d;
- struct MapPosition sub;
- u16 field_C;
-};
-
-// wasnt defined so I had to define it
-struct HallOfFame
-{
- u8 filler[0x1F00];
-};
-
-extern struct SaveBlock2 gSaveBlock2;
-
-#define RomHeaderGameTitle ((const char *)0x080000A0)
-#define RomHeaderGameCode ((const char *)0x080000AC)
-#define RomHeaderMakerCode ((const char *)0x080000B0)
-#define RomHeaderMagic ((const u8 *) 0x080000B2)
-#define RomHeaderSoftwareVersion ((const u8 *) 0x080000BC)
-
-#define LocalTimeOffset ((struct Time *)0x02028098)
-#define LastBerryTreeUpdate ((struct Time *)0x020280A0)
-
-#endif //GUARD_GLOBAL_H
diff --git a/berry_fix/payload/include/main.h b/berry_fix/payload/include/main.h
deleted file mode 100644
index cb58d59826..0000000000
--- a/berry_fix/payload/include/main.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef GUARD_MAIN_H
-#define GUARD_MAIN_H
-
-#include "gba/gba.h"
-
-enum RomHeaderValidationResult
-{
- SAPPHIRE_UPDATABLE = 2,
- RUBY_UPDATABLE,
- SAPPHIRE_NONEED,
- RUBY_NONEED,
- INVALID
-};
-
-enum MainCallbackState
-{
- MAINCB_INIT = 0,
- MAINCB_CHECK_RTC,
- MAINCB_CHECK_FLASH,
- MAINCB_READ_SAVE,
- MAINCB_CHECK_TIME,
- MAINCB_FIX_DATE,
- MAINCB_NO_NEED_TO_FIX,
- MAINCB_YEAR_MAKES_NO_SENSE,
- MAINCB_FINISHED,
- MAINCB_CHECK_PACIFIDLOG_TM,
- MAINCB_FIX_PACIFIDLOG_TM,
- MAINCB_ERROR
-};
-
-extern IntrFunc gIntrTable[];
-extern u16 gHeldKeys;
-extern u16 gNewKeys;
-extern u8 gIntrVector[];
-extern u32 gUpdateSuccessful;
-extern u32 gUnknown_3001194;
-extern u32 gUnknown_30011A0[];
-extern u32 gMainCallbackState;
-extern u32 gGameVersion;
-
-extern u8 gSharedMem[0x8000];
-
-extern const IntrFunc gIntrFuncPointers[];
-
-#endif //GUARD_MAIN_H
diff --git a/berry_fix/payload/include/pokemon.h b/berry_fix/payload/include/pokemon.h
deleted file mode 100644
index d3a14ffff9..0000000000
--- a/berry_fix/payload/include/pokemon.h
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef GUARD_POKEMON_H
-#define GUARD_POKEMON_H
-
-struct PokemonSubstruct0
-{
- u16 species;
- u16 heldItem;
- u32 experience;
- u8 ppBonuses;
- u8 friendship;
-};
-
-struct PokemonSubstruct1
-{
- u16 moves[4];
- u8 pp[4];
-};
-
-struct PokemonSubstruct2
-{
- u8 hpEV;
- u8 attackEV;
- u8 defenseEV;
- u8 speedEV;
- u8 spAttackEV;
- u8 spDefenseEV;
- u8 cool;
- u8 beauty;
- u8 cute;
- u8 smart;
- u8 tough;
- u8 sheen;
-};
-
-struct PokemonSubstruct3
-{
- /*0x00*/ u8 pokerus;
- /*0x01*/ u8 metLocation;
-
- /*0x02*/ u16 metLevel:7;
- /*0x02*/ u16 metGame:4;
- /*0x03*/ u16 pokeball:4;
- /*0x03*/ u16 otGender:1;
-
- /*0x04*/ u32 hpIV:5;
- /*0x04*/ u32 attackIV:5;
- /*0x05*/ u32 defenseIV:5;
- /*0x05*/ u32 speedIV:5;
- /*0x05*/ u32 spAttackIV:5;
- /*0x06*/ u32 spDefenseIV:5;
- /*0x07*/ u32 isEgg:1;
- /*0x07*/ u32 altAbility:1;
-
- /*0x08*/ u32 coolRibbon:3;
- /*0x08*/ u32 beautyRibbon:3;
- /*0x08*/ u32 cuteRibbon:3;
- /*0x09*/ u32 smartRibbon:3;
- /*0x09*/ u32 toughRibbon:3;
- /*0x09*/ u32 championRibbon:1;
- /*0x0A*/ u32 winningRibbon:1;
- /*0x0A*/ u32 victoryRibbon:1;
- /*0x0A*/ u32 artistRibbon:1;
- /*0x0A*/ u32 effortRibbon:1;
- /*0x0A*/ u32 giftRibbon1:1;
- /*0x0A*/ u32 giftRibbon2:1;
- /*0x0A*/ u32 giftRibbon3:1;
- /*0x0A*/ u32 giftRibbon4:1;
- /*0x0B*/ u32 giftRibbon5:1;
- /*0x0B*/ u32 giftRibbon6:1;
- /*0x0B*/ u32 giftRibbon7:1;
- /*0x0B*/ u32 fatefulEncounter:5; // unused in Ruby/Sapphire, but the high bit must be set for Mew/Deoxys to obey in FR/LG/Emerald
-};
-
-union PokemonSubstruct
-{
- struct PokemonSubstruct0 type0;
- struct PokemonSubstruct1 type1;
- struct PokemonSubstruct2 type2;
- struct PokemonSubstruct3 type3;
- u16 raw[6];
-};
-
-struct BoxPokemon
-{
- /*0x00*/ u32 personality;
- /*0x04*/ u32 otId;
- /*0x08*/ u8 nickname[POKEMON_NAME_LENGTH];
- /*0x12*/ u8 language;
- /*0x13*/ u8 isBadEgg:1;
- u8 hasSpecies:1;
- u8 isEgg:1;
- /*0x14*/ u8 otName[OT_NAME_LENGTH];
- /*0x1B*/ u8 markings;
- /*0x1C*/ u16 checksum;
- /*0x1E*/ u16 unknown;
-
- union
- {
- u32 raw[12];
- union PokemonSubstruct substructs[4];
- } secure;
-}; /*size = 0x50*/
-
-struct Pokemon
-{
- /*0x00*/ struct BoxPokemon box;
- /*0x50*/ u32 status;
- /*0x54*/ u8 level;
- /*0x55*/ u8 mail;
- /*0x56*/ u16 hp;
- /*0x58*/ u16 maxHP;
- /*0x5A*/ u16 attack;
- /*0x5C*/ u16 defense;
- /*0x5E*/ u16 speed;
- /*0x60*/ u16 spAttack;
- /*0x62*/ u16 spDefense;
-};
-
-struct BattleTowerPokemon
-{
- /*0x00*/u16 species;
- /*0x02*/u16 heldItem;
- /*0x04*/u16 moves[4];
- /*0x0C*/u8 level;
- /*0x0D*/u8 ppBonuses;
- /*0x0E*/u8 hpEV;
- /*0x0F*/u8 attackEV;
- /*0x10*/u8 defenseEV;
- /*0x11*/u8 speedEV;
- /*0x12*/u8 spAttackEV;
- /*0x13*/u8 spDefenseEV;
- /*0x14*/u32 otId;
- /*0x18*/u32 hpIV:5;
- /*0x18*/u32 attackIV:5;
- /*0x19*/u32 defenseIV:5;
- /*0x19*/u32 speedIV:5;
- /*0x1A*/u32 spAttackIV:5;
- /*0x1A*/u32 spDefenseIV:5;
- /*0x1B*/u32 gap:1;
- /*0x1B*/u32 altAbility:1;
- /*0x1C*/u32 personality;
- /*0x20*/u8 nickname[POKEMON_NAME_LENGTH + 1];
- /*0x2B*/u8 friendship;
-};
-
-struct PokemonStorage
-{
- /*0x0000*/ u8 currentBox;
- /*0x0004*/ struct BoxPokemon boxes[14][30];
- /*0x8344*/ u8 boxNames[14][9];
- /*0x83c2*/ u8 wallpaper[14];
-};
-
-#endif // GUARD_POKEMON_H
diff --git a/berry_fix/payload/include/rtc.h b/berry_fix/payload/include/rtc.h
deleted file mode 100644
index 35654d866b..0000000000
--- a/berry_fix/payload/include/rtc.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef GUARD_RTC_H
-#define GUARD_RTC_H
-
-#include "gba/gba.h"
-#include "siirtc.h"
-#include "global.h"
-
-extern struct Time gTimeSinceBerryUpdate;
-extern struct Time gRtcUTCTime;
-
-bool32 rtc_maincb_is_rtc_working(void);
-bool32 rtc_maincb_is_time_since_last_berry_update_positive(u8 *);
-void rtc_maincb_fix_date(void);
-
-#endif //GUARD_RTC_H
diff --git a/berry_fix/payload/include/siirtc.h b/berry_fix/payload/include/siirtc.h
deleted file mode 100644
index de4fd634df..0000000000
--- a/berry_fix/payload/include/siirtc.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef GUARD_RTC_H
-#define GUARD_RTC_H
-
-#include "gba/gba.h"
-
-#define SIIRTCINFO_INTFE 0x01 // frequency interrupt enable
-#define SIIRTCINFO_INTME 0x02 // per-minute interrupt enable
-#define SIIRTCINFO_INTAE 0x04 // alarm interrupt enable
-#define SIIRTCINFO_24HOUR 0x40 // 0: 12-hour mode, 1: 24-hour mode
-#define SIIRTCINFO_POWER 0x80 // power on or power failure occurred
-
-enum
-{
- MONTH_JAN = 1,
- MONTH_FEB,
- MONTH_MAR,
- MONTH_APR,
- MONTH_MAY,
- MONTH_JUN,
- MONTH_JUL,
- MONTH_AUG,
- MONTH_SEP,
- MONTH_OCT,
- MONTH_NOV,
- MONTH_DEC
-};
-
-struct SiiRtcInfo
-{
- u8 year;
- u8 month;
- u8 day;
- u8 dayOfWeek;
- u8 hour;
- u8 minute;
- u8 second;
- u8 status;
- u8 alarmHour;
- u8 alarmMinute;
-};
-
-void SiiRtcUnprotect(void);
-void SiiRtcProtect(void);
-u8 SiiRtcProbe(void);
-bool8 SiiRtcReset(void);
-bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc);
-bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc);
-bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc);
-bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc);
-bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc);
-bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc);
-bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc);
-
-#endif // GUARD_RTC_H
diff --git a/berry_fix/payload/ld_script.sed b/berry_fix/payload/ld_script.sed
deleted file mode 100644
index b91542b6f8..0000000000
--- a/berry_fix/payload/ld_script.sed
+++ /dev/null
@@ -1,14 +0,0 @@
-// {
- r sym_ewram.ld
- d
-}
-
-// {
- r sym_bss.ld
- d
-}
-
-// {
- r sym_common.ld
- d
-}
diff --git a/berry_fix/payload/ld_script.txt b/berry_fix/payload/ld_script.txt
deleted file mode 100644
index d0a0af9edb..0000000000
--- a/berry_fix/payload/ld_script.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-ENTRY(Init)
-
-SECTIONS {
- . = 0x2010000;
-
- .text :
- ALIGN(4)
- {
- asm/crt0.o(.text);
- src/main.o(.text);
- src/rtc.o(.text);
- src/flash.o(.text);
- } =0
-
- lib_text :
- ALIGN(4)
- {
- src/agb_flash.o(.text);
- src/agb_flash_1m.o(.text);
- src/agb_flash_mx.o(.text);
- asm/libagbsyscall.o(.text);
- src/siirtc.o(.text);
- *libgcc.a:_call_via_rX.o(.text);
- *libgcc.a:_modsi3.o(.text);
- *libgcc.a:_umodsi3.o(.text);
- *libgcc.a:_dvmd_tls.o(.text);
- } =0
-
- .rodata :
- ALIGN(4)
- {
- src/main.o(.rodata);
- src/rtc.o(.rodata);
- src/flash.o(.rodata);
- } =0
-
- lib_rodata :
- ALIGN(4)
- {
- src/agb_flash.o(.rodata);
- src/agb_flash_1m.o(.rodata);
- src/agb_flash_mx.o(.rodata);
- src/agb_flash_le.o(.rodata);
- src/siirtc.o(.rodata);
- }
-
- . = 0x2020000;
-
- ewram (NOLOAD) :
- ALIGN(4)
- {
-
- }
-
- . = 0x3001000;
-
- iwram (NOLOAD) :
- ALIGN(4)
- {
-
- . = 0x40;
-
- end = .;
- }
-
- . = 0x8000000;
-
- RS_Rom (NOLOAD) :
- ALIGN(4)
- {
- _start = .;
- . += 4;
- RomHeaderNintendoLogo = .;
- . += 156;
- RS_RomHeader = .;
- RomHeaderGameTitle = .;
- . += 12;
- RomHeaderGameCode = .;
- . += 4;
- RomHeaderMakerCode = .;
- . += 2;
- RomHeaderMagic = .;
- . += 1;
- RomHeaderMainUnitCode = .;
- . += 1;
- RomHeaderDeviceType = .;
- . += 1;
- RomHeaderReserved1 = .;
- . += 7;
- RomHeaderSoftwareVersion = .;
- . += 1;
- RomHeaderChecksum = .;
- . += 1;
- RomHeaderReserved2 = .;
- . += 6;
- GPIOPortData = .;
- . += 2;
- GPIOPortDirection = .;
- . += 2;
- GPIOPortReadEnable = .;
- } =0
-
- /DISCARD/ :
- {
- *(*);
- }
-}
diff --git a/berry_fix/payload/rom.sha1 b/berry_fix/payload/rom.sha1
deleted file mode 100644
index 92eee7e879..0000000000
--- a/berry_fix/payload/rom.sha1
+++ /dev/null
@@ -1 +0,0 @@
-866991e2b5a8de02d12f53abe0ee9af03a2b6e01 payload.gba
diff --git a/berry_fix/payload/src/agb_flash.c b/berry_fix/payload/src/agb_flash.c
deleted file mode 100644
index 2c2c96e6e9..0000000000
--- a/berry_fix/payload/src/agb_flash.c
+++ /dev/null
@@ -1,296 +0,0 @@
-#include "gba/gba.h"
-#include "gba/flash_internal.h"
-
-static u8 sTimerNum;
-static u16 sTimerCount;
-static vu16 *sTimerReg;
-static u16 sSavedIme;
-
-u8 gFlashTimeoutFlag;
-u8 (*PollFlashStatus)(u8 *);
-const struct FlashType *gFlash;
-u16 gFlashNumRemainingBytes;
-const u16 *gFlashMaxTime;
-
-u16 (*ProgramFlashByte)(u16, u32, u8);
-u16 (*ProgramFlashSector)(u16, void *);
-u16 (*EraseFlashChip)(void);
-u16 (*EraseFlashSector)(u16);
-u16 (*WaitForFlashWrite)(u8, u8 *, u8);
-
-void SetReadFlash1(u16 *dest);
-
-void SwitchFlashBank(u8 bankNum)
-{
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0xB0);
- FLASH_WRITE(0x0000, bankNum);
-}
-
-#define DELAY() \
-do { \
- vu16 i; \
- for (i = 20000; i != 0; i--) \
- ; \
-} while (0)
-
-u16 ReadFlashId(void)
-{
- u16 flashId;
- u16 readFlash1Buffer[0x20];
- u8 (*readFlash1)(u8 *);
-
- SetReadFlash1(readFlash1Buffer);
- readFlash1 = (u8 (*)(u8 *))((s32)readFlash1Buffer + 1);
-
- // Enter ID mode.
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0x90);
- DELAY();
-
- flashId = readFlash1(FLASH_BASE + 1) << 8;
- flashId |= readFlash1(FLASH_BASE);
-
- // Leave ID mode.
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0xF0);
- FLASH_WRITE(0x5555, 0xF0);
- DELAY();
-
- return flashId;
-}
-
-void FlashTimerIntr(void)
-{
- if (sTimerCount != 0 && --sTimerCount == 0)
- gFlashTimeoutFlag = 1;
-}
-
-u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void))
-{
- if (timerNum >= 4)
- return 1;
-
- sTimerNum = timerNum;
- sTimerReg = ®_TMCNT(sTimerNum);
- *intrFunc = FlashTimerIntr;
- return 0;
-}
-
-void StartFlashTimer(u8 phase)
-{
- const u16 *maxTime = &gFlashMaxTime[phase * 3];
- sSavedIme = REG_IME;
- REG_IME = 0;
- sTimerReg[1] = 0;
- REG_IE |= (INTR_FLAG_TIMER0 << sTimerNum);
- gFlashTimeoutFlag = 0;
- sTimerCount = *maxTime++;
- *sTimerReg++ = *maxTime++;
- *sTimerReg-- = *maxTime++;
- REG_IF = (INTR_FLAG_TIMER0 << sTimerNum);
- REG_IME = 1;
-}
-
-void StopFlashTimer(void)
-{
- REG_IME = 0;
- *sTimerReg++ = 0;
- *sTimerReg-- = 0;
- REG_IE &= ~(INTR_FLAG_TIMER0 << sTimerNum);
- REG_IME = sSavedIme;
-}
-
-u8 ReadFlash1(u8 *addr)
-{
- return *addr;
-}
-
-void SetReadFlash1(u16 *dest)
-{
- u16 *src;
- u16 i;
-
- PollFlashStatus = (u8 (*)(u8 *))((s32)dest + 1);
-
- src = (u16 *)ReadFlash1;
- src = (u16 *)((s32)src ^ 1);
-
- i = ((s32)SetReadFlash1 - (s32)ReadFlash1) >> 1;
-
- while (i != 0)
- {
- *dest++ = *src++;
- i--;
- }
-}
-
-void ReadFlash_Core(u8 *src, u8 *dest, u32 size)
-{
- while (size-- != 0)
- {
- *dest++ = *src++;
- }
-}
-
-void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size)
-{
- u8 *src;
- u16 i;
- u16 readFlash_Core_Buffer[0x40];
- u16 *funcSrc;
- u16 *funcDest;
- void (*readFlash_Core)(u8 *, u8 *, u32);
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
-
- if (gFlash->romSize == FLASH_ROM_SIZE_1M)
- {
- SwitchFlashBank(sectorNum / SECTORS_PER_BANK);
- sectorNum %= SECTORS_PER_BANK;
- }
-
- funcSrc = (u16 *)ReadFlash_Core;
- funcSrc = (u16 *)((s32)funcSrc ^ 1);
- funcDest = readFlash_Core_Buffer;
-
- i = ((s32)ReadFlash - (s32)ReadFlash_Core) >> 1;
-
- while (i != 0)
- {
- *funcDest++ = *funcSrc++;
- i--;
- }
-
- readFlash_Core = (void (*)(u8 *, u8 *, u32))((s32)readFlash_Core_Buffer + 1);
-
- src = FLASH_BASE + (sectorNum << gFlash->sector.shift) + offset;
-
- readFlash_Core(src, dest, size);
-}
-
-u32 VerifyFlashSector_Core(u8 *src, u8 *tgt, u32 size)
-{
- while (size-- != 0)
- {
- if (*tgt++ != *src++)
- return (u32)(tgt - 1);
- }
-
- return 0;
-}
-
-u32 VerifyFlashSector(u16 sectorNum, u8 *src)
-{
- u16 i;
- u16 verifyFlashSector_Core_Buffer[0x80];
- u16 *funcSrc;
- u16 *funcDest;
- u8 *tgt;
- u16 size;
- u32 (*verifyFlashSector_Core)(u8 *, u8 *, u32);
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
-
- if (gFlash->romSize == FLASH_ROM_SIZE_1M)
- {
- SwitchFlashBank(sectorNum / SECTORS_PER_BANK);
- sectorNum %= SECTORS_PER_BANK;
- }
-
- funcSrc = (u16 *)VerifyFlashSector_Core;
- funcSrc = (u16 *)((s32)funcSrc ^ 1);
- funcDest = verifyFlashSector_Core_Buffer;
-
- i = ((s32)VerifyFlashSector - (s32)VerifyFlashSector_Core) >> 1;
-
- while (i != 0)
- {
- *funcDest++ = *funcSrc++;
- i--;
- }
-
- verifyFlashSector_Core = (u32 (*)(u8 *, u8 *, u32))((s32)verifyFlashSector_Core_Buffer + 1);
-
- tgt = FLASH_BASE + (sectorNum << gFlash->sector.shift);
- size = gFlash->sector.size;
-
- return verifyFlashSector_Core(src, tgt, size);
-}
-
-u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n)
-{
- u16 i;
- u16 verifyFlashSector_Core_Buffer[0x80];
- u16 *funcSrc;
- u16 *funcDest;
- u8 *tgt;
- u32 (*verifyFlashSector_Core)(u8 *, u8 *, u32);
-
- if (gFlash->romSize == FLASH_ROM_SIZE_1M)
- {
- SwitchFlashBank(sectorNum / SECTORS_PER_BANK);
- sectorNum %= SECTORS_PER_BANK;
- }
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
-
- funcSrc = (u16 *)VerifyFlashSector_Core;
- funcSrc = (u16 *)((s32)funcSrc ^ 1);
- funcDest = verifyFlashSector_Core_Buffer;
-
- i = ((s32)VerifyFlashSector - (s32)VerifyFlashSector_Core) >> 1;
-
- while (i != 0)
- {
- *funcDest++ = *funcSrc++;
- i--;
- }
-
- verifyFlashSector_Core = (u32 (*)(u8 *, u8 *, u32))((s32)verifyFlashSector_Core_Buffer + 1);
-
- tgt = FLASH_BASE + (sectorNum << gFlash->sector.shift);
-
- return verifyFlashSector_Core(src, tgt, n);
-}
-
-u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src)
-{
- u8 i;
- u32 result;
-
- for (i = 0; i < 3; i++)
- {
- result = ProgramFlashSector(sectorNum, src);
- if (result != 0)
- continue;
-
- result = VerifyFlashSector(sectorNum, src);
- if (result == 0)
- break;
- }
-
- return result;
-}
-
-u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *src, u32 n)
-{
- u8 i;
- u32 result;
-
- for (i = 0; i < 3; i++)
- {
- result = ProgramFlashSector(sectorNum, src);
- if (result != 0)
- continue;
-
- result = VerifyFlashSectorNBytes(sectorNum, src, n);
- if (result == 0)
- break;
- }
-
- return result;
-}
diff --git a/berry_fix/payload/src/agb_flash_1m.c b/berry_fix/payload/src/agb_flash_1m.c
deleted file mode 100644
index 7f8bdeb5f0..0000000000
--- a/berry_fix/payload/src/agb_flash_1m.c
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "gba/gba.h"
-#include "gba/flash_internal.h"
-
-static const char AgbLibFlashVersion[] = "FLASH1M_V103";
-
-const struct FlashSetupInfo * const sSetupInfos[] =
-{
- &MX29L010,
- &LE26FV10N1TS,
- &DefaultFlash
-};
-
-u32 IdentifyFlash(void)
-{
- u16 result;
- u16 flashId;
- const struct FlashSetupInfo * const *setupInfo;
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
-
- flashId = ReadFlashId();
-
- setupInfo = sSetupInfos;
- result = 1;
-
- for (;;)
- {
- if ((*setupInfo)->type.ids.separate.makerId == 0)
- break;
-
- if (flashId == (*setupInfo)->type.ids.joined)
- {
- result = 0;
- break;
- }
-
- setupInfo++;
- }
-
- ProgramFlashByte = (*setupInfo)->programFlashByte;
- ProgramFlashSector = (*setupInfo)->programFlashSector;
- EraseFlashChip = (*setupInfo)->eraseFlashChip;
- EraseFlashSector = (*setupInfo)->eraseFlashSector;
- WaitForFlashWrite = (*setupInfo)->WaitForFlashWrite;
- gFlashMaxTime = (*setupInfo)->maxTime;
- gFlash = &(*setupInfo)->type;
-
- return result;
-}
-
-u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData)
-{
- u16 result = 0;
- u8 status;
-
- StartFlashTimer(phase);
-
- while ((status = PollFlashStatus(addr)) != lastData)
- {
- if (status & 0x20)
- {
- // The write operation exceeded the flash chip's time limit.
-
- if (PollFlashStatus(addr) == lastData)
- break;
-
- FLASH_WRITE(0x5555, 0xF0);
- result = phase | 0xA000u;
- break;
- }
-
- if (gFlashTimeoutFlag)
- {
- if (PollFlashStatus(addr) == lastData)
- break;
-
- FLASH_WRITE(0x5555, 0xF0);
- result = phase | 0xC000u;
- break;
- }
- }
-
- StopFlashTimer();
-
- return result;
-}
diff --git a/berry_fix/payload/src/agb_flash_le.c b/berry_fix/payload/src/agb_flash_le.c
deleted file mode 100644
index 39d956e277..0000000000
--- a/berry_fix/payload/src/agb_flash_le.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "gba/gba.h"
-#include "gba/flash_internal.h"
-
-const u16 leMaxTime[] =
-{
- 10, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
- 10, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
- 2000, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
- 2000, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
-};
-
-const struct FlashSetupInfo LE26FV10N1TS =
-{
- ProgramFlashByte_MX,
- ProgramFlashSector_MX,
- EraseFlashChip_MX,
- EraseFlashSector_MX,
- WaitForFlashWrite_Common,
- leMaxTime,
- {
- 131072, // ROM size
- {
- 4096, // sector size
- 12, // bit shift to multiply by sector size (4096 == 1 << 12)
- 32, // number of sectors
- 0 // appears to be unused
- },
- { 3, 1 }, // wait state setup data
- { { 0x62, 0x13 } } // ID
- }
-};
diff --git a/berry_fix/payload/src/agb_flash_mx.c b/berry_fix/payload/src/agb_flash_mx.c
deleted file mode 100644
index 68eb00cd8d..0000000000
--- a/berry_fix/payload/src/agb_flash_mx.c
+++ /dev/null
@@ -1,193 +0,0 @@
-#include "gba/gba.h"
-#include "gba/flash_internal.h"
-
-const u16 mxMaxTime[] =
-{
- 10, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
- 10, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
- 2000, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
- 2000, 65469, TIMER_ENABLE | TIMER_INTR_ENABLE | TIMER_256CLK,
-};
-
-const struct FlashSetupInfo MX29L010 =
-{
- ProgramFlashByte_MX,
- ProgramFlashSector_MX,
- EraseFlashChip_MX,
- EraseFlashSector_MX,
- WaitForFlashWrite_Common,
- mxMaxTime,
- {
- 131072, // ROM size
- {
- 4096, // sector size
- 12, // bit shift to multiply by sector size (4096 == 1 << 12)
- 32, // number of sectors
- 0 // appears to be unused
- },
- { 3, 1 }, // wait state setup data
- { { 0xC2, 0x09 } } // ID
- }
-};
-
-const struct FlashSetupInfo DefaultFlash =
-{
- ProgramFlashByte_MX,
- ProgramFlashSector_MX,
- EraseFlashChip_MX,
- EraseFlashSector_MX,
- WaitForFlashWrite_Common,
- mxMaxTime,
- {
- 131072, // ROM size
- {
- 4096, // sector size
- 12, // bit shift to multiply by sector size (4096 == 1 << 12)
- 32, // number of sectors
- 0 // appears to be unused
- },
- { 3, 1 }, // wait state setup data
- { { 0x00, 0x00 } } // ID of 0
- }
-};
-
-u16 EraseFlashChip_MX(void)
-{
- u16 result;
- u16 readFlash1Buffer[0x20];
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | gFlash->wait[0];
-
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0x80);
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0x10);
-
- SetReadFlash1(readFlash1Buffer);
-
- result = WaitForFlashWrite(3, FLASH_BASE, 0xFF);
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
-
- return result;
-}
-
-u16 EraseFlashSector_MX(u16 sectorNum)
-{
- u16 numTries;
- u16 result;
- u8 *addr;
- u16 readFlash1Buffer[0x20];
-
- if (sectorNum >= gFlash->sector.count)
- return 0x80FF;
-
- SwitchFlashBank(sectorNum / SECTORS_PER_BANK);
- sectorNum %= SECTORS_PER_BANK;
-
- numTries = 0;
-
-try_erase:
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | gFlash->wait[0];
-
- addr = FLASH_BASE + (sectorNum << gFlash->sector.shift);
-
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0x80);
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- *addr = 0x30;
-
- SetReadFlash1(readFlash1Buffer);
-
- result = WaitForFlashWrite(2, addr, 0xFF);
-
- if (!(result & 0xA000) || numTries > 3)
- goto done;
-
- numTries++;
-
- goto try_erase;
-
-done:
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
-
- return result;
-}
-
-u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data)
-{
- u8 *addr;
- u16 readFlash1Buffer[0x20];
-
- if (offset >= gFlash->sector.size)
- return 0x8000;
-
- SwitchFlashBank(sectorNum / SECTORS_PER_BANK);
- sectorNum %= SECTORS_PER_BANK;
-
- addr = FLASH_BASE + (sectorNum << gFlash->sector.shift) + offset;
-
- SetReadFlash1(readFlash1Buffer);
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | gFlash->wait[0];
-
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0xA0);
- *addr = data;
-
- return WaitForFlashWrite(1, addr, data);
-}
-
-static u16 ProgramByte(u8 *src, u8 *dest)
-{
- FLASH_WRITE(0x5555, 0xAA);
- FLASH_WRITE(0x2AAA, 0x55);
- FLASH_WRITE(0x5555, 0xA0);
- *dest = *src;
-
- return WaitForFlashWrite(1, dest, *src);
-}
-
-u16 ProgramFlashSector_MX(u16 sectorNum, void *src)
-{
- u16 result;
- u8 *dest;
- u16 readFlash1Buffer[0x20];
-
- if (sectorNum >= gFlash->sector.count)
- return 0x80FF;
-
- result = EraseFlashSector_MX(sectorNum);
-
- if (result != 0)
- return result;
-
- SwitchFlashBank(sectorNum / SECTORS_PER_BANK);
- sectorNum %= SECTORS_PER_BANK;
-
- SetReadFlash1(readFlash1Buffer);
-
- REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | gFlash->wait[0];
-
- gFlashNumRemainingBytes = gFlash->sector.size;
- dest = FLASH_BASE + (sectorNum << gFlash->sector.shift);
-
- while (gFlashNumRemainingBytes > 0)
- {
- result = ProgramByte(src, dest);
-
- if (result != 0)
- break;
-
- gFlashNumRemainingBytes--;
- src++;
- dest++;
- }
-
- return result;
-}
diff --git a/berry_fix/payload/src/flash.c b/berry_fix/payload/src/flash.c
deleted file mode 100644
index 1f09d0b8f7..0000000000
--- a/berry_fix/payload/src/flash.c
+++ /dev/null
@@ -1,752 +0,0 @@
-#include "gba/gba.h"
-#include "gba/flash_internal.h"
-#include "constants/vars.h"
-#include "global.h"
-#include "main.h"
-#include "flash.h"
-#include "rtc.h"
-
-struct SaveBlockChunk
-{
- u8 * data;
- u16 size;
-};
-
-u8 WriteSaveBlockChunks(u16 a0, const struct SaveBlockChunk * a1);
-u8 WriteSingleChunk(u16 a0, const struct SaveBlockChunk * a1);
-u8 TryWriteSector(u8, u8 *);
-u8 EraseCurrentChunk(u16 a0, const struct SaveBlockChunk * a1);
-u8 TryReadAllSaveSectorsCurrentSlot(u16 a0, const struct SaveBlockChunk * a1);
-u8 ReadAllSaveSectorsCurrentSlot(u16 a0, const struct SaveBlockChunk * a1);
-u8 GetSaveValidStatus(const struct SaveBlockChunk * a1);
-u32 DoReadFlashWholeSection(u8 a0, struct SaveSector * a1);
-u16 CalculateChecksum(const void *, u16);
-
-u16 gFirstSaveSector;
-u32 gPrevSaveCounter;
-u16 gLastKnownGoodSector;
-u32 gDamagedSaveSectors;
-u32 gSaveCounter;
-struct SaveSector * gFastSaveSection;
-u16 gCurSaveChunk;
-bool32 gFlashIdentIsValid;
-
-EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {};
-EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {};
-EWRAM_DATA struct PokemonStorage gPokemonStorage = {};
-
-// Each 4 KiB flash sector contains 3968 bytes of actual data followed by a 128 byte footer
-#define SECTOR_DATA_SIZE 3968
-#define SECTOR_FOOTER_SIZE 128
-
-#define SAVEBLOCK_CHUNK(structure, chunkNum) \
-{ \
- (u8 *)&structure + chunkNum * SECTOR_DATA_SIZE, \
- min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \
-} \
-
-static const struct SaveBlockChunk sSaveBlockChunks[] =
-{
- SAVEBLOCK_CHUNK(gSaveBlock2, 0),
-
- SAVEBLOCK_CHUNK(gSaveBlock1, 0),
- SAVEBLOCK_CHUNK(gSaveBlock1, 1),
- SAVEBLOCK_CHUNK(gSaveBlock1, 2),
- SAVEBLOCK_CHUNK(gSaveBlock1, 3),
-
- SAVEBLOCK_CHUNK(gPokemonStorage, 0),
- SAVEBLOCK_CHUNK(gPokemonStorage, 1),
- SAVEBLOCK_CHUNK(gPokemonStorage, 2),
- SAVEBLOCK_CHUNK(gPokemonStorage, 3),
- SAVEBLOCK_CHUNK(gPokemonStorage, 4),
- SAVEBLOCK_CHUNK(gPokemonStorage, 5),
- SAVEBLOCK_CHUNK(gPokemonStorage, 6),
- SAVEBLOCK_CHUNK(gPokemonStorage, 7),
- SAVEBLOCK_CHUNK(gPokemonStorage, 8),
-};
-
-const u16 gInfoMessagesPal[] = INCBIN_U16("graphics/msg_box.gbapal");
-const u8 gInfoMessagesTilemap[] = INCBIN_U8("graphics/msg_box.tilemap.lz");
-const u8 gInfoMessagesGfx[] = INCBIN_U8("graphics/msg_box.4bpp.lz");
-
-bool32 flash_maincb_ident_is_valid(void)
-{
- gFlashIdentIsValid = TRUE;
- if (!IdentifyFlash())
- {
- SetFlashTimerIntr(0, &((IntrFunc *)gIntrFuncPointers)[9]);
- return TRUE;
- }
- gFlashIdentIsValid = FALSE;
- return FALSE;
-}
-
-void Call_ReadFlash(u16 sectorNum, ptrdiff_t offset, void * dest, size_t size)
-{
- ReadFlash(sectorNum, offset, dest, size);
-}
-
-u8 Call_WriteSaveBlockChunks(u16 a0, const struct SaveBlockChunk * a1)
-{
- return WriteSaveBlockChunks(a0, a1);
-}
-
-u8 Call_TryReadAllSaveSectorsCurrentSlot(u16 a0, const struct SaveBlockChunk * a1)
-{
- return TryReadAllSaveSectorsCurrentSlot(a0, a1);
-}
-
-u32 * GetDamagedSaveSectorsPtr(void)
-{
- return &gDamagedSaveSectors;
-}
-
-s32 flash_write_save_block_chunks(u8 a0)
-{
- u8 i;
-
- switch (a0)
- {
- case 0:
- default:
- Call_WriteSaveBlockChunks(0xFFFF, sSaveBlockChunks);
- break;
- case 1:
- for (i = 0; i < 5; i++)
- {
- Call_WriteSaveBlockChunks(i, sSaveBlockChunks);
- }
- break;
- case 2:
- Call_WriteSaveBlockChunks(0, sSaveBlockChunks);
- break;
- }
-
- return 0;
-}
-
-u8 flash_write_save_block_chunks_check_damage(u8 a0)
-{
- flash_write_save_block_chunks(a0);
- if (*GetDamagedSaveSectorsPtr() == 0)
- return 1;
- return 0xFF;
-}
-
-u8 flash_maincb_read_save(u32 unused)
-{
- return Call_TryReadAllSaveSectorsCurrentSlot(0xFFFF, sSaveBlockChunks);
-}
-
-void msg_load_gfx(void)
-{
- REG_DISPCNT = 0;
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- REG_BLDCNT = 0;
- LZ77UnCompVram(gInfoMessagesGfx, (void *)BG_VRAM);
- LZ77UnCompVram(gInfoMessagesTilemap, (void *)BG_SCREEN_ADDR(28));
- CpuCopy16(gInfoMessagesPal, (void *)BG_PLTT, 0x200);
- REG_BG0CNT = BGCNT_SCREENBASE(28) | BGCNT_TXT512x512;
- REG_DISPCNT = DISPCNT_BG0_ON;
-}
-
-void msg_display(enum MsgBoxUpdateMessage a0)
-{
- switch (a0)
- {
- case MSGBOX_WILL_NOW_UPDATE:
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0;
- break;
- case MSGBOX_HAS_BEEN_UPDATED:
- REG_BG0HOFS = 0x100;
- REG_BG0VOFS = 0;
- break;
- case MSGBOX_UNABLE_TO_UPDATE:
- REG_BG0HOFS = 0x100;
- REG_BG0VOFS = 0xB0;
- break;
- case MSGBOX_NO_NEED_TO_UPDATE:
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0xB0;
- break;
- case MSGBOX_UPDATING:
- REG_BG0HOFS = 0;
- REG_BG0VOFS = 0x160;
- break;
- }
-}
-
-void Save_EraseAllData(void)
-{
- u16 i;
- for (i = 0; i < 32; i++)
- EraseFlashSector(i);
-}
-
-void Save_ResetSaveCounters(void)
-{
- gSaveCounter = 0;
- gFirstSaveSector = 0;
- gDamagedSaveSectors = 0;
-}
-
-bool32 SetSectorDamagedStatus(u8 op, u8 sectorNum)
-{
- bool32 retVal = FALSE;
-
- switch (op)
- {
- case SECTOR_DAMAGED:
- gDamagedSaveSectors |= (1 << sectorNum);
- break;
- case SECTOR_OK:
- gDamagedSaveSectors &= ~(1 << sectorNum);
- break;
- case SECTOR_CHECK: // unused
- if (gDamagedSaveSectors & (1 << sectorNum))
- retVal = TRUE;
- break;
- }
-
- return retVal;
-}
-
-u8 WriteSaveBlockChunks(u16 chunkId, const struct SaveBlockChunk *chunks)
-{
- u32 retVal;
- u16 i;
-
- gFastSaveSection = eSaveSection;
-
- if (chunkId != 0xFFFF) // write single chunk
- {
- retVal = WriteSingleChunk(chunkId, chunks);
- }
- else // write all chunks
- {
- gLastKnownGoodSector = gFirstSaveSector;
- gPrevSaveCounter = gSaveCounter;
- gFirstSaveSector++;
- gFirstSaveSector %= NUM_SECTORS_PER_SAVE_SLOT;
- gSaveCounter++;
- retVal = SAVE_STATUS_OK;
-
- for (i = 0; i < NUM_SECTORS_PER_SAVE_SLOT; i++)
- WriteSingleChunk(i, chunks);
-
- // Check for any bad sectors
- if (gDamagedSaveSectors != 0) // skip the damaged sector.
- {
- retVal = SAVE_STATUS_ERROR;
- gFirstSaveSector = gLastKnownGoodSector;
- gSaveCounter = gPrevSaveCounter;
- }
- }
-
- return retVal;
-}
-
-u8 WriteSingleChunk(u16 chunkId, const struct SaveBlockChunk * chunks)
-{
- u16 i;
- u16 sectorNum;
- u8 *chunkData;
- u16 chunkSize;
-
- // select sector number
- sectorNum = chunkId + gFirstSaveSector;
- sectorNum %= NUM_SECTORS_PER_SAVE_SLOT;
- // select save slot
- sectorNum += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2);
-
- chunkData = chunks[chunkId].data;
- chunkSize = chunks[chunkId].size;
-
- // clear save section.
- for (i = 0; i < sizeof(struct SaveSector); i++)
- ((u8 *)gFastSaveSection)[i] = 0;
-
- gFastSaveSection->id = chunkId;
- gFastSaveSection->signature = FILE_SIGNATURE;
- gFastSaveSection->counter = gSaveCounter;
- for (i = 0; i < chunkSize; i++)
- gFastSaveSection->data[i] = chunkData[i];
- gFastSaveSection->checksum = CalculateChecksum(chunkData, chunkSize);
-
- return TryWriteSector(sectorNum, gFastSaveSection->data);
-}
-
-u8 HandleWriteSectorNBytes(u8 sectorNum, u8 *data, u16 size)
-{
- u16 i;
- struct SaveSector *section = eSaveSection;
-
- for (i = 0; i < sizeof(struct SaveSector); i++)
- ((char *)section)[i] = 0;
-
- section->signature = FILE_SIGNATURE;
- for (i = 0; i < size; i++)
- section->data[i] = data[i];
- section->id = CalculateChecksum(data, size); // though this appears to be incorrect, it might be some sector checksum instead of a whole save checksum and only appears to be relevent to HOF data, if used.
-
- return TryWriteSector(sectorNum, section->data);
-}
-
-u8 TryWriteSector(u8 sectorNum, u8 *data)
-{
- if (ProgramFlashSectorAndVerify(sectorNum, data) != 0) // is damaged?
- {
- SetSectorDamagedStatus(SECTOR_DAMAGED, sectorNum); // set damaged sector bits.
- return SAVE_STATUS_ERROR;
- }
- else
- {
- SetSectorDamagedStatus(SECTOR_OK, sectorNum); // unset damaged sector bits. it's safe now.
- return SAVE_STATUS_OK;
- }
-}
-
-u32 RestoreSaveBackupVarsAndIncrement(const struct SaveBlockChunk *chunk) // chunk is unused
-{
- gFastSaveSection = eSaveSection;
- gLastKnownGoodSector = gFirstSaveSector;
- gPrevSaveCounter = gSaveCounter;
- gFirstSaveSector++;
- gFirstSaveSector %= NUM_SECTORS_PER_SAVE_SLOT;
- gSaveCounter++;
- gCurSaveChunk = 0;
- gDamagedSaveSectors = 0;
- return 0;
-}
-
-u32 RestoreSaveBackupVars(const struct SaveBlockChunk *chunk)
-{
- gFastSaveSection = eSaveSection;
- gLastKnownGoodSector = gFirstSaveSector;
- gPrevSaveCounter = gSaveCounter;
- gCurSaveChunk = 0;
- gDamagedSaveSectors = 0;
- return 0;
-}
-
-u8 WriteSingleChunkAndIncrement(u16 a1, const struct SaveBlockChunk * chunk)
-{
- u8 retVal;
-
- if (gCurSaveChunk < a1 - 1)
- {
- retVal = SAVE_STATUS_OK;
- WriteSingleChunk(gCurSaveChunk, chunk);
- gCurSaveChunk++;
- if (gDamagedSaveSectors)
- {
- retVal = SAVE_STATUS_ERROR;
- gFirstSaveSector = gLastKnownGoodSector;
- gSaveCounter = gPrevSaveCounter;
- }
- }
- else
- {
- retVal = SAVE_STATUS_ERROR;
- }
-
- return retVal;
-}
-
-u8 ErasePreviousChunk(u16 a1, const struct SaveBlockChunk *chunk)
-{
- u8 retVal = SAVE_STATUS_OK;
-
- EraseCurrentChunk(a1 - 1, chunk);
-
- if (gDamagedSaveSectors)
- {
- retVal = SAVE_STATUS_ERROR;
- gFirstSaveSector = gLastKnownGoodSector;
- gSaveCounter = gPrevSaveCounter;
- }
- return retVal;
-}
-
-u8 EraseCurrentChunk(u16 chunkId, const struct SaveBlockChunk *chunks)
-{
- u16 i;
- u16 sector;
- u8 *data;
- u16 size;
- u8 status;
-
- // select sector number
- sector = chunkId + gFirstSaveSector;
- sector %= NUM_SECTORS_PER_SAVE_SLOT;
- // select save slot
- sector += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2);
-
- data = chunks[chunkId].data;
- size = chunks[chunkId].size;
-
- // clear temp save section.
- for (i = 0; i < sizeof(struct SaveSector); i++)
- ((char *)gFastSaveSection)[i] = 0;
-
- gFastSaveSection->id = chunkId;
- gFastSaveSection->signature = FILE_SIGNATURE;
- gFastSaveSection->counter = gSaveCounter;
-
- // set temp section's data.
- for (i = 0; i < size; i++)
- gFastSaveSection->data[i] = data[i];
-
- // calculate checksum.
- gFastSaveSection->checksum = CalculateChecksum(data, size);
-
- EraseFlashSector(sector);
-
- status = SAVE_STATUS_OK;
-
- for (i = 0; i < sizeof(struct UnkSaveSection); i++)
- {
- if (ProgramFlashByte(sector, i, gFastSaveSection->data[i]))
- {
- status = SAVE_STATUS_ERROR;
- break;
- }
- }
-
- if (status == SAVE_STATUS_ERROR)
- {
- SetSectorDamagedStatus(SECTOR_DAMAGED, sector);
- return SAVE_STATUS_ERROR;
- }
- else
- {
- status = SAVE_STATUS_OK;
-
- for (i = 0; i < 7; i++)
- {
- if (ProgramFlashByte(sector, 0xFF9 + i, ((u8 *)gFastSaveSection)[0xFF9 + i]))
- {
- status = SAVE_STATUS_ERROR;
- break;
- }
- }
-
- if (status == SAVE_STATUS_ERROR)
- {
- SetSectorDamagedStatus(SECTOR_DAMAGED, sector);
- return SAVE_STATUS_ERROR;
- }
- else
- {
- SetSectorDamagedStatus(SECTOR_OK, sector);
- return SAVE_STATUS_OK;
- }
- }
-}
-
-u8 WriteSomeFlashByteToPrevSector(u16 a1, const struct SaveBlockChunk *chunk)
-{
- u16 sector;
-
- // select sector number
- sector = a1 + gFirstSaveSector - 1;
- sector %= NUM_SECTORS_PER_SAVE_SLOT;
- // select save slot
- sector += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2);
-
- if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), ((u8 *)gFastSaveSection)[sizeof(struct UnkSaveSection)]))
- {
- // sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter.
- SetSectorDamagedStatus(SECTOR_DAMAGED, sector);
- gFirstSaveSector = gLastKnownGoodSector;
- gSaveCounter = gPrevSaveCounter;
- return SAVE_STATUS_ERROR;
- }
- else
- {
- SetSectorDamagedStatus(SECTOR_OK, sector);
- return SAVE_STATUS_OK;
- }
-}
-
-u8 WriteSomeFlashByte0x25ToPrevSector(u16 a1, const struct SaveBlockChunk *chunk)
-{
- u16 sector;
-
- sector = a1 + gFirstSaveSector - 1;
- sector %= NUM_SECTORS_PER_SAVE_SLOT;
- sector += NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2);
-
- if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), 0x25))
- {
- // sector is damaged, so enable the bit in gDamagedSaveSectors and restore the last written sector and save counter.
- SetSectorDamagedStatus(SECTOR_DAMAGED, sector);
- gFirstSaveSector = gLastKnownGoodSector;
- gSaveCounter = gPrevSaveCounter;
- return SAVE_STATUS_ERROR;
- }
- else
- {
- SetSectorDamagedStatus(SECTOR_OK, sector);
- return SAVE_STATUS_OK;
- }
-}
-
-u8 TryReadAllSaveSectorsCurrentSlot(u16 a1, const struct SaveBlockChunk *chunk)
-{
- u8 retVal;
- gFastSaveSection = eSaveSection;
- if (a1 != 0xFFFF)
- {
- retVal = SAVE_STATUS_ERROR;
- }
- else
- {
- retVal = GetSaveValidStatus(chunk);
- ReadAllSaveSectorsCurrentSlot(0xFFFF, chunk);
- }
-
- return retVal;
-}
-
-u8 ReadAllSaveSectorsCurrentSlot(u16 a1, const struct SaveBlockChunk *chunks)
-{
- u16 i;
- u16 checksum;
- u16 sector = NUM_SECTORS_PER_SAVE_SLOT * (gSaveCounter % 2);
- u16 id;
-
- for (i = 0; i < NUM_SECTORS_PER_SAVE_SLOT; i++)
- {
- DoReadFlashWholeSection(i + sector, gFastSaveSection);
- id = gFastSaveSection->id;
- if (id == 0)
- gFirstSaveSector = i;
- checksum = CalculateChecksum(gFastSaveSection->data, chunks[id].size);
- if (gFastSaveSection->signature == FILE_SIGNATURE
- && gFastSaveSection->checksum == checksum)
- {
- u16 j;
- for (j = 0; j < chunks[id].size; j++)
- chunks[id].data[j] = gFastSaveSection->data[j];
- }
- }
-
- return 1;
-}
-
-u8 GetSaveValidStatus(const struct SaveBlockChunk *chunks)
-{
- u16 sector;
- bool8 signatureValid;
- u16 checksum;
- u32 slot1saveCounter = 0;
- u32 slot2saveCounter = 0;
- u8 slot1Status;
- u8 slot2Status;
- u32 validSectors;
- const u32 ALL_SECTORS = (1 << NUM_SECTORS_PER_SAVE_SLOT) - 1; // bitmask of all saveblock sectors
-
- // check save slot 1.
- validSectors = 0;
- signatureValid = FALSE;
- for (sector = 0; sector < NUM_SECTORS_PER_SAVE_SLOT; sector++)
- {
- DoReadFlashWholeSection(sector, gFastSaveSection);
- if (gFastSaveSection->signature == FILE_SIGNATURE)
- {
- signatureValid = TRUE;
- checksum = CalculateChecksum(gFastSaveSection->data, chunks[gFastSaveSection->id].size);
- if (gFastSaveSection->checksum == checksum)
- {
- slot1saveCounter = gFastSaveSection->counter;
- validSectors |= 1 << gFastSaveSection->id;
- }
- }
- }
-
- if (signatureValid)
- {
- if (validSectors == ALL_SECTORS)
- slot1Status = SAVE_STATUS_OK;
- else
- slot1Status = SAVE_STATUS_ERROR;
- }
- else
- {
- slot1Status = SAVE_STATUS_EMPTY;
- }
-
- // check save slot 2.
- validSectors = 0;
- signatureValid = FALSE;
- for (sector = 0; sector < NUM_SECTORS_PER_SAVE_SLOT; sector++)
- {
- DoReadFlashWholeSection(NUM_SECTORS_PER_SAVE_SLOT + sector, gFastSaveSection);
- if (gFastSaveSection->signature == FILE_SIGNATURE)
- {
- signatureValid = TRUE;
- checksum = CalculateChecksum(gFastSaveSection->data, chunks[gFastSaveSection->id].size);
- if (gFastSaveSection->checksum == checksum)
- {
- slot2saveCounter = gFastSaveSection->counter;
- validSectors |= 1 << gFastSaveSection->id;
- }
- }
- }
-
- if (signatureValid)
- {
- if (validSectors == ALL_SECTORS)
- slot2Status = SAVE_STATUS_OK;
- else
- slot2Status = SAVE_STATUS_ERROR;
- }
- else
- {
- slot2Status = SAVE_STATUS_EMPTY;
- }
-
- if (slot1Status == SAVE_STATUS_OK && slot2Status == SAVE_STATUS_OK)
- {
- // Choose counter of the most recent save file
- if ((slot1saveCounter == -1 && slot2saveCounter == 0) || (slot1saveCounter == 0 && slot2saveCounter == -1))
- {
- if ((unsigned)(slot1saveCounter + 1) < (unsigned)(slot2saveCounter + 1))
- gSaveCounter = slot2saveCounter;
- else
- gSaveCounter = slot1saveCounter;
- }
- else
- {
- if (slot1saveCounter < slot2saveCounter)
- gSaveCounter = slot2saveCounter;
- else
- gSaveCounter = slot1saveCounter;
- }
- return SAVE_STATUS_OK;
- }
-
- if (slot1Status == SAVE_STATUS_OK)
- {
- gSaveCounter = slot1saveCounter;
- if (slot2Status == SAVE_STATUS_ERROR)
- return SAVE_STATUS_ERROR;
- else
- return SAVE_STATUS_OK;
- }
-
- if (slot2Status == SAVE_STATUS_OK)
- {
- gSaveCounter = slot2saveCounter;
- if (slot1Status == SAVE_STATUS_ERROR)
- return SAVE_STATUS_ERROR;
- else
- return SAVE_STATUS_OK;
- }
-
- if (slot1Status == SAVE_STATUS_EMPTY && slot2Status == SAVE_STATUS_EMPTY)
- {
- gSaveCounter = 0;
- gFirstSaveSector = 0;
- return SAVE_STATUS_EMPTY;
- }
-
- gSaveCounter = 0;
- gFirstSaveSector = 0;
- return 2;
-}
-
-u8 ReadSomeUnknownSectorAndVerify(u8 sector, u8 *data, u16 size)
-{
- u16 i;
- struct SaveSector *section = eSaveSection;
-
- DoReadFlashWholeSection(sector, section);
- if (section->signature == FILE_SIGNATURE)
- {
- u16 checksum = CalculateChecksum(section->data, size);
- if (section->id == checksum)
- {
- for (i = 0; i < size; i++)
- data[i] = section->data[i];
- return SAVE_STATUS_OK;
- }
- else
- {
- return 2;
- }
- }
- else
- {
- return SAVE_STATUS_EMPTY;
- }
-}
-
-u32 DoReadFlashWholeSection(u8 sector, struct SaveSector *section)
-{
- ReadFlash(sector, 0, section->data, sizeof(struct SaveSector));
- return 1;
-}
-
-u16 CalculateChecksum(const void *data, u16 size)
-{
- u16 i;
- u32 checksum = 0;
-
- for (i = 0; i < (size / 4); i++)
- {
- checksum += *((u32 *)data);
- data += sizeof(u32);
- }
-
- return ((checksum >> 16) + checksum);
-}
-
-void nullsub_0201182C()
-{
-}
-
-void nullsub_02011830()
-{
-}
-
-void nullsub_02011834()
-{
-}
-
-u16 * get_var_addr(u16 a0)
-{
- if (a0 < VARS_START)
- return NULL;
- if (a0 < VAR_SPECIAL_0)
- return &gSaveBlock1.vars[a0 - VARS_START];
- return NULL;
-}
-
-bool32 flash_maincb_check_need_reset_pacifidlog_tm(void)
-{
- u8 sp0;
- u16 * data = get_var_addr(VAR_PACIFIDLOG_TM_RECEIVED_DAY);
- rtc_maincb_is_time_since_last_berry_update_positive(&sp0);
- if (*data <= gRtcUTCTime.days)
- return TRUE;
- else
- return FALSE;
-}
-
-bool32 flash_maincb_reset_pacifidlog_tm(void)
-{
- u8 sp0;
- if (flash_maincb_check_need_reset_pacifidlog_tm() == TRUE)
- return TRUE;
- rtc_maincb_is_time_since_last_berry_update_positive(&sp0);
- if (gRtcUTCTime.days < 0)
- return FALSE;
- *get_var_addr(VAR_PACIFIDLOG_TM_RECEIVED_DAY) = 1;
- if (flash_write_save_block_chunks_check_damage(0) != TRUE)
- return FALSE;
- return TRUE;
-}
diff --git a/berry_fix/payload/src/main.c b/berry_fix/payload/src/main.c
deleted file mode 100644
index 325d3830eb..0000000000
--- a/berry_fix/payload/src/main.c
+++ /dev/null
@@ -1,289 +0,0 @@
-#include "gba/gba.h"
-#include "global.h"
-#include "main.h"
-#include "rtc.h"
-#include "flash.h"
-
-static s32 gInitialWaitTimer;
-IntrFunc gIntrTable[16];
-u16 gHeldKeys;
-u16 gNewKeys;
-u8 gIntrVector[0x100];
-u32 gUpdateSuccessful;
-u32 gUnknown_3001194;
-u32 gUnknown_30011A0[0x19];
-u32 gMainCallbackState;
-u32 gGameVersion;
-
-EWRAM_DATA u8 gSharedMem[0x8000] = {};
-
-void IntrMain(void);
-void ReadKeys(void);
-void dummy_intr_0(void);
-void dummy_intr_1(void);
-void main_callback(u32 *, void *, void *);
-
-
-const char gBerryFixGameCode[] = "AGBJ";
-const IntrFunc gIntrFuncPointers[] = {
- dummy_intr_0,
- dummy_intr_1,
- dummy_intr_0,
- dummy_intr_0,
- dummy_intr_0,
- dummy_intr_0,
- dummy_intr_0,
- dummy_intr_0,
- dummy_intr_0,
- dummy_intr_0,
- NULL,
- NULL,
- NULL
-};
-const char gVersionData[][2] = {
- {'J', 1},
- {'E', 2},
- {'D', 1},
- {'F', 1},
- {'I', 1},
- {'S', 1}
-};
-const char gRubyTitleAndCode[] = "POKEMON RUBYAXV";
-const char gSapphireTitleAndCode[] = "POKEMON SAPPAXP";
-const u16 sDebugPals[20] = {
- RGB(00, 00, 00),
- RGB(31, 00, 00),
- RGB(00, 31, 00),
- RGB(00, 00, 31)
-};
-const u16 sDebugDigitsGfx[] = INCBIN_U16("graphics/debug_digits.4bpp");
-
-void AgbMain(void)
-{
- RegisterRamReset(0x1E);
- DmaCopy32(3, gIntrFuncPointers, gIntrTable, sizeof gIntrFuncPointers);
- DmaCopy32(3, IntrMain, gIntrVector, sizeof(gIntrVector));
- INTR_VECTOR = gIntrVector;
- REG_IE = INTR_FLAG_VBLANK;
- if (*RomHeaderMagic == 0x96 && *(u32 *)RomHeaderGameCode == *(u32 *)gBerryFixGameCode)
- REG_IE |= INTR_FLAG_GAMEPAK;
- REG_DISPSTAT = DISPSTAT_VBLANK_INTR;
- REG_IME = INTR_FLAG_VBLANK;
- msg_load_gfx();
- gMainCallbackState = MAINCB_INIT;
- gUnknown_3001194 = 0;
- for (;;)
- {
- VBlankIntrWait();
- ReadKeys();
- main_callback(&gMainCallbackState, gUnknown_30011A0, gSharedMem);
- }
-}
-
-void dummy_intr_1(void)
-{}
-
-void dummy_intr_0(void)
-{}
-
-void ReadKeys(void)
-{
- u16 keyInput = REG_KEYINPUT ^ KEYS_MASK;
- gNewKeys = keyInput & ~gHeldKeys;
- gHeldKeys = keyInput;
-}
-
-void fill_palette(const u8 * src, u16 * dest, u8 value)
-{
- s32 i;
- for (i = 0; src[i] != 0; i++)
- dest[i] = src[i] | value << 12;
-}
-
-bool32 berry_fix_memcmp(const char * src1, const char * src2, size_t size)
-{
- s32 i;
- for (i = 0; i < size; i++)
- {
- if (src1[i] != src2[i])
- return FALSE;
- }
- return TRUE;
-}
-
-s32 validate_rom_header_internal(void)
-{
- char languageCode = *(RomHeaderGameCode + 3);
- s32 softwareVersion = *RomHeaderSoftwareVersion;
- s32 shouldUpdate = -1;
- s32 i;
- for (i = 0; i < ARRAY_COUNT(gVersionData); i++)
- {
- if (languageCode == gVersionData[i][0])
- {
- if (softwareVersion >= gVersionData[i][1])
- {
- shouldUpdate = 0;
- }
- else
- {
- shouldUpdate = 1;
- }
- break;
- }
- }
- if (shouldUpdate != -1)
- {
- if (berry_fix_memcmp(RomHeaderGameTitle, gRubyTitleAndCode, 15) == TRUE)
- {
- if (shouldUpdate == 0)
- return RUBY_NONEED;
- else
- {
- gGameVersion = VERSION_RUBY;
- return RUBY_UPDATABLE;
- }
- }
- else if (berry_fix_memcmp(RomHeaderGameTitle, gSapphireTitleAndCode, 15) == TRUE)
- {
- if (shouldUpdate == 0)
- return SAPPHIRE_NONEED;
- else
- {
- gGameVersion = VERSION_SAPPHIRE;
- return SAPPHIRE_UPDATABLE;
- }
- }
- }
- return INVALID;
-}
-
-s32 validate_rom_header(void)
-{
- if (*RomHeaderMakerCode == '0' && *(RomHeaderMakerCode + 1) == '1' && *RomHeaderMagic == 0x96)
- return validate_rom_header_internal();
- else
- return INVALID;
-}
-
-void main_callback(u32 * state, void * unused1, void * unused2)
-{
- u8 year;
- switch (*state)
- {
- case MAINCB_INIT:
- msg_display(MSGBOX_WILL_NOW_UPDATE);
- if (++gInitialWaitTimer >= 180)
- {
- gInitialWaitTimer = 0;
- gUpdateSuccessful = 0;
- switch (validate_rom_header())
- {
- case SAPPHIRE_UPDATABLE:
- case RUBY_UPDATABLE: // Should Update Ruby
- ++(*state); // MAINCB_CHECK_RTC
- break;
- case INVALID: // Invalid header
- *state = MAINCB_ERROR;
- break;
- case SAPPHIRE_NONEED: // Should not update Sapphire
- case RUBY_NONEED: // Should not update Ruby
- *state = MAINCB_NO_NEED_TO_FIX;
- break;
- }
- }
- break;
- case MAINCB_CHECK_RTC:
- if (!rtc_maincb_is_rtc_working())
- *state = MAINCB_ERROR;
- else
- ++(*state); // MAINCB_CHECK_FLASH
- break;
- case MAINCB_CHECK_FLASH:
- if (flash_maincb_ident_is_valid() == TRUE)
- ++(*state); // MAINCB_READ_SAVE
- else
- *state = MAINCB_ERROR;
- break;
- case MAINCB_READ_SAVE:
- if (flash_maincb_read_save(0) == SAVE_STATUS_OK)
- ++(*state); // MAINCB_CHECK_TIME
- else
- *state = MAINCB_ERROR;
- break;
- case MAINCB_CHECK_TIME:
- if (rtc_maincb_is_time_since_last_berry_update_positive(&year) == TRUE)
- {
- if (year == 0)
- ++(*state); // MAINCB_FIX_DATE
- else
- *state = MAINCB_CHECK_PACIFIDLOG_TM;
- }
- else
- {
- if (year != 1)
- *state = MAINCB_YEAR_MAKES_NO_SENSE;
- else
- ++(*state); // MAINCB_FIX_DATE
- }
- break;
- case MAINCB_FIX_DATE:
- rtc_maincb_fix_date();
- gUpdateSuccessful |= 1;
- *state = MAINCB_CHECK_PACIFIDLOG_TM;
- break;
- case MAINCB_CHECK_PACIFIDLOG_TM:
- if (flash_maincb_check_need_reset_pacifidlog_tm() == TRUE)
- *state = MAINCB_FINISHED;
- else
- *state = MAINCB_FIX_PACIFIDLOG_TM;
- break;
- case MAINCB_FIX_PACIFIDLOG_TM:
- msg_display(MSGBOX_UPDATING);
- if (flash_maincb_reset_pacifidlog_tm() == TRUE)
- {
- gUpdateSuccessful |= 1;
- *state = MAINCB_FINISHED;
- }
- else
- *state = MAINCB_ERROR;
- break;
- case MAINCB_FINISHED:
- if (gUpdateSuccessful == 0)
- *state = MAINCB_NO_NEED_TO_FIX;
- else
- msg_display(MSGBOX_HAS_BEEN_UPDATED);
- break;
- case MAINCB_NO_NEED_TO_FIX:
- msg_display(MSGBOX_NO_NEED_TO_UPDATE);
- break;
- case MAINCB_YEAR_MAKES_NO_SENSE:
- msg_display(MSGBOX_UNABLE_TO_UPDATE);
- break;
- case MAINCB_ERROR:
- msg_display(MSGBOX_UNABLE_TO_UPDATE);
- break;
- }
-}
-
-void DBG_LoadDigitsPal(void)
-{
- const u16 * src;
- s32 i;
- register vu16 * dest asm("r3") = (vu16 *)BG_PLTT + 1;
- DmaFill16(3, RGB(31, 31, 31), (vu16 *)BG_PLTT, BG_PLTT_SIZE);
- src = sDebugPals;
- for (i = 0; i < 4; i++)
- {
- *dest = *src;
- dest += 16;
- src++;
- }
-}
-
-void DBG_LoadDigits(void)
-{
- DmaFill16(3, 0x1111, (void *)VRAM + 0x8420, 0x1800);
- DmaCopy32(3, sDebugDigitsGfx, (void *)VRAM + 0x8600, 0x200);
- DBG_LoadDigitsPal();
-}
diff --git a/berry_fix/payload/src/rtc.c b/berry_fix/payload/src/rtc.c
deleted file mode 100644
index e73f522aad..0000000000
--- a/berry_fix/payload/src/rtc.c
+++ /dev/null
@@ -1,346 +0,0 @@
-#include "gba/gba.h"
-#include "siirtc.h"
-#include "global.h"
-#include "main.h"
-
-struct Time gTimeSinceBerryUpdate;
-struct Time gRtcUTCTime;
-
-static u16 sRtcProbeStatus;
-static struct SiiRtcInfo sRtcInfoBuffer;
-static u8 sRtcProbeCode;
-static u16 sImeBak;
-static struct SiiRtcInfo sRtcInfoWork;
-
-const struct SiiRtcInfo sDefaultRTC = {
- .year = 0, // 2000
- .month = 1, // January
- .day = 1, // 01
- .dayOfWeek = 0,
- .hour = 0,
- .minute = 0,
- .second = 0,
- .status = 0,
- .alarmHour = 0,
- .alarmMinute = 0
-};
-const s32 sDaysPerMonth[] = {
- 31,
- 28,
- 31,
- 30,
- 31,
- 30,
- 31,
- 31,
- 30,
- 31,
- 30,
- 31
-};
-
-void rtc_get_status_and_datetime(struct SiiRtcInfo *);
-u16 rtc_validate_datetime(struct SiiRtcInfo *);
-
-
-void rtc_intr_disable(void)
-{
- sImeBak = REG_IME;
- REG_IME = 0;
-}
-
-void rtc_intr_enable(void)
-{
- REG_IME = sImeBak;
-}
-
-s32 bcd_to_hex(u8 a0)
-{
- if (a0 >= 0xa0 || (a0 & 0xF) >= 10)
- return 0xFF;
- return ((a0 >> 4) & 0xF) * 10 + (a0 & 0xF);
-}
-
-bool8 is_leap_year(u8 year)
-{
- if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
- return TRUE;
- return FALSE;
-}
-
-u16 rtc_count_days_parameterized(u8 year, u8 month, u8 day)
-{
- u16 numDays = 0;
- s32 i;
- for (i = year - 1; i > 0; i--)
- {
- numDays += 365;
- if (is_leap_year(i) == TRUE)
- numDays++;
- }
- for (i = 0; i < month - 1; i++)
- numDays += sDaysPerMonth[i];
- if (month > MONTH_FEB && is_leap_year(year) == TRUE)
- numDays++;
- numDays += day;
- return numDays;
-}
-
-u16 rtc_count_days_from_info(struct SiiRtcInfo *info)
-{
- return rtc_count_days_parameterized(bcd_to_hex(info->year), bcd_to_hex(info->month), bcd_to_hex(info->day));
-}
-
-static void rtc_probe_status(void)
-{
- sRtcProbeStatus = 0;
- rtc_intr_disable();
- SiiRtcUnprotect();
- sRtcProbeCode = SiiRtcProbe();
- rtc_intr_enable();
- if ((sRtcProbeCode & 0xF) != 1)
- sRtcProbeStatus = 1;
- else
- {
- if (sRtcProbeCode & 0xF0)
- sRtcProbeStatus = 2;
- else
- sRtcProbeStatus = 0;
- rtc_get_status_and_datetime(&sRtcInfoBuffer);
- sRtcProbeStatus = rtc_validate_datetime(&sRtcInfoBuffer);
- }
-}
-
-u16 rtc_get_probe_status(void)
-{
- return sRtcProbeStatus;
-}
-
-void sub_020106EC(struct SiiRtcInfo * info)
-{
- if (sRtcProbeStatus & 0xFF0)
- *info = sDefaultRTC;
- else
- rtc_get_status_and_datetime(info);
-}
-
-void rtc_get_datetime(struct SiiRtcInfo * info)
-{
- rtc_intr_disable();
- SiiRtcGetDateTime(info);
- rtc_intr_enable();
-}
-
-void rtc_get_status(struct SiiRtcInfo * info)
-{
- rtc_intr_disable();
- SiiRtcGetStatus(info);
- rtc_intr_enable();
-}
-
-void rtc_get_status_and_datetime(struct SiiRtcInfo * info)
-{
- rtc_get_status(info);
- rtc_get_datetime(info);
-}
-
-u16 rtc_validate_datetime(struct SiiRtcInfo * info)
-{
- s32 year, month, day;
- u16 r4 = (info->status & SIIRTCINFO_POWER) ? 0x20 : 0;
- if (!(info->status & SIIRTCINFO_24HOUR))
- r4 |= 0x10;
- year = bcd_to_hex(info->year);
- if (year == 0xFF)
- r4 |= 0x40;
- month = bcd_to_hex(info->month);
- if (month == 0xFF || month == 0 || month > 12)
- r4 |= 0x80;
- day = bcd_to_hex(info->day);
- if (day == 0xFF)
- r4 |= 0x100;
- if (month == MONTH_FEB)
- {
- if (day > is_leap_year(year) + sDaysPerMonth[1])
- r4 |= 0x100;
- }
- else
- {
- if (day > sDaysPerMonth[month - 1])
- r4 |= 0x100;
- }
- day = bcd_to_hex(info->hour);
- if (day > 24)
- r4 |= 0x200;
- day = bcd_to_hex(info->minute);
- if (day > 60)
- r4 |= 0x400;
- day = bcd_to_hex(info->second);
- if (day > 60)
- r4 |= 0x800;
- return r4;
-}
-
-void rtc_reset(void)
-{
- rtc_intr_disable();
- SiiRtcReset();
- rtc_intr_enable();
-}
-
-void rtc_sub_time_from_datetime(struct SiiRtcInfo * datetime, struct Time * dest, struct Time * timediff)
-{
- u16 r4 = rtc_count_days_from_info(datetime);
- dest->seconds = bcd_to_hex(datetime->second) - timediff->seconds;
- dest->minutes = bcd_to_hex(datetime->minute) - timediff->minutes;
- dest->hours = bcd_to_hex(datetime->hour) - timediff->hours;
- dest->days = r4 - timediff->days;
- if (dest->seconds < 0)
- {
- dest->seconds += 60;
- dest->minutes--;
- }
- if (dest->minutes < 0)
- {
- dest->minutes += 60;
- dest->hours--;
- }
- if (dest->hours < 0)
- {
- dest->hours += 24;
- dest->days--;
- }
-}
-
-void rtc_sub_time_from_time(struct Time * dest, struct Time * diff, struct Time * src)
-{
- dest->seconds = src->seconds - diff->seconds;
- dest->minutes = src->minutes - diff->minutes;
- dest->hours = src->hours - diff->hours;
- dest->days = src->days - diff->days;
- if (dest->seconds < 0)
- {
- dest->seconds += 60;
- dest->minutes--;
- }
- if (dest->minutes < 0)
- {
- dest->minutes += 60;
- dest->hours--;
- }
- if (dest->hours < 0)
- {
- dest->hours += 24;
- dest->days--;
- }
-}
-
-bool32 rtc_maincb_is_rtc_working(void)
-{
- rtc_probe_status();
- if (rtc_get_probe_status() & 0xFF0)
- return FALSE;
- return TRUE;
-}
-
-void rtc_set_datetime(struct SiiRtcInfo * info)
-{
- vu16 imeBak = REG_IME;
- REG_IME = 0;
- SiiRtcSetDateTime(info);
- REG_IME = imeBak;
-}
-
-bool32 rtc_maincb_is_time_since_last_berry_update_positive(u8 * a0)
-{
- rtc_get_status_and_datetime(&sRtcInfoWork);
- *a0 = bcd_to_hex(sRtcInfoWork.year);
- rtc_sub_time_from_datetime(&sRtcInfoWork, &gRtcUTCTime, LocalTimeOffset);
- rtc_sub_time_from_time(&gTimeSinceBerryUpdate, LastBerryTreeUpdate, &gRtcUTCTime);
- if (gTimeSinceBerryUpdate.days * 1440 + gTimeSinceBerryUpdate.hours * 60 + gTimeSinceBerryUpdate.minutes >= 0)
- return TRUE;
- return FALSE;
-}
-
-u32 hex_to_bcd(u8 a0)
-{
- u32 r4;
- if (a0 > 99)
- return 0xFF;
- r4 = Div(a0, 10) << 4;
- r4 |= Mod(a0, 10);
- return r4;
-}
-
-void sii_rtc_inc(u8 * a0)
-{
- *a0 = hex_to_bcd(bcd_to_hex(*a0) + 1);
-}
-
-void sii_rtc_inc_month(struct SiiRtcInfo * a0)
-{
- sii_rtc_inc(&a0->month);
- if (bcd_to_hex(a0->month) > 12)
- {
- sii_rtc_inc(&a0->year);
- a0->month = MONTH_JAN;
- }
-}
-
-void sii_rtc_inc_day(struct SiiRtcInfo * a0)
-{
- sii_rtc_inc(&a0->day);
- if (bcd_to_hex(a0->day) > sDaysPerMonth[bcd_to_hex(a0->month) - 1])
- {
- if (!is_leap_year(bcd_to_hex(a0->year)) || bcd_to_hex(a0->month) != MONTH_FEB || bcd_to_hex(a0->day) != 29)
- {
- a0->day = 1;
- sii_rtc_inc_month(a0);
- }
- }
-}
-
-bool32 rtc_is_past_feb_28_2000(struct SiiRtcInfo * a0)
-{
- if (bcd_to_hex(a0->year) == 0)
- {
- if (bcd_to_hex(a0->month) == MONTH_JAN)
- return FALSE;
- if (bcd_to_hex(a0->month) > MONTH_FEB)
- return TRUE;
- if (bcd_to_hex(a0->day) == 29)
- return TRUE;
- return FALSE;
- }
- if (bcd_to_hex(a0->year) == 1)
- return TRUE;
- return FALSE;
-}
-
-void rtc_maincb_fix_date(void)
-{
- rtc_get_status_and_datetime(&sRtcInfoWork);
- if (bcd_to_hex(sRtcInfoWork.year) == 0 || bcd_to_hex(sRtcInfoWork.year) == 1)
- {
- if (bcd_to_hex(sRtcInfoWork.year) == 1)
- {
- sRtcInfoWork.year = 2;
- sRtcInfoWork.month = MONTH_JAN;
- sRtcInfoWork.day = 2;
- rtc_set_datetime(&sRtcInfoWork);
- }
- else
- {
- if (rtc_is_past_feb_28_2000(&sRtcInfoWork) == TRUE)
- {
- sii_rtc_inc_day(&sRtcInfoWork);
- sii_rtc_inc(&sRtcInfoWork.year);
- }
- else
- {
- sii_rtc_inc(&sRtcInfoWork.year);
- }
- rtc_set_datetime(&sRtcInfoWork);
- }
- }
-}
diff --git a/berry_fix/payload/src/siirtc.c b/berry_fix/payload/src/siirtc.c
deleted file mode 100644
index 965a068f13..0000000000
--- a/berry_fix/payload/src/siirtc.c
+++ /dev/null
@@ -1,432 +0,0 @@
-// Ruby/Sapphire/Emerald cartridges contain a Seiko Instruments Inc. (SII)
-// S-3511A real-time clock (RTC). This library ("SIIRTC_V001") is for
-// communicating with the RTC.
-
-#include "gba/gba.h"
-#include "siirtc.h"
-
-#define STATUS_INTFE 0x02 // frequency interrupt enable
-#define STATUS_INTME 0x08 // per-minute interrupt enable
-#define STATUS_INTAE 0x20 // alarm interrupt enable
-#define STATUS_24HOUR 0x40 // 0: 12-hour mode, 1: 24-hour mode
-#define STATUS_POWER 0x80 // power on or power failure occurred
-
-#define TEST_MODE 0x80 // flag in the "second" byte
-
-#define ALARM_AM 0x00
-#define ALARM_PM 0x80
-
-#define OFFSET_YEAR offsetof(struct SiiRtcInfo, year)
-#define OFFSET_MONTH offsetof(struct SiiRtcInfo, month)
-#define OFFSET_DAY offsetof(struct SiiRtcInfo, day)
-#define OFFSET_DAY_OF_WEEK offsetof(struct SiiRtcInfo, dayOfWeek)
-#define OFFSET_HOUR offsetof(struct SiiRtcInfo, hour)
-#define OFFSET_MINUTE offsetof(struct SiiRtcInfo, minute)
-#define OFFSET_SECOND offsetof(struct SiiRtcInfo, second)
-#define OFFSET_STATUS offsetof(struct SiiRtcInfo, status)
-#define OFFSET_ALARM_HOUR offsetof(struct SiiRtcInfo, alarmHour)
-#define OFFSET_ALARM_MINUTE offsetof(struct SiiRtcInfo, alarmMinute)
-
-#define INFO_BUF(info, index) (*((u8 *)(info) + (index)))
-
-#define DATETIME_BUF(info, index) INFO_BUF(info, OFFSET_YEAR + index)
-#define DATETIME_BUF_LEN (OFFSET_SECOND - OFFSET_YEAR + 1)
-
-#define TIME_BUF(info, index) INFO_BUF(info, OFFSET_HOUR + index)
-#define TIME_BUF_LEN (OFFSET_SECOND - OFFSET_HOUR + 1)
-
-#define WR 0 // command for writing data
-#define RD 1 // command for reading data
-
-#define CMD(n) (0x60 | (n << 1))
-
-#define CMD_RESET CMD(0)
-#define CMD_STATUS CMD(1)
-#define CMD_DATETIME CMD(2)
-#define CMD_TIME CMD(3)
-#define CMD_ALARM CMD(4)
-
-#define GPIO_PORT_DATA (*(vu16 *)0x80000C4)
-#define GPIO_PORT_DIRECTION (*(vu16 *)0x80000C6)
-#define GPIO_PORT_READ_ENABLE (*(vu16 *)0x80000C8)
-
-extern vu16 GPIOPortDirection;
-
-static u16 sDummy; // unused variable
-static bool8 sLocked;
-
-static int WriteCommand(u8 value);
-static int WriteData(u8 value);
-static u8 ReadData();
-static void EnableGpioPortRead();
-static void DisableGpioPortRead();
-
-static const char AgbLibRtcVersion[] = "SIIRTC_V001";
-
-void SiiRtcUnprotect()
-{
- EnableGpioPortRead();
- sLocked = FALSE;
-}
-
-void SiiRtcProtect()
-{
- DisableGpioPortRead();
- sLocked = TRUE;
-}
-
-u8 SiiRtcProbe()
-{
- u8 errorCode;
- struct SiiRtcInfo rtc;
-
- if (!SiiRtcGetStatus(&rtc))
- return 0;
-
- errorCode = 0;
-
- if ((rtc.status & (SIIRTCINFO_POWER | SIIRTCINFO_24HOUR)) == SIIRTCINFO_POWER
- || (rtc.status & (SIIRTCINFO_POWER | SIIRTCINFO_24HOUR)) == 0)
- {
- // The RTC is in 12-hour mode. Reset it and switch to 24-hour mode.
-
- // Note that the conditions are redundant and equivalent to simply
- // "(rtc.status & SIIRTCINFO_24HOUR) == 0". It's possible that this
- // was also intended to handle resetting the clock after power failure
- // but a mistake was made.
-
- if (!SiiRtcReset())
- return 0;
-
- errorCode++;
- }
-
- SiiRtcGetTime(&rtc);
-
- if (rtc.second & TEST_MODE)
- {
- // The RTC is in test mode. Reset it to leave test mode.
-
- if (!SiiRtcReset())
- return (errorCode << 4) & 0xF0;
-
- errorCode++;
- }
-
- return (errorCode << 4) | 1;
-}
-
-bool8 SiiRtcReset()
-{
- u8 result;
- struct SiiRtcInfo rtc;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_RESET | WR);
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- rtc.status = SIIRTCINFO_24HOUR;
-
- result = SiiRtcSetStatus(&rtc);
-
- return result;
-}
-
-bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc)
-{
- u8 statusData;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_STATUS | RD);
-
- GPIO_PORT_DIRECTION = 5;
-
- statusData = ReadData();
-
- rtc->status = (statusData & (STATUS_POWER | STATUS_24HOUR))
- | ((statusData & STATUS_INTAE) >> 3)
- | ((statusData & STATUS_INTME) >> 2)
- | ((statusData & STATUS_INTFE) >> 1);
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc)
-{
- u8 statusData;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- statusData = STATUS_24HOUR
- | ((rtc->status & SIIRTCINFO_INTAE) << 3)
- | ((rtc->status & SIIRTCINFO_INTME) << 2)
- | ((rtc->status & SIIRTCINFO_INTFE) << 1);
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_STATUS | WR);
-
- WriteData(statusData);
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc)
-{
- u8 i;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_DATETIME | RD);
-
- GPIO_PORT_DIRECTION = 5;
-
- for (i = 0; i < DATETIME_BUF_LEN; i++)
- DATETIME_BUF(rtc, i) = ReadData();
-
- INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc)
-{
- u8 i;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_DATETIME | WR);
-
- for (i = 0; i < DATETIME_BUF_LEN; i++)
- WriteData(DATETIME_BUF(rtc, i));
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc)
-{
- u8 i;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_TIME | RD);
-
- GPIO_PORT_DIRECTION = 5;
-
- for (i = 0; i < TIME_BUF_LEN; i++)
- TIME_BUF(rtc, i) = ReadData();
-
- INFO_BUF(rtc, OFFSET_HOUR) &= 0x7F;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc)
-{
- u8 i;
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIO_PORT_DIRECTION = 7;
-
- WriteCommand(CMD_TIME | WR);
-
- for (i = 0; i < TIME_BUF_LEN; i++)
- WriteData(TIME_BUF(rtc, i));
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc)
-{
- u8 i;
- u8 alarmData[2];
-
- if (sLocked == TRUE)
- return FALSE;
-
- sLocked = TRUE;
-
- // Decode BCD.
- alarmData[0] = (rtc->alarmHour & 0xF) + 10 * ((rtc->alarmHour >> 4) & 0xF);
-
- // The AM/PM flag must be set correctly even in 24-hour mode.
-
- if (alarmData[0] < 12)
- alarmData[0] = rtc->alarmHour | ALARM_AM;
- else
- alarmData[0] = rtc->alarmHour | ALARM_PM;
-
- alarmData[1] = rtc->alarmMinute;
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 5;
-
- GPIOPortDirection = 7; // Why is this the only instance that uses a symbol?
-
- WriteCommand(CMD_ALARM | WR);
-
- for (i = 0; i < 2; i++)
- WriteData(alarmData[i]);
-
- GPIO_PORT_DATA = 1;
- GPIO_PORT_DATA = 1;
-
- sLocked = FALSE;
-
- return TRUE;
-}
-
-static int WriteCommand(u8 value)
-{
- u8 i;
- u8 temp;
-
- for (i = 0; i < 8; i++)
- {
- temp = ((value >> (7 - i)) & 1);
- GPIO_PORT_DATA = (temp << 1) | 4;
- GPIO_PORT_DATA = (temp << 1) | 4;
- GPIO_PORT_DATA = (temp << 1) | 4;
- GPIO_PORT_DATA = (temp << 1) | 5;
- }
-
- // control reaches end of non-void function
-}
-
-static int WriteData(u8 value)
-{
- u8 i;
- u8 temp;
-
- for (i = 0; i < 8; i++)
- {
- temp = ((value >> i) & 1);
- GPIO_PORT_DATA = (temp << 1) | 4;
- GPIO_PORT_DATA = (temp << 1) | 4;
- GPIO_PORT_DATA = (temp << 1) | 4;
- GPIO_PORT_DATA = (temp << 1) | 5;
- }
-
- // control reaches end of non-void function
-}
-
-static u8 ReadData()
-{
- u8 i;
- u8 temp;
- u8 value;
-
- for (i = 0; i < 8; i++)
- {
- GPIO_PORT_DATA = 4;
- GPIO_PORT_DATA = 4;
- GPIO_PORT_DATA = 4;
- GPIO_PORT_DATA = 4;
- GPIO_PORT_DATA = 4;
- GPIO_PORT_DATA = 5;
-
- temp = ((GPIO_PORT_DATA & 2) >> 1);
- value = (value >> 1) | (temp << 7); // UB: accessing uninitialized var
- }
-
- return value;
-}
-
-static void EnableGpioPortRead()
-{
- GPIO_PORT_READ_ENABLE = 1;
-}
-
-static void DisableGpioPortRead()
-{
- GPIO_PORT_READ_ENABLE = 0;
-}
diff --git a/berry_fix/payload/sym_bss.txt b/berry_fix/payload/sym_bss.txt
deleted file mode 100644
index 3b1c62ae96..0000000000
--- a/berry_fix/payload/sym_bss.txt
+++ /dev/null
@@ -1,5 +0,0 @@
- .include "src/main.o"
- .include "src/rtc.o"
- .include "src/flash.o"
- .include "src/agb_flash.o"
- .include "src/siirtc.o"
diff --git a/berry_fix/payload/sym_common.txt b/berry_fix/payload/sym_common.txt
deleted file mode 100644
index 28b47f52e3..0000000000
--- a/berry_fix/payload/sym_common.txt
+++ /dev/null
@@ -1,29 +0,0 @@
- .include "main.o"
- .include "rtc.o"
-
- .align 4
-gFirstSaveSector: @ 0x03001220
- .space 0x4
-
-gPrevSaveCounter: @ 0x03001224
- .space 0x4
-
-gLastKnownGoodSector: @ 0x03001228
- .space 0x4
-
-gDamagedSaveSectors: @ 0x0300122C
- .space 0x4
-
-gSaveCounter: @ 0x03001230
- .space 0x4
-
-gFastSaveSection: @ 0x03001234
- .space 0x4
-
-gCurSaveChunk:
- .space 0x4
-
-gFlashIdentIsValid: @ 0x0300123C
- .space 0x4
-
- .include "agb_flash.o"
diff --git a/berry_fix/payload/sym_ewram.txt b/berry_fix/payload/sym_ewram.txt
deleted file mode 100644
index 2c61f5e7e5..0000000000
--- a/berry_fix/payload/sym_ewram.txt
+++ /dev/null
@@ -1,3 +0,0 @@
- .include "src/main.o"
- .include "src/rtc.o"
- .include "src/flash.o"
diff --git a/berry_fix/rom.sha1 b/berry_fix/rom.sha1
deleted file mode 100644
index 145b083b2c..0000000000
--- a/berry_fix/rom.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2eb0a94a913bebfb4cb59ceb57f3f965da55ef6d berry_fix.gba
diff --git a/charmap.txt b/charmap.txt
index 4c01451c80..2606076784 100644
--- a/charmap.txt
+++ b/charmap.txt
@@ -84,6 +84,7 @@ SUPER_RE = A0
'“' = B1
'”' = B2
'‘' = B3
+'’' = B4
'\'' = B4
'♂' = B5
'♀' = B6
diff --git a/common_syms/overworld.txt b/common_syms/overworld.txt
index e136f54449..dcada0bbef 100644
--- a/common_syms/overworld.txt
+++ b/common_syms/overworld.txt
@@ -1,6 +1,6 @@
-gBGTilemapBuffers1
-gBGTilemapBuffers2
-gBGTilemapBuffers3
+gOverworldTilemapBuffer_Bg2
+gOverworldTilemapBuffer_Bg1
+gOverworldTilemapBuffer_Bg3
gHeldKeyCodeToSend
gFieldCallback
gFieldCallback2
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index 7e970ed176..1cfc5230c0 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -763,7 +763,7 @@ Move_TAKE_DOWN:
setalpha 12, 8
createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10
delay 35
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, RGB_BLACK, 0
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, ANIM_TARGET, 0
playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET
delay 1
@@ -783,7 +783,7 @@ Move_TAKE_DOWN:
Move_DOUBLE_EDGE:
loadspritegfx ANIM_TAG_IMPACT
playsewithpan SE_M_SWIFT, SOUND_PAN_ATTACKER
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 4, 2, RGB_WHITE, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 4, 2, RGB_WHITE, 10, RGB_BLACK, 0
waitforvisualfinish
delay 10
playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER
@@ -951,7 +951,7 @@ Move_MEGA_PUNCH:
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 2, 0, 0, RGB_WHITE
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, RGB_BLACK, 0
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -995,7 +995,7 @@ Move_MEGA_KICK:
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 2, 0, 0, RGB_WHITE
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, RGB_BLACK, 0
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -1247,7 +1247,7 @@ Move_REVERSAL:
loadspritegfx ANIM_TAG_HANDS_AND_FEET
loadspritegfx ANIM_TAG_IMPACT
playsewithpan SE_M_DETECT, SOUND_PAN_ATTACKER
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB_WHITE, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB_WHITE, 8, RGB_BLACK, 0
waitforvisualfinish
delay 30
createvisualtask AnimTask_BlendColorCycle, 2, 31, 3, 2, 0, 10, RGB_WHITE
@@ -1264,7 +1264,7 @@ Move_REVERSAL:
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 8
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 8, RGB_BLACK, 0
createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 10, 1, 0
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 1
createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 8, 1, 0
@@ -1446,13 +1446,13 @@ FuryCutterRight:
createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 1
goto FuryCutterContinue
FuryCutterMedium:
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(9, 8, 10), 4, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(9, 8, 10), 4, RGB_BLACK, 0
goto FuryCutterContinue2
FuryCutterStrong:
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB(9, 8, 10), 4, RGB_BLACK, 0
goto FuryCutterContinue2
FuryCutterStrongest:
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB(9, 8, 10), 4, RGB_BLACK, 0
goto FuryCutterContinue2
Move_SELF_DESTRUCT:
@@ -1623,7 +1623,7 @@ RisingWaterHitEffect:
Move_EXPLOSION:
loadspritegfx ANIM_TAG_EXPLOSION
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 9, RGB(26, 8, 8), 8, 0, 8
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 9, RGB(26, 8, 8), 8, RGB_BLACK, 8
createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1
createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1
createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1
@@ -1870,7 +1870,7 @@ Move_GUILLOTINE:
delay 46
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 8, 1
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 0
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, RGB_BLACK, 0
playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -2601,9 +2601,9 @@ Move_EARTHQUAKE:
createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50
playsewithpan SE_M_EARTHQUAKE, 0
delay 10
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
delay 16
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
end
Move_FISSURE:
@@ -2614,11 +2614,11 @@ Move_FISSURE:
delay 8
call FissureDirtPlumeFar
delay 15
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
delay 15
call FissureDirtPlumeClose
delay 15
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
delay 15
call FissureDirtPlumeFar
delay 50
@@ -2846,7 +2846,7 @@ SkullBashAttack:
playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER
waitforvisualfinish
playse SE_BANG
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1
createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, ANIM_TARGET, 0
@@ -3025,7 +3025,7 @@ Move_SUPER_FANG:
createsprite gSuperFangSpriteTemplate, ANIM_TARGET, 2
playsewithpan SE_M_BITE, SOUND_PAN_TARGET
delay 8
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB(31, 2, 2), 14, RGB_WHITE, 14
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 7, 12, 1
waitforvisualfinish
blendoff
@@ -3332,9 +3332,9 @@ MagnitudeIntense:
createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50
loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10
delay 10
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
delay 16
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14
goto MagnitudeEnd
Move_RAPID_SPIN:
@@ -3955,7 +3955,7 @@ Move_MIST_BALL:
waitforvisualfinish
playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 10, 0
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 1, 1, RGB(23, 16, 31), 16, 0x7FFF, 16
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 1, 1, RGB(23, 16, 31), 16, RGB_WHITE, 16
delay 0
playsewithpan SE_M_HAZE, 0
createvisualtask AnimTask_LoadMistTiles, 5
@@ -4223,7 +4223,7 @@ Move_ODOR_SLEUTH:
waitforvisualfinish
clearmonbg ANIM_TARGET
delay 1
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_WHITEALPHA, 16, -1, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_WHITEALPHA, 16, RGB_WHITEALPHA, 0
playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER
end
@@ -4351,7 +4351,7 @@ Move_AERIAL_ACE:
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER
delay 5
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, RGB_BLACK, 0
playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -4361,7 +4361,7 @@ Move_AERIAL_ACE:
Move_IRON_DEFENSE:
loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 28, 2
createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, RGB_WHITEALPHA, 0
waitforvisualfinish
end
@@ -5665,7 +5665,7 @@ Move_SIGNAL_BEAM:
call SignalBeamOrbs
call SignalBeamOrbs
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 25, 1
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 4, 8, 5, RGB_RED, 8, 961, 8
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 4, 8, 5, RGB_RED, 8, RGB(1, 30, 0), 8
call SignalBeamOrbs
call SignalBeamOrbs
call SignalBeamOrbs
@@ -6060,7 +6060,7 @@ Move_BONE_CLUB:
delay 12
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_BLACK, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_BLACK, 10, RGB_BLACK, 0
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -6124,7 +6124,7 @@ MegahornContinue:
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 4, 1, 4
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, -4, 1, 12, 1
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_WHITE, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_WHITE, 10, RGB_BLACK, 0
delay 10
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 11
delay 3
@@ -6266,7 +6266,7 @@ Move_CRABHAMMER:
createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 0
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
delay 1
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(13, 21, 31), 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(13, 21, 31), 10, RGB_BLACK, 0
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -24, 0, 0, 4
waitforvisualfinish
delay 8
@@ -6469,7 +6469,7 @@ Move_CROSS_CHOP:
createsprite gCrossChopHandSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1
delay 40
playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 10, 0, 10
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 10, RGB_BLACK, 10
createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1
waitforvisualfinish
@@ -8491,7 +8491,7 @@ Move_BLAZE_KICK:
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, ANIM_TARGET, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 14, 1
createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 2, 0, 0, RGB_WHITE
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, RGB_BLACK, 0
call FireSpreadEffect
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -9558,7 +9558,7 @@ Move_KNOCK_OFF:
playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET
createsprite gKnockOffStrikeSpriteTemplate, ANIM_TARGET, 2, -16, -16
delay 8
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, RGB_BLACK, 0
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, ANIM_TARGET, 2
playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -12, 10, 0, 3
@@ -9836,7 +9836,7 @@ Move_WEATHER_BALL:
waitforvisualfinish
delay 15
playsewithpan SE_M_DETECT, 0
- createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, RGB_BLACK, 0
waitforvisualfinish
createvisualtask AnimTask_GetWeather, 2
delay 1
diff --git a/data/ereader_link_data.s b/data/ereader_link_data.s
deleted file mode 100644
index d3269ebfe0..0000000000
--- a/data/ereader_link_data.s
+++ /dev/null
@@ -1,6 +0,0 @@
- .section .rodata
-
- .align 2
-gEReaderLinkData_Start::
- .incbin "data/ereader_link_data.bin"
-gEReaderLinkData_End::
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 26b12b3cf9..80f7897c79 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -59,7 +59,6 @@
.section script_data, "aw", %progbits
-@ 81DB67C
.include "data/script_cmd_table.inc"
gSpecialVars::
@@ -99,7 +98,7 @@ gStdScripts::
.4byte Std_ObtainDecoration @ STD_OBTAIN_DECORATION
.4byte Std_RegisteredInMatchCall @ STD_REGISTER_MATCH_CALL
.4byte Std_MsgboxGetPoints @ MSGBOX_GETPOINTS
- .4byte Std_10
+ .4byte Std_MsgboxPokenav @ MSGBOX_POKENAV
gStdScripts_End::
.include "data/maps/PetalburgCity/scripts.inc"
@@ -585,12 +584,9 @@ EventScript_WhiteOut::
end
EventScript_ResetMrBriney::
- compare VAR_BRINEY_LOCATION, 1
- goto_if_eq EventScript_MoveMrBrineyToHouse
- compare VAR_BRINEY_LOCATION, 2
- goto_if_eq EventScript_MoveMrBrineyToDewford
- compare VAR_BRINEY_LOCATION, 3
- goto_if_eq EventScript_MoveMrBrineyToRoute109
+ goto_if_eq VAR_BRINEY_LOCATION, 1, EventScript_MoveMrBrineyToHouse
+ goto_if_eq VAR_BRINEY_LOCATION, 2, EventScript_MoveMrBrineyToDewford
+ goto_if_eq VAR_BRINEY_LOCATION, 3, EventScript_MoveMrBrineyToRoute109
end
EventScript_MoveMrBrineyToHouse::
@@ -803,10 +799,8 @@ Movement_UnusedBoardFerry:
step_end
Common_EventScript_FerryDepartIsland::
- compare VAR_FACING, DIR_SOUTH
- call_if_eq Ferry_EventScript_DepartIslandSouth
- compare VAR_FACING, DIR_WEST
- call_if_eq Ferry_EventScript_DepartIslandWest
+ 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
call Common_EventScript_FerryDepart
@@ -822,7 +816,7 @@ Common_EventScript_NameReceivedPartyMon::
return
Common_EventScript_PlayerHandedOverTheItem::
- bufferitemname 0, VAR_0x8004
+ bufferitemname STR_VAR_1, VAR_0x8004
playfanfare MUS_OBTAIN_TMHM
message gText_PlayerHandedOverTheItem
waitmessage
@@ -1003,7 +997,7 @@ Common_EventScript_LegendaryFlewAway::
fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
fadescreenswapbuffers FADE_FROM_BLACK
- bufferspeciesname 0, VAR_0x8004
+ bufferspeciesname STR_VAR_1, VAR_0x8004
msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
release
end
diff --git a/data/map_events.s b/data/map_events.s
index dcbb9cfb17..cfa5799d37 100644
--- a/data/map_events.s
+++ b/data/map_events.s
@@ -1,3 +1,4 @@
+#include "constants/global.h"
#include "constants/event_bg.h"
#include "constants/event_object_movement.h"
#include "constants/event_objects.h"
diff --git a/data/maps.s b/data/maps.s
index beb28ddec8..9d9ac2101c 100644
--- a/data/maps.s
+++ b/data/maps.s
@@ -1,3 +1,4 @@
+#include "constants/global.h"
#include "constants/layouts.h"
#include "constants/map_types.h"
#include "constants/maps.h"
diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
index 99dfa7bd80..7c59fec967 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
+++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
@@ -5,9 +5,8 @@ AbandonedShip_CaptainsOffice_EventScript_CaptSternAide::
lock
faceplayer
goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
- checkitem ITEM_SCANNER, 1
- compare VAR_RESULT, TRUE
- goto_if_eq AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner
+ checkitem ITEM_SCANNER
+ goto_if_eq VAR_RESULT, TRUE, AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner
goto_if_set FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
msgbox AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner, MSGBOX_DEFAULT
release
diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
index dd70c9dd32..19f103362e 100644
--- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
@@ -4,7 +4,7 @@ AbandonedShip_Corridors_B1F_MapScripts::
.byte 0
AbandonedShip_Corridors_B1F_OnResume:
- setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4
+ setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 5, 4
end
AbandonedShip_Corridors_B1F_OnLoad:
@@ -13,11 +13,11 @@ AbandonedShip_Corridors_B1F_OnLoad:
end
AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom::
- setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
+ setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Locked, TRUE
return
AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom::
- setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
+ setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, TRUE
return
AbandonedShip_Corridors_B1F_EventScript_TuberM::
@@ -27,9 +27,8 @@ AbandonedShip_Corridors_B1F_EventScript_TuberM::
AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor::
lockall
goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked
- checkitem ITEM_STORAGE_KEY, 1
- compare VAR_RESULT, FALSE
- goto_if_eq AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked
+ checkitem ITEM_STORAGE_KEY
+ goto_if_eq VAR_RESULT, FALSE, AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked
msgbox AbandonedShip_Corridors_B1F_Text_InsertedStorageKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_STORAGE_KEY
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
index 4ec63a7e10..dade6a516e 100644
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
@@ -4,7 +4,7 @@ AbandonedShip_HiddenFloorCorridors_MapScripts::
.byte 0
AbandonedShip_HiddenFloorCorridors_OnResume:
- setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4
+ setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 5, 4
end
AbandonedShip_HiddenFloorCorridors_OnLoad:
@@ -19,43 +19,42 @@ AbandonedShip_HiddenFloorCorridors_OnLoad:
end
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1::
- setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
+ setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, TRUE
return
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2::
- setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
+ setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, TRUE
return
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4::
- setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0
+ setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Unlocked, FALSE
return
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6::
- setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0
+ setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Unlocked, FALSE
return
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1::
- setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
+ setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, TRUE
return
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2::
- setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
+ setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, TRUE
return
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4::
- setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Locked, 0
+ setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Locked, FALSE
return
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6::
- setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Locked, 0
+ setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Locked, FALSE
return
AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
lockall
goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
- checkitem ITEM_ROOM_1_KEY, 1
- compare VAR_RESULT, FALSE
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked
+ checkitem ITEM_ROOM_1_KEY
+ goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_1_KEY
@@ -68,9 +67,8 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
lockall
goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
- checkitem ITEM_ROOM_2_KEY, 1
- compare VAR_RESULT, FALSE
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked
+ checkitem ITEM_ROOM_2_KEY
+ goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_2_KEY
@@ -83,9 +81,8 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
lockall
goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
- checkitem ITEM_ROOM_4_KEY, 1
- compare VAR_RESULT, FALSE
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked
+ checkitem ITEM_ROOM_4_KEY
+ goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_4_KEY
@@ -98,9 +95,8 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door::
lockall
goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
- checkitem ITEM_ROOM_6_KEY, 1
- compare VAR_RESULT, FALSE
- goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked
+ checkitem ITEM_ROOM_6_KEY
+ goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
playse SE_PIN
removeitem ITEM_ROOM_6_KEY
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
index cdeb225de2..e9b14b7b0b 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
@@ -17,12 +17,9 @@ AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle::
setvar VAR_TEMP_1, 1
getplayerxy VAR_TEMP_2, VAR_TEMP_3
setvar VAR_TEMP_4, 1
- compare VAR_TEMP_2, 21
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn
- compare VAR_TEMP_2, 36
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn
- compare VAR_TEMP_3, 2
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow
+ call_if_eq VAR_TEMP_2, 21, AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn
+ call_if_eq VAR_TEMP_2, 36, AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn
+ call_if_eq VAR_TEMP_3, 2, AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow
switch VAR_TEMP_4
case 1, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1
case 2, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2
@@ -48,8 +45,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1::
delay 20
dofieldeffectsparkle 10, 10, 0
specialvar VAR_RESULT, FoundAbandonedShipRoom4Key
- compare VAR_RESULT, FALSE
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle
+ call_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -59,11 +55,9 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2::
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3::
specialvar VAR_RESULT, FoundAbandonedShipRoom1Key
- compare VAR_RESULT, TRUE
- goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle
+ goto_if_eq VAR_RESULT, TRUE, AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle
delay 20
- compare VAR_RESULT, FALSE
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle
+ call_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -76,8 +70,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4::
dofieldeffectsparkle 8, 5, 0
dofieldeffectsparkle 11, 3, 0
specialvar VAR_RESULT, FoundAbandonedShipRoom6Key
- compare VAR_RESULT, FALSE
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle
+ call_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
@@ -88,8 +81,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5::
dofieldeffectsparkle 25, 2, 0
dofieldeffectsparkle 24, 6, 0
specialvar VAR_RESULT, FoundAbandonedShipRoom2Key
- compare VAR_RESULT, FALSE
- call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle
+ call_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle
waitfieldeffect FLDEFF_SPARKLE
delay 10
end
diff --git a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
index e02d109b7b..b0f317ef28 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
@@ -4,8 +4,7 @@ AbandonedShip_Rooms2_1F_MapScripts::
AbandonedShip_Rooms2_1F_EventScript_Dan::
trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanIntro, AbandonedShip_Rooms2_1F_Text_DanDefeat, AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterDan
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq AbandonedShip_Rooms2_1F_EventScript_DanRematch
+ goto_if_eq VAR_RESULT, TRUE, AbandonedShip_Rooms2_1F_EventScript_DanRematch
msgbox AbandonedShip_Rooms2_1F_Text_DanPostBattle, MSGBOX_DEFAULT
release
end
@@ -24,8 +23,7 @@ AbandonedShip_Rooms2_1F_EventScript_DanRematch::
AbandonedShip_Rooms2_1F_EventScript_Kira::
trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraIntro, AbandonedShip_Rooms2_1F_Text_KiraDefeat, AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterKira
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq AbandonedShip_Rooms2_1F_EventScript_KiraRematch
+ goto_if_eq VAR_RESULT, TRUE, AbandonedShip_Rooms2_1F_EventScript_KiraRematch
msgbox AbandonedShip_Rooms2_1F_Text_KiraPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AbandonedShip_Rooms_1F/scripts.inc b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
index 41b4eb3b67..c8ea849640 100644
--- a/data/maps/AbandonedShip_Rooms_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
@@ -13,8 +13,7 @@ AbandonedShip_Rooms_1F_EventScript_Demetrius::
AbandonedShip_Rooms_1F_EventScript_Thalia::
trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaIntro, AbandonedShip_Rooms_1F_Text_ThaliaDefeat, AbandonedShip_Rooms_1F_EventScript_RegisterThalia
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq AbandonedShip_Rooms_1F_EventScript_ThaliaRematch
+ goto_if_eq VAR_RESULT, TRUE, AbandonedShip_Rooms_1F_EventScript_ThaliaRematch
msgbox AbandonedShip_Rooms_1F_Text_ThaliaPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
index a716972ff4..484f15ba12 100644
--- a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
@@ -3,7 +3,7 @@ AbandonedShip_Rooms_B1F_MapScripts::
.byte 0
AbandonedShip_Rooms_B1F_OnResume:
- setdivewarp MAP_ABANDONED_SHIP_UNDERWATER2, 255, 17, 4
+ setdivewarp MAP_ABANDONED_SHIP_UNDERWATER2, 17, 4
end
AbandonedShip_Rooms_B1F_EventScript_FatMan::
diff --git a/data/maps/AbandonedShip_Underwater1/scripts.inc b/data/maps/AbandonedShip_Underwater1/scripts.inc
index 9b3528b779..0f47704d1a 100644
--- a/data/maps/AbandonedShip_Underwater1/scripts.inc
+++ b/data/maps/AbandonedShip_Underwater1/scripts.inc
@@ -3,6 +3,6 @@ AbandonedShip_Underwater1_MapScripts::
.byte 0
AbandonedShip_Underwater1_OnResume:
- setdivewarp MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 255, 0, 10
+ setdivewarp MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 0, 10
end
diff --git a/data/maps/AbandonedShip_Underwater2/scripts.inc b/data/maps/AbandonedShip_Underwater2/scripts.inc
index bb139bd510..6258b50c18 100644
--- a/data/maps/AbandonedShip_Underwater2/scripts.inc
+++ b/data/maps/AbandonedShip_Underwater2/scripts.inc
@@ -3,6 +3,6 @@ AbandonedShip_Underwater2_MapScripts::
.byte 0
AbandonedShip_Underwater2_OnResume:
- setdivewarp MAP_ABANDONED_SHIP_ROOMS_B1F, 255, 13, 7
+ setdivewarp MAP_ABANDONED_SHIP_ROOMS_B1F, 13, 7
end
diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc
index f2e242bbd6..dd22359558 100644
--- a/data/maps/AncientTomb/scripts.inc
+++ b/data/maps/AncientTomb/scripts.inc
@@ -10,8 +10,7 @@ AncientTomb_OnResume:
AncientTomb_EventScript_TryRemoveRegisteel::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -29,12 +28,12 @@ AncientTomb_OnLoad:
end
AncientTomb_EventScript_HideRegiEntrance::
- setmetatile 7, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 8, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 9, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 7, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 8, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
+ setmetatile 7, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 8, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 9, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 7, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 8, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
return
AncientTomb_EventScript_CaveEntranceMiddle::
@@ -62,18 +61,15 @@ AncientTomb_EventScript_Registeel::
playmoncry SPECIES_REGISTEEL, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
- setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE
+ setwildbattle SPECIES_REGISTEEL, 40
setflag FLAG_SYS_CTRL_OBJ_DELETE
special StartRegiBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq AncientTomb_EventScript_DefeatedRegisteel
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq AncientTomb_EventScript_RanFromRegisteel
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq AncientTomb_EventScript_RanFromRegisteel
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, AncientTomb_EventScript_DefeatedRegisteel
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, AncientTomb_EventScript_RanFromRegisteel
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, AncientTomb_EventScript_RanFromRegisteel
setflag FLAG_DEFEATED_REGISTEEL
release
end
diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc
index 2a6f156e5c..f644f6ae56 100644
--- a/data/maps/AquaHideout_B1F/scripts.inc
+++ b/data/maps/AquaHideout_B1F/scripts.inc
@@ -9,8 +9,7 @@ AquaHideout_B1F_OnResume:
AquaHideout_B1F_EventScript_TryRemoveElectrode::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -30,7 +29,7 @@ AquaHideout_B1F_EventScript_ShowElectrode2::
AquaHideout_B1F_EventScript_Electrode1::
lock
faceplayer
- setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
+ setwildbattle SPECIES_ELECTRODE, 30
waitse
playmoncry SPECIES_ELECTRODE, CRY_MODE_ENCOUNTER
delay 40
@@ -39,12 +38,9 @@ AquaHideout_B1F_EventScript_Electrode1::
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode1
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, AquaHideout_B1F_EventScript_DefeatedElectrode1
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, AquaHideout_B1F_EventScript_DefeatedElectrode1
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, AquaHideout_B1F_EventScript_DefeatedElectrode1
setflag FLAG_DEFEATED_ELECTRODE_1_AQUA_HIDEOUT
release
end
@@ -57,7 +53,7 @@ AquaHideout_B1F_EventScript_DefeatedElectrode1::
AquaHideout_B1F_EventScript_Electrode2::
lock
faceplayer
- setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
+ setwildbattle SPECIES_ELECTRODE, 30
waitse
playmoncry SPECIES_ELECTRODE, CRY_MODE_ENCOUNTER
delay 40
@@ -66,12 +62,9 @@ AquaHideout_B1F_EventScript_Electrode2::
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq AquaHideout_B1F_EventScript_DefeatedElectrode2
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, AquaHideout_B1F_EventScript_DefeatedElectrode2
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, AquaHideout_B1F_EventScript_DefeatedElectrode2
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, AquaHideout_B1F_EventScript_DefeatedElectrode2
setflag FLAG_DEFEATED_ELECTRODE_2_AQUA_HIDEOUT
release
end
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
index adea508ae6..844ec070a6 100644
--- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
@@ -28,10 +28,8 @@ BattleFrontier_BattleArenaBattleRoom_OnTransition:
BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxFemale
return
BattleFrontier_BattleArenaBattleRoom_EventScript_SetPlayerGfxMale::
@@ -52,8 +50,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_EnterRoom::
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_PlayerEnter
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_AnnounceTrainers
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceDown
applymovement LOCALID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_WalkInPlaceLeft
setvar VAR_TEMP_2, 1
@@ -110,7 +107,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner::
msgbox BattleFrontier_BattleArenaBattleRoom_Text_WinnerIsOpponent, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
- warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
+ warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 7, 8
waitstate
BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent::
@@ -137,24 +134,16 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedOpponent::
BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponent::
frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext
+ goto_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor3rdOpponent
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor4thOpponent
- compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor5thOpponent
- compare VAR_RESULT, 5
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor6thOpponent
- compare VAR_RESULT, 6
- call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor7thOpponent
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent
+ call_if_eq VAR_RESULT, 2, BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor3rdOpponent
+ call_if_eq VAR_RESULT, 3, BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor4thOpponent
+ call_if_eq VAR_RESULT, 4, BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor5thOpponent
+ call_if_eq VAR_RESULT, 5, BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor6thOpponent
+ call_if_eq VAR_RESULT, 6, BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor7thOpponent
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForOpponentNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge
@@ -210,7 +199,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_ContinueChallenge::
BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon::
delay 60
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
- warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
+ warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 7, 8
waitstate
BattleFrontier_BattleArenaBattleRoom_EventScript_ReadyFor2ndOpponent::
@@ -254,16 +243,14 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_PauseChallenge::
end
BattleFrontier_BattleArenaBattleRoom_EventScript_TycoonUpNext::
- compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon
+ goto_if_eq VAR_TEMP_2, 1, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon
msgbox BattleFrontier_BattleArenaBattleRoom_Text_NowFaceTycoon, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoon::
message BattleFrontier_BattleArenaBattleRoom_Text_PreparedForTycoon
waitmessage
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleArenaBattleRoom_EventScript_AskReadyForTycoonNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta
@@ -309,8 +296,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureChallenger, MSGBOX_DEFAULT
closemessage
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
@@ -324,15 +310,13 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGreta::
BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaSilver::
msgbox BattleFrontier_BattleArenaBattleRoom_Text_IgniteMyPassionForBattle, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver
goto BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner
BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver::
call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+ goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaYoureToughAfterAll, MSGBOX_DEFAULT
@@ -346,8 +330,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaSilver::
BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaLookingForwardToSeeingAgain, MSGBOX_DEFAULT
closemessage
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
@@ -361,15 +344,13 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_IntroGretaGold::
BattleFrontier_BattleArenaBattleRoom_EventScript_BattleGretaGold::
msgbox BattleFrontier_BattleArenaBattleRoom_Text_LetsGetThisStarted, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_StartArenaBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold
goto BattleFrontier_BattleArenaBattleRoom_EventScript_DeclareOpponentWinner
BattleFrontier_BattleArenaBattleRoom_EventScript_DefeatedGretaGold::
call BattleFrontier_BattleArenaBattleRoom_EventScript_DeclarePlayerWinner
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
+ goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleArenaBattleRoom_EventScript_ReturnToLobbyWon
applymovement LOCALID_OPPONENT, BattleFrontier_BattleArenaBattleRoom_Movement_OpponentStepForwardLong
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_GretaBlownAway, MSGBOX_DEFAULT
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
index 1752b93421..7086819569 100644
--- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
@@ -22,7 +22,7 @@ BattleFrontier_BattleArenaCorridor_EventScript_WalkToBattleRoom::
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_PlayerEnterDoor
waitmovement 0
setvar VAR_0x8006, 0
- warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5
+ warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 7, 5
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
index 12b600f69b..9467f34197 100644
--- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
@@ -40,8 +40,7 @@ BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving::
BattleFrontier_BattleArenaLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleArenaLobby_EventScript_DefeatedTycoon
msgbox BattleFrontier_BattleArenaLobby_Text_CongratsOnSevenWins, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints
@@ -80,8 +79,7 @@ BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge::
playse SE_SAVE
waitse
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleArenaLobby_EventScript_EndSaveAfterChallenge
message BattleFrontier_BattleArenaLobby_Text_RecordLastMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
@@ -131,8 +129,7 @@ BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleArenaLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleArenaLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -141,8 +138,7 @@ BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattleArenaLobby_Text_OkayToSave, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
@@ -161,19 +157,16 @@ BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed
BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattleArenaLobby_Text_GuideYouToArena, MSGBOX_DEFAULT
closemessage
frontier_get FRONTIER_DATA_LVL_MODE
- compare VAR_RESULT, FRONTIER_LVL_50
- call_if_eq BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50
- compare VAR_RESULT, FRONTIER_LVL_OPEN
- call_if_eq BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen
- warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13
+ call_if_eq VAR_RESULT, FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50
+ call_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen
+ warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 9, 13
setvar VAR_TEMP_0, 0
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
index 76088f54d1..406ab46aec 100644
--- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
@@ -20,17 +20,14 @@ BattleFrontier_BattleDomeBattleRoom_OnTransition:
dome_setopponentgfx
frontier_get FRONTIER_DATA_BATTLE_NUM
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, DOME_ROUND1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos
+ call_if_eq VAR_RESULT, DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos
call BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx
end
BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxFemale
return
BattleFrontier_BattleDomeBattleRoom_EventScript_SetPlayerGfxMale::
@@ -48,18 +45,15 @@ BattleFrontier_BattleDomeBattleRoom_OnFrame:
BattleFrontier_BattleDomeBattleRoom_EventScript_EnterRoom::
lockall
call BattleFrontier_BattleDomeBattleRoom_EventScript_GetRoundNum
- compare VAR_RESULT, DOME_ROUND1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat
+ call_if_eq VAR_RESULT, DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat
applymovement LOCALID_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
- compare VAR_TEMP_F, DOME_FINAL
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnter
- compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerEnterForTucker
+ 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
goto BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer
@@ -70,10 +64,8 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceReactToPlayer::
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
waitmovement 0
- compare VAR_TEMP_F, DOME_FINAL
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent
- compare VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTucker
+ goto_if_ne VAR_TEMP_F, DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent
+ goto_if_ne VAR_TEMP_E, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnounceTucker
BattleFrontier_BattleDomeBattleRoom_EventScript_BattleOpponent::
dome_getopponentname
msgbox BattleFrontier_BattleDomeBattleRoom_Text_PlayerVersusTrainer, MSGBOX_DEFAULT
@@ -105,8 +97,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_Draw::
delay 180
applymovement LOCALID_REFEREE, BattleFrontier_BattleDomeBattleRoom_Movement_RefereeExit
waitmovement 0
- compare VAR_TEMP_2, DRAW_TUCKER @ Tucker always wins on a draw
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent
+ 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
@@ -114,12 +105,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_LostToOpponent::
applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown
waitmovement 0
dome_getopponentname
- compare VAR_TEMP_2, NO_DRAW
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon
- compare VAR_TEMP_2, DRAW_TRAINER
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw
- compare VAR_TEMP_2, DRAW_TUCKER
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw
+ call_if_eq VAR_TEMP_2, NO_DRAW, BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon
+ call_if_eq VAR_TEMP_2, DRAW_TRAINER, BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw
+ call_if_eq VAR_TEMP_2, DRAW_TUCKER, BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
@@ -130,13 +118,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobbyLost::
goto BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby
BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWon::
- frontier_gettrainername 1
+ frontier_gettrainername STR_VAR_2
message BattleFrontier_BattleDomeBattleRoom_Text_TrainerIsWinner
waitmessage
return
BattleFrontier_BattleDomeBattleRoom_EventScript_OpponentWonDraw::
- frontier_gettrainername 0
+ frontier_gettrainername STR_VAR_1
message BattleFrontier_BattleDomeBattleRoom_Text_RefereesDecidedWinnerTrainer
waitmessage
return
@@ -149,10 +137,8 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerWonDraw::
BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent::
applymovement LOCALID_ANNOUNCER, Common_Movement_WalkInPlaceDown
waitmovement 0
- compare VAR_TEMP_2, NO_DRAW
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon
- compare VAR_TEMP_2, DRAW_TRAINER
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw
+ call_if_eq VAR_TEMP_2, NO_DRAW, BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWon
+ call_if_eq VAR_TEMP_2, DRAW_TRAINER, BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw
playse SE_M_ENCORE2
call BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround
delay 60
@@ -164,7 +150,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_DefeatedOpponent::
switch VAR_RESULT
case DOME_ROUNDS_COUNT, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
setvar VAR_0x8006, 1
- warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 3
+ warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 5, 3
waitstate
BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney::
@@ -196,14 +182,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_PlayerWonDraw::
BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayer::
dome_get DOME_DATA_ATTEMPTED_CHALLENGE
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttempt
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerFirstAttempt
dome_get DOME_DATA_HAS_WON_CHALLENGE
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWon
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWon
dome_get DOME_DATA_WIN_STREAK_ACTIVE
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreak
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerBrokenStreak
goto BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampion
return
@@ -266,8 +249,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerNeverWonFinal::
return
BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampion::
- compare VAR_TEMP_F, DOME_FINAL
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionNoTucker
+ goto_if_ne VAR_TEMP_F, DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerChampionNoTucker
switch VAR_TEMP_E
case FRONTIER_BRAIN_SILVER, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerSilver
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattleDomeBattleRoom_EventScript_AnnouncePlayerPreTuckerGold
@@ -387,8 +369,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerEnter::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver
msgbox BattleFrontier_BattleDomeBattleRoom_Text_TuckerSilverIntro, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver::
@@ -401,8 +382,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver::
msgbox BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer, MSGBOX_DEFAULT
dome_resolvewinners DOME_PLAYER_WON_MATCH
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
+ goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
closemessage
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
waitmovement 0
@@ -417,8 +397,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerSilver::
BattleFrontier_BattleDomeBattleRoom_EventScript_TuckerGoldIntro::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold
msgbox BattleFrontier_BattleDomeBattleRoom_Text_TuckerGoldIntro, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold::
@@ -431,8 +410,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_BattleTuckerGold::
msgbox BattleFrontier_BattleDomeBattleRoom_Text_IncredibleVictorIsPlayer, MSGBOX_DEFAULT
dome_resolvewinners DOME_PLAYER_WON_MATCH
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
+ goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleDomeBattleRoom_EventScript_WonTourney
closemessage
applymovement LOCALID_OPPONENT, BattleFrontier_BattleDomeBattleRoom_Movement_TuckerApproachPlayer
waitmovement 0
@@ -490,12 +468,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_SetUpObjects::
setvar VAR_TEMP_1, 1
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, DOME_FINAL
- goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects
+ goto_if_ne VAR_RESULT, DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects
frontier_getbrainstatus
copyvar VAR_TEMP_E, VAR_RESULT
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects
+ 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
@@ -505,8 +481,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_EndSetUpObjects::
end
BattleFrontier_BattleDomeBattleRoom_OnResume:
- compare VAR_TEMP_9, 1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience
+ call_if_eq VAR_TEMP_9, 1, BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience
end
BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience::
@@ -515,90 +490,86 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_CallAddAudience::
@ Add audience members to supplement the permanent object event audience
BattleFrontier_BattleDomeBattleRoom_EventScript_AddAudience::
- compare VAR_TEMP_F, DOME_ROUND1
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience
- compare VAR_TEMP_F, DOME_ROUND2
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience
- compare VAR_TEMP_F, DOME_SEMIFINAL
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience
- compare VAR_TEMP_F, DOME_FINAL
- call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience
+ call_if_eq VAR_TEMP_F, DOME_ROUND1, BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience
+ call_if_eq VAR_TEMP_F, DOME_ROUND2, BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience
+ call_if_eq VAR_TEMP_F, DOME_SEMIFINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience
+ call_if_eq VAR_TEMP_F, DOME_FINAL, BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience
return
BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound1Audience::
return
BattleFrontier_BattleDomeBattleRoom_EventScript_AddRound2Audience::
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LITTLE_GIRL, 9, 11, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 11, 13, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MAN_5, 13, 15, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_BEAUTY, 19, 7, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_5, 22, 11, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LITTLE_BOY, 25, 15, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_YOUNGSTER, 26, 2, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 1, 3, 0
+ createvobject OBJ_EVENT_GFX_EXPERT_F, 4, 6, 0
+ createvobject OBJ_EVENT_GFX_NINJA_BOY, 6, 8, 0
+ createvobject OBJ_EVENT_GFX_LITTLE_GIRL, 9, 11, 0
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 11, 13, 0
+ createvobject OBJ_EVENT_GFX_MAN_5, 13, 15, 0
+ createvobject OBJ_EVENT_GFX_BEAUTY, 19, 7, 1
+ createvobject OBJ_EVENT_GFX_WOMAN_5, 22, 11, 1
+ createvobject OBJ_EVENT_GFX_LITTLE_BOY, 25, 15, 1
+ createvobject OBJ_EVENT_GFX_YOUNGSTER, 26, 2, 2
+ createvobject OBJ_EVENT_GFX_SCHOOL_KID_M, 29, 5, 1
return
BattleFrontier_BattleDomeBattleRoom_EventScript_AddSemifinalAudience::
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_2, 7, 9, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LITTLE_GIRL, 9, 11, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LASS, 10, 12, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 11, 13, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MAN_5, 13, 15, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_GENTLEMAN, 15, 2, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_NINJA_BOY, 16, 3, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_2, 17, 4, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_BEAUTY, 19, 7, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_EXPERT_F, 20, 9, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_5, 22, 11, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 23, 13, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LITTLE_BOY, 25, 15, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_YOUNGSTER, 26, 2, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_HEX_MANIAC, 28, 5, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MART_EMPLOYEE, 30, 6, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_5, 31, 8, 2, 3, DIR_SOUTH
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 1, 3, 0
+ createvobject OBJ_EVENT_GFX_EXPERT_F, 4, 6, 0
+ createvobject OBJ_EVENT_GFX_NINJA_BOY, 6, 8, 0
+ createvobject OBJ_EVENT_GFX_WOMAN_2, 7, 9, 0
+ createvobject OBJ_EVENT_GFX_LITTLE_GIRL, 9, 11, 0
+ createvobject OBJ_EVENT_GFX_LASS, 10, 12, 0
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 11, 13, 0
+ createvobject OBJ_EVENT_GFX_MAN_5, 13, 15, 0
+ createvobject OBJ_EVENT_GFX_GENTLEMAN, 15, 2, 1
+ createvobject OBJ_EVENT_GFX_NINJA_BOY, 16, 3, 1
+ createvobject OBJ_EVENT_GFX_WOMAN_2, 17, 4, 1
+ createvobject OBJ_EVENT_GFX_BEAUTY, 19, 7, 1
+ createvobject OBJ_EVENT_GFX_EXPERT_F, 20, 9, 1
+ createvobject OBJ_EVENT_GFX_WOMAN_5, 22, 11, 1
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 23, 13, 1
+ createvobject OBJ_EVENT_GFX_LITTLE_BOY, 25, 15, 1
+ createvobject OBJ_EVENT_GFX_YOUNGSTER, 26, 2, 2
+ createvobject OBJ_EVENT_GFX_HEX_MANIAC, 28, 5, 2
+ createvobject OBJ_EVENT_GFX_SCHOOL_KID_M, 29, 5, 1
+ createvobject OBJ_EVENT_GFX_MART_EMPLOYEE, 30, 6, 2
+ createvobject OBJ_EVENT_GFX_WOMAN_5, 31, 8, 2
return
BattleFrontier_BattleDomeBattleRoom_EventScript_AddFinalAudience::
- createvobject OBJ_EVENT_GFX_NINJA_BOY, 0, 2, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_BEAUTY, 2, 15, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MAN_5, 3, 5, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 5, 7, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_2, 7, 9, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_3, 8, 10, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LITTLE_GIRL, 9, 11, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LASS, 10, 12, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 11, 13, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_BEAUTY, 12, 14, 0, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MAN_5, 13, 15, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_HIKER, 14, 12, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_GENTLEMAN, 15, 2, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_NINJA_BOY, 16, 3, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_2, 17, 4, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_3, 18, 6, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_BEAUTY, 19, 7, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_EXPERT_F, 20, 9, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MAN_2, 21, 10, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_5, 22, 11, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCIENTIST_1, 23, 13, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_GENTLEMAN, 24, 14, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_LITTLE_BOY, 25, 15, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_YOUNGSTER, 26, 2, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_FAT_MAN, 27, 3, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_HEX_MANIAC, 28, 5, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_MART_EMPLOYEE, 30, 6, 2, 3, DIR_SOUTH
- createvobject OBJ_EVENT_GFX_WOMAN_5, 31, 8, 2, 3, DIR_SOUTH
+ createvobject OBJ_EVENT_GFX_NINJA_BOY, 0, 2, 0
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 1, 3, 0
+ createvobject OBJ_EVENT_GFX_BEAUTY, 2, 15, 0
+ createvobject OBJ_EVENT_GFX_MAN_5, 3, 5, 0
+ createvobject OBJ_EVENT_GFX_EXPERT_F, 4, 6, 0
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 5, 7, 0
+ createvobject OBJ_EVENT_GFX_NINJA_BOY, 6, 8, 0
+ createvobject OBJ_EVENT_GFX_WOMAN_2, 7, 9, 0
+ createvobject OBJ_EVENT_GFX_WOMAN_3, 8, 10, 0
+ createvobject OBJ_EVENT_GFX_LITTLE_GIRL, 9, 11, 0
+ createvobject OBJ_EVENT_GFX_LASS, 10, 12, 0
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 11, 13, 0
+ createvobject OBJ_EVENT_GFX_BEAUTY, 12, 14, 0
+ createvobject OBJ_EVENT_GFX_MAN_5, 13, 15, 2
+ createvobject OBJ_EVENT_GFX_HIKER, 14, 12, 2
+ createvobject OBJ_EVENT_GFX_GENTLEMAN, 15, 2, 1
+ createvobject OBJ_EVENT_GFX_NINJA_BOY, 16, 3, 1
+ createvobject OBJ_EVENT_GFX_WOMAN_2, 17, 4, 1
+ createvobject OBJ_EVENT_GFX_WOMAN_3, 18, 6, 1
+ createvobject OBJ_EVENT_GFX_BEAUTY, 19, 7, 1
+ createvobject OBJ_EVENT_GFX_EXPERT_F, 20, 9, 1
+ createvobject OBJ_EVENT_GFX_MAN_2, 21, 10, 1
+ createvobject OBJ_EVENT_GFX_WOMAN_5, 22, 11, 1
+ createvobject OBJ_EVENT_GFX_SCIENTIST_1, 23, 13, 1
+ createvobject OBJ_EVENT_GFX_GENTLEMAN, 24, 14, 1
+ createvobject OBJ_EVENT_GFX_LITTLE_BOY, 25, 15, 1
+ createvobject OBJ_EVENT_GFX_YOUNGSTER, 26, 2, 2
+ createvobject OBJ_EVENT_GFX_FAT_MAN, 27, 3, 2
+ createvobject OBJ_EVENT_GFX_HEX_MANIAC, 28, 5, 2
+ createvobject OBJ_EVENT_GFX_SCHOOL_KID_M, 29, 5, 1
+ createvobject OBJ_EVENT_GFX_MART_EMPLOYEE, 30, 6, 2
+ createvobject OBJ_EVENT_GFX_WOMAN_5, 31, 8, 2
return
BattleFrontier_BattleDomeBattleRoom_Movement_SetInvisible:
@@ -883,14 +854,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_AudienceLookAround::
BattleFrontier_BattleDomeBattleRoom_EventScript_WarpToLobby::
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, FRONTIER_MODE_DOUBLES
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles
- warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11
+ goto_if_eq VAR_RESULT, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles
+ warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 5, 11
waitstate
end
BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles::
- warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 17, 11
+ warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 17, 11
waitstate
end
@@ -898,15 +868,13 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_WarpToLobbyDoubles::
BattleFrontier_BattleDomeBattleRoom_EventScript_SetWalkingAudienceMemberPos::
random 2
copyvar VAR_TEMP_D, VAR_RESULT
- compare VAR_TEMP_D, 0
- goto_if_eq Common_EventScript_NopReturn
+ goto_if_eq VAR_TEMP_D, 0, Common_EventScript_NopReturn
setobjectxyperm LOCALID_AUDIENCE_WALKING, 2, 0
setobjectmovementtype LOCALID_AUDIENCE_WALKING, MOVEMENT_TYPE_FACE_RIGHT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_TryDoAudienceMemberWalkToSeat::
- compare VAR_TEMP_D, 0
- goto_if_eq Common_EventScript_NopReturn
+ goto_if_eq VAR_TEMP_D, 0, Common_EventScript_NopReturn
applymovement LOCALID_AUDIENCE_WALKING, BattleFrontier_BattleDomeBattleRoom_Movement_AudienceMemberWalkToSeat
return
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
index 32f3c82ba3..d286dc8681 100644
--- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
@@ -12,8 +12,7 @@ BattleFrontier_BattleDomeCorridor_EventScript_EnterCorridor::
delay 16
setvar VAR_TEMP_0, 1
frontier_get FRONTIER_DATA_LVL_MODE
- compare VAR_RESULT, FRONTIER_LVL_OPEN
- goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen
+ 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
waitmovement 0
@@ -40,7 +39,7 @@ BattleFrontier_BattleDomeCorridor_EventScript_WalkToBattleRoomLvOpen::
BattleFrontier_BattleDomeCorridor_EventScript_WarpToPreBattleRoom::
waitmovement 0
setvar VAR_0x8006, 0
- warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 7
+ warp MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 5, 7
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
index 04df6f38c6..b972a0814c 100644
--- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
@@ -48,8 +48,7 @@ BattleFrontier_BattleDomeLobby_EventScript_WonChallenge::
call BattleFrontier_EventScript_IncrementWinStreak
lockall
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_DefeatedAce
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleDomeLobby_EventScript_DefeatedAce
msgbox BattleFrontier_BattleDomeLobby_Text_CongratsForWinningTourney, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_GiveBattlePoints
@@ -88,8 +87,7 @@ BattleFrontier_BattleDomeLobby_EventScript_AskRecordBattle::
playse SE_SAVE
waitse
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_EndChallenge
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleDomeLobby_EventScript_EndChallenge
message BattleFrontier_BattleDomeLobby_Text_RecordLastMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
@@ -137,15 +135,11 @@ BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendant::
BattleFrontier_BattleDomeLobby_EventScript_AttendantWelcome::
special SavePlayerParty
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_WelcomeDoubles
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_WelcomeSingles
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_WelcomeDoubles
BattleFrontier_BattleDomeLobby_EventScript_AskTakeChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_TakeSinglesChallenge
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_TakeDoublesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_TakeSinglesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_TakeDoublesChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
@@ -162,8 +156,7 @@ BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleDomeLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -172,8 +165,7 @@ BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleDomeLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
@@ -191,8 +183,7 @@ BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed
dome_inittrainers
BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge::
special SavePlayerParty
@@ -202,16 +193,14 @@ BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge::
closemessage
call BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor
special HealPlayerParty
- warp MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 23, 6
setvar VAR_TEMP_0, 0
waitstate
end
BattleFrontier_BattleDomeLobby_EventScript_ExplainChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_ExplainSinglesChallenge
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_ExplainDoublesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleDomeLobby_EventScript_ExplainSinglesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleDomeLobby_EventScript_ExplainDoublesChallenge
goto BattleFrontier_BattleDomeLobby_EventScript_AskTakeChallenge
BattleFrontier_BattleDomeLobby_EventScript_NotEnoughValidMons::
@@ -240,27 +229,19 @@ BattleFrontier_BattleDomeLobby_EventScript_EndCancelChallenge::
end
BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantWalkToDoor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantWalkToDoor
+ 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
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_OpenSinglesDoor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_OpenDoublesDoor
+ 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
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendantEnterDoor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_DoublesAttendantEnterDoor
+ 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
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_CloseSinglesDoor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_CloseDoublesDoor
+ 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
waitdooranim
return
@@ -357,14 +338,10 @@ BattleFrontier_BattleDomeLobby_EventScript_ShowDoublesResults::
BattleFrontier_BattleDomeLobby_EventScript_ShowPrevTourneyTree::
dome_get DOME_DATA_PREV_TOURNEY_TYPE
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLv50
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLv50
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLvOpen
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLvOpen
+ call_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLv50
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLv50
+ call_if_eq VAR_RESULT, 2, BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsSinglesLvOpen
+ call_if_eq VAR_RESULT, 3, BattleFrontier_BattleDomeLobby_EventScript_PrevTourneyResultsDoublesLvOpen
fadescreen FADE_TO_BLACK
dome_showprevtourneytree
waitstate
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
index ca441cf1f8..6ca4296cc0 100644
--- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
@@ -19,8 +19,7 @@ BattleFrontier_BattleDomePreBattleRoom_OnFrame:
.2byte 0
BattleFrontier_BattleDomePreBattleRoom_EventScript_EnterRoom::
- compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_ReturnFromBattle
+ 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
@@ -31,8 +30,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound::
waitmessage
switch VAR_RESULT @ No case?
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRoundNoRecord
multichoice 16, 0, MULTI_TOURNEY_WITH_RECORD, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_ShowOpponentInfo
@@ -146,8 +144,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge::
special ChoosePartyForBattleFrontier
waitstate
frontier_resetsketch
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_AskReadyForNextRound
dome_set DOME_DATA_SELECTED_MONS
dome_reduceparty
dome_setopponent
@@ -163,7 +160,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_ContinueChallenge::
waitmovement 0
closedoor 5, 1
waitdooranim
- warp MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM, 255, 9, 5
+ warp MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM, 9, 5
setvar VAR_TEMP_0, 0
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
index 24f5ebe103..cf44e3118e 100644
--- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
@@ -19,14 +19,11 @@ BattleFrontier_BattleFactoryBattleRoom_MapScripts::
BattleFrontier_BattleFactoryBattleRoom_OnTransition:
frontier_settrainers
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale
+ call_if_eq VAR_RESULT, MALE, BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxMale
+ call_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattleFactoryBattleRoom_EventScript_SetPlayerGfxFemale
frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj
+ goto_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_SetUpFactoryHeadObj::
@@ -41,8 +38,7 @@ BattleFrontier_BattleFactoryBattleRoom_OnWarp:
BattleFrontier_BattleFactoryBattleRoom_EventScript_HideObjects::
setvar VAR_TEMP_1, 1
hideobjectat OBJ_EVENT_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
- compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects
+ goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects
hideobjectat LOCALID_OPPONENT, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
BattleFrontier_BattleFactoryBattleRoom_EventScript_EndHideObjects::
end
@@ -71,8 +67,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle::
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom::
- compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle
+ goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoomFactoryHeadBattle
applymovement LOCALID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_PlayerEnterRoom
waitmovement 0
@@ -84,8 +79,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_EnterRoom::
applymovement LOCALID_OPPONENT, BattleFrontier_BattleFactoryBattleRoom_Movement_OpponentEnter
waitmovement 0
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleOpponent::
- compare VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland
+ goto_if_ne VAR_TEMP_F, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland
palace_getopponentintro
lockall
msgbox gStringVar4, MSGBOX_DEFAULT
@@ -105,8 +99,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost::
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedOpponent::
factory_get FACTORY_DATA_WIN_STREAK_SWAPS
- compare VAR_RESULT, MAX_STREAK
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
+ goto_if_eq VAR_RESULT, MAX_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above
@@ -119,7 +112,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum::
switch VAR_RESULT
case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon
setvar VAR_0x8006, 1
- warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 8
+ warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 8
waitstate
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyWon::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
@@ -131,21 +124,18 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNoland::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_NolandImFactoryHead, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandSilver::
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_ShakeOutKnowledgeBringItOn, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver::
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
+ 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
@@ -160,21 +150,18 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandSilver::
BattleFrontier_BattleFactoryBattleRoom_EventScript_IntroNolandGold::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_HarderLookThanLastTime, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleFactoryBattleRoom_EventScript_BattleNolandGold::
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_AllRightBringItOn, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyLost
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNolandGold::
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland
+ 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
@@ -199,14 +186,12 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_DoNolandBattle::
BattleFrontier_BattleFactoryBattleRoom_EventScript_DefeatedNoland::
factory_get FACTORY_DATA_WIN_STREAK_SWAPS
- compare VAR_RESULT, MAX_STREAK
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
+ goto_if_eq VAR_RESULT, MAX_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementWinStreak
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
factory_set FACTORY_DATA_WIN_STREAK_SWAPS @ uses VAR_0x8006 above
factory_get FACTORY_DATA_WIN_STREAK
- compare VAR_RESULT, MAX_STREAK
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum
+ goto_if_eq VAR_RESULT, MAX_STREAK, BattleFrontier_BattleFactoryBattleRoom_EventScript_IncrementBattleNum
addvar VAR_RESULT, 1
factory_set FACTORY_DATA_WIN_STREAK, VAR_RESULT
frontier_get FRONTIER_DATA_BATTLE_NUM
@@ -245,14 +230,13 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_NolandMoveToBattle:
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobby::
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, FRONTIER_MODE_DOUBLES
- goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles
- warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8
+ goto_if_eq VAR_RESULT, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles
+ warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 4, 8
waitstate
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_WarpToLobbyDoubles::
- warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 14, 8
+ warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 14, 8
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
index 3b11392947..682b2c91d1 100644
--- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
@@ -43,8 +43,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving::
BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead
msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsSevenWins, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints
@@ -79,8 +78,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge::
BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle::
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
message BattleFrontier_BattleFactoryLobby_Text_RecordLastMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
@@ -126,15 +124,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_DoublesAttendant::
BattleFrontier_BattleFactoryLobby_EventScript_Attendant::
special SavePlayerParty
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle
BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
@@ -167,21 +161,18 @@ BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed
setvar VAR_0x8006, 0
BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge::
special SavePlayerParty
msgbox BattleFrontier_BattleFactoryLobby_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant
+ 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
waitmovement 0
- warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13
+ warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 13
setvar VAR_TEMP_0, 0
waitstate
end
@@ -195,10 +186,8 @@ BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant::
return
BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge
goto BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge
BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed::
diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
index ce3cb357c2..d54cf83570 100644
--- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
@@ -11,8 +11,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_OnWarp:
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SetUpObjects::
setvar VAR_TEMP_1, 1
- compare VAR_0x8006, 1
- goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth
+ goto_if_ne VAR_0x8006, 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth
setobjectxy LOCALID_ATTENDANT, 8, 7
turnobject LOCALID_ATTENDANT, DIR_SOUTH
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_TurnPlayerNorth::
@@ -24,14 +23,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_OnFrame:
.2byte 0
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterRoom::
- compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle
+ 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
waitmovement 0
- compare VAR_0x8006, 2
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge
+ goto_if_eq VAR_0x8006, 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge
factory_generaterentalmons
factory_generateopponentmons
factory_getopponentmontype
@@ -49,12 +46,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom::
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_RightThisWay, MSGBOX_DEFAULT
closemessage
call BattleFrontier_EventScript_GetLvlMode
- compare VAR_RESULT, FRONTIER_LVL_50
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50
- compare VAR_RESULT, FRONTIER_LVL_OPEN
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen
+ call_if_eq VAR_RESULT, FRONTIER_LVL_50, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLv50
+ call_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_WalkToBattleRoomLvOpen
waitmovement 0
- warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11
+ warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 6, 11
waitstate
end
@@ -66,8 +61,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle::
waitfanfare
special HealPlayerParty
frontier_getbrainstatus
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent
+ goto_if_eq VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent
playse SE_POKENAV_CALL
waitse
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_WaitFewMoments, MSGBOX_DEFAULT
@@ -86,25 +80,17 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReturnToRoomFromBattle::
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponent::
frontier_getbrainstatus
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead
+ goto_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForRegularOpponent::
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor2ndOpponent
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor3rdOpponent
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor4thOpponent
- compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor5thOpponent
- compare VAR_RESULT, 5
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor6thOpponent
- compare VAR_RESULT, 6
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor7thOpponent
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor2ndOpponent
+ call_if_eq VAR_RESULT, 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor3rdOpponent
+ call_if_eq VAR_RESULT, 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor4thOpponent
+ call_if_eq VAR_RESULT, 4, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor5thOpponent
+ call_if_eq VAR_RESULT, 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor6thOpponent
+ call_if_eq VAR_RESULT, 6, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ReadyFor7thOpponent
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForOpponentNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapMon
@@ -168,8 +154,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_SwapMons::
fadescreen FADE_TO_BLACK
factory_swapmons
waitstate
- compare VAR_RESULT, TRUE @ Did player keep current pokemon
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom @ Did player keep current pokemon
factory_setswapped
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_EnterBattleRoom
@@ -223,42 +208,24 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_ResumeChallenge::
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType::
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_InvestigatedUpcomingOpponent, MSGBOX_DEFAULT
- compare VAR_0x8005, TYPE_NORMAL
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal
- compare VAR_0x8005, TYPE_FIGHTING
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFighting
- compare VAR_0x8005, TYPE_FLYING
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFlying
- compare VAR_0x8005, TYPE_POISON
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPoison
- compare VAR_0x8005, TYPE_GROUND
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGround
- compare VAR_0x8005, TYPE_ROCK
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesRock
- compare VAR_0x8005, TYPE_BUG
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesBug
- compare VAR_0x8005, TYPE_GHOST
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGhost
- compare VAR_0x8005, TYPE_STEEL
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesSteel
- compare VAR_0x8005, TYPE_FIRE
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFire
- compare VAR_0x8005, TYPE_WATER
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesWater
- compare VAR_0x8005, TYPE_GRASS
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGrass
- compare VAR_0x8005, TYPE_ELECTRIC
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesElectric
- compare VAR_0x8005, TYPE_PSYCHIC
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPsychic
- compare VAR_0x8005, TYPE_ICE
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce
- compare VAR_0x8005, TYPE_DRAGON
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon
- compare VAR_0x8005, TYPE_DARK
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark
- compare VAR_0x8005, NUMBER_OF_MON_TYPES
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType
+ call_if_eq VAR_0x8005, TYPE_NORMAL, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal
+ call_if_eq VAR_0x8005, TYPE_FIGHTING, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFighting
+ call_if_eq VAR_0x8005, TYPE_FLYING, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFlying
+ call_if_eq VAR_0x8005, TYPE_POISON, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPoison
+ call_if_eq VAR_0x8005, TYPE_GROUND, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGround
+ call_if_eq VAR_0x8005, TYPE_ROCK, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesRock
+ call_if_eq VAR_0x8005, TYPE_BUG, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesBug
+ call_if_eq VAR_0x8005, TYPE_GHOST, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGhost
+ call_if_eq VAR_0x8005, TYPE_STEEL, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesSteel
+ call_if_eq VAR_0x8005, TYPE_FIRE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFire
+ call_if_eq VAR_0x8005, TYPE_WATER, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesWater
+ call_if_eq VAR_0x8005, TYPE_GRASS, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesGrass
+ call_if_eq VAR_0x8005, TYPE_ELECTRIC, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesElectric
+ call_if_eq VAR_0x8005, TYPE_PSYCHIC, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesPsychic
+ call_if_eq VAR_0x8005, TYPE_ICE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce
+ call_if_eq VAR_0x8005, TYPE_DRAGON, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon
+ call_if_eq VAR_0x8005, TYPE_DARK, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark
+ call_if_eq VAR_0x8005, NUMBER_OF_MON_TYPES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesNormal::
@@ -334,24 +301,15 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonTyp
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentStyle::
- compare VAR_0x8006, FACTORY_STYLE_NONE
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained
- compare VAR_0x8006, FACTORY_STYLE_PREPARATION
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleTotalPreparation
- compare VAR_0x8006, FACTORY_STYLE_SLOW_STEADY
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleSlowAndSteady
- compare VAR_0x8006, FACTORY_STYLE_ENDURANCE
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleEndurance
- compare VAR_0x8006, FACTORY_STYLE_HIGH_RISK
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleHighRisk
- compare VAR_0x8006, FACTORY_STYLE_WEAKENING
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleWeakenFoe
- compare VAR_0x8006, FACTORY_STYLE_UNPREDICTABLE
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleImpossibleToPredict
- compare VAR_0x8006, FACTORY_STYLE_WEATHER
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleDependsOnFlow
- compare VAR_0x8006, FACTORY_NUM_STYLES
- call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleFlexible
+ call_if_eq VAR_0x8006, FACTORY_STYLE_NONE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained
+ call_if_eq VAR_0x8006, FACTORY_STYLE_PREPARATION, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleTotalPreparation
+ call_if_eq VAR_0x8006, FACTORY_STYLE_SLOW_STEADY, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleSlowAndSteady
+ call_if_eq VAR_0x8006, FACTORY_STYLE_ENDURANCE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleEndurance
+ call_if_eq VAR_0x8006, FACTORY_STYLE_HIGH_RISK, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleHighRisk
+ call_if_eq VAR_0x8006, FACTORY_STYLE_WEAKENING, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleWeakenFoe
+ call_if_eq VAR_0x8006, FACTORY_STYLE_UNPREDICTABLE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleImpossibleToPredict
+ call_if_eq VAR_0x8006, FACTORY_STYLE_WEATHER, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleDependsOnFlow
+ call_if_eq VAR_0x8006, FACTORY_NUM_STYLES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleFlexible
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_StyleUnrestrained::
@@ -394,8 +352,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHead::
message BattleFrontier_BattleFactoryPreBattleRoom_Text_PreparedToFaceHead
waitmessage
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHeadNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskReadyForHeadNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_AskSwapBeforeHead
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
index 13015dd3e1..2e9366d44b 100644
--- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
@@ -21,10 +21,8 @@ BattleFrontier_BattlePalaceBattleRoom_OnTransition:
BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattlePalaceBattleRoom_EventScript_SetPlayerGfxFemale
return
@ The opponent's gfx are set to the players by default
@@ -45,8 +43,7 @@ BattleFrontier_BattlePalaceBattleRoom_OnFrame:
BattleFrontier_BattlePalaceBattleRoom_EventScript_EnterRoom::
showobjectat LOCALID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BeginChallenge
applymovement LOCALID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_PlayerReturnToChallenge
waitmovement 0
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePalaceBattleRoom_Movement_FaceDown
@@ -95,24 +92,16 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedOpponent::
BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponent::
frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext
+ goto_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor3rdOpponent
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor4thOpponent
- compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor5thOpponent
- compare VAR_RESULT, 5
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor6thOpponent
- compare VAR_RESULT, 6
- call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor7thOpponent
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor2ndOpponent
+ call_if_eq VAR_RESULT, 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor3rdOpponent
+ call_if_eq VAR_RESULT, 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor4thOpponent
+ call_if_eq VAR_RESULT, 4, BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor5thOpponent
+ call_if_eq VAR_RESULT, 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor6thOpponent
+ call_if_eq VAR_RESULT, 6, BattleFrontier_BattlePalaceBattleRoom_EventScript_ReadyFor7thOpponent
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForOpponentNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_ContinueChallenge
@@ -179,16 +168,14 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_PauseChallenge::
end
BattleFrontier_BattlePalaceBattleRoom_EventScript_MavenUpNext::
- compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven
+ goto_if_eq VAR_TEMP_2, 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_ChallengingPalaceMaven, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMaven::
message BattleFrontier_BattlePalaceBattleRoom_Text_ReadyForPalaceMaven
waitmessage
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMavenNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePalaceBattleRoom_EventScript_AskReadyForMavenNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser
@@ -225,22 +212,19 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenser::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserFirstIntro, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserSilver::
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_ProveYourBondWithMons, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost
BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver::
palace_incrementstreak
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
+ 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
@@ -260,22 +244,19 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserSilver::
BattleFrontier_BattlePalaceBattleRoom_EventScript_IntroSpenserGold::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_SpenserThisTimeWontHoldBack, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePalaceBattleRoom_EventScript_BattleSpenserGold::
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_Kaaah, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_DoPalaceBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyLost
BattleFrontier_BattlePalaceBattleRoom_EventScript_DefeatedSpenserGold::
palace_incrementstreak
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyWon
+ 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
@@ -417,14 +398,13 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_UnusedOpponentEnter3:
BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobby::
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, FRONTIER_MODE_DOUBLES
- goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles
- warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7
+ goto_if_eq VAR_RESULT, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles
+ warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 5, 7
waitstate
end
BattleFrontier_BattlePalaceBattleRoom_EventScript_WarpToLobbyDoubles::
- warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 19, 7
+ warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 19, 7
waitstate
end
diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
index 011170bae8..ad2a2ee9f5 100644
--- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
@@ -15,20 +15,14 @@ BattleFrontier_BattlePalaceCorridor_EventScript_WalkThroughCorridor::
waitmovement 0
lockall
palace_getcomment
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment1
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment2
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment3
- compare VAR_RESULT, 3
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_StreakComment
- compare VAR_RESULT, 4
- call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_LongStreakComment
+ call_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment1
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment2
+ call_if_eq VAR_RESULT, 2, BattleFrontier_BattlePalaceCorridor_EventScript_RandomComment3
+ call_if_eq VAR_RESULT, 3, BattleFrontier_BattlePalaceCorridor_EventScript_StreakComment
+ call_if_eq VAR_RESULT, 4, BattleFrontier_BattlePalaceCorridor_EventScript_LongStreakComment
closemessage
frontier_get FRONTIER_DATA_LVL_MODE
- compare VAR_RESULT, FRONTIER_LVL_OPEN
- goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom
+ 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
waitmovement 0
@@ -53,7 +47,7 @@ BattleFrontier_BattlePalaceCorridor_EventScript_WalkToOpenBattleRoom::
closedoor 10, 3
waitdooranim
BattleFrontier_BattlePalaceCorridor_EventScript_WarpToBattleRoom::
- warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM, 255, 7, 4
+ warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM, 7, 4
waitstate
end
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
index a51fa48fde..481f7000db 100644
--- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
@@ -41,8 +41,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving::
BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_DefeatedMaven
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePalaceLobby_EventScript_DefeatedMaven
msgbox BattleFrontier_BattlePalaceLobby_Text_FirmTrueBondsFor7WinStreak, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints
@@ -81,8 +80,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge::
playse SE_SAVE
waitse
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePalaceLobby_EventScript_EndSaveAfterChallenge
message BattleFrontier_BattlePalaceLobby_Text_LikeToRecordMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
@@ -126,18 +124,13 @@ BattleFrontier_BattlePalaceLobby_EventScript_DoublesAttendant::
BattleFrontier_BattlePalaceLobby_EventScript_Attendant::
palace_get PALACE_DATA_PRIZE
- compare VAR_RESULT, ITEM_NONE
- goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge
+ goto_if_ne VAR_RESULT, ITEM_NONE, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge
special SavePlayerParty
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForSingleBattle
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForDoubleBattle
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForSingleBattle
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceLobby_EventScript_WelcomeForDoubleBattle
BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_AskTakeSingleBattleChallenge
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattlePalaceLobby_EventScript_AskTakeSingleBattleChallenge
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
@@ -154,8 +147,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattlePalaceLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePalaceLobby_Text_NowSelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -164,8 +156,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattlePalaceLobby_Text_MustSaveBeforeChallenge2, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
@@ -184,22 +175,20 @@ BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed
BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePalaceLobby_Text_FollowMe, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor
- warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13
+ warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 8, 13
setvar VAR_TEMP_0, 0
waitstate
end
BattleFrontier_BattlePalaceLobby_EventScript_ExplainChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_ExplainDoublesChallenge
+ goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattlePalaceLobby_EventScript_ExplainDoublesChallenge
msgbox BattleFrontier_BattlePalaceLobby_Text_ExplainSingleBattleChallenge, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_AskTakeChallenge
@@ -249,25 +238,19 @@ BattleFrontier_BattlePalaceLobby_EventScript_AskTakeDoubleBattleChallenge::
return
BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_TalkedToSinglesAttendant
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_TalkedToDoublesAttendant
+ 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
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_OpenSinglesHallDoor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_OpenDoublesHallDoor
+ 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
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CloseSinglesHallDoor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_CloseDoublesHallDoor
+ 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
waitdooranim
return
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
index 44539747b8..fe2c6ed00f 100644
--- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
@@ -25,7 +25,7 @@ BattleFrontier_BattlePikeCorridor_EventScript_EnterCorridor::
waitmovement 0
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 99
call BattleFrontier_BattlePike_EventScript_CloseCurtain
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 6, 10
waitstate
end
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
index ecbbafef24..320e12d996 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
@@ -31,7 +31,7 @@ BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving::
lockall
msgbox BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
- pike_set PIKE_DATA_WIN_STREAK 0
+ pike_set PIKE_DATA_WIN_STREAK, 0
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_0, 255
@@ -41,8 +41,7 @@ BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving::
BattleFrontier_BattlePikeLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen
msgbox BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints
@@ -116,8 +115,7 @@ BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -126,8 +124,7 @@ BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
@@ -149,8 +146,7 @@ BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge::
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
pike_savehelditems
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePikeLobby_Text_StepThisWay, MSGBOX_DEFAULT
@@ -159,7 +155,7 @@ BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge::
call BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor
special HealPlayerParty
call BattleFrontier_BattlePike_EventScript_CloseCurtain
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 6, 7
setvar VAR_TEMP_0, 0
waitstate
end
diff --git a/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc
index 15ebbeb3fd..e0246ed57d 100644
--- a/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRoomFinal/scripts.inc
@@ -18,7 +18,7 @@ BattleFrontier_BattlePikeRoomFinal_EventScript_EnterRoom::
msgbox BattleFrontier_BattlePikeRoomFinal_Text_CongratsThisWayPlease, MSGBOX_DEFAULT
closemessage
releaseall
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 5, 6
waitstate
end
diff --git a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
index 5bd04bfb40..45f042e4f8 100644
--- a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
@@ -44,7 +44,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterSingleBattleRoom::
case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WonSingleBattle
BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 5, 6
waitstate
end
@@ -137,21 +137,18 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_LucyEnter::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver
msgbox BattleFrontier_BattlePikeRoomNormal_Text_ImThePikeQueen, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucySilver::
msgbox BattleFrontier_BattlePikeRoomNormal_Text_HopeYouDidntUseUpLuck, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver
goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost
BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver::
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
+ goto_if_ne VAR_RESULT, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyShowMeFrontierPass, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_OBTAIN_SYMBOL
@@ -165,21 +162,18 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucySilver::
BattleFrontier_BattlePikeRoomNormal_EventScript_IntroLucyGold::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold
msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyYouAgain, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattlePikeRoomNormal_EventScript_BattleLucyGold::
msgbox BattleFrontier_BattlePikeRoomNormal_Text_NowComeOn, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRoomNormal_EventScript_DoPikeQueenBattle
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold
goto BattleFrontier_BattlePikeRoomNormal_EventScript_WarpToLobbyLost
BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucyGold::
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
+ goto_if_eq VAR_RESULT, 2, BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy
msgbox BattleFrontier_BattlePikeRoomNormal_Text_LucyFrontierPass, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_OBTAIN_SYMBOL
@@ -199,7 +193,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DefeatedLucy::
waitmovement 0
pike_get PIKE_DATA_WIN_STREAK
addvar VAR_RESULT, 1
- pike_set PIKE_DATA_WIN_STREAK VAR_RESULT
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
call BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
waitstate
end
@@ -290,10 +284,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_EnterStatusRoom::
waitmovement 0
pike_getstatusmon
copyvar VAR_0x8004, VAR_RESULT
- compare VAR_0x8004, PIKE_STATUSMON_KIRLIA
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack
- compare VAR_0x8004, PIKE_STATUSMON_DUSCLOPS
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack
+ call_if_eq VAR_0x8004, PIKE_STATUSMON_KIRLIA, BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack
+ call_if_eq VAR_0x8004, PIKE_STATUSMON_DUSCLOPS, BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack
msgbox BattleFrontier_BattlePikeRoomNormal_Text_AttacksWhenStartled, MSGBOX_DEFAULT
closemessage
releaseall
@@ -306,14 +298,10 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaAttack::
playmoncry SPECIES_KIRLIA, CRY_MODE_NORMAL
waitmoncry
pike_getstatus
- compare VAR_RESULT, PIKE_STATUS_TOXIC
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedToxic
- compare VAR_RESULT, PIKE_STATUS_BURN
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedWillOWisp
- compare VAR_RESULT, PIKE_STATUS_PARALYSIS
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedThunderWave
- compare VAR_RESULT, PIKE_STATUS_SLEEP
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis
+ call_if_eq VAR_RESULT, PIKE_STATUS_TOXIC, BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedToxic
+ call_if_eq VAR_RESULT, PIKE_STATUS_BURN, BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedWillOWisp
+ call_if_eq VAR_RESULT, PIKE_STATUS_PARALYSIS, BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedThunderWave
+ call_if_eq VAR_RESULT, PIKE_STATUS_SLEEP, BattleFrontier_BattlePikeRoomNormal_EventScript_KirliaUsedHypnosis
pike_flashscreen
waitstate
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
@@ -341,10 +329,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsAttack::
playmoncry SPECIES_DUSCLOPS, CRY_MODE_NORMAL
waitmoncry
pike_getstatus
- compare VAR_RESULT, PIKE_STATUS_FREEZE
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedIceBeam
- compare VAR_RESULT, PIKE_STATUS_BURN
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp
+ call_if_eq VAR_RESULT, PIKE_STATUS_FREEZE, BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedIceBeam
+ call_if_eq VAR_RESULT, PIKE_STATUS_BURN, BattleFrontier_BattlePikeRoomNormal_EventScript_DusclopsUsedWillOWisp
pike_flashscreen
waitstate
applymovement LOCALID_OBJ_0, BattleFrontier_BattlePikeRoomNormal_Movement_NPCApproachMon
@@ -569,10 +555,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_StatusNPC::
BattleFrontier_BattlePikeRoomNormal_EventScript_HealNPC::
pike_healonetwomons
- compare VAR_RESULT, 2
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon
+ call_if_eq VAR_RESULT, 2, BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreTwoMons
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattlePikeRoomNormal_EventScript_WillRestoreOneMon
playfanfare MUS_HEAL
waitfanfare
msgbox BattleFrontier_BattlePikeRoomNormal_Text_BestOfLuckFarewell, MSGBOX_DEFAULT
@@ -608,46 +592,46 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_StatusMon::
end
BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesMostlyClosed::
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage1_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage1_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage1_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage1_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage1_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage1_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage1_Tile6, 1
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage1_Tile0, TRUE
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage1_Tile1, TRUE
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage1_Tile2, TRUE
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage1_Tile3, TRUE
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage1_Tile4, TRUE
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage1_Tile5, FALSE
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage1_Tile6, TRUE
special DrawWholeMapView
return
BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesLittleClosed::
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage2_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage2_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage2_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage2_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage2_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage2_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage2_Tile6, 1
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage2_Tile0, TRUE
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage2_Tile1, TRUE
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage2_Tile2, TRUE
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage2_Tile3, TRUE
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage2_Tile4, TRUE
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage2_Tile5, FALSE
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage2_Tile6, TRUE
special DrawWholeMapView
return
BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesOpen::
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage3_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage3_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage3_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage3_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage3_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage3_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage3_Tile6, 1
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage3_Tile0, TRUE
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage3_Tile1, TRUE
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage3_Tile2, TRUE
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage3_Tile3, TRUE
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage3_Tile4, TRUE
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage3_Tile5, FALSE
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage3_Tile6, TRUE
special DrawWholeMapView
return
BattleFrontier_BattlePikeRoomNormal_EventScript_SetCurtainTilesClosed::
- setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage0_Tile0, 1
- setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage0_Tile1, 1
- setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage0_Tile2, 1
- setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage0_Tile3, 1
- setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage0_Tile4, 1
- setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage0_Tile5, 0
- setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage0_Tile6, 1
+ setmetatile 4, 1, METATILE_BattlePike_Curtain_Stage0_Tile0, TRUE
+ setmetatile 3, 2, METATILE_BattlePike_Curtain_Stage0_Tile1, TRUE
+ setmetatile 4, 2, METATILE_BattlePike_Curtain_Stage0_Tile2, TRUE
+ setmetatile 5, 2, METATILE_BattlePike_Curtain_Stage0_Tile3, TRUE
+ setmetatile 3, 3, METATILE_BattlePike_Curtain_Stage0_Tile4, TRUE
+ setmetatile 4, 3, METATILE_BattlePike_Curtain_Stage0_Tile5, FALSE
+ setmetatile 5, 3, METATILE_BattlePike_Curtain_Stage0_Tile6, TRUE
special DrawWholeMapView
return
diff --git a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
index ee9e548f6e..19926b9675 100644
--- a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
@@ -16,7 +16,7 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_SetInWildMonRoom::
BattleFrontier_BattlePikeRoomWildMons_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 5, 6
waitstate
end
@@ -32,10 +32,8 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_TurnPlayerNorth::
BattleFrontier_BattlePikeRoomWildMons_OnResume:
call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
- compare VAR_RESULT, B_OUTCOME_LOST
- goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost
- compare VAR_RESULT, B_OUTCOME_DREW
- goto_if_eq BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_LOST, BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_DREW, BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost
end
BattleFrontier_BattlePikeRoomWildMons_EventScript_SetLost::
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
index 37737554f5..e95ca9dcea 100644
--- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
@@ -28,7 +28,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus::
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby::
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 5, 6
waitstate
end
@@ -151,8 +151,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_AskRetireChallenge::
BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom::
pike_sethintroom
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeThreePathRoom_EventScript_SetPikeQueenHint
setvar VAR_TEMP_5, 255
end
@@ -173,8 +172,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint::
BattleFrontier_BattlePikeThreePathRoom_EventScript_HintGiver::
pike_gethint
- compare VAR_RESULT, PIKE_HINT_BRAIN
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint
+ goto_if_eq VAR_RESULT, PIKE_HINT_BRAIN, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint
lock
faceplayer
msgbox BattleFrontier_BattlePikeThreePathRoom_Text_FindingItDifficultToChoose, MSGBOX_YESNO
diff --git a/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc
index 8993418ee8..a6b3f63c8e 100644
--- a/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc
@@ -21,8 +21,7 @@ BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight::
BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop::
special CallBattlePyramidFunction
delay 2
- compare VAR_RESULT, 2
- goto_if_ne BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop
+ goto_if_ne VAR_RESULT, 2, BattleFrontier_BattlePyramidFloor_EventScript_UpdateLightLoop
setvar VAR_TEMP_D, 0
releaseall
end
@@ -45,18 +44,12 @@ BattleFrontier_BattlePyramidFloor_OnResume:
case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby
case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
- compare VAR_RESULT, B_OUTCOME_LOST
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
- compare VAR_RESULT, B_OUTCOME_DREW
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
- compare VAR_RESULT, B_OUTCOME_FORFEITED
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidFloor_EventScript_ResetParty
+ goto_if_eq VAR_RESULT, B_OUTCOME_LOST, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_DREW, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_FORFEITED, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
frontier_isbattletype BATTLE_TYPE_TRAINER @ VAR_RESULT seems to be ignored here
setvar VAR_TEMP_D, 1
BattleFrontier_BattlePyramidFloor_EventScript_ResetParty::
@@ -70,7 +63,7 @@ BattleFrontier_BattlePyramid_EventScript_WarpToLobby::
pyramid_updatelight 0, PYRAMID_LIGHT_SET_RADIUS
pyramid_clearhelditems
special HealPlayerParty
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 7, 13
waitstate
end
@@ -97,17 +90,16 @@ BattlePyramid_WarpToNextFloor::
frontier_get FRONTIER_DATA_BATTLE_NUM @ Floor number
addvar VAR_RESULT, 1
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
- compare VAR_RESULT, 7
- goto_if_eq BattlePyramid_WarpToTop
+ goto_if_eq VAR_RESULT, 7, BattlePyramid_WarpToTop
pyramid_seedfloor
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
- warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 255, 1, 1
+ warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 1, 1
waitstate
end
BattlePyramid_WarpToTop::
- warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP, 255, 17, 17
+ warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP, 17, 17
waitstate
end
@@ -124,8 +116,7 @@ BattlePyramid_TrainerBattle::
BattlePyramid_FindItemBall::
pyramid_setitem
callstd STD_FIND_ITEM
- compare VAR_0x8007, 0
- goto_if_eq BattlePyramid_FindItemBallEnd
+ goto_if_eq VAR_0x8007, 0, BattlePyramid_FindItemBallEnd
pyramid_hideitem
BattlePyramid_FindItemBallEnd::
end
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
index c93deee3ec..550644511b 100644
--- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
@@ -45,8 +45,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving::
BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing
msgbox BattleFrontier_BattlePyramidLobby_Text_YouveConqueredPyramid, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints
@@ -54,8 +53,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_DefeatedKing::
msgbox BattleFrontier_BattlePyramidLobby_Text_YouveDefeatedPyramidKing, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints::
special DoBattlePyramidMonsHaveHeldItem
- compare VAR_RESULT, TRUE
- call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag
+ call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag
clearflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
frontier_checkairshow
special LoadPlayerParty
@@ -130,8 +128,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePyramidLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -140,8 +137,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattlePyramidLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
@@ -162,8 +158,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed
BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
@@ -173,7 +168,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_RESULT, 0
special HealPlayerParty
- warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 255, 1, 1
+ warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 1, 1
setvar VAR_TEMP_0, 0
waitstate
end
@@ -233,8 +228,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_NoHint::
BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLv50::
msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT
pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_50
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak
setvar VAR_RESULT, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
@@ -247,8 +241,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLv50Streak::
BattleFrontier_BattlePyramidLobby_EventScript_GiveHintLvOpen::
msgbox BattleFrontier_BattlePyramidLobby_Text_Aah, MSGBOX_DEFAULT
pyramid_get PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidLobby_EventScript_GiveHintGetLvOpenStreak
setvar VAR_RESULT, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_DoHintComment
return
@@ -378,8 +371,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_WalkToPanelAndReceiveBag::
waitmovement 0
msgbox BattleFrontier_BattlePyramidLobby_Text_WeWillHoldBagForSafekeeping, MSGBOX_DEFAULT
pyramid_get PYRAMID_DATA_WIN_STREAK
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_ReceiveNewBattleBag
msgbox BattleFrontier_BattlePyramidLobby_Text_PleaseTakePreviousBattleBag, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_ReceiveBattleBag
@@ -433,8 +425,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_StoreHeldItemsInPyramidBag::
msgbox BattleFrontier_BattlePyramidLobby_Text_MonHoldingItemCannotTake, MSGBOX_DEFAULT
setflag FLAG_STORING_ITEMS_IN_PYRAMID_BAG
special TryStoreHeldItemsInPyramidBag
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_HeldItemsStoredInPyramidBag
message BattleFrontier_BattlePyramidLobby_Text_BagCannotHoldPickItemsToKeep
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_PickItemsToKeep
@@ -472,8 +463,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_PickItemsFromParty::
BattleFrontier_BattlePyramidLobby_EventScript_ExitPickItems::
special DoBattlePyramidMonsHaveHeldItem
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems
return
BattleFrontier_BattlePyramidLobby_EventScript_PartyStillHasHeldItems::
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
index 0c1db1eea8..385356c4ba 100644
--- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
@@ -20,16 +20,14 @@ BattleFrontier_BattlePyramidTop_OnWarp:
BattleFrontier_BattlePyramidTop_EventScript_SetUpObjects::
setvar VAR_TEMP_1, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
- compare VAR_TEMP_C, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects
+ goto_if_ne VAR_TEMP_C, 0, BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects
setobjectxyperm LOCALID_BRANDON, 0, 0
BattleFrontier_BattlePyramidTop_EventScript_EndSetUpObjects::
end
BattleFrontier_BattlePyramidTop_OnResume:
frontier_getbrainstatus
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus
+ goto_if_eq VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus
call BattleFrontier_EventScript_SetBrainObjectGfx
BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus::
copyvar VAR_TEMP_C, VAR_RESULT
@@ -39,12 +37,9 @@ BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus::
case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby
case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
- compare VAR_RESULT, B_OUTCOME_LOST
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
- compare VAR_RESULT, B_OUTCOME_DREW
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
- compare VAR_RESULT, B_OUTCOME_FORFEITED
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_LOST, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_DREW, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ goto_if_eq VAR_RESULT, B_OUTCOME_FORFEITED, BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
end
BattleFrontier_BattlePyramidTop_OnFrame:
@@ -74,10 +69,8 @@ BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge::
BattleFrontier_BattlePyramidTop_EventScript_Attendant::
lock
faceplayer
- compare VAR_TEMP_D, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady
- compare VAR_TEMP_C, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHereMoveAside
+ goto_if_ne VAR_TEMP_D, 0, BattleFrontier_BattlePyramidTop_EventScript_StepForwardWhenReady
+ 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
@@ -93,7 +86,7 @@ BattleFrontier_BattlePyramidTop_EventScript_Attendant::
closemessage
BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
- warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
+ warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 7, 13
waitstate
end
@@ -116,8 +109,7 @@ BattleFrontier_BattlePyramidTop_EventScript_BattleBrandon::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardSilverSpeech
special SpawnCameraObject
applymovement OBJ_EVENT_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp
waitmovement 0
@@ -137,14 +129,12 @@ BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonSilver::
msgbox BattleFrontier_BattlePyramidTop_Text_BringCourageToOurBattle, MSGBOX_DEFAULT
call BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle
playbgm MUS_B_PYRAMID_TOP, FALSE
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver
goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver::
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
+ goto_if_ne VAR_RESULT, 0, BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
msgbox BattleFrontier_BattlePyramidTop_Text_BrandonFrontierPassPlease, MSGBOX_DEFAULT
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattlePyramidTop_Text_ReceivedBraveSymbol
@@ -156,8 +146,7 @@ BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonSilver::
BattleFrontier_BattlePyramidTop_EventScript_BrandonIntroGold::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattlePyramidTop_EventScript_BrandonHeardGoldSpeech
special SpawnCameraObject
applymovement OBJ_EVENT_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_CameraPanUp
waitmovement 0
@@ -177,14 +166,12 @@ BattleFrontier_BattlePyramidTop_EventScript_BattleBrandonGold::
msgbox BattleFrontier_BattlePyramidTop_Text_EverythingYouHave, MSGBOX_DEFAULT
call BattleFrontier_BattlePyramidTop_EventScript_DoBrandonBattle
playbgm MUS_B_PYRAMID_TOP, FALSE
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold
goto BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
BattleFrontier_BattlePyramidTop_EventScript_DefeatedBrandonGold::
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
+ goto_if_eq VAR_RESULT, 2, BattleFrontier_BattlePyramidTop_EventScript_WarpToLobbyWon
msgbox BattleFrontier_BattlePyramidTop_Text_BrandonRemarkableHaveThis, MSGBOX_DEFAULT
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattlePyramidTop_Text_BraveSymbolTookGoldenShine
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
index c909239bea..9b466af3bc 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
@@ -25,8 +25,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_EnterRoom::
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerEnter
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_OpponentEnter
applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant
@@ -62,8 +61,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent::
waitmovement 0
removeobject LOCALID_OPPONENT
frontier_getbrainstatus
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter
+ call_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter
applymovement LOCALID_ATTENDANT_1, BattleFrontier_BattleTowerBattleRoom_Movement_AttendantApproachPlayer
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_PlayerFaceAttendant
@@ -75,13 +73,11 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedOpponent::
BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponent::
frontier_getbrainstatus
copyvar VAR_TEMP_F, VAR_RESULT
- compare VAR_RESULT, FRONTIER_BRAIN_NOT_READY
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext
+ goto_if_ne VAR_RESULT, FRONTIER_BRAIN_NOT_READY, BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext
frontier_get FRONTIER_DATA_BATTLE_NUM
call BattleFrontier_BattleTowerBattleRoom_EventScript_ReadyForOpponent
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponentNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForOpponentNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_ContinueChallenge
@@ -214,16 +210,14 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_SecondAttendantEnter::
return
BattleFrontier_BattleTowerBattleRoom_EventScript_MaidenUpNext::
- compare VAR_TEMP_2, 1
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden
+ goto_if_eq VAR_TEMP_2, 1, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden
msgbox BattleFrontier_BattleTowerBattleRoom_Text_SalonMaidenOnHerWay, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaiden::
message BattleFrontier_BattleTowerBattleRoom_Text_ReadyForSalonMaiden
waitmessage
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerBattleRoom_EventScript_AskReadyForMaidenNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel
@@ -255,22 +249,19 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabel::
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver
msgbox BattleFrontier_BattleTowerBattleRoom_Text_GreetingsImAnabel, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelSilver::
msgbox BattleFrontier_BattleTowerBattleRoom_Text_LetMeSeeYourTalent, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver
goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver::
call BattleFrontier_EventScript_IncrementWinStreak
frontier_getsymbols
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
+ goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelTalentShallBeRecognized, MSGBOX_DEFAULT
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleTowerBattleRoom_Text_ReceivedAbilitySymbol
@@ -282,22 +273,19 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelSilver::
BattleFrontier_BattleTowerBattleRoom_EventScript_AnabelGoldIntro::
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
- compare VAR_RESULT, FALSE
- goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold
+ goto_if_ne VAR_RESULT, FALSE, BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold
msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelYouCameBack, MSGBOX_DEFAULT
frontier_set FRONTIER_DATA_HEARD_BRAIN_SPEECH
BattleFrontier_BattleTowerBattleRoom_EventScript_BattleAnabelGold::
msgbox BattleFrontier_BattleTowerBattleRoom_Text_LetsBeginShallWe, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold
goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
BattleFrontier_BattleTowerBattleRoom_EventScript_DefeatedAnabelGold::
call BattleFrontier_EventScript_IncrementWinStreak
frontier_getsymbols
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
+ goto_if_eq VAR_RESULT, 2, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyWon
msgbox BattleFrontier_BattleTowerBattleRoom_Text_AnabelCongratsYourPassPlease, MSGBOX_DEFAULT
playfanfare MUS_OBTAIN_SYMBOL
message BattleFrontier_BattleTowerBattleRoom_Text_AbilitySymbolTookGoldenShine
@@ -317,8 +305,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_DoTowerBattle::
special DoSpecialTrainerBattle
waitstate
copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE
- compare VAR_0x8004, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_EndTowerBattle
+ goto_if_eq VAR_0x8004, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerBattleRoom_EventScript_EndTowerBattle
frontier_restorehelditems
special HealPlayerParty
frontier_resetsketch
@@ -422,29 +409,26 @@ BattleFrontier_BattleTowerBattleRoom_Movement_AnabelEnter:
BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobby::
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
- compare VAR_RESULT, FRONTIER_MODE_DOUBLES
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles
- compare VAR_RESULT, FRONTIER_MODE_MULTIS
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis
- compare VAR_RESULT, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6
+ goto_if_eq VAR_RESULT, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles
+ goto_if_eq VAR_RESULT, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis
+ goto_if_eq VAR_RESULT, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 6, 6
waitstate
end
BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyDoubles::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 10, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 10, 6
waitstate
end
BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyMultis::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 14, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 14, 6
waitstate
end
BattleFrontier_BattleTowerBattleRoom_EventScript_WarpToLobbyLinkMultis::
tower_closelink
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 18, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 18, 6
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
index c09c897e98..d0f3d487a8 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
@@ -6,15 +6,14 @@ BattleFrontier_BattleTowerCorridor_MapScripts::
.byte 0
BattleFrontier_BattleTowerCorridor_OnLoad:
- compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor
- setmetatile 12, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, 0
- setmetatile 12, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, 0
+ goto_if_eq VAR_0x8006, 1, BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor
+ setmetatile 12, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, FALSE
+ setmetatile 12, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, FALSE
end
BattleFrontier_BattleTowerCorridor_EventScript_OpenFarDoor::
- setmetatile 15, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, 0
- setmetatile 15, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, 0
+ setmetatile 15, 0, METATILE_BattleFrontier_CorridorOpenDoor_Top, FALSE
+ setmetatile 15, 1, METATILE_BattleFrontier_CorridorOpenDoor_Bottom, FALSE
end
BattleFrontier_BattleTowerCorridor_OnFrame:
@@ -23,8 +22,7 @@ BattleFrontier_BattleTowerCorridor_OnFrame:
BattleFrontier_BattleTowerCorridor_EventScript_EnterCorridor::
setvar VAR_TEMP_0, 1
- compare VAR_0x8006, 1
- goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor
+ 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
waitmovement 0
@@ -37,7 +35,7 @@ BattleFrontier_BattleTowerCorridor_EventScript_WalkToFarDoor::
BattleFrontier_BattleTowerCorridor_EventScript_WarpToBattleRoom::
setvar VAR_TEMP_0, 0
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 4, 8
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
index 0021b9e842..06f4ff0a70 100644
--- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
@@ -26,34 +26,30 @@ BattleFrontier_BattleTowerElevator_EventScript_EnterElevator::
end
BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoom::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti
return
BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridor::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR, 255, 8, 1
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR, 8, 1
waitstate
return
BattleFrontier_BattleTowerElevator_EventScript_WarpToNextRoomMulti::
goto_if_unset FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerElevator_EventScript_WarpToPartnerRoom
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 255, 7, 2
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 7, 2
waitstate
return
BattleFrontier_BattleTowerElevator_EventScript_WarpToCorridorMulti::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 255, 7, 2
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR, 7, 2
waitstate
return
BattleFrontier_BattleTowerElevator_EventScript_WarpToPartnerRoom::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 255, 10, 1
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 10, 1
waitstate
return
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
index ab2a620436..40936936a7 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
@@ -19,8 +19,7 @@ BattleFrontier_BattleTowerLobby_OnResume:
BattleFrontier_BattleTowerLobby_OnTransition:
call BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter
apprentice_shouldcheckgone
- compare VAR_0x8004, FALSE @ Always TRUE here
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice
+ goto_if_eq VAR_0x8004, FALSE, BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice @ VAR_0x8004 always TRUE here
goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_HideApprentice
BattleFrontier_BattleTowerLobby_EventScript_ShowApprentice::
clearflag FLAG_HIDE_APPRENTICE
@@ -69,8 +68,7 @@ BattleFrontier_BattleTowerLobby_EventScript_WonChallenge::
lock
faceplayer
frontier_isbrain
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden
message BattleFrontier_BattleTowerLobby_Text_CongratsBeatenSeven
waitmessage
goto BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons
@@ -79,8 +77,7 @@ BattleFrontier_BattleTowerLobby_EventScript_DefeatedMaiden::
msgbox BattleFrontier_BattleTowerLobby_Text_CongratsDefeatedMaiden, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_GiveRibbons::
tower_giveribbons
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints
message BattleFrontier_BattleTowerLobby_Text_HereAreSomeRibbons
waitmessage
playfanfare MUS_OBTAIN_ITEM
@@ -92,8 +89,7 @@ BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints::
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle
tower_get TOWER_DATA_WIN_STREAK
- compare VAR_RESULT, 49
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge
+ goto_if_ne VAR_RESULT, 49, BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_AboutToFace50thTrainer, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge::
msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
@@ -103,12 +99,10 @@ BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge::
end
BattleFrontier_BattleTowerLobby_EventScript_LostChallenge::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
+ goto_if_ne VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak
tower_get TOWER_DATA_WIN_STREAK
- compare VAR_RESULT, 0
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying
+ goto_if_ne VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying
BattleFrontier_BattleTowerLobby_EventScript_CancelWinStreak::
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE
BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying::
@@ -133,8 +127,7 @@ BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle::
playse SE_SAVE
waitse
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
message BattleFrontier_BattleTowerLobby_Text_RecordLastMatch
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
@@ -145,8 +138,7 @@ BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle::
BattleFrontier_EventScript_SaveBattle::
frontier_savebattle
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_EventScript_BattleSaveFailed
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_EventScript_BattleSaveFailed
playse SE_SAVE
msgbox BattleFrontier_BattleTowerLobby_Text_BattleRecordedOnPass, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_EndSaveBattle
@@ -163,8 +155,7 @@ BattleFrontier_EventScript_GetCantRecordBattle::
BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge::
lock
faceplayer
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_SetBravoTrainerOn
message BattleFrontier_BattleTowerLobby_Text_WeveBeenWaitingForYou
waitmessage
message BattleFrontier_BattleTowerLobby_Text_ProgressWillBeSaved
@@ -205,8 +196,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -215,8 +205,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
@@ -234,8 +223,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
@@ -271,8 +259,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectFourMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -281,8 +268,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge::
setvar VAR_0x8005, FRONTIER_DOUBLES_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
@@ -300,8 +286,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
@@ -338,8 +323,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -348,8 +332,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge::
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
@@ -367,8 +350,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
goto BattleFrontier_BattleTowerLobby_EventScript_EnterElevator
@@ -404,8 +386,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge::
case FRONTIER_LVL_TENT, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattleTowerLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattleTowerLobby_Text_PleaseSelectTwoMons2, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -414,8 +395,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge::
setvar VAR_0x8005, FRONTIER_MULTI_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
msgbox BattleFrontier_BattleTowerLobby_Text_OkayToSaveBeforeEntering, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattleTowerLobby_EventScript_LoadPartyCancelChallenge
@@ -434,12 +414,10 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge::
tower_save 0
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_TryWirelessLink
goto BattleFrontier_BattleTowerLobby_EventScript_TryCableLink
end
@@ -491,10 +469,8 @@ BattleFrontier_BattleTowerLobby_EventScript_FeelingsWontTell::
end
BattleFrontier_BattleTowerLobby_EventScript_CheckFeelings::
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleTowerLobby_EventScript_SubmittedFeelings
end
BattleFrontier_BattleTowerLobby_EventScript_CanceledEasyChat::
@@ -611,19 +587,17 @@ BattleFrontier_BattleTowerLobby_EventScript_EnterElevator::
BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad::
tower_loadlinkopponents
delay 1
- compare VAR_RESULT, 6
- goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad
+ goto_if_ne VAR_RESULT, 6, BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad
call BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom
clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 1, 6
setvar VAR_TEMP_0, 0
waitstate
end
BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom::
call BattleFrontier_BattleTowerLobby_EventScript_BufferModeText
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom
+ goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_ShowYouToLinkMultiBattleRoom
msgbox BattleFrontier_BattleTowerLobby_Text_ShowYouToBattleRoom, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_WalkToElevator
@@ -675,41 +649,33 @@ BattleFrontier_BattleTowerLobby_Movement_UnusedEnterElevator:
step_end
BattleFrontier_BattleTowerLobby_EventScript_BufferModeText::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextSingle::
- bufferstdstring 0, STDSTRING_SINGLE
+ bufferstdstring STR_VAR_1, STDSTRING_SINGLE
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextDouble::
- bufferstdstring 0, STDSTRING_DOUBLE
+ bufferstdstring STR_VAR_1, STDSTRING_DOUBLE
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextMulti::
- bufferstdstring 0, STDSTRING_MULTI
+ bufferstdstring STR_VAR_1, STDSTRING_MULTI
return
BattleFrontier_BattleTowerLobby_EventScript_BufferTextLinkMulti::
- bufferstdstring 0, STDSTRING_MULTI_LINK
+ bufferstdstring STR_VAR_1, STDSTRING_MULTI_LINK
return
BattleFrontier_BattleTowerLobby_EventScript_SetAttendantTalkedTo::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_TalkedToDoublesAttendant
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_TalkedToMultisAttendant
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant
return
BattleFrontier_BattleTowerLobby_EventScript_TalkedToSinglesAttendant::
@@ -729,14 +695,10 @@ BattleFrontier_BattleTowerLobby_EventScript_TalkedToLinkMultisAttendant::
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoord::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordDoubles
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordMultis
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis
return
BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordSingles::
@@ -756,14 +718,10 @@ BattleFrontier_BattleTowerLobby_EventScript_GetDoorXCoordLinkMultis::
return
BattleFrontier_BattleTowerLobby_EventScript_GetPartySize::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerLobby_EventScript_GetDoublesPartySize
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetMultisPartySize
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerLobby_EventScript_GetLinkMultisPartySize
return
BattleFrontier_BattleTowerLobby_EventScript_GetSinglesPartySize::
@@ -793,26 +751,18 @@ BattleFrontier_BattleTowerLobby_EventScript_TryCableLink::
setvar VAR_0x8005, 0
special TryBattleLinkup
waitstate
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful
- compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
- goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
- compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections
- compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
- compare VAR_RESULT, LINKUP_CONNECTION_ERROR
- goto_if_eq CableClub_EventScript_AbortLinkConnectionError
- compare VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful
+ goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
+ goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections
+ goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, BattleFrontier_BattleTowerLobby_EventScript_CancelChallenge
+ goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
+ goto_if_eq VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER, BattleFrontier_BattleTowerLobby_EventScript_AbortLink
end
BattleFrontier_BattleTowerLobby_EventScript_AbortLinkDifferentSelections::
special CloseLink
- compare VAR_0x8005, 3
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection
+ goto_if_eq VAR_0x8005, 3, BattleFrontier_BattleTowerLobby_EventScript_FriendDifferentSelection
msgbox Text_PlayersMadeDifferentSelections, MSGBOX_DEFAULT
release
end
@@ -832,12 +782,9 @@ BattleFrontier_BattleTowerLobby_EventScript_AbortLinkIncorrectNumberOfPlayers::
BattleFrontier_BattleTowerLobby_EventScript_AbortLink::
special CloseLink
- compare VAR_0x8005, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode
- compare VAR_0x8005, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon
- compare VAR_0x8005, 2
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons
+ call_if_eq VAR_0x8005, 0, BattleFrontier_BattleTowerLobby_EventScript_FriendChoseDifferentLvlMode
+ call_if_eq VAR_0x8005, 1, BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMon
+ call_if_eq VAR_0x8005, 2, BattleFrontier_BattleTowerLobby_EventScript_FriendAlsoSelectedMons
msgbox BattleFrontier_BattleTowerLobby_Text_ChooseDifferentMonsMatchLvlMode, MSGBOX_DEFAULT
release
end
@@ -891,27 +838,19 @@ BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader::
BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader::
call CableClub_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
- compare VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, BattleFrontier_BattleTowerLobby_EventScript_TryBecomeLeader
+ goto_if_eq VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER, BattleFrontier_BattleTowerLobby_EventScript_AbortLink
release
return
BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup::
call CableClub_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
- compare VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, BattleFrontier_BattleTowerLobby_EventScript_ChooseLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, BattleFrontier_BattleTowerLobby_EventScript_TryJoinGroup
+ goto_if_eq VAR_RESULT, LINKUP_FAILED_BATTLE_TOWER, BattleFrontier_BattleTowerLobby_EventScript_AbortLink
release
return
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
index 9bfcfddc2f..e1cb64dda0 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
@@ -16,17 +16,14 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScripts::
@ The multi partner is represented by LOCALID_PARTNER, which has the gfx id VAR_OBJ_GFX_ID_E
BattleFrontier_BattleTowerMultiBattleRoom_OnTransition:
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetLinkPlayerGfx
+ 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
end
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetObjGfx::
tower_setpartnergfx
checkplayergender
- compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_SetPlayerGfxFemale
setvar VAR_OBJ_GFX_ID_F, OBJ_EVENT_GFX_BRENDAN_NORMAL
return
@@ -56,8 +53,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_EnterRoom::
applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_PartnerEnterRoom
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter
+ 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
waitmovement 0
@@ -74,8 +70,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_OpponentsEnter::
applymovement LOCALID_OPPONENT_1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent1Enter
applymovement LOCALID_OPPONENT_2, BattleFrontier_BattleTowerMultiBattleRoom_Movement_Opponent2Enter
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DoOpponentIntrosLink
+ 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
@@ -130,8 +125,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_DefeatedOpponents::
applymovement LOCALID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant
applymovement LOCALID_PARTNER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_FaceAttendant
waitmovement 0
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink
+ goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink
msgbox BattleFrontier_BattleTowerBattleRoom_Text_RestoreMonsToFullHealth, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RestoreParty
@@ -142,19 +136,16 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetorePartyMsgLink::
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RestoreParty::
special LoadPlayerParty
frontier_setpartyorder FRONTIER_MULTI_PARTY_SIZE
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReconnectLink
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReconnectLink
playfanfare MUS_HEAL
waitfanfare
special HealPlayerParty
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents::
frontier_get FRONTIER_DATA_BATTLE_NUM
call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSet
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge
+ goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge
call BattleFrontier_EventScript_GetCantRecordBattle
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsNoRecord
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponentsNoRecord
multichoice 19, 4, MULTI_GO_ON_RECORD_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallenge
@@ -230,8 +221,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_PauseChallenge::
end
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSet::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSetLink
+ goto_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyForNextOpponentSetLink
copyvar VAR_TEMP_F, VAR_RESULT
switch VAR_TEMP_F
case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ReadyFor2ndOpponentSet
@@ -347,8 +337,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_ContinueChallengeLink::
waitmessage
special LinkRetireStatusWithBattleTowerPartner
waitstate
- compare VAR_RESULT, BATTLE_TOWER_LINKSTAT_CONTINUE
- goto_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost
+ goto_if_ne VAR_RESULT, BATTLE_TOWER_LINKSTAT_CONTINUE, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_WarpToLobbyLost
goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_LinkDelayForMsg
end
@@ -368,8 +357,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskRetireChallengeLink::
message BattleFrontier_BattleTowerBattleRoom_Text_CancelYourChallenge
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetireChallengeLink
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_RetireChallengeLink
goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_AskReadyForOpponents
end
diff --git a/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc
index 70922d473c..b36d2e6fd3 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiCorridor/scripts.inc
@@ -14,17 +14,14 @@ BattleFrontier_BattleTowerMultiCorridor_MapScripts::
@ The multi partner is represented by LOCALID_PARTNER, and has the gfx id VAR_OBJ_GFX_ID_E
BattleFrontier_BattleTowerMultiCorridor_OnTransition:
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetLinkPlayerGfx
+ 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
end
BattleFrontier_BattleTowerMultiCorridor_EventScript_SetObjGfx::
tower_setpartnergfx
checkplayergender
- compare VAR_RESULT, FEMALE
- goto_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, FEMALE, BattleFrontier_BattleTowerMultiCorridor_EventScript_SetPlayerGfxFemale
setvar VAR_OBJ_GFX_ID_F, OBJ_EVENT_GFX_BRENDAN_NORMAL
return
@@ -95,29 +92,25 @@ BattleFrontier_BattleTowerMultiCorridor_EventScript_EnterCorridor::
end
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToBattleRoom::
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
- call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
- call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom
- compare VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS
- call_if_eq BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_MULTIS, BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom
+ call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_LINK_MULTIS, BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom
return
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToNormalBattleRoom::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 4, 8
waitstate
return
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToMultiBattleRoom::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 4, 5
waitstate
return
@ Unnecessary duplicate of the above
BattleFrontier_BattleTowerMultiCorridor_EventScript_WarpToLinkMultiBattleRoom::
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 4, 5
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 4, 5
waitstate
return
diff --git a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc
index 06038b43cd..b9fc7d5543 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc
@@ -87,8 +87,7 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Attendant::
message BattleFrontier_BattleTowerMultiPartnerRoom_Text_QuitLookingForPartner
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge
msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner2, MSGBOX_DEFAULT
release
end
@@ -108,7 +107,7 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator::
call BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator
closedoor 10, 1
waitdooranim
- warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 1, 6
waitstate
releaseall
end
@@ -183,13 +182,11 @@ BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner::
waitmessage
waitbuttonpress
closemessage
- compare VAR_FACING, DIR_SOUTH
- call_if_ne BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit
- compare VAR_FACING, DIR_SOUTH
- call_if_eq BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth
+ call_if_ne VAR_FACING, DIR_SOUTH, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit
+ call_if_eq VAR_FACING, DIR_SOUTH, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth
removeobject VAR_LAST_TALKED
setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 255, 10, 3
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 10, 3
waitstate
release
end
diff --git a/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc
index 360b8162cf..703b1ec900 100644
--- a/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc
+++ b/data/maps/BattleFrontier_ExchangeServiceCorner/scripts.inc
@@ -14,38 +14,30 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ClerkGoodbye::
BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize::
specialvar VAR_TEMP_1, GetFrontierBattlePoints
- compare VAR_TEMP_1, VAR_0x8008
- goto_if_ge BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize
+ goto_if_ge VAR_TEMP_1, VAR_0x8008, BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize
msgbox BattleFrontier_ExchangeServiceCorner_Text_DontHaveEnoughPoints, MSGBOX_DEFAULT
- compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
- compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
- compare VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
end
BattleFrontier_ExchangeServiceCorner_EventScript_TryGivePrize::
- compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor
- compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_DECOR2_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveItem
end
BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveDecor::
checkdecorspace VAR_0x8009
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor
copyvar VAR_0x8004, VAR_0x8008
special TakeFrontierBattlePoints
adddecoration VAR_0x8009
special UpdateBattlePointsWindow
playse SE_SHOP
msgbox BattleFrontier_ExchangeServiceCorner_Text_WellSendItToPC, MSGBOX_DEFAULT
- compare VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_DECOR1_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
end
@@ -56,17 +48,15 @@ BattleFrontier_ExchangeServiceCorner_EventScript_NoRoomForDecor::
end
BattleFrontier_ExchangeServiceCorner_EventScript_TryGiveItem::
- checkitemspace VAR_0x8009, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_BagFull
+ checkitemspace VAR_0x8009
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_ExchangeServiceCorner_EventScript_BagFull
copyvar VAR_0x8004, VAR_0x8008
special TakeFrontierBattlePoints
additem VAR_0x8009
special UpdateBattlePointsWindow
playse SE_SHOP
msgbox BattleFrontier_ExchangeServiceCorner_Text_HereIsYourPrize, MSGBOX_DEFAULT
- compare VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_TEMP_2, EXCHANGE_CORNER_VITAMIN_CLERK, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
goto BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
end
@@ -107,8 +97,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1::
BattleFrontier_ExchangeServiceCorner_EventScript_KissPoster::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissPoster, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 16
setvar VAR_0x8009, DECOR_KISS_POSTER
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -116,8 +105,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_KissPoster::
BattleFrontier_ExchangeServiceCorner_EventScript_KissCushion::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKissCushion, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 32
setvar VAR_0x8009, DECOR_KISS_CUSHION
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -125,8 +113,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_KissCushion::
BattleFrontier_ExchangeServiceCorner_EventScript_SmoochumDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmSmoochumDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 32
setvar VAR_0x8009, DECOR_SMOOCHUM_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -134,8 +121,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_SmoochumDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_TogepiDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmTogepiDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 48
setvar VAR_0x8009, DECOR_TOGEPI_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -143,8 +129,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_TogepiDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_MeowthDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmMeowthDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 48
setvar VAR_0x8009, DECOR_MEOWTH_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -152,8 +137,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_MeowthDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_ClefairyDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmClefairyDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 48
setvar VAR_0x8009, DECOR_CLEFAIRY_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -161,8 +145,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ClefairyDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_DittoDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmDittoDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 48
setvar VAR_0x8009, DECOR_DITTO_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -170,8 +153,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_DittoDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_CyndaquilDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCyndaquilDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 80
setvar VAR_0x8009, DECOR_CYNDAQUIL_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -179,8 +161,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_CyndaquilDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_ChikoritaDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmChikoritaDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 80
setvar VAR_0x8009, DECOR_CHIKORITA_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -188,8 +169,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ChikoritaDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_TotodileDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmTotodileDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor1
setvar VAR_0x8008, 80
setvar VAR_0x8009, DECOR_TOTODILE_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -221,8 +201,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2::
BattleFrontier_ExchangeServiceCorner_EventScript_LaprasDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmLaprasDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
setvar VAR_0x8008, 128
setvar VAR_0x8009, DECOR_LAPRAS_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -230,8 +209,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_LaprasDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_SnorlaxDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmSnorlaxDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
setvar VAR_0x8008, 128
setvar VAR_0x8009, DECOR_SNORLAX_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -239,8 +217,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_SnorlaxDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_VenusaurDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmVenusaurDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
setvar VAR_0x8008, 256
setvar VAR_0x8009, DECOR_VENUSAUR_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -248,8 +225,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_VenusaurDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_CharizardDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCharizardDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
setvar VAR_0x8008, 256
setvar VAR_0x8009, DECOR_CHARIZARD_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -257,8 +233,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_CharizardDoll::
BattleFrontier_ExchangeServiceCorner_EventScript_BlastoiseDoll::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmBlastoiseDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseDecor2
setvar VAR_0x8008, 256
setvar VAR_0x8009, DECOR_BLASTOISE_DOLL
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -291,8 +266,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin::
BattleFrontier_ExchangeServiceCorner_EventScript_Protein::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmProtein, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
setvar VAR_0x8008, 1
setvar VAR_0x8009, ITEM_PROTEIN
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -300,8 +274,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Protein::
BattleFrontier_ExchangeServiceCorner_EventScript_Calcium::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCalcium, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
setvar VAR_0x8008, 1
setvar VAR_0x8009, ITEM_CALCIUM
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -309,8 +282,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Calcium::
BattleFrontier_ExchangeServiceCorner_EventScript_Iron::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmIron, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
setvar VAR_0x8008, 1
setvar VAR_0x8009, ITEM_IRON
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -318,8 +290,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Iron::
BattleFrontier_ExchangeServiceCorner_EventScript_Zinc::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmZinc, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
setvar VAR_0x8008, 1
setvar VAR_0x8009, ITEM_ZINC
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -327,8 +298,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Zinc::
BattleFrontier_ExchangeServiceCorner_EventScript_Carbos::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmCarbos, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
setvar VAR_0x8008, 1
setvar VAR_0x8009, ITEM_CARBOS
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -336,8 +306,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Carbos::
BattleFrontier_ExchangeServiceCorner_EventScript_HPUp::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmHPUp, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseVitamin
setvar VAR_0x8008, 1
setvar VAR_0x8009, ITEM_HP_UP
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -373,8 +342,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem::
BattleFrontier_ExchangeServiceCorner_EventScript_Leftovers::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmLeftovers, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 48
setvar VAR_0x8009, ITEM_LEFTOVERS
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -382,8 +350,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Leftovers::
BattleFrontier_ExchangeServiceCorner_EventScript_WhiteHerb::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmWhiteHerb, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 48
setvar VAR_0x8009, ITEM_WHITE_HERB
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -391,8 +358,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_WhiteHerb::
BattleFrontier_ExchangeServiceCorner_EventScript_QuickClaw::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmQuickClaw, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 48
setvar VAR_0x8009, ITEM_QUICK_CLAW
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -400,8 +366,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_QuickClaw::
BattleFrontier_ExchangeServiceCorner_EventScript_MentalHerb::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmMentalHerb, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 48
setvar VAR_0x8009, ITEM_MENTAL_HERB
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -409,8 +374,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_MentalHerb::
BattleFrontier_ExchangeServiceCorner_EventScript_Brightpowder::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmBrightpowder, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 64
setvar VAR_0x8009, ITEM_BRIGHT_POWDER
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -418,8 +382,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_Brightpowder::
BattleFrontier_ExchangeServiceCorner_EventScript_ChoiceBand::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmChoiceBand, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 64
setvar VAR_0x8009, ITEM_CHOICE_BAND
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -427,8 +390,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_ChoiceBand::
BattleFrontier_ExchangeServiceCorner_EventScript_KingsRock::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmKingsRock, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 64
setvar VAR_0x8009, ITEM_KINGS_ROCK
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -436,8 +398,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_KingsRock::
BattleFrontier_ExchangeServiceCorner_EventScript_FocusBand::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmFocusBand, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 64
setvar VAR_0x8009, ITEM_FOCUS_BAND
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
@@ -445,8 +406,7 @@ BattleFrontier_ExchangeServiceCorner_EventScript_FocusBand::
BattleFrontier_ExchangeServiceCorner_EventScript_ScopeLens::
msgbox BattleFrontier_ExchangeServiceCorner_Text_ConfirmScopeLens, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_ExchangeServiceCorner_EventScript_ChooseHoldItem
setvar VAR_0x8008, 64
setvar VAR_0x8009, ITEM_SCOPE_LENS
goto BattleFrontier_ExchangeServiceCorner_EventScript_TryPurchasePrize
diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc
index 0455d577ce..6aca2b4ced 100644
--- a/data/maps/BattleFrontier_Lounge1/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge1/scripts.inc
@@ -14,10 +14,8 @@ BattleFrontier_Lounge1_EventScript_Breeder::
BattleFrontier_Lounge1_EventScript_ChooseMonToShowBreeder::
special ChoosePartyMon
waitstate
- compare VAR_0x8004, 255
- goto_if_ne BattleFrontier_Lounge1_EventScript_ShowMonToBreeder
- compare VAR_0x8004, 255
- goto_if_eq BattleFrontier_Lounge1_EventScript_CancelMonSelect
+ goto_if_ne VAR_0x8004, PARTY_NOTHING_CHOSEN, BattleFrontier_Lounge1_EventScript_ShowMonToBreeder
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, BattleFrontier_Lounge1_EventScript_CancelMonSelect
end
BattleFrontier_Lounge1_EventScript_BreederIntro::
@@ -34,17 +32,12 @@ BattleFrontier_Lounge1_EventScript_AlreadyMetBreeder::
@ VAR_0x8007: IV of the highest IV stat
BattleFrontier_Lounge1_EventScript_ShowMonToBreeder::
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
- compare VAR_RESULT, SPECIES_EGG
- goto_if_eq BattleFrontier_Lounge1_EventScript_ShowEggToBreeder
+ goto_if_eq VAR_RESULT, SPECIES_EGG, BattleFrontier_Lounge1_EventScript_ShowEggToBreeder
special BufferVarsForIVRater
- compare VAR_0x8005, 90 @ Average of 15
- goto_if_le BattleFrontier_Lounge1_EventScript_AverageTotalIVs
- compare VAR_0x8005, 120 @ Average of 20
- goto_if_le BattleFrontier_Lounge1_EventScript_AboveAverageTotalIVs
- compare VAR_0x8005, 150 @ Average of 25
- goto_if_le BattleFrontier_Lounge1_EventScript_HighTotalIVs
- compare VAR_0x8005, 151 @ Average of > 25
- goto_if_ge BattleFrontier_Lounge1_EventScript_VeryHighTotalIVs
+ goto_if_le VAR_0x8005, 90, BattleFrontier_Lounge1_EventScript_AverageTotalIVs @ Average of 15
+ goto_if_le VAR_0x8005, 120, BattleFrontier_Lounge1_EventScript_AboveAverageTotalIVs @ Average of 20
+ goto_if_le VAR_0x8005, 150, BattleFrontier_Lounge1_EventScript_HighTotalIVs @ Average of 25
+ goto_if_ge VAR_0x8005, 151, BattleFrontier_Lounge1_EventScript_VeryHighTotalIVs @ Average of > 25
end
BattleFrontier_Lounge1_EventScript_ShowEggToBreeder::
@@ -54,30 +47,20 @@ BattleFrontier_Lounge1_EventScript_ShowEggToBreeder::
@ Comment on the highest IV stat
BattleFrontier_Lounge1_EventScript_HighestIVStat::
- compare VAR_0x8006, STAT_HP
- goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVHP
- compare VAR_0x8006, STAT_ATK
- goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVAtk
- compare VAR_0x8006, STAT_DEF
- goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVDef
- compare VAR_0x8006, STAT_SPEED
- goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpeed
- compare VAR_0x8006, STAT_SPATK
- goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpAtk
- compare VAR_0x8006, STAT_SPDEF
- goto_if_eq BattleFrontier_Lounge1_EventScript_HighestIVSpDef
+ goto_if_eq VAR_0x8006, STAT_HP, BattleFrontier_Lounge1_EventScript_HighestIVHP
+ goto_if_eq VAR_0x8006, STAT_ATK, BattleFrontier_Lounge1_EventScript_HighestIVAtk
+ goto_if_eq VAR_0x8006, STAT_DEF, BattleFrontier_Lounge1_EventScript_HighestIVDef
+ goto_if_eq VAR_0x8006, STAT_SPEED, BattleFrontier_Lounge1_EventScript_HighestIVSpeed
+ goto_if_eq VAR_0x8006, STAT_SPATK, BattleFrontier_Lounge1_EventScript_HighestIVSpAtk
+ goto_if_eq VAR_0x8006, STAT_SPDEF, BattleFrontier_Lounge1_EventScript_HighestIVSpDef
end
@ Comment on the highest IV value
BattleFrontier_Lounge1_EventScript_HighestIVValue::
- compare VAR_0x8007, 15
- goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVLow
- compare VAR_0x8007, 25
- goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVMid
- compare VAR_0x8007, 30
- goto_if_le BattleFrontier_Lounge1_EventScript_HighestIVHigh
- compare VAR_0x8007, 31
- goto_if_ge BattleFrontier_Lounge1_EventScript_HighestIVMax
+ goto_if_le VAR_0x8007, 15, BattleFrontier_Lounge1_EventScript_HighestIVLow
+ goto_if_le VAR_0x8007, 25, BattleFrontier_Lounge1_EventScript_HighestIVMid
+ goto_if_le VAR_0x8007, 30, BattleFrontier_Lounge1_EventScript_HighestIVHigh
+ goto_if_ge VAR_0x8007, 31, BattleFrontier_Lounge1_EventScript_HighestIVMax
end
BattleFrontier_Lounge1_EventScript_EndBreederComments::
diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc
index d98a9f64e1..8efc172936 100644
--- a/data/maps/BattleFrontier_Lounge2/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge2/scripts.inc
@@ -22,30 +22,18 @@ BattleFrontier_Lounge2_EventScript_AlreadyMetManiac::
end
BattleFrontier_Lounge2_EventScript_GiveAdvice::
- compare VAR_FRONTIER_MANIAC_FACILITY, 0
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferSingle
- compare VAR_FRONTIER_MANIAC_FACILITY, 1
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferDouble
- compare VAR_FRONTIER_MANIAC_FACILITY, 2
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferMulti
- compare VAR_FRONTIER_MANIAC_FACILITY, 3
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferMultiLink
- compare VAR_FRONTIER_MANIAC_FACILITY, 4
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleDome
- compare VAR_FRONTIER_MANIAC_FACILITY, 5
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleFactory
- compare VAR_FRONTIER_MANIAC_FACILITY, 6
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePalace
- compare VAR_FRONTIER_MANIAC_FACILITY, 7
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattleArena
- compare VAR_FRONTIER_MANIAC_FACILITY, 8
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePike
- compare VAR_FRONTIER_MANIAC_FACILITY, 9
- call_if_eq BattleFrontier_Lounge2_EventScript_BufferBattlePyramid
- compare VAR_FRONTIER_MANIAC_FACILITY, 3
- call_if_le BattleFrontier_Lounge2_EventScript_BattleTowerNews
- compare VAR_FRONTIER_MANIAC_FACILITY, 4
- call_if_ge BattleFrontier_Lounge2_EventScript_FacilityNews
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 0, BattleFrontier_Lounge2_EventScript_BufferSingle
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 1, BattleFrontier_Lounge2_EventScript_BufferDouble
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 2, BattleFrontier_Lounge2_EventScript_BufferMulti
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 3, BattleFrontier_Lounge2_EventScript_BufferMultiLink
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 4, BattleFrontier_Lounge2_EventScript_BufferBattleDome
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 5, BattleFrontier_Lounge2_EventScript_BufferBattleFactory
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 6, BattleFrontier_Lounge2_EventScript_BufferBattlePalace
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 7, BattleFrontier_Lounge2_EventScript_BufferBattleArena
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 8, BattleFrontier_Lounge2_EventScript_BufferBattlePike
+ call_if_eq VAR_FRONTIER_MANIAC_FACILITY, 9, BattleFrontier_Lounge2_EventScript_BufferBattlePyramid
+ call_if_le VAR_FRONTIER_MANIAC_FACILITY, 3, BattleFrontier_Lounge2_EventScript_BattleTowerNews
+ call_if_ge VAR_FRONTIER_MANIAC_FACILITY, 4, BattleFrontier_Lounge2_EventScript_FacilityNews
special ShowFrontierManiacMessage
waitmessage
waitbuttonpress
@@ -61,43 +49,43 @@ BattleFrontier_Lounge2_EventScript_FacilityNews::
return
BattleFrontier_Lounge2_EventScript_BufferSingle::
- bufferstdstring 0, STDSTRING_SINGLE
+ bufferstdstring STR_VAR_1, STDSTRING_SINGLE
return
BattleFrontier_Lounge2_EventScript_BufferDouble::
- bufferstdstring 0, STDSTRING_DOUBLE
+ bufferstdstring STR_VAR_1, STDSTRING_DOUBLE
return
BattleFrontier_Lounge2_EventScript_BufferMulti::
- bufferstdstring 0, STDSTRING_MULTI
+ bufferstdstring STR_VAR_1, STDSTRING_MULTI
return
BattleFrontier_Lounge2_EventScript_BufferMultiLink::
- bufferstdstring 0, STDSTRING_MULTI_LINK
+ bufferstdstring STR_VAR_1, STDSTRING_MULTI_LINK
return
BattleFrontier_Lounge2_EventScript_BufferBattleDome::
- bufferstdstring 0, STDSTRING_BATTLE_DOME
+ bufferstdstring STR_VAR_1, STDSTRING_BATTLE_DOME
return
BattleFrontier_Lounge2_EventScript_BufferBattleFactory::
- bufferstdstring 0, STDSTRING_BATTLE_FACTORY
+ bufferstdstring STR_VAR_1, STDSTRING_BATTLE_FACTORY
return
BattleFrontier_Lounge2_EventScript_BufferBattlePalace::
- bufferstdstring 0, STDSTRING_BATTLE_PALACE
+ bufferstdstring STR_VAR_1, STDSTRING_BATTLE_PALACE
return
BattleFrontier_Lounge2_EventScript_BufferBattleArena::
- bufferstdstring 0, STDSTRING_BATTLE_ARENA
+ bufferstdstring STR_VAR_1, STDSTRING_BATTLE_ARENA
return
BattleFrontier_Lounge2_EventScript_BufferBattlePike::
- bufferstdstring 0, STDSTRING_BATTLE_PIKE
+ bufferstdstring STR_VAR_1, STDSTRING_BATTLE_PIKE
return
BattleFrontier_Lounge2_EventScript_BufferBattlePyramid::
- bufferstdstring 0, STDSTRING_BATTLE_PYRAMID
+ bufferstdstring STR_VAR_1, STDSTRING_BATTLE_PYRAMID
return
BattleFrontier_Lounge2_EventScript_Maniac1::
diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc
index c0a9417385..7d9befafb1 100644
--- a/data/maps/BattleFrontier_Lounge3/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge3/scripts.inc
@@ -10,8 +10,7 @@ BattleFrontier_Lounge3_EventScript_Gambler::
faceplayer
goto_if_set FLAG_MET_BATTLE_FRONTIER_GAMBLER, BattleFrontier_Lounge3_EventScript_AlreadyMetGambler
call BattleFrontier_Lounge3_EventScript_CountSilverSymbols
- compare VAR_0x8004, 2
- goto_if_le BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols
+ goto_if_le VAR_0x8004, 2, BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols
setflag FLAG_MET_BATTLE_FRONTIER_GAMBLER
msgbox BattleFrontier_Lounge3_Text_YouLookToughExplainGambling, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_AskToEnterChallenge
@@ -22,11 +21,9 @@ BattleFrontier_Lounge3_EventScript_AskToEnterChallenge::
waitmessage
waitbuttonpress
msgbox BattleFrontier_Lounge3_Text_HowAboutEnteringEventForMe, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_Lounge3_EventScript_DeclineChallenge
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_Lounge3_EventScript_DeclineChallenge
msgbox BattleFrontier_Lounge3_Text_SpotMeSomeBattlePoints, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_Lounge3_EventScript_DeclineChallenge
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_Lounge3_EventScript_DeclineChallenge
message BattleFrontier_Lounge3_Text_HowMuchCanYouSpot
waitmessage
special ShowBattlePointsWindow
@@ -61,8 +58,7 @@ BattleFrontier_Lounge3_EventScript_Bet15::
BattleFrontier_Lounge3_EventScript_TryPlaceBet::
specialvar VAR_TEMP_1, GetFrontierBattlePoints
- compare VAR_TEMP_1, VAR_0x8008
- goto_if_ge BattleFrontier_Lounge3_EventScript_PlaceBet
+ goto_if_ge VAR_TEMP_1, VAR_0x8008, BattleFrontier_Lounge3_EventScript_PlaceBet
msgbox BattleFrontier_Lounge3_Text_YouDontHaveEnoughPoints, MSGBOX_DEFAULT
message BattleFrontier_Lounge3_Text_HowMuchCanYouSpot
waitmessage
@@ -109,27 +105,21 @@ BattleFrontier_Lounge3_EventScript_NotEnoughSilverSymbols::
BattleFrontier_Lounge3_EventScript_AlreadyMetGambler::
msgbox BattleFrontier_Lounge3_Text_Oh, MSGBOX_DEFAULT
- compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
- goto_if_ge BattleFrontier_Lounge3_EventScript_CheckBetResults
+ goto_if_ge VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET, BattleFrontier_Lounge3_EventScript_CheckBetResults
goto BattleFrontier_Lounge3_EventScript_AskToEnterChallenge
end
BattleFrontier_Lounge3_EventScript_CheckBetResults::
- compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET
- goto_if_eq BattleFrontier_Lounge3_EventScript_ChallengeNotAttempted
- compare VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON
- goto_if_eq BattleFrontier_Lounge3_EventScript_WonChallenge
+ goto_if_eq VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_PLACED_BET, BattleFrontier_Lounge3_EventScript_ChallengeNotAttempted
+ goto_if_eq VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON, BattleFrontier_Lounge3_EventScript_WonChallenge
goto BattleFrontier_Lounge3_EventScript_LostChallenge
end
BattleFrontier_Lounge3_EventScript_WonChallenge::
msgbox BattleFrontier_Lounge3_Text_HelloChampHeresYourPoints, MSGBOX_DEFAULT
- compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_5
- call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet5
- compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_10
- call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet10
- compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_15
- call_if_eq BattleFrontier_Lounge3_EventScript_RewardBet15
+ call_if_eq VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_5, BattleFrontier_Lounge3_EventScript_RewardBet5
+ call_if_eq VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_10, BattleFrontier_Lounge3_EventScript_RewardBet10
+ call_if_eq VAR_FRONTIER_GAMBLER_AMOUNT_BET, FRONTIER_GAMBLER_BET_15, BattleFrontier_Lounge3_EventScript_RewardBet15
msgbox BattleFrontier_Lounge3_Text_ObtainedBattlePoints, MSGBOX_GETPOINTS
special GiveFrontierBattlePoints
msgbox BattleFrontier_Lounge3_Text_ThinkOfMeForAnotherChallenge, MSGBOX_DEFAULT
@@ -144,17 +134,17 @@ BattleFrontier_Lounge3_EventScript_LostChallenge::
end
BattleFrontier_Lounge3_EventScript_RewardBet5::
- buffernumberstring 0, (BET_AMOUNT_5 * 2)
+ buffernumberstring STR_VAR_1, (BET_AMOUNT_5 * 2)
setvar VAR_0x8004, (BET_AMOUNT_5 * 2)
return
BattleFrontier_Lounge3_EventScript_RewardBet10::
- buffernumberstring 0, (BET_AMOUNT_10 * 2)
+ buffernumberstring STR_VAR_1, (BET_AMOUNT_10 * 2)
setvar VAR_0x8004, (BET_AMOUNT_10 * 2)
return
BattleFrontier_Lounge3_EventScript_RewardBet15::
- buffernumberstring 0, (BET_AMOUNT_15 * 2)
+ buffernumberstring STR_VAR_1, (BET_AMOUNT_15 * 2)
setvar VAR_0x8004, (BET_AMOUNT_15 * 2)
return
diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc
index 61ac0cb9e2..b81c748e5d 100644
--- a/data/maps/BattleFrontier_Lounge5/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge5/scripts.inc
@@ -5,17 +5,14 @@ BattleFrontier_Lounge5_EventScript_NatureGirl::
lock
faceplayer
msgbox BattleFrontier_Lounge5_Text_NatureGirlGreeting, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown
special ChoosePartyMon
waitstate
lock
faceplayer
- compare VAR_0x8004, 255
- goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, BattleFrontier_Lounge5_EventScript_NatureGirlNoneShown
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
- compare VAR_RESULT, SPECIES_EGG
- goto_if_eq BattleFrontier_Lounge5_EventScript_NatureGirlEgg
+ goto_if_eq VAR_RESULT, SPECIES_EGG, BattleFrontier_Lounge5_EventScript_NatureGirlEgg
special ShowNatureGirlMessage
waitmessage
waitbuttonpress
diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc
index f88c69324d..0b01b32e3e 100644
--- a/data/maps/BattleFrontier_Lounge6/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge6/scripts.inc
@@ -10,18 +10,15 @@ BattleFrontier_Lounge6_EventScript_Trader::
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
msgbox BattleFrontier_Lounge6_Text_WouldYouLikeToTrade, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_Lounge6_EventScript_DeclineTrade
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_Lounge6_EventScript_DeclineTrade
special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
- compare VAR_0x8004, 255
- goto_if_eq BattleFrontier_Lounge6_EventScript_DeclineTrade
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, BattleFrontier_Lounge6_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
- compare VAR_RESULT, VAR_0x8009
- goto_if_ne BattleFrontier_Lounge6_EventScript_NotRequestedMon
+ goto_if_ne VAR_RESULT, VAR_0x8009, BattleFrontier_Lounge6_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
@@ -38,7 +35,7 @@ BattleFrontier_Lounge6_EventScript_DeclineTrade::
end
BattleFrontier_Lounge6_EventScript_NotRequestedMon::
- bufferspeciesname 0, VAR_0x8009
+ bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox BattleFrontier_Lounge6_Text_DontTradeForAnythingButMon, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc
index 2878444706..c52df3cafb 100644
--- a/data/maps/BattleFrontier_Lounge7/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge7/scripts.inc
@@ -249,14 +249,12 @@ BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection::
copyvar VAR_0x8004, VAR_TEMP_D
copyvar VAR_0x8005, VAR_TEMP_E
special BufferBattleFrontierTutorMoveName
- buffernumberstring 1, VAR_0x8008
+ buffernumberstring STR_VAR_2, VAR_0x8008
copyvar VAR_0x8004, VAR_TEMP_C
msgbox BattleFrontier_Lounge7_Text_MoveWillBeXBattlePoints, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_Lounge7_EventScript_ChooseNewMove
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_Lounge7_EventScript_ChooseNewMove
specialvar VAR_TEMP_1, GetFrontierBattlePoints
- compare VAR_TEMP_1, VAR_0x8008
- goto_if_ge BattleFrontier_Lounge7_EventScript_TeachTutorMove
+ goto_if_ge VAR_TEMP_1, VAR_0x8008, BattleFrontier_Lounge7_EventScript_TeachTutorMove
msgbox BattleFrontier_Lounge7_Text_HaventGotEnoughPoints, MSGBOX_DEFAULT
goto BattleFrontier_Lounge7_EventScript_ChooseNewMove
end
@@ -269,8 +267,7 @@ BattleFrontier_Lounge7_EventScript_TeachTutorMove::
special CloseBattleFrontierTutorWindow
special ChooseMonForMoveTutor
waitstate
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_Lounge7_EventScript_CancelChooseMon
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_Lounge7_EventScript_CancelChooseMon
msgbox BattleFrontier_Lounge7_Text_IllTakeBattlePoints, MSGBOX_DEFAULT
copyvar VAR_0x8004, VAR_0x8008
special TakeFrontierBattlePoints
@@ -278,8 +275,7 @@ BattleFrontier_Lounge7_EventScript_TeachTutorMove::
end
BattleFrontier_Lounge7_EventScript_ChooseNewMove::
- compare VAR_TEMP_E, 0
- goto_if_eq BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove
+ goto_if_eq VAR_TEMP_E, 0, BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove
goto BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove
end
diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc
index 9157f0befe..e8eec6f160 100644
--- a/data/maps/BattleFrontier_OutsideEast/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc
@@ -11,8 +11,7 @@ BattleFrontier_OutsideEast_OnResume:
BattleFrontier_OutsideEast_EventScript_TryRemoveSudowoodo::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -130,17 +129,14 @@ BattleFrontier_OutsideEast_EventScript_WaterSudowoodo::
delay 40
waitmoncry
setvar VAR_LAST_TALKED, LOCALID_SUDOWOODO
- setwildbattle SPECIES_SUDOWOODO, 40, ITEM_NONE
+ setwildbattle SPECIES_SUDOWOODO, 40
setflag FLAG_SYS_CTRL_OBJ_DELETE
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, BattleFrontier_OutsideEast_EventScript_DefeatedSudowoodo
setflag FLAG_DEFEATED_SUDOWOODO
release
end
diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc
index d359ee89ad..5ca5cb9fbb 100644
--- a/data/maps/BattleFrontier_OutsideWest/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc
@@ -20,9 +20,8 @@ BattleFrontier_OutsideWest_EventScript_FerryAttendant::
lock
faceplayer
msgbox BattleFrontier_OutsideWest_Text_MayISeeYourTicket, MSGBOX_DEFAULT
- checkitem ITEM_SS_TICKET, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_OutsideWest_EventScript_NoSSTicket
+ checkitem ITEM_SS_TICKET
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_OutsideWest_EventScript_NoSSTicket
message BattleFrontier_OutsideWest_Text_WhereWouldYouLikeToGo
waitmessage
goto BattleFrontier_OutsideWest_EventScript_ChooseFerryDestination
@@ -44,22 +43,20 @@ BattleFrontier_OutsideWest_EventScript_NoSSTicket::
BattleFrontier_OutsideWest_EventScript_FerryToSlateport::
msgbox BattleFrontier_OutsideWest_Text_SlateportItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination
msgbox BattleFrontier_OutsideWest_Text_PleaseBoardFerry, MSGBOX_DEFAULT
call BattleFrontier_OutsideWest_EventScript_BoardFerry
- warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
+ warp MAP_SLATEPORT_CITY_HARBOR, 8, 11
waitstate
release
end
BattleFrontier_OutsideWest_EventScript_FerryToLilycove::
msgbox BattleFrontier_OutsideWest_Text_LilycoveItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_OutsideWest_EventScript_ChooseNewFerryDestination
msgbox BattleFrontier_OutsideWest_Text_PleaseBoardFerry, MSGBOX_DEFAULT
call BattleFrontier_OutsideWest_EventScript_BoardFerry
- warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
+ warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
waitstate
release
end
@@ -155,14 +152,10 @@ BattleFrontier_OutsideWest_EventScript_Camper::
lock
faceplayer
delay 20
- compare VAR_FACING, DIR_NORTH
- call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
- compare VAR_FACING, DIR_SOUTH
- call_if_eq BattleFrontier_OutsideWest_EventScript_CamperAlreadyFacingFactory
- compare VAR_FACING, DIR_WEST
- call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
- compare VAR_FACING, DIR_EAST
- call_if_eq BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
+ call_if_eq VAR_FACING, DIR_NORTH, BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
+ call_if_eq VAR_FACING, DIR_SOUTH, BattleFrontier_OutsideWest_EventScript_CamperAlreadyFacingFactory
+ call_if_eq VAR_FACING, DIR_WEST, BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
+ call_if_eq VAR_FACING, DIR_EAST, BattleFrontier_OutsideWest_EventScript_CamperFaceFactory
msgbox BattleFrontier_OutsideWest_Text_WhosRaisingThoseRentalMons, MSGBOX_DEFAULT
release
end
@@ -180,14 +173,10 @@ BattleFrontier_OutsideWest_EventScript_Girl::
faceplayer
message BattleFrontier_OutsideWest_Text_ScaredOfPikeBecauseSeviper
waitmessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderSouth
- compare VAR_FACING, DIR_WEST
- call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderWest
- compare VAR_FACING, DIR_EAST
- call_if_eq BattleFrontier_OutsideWest_EventScript_GirlShudderEast
+ call_if_eq VAR_FACING, DIR_NORTH, BattleFrontier_OutsideWest_EventScript_GirlShudderNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, BattleFrontier_OutsideWest_EventScript_GirlShudderSouth
+ call_if_eq VAR_FACING, DIR_WEST, BattleFrontier_OutsideWest_EventScript_GirlShudderWest
+ call_if_eq VAR_FACING, DIR_EAST, BattleFrontier_OutsideWest_EventScript_GirlShudderEast
waitbuttonpress
release
end
@@ -237,8 +226,7 @@ BattleFrontier_OutsideWest_EventScript_Woman2::
faceplayer
msgbox BattleFrontier_OutsideWest_Text_LetsPlayRockPaperScissors, MSGBOX_DEFAULT
random 2
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_OutsideWest_EventScript_WomanWonRockPaperScissors
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_OutsideWest_EventScript_WomanWonRockPaperScissors
goto BattleFrontier_OutsideWest_EventScript_WomanLostRockPaperScissors
end
diff --git a/data/maps/BattleFrontier_RankingHall/scripts.inc b/data/maps/BattleFrontier_RankingHall/scripts.inc
index a6c62cf862..915ed98d9f 100644
--- a/data/maps/BattleFrontier_RankingHall/scripts.inc
+++ b/data/maps/BattleFrontier_RankingHall/scripts.inc
@@ -86,8 +86,7 @@ BattleFrontier_RankingHall_EventScript_NinjaBoy::
lock
faceplayer
msgbox BattleFrontier_RankingHall_Text_IsYourNameOnThisList, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BattleFrontier_RankingHall_EventScript_NinjaBoyNameOnList
+ goto_if_eq VAR_RESULT, YES, BattleFrontier_RankingHall_EventScript_NinjaBoyNameOnList
msgbox BattleFrontier_RankingHall_Text_WorkHarderIfYouSawFriendsName, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
index edb4bdf411..affd05d349 100644
--- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc
+++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
@@ -35,8 +35,7 @@ BattleFrontier_ScottsHouse_EventScript_CheckSilverSymbols::
goto_if_unset FLAG_SYS_PYRAMID_SILVER, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
msgbox BattleFrontier_ScottsHouse_Text_YouveCollectedAllSilverSymbols, MSGBOX_DEFAULT
giveitem ITEM_LANSAT_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_BerryPocketFull
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_ScottsHouse_EventScript_BerryPocketFull
setflag FLAG_COLLECTED_ALL_SILVER_SYMBOLS
setflag FLAG_TEMP_4
release
@@ -52,8 +51,7 @@ BattleFrontier_ScottsHouse_EventScript_CheckGoldSymbols::
goto_if_unset FLAG_SYS_PYRAMID_GOLD, BattleFrontier_ScottsHouse_EventScript_CheckGiveShield
msgbox BattleFrontier_ScottsHouse_Text_YouveCollectedAllGoldSymbols, MSGBOX_DEFAULT
giveitem ITEM_STARF_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_BerryPocketFull
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_ScottsHouse_EventScript_BerryPocketFull
setflag FLAG_COLLECTED_ALL_GOLD_SYMBOLS
setflag FLAG_TEMP_4
release
@@ -71,10 +69,8 @@ BattleFrontier_ScottsHouse_EventScript_GivenBerry::
BattleFrontier_ScottsHouse_EventScript_RandomComment::
random 3
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_FrontierBrainComment
- compare VAR_RESULT, 2
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_ScottsHouse_EventScript_FrontierBrainComment
+ goto_if_eq VAR_RESULT, 2, BattleFrontier_ScottsHouse_EventScript_ArtisanCaveComment
msgbox BattleFrontier_ScottsHouse_Text_WhyIGoSeekingTrainers, MSGBOX_DEFAULT
release
end
@@ -93,20 +89,17 @@ BattleFrontier_ScottsHouse_EventScript_CheckGiveSilverShield::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
tower_get TOWER_DATA_WIN_STREAK
- compare VAR_RESULT, 50
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
+ goto_if_ge VAR_RESULT, 50, BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN
tower_get TOWER_DATA_WIN_STREAK
- compare VAR_RESULT, 50
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
+ goto_if_ge VAR_RESULT, 50, BattleFrontier_ScottsHouse_EventScript_GiveSilverShield
goto BattleFrontier_ScottsHouse_EventScript_RandomComment
end
BattleFrontier_ScottsHouse_EventScript_GiveSilverShield::
msgbox BattleFrontier_ScottsHouse_Text_Beat50TrainersInARow, MSGBOX_DEFAULT
givedecoration DECOR_SILVER_SHIELD
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_NoRoomForShield
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_ScottsHouse_EventScript_NoRoomForShield
setflag FLAG_RECEIVED_SILVER_SHIELD
setflag FLAG_TEMP_3
goto BattleFrontier_ScottsHouse_EventScript_GivenShield
@@ -126,20 +119,17 @@ BattleFrontier_ScottsHouse_EventScript_CheckGiveGoldShield::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
tower_get TOWER_DATA_WIN_STREAK
- compare VAR_RESULT, 100
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
+ goto_if_ge VAR_RESULT, 100, BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_OPEN
tower_get TOWER_DATA_WIN_STREAK
- compare VAR_RESULT, 100
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
+ goto_if_ge VAR_RESULT, 100, BattleFrontier_ScottsHouse_EventScript_GiveGoldShield
goto BattleFrontier_ScottsHouse_EventScript_RandomComment
end
BattleFrontier_ScottsHouse_EventScript_GiveGoldShield::
msgbox BattleFrontier_ScottsHouse_Text_Beat100TrainersInARow, MSGBOX_DEFAULT
givedecoration DECOR_GOLD_SHIELD
- compare VAR_RESULT, FALSE
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_NoRoomForShield
+ goto_if_eq VAR_RESULT, FALSE, BattleFrontier_ScottsHouse_EventScript_NoRoomForShield
setflag FLAG_RECEIVED_GOLD_SHIELD
setflag FLAG_TEMP_3
goto BattleFrontier_ScottsHouse_EventScript_GivenShield
@@ -154,47 +144,40 @@ BattleFrontier_ScottsHouse_EventScript_WelcomeToFrontier::
msgbox BattleFrontier_ScottsHouse_Text_WelcomeToBattleFrontier, MSGBOX_DEFAULT
closemessage
delay 30
- compare VAR_FACING, DIR_NORTH
- call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth
- compare VAR_FACING, DIR_EAST
- call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayEast
- compare VAR_FACING, DIR_WEST
- call_if_eq BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayWest
+ call_if_eq VAR_FACING, DIR_NORTH, BattleFrontier_ScottsHouse_EventScript_ScottFaceAwayNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, BattleFrontier_ScottsHouse_EventScript_ScottFaceAwaySouth
+ 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
waitmovement 0
msgbox BattleFrontier_ScottsHouse_Text_HaveThisAsMementoOfOurPathsCrossing, MSGBOX_DEFAULT
- compare VAR_SCOTT_STATE, 13
- goto_if_eq BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints
- compare VAR_SCOTT_STATE, 9
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints
- compare VAR_SCOTT_STATE, 6
- goto_if_ge BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints
+ goto_if_eq VAR_SCOTT_STATE, 13, BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints
+ goto_if_ge VAR_SCOTT_STATE, 9, BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints
+ goto_if_ge VAR_SCOTT_STATE, 6, BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints
goto BattleFrontier_ScottsHouse_EventScript_Give1BattlePoint
end
BattleFrontier_ScottsHouse_EventScript_Give4BattlePoints::
- buffernumberstring 0, 4
+ buffernumberstring STR_VAR_1, 4
setvar VAR_0x8004, 4
goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
BattleFrontier_ScottsHouse_EventScript_Give3BattlePoints::
- buffernumberstring 0, 3
+ buffernumberstring STR_VAR_1, 3
setvar VAR_0x8004, 3
goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
BattleFrontier_ScottsHouse_EventScript_Give2BattlePoints::
- buffernumberstring 0, 2
+ buffernumberstring STR_VAR_1, 2
setvar VAR_0x8004, 2
goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
BattleFrontier_ScottsHouse_EventScript_Give1BattlePoint::
- buffernumberstring 0, 1
+ buffernumberstring STR_VAR_1, 1
setvar VAR_0x8004, 1
goto BattleFrontier_ScottsHouse_EventScript_GiveBattlePoints
end
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index cd1583b420..68d3124d95 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -38,8 +38,7 @@ BirthIsland_Exterior_OnResume:
BirthIsland_Exterior_EventScript_TryRemoveDeoxys::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_DEOXYS
return
@@ -83,21 +82,15 @@ BirthIsland_Exterior_EventScript_Deoxys::
delay 40
waitmoncry
setvar VAR_LAST_TALKED, LOCALID_DEOXYS
- setvar VAR_0x8004, SPECIES_DEOXYS
- setvar VAR_0x8005, 30 @ level
- setvar VAR_0x8006, ITEM_NONE
- special CreateEventLegalEnemyMon
+ seteventmon SPECIES_DEOXYS, 30
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq BirthIsland_Exterior_EventScript_DefeatedDeoxys
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq BirthIsland_Exterior_EventScript_RanFromDeoxys
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq BirthIsland_Exterior_EventScript_RanFromDeoxys
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, BirthIsland_Exterior_EventScript_DefeatedDeoxys
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, BirthIsland_Exterior_EventScript_RanFromDeoxys
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, BirthIsland_Exterior_EventScript_RanFromDeoxys
setflag FLAG_BATTLED_DEOXYS
release
end
diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc
index 06c5b08e9d..e91238cbdc 100644
--- a/data/maps/BirthIsland_Harbor/scripts.inc
+++ b/data/maps/BirthIsland_Harbor/scripts.inc
@@ -8,8 +8,7 @@ BirthIsland_Harbor_EventScript_Sailor::
lock
faceplayer
msgbox BirthIsland_Harbor_Text_SailorReturn, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq BirthIsland_Harbor_EventScript_AsYouLike
+ goto_if_eq VAR_RESULT, NO, BirthIsland_Harbor_EventScript_AsYouLike
msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown
@@ -18,7 +17,7 @@ BirthIsland_Harbor_EventScript_Sailor::
hideobjectat LOCALID_SAILOR, MAP_BIRTH_ISLAND_HARBOR
setvar VAR_0x8004, LOCALID_SS_TIDAL
call Common_EventScript_FerryDepartIsland
- warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
+ warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
waitstate
release
end
diff --git a/data/maps/CaveOfOrigin_Entrance/scripts.inc b/data/maps/CaveOfOrigin_Entrance/scripts.inc
index 091246ae0d..40ca7a654d 100644
--- a/data/maps/CaveOfOrigin_Entrance/scripts.inc
+++ b/data/maps/CaveOfOrigin_Entrance/scripts.inc
@@ -3,6 +3,6 @@ CaveOfOrigin_Entrance_MapScripts::
.byte 0
CaveOfOrigin_Entrance_OnResume:
- setescapewarp MAP_SOOTOPOLIS_CITY, 255, 31, 17
+ setescapewarp MAP_SOOTOPOLIS_CITY, 31, 17
end
diff --git a/data/maps/ContestHall/scripts.inc b/data/maps/ContestHall/scripts.inc
index 535e28b789..7ca6a57f69 100644
--- a/data/maps/ContestHall/scripts.inc
+++ b/data/maps/ContestHall/scripts.inc
@@ -19,16 +19,11 @@ ContestHall_OnTransition:
ContestHall_EventScript_ReadyContestMusic::
call ContestHall_EventScript_TryWaitForLink
special GetContestMultiplayerId
- compare VAR_RESULT, 0
- call_if_eq ContestHall_EventScript_SaveContestMusicPlayer1
- compare VAR_RESULT, 1
- call_if_eq ContestHall_EventScript_SaveContestMusicPlayer2
- compare VAR_RESULT, 2
- call_if_eq ContestHall_EventScript_SaveContestMusicPlayer3
- compare VAR_RESULT, 3
- call_if_eq ContestHall_EventScript_SaveContestMusicPlayer4
- compare VAR_RESULT, 4
- call_if_eq ContestHall_EventScript_SaveContestMusic
+ call_if_eq VAR_RESULT, 0, ContestHall_EventScript_SaveContestMusicPlayer1
+ call_if_eq VAR_RESULT, 1, ContestHall_EventScript_SaveContestMusicPlayer2
+ call_if_eq VAR_RESULT, 2, ContestHall_EventScript_SaveContestMusicPlayer3
+ call_if_eq VAR_RESULT, 3, ContestHall_EventScript_SaveContestMusicPlayer4
+ call_if_eq VAR_RESULT, 4, ContestHall_EventScript_SaveContestMusic
return
ContestHall_EventScript_SaveContestMusicPlayer1::
@@ -52,8 +47,7 @@ ContestHall_EventScript_SaveContestMusic::
return
ContestHall_OnResume:
- compare VAR_TEMP_9, 1
- call_if_eq ContestHall_EventScript_ReShowAudience
+ call_if_eq VAR_TEMP_9, 1, ContestHall_EventScript_ReShowAudience
end
ContestHall_EventScript_ReShowAudience::
@@ -84,8 +78,7 @@ ContestHall_EventScript_SetContestObjects::
ContestHall_EventScript_AddRandomAudienceMembers::
call ContestHall_EventScript_GetRandomAudienceGfxId
call ContestHall_EventScript_SetRandomAudienceGfx
- compare VAR_TEMP_0, 8
- goto_if_lt ContestHall_EventScript_AddRandomAudienceMembers
+ goto_if_lt VAR_TEMP_0, 8, ContestHall_EventScript_AddRandomAudienceMembers
return
ContestHall_EventScript_SetRandomAudienceGfx::
@@ -303,8 +296,7 @@ ContestHall_EventScript_RandomAudienceScientist1::
ContestHall_EventScript_CreateAudience::
specialvar VAR_RESULT, IsWirelessContest
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_CreateWirelessContestAudience
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_CreateWirelessContestAudience
switch VAR_CONTEST_TYPE
case CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_CreateNormalContestAudience
case CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_CreateSuperContestAudience
@@ -418,36 +410,34 @@ ContestHall_EventScript_SetExitWarp::
return
ContestHall_EventScript_SetExitWarpNormalContest::
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 14, 4
waitstate
end
ContestHall_EventScript_SetExitWarpSuperContest::
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 14, 4
waitstate
end
ContestHall_EventScript_SetExitWarpHyperContest::
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 14, 4
waitstate
end
ContestHall_EventScript_SetExitWarpMasterContest::
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 14, 4
waitstate
end
ContestHall_EventScript_SetExitWarpLinkContest::
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 15, 4
waitstate
end
LilycoveCity_ContestLobby_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan
- compare VAR_RESULT, FEMALE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_SetPlayerGfxMay
+ goto_if_eq VAR_RESULT, MALE, LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan
+ goto_if_eq VAR_RESULT, FEMALE, LilycoveCity_ContestLobby_EventScript_SetPlayerGfxMay
return
LilycoveCity_ContestLobby_EventScript_SetPlayerGfxBrendan::
diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc
index 443915d7e2..21473e87a3 100644
--- a/data/maps/DesertRuins/scripts.inc
+++ b/data/maps/DesertRuins/scripts.inc
@@ -10,8 +10,7 @@ DesertRuins_OnResume:
DesertRuins_EventScript_TryRemoveRegirock::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -20,12 +19,12 @@ DesertRuins_OnLoad:
end
DesertRuins_EventScript_HideRegiEntrance::
- setmetatile 7, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 8, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 9, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 7, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 8, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
+ setmetatile 7, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 8, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 9, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 7, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 8, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
return
DesertRuins_OnTransition:
@@ -62,18 +61,15 @@ DesertRuins_EventScript_Regirock::
playmoncry SPECIES_REGIROCK, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
- setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE
+ setwildbattle SPECIES_REGIROCK, 40
setflag FLAG_SYS_CTRL_OBJ_DELETE
special StartRegiBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq DesertRuins_EventScript_DefeatedRegirock
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq DesertRuins_EventScript_RanFromRegirock
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq DesertRuins_EventScript_RanFromRegirock
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, DesertRuins_EventScript_DefeatedRegirock
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, DesertRuins_EventScript_RanFromRegirock
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, DesertRuins_EventScript_RanFromRegirock
setflag FLAG_DEFEATED_REGIROCK
release
end
diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc
index 281648aeb6..1250c2d767 100644
--- a/data/maps/DewfordTown/scripts.inc
+++ b/data/maps/DewfordTown/scripts.inc
@@ -54,8 +54,7 @@ DewfordTown_EventScript_CancelSailSelect::
DewfordTown_EventScript_ReturnToPetalburgPrompt::
msgbox DewfordTown_Text_SetSailBackToPetalburg, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq DewfordTown_EventScript_SailBackToPetalburg
+ goto_if_eq VAR_RESULT, YES, DewfordTown_EventScript_SailBackToPetalburg
msgbox DewfordTown_Text_GoDeliverIllBeWaiting, MSGBOX_DEFAULT
release
end
@@ -87,10 +86,8 @@ DewfordTown_EventScript_OldRodFisherman::
faceplayer
goto_if_set FLAG_RECEIVED_OLD_ROD, DewfordTown_EventScript_HowsFishing
msgbox DewfordTown_Text_GettingItchToFish, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq DewfordTown_EventScript_GiveOldRod
- compare VAR_RESULT, NO
- goto_if_eq DewfordTown_EventScript_NotGettingItchToFish
+ goto_if_eq VAR_RESULT, YES, DewfordTown_EventScript_GiveOldRod
+ goto_if_eq VAR_RESULT, NO, DewfordTown_EventScript_NotGettingItchToFish
end
DewfordTown_EventScript_GiveOldRod::
@@ -110,10 +107,8 @@ DewfordTown_EventScript_HowsFishing::
message DewfordTown_Text_HowsYourFishing
waitmessage
multichoice 20, 8, MULTI_HOWS_FISHING, TRUE
- compare VAR_RESULT, 0
- goto_if_eq DewfordTown_EventScript_FishingExcellent
- compare VAR_RESULT, 1
- goto_if_eq DewfordTown_EventScript_FishingNotSoGood
+ goto_if_eq VAR_RESULT, 0, DewfordTown_EventScript_FishingExcellent
+ goto_if_eq VAR_RESULT, 1, DewfordTown_EventScript_FishingNotSoGood
end
DewfordTown_EventScript_FishingExcellent::
@@ -128,8 +123,8 @@ DewfordTown_EventScript_FishingNotSoGood::
DewfordTown_EventScript_SailToPetalburg::
call EventScript_BackupMrBrineyLocation
- setobjectpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
- setobjectpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN, 0
+ setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
+ setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN, 0
applymovement LOCALID_BRINEY_DEWFORD, DewfordTown_Movement_BrineyBoardBoat
waitmovement 0
removeobject LOCALID_BRINEY_DEWFORD
@@ -151,8 +146,8 @@ DewfordTown_EventScript_SailToPetalburg::
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
hideobjectat LOCALID_BOAT_DEWFORD, MAP_DEWFORD_TOWN
setvar VAR_BOARD_BRINEY_BOAT_STATE, 2
- resetobjectpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN
- warp MAP_ROUTE104_MR_BRINEYS_HOUSE, 255, 5, 4
+ resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN
+ warp MAP_ROUTE104_MR_BRINEYS_HOUSE, 5, 4
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
waitstate
release
@@ -160,8 +155,8 @@ DewfordTown_EventScript_SailToPetalburg::
DewfordTown_EventScript_SailToSlateport::
call EventScript_BackupMrBrineyLocation
- setobjectpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
- setobjectpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN, 1
+ setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
+ setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN, 1
applymovement LOCALID_BRINEY_DEWFORD, DewfordTown_Movement_BrineyBoardBoat
waitmovement 0
removeobject LOCALID_BRINEY_DEWFORD
@@ -178,7 +173,7 @@ DewfordTown_EventScript_SailToSlateport::
waitmovement 0
setobjectxyperm LOCALID_BRINEY_R109, 21, 26
addobject LOCALID_BRINEY_R109
- setobjectpriority LOCALID_BRINEY_R109, MAP_ROUTE109, 0
+ setobjectsubpriority LOCALID_BRINEY_R109, MAP_ROUTE109, 0
applymovement LOCALID_BRINEY_R109, DewfordTown_Movement_BrineyExitBoat
waitmovement 0
clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY
@@ -190,8 +185,8 @@ DewfordTown_EventScript_SailToSlateport::
call_if_set FLAG_DELIVERED_DEVON_GOODS, DewfordTown_EventScript_LandedSlateport
closemessage
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
- resetobjectpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN
- resetobjectpriority LOCALID_BRINEY_R109, MAP_ROUTE109
+ resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_DEWFORD_TOWN
+ resetobjectsubpriority LOCALID_BRINEY_R109, MAP_ROUTE109
copyobjectxytoperm LOCALID_BRINEY_R109
release
end
@@ -607,10 +602,8 @@ DewfordTown_EventScript_TrendyPhraseBoy::
faceplayer
call Common_EventScript_BufferTrendyPhrase
msgbox DewfordTown_Text_XIsTheBiggestHappeningThingRight, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq DewfordTown_EventScript_ConfirmTrendyPhrase
- compare VAR_RESULT, NO
- goto_if_eq DewfordTown_EventScript_RejectTrendyPhrase
+ goto_if_eq VAR_RESULT, YES, DewfordTown_EventScript_ConfirmTrendyPhrase
+ goto_if_eq VAR_RESULT, NO, DewfordTown_EventScript_RejectTrendyPhrase
end
DewfordTown_EventScript_ConfirmTrendyPhrase::
@@ -624,16 +617,13 @@ DewfordTown_EventScript_RejectTrendyPhrase::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, TRUE
- goto_if_eq DewfordTown_EventScript_GiveNewTrendyPhrase
- compare VAR_RESULT, FALSE
- goto_if_eq DewfordTown_EventScript_CancelNewTrendyPhrase
+ goto_if_eq VAR_RESULT, TRUE, DewfordTown_EventScript_GiveNewTrendyPhrase
+ goto_if_eq VAR_RESULT, FALSE, DewfordTown_EventScript_CancelNewTrendyPhrase
end
DewfordTown_EventScript_GiveNewTrendyPhrase::
incrementgamestat GAME_STAT_STARTED_TRENDS
- compare VAR_0x8004, FALSE
- goto_if_eq DewfordTown_EventScript_PhraseNotTrendyEnough
+ goto_if_eq VAR_0x8004, FALSE, DewfordTown_EventScript_PhraseNotTrendyEnough
msgbox DewfordTown_Text_OfCourseIKnowAboutThat, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc
index d2b51766af..81474af726 100644
--- a/data/maps/DewfordTown_Gym/scripts.inc
+++ b/data/maps/DewfordTown_Gym/scripts.inc
@@ -3,77 +3,66 @@ DewfordTown_Gym_MapScripts::
.byte 0
DewfordTown_Gym_OnTransition:
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
end
-DewfordTown_Gym_EventScript_SetFlashRadius::
+DewfordTown_Gym_EventScript_SetFlashLevel::
goto_if_defeated TRAINER_BRAWLY_1, DewfordTown_Gym_EventScript_SetLightsOn
call DewfordTown_Gym_EventScript_CountTrainersDefeated
copyvar VAR_0x8001, VAR_0x8000
- compare VAR_0x8000, 0
- goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius7
- compare VAR_0x8000, 1
- goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius6
- compare VAR_0x8000, 2
- goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius5
- compare VAR_0x8000, 3
- goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius4
- compare VAR_0x8000, 4
- goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius3
- compare VAR_0x8000, 5
- goto_if_eq DewfordTown_Gym_EventScript_SetFlashRadius2
- goto DewfordTown_Gym_EventScript_SetFlashRadius1
+ goto_if_eq VAR_0x8000, 0, DewfordTown_Gym_EventScript_SetFlashLevel7
+ goto_if_eq VAR_0x8000, 1, DewfordTown_Gym_EventScript_SetFlashLevel6
+ goto_if_eq VAR_0x8000, 2, DewfordTown_Gym_EventScript_SetFlashLevel5
+ goto_if_eq VAR_0x8000, 3, DewfordTown_Gym_EventScript_SetFlashLevel4
+ goto_if_eq VAR_0x8000, 4, DewfordTown_Gym_EventScript_SetFlashLevel3
+ goto_if_eq VAR_0x8000, 5, DewfordTown_Gym_EventScript_SetFlashLevel2
+ goto DewfordTown_Gym_EventScript_SetFlashLevel1
DewfordTown_Gym_EventScript_SetLightsOn::
- setflashradius 0
+ setflashlevel 0
return
-DewfordTown_Gym_EventScript_SetFlashRadius1::
- setflashradius 1
+@ Brightest
+DewfordTown_Gym_EventScript_SetFlashLevel1::
+ setflashlevel 1
return
-DewfordTown_Gym_EventScript_SetFlashRadius2::
- setflashradius 2
+DewfordTown_Gym_EventScript_SetFlashLevel2::
+ setflashlevel 2
return
-DewfordTown_Gym_EventScript_SetFlashRadius3::
- setflashradius 3
+DewfordTown_Gym_EventScript_SetFlashLevel3::
+ setflashlevel 3
return
-DewfordTown_Gym_EventScript_SetFlashRadius4::
- setflashradius 4
+DewfordTown_Gym_EventScript_SetFlashLevel4::
+ setflashlevel 4
return
-DewfordTown_Gym_EventScript_SetFlashRadius5::
- setflashradius 5
+DewfordTown_Gym_EventScript_SetFlashLevel5::
+ setflashlevel 5
return
-DewfordTown_Gym_EventScript_SetFlashRadius6::
- setflashradius 6
+DewfordTown_Gym_EventScript_SetFlashLevel6::
+ setflashlevel 6
return
-DewfordTown_Gym_EventScript_SetFlashRadius7::
- setflashradius 7
+@ Darkest
+DewfordTown_Gym_EventScript_SetFlashLevel7::
+ setflashlevel 7
return
DewfordTown_Gym_EventScript_BrightenRoom::
call DewfordTown_Gym_EventScript_CountTrainersDefeated
nop1
- compare VAR_0x8000, VAR_0x8001
- goto_if_eq DewfordTown_Gym_EventScript_NoLightChange
+ goto_if_eq VAR_0x8000, VAR_0x8001, DewfordTown_Gym_EventScript_NoLightChange
copyvar VAR_0x8001, VAR_0x8000
- compare VAR_0x8000, 1
- goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash1Trainer
- compare VAR_0x8000, 2
- goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash2Trainers
- compare VAR_0x8000, 3
- goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash3Trainers
- compare VAR_0x8000, 4
- goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash4Trainers
- compare VAR_0x8000, 5
- goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash5Trainers
- compare VAR_0x8000, 6
- goto_if_eq DewfordTown_Gym_EventScript_AnimateFlash6Trainers
+ goto_if_eq VAR_0x8000, 1, DewfordTown_Gym_EventScript_AnimateFlash1Trainer
+ goto_if_eq VAR_0x8000, 2, DewfordTown_Gym_EventScript_AnimateFlash2Trainers
+ goto_if_eq VAR_0x8000, 3, DewfordTown_Gym_EventScript_AnimateFlash3Trainers
+ goto_if_eq VAR_0x8000, 4, DewfordTown_Gym_EventScript_AnimateFlash4Trainers
+ goto_if_eq VAR_0x8000, 5, DewfordTown_Gym_EventScript_AnimateFlash5Trainers
+ goto_if_eq VAR_0x8000, 6, DewfordTown_Gym_EventScript_AnimateFlash6Trainers
DewfordTown_Gym_EventScript_NoLightChange::
return
@@ -82,43 +71,43 @@ DewfordTown_Gym_EventScript_NoLightChange::
DewfordTown_Gym_EventScript_AnimateFlash1Trainer::
playse SE_SWITCH
animateflash 6
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_AnimateFlash2Trainers::
playse SE_SWITCH
animateflash 5
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_AnimateFlash3Trainers::
playse SE_SWITCH
animateflash 4
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_AnimateFlash4Trainers::
playse SE_SWITCH
animateflash 3
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_AnimateFlash5Trainers::
playse SE_SWITCH
animateflash 2
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_AnimateFlash6Trainers::
playse SE_SWITCH
animateflash 1
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_AnimateFlashFullBrightness::
playse SE_SWITCH
animateflash 0
- call DewfordTown_Gym_EventScript_SetFlashRadius
+ call DewfordTown_Gym_EventScript_SetFlashLevel
return
DewfordTown_Gym_EventScript_CountTrainersDefeated::
@@ -146,8 +135,7 @@ DewfordTown_Gym_EventScript_StopCountingTrainers::
DewfordTown_Gym_EventScript_Brawly::
trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyIntro, DewfordTown_Gym_Text_BrawlyDefeat, DewfordTown_Gym_EventScript_BrawlyDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq DewfordTown_Gym_EventScript_BrawlyRematch
+ goto_if_eq VAR_RESULT, TRUE, DewfordTown_Gym_EventScript_BrawlyRematch
goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_GiveBulkUp2
msgbox DewfordTown_Gym_Text_BrawlyPostBattle, MSGBOX_DEFAULT
release
@@ -162,8 +150,7 @@ DewfordTown_Gym_EventScript_BrawlyDefeated::
setflag FLAG_DEFEATED_DEWFORD_GYM
setflag FLAG_BADGE02_GET
addvar VAR_PETALBURG_GYM_STATE, 1
- compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
+ call_if_eq VAR_PETALBURG_GYM_STATE, 6, Common_EventScript_ReadyPetalburgGymForBattle
setvar VAR_0x8008, 2
call Common_EventScript_SetGymTrainers
call DewfordTown_Gym_EventScript_GiveBulkUp
@@ -182,16 +169,14 @@ DewfordTown_Gym_EventScript_BrawlyDefeated::
DewfordTown_Gym_EventScript_GiveBulkUp::
giveitem ITEM_TM08
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_BagIsFull
msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM08
return
DewfordTown_Gym_EventScript_GiveBulkUp2:
giveitem ITEM_TM08
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM08
release
diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc
index 9d8392ff16..6249a7fac5 100644
--- a/data/maps/DewfordTown_Hall/scripts.inc
+++ b/data/maps/DewfordTown_Hall/scripts.inc
@@ -11,8 +11,7 @@ DewfordTown_Hall_EventScript_Girl::
faceplayer
call Common_EventScript_BufferTrendyPhrase
special IsTrendyPhraseBoring
- compare VAR_RESULT, TRUE
- goto_if_eq DewfordTown_Hall_EventScript_GirlBoredOfTrend
+ goto_if_eq VAR_RESULT, TRUE, DewfordTown_Hall_EventScript_GirlBoredOfTrend
msgbox DewfordTown_Hall_Text_CantImagineLifeWithoutTrend, MSGBOX_DEFAULT
release
end
@@ -36,10 +35,8 @@ DewfordTown_Hall_EventScript_Man::
call Common_EventScript_BufferTrendyPhrase
special BufferDeepLinkPhrase
msgbox DewfordTown_Hall_Text_DeepLinkBetweenXAndY, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq DewfordTown_Hall_EventScript_ConfirmTrendLink
- compare VAR_RESULT, NO
- goto_if_eq DewfordTown_Hall_EventScript_RejectTrendLink
+ goto_if_eq VAR_RESULT, YES, DewfordTown_Hall_EventScript_ConfirmTrendLink
+ goto_if_eq VAR_RESULT, NO, DewfordTown_Hall_EventScript_RejectTrendLink
end
DewfordTown_Hall_EventScript_ConfirmTrendLink::
@@ -196,15 +193,12 @@ DewfordTown_Hall_EventScript_DontMovePlayer1::
DewfordTown_Hall_EventScript_DebateReact1::
applymovement LOCALID_PSYCHIC_M, DewfordTown_Hall_Movement_PsychicWalkInPlaceLeft
waitmovement 0
- compare VAR_0x8008, 0
- goto_if_eq DewfordTown_Hall_EventScript_PlayerReactWest
- compare VAR_0x8008, 1
- goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer2
+ goto_if_eq VAR_0x8008, 0, DewfordTown_Hall_EventScript_PlayerReactWest
+ goto_if_eq VAR_0x8008, 1, DewfordTown_Hall_EventScript_DontMovePlayer2
end
DewfordTown_Hall_EventScript_PlayerReactWest::
- compare VAR_FACING, DIR_EAST
- goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer1
+ goto_if_eq VAR_FACING, DIR_EAST, DewfordTown_Hall_EventScript_DontMovePlayer1
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
return
@@ -215,17 +209,13 @@ DewfordTown_Hall_EventScript_DontMovePlayer2::
DewfordTown_Hall_EventScript_DebateReact2::
applymovement LOCALID_SCHOOL_KID_M, DewfordTown_Hall_Movement_SchoolKidWalkInPlaceRight
waitmovement 0
- compare VAR_0x8008, 0
- goto_if_eq DewfordTown_Hall_EventScript_PlayerReactNorthSouth
- compare VAR_0x8008, 1
- goto_if_eq DewfordTown_Hall_EventScript_PlayerReactEast
+ goto_if_eq VAR_0x8008, 0, DewfordTown_Hall_EventScript_PlayerReactNorthSouth
+ goto_if_eq VAR_0x8008, 1, DewfordTown_Hall_EventScript_PlayerReactEast
end
DewfordTown_Hall_EventScript_PlayerReactNorthSouth::
- compare VAR_FACING, DIR_NORTH
- call_if_eq DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp
- compare VAR_FACING, DIR_SOUTH
- call_if_eq DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown
+ call_if_eq VAR_FACING, DIR_NORTH, DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp
+ call_if_eq VAR_FACING, DIR_SOUTH, DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown
return
DewfordTown_Hall_EventScript_PlayerWalkInPlaceUp::
@@ -239,8 +229,7 @@ DewfordTown_Hall_EventScript_PlayerWalkInPlaceDown::
return
DewfordTown_Hall_EventScript_PlayerReactEast::
- compare VAR_FACING, DIR_WEST
- goto_if_eq DewfordTown_Hall_EventScript_DontMovePlayer1
+ goto_if_eq VAR_FACING, DIR_WEST, DewfordTown_Hall_EventScript_DontMovePlayer1
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
return
@@ -260,8 +249,7 @@ DewfordTown_Hall_EventScript_SludgeBombMan::
goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_ReceivedSludgeBomb
msgbox DewfordTown_Hall_Text_GiveYouSludgeBomb, MSGBOX_DEFAULT
giveitem ITEM_TM36
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM36
release
end
diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc
index ae173f151c..cb68664aaf 100644
--- a/data/maps/DewfordTown_House2/scripts.inc
+++ b/data/maps/DewfordTown_House2/scripts.inc
@@ -7,8 +7,7 @@ DewfordTown_House2_EventScript_Man::
goto_if_set FLAG_RECEIVED_SILK_SCARF, DewfordTown_House2_EventScript_ExplainSilkScarf
msgbox DewfordTown_House2_Text_WantYouToHaveSilkScarf, MSGBOX_DEFAULT
giveitem ITEM_SILK_SCARF
- compare VAR_RESULT, FALSE
- goto_if_eq DewfordTown_House2_EventScript_NoRoomForScarf
+ goto_if_eq VAR_RESULT, FALSE, DewfordTown_House2_EventScript_NoRoomForScarf
setflag FLAG_RECEIVED_SILK_SCARF
release
end
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
index 6b9281ae6d..1039422808 100644
--- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
@@ -50,24 +50,20 @@ EverGrandeCity_ChampionsRoom_EventScript_Wallace::
EverGrandeCity_ChampionsRoom_EventScript_Defeated::
playse SE_DOOR
- setmetatile 6, 1, METATILE_EliteFour_OpenDoorChampion_Frame, 0
- setmetatile 6, 2, METATILE_EliteFour_OpenDoorChampion_Opening, 0
+ setmetatile 6, 1, METATILE_EliteFour_OpenDoorChampion_Frame, FALSE
+ setmetatile 6, 2, METATILE_EliteFour_OpenDoorChampion_Opening, FALSE
special DrawWholeMapView
msgbox EverGrandeCity_ChampionsRoom_Text_PostBattleSpeech, MSGBOX_DEFAULT
closemessage
playse SE_DOOR
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic
- compare VAR_RESULT, FEMALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic
+ call_if_eq VAR_RESULT, MALE, EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic
+ call_if_eq VAR_RESULT, FEMALE, EverGrandeCity_ChampionsRoom_EventScript_PlayBrendanMusic
addobject LOCALID_RIVAL
call EverGrandeCity_ChampionsRoom_EventScript_RivalApproachPlayer
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayAdvice
- compare VAR_RESULT, FEMALE
- goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice
+ goto_if_eq VAR_RESULT, MALE, EverGrandeCity_ChampionsRoom_EventScript_MayAdvice
+ goto_if_eq VAR_RESULT, FEMALE, EverGrandeCity_ChampionsRoom_EventScript_BrendanAdvice
end
EverGrandeCity_ChampionsRoom_EventScript_PlayMayMusic::
@@ -132,16 +128,14 @@ EverGrandeCity_ChampionsRoom_EventScript_BirchArrivesExitForHoF::
waitmovement 0
msgbox EverGrandeCity_ChampionsRoom_Text_WallaceWaitOutside, MSGBOX_DEFAULT
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_MayCongratulations
- compare VAR_RESULT, FEMALE
- call_if_eq EverGrandeCity_ChampionsRoom_EventScript_BrendanCongratulations
+ 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
waitmovement 0
setflag FLAG_HIDE_PETALBURG_GYM_GREETER
- warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16
+ warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 7, 16
waitstate
releaseall
end
diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
index 75b16e7750..80b1f568c8 100644
--- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
@@ -26,8 +26,7 @@ EverGrandeCity_DrakesRoom_EventScript_WalkInCloseDoor::
EverGrandeCity_DrakesRoom_OnLoad:
call_if_set FLAG_DEFEATED_ELITE_4_DRAKE, EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom
- compare VAR_ELITE_4_STATE, 4
- call_if_eq EverGrandeCity_DrakesRoom_EventScript_CloseDoor
+ call_if_eq VAR_ELITE_4_STATE, 4, EverGrandeCity_DrakesRoom_EventScript_CloseDoor
end
EverGrandeCity_DrakesRoom_EventScript_ResetAdvanceToNextRoom::
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
index 59f4440c45..b2d556448c 100644
--- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
@@ -25,8 +25,7 @@ EverGrandeCity_GlaciasRoom_EventScript_WalkInCloseDoor::
EverGrandeCity_GlaciasRoom_OnLoad:
call_if_set FLAG_DEFEATED_ELITE_4_GLACIA, EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom
- compare VAR_ELITE_4_STATE, 3
- call_if_eq EverGrandeCity_GlaciasRoom_EventScript_CloseDoor
+ call_if_eq VAR_ELITE_4_STATE, 3, EverGrandeCity_GlaciasRoom_EventScript_CloseDoor
end
EverGrandeCity_GlaciasRoom_EventScript_ResetAdvanceToNextRoom::
diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
index b494408f13..92b01af970 100644
--- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc
+++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
@@ -46,10 +46,8 @@ EverGrandeCity_HallOfFame_EventScript_EnterHallOfFame::
setvar VAR_TEMP_1, 1
call EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq EverGrandeCity_HallOfFame_EventScript_GameClearMale
- compare VAR_RESULT, FEMALE
- goto_if_eq EverGrandeCity_HallOfFame_EventScript_GameClearFemale
+ goto_if_eq VAR_RESULT, MALE, EverGrandeCity_HallOfFame_EventScript_GameClearMale
+ goto_if_eq VAR_RESULT, FEMALE, EverGrandeCity_HallOfFame_EventScript_GameClearFemale
end
EverGrandeCity_HallOfFame_EventScript_GameClearMale::
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
index b64f5145a0..ed272eb901 100644
--- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
@@ -25,8 +25,7 @@ EverGrandeCity_PhoebesRoom_EventScript_WalkInCloseDoor::
EverGrandeCity_PhoebesRoom_OnLoad:
call_if_set FLAG_DEFEATED_ELITE_4_PHOEBE, EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom
- compare VAR_ELITE_4_STATE, 2
- call_if_eq EverGrandeCity_PhoebesRoom_EventScript_CloseDoor
+ call_if_eq VAR_ELITE_4_STATE, 2, EverGrandeCity_PhoebesRoom_EventScript_CloseDoor
end
EverGrandeCity_PhoebesRoom_EventScript_ResetAdvanceToNextRoom::
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
index 1244b82fd2..ec45732e8c 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
@@ -37,12 +37,9 @@ EverGrandeCity_PokemonCenter_1F_EventScript_Scott::
faceplayer
msgbox EverGrandeCity_PokemonCenter_1F_Text_ScottHappyForYou, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit
- compare VAR_FACING, DIR_WEST
- call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit
+ call_if_eq VAR_FACING, DIR_NORTH, EverGrandeCity_PokemonCenter_1F_EventScript_ScottExitNorth
+ call_if_eq VAR_FACING, DIR_EAST, EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit
+ call_if_eq VAR_FACING, DIR_WEST, EverGrandeCity_PokemonCenter_1F_EventScript_ScottExit
addvar VAR_SCOTT_STATE, 1
setflag FLAG_MET_SCOTT_IN_EVERGRANDE
playse SE_EXIT
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
index ac7d4f9b45..c13e716975 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
@@ -55,10 +55,8 @@ EverGrandeCity_PokemonLeague_1F_EventScript_DoorGuard::
lockall
goto_if_set FLAG_ENTERED_ELITE_FOUR, EverGrandeCity_PokemonLeague_1F_EventScript_GoForth
getplayerxy VAR_TEMP_0, VAR_TEMP_1
- compare VAR_TEMP_0, 11
- call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight
- compare VAR_TEMP_0, 8
- call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft
+ call_if_ge VAR_TEMP_0, 11, EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromRight
+ call_if_le VAR_TEMP_0, 8, EverGrandeCity_PokemonLeague_1F_EventScript_PlayerMoveToFrontFromLeft
message EverGrandeCity_PokemonLeague_1F_Text_MustHaveAllGymBadges
waitmessage
delay 120
diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
index 3444d078b1..03b4a4e03b 100644
--- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
@@ -12,8 +12,7 @@ EverGrandeCity_SidneysRoom_OnTransition:
EverGrandeCity_SidneysRoom_OnLoad:
call_if_set FLAG_DEFEATED_ELITE_4_SIDNEY, EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom
- compare VAR_ELITE_4_STATE, 1
- call_if_eq EverGrandeCity_SidneysRoom_EventScript_CloseDoor
+ call_if_eq VAR_ELITE_4_STATE, 1, EverGrandeCity_SidneysRoom_EventScript_CloseDoor
end
EverGrandeCity_SidneysRoom_EventScript_ResetAdvanceToNextRoom::
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
index 3f51ba3935..707995daeb 100644
--- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
@@ -18,10 +18,8 @@ FallarborTown_BattleTentBattleRoom_OnTransition:
FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
FallarborTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale::
@@ -44,8 +42,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_EnterRoom::
applymovement LOCALID_PLAYER, FallarborTown_BattleTentBattleRoom_Movement_PlayerEnter
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 0
- goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge
+ goto_if_ne VAR_RESULT, 0, FallarborTown_BattleTentBattleRoom_EventScript_ResumeChallenge
FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter::
tower_setopponent
addobject LOCALID_OPPONENT
@@ -71,7 +68,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_NextOpponentEnter::
FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
- warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 6, 6
waitstate
FallarborTown_BattleTentBattleRoom_EventScript_DefeatedOpponent::
@@ -103,10 +100,8 @@ FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum::
special HealPlayerParty
FallarborTown_BattleTentBattleRoom_EventScript_AskContinueChallenge::
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 1
- call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
- compare VAR_RESULT, 2
- call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
+ call_if_eq VAR_RESULT, 1, FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
+ call_if_eq VAR_RESULT, 2, FallarborTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, FallarborTown_BattleTentBattleRoom_EventScript_ContinueChallenge
@@ -142,13 +137,12 @@ FallarborTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon::
delay 60
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
- warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 6, 6
waitstate
@ Unreachable code block? The flow into the next block also doesnt make sense
arena_get ARENA_DATA_WIN_STREAK
- compare VAR_RESULT, MAX_STREAK
- goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum
+ goto_if_eq VAR_RESULT, MAX_STREAK, FallarborTown_BattleTentBattleRoom_EventScript_IncrementBattleNum
addvar VAR_RESULT, 1
arena_set ARENA_DATA_WIN_STREAK, VAR_RESULT
@ See above
diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
index 077cdfe798..023dc919f8 100644
--- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
@@ -22,7 +22,7 @@ FallarborTown_BattleTentCorridor_EventScript_EnterCorridor::
closedoor 2, 1
waitdooranim
setvar VAR_0x8006, 0
- warp MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM, 255, 4, 4
+ warp MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM, 4, 4
waitstate
releaseall
end
diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
index 6a2c8713fa..1bcd04559c 100644
--- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
@@ -106,8 +106,7 @@ FallarborTown_BattleTentLobby_EventScript_Attendant::
lock
faceplayer
fallarbortent_getprize
- compare VAR_RESULT, ITEM_NONE
- goto_if_ne FallarborTown_BattleTentLobby_EventScript_PrizeWaiting
+ goto_if_ne VAR_RESULT, ITEM_NONE, FallarborTown_BattleTentLobby_EventScript_PrizeWaiting
special SavePlayerParty
msgbox FallarborTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge::
@@ -125,8 +124,7 @@ FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
setvar VAR_RESULT, 2
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
msgbox FallarborTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -134,8 +132,7 @@ FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
msgbox FallarborTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
@@ -153,15 +150,14 @@ FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
FallarborTown_BattleTentLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox FallarborTown_BattleTentLobby_Text_GuideYouToBattleTent, MSGBOX_DEFAULT
closemessage
call FallarborTown_BattleTentLobby_EventScript_WalkToDoor
- warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
+ warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 2, 7
setvar VAR_TEMP_0, 0
waitstate
end
diff --git a/data/maps/FallarborTown_CozmosHouse/scripts.inc b/data/maps/FallarborTown_CozmosHouse/scripts.inc
index 43a9dca7f3..61f297e69d 100644
--- a/data/maps/FallarborTown_CozmosHouse/scripts.inc
+++ b/data/maps/FallarborTown_CozmosHouse/scripts.inc
@@ -5,9 +5,8 @@ FallarborTown_CozmosHouse_EventScript_ProfCozmo::
lock
faceplayer
goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_GaveMeteorite
- checkitem ITEM_METEORITE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite
+ checkitem ITEM_METEORITE
+ goto_if_eq VAR_RESULT, TRUE, FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite
msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT
release
end
@@ -15,12 +14,10 @@ FallarborTown_CozmosHouse_EventScript_ProfCozmo::
FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite::
call_if_unset FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_NoticeMeteorite
call_if_set FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_AskForMeteorite
- compare VAR_RESULT, NO
- goto_if_eq FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite
+ goto_if_eq VAR_RESULT, NO, FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite
msgbox FallarborTown_CozmosHouse_Text_PleaseUseThisTM, MSGBOX_DEFAULT
giveitem ITEM_TM27
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setvar VAR_0x8004, ITEM_METEORITE
call Common_EventScript_PlayerHandedOverTheItem
setflag FLAG_RECEIVED_TM27
diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc
index 1bd54b4b8d..f17754328d 100644
--- a/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc
+++ b/data/maps/FallarborTown_MoveRelearnersHouse/scripts.inc
@@ -14,9 +14,8 @@ FallarborTown_MoveRelearnersHouse_EventScript_MoveRelearner::
end
FallarborTown_MoveRelearnersHouse_EventScript_AskTeachMove::
- checkitem ITEM_HEART_SCALE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
+ checkitem ITEM_HEART_SCALE
+ goto_if_eq VAR_RESULT, FALSE, FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
msgbox FallarborTown_MoveRelearnersHouse_Text_ThatsAHeartScaleWantMeToTeachMove, MSGBOX_YESNO
switch VAR_RESULT
case NO, FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
@@ -27,13 +26,10 @@ FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon::
msgbox FallarborTown_MoveRelearnersHouse_Text_TutorWhichMon, MSGBOX_DEFAULT
special ChooseMonForMoveRelearner
waitstate
- compare VAR_0x8004, 255
- goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
special IsSelectedMonEgg
- compare VAR_RESULT, TRUE
- goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_CantTeachEgg
- compare VAR_0x8005, 0
- goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_NoMoveToTeachMon
+ goto_if_eq VAR_RESULT, TRUE, FallarborTown_MoveRelearnersHouse_EventScript_CantTeachEgg
+ goto_if_eq VAR_0x8005, 0, FallarborTown_MoveRelearnersHouse_EventScript_NoMoveToTeachMon
goto FallarborTown_MoveRelearnersHouse_EventScript_ChooseMove
end
@@ -41,8 +37,7 @@ FallarborTown_MoveRelearnersHouse_EventScript_ChooseMove::
msgbox FallarborTown_MoveRelearnersHouse_Text_TeachWhichMove, MSGBOX_DEFAULT
special TeachMoveRelearnerMove
waitstate
- compare VAR_0x8004, 0
- goto_if_eq FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon
+ goto_if_eq VAR_0x8004, 0, FallarborTown_MoveRelearnersHouse_EventScript_ChooseMon
msgbox FallarborTown_MoveRelearnersHouse_Text_HandedOverHeartScale, MSGBOX_DEFAULT
removeitem ITEM_HEART_SCALE
goto FallarborTown_MoveRelearnersHouse_EventScript_ComeBackWithHeartScale
diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc
index 15deb95e6f..504b0dc6a6 100644
--- a/data/maps/FarawayIsland_Entrance/scripts.inc
+++ b/data/maps/FarawayIsland_Entrance/scripts.inc
@@ -23,8 +23,7 @@ FarawayIsland_Entrance_EventScript_Sailor::
lock
faceplayer
msgbox FarawayIsland_Entrance_Text_SailorReturn, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq FarawayIsland_Entrance_EventScript_AsYouLike
+ goto_if_eq VAR_RESULT, NO, FarawayIsland_Entrance_EventScript_AsYouLike
msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown
@@ -33,7 +32,7 @@ FarawayIsland_Entrance_EventScript_Sailor::
hideobjectat LOCALID_SAILOR, MAP_FARAWAY_ISLAND_ENTRANCE
setvar VAR_0x8004, LOCALID_SS_TIDAL
call Common_EventScript_FerryDepartIsland
- warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
+ warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
waitstate
release
end
diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc
index e35825be73..d3d519ed15 100644
--- a/data/maps/FarawayIsland_Interior/scripts.inc
+++ b/data/maps/FarawayIsland_Interior/scripts.inc
@@ -13,14 +13,10 @@ FarawayIsland_Interior_OnReturnToField:
FarawayIsland_Interior_EventScript_TrySetMewAboveGrass::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq FarawayIsland_Interior_EventScript_SetMewAboveGrass
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq FarawayIsland_Interior_EventScript_SetMewAboveGrass
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq FarawayIsland_Interior_EventScript_SetMewAboveGrass
- compare VAR_RESULT, B_OUTCOME_MON_TELEPORTED
- goto_if_eq FarawayIsland_Interior_EventScript_SetMewAboveGrass
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, FarawayIsland_Interior_EventScript_SetMewAboveGrass
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, FarawayIsland_Interior_EventScript_SetMewAboveGrass
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, FarawayIsland_Interior_EventScript_SetMewAboveGrass
+ goto_if_eq VAR_RESULT, B_OUTCOME_MON_TELEPORTED, FarawayIsland_Interior_EventScript_SetMewAboveGrass
return
FarawayIsland_Interior_EventScript_SetMewAboveGrass::
@@ -34,8 +30,7 @@ FarawayIsland_Interior_OnResume:
FarawayIsland_Interior_EventScript_TryRemoveMew::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -127,34 +122,23 @@ FarawayIsland_Interior_EventScript_Mew::
message FarawayIsland_Interior_Text_Mew
waitse
playmoncry SPECIES_MEW, CRY_MODE_ENCOUNTER
- compare VAR_FACING, DIR_NORTH
- call_if_eq FarawayIsland_Interior_EventScript_FoundMewNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq FarawayIsland_Interior_EventScript_FoundMewSouth
- compare VAR_FACING, DIR_WEST
- call_if_eq FarawayIsland_Interior_EventScript_FoundMewWest
- compare VAR_FACING, DIR_EAST
- call_if_eq FarawayIsland_Interior_EventScript_FoundMewEast
+ call_if_eq VAR_FACING, DIR_NORTH, FarawayIsland_Interior_EventScript_FoundMewNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, FarawayIsland_Interior_EventScript_FoundMewSouth
+ call_if_eq VAR_FACING, DIR_WEST, FarawayIsland_Interior_EventScript_FoundMewWest
+ call_if_eq VAR_FACING, DIR_EAST, FarawayIsland_Interior_EventScript_FoundMewEast
special DestroyMewEmergingGrassSprite
delay 40
waitmoncry
- setvar VAR_0x8004, SPECIES_MEW
- setvar VAR_0x8005, 30 @ level
- setvar VAR_0x8006, ITEM_NONE
- special CreateEventLegalEnemyMon
+ seteventmon SPECIES_MEW, 30
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq FarawayIsland_Interior_EventScript_MewDefeated
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan
- compare VAR_RESULT, B_OUTCOME_MON_TELEPORTED
- goto_if_eq FarawayIsland_Interior_EventScript_PlayerOrMewRan
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, FarawayIsland_Interior_EventScript_MewDefeated
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, FarawayIsland_Interior_EventScript_PlayerOrMewRan
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, FarawayIsland_Interior_EventScript_PlayerOrMewRan
+ goto_if_eq VAR_RESULT, B_OUTCOME_MON_TELEPORTED, FarawayIsland_Interior_EventScript_PlayerOrMewRan
setflag FLAG_CAUGHT_MEW
release
end
diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc
index 6371d5b0cd..f1694aaa84 100644
--- a/data/maps/FortreeCity/scripts.inc
+++ b/data/maps/FortreeCity/scripts.inc
@@ -55,17 +55,15 @@ FortreeCity_EventScript_GymSign::
FortreeCity_EventScript_Kecleon::
lock
faceplayer
- checkitem ITEM_DEVON_SCOPE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq FortreeCity_EventScript_AskUseDevonScope
+ checkitem ITEM_DEVON_SCOPE
+ goto_if_eq VAR_RESULT, TRUE, FortreeCity_EventScript_AskUseDevonScope
msgbox FortreeCity_Text_SomethingUnseeable, MSGBOX_DEFAULT
release
end
FortreeCity_EventScript_AskUseDevonScope::
msgbox FortreeCity_Text_UnseeableUseDevonScope, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq FortreeCity_EventScript_UseDevonScope
+ goto_if_eq VAR_RESULT, YES, FortreeCity_EventScript_UseDevonScope
release
end
diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc
index caac724738..1c729bc44e 100644
--- a/data/maps/FortreeCity_Gym/scripts.inc
+++ b/data/maps/FortreeCity_Gym/scripts.inc
@@ -18,8 +18,7 @@ FortreeCity_Gym_EventScript_InitRotatingGates::
FortreeCity_Gym_EventScript_Winona::
trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaIntro, FortreeCity_Gym_Text_WinonaDefeat, FortreeCity_Gym_EventScript_WinonaDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq FortreeCity_Gym_EventScript_WinonaRematch
+ goto_if_eq VAR_RESULT, TRUE, FortreeCity_Gym_EventScript_WinonaRematch
goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_GiveAerialAce2
msgbox FortreeCity_Gym_Text_WinonaPostBattle, MSGBOX_DEFAULT
release
@@ -50,8 +49,7 @@ FortreeCity_Gym_EventScript_WinonaDefeated::
FortreeCity_Gym_EventScript_GiveAerialAce2::
giveitem ITEM_TM40
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM40
release
@@ -59,8 +57,7 @@ FortreeCity_Gym_EventScript_GiveAerialAce2::
FortreeCity_Gym_EventScript_GiveAerialAce::
giveitem ITEM_TM40
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM40
return
diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc
index e25334ee9a..a072f56106 100644
--- a/data/maps/FortreeCity_House1/scripts.inc
+++ b/data/maps/FortreeCity_House1/scripts.inc
@@ -10,24 +10,21 @@ FortreeCity_House1_EventScript_Trader::
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
msgbox FortreeCity_House1_Text_YouWillTradeWontYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq FortreeCity_House1_EventScript_DeclineTrade
+ goto_if_eq VAR_RESULT, NO, FortreeCity_House1_EventScript_DeclineTrade
special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
- compare VAR_0x8004, 255
- goto_if_eq FortreeCity_House1_EventScript_DeclineTrade
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, FortreeCity_House1_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
- compare VAR_RESULT, VAR_0x8009
- goto_if_ne FortreeCity_House1_EventScript_NotRequestedMon
+ goto_if_ne VAR_RESULT, VAR_0x8009, FortreeCity_House1_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
- bufferspeciesname 0, VAR_0x8009
+ bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox FortreeCity_House1_Text_MonYouTakeCare, MSGBOX_DEFAULT
setflag FLAG_FORTREE_NPC_TRADE_COMPLETED
release
@@ -39,7 +36,7 @@ FortreeCity_House1_EventScript_DeclineTrade::
end
FortreeCity_House1_EventScript_NotRequestedMon::
- bufferspeciesname 0, VAR_0x8009
+ bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox FortreeCity_House1_Text_ThisIsntAMon, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc
index 29e9ea93cf..cdd0fc99f7 100644
--- a/data/maps/FortreeCity_House2/scripts.inc
+++ b/data/maps/FortreeCity_House2/scripts.inc
@@ -20,8 +20,7 @@ FortreeCity_House2_EventScript_HiddenPowerGiver::
case 0, FortreeCity_House2_EventScript_WrongGuess
msgbox FortreeCity_House2_Text_YourHiddenPowerHasAwoken, MSGBOX_DEFAULT
giveitem ITEM_TM10
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM10
msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT
release
diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc
index c416cf1475..ed91674173 100644
--- a/data/maps/FortreeCity_House4/scripts.inc
+++ b/data/maps/FortreeCity_House4/scripts.inc
@@ -34,8 +34,7 @@ FortreeCity_House4_EventScript_WingullReturned::
waitmovement 0
msgbox FortreeCity_House4_Text_WelcomeWingullTakeMentalHerb, MSGBOX_DEFAULT
giveitem ITEM_MENTAL_HERB
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_MENTAL_HERB
releaseall
end
diff --git a/data/maps/GraniteCave_B1F/scripts.inc b/data/maps/GraniteCave_B1F/scripts.inc
index f1b52ce662..24519aef65 100644
--- a/data/maps/GraniteCave_B1F/scripts.inc
+++ b/data/maps/GraniteCave_B1F/scripts.inc
@@ -6,6 +6,6 @@ GraniteCave_B1F_MapScripts::
GraniteCave_B1F_SetHoleWarp:
setstepcallback STEP_CB_CRACKED_FLOOR
- setholewarp MAP_GRANITE_CAVE_B2F, 255, 0, 0
+ setholewarp MAP_GRANITE_CAVE_B2F
end
diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc
index b57eb0de6d..384e648ee2 100644
--- a/data/maps/GraniteCave_StevensRoom/scripts.inc
+++ b/data/maps/GraniteCave_StevensRoom/scripts.inc
@@ -12,8 +12,7 @@ GraniteCave_StevensRoom_EventScript_Steven::
setflag FLAG_DELIVERED_STEVEN_LETTER
msgbox GraniteCave_StevensRoom_Text_ThankYouTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM47
- compare VAR_RESULT, FALSE
- call_if_eq GraniteCave_StevensRoom_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, GraniteCave_StevensRoom_EventScript_BagFull
msgbox GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister, MSGBOX_DEFAULT
closemessage
delay 30
@@ -25,14 +24,10 @@ GraniteCave_StevensRoom_EventScript_Steven::
setflag FLAG_REGISTERED_STEVEN_POKENAV
msgbox GraniteCave_StevensRoom_Text_IveGotToHurryAlong, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitSouth
- compare VAR_FACING, DIR_WEST
- call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitWestEast
- compare VAR_FACING, DIR_EAST
- call_if_eq GraniteCave_StevensRoom_EventScript_StevenExitWestEast
+ call_if_eq VAR_FACING, DIR_NORTH, GraniteCave_StevensRoom_EventScript_StevenExitNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, GraniteCave_StevensRoom_EventScript_StevenExitSouth
+ 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
release
diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc
index 3068b11841..c59d5a97be 100644
--- a/data/maps/InsideOfTruck/scripts.inc
+++ b/data/maps/InsideOfTruck/scripts.inc
@@ -4,9 +4,9 @@ InsideOfTruck_MapScripts::
.byte 0
InsideOfTruck_OnLoad:
- setmetatile 4, 1, METATILE_InsideOfTruck_ExitLight_Top, 0
- setmetatile 4, 2, METATILE_InsideOfTruck_ExitLight_Mid, 0
- setmetatile 4, 3, METATILE_InsideOfTruck_ExitLight_Bottom, 0
+ setmetatile 4, 1, METATILE_InsideOfTruck_ExitLight_Top, FALSE
+ setmetatile 4, 2, METATILE_InsideOfTruck_ExitLight_Mid, FALSE
+ setmetatile 4, 3, METATILE_InsideOfTruck_ExitLight_Bottom, FALSE
end
InsideOfTruck_OnResume:
@@ -17,10 +17,8 @@ InsideOfTruck_EventScript_SetIntroFlags::
lockall
setflag FLAG_HIDE_MAP_NAME_POPUP
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq InsideOfTruck_EventScript_SetIntroFlagsMale
- compare VAR_RESULT, FEMALE
- goto_if_eq InsideOfTruck_EventScript_SetIntroFlagsFemale
+ goto_if_eq VAR_RESULT, MALE, InsideOfTruck_EventScript_SetIntroFlagsMale
+ goto_if_eq VAR_RESULT, FEMALE, InsideOfTruck_EventScript_SetIntroFlagsFemale
end
InsideOfTruck_EventScript_SetIntroFlagsMale::
@@ -32,7 +30,7 @@ InsideOfTruck_EventScript_SetIntroFlagsMale::
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
setvar VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 1
- setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 3, 10
+ setdynamicwarp MAP_LITTLEROOT_TOWN, 3, 10
releaseall
end
@@ -45,7 +43,7 @@ InsideOfTruck_EventScript_SetIntroFlagsFemale::
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
setvar VAR_LITTLEROOT_HOUSES_STATE_MAY, 1
- setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 12, 10
+ setdynamicwarp MAP_LITTLEROOT_TOWN, 12, 10
releaseall
end
diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc
index d660aadf06..d15802aaa8 100644
--- a/data/maps/IslandCave/scripts.inc
+++ b/data/maps/IslandCave/scripts.inc
@@ -10,8 +10,7 @@ IslandCave_OnResume:
IslandCave_EventScript_TryRemoveRegice::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -20,12 +19,12 @@ IslandCave_OnLoad:
end
IslandCave_EventScript_HideRegiEntrance::
- setmetatile 7, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 8, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 9, 19, METATILE_Cave_EntranceCover, 1
- setmetatile 7, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 8, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, 1
+ setmetatile 7, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 8, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 9, 19, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 7, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 8, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 9, 20, METATILE_Cave_SealedChamberBraille_Mid, TRUE
return
IslandCave_OnTransition:
@@ -39,12 +38,12 @@ IslandCave_EventScript_ShowRegice::
return
IslandCave_EventScript_OpenRegiEntrance::
- setmetatile 7, 19, METATILE_Cave_SealedChamberEntrance_TopLeft, 1
- setmetatile 8, 19, METATILE_Cave_SealedChamberEntrance_TopMid, 1
- setmetatile 9, 19, METATILE_Cave_SealedChamberEntrance_TopRight, 1
- setmetatile 7, 20, METATILE_Cave_SealedChamberEntrance_BottomLeft, 1
- setmetatile 8, 20, METATILE_Cave_SealedChamberEntrance_BottomMid, 0
- setmetatile 9, 20, METATILE_Cave_SealedChamberEntrance_BottomRight, 1
+ setmetatile 7, 19, METATILE_Cave_SealedChamberEntrance_TopLeft, TRUE
+ setmetatile 8, 19, METATILE_Cave_SealedChamberEntrance_TopMid, TRUE
+ setmetatile 9, 19, METATILE_Cave_SealedChamberEntrance_TopRight, TRUE
+ setmetatile 7, 20, METATILE_Cave_SealedChamberEntrance_BottomLeft, TRUE
+ setmetatile 8, 20, METATILE_Cave_SealedChamberEntrance_BottomMid, FALSE
+ setmetatile 9, 20, METATILE_Cave_SealedChamberEntrance_BottomRight, TRUE
special DrawWholeMapView
playse SE_BANG
setflag FLAG_SYS_BRAILLE_REGICE_COMPLETED
@@ -95,18 +94,15 @@ IslandCave_EventScript_Regice::
playmoncry SPECIES_REGICE, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
- setwildbattle SPECIES_REGICE, 40, ITEM_NONE
+ setwildbattle SPECIES_REGICE, 40
setflag FLAG_SYS_CTRL_OBJ_DELETE
special StartRegiBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq IslandCave_EventScript_DefeatedRegice
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq IslandCave_EventScript_RanFromRegice
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq IslandCave_EventScript_RanFromRegice
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, IslandCave_EventScript_DefeatedRegice
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, IslandCave_EventScript_RanFromRegice
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, IslandCave_EventScript_RanFromRegice
setflag FLAG_DEFEATED_REGICE
release
end
diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc
index 754ee00cf5..f969a4dec6 100644
--- a/data/maps/JaggedPass/scripts.inc
+++ b/data/maps/JaggedPass/scripts.inc
@@ -8,14 +8,12 @@ JaggedPass_MapScripts::
JaggedPass_OnResume:
setstepcallback STEP_CB_ASH
- compare VAR_JAGGED_PASS_STATE, 0
- call_if_eq JaggedPass_EventScript_CheckHasMagmaEmblem
+ call_if_eq VAR_JAGGED_PASS_STATE, 0, JaggedPass_EventScript_CheckHasMagmaEmblem
end
JaggedPass_EventScript_CheckHasMagmaEmblem::
- checkitem ITEM_MAGMA_EMBLEM, 1
- compare VAR_RESULT, TRUE
- goto_if_eq JaggedPass_EventScript_SetReadyToOpenHideout
+ checkitem ITEM_MAGMA_EMBLEM
+ goto_if_eq VAR_RESULT, TRUE, JaggedPass_EventScript_SetReadyToOpenHideout
return
JaggedPass_EventScript_SetReadyToOpenHideout::
@@ -23,8 +21,7 @@ JaggedPass_EventScript_SetReadyToOpenHideout::
return
JaggedPass_OnTransition:
- compare VAR_JAGGED_PASS_ASH_WEATHER, 1
- call_if_eq JaggedPass_EventScript_SetWeatherAsh
+ call_if_eq VAR_JAGGED_PASS_ASH_WEATHER, 1, JaggedPass_EventScript_SetWeatherAsh
end
JaggedPass_EventScript_SetWeatherAsh::
@@ -33,13 +30,12 @@ JaggedPass_EventScript_SetWeatherAsh::
return
JaggedPass_OnLoad:
- compare VAR_JAGGED_PASS_STATE, 1
- goto_if_le JaggedPass_EventScript_ConcealHideoutEntrance
+ goto_if_le VAR_JAGGED_PASS_STATE, 1, JaggedPass_EventScript_ConcealHideoutEntrance
end
JaggedPass_EventScript_ConcealHideoutEntrance::
- setmetatile 16, 17, METATILE_Lavaridge_RockWall, 1
- setmetatile 16, 18, METATILE_Lavaridge_RockWall, 1
+ setmetatile 16, 17, METATILE_Lavaridge_RockWall, TRUE
+ setmetatile 16, 18, METATILE_Lavaridge_RockWall, TRUE
end
JaggedPass_EventScript_OpenMagmaHideout::
@@ -59,8 +55,8 @@ JaggedPass_EventScript_OpenMagmaHideout::
special ShakeCamera
waitstate
playse SE_EFFECTIVE
- setmetatile 16, 17, METATILE_Lavaridge_CaveEntrance_Top, 1
- setmetatile 16, 18, METATILE_Lavaridge_CaveEntrance_Bottom, 0
+ setmetatile 16, 17, METATILE_Lavaridge_CaveEntrance_Top, TRUE
+ setmetatile 16, 18, METATILE_Lavaridge_CaveEntrance_Bottom, FALSE
special DrawWholeMapView
delay 30
setvar VAR_JAGGED_PASS_STATE, 2
@@ -106,8 +102,7 @@ JaggedPass_EventScript_Eric::
JaggedPass_EventScript_Diana::
trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_DianaIntro, JaggedPass_Text_DianaDefeat, JaggedPass_EventScript_RegisterDiana
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq JaggedPass_EventScript_DianaRematch
+ goto_if_eq VAR_RESULT, TRUE, JaggedPass_EventScript_DianaRematch
msgbox JaggedPass_Text_DianaPostBattle, MSGBOX_DEFAULT
release
end
@@ -127,8 +122,7 @@ JaggedPass_EventScript_DianaRematch::
JaggedPass_EventScript_Ethan::
trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_EthanIntro, JaggedPass_Text_EthanDefeat, JaggedPass_EventScript_RegisterEthan
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq JaggedPass_EventScript_EthanRematch
+ goto_if_eq VAR_RESULT, TRUE, JaggedPass_EventScript_EthanRematch
msgbox JaggedPass_Text_EthanPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc
index 2b7f8f331f..3ce226c4c1 100644
--- a/data/maps/LavaridgeTown/scripts.inc
+++ b/data/maps/LavaridgeTown/scripts.inc
@@ -12,10 +12,8 @@ LavaridgeTown_OnTransition:
call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_ShowMtChimneyTrainers
call Common_EventScript_SetupRivalGfxId
call Common_EventScript_SetupRivalOnBikeGfxId
- compare VAR_LAVARIDGE_TOWN_STATE, 1
- call_if_eq LavaridgeTown_EventScript_CheckSetRivalPos
- compare VAR_LAVARIDGE_TOWN_STATE, 1
- call_if_eq LavaridgeTown_EventScript_HideMapNamePopup
+ call_if_eq VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_CheckSetRivalPos
+ call_if_eq VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_HideMapNamePopup
end
LavaridgeTown_EventScript_ClearLavaridgeWhiteOut::
@@ -24,8 +22,7 @@ LavaridgeTown_EventScript_ClearLavaridgeWhiteOut::
LavaridgeTown_EventScript_CheckSetRivalPos::
getplayerxy VAR_0x8004, VAR_0x8005
- compare VAR_0x8004, 9
- goto_if_eq LavaridgeTown_EventScript_SetRivalPos
+ goto_if_eq VAR_0x8004, 9, LavaridgeTown_EventScript_SetRivalPos
return
LavaridgeTown_EventScript_SetRivalPos::
@@ -50,25 +47,17 @@ LavaridgeTown_OnFrame:
LavaridgeTown_EventScript_RivalGiveGoGoggles::
lockall
getplayerxy VAR_0x8008, VAR_0x8009
- compare VAR_0x8008, 9
- call_if_eq LavaridgeTown_EventScript_RivalNoticePlayer
- compare VAR_0x8008, 9
- call_if_ne LavaridgeTown_EventScript_RivalExitHerbShop
+ call_if_eq VAR_0x8008, 9, LavaridgeTown_EventScript_RivalNoticePlayer
+ call_if_ne VAR_0x8008, 9, LavaridgeTown_EventScript_RivalExitHerbShop
delay 20
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LavaridgeTown_EventScript_PlayMayMusic
- compare VAR_RESULT, FEMALE
- call_if_eq LavaridgeTown_EventScript_PlayBrendanMusic
- compare VAR_0x8008, 9
- call_if_eq LavaridgeTown_EventScript_RivalApproachPlayer1
- compare VAR_0x8008, 9
- call_if_ne LavaridgeTown_EventScript_RivalApproachPlayer2
+ call_if_eq VAR_RESULT, MALE, LavaridgeTown_EventScript_PlayMayMusic
+ call_if_eq VAR_RESULT, FEMALE, LavaridgeTown_EventScript_PlayBrendanMusic
+ call_if_eq VAR_0x8008, 9, LavaridgeTown_EventScript_RivalApproachPlayer1
+ call_if_ne VAR_0x8008, 9, LavaridgeTown_EventScript_RivalApproachPlayer2
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LavaridgeTown_EventScript_MayGiveGoGoggles
- compare VAR_RESULT, FEMALE
- goto_if_eq LavaridgeTown_EventScript_BrendanGiveGoGoggles
+ goto_if_eq VAR_RESULT, MALE, LavaridgeTown_EventScript_MayGiveGoGoggles
+ goto_if_eq VAR_RESULT, FEMALE, LavaridgeTown_EventScript_BrendanGiveGoGoggles
end
LavaridgeTown_EventScript_MayGiveGoGoggles::
@@ -92,10 +81,8 @@ LavaridgeTown_EventScript_RivalExit::
removeobject LOCALID_RIVAL
addobject LOCALID_RIVAL_ON_BIKE
delay 30
- compare VAR_0x8008, 9
- call_if_eq LavaridgeTown_EventScript_RivalExit1
- compare VAR_0x8008, 9
- call_if_ne LavaridgeTown_EventScript_RivalExit2
+ call_if_eq VAR_0x8008, 9, LavaridgeTown_EventScript_RivalExit1
+ call_if_ne VAR_0x8008, 9, LavaridgeTown_EventScript_RivalExit2
removeobject LOCALID_RIVAL_ON_BIKE
setvar VAR_LAVARIDGE_TOWN_STATE, 2
clearflag FLAG_HIDE_MAP_NAME_POPUP
@@ -214,8 +201,7 @@ LavaridgeTown_Movement_RivalExitHerbShop:
LavaridgeTown_EventScript_HotSpringsTrigger::
specialvar VAR_RESULT, GetPlayerFacingDirection
- compare VAR_RESULT, DIR_SOUTH
- goto_if_eq LavaridgeTown_EventScript_EnteredHotSprings
+ goto_if_eq VAR_RESULT, DIR_SOUTH, LavaridgeTown_EventScript_EnteredHotSprings
end
LavaridgeTown_EventScript_EnteredHotSprings::
@@ -251,11 +237,9 @@ LavaridgeTown_EventScript_EggWoman::
faceplayer
goto_if_set FLAG_RECEIVED_LAVARIDGE_EGG, LavaridgeTown_EventScript_ReceivedEgg
msgbox LavaridgeTown_Text_HaveEggWillYouTakeIt, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LavaridgeTown_EventScript_DeclineEgg
+ goto_if_eq VAR_RESULT, NO, LavaridgeTown_EventScript_DeclineEgg
getpartysize
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq LavaridgeTown_EventScript_NoRoomForEgg
+ goto_if_eq VAR_RESULT, PARTY_SIZE, LavaridgeTown_EventScript_NoRoomForEgg
msgbox LavaridgeTown_Text_HopeYoullWalkPlentyWithEgg, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_LAVARIDGE_EGG
playfanfare MUS_OBTAIN_ITEM
diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
index 608f32e24c..530d6e9598 100644
--- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
@@ -19,7 +19,7 @@ LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars::
setvar VAR_TEMP_D, 0
setvar VAR_TEMP_E, 0
setvar VAR_TEMP_F, 0
- goto_if_defeated TRAINER_COLE LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar
+ goto_if_defeated TRAINER_COLE, LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar
setvar VAR_TEMP_B, 1
LavaridgeTown_Gym_1F_EventScript_SetGeraldTempVar::
goto_if_defeated TRAINER_GERALD, LavaridgeTown_Gym_1F_EventScript_SetAxleTempVar
@@ -51,8 +51,7 @@ LavaridgeTown_Gym_1F_EventScript_EndCheckBuryTrainers::
LavaridgeTown_Gym_1F_EventScript_Flannery::
trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryIntro, LavaridgeTown_Gym_1F_Text_FlanneryDefeat, LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq LavaridgeTown_Gym_1F_EventScript_FlanneryRematch
+ goto_if_eq VAR_RESULT, TRUE, LavaridgeTown_Gym_1F_EventScript_FlanneryRematch
goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2
msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostBattle, MSGBOX_DEFAULT
release
@@ -67,8 +66,7 @@ LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated::
setflag FLAG_DEFEATED_LAVARIDGE_GYM
setflag FLAG_BADGE04_GET
addvar VAR_PETALBURG_GYM_STATE, 1
- compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
+ call_if_eq VAR_PETALBURG_GYM_STATE, 6, Common_EventScript_ReadyPetalburgGymForBattle
setvar VAR_0x8008, 4
call Common_EventScript_SetGymTrainers
setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
@@ -87,8 +85,7 @@ LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated::
LavaridgeTown_Gym_1F_EventScript_GiveOverheat2::
giveitem ITEM_TM50
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM50
release
@@ -96,8 +93,7 @@ LavaridgeTown_Gym_1F_EventScript_GiveOverheat2::
LavaridgeTown_Gym_1F_EventScript_GiveOverheat::
giveitem ITEM_TM50
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM50
return
@@ -109,15 +105,14 @@ LavaridgeTown_Gym_1F_EventScript_FlanneryRematch::
LavaridgeTown_Gym_1F_EventScript_Cole::
trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, LOCALID_COLE, LavaridgeTown_Gym_1F_Text_ColeIntro, LavaridgeTown_Gym_1F_Text_ColeDefeat, LavaridgeTown_Gym_EventScript_CheckTrainerScript
- msgbox LavaridgeTown_Gym_1F_Text_ColePostBattle MSGBOX_AUTOCLOSE
+ msgbox LavaridgeTown_Gym_1F_Text_ColePostBattle, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_EventScript_CheckTrainerScript::
call LavaridgeTown_Gym_1F_EventScript_SetTrainerTempVars
release
special ShouldTryGetTrainerScript
- compare VAR_RESULT, 1
- goto_if_eq EventScript_GotoTrainerScript
+ goto_if_eq VAR_RESULT, 1, EventScript_GotoTrainerScript
end
LavaridgeTown_Gym_1F_EventScript_Axle::
diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc
index 2637f5c09d..dbe1b564ac 100644
--- a/data/maps/LavaridgeTown_HerbShop/scripts.inc
+++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc
@@ -31,8 +31,7 @@ LavaridgeTown_HerbShop_EventScript_OldMan::
goto_if_set FLAG_RECEIVED_CHARCOAL, LavaridgeTown_HerbShop_EventScript_ExplainCharcoal
msgbox LavaridgeTown_HerbShop_Text_YouveComeToLookAtHerbalMedicine, MSGBOX_DEFAULT
giveitem ITEM_CHARCOAL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_CHARCOAL
release
end
diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc
index eb3f140a86..094592d646 100644
--- a/data/maps/LilycoveCity/scripts.inc
+++ b/data/maps/LilycoveCity/scripts.inc
@@ -19,18 +19,18 @@ LilycoveCity_OnLoad:
end
LilycoveCity_EventScript_SetWailmerMetatiles::
- setmetatile 76, 12, METATILE_Lilycove_Wailmer0, 1
- setmetatile 77, 12, METATILE_Lilycove_Wailmer1, 1
- setmetatile 76, 13, METATILE_Lilycove_Wailmer2, 1
- setmetatile 77, 13, METATILE_Lilycove_Wailmer3, 1
- setmetatile 76, 14, METATILE_Lilycove_Wailmer0_Alt, 1
- setmetatile 77, 14, METATILE_Lilycove_Wailmer1_Alt, 1
- setmetatile 76, 15, METATILE_Lilycove_Wailmer2, 1
- setmetatile 77, 15, METATILE_Lilycove_Wailmer3, 1
- setmetatile 77, 16, METATILE_Lilycove_Wailmer0_Alt, 1
- setmetatile 78, 16, METATILE_Lilycove_Wailmer1_Alt, 1
- setmetatile 77, 17, METATILE_Lilycove_Wailmer2, 1
- setmetatile 78, 17, METATILE_Lilycove_Wailmer3, 1
+ setmetatile 76, 12, METATILE_Lilycove_Wailmer0, TRUE
+ setmetatile 77, 12, METATILE_Lilycove_Wailmer1, TRUE
+ setmetatile 76, 13, METATILE_Lilycove_Wailmer2, TRUE
+ setmetatile 77, 13, METATILE_Lilycove_Wailmer3, TRUE
+ setmetatile 76, 14, METATILE_Lilycove_Wailmer0_Alt, TRUE
+ setmetatile 77, 14, METATILE_Lilycove_Wailmer1_Alt, TRUE
+ setmetatile 76, 15, METATILE_Lilycove_Wailmer2, TRUE
+ setmetatile 77, 15, METATILE_Lilycove_Wailmer3, TRUE
+ setmetatile 77, 16, METATILE_Lilycove_Wailmer0_Alt, TRUE
+ setmetatile 78, 16, METATILE_Lilycove_Wailmer1_Alt, TRUE
+ setmetatile 77, 17, METATILE_Lilycove_Wailmer2, TRUE
+ setmetatile 78, 17, METATILE_Lilycove_Wailmer3, TRUE
return
LilycoveCity_EventScript_BerryGentleman::
@@ -42,8 +42,7 @@ LilycoveCity_EventScript_BerryGentleman::
random 10
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_LILYCOVE_RECEIVED_BERRY
msgbox LilycoveCity_Text_BecauseYoureTrainer, MSGBOX_DEFAULT
release
@@ -234,18 +233,15 @@ LilycoveCity_EventScript_Rival::
lock
faceplayer
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LilycoveCity_EventScript_May
- compare VAR_RESULT, FEMALE
- goto_if_eq LilycoveCity_EventScript_Brendan
+ goto_if_eq VAR_RESULT, MALE, LilycoveCity_EventScript_May
+ goto_if_eq VAR_RESULT, FEMALE, LilycoveCity_EventScript_Brendan
end
LilycoveCity_EventScript_May::
playbgm MUS_ENCOUNTER_MAY, TRUE
call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_MayAskToBattleAgain
call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_MayAskToBattle
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_EventScript_DeclineMayBattle
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_EventScript_DeclineMayBattle
msgbox LilycoveCity_Text_MayWontBeBeaten, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, LilycoveCity_EventScript_BattleMayTreecko
@@ -273,8 +269,7 @@ LilycoveCity_EventScript_Brendan::
playbgm MUS_ENCOUNTER_BRENDAN, TRUE
call_if_set FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_BrendanAskToBattleAgain
call_if_unset FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, LilycoveCity_EventScript_BrendanAskToBattle
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_EventScript_DeclineBrendanBattle
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_EventScript_DeclineBrendanBattle
msgbox LilycoveCity_Text_BrendanWontBeBeaten, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, LilycoveCity_EventScript_BattleBrendanTreecko
@@ -332,10 +327,8 @@ LilycoveCity_EventScript_DefeatedMay::
msgbox LilycoveCity_Text_MayGoingBackToLittleroot, MSGBOX_DEFAULT
setvar VAR_RESULT, FALSE
call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_CheckFinalBadge
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_EventScript_MayCollectBadges
- compare VAR_RESULT, TRUE
- call_if_eq LilycoveCity_EventScript_MayPokemonLeague
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_EventScript_MayCollectBadges
+ call_if_eq VAR_RESULT, TRUE, LilycoveCity_EventScript_MayPokemonLeague
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
goto LilycoveCity_EventScript_RivalFlyAway
@@ -366,10 +359,8 @@ LilycoveCity_EventScript_DefeatedBrendan::
msgbox LilycoveCity_Text_BrendanGoingBackToLittleroot, MSGBOX_DEFAULT
setvar VAR_RESULT, FALSE
call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_CheckFinalBadge
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_EventScript_BrendanCollectBadges
- compare VAR_RESULT, TRUE
- call_if_eq LilycoveCity_EventScript_BrendanPokemonLeague
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_EventScript_BrendanCollectBadges
+ call_if_eq VAR_RESULT, TRUE, LilycoveCity_EventScript_BrendanPokemonLeague
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
goto LilycoveCity_EventScript_RivalFlyAway
@@ -408,10 +399,8 @@ LilycoveCity_EventScript_SchoolKidM::
lock
faceplayer
msgbox LilycoveCity_Text_DoYouKnowAboutBerryBlender, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq LilycoveCity_EventScript_KnowAboutBerryBlender
- compare VAR_RESULT, NO
- call_if_eq LilycoveCity_EventScript_DontKnowAboutBerryBlender
+ call_if_eq VAR_RESULT, YES, LilycoveCity_EventScript_KnowAboutBerryBlender
+ call_if_eq VAR_RESULT, NO, LilycoveCity_EventScript_DontKnowAboutBerryBlender
release
end
diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc
index 7bfa1419ad..fa884a0966 100644
--- a/data/maps/LilycoveCity_ContestLobby/scripts.inc
+++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc
@@ -17,9 +17,8 @@ LilycoveCity_ContestLobby_OnTransition:
end
LilycoveCity_ContestLobby_EventScript_TryShowBlendMaster::
- getpricereduction POKENEWS_BLENDMASTER
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_ShowBlendMaster
+ getpokenewsactive POKENEWS_BLENDMASTER
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_ShowBlendMaster
clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT
setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER
return
@@ -52,10 +51,8 @@ LilycoveCity_ContestLobby_EventScript_ContestArtist::
showcontestpainting CONTEST_WINNER_ARTIST
lockall
msgbox LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting
releaseall
end
@@ -65,8 +62,7 @@ LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum::
special SaveMuseumContestPainting
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
specialvar VAR_RESULT, GiveMonArtistRibbon
- compare VAR_RESULT, TRUE
- call_if_eq LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon
+ call_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_ReceivedArtistRibbon
applymovement LOCALID_ARTIST, LilycoveCity_ContestLobby_Movement_ArtistExit
waitmovement 0
removeobject LOCALID_ARTIST
@@ -77,8 +73,7 @@ LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum::
LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePainting::
msgbox LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseum
+ 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
@@ -225,10 +220,8 @@ LilycoveCity_ContestLobby_EventScript_LinkContestArtist::
fadescreen FADE_TO_BLACK
showcontestpainting CONTEST_WINNER_ARTIST
msgbox LilycoveCity_ContestLobby_Text_ShouldITakePaintingToMuseum, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink
end
LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink::
@@ -237,8 +230,7 @@ LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink::
special SaveMuseumContestPainting
setvar VAR_LILYCOVE_CONTEST_LOBBY_STATE, 0
specialvar VAR_RESULT, GiveMonArtistRibbon
- compare VAR_RESULT, TRUE
- call_if_eq LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon
+ call_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_ReceivedLinkArtistRibbon
applymovement LOCALID_ARTIST_LINK, LilycoveCity_ContestLobby_Movement_LinkArtistExit
waitmovement 0
removeobject LOCALID_ARTIST_LINK
@@ -249,8 +241,7 @@ LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink::
LilycoveCity_ContestLobby_EventScript_ConfirmDontTakePaintingLink::
msgbox LilycoveCity_ContestLobby_Text_TakeHomeButIdLikeToTakeToMuseum, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_ContestLobby_EventScript_TakePaintingToMuseumLink
+ 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
@@ -327,8 +318,7 @@ LilycoveCity_ContestLobby_Movement_LinkArtistReturnToPlayer:
LilycoveCity_ContestLobby_EventScript_ContestReceptionist::
special ClearLinkContestFlags
specialvar VAR_RESULT, IsContestDebugActive @ Always FALSE
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_SetDebug
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_SetDebug
call LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist
call LilycoveCity_ContestLobby_EventScript_LeadToContestHall
special SetContestTrainerGfxIds
@@ -384,31 +374,31 @@ LilycoveCity_ContestLobby_EventScript_WarpToContestHall::
return
LilycoveCity_ContestLobby_EventScript_WarpToCoolContestHall::
- setwarp MAP_CONTEST_HALL_COOL, 255, 7, 5
+ setwarp MAP_CONTEST_HALL_COOL, 7, 5
special DoContestHallWarp
waitstate
return
LilycoveCity_ContestLobby_EventScript_WarpToBeautyContestHall::
- setwarp MAP_CONTEST_HALL_BEAUTY, 255, 7, 5
+ setwarp MAP_CONTEST_HALL_BEAUTY, 7, 5
special DoContestHallWarp
waitstate
return
LilycoveCity_ContestLobby_EventScript_WarpToCuteContestHall::
- setwarp MAP_CONTEST_HALL_CUTE, 255, 7, 5
+ setwarp MAP_CONTEST_HALL_CUTE, 7, 5
special DoContestHallWarp
waitstate
return
LilycoveCity_ContestLobby_EventScript_WarpToSmartContestHall::
- setwarp MAP_CONTEST_HALL_SMART, 255, 7, 5
+ setwarp MAP_CONTEST_HALL_SMART, 7, 5
special DoContestHallWarp
waitstate
return
LilycoveCity_ContestLobby_EventScript_WarpToToughContestHall::
- setwarp MAP_CONTEST_HALL_TOUGH, 255, 7, 5
+ setwarp MAP_CONTEST_HALL_TOUGH, 7, 5
special DoContestHallWarp
waitstate
return
@@ -418,14 +408,14 @@ LilycoveCity_ContestLobby_EventScript_LeadToContestHall::
applymovement LOCALID_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistApproachCounter
waitmovement 0
playse SE_BRIDGE_WALK
- setmetatile 12, 2, METATILE_Contest_WallShadow, 1
- setmetatile 12, 3, METATILE_Contest_FloorShadow, 1
+ setmetatile 12, 2, METATILE_Contest_WallShadow, TRUE
+ setmetatile 12, 3, METATILE_Contest_FloorShadow, TRUE
special DrawWholeMapView
applymovement LOCALID_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_ReceptionistExitCounter
waitmovement 0
playse SE_BRIDGE_WALK
- setmetatile 12, 2, METATILE_Contest_CounterFlap_Top, 1
- setmetatile 12, 3, METATILE_Contest_CounterFlap_Bottom, 1
+ 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
@@ -648,11 +638,9 @@ LilycoveCity_ContestLobby_EventScript_AskEnterLinkContest::
LilycoveCity_ContestLobby_EventScript_TryEnterLinkContest::
msgbox LilycoveCity_ContestLobby_Text_ProgressWillBeSaved, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
call Common_EventScript_SaveGame
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
message LilycoveCity_ContestLobby_Text_WhichContestMode
waitmessage
specialvar VAR_TEMP_D, IsWirelessAdapterConnected
@@ -671,8 +659,7 @@ LilycoveCity_ContestLobby_EventScript_EmeraldMode::
LilycoveCity_ContestLobby_EventScript_GlobalMode::
setvar VAR_TEMP_C, 1
- compare VAR_TEMP_D, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkNoWirelessGMode
+ goto_if_eq VAR_TEMP_D, 1, LilycoveCity_ContestLobby_EventScript_CancelLinkNoWirelessGMode
goto LilycoveCity_ContestLobby_EventScript_ChooseLinkContestType
end
@@ -724,19 +711,13 @@ LilycoveCity_ContestLobby_EventScript_ChooseLinkContestMon::
msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon3, MSGBOX_DEFAULT
setvar VAR_CONTEST_RANK, 0
choosecontestmon
- compare VAR_0x8004, 255
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
special TryEnterContestMon
- compare VAR_RESULT, CANT_ENTER_CONTEST
- goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank
- compare VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK
- goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest
- compare VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK
- goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest
- compare VAR_RESULT, CANT_ENTER_CONTEST_EGG
- goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterEgg
- compare VAR_RESULT, CANT_ENTER_CONTEST_FAINTED
- goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkCantEnterFainted
+ goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST, LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank
+ goto_if_eq VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK, LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest
+ goto_if_eq VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK, LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest
+ goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST_EGG, LilycoveCity_ContestLobby_EventScript_LinkCantEnterEgg
+ goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST_FAINTED, LilycoveCity_ContestLobby_EventScript_LinkCantEnterFainted
end
LilycoveCity_ContestLobby_EventScript_LinkCantEnterLowRank::
@@ -760,29 +741,19 @@ LilycoveCity_ContestLobby_EventScript_EnterMonForLinkContest::
end
LilycoveCity_ContestLobby_EventScript_TrySetUpLinkContest::
- compare VAR_TEMP_D, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupType
- compare VAR_TEMP_D, 2
- goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ goto_if_eq VAR_TEMP_D, 1, LilycoveCity_ContestLobby_EventScript_SetLinkGroupType
+ goto_if_ge VAR_TEMP_D, 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
message LilycoveCity_ContestLobby_Text_PleaseWaitBButtonCancel
waitmessage
copyvar VAR_0x8004, VAR_RESULT
- compare VAR_TEMP_C, 0
- call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkEMode
- compare VAR_TEMP_C, 1
- call_if_eq LilycoveCity_ContestLobby_EventScript_TryLinkGMode
- compare VAR_TEMP_C, 2
- goto_if_ge LilycoveCity_ContestLobby_EventScript_CancelLinkContest
- compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
- compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkContest
- compare VAR_RESULT, LINKUP_CONNECTION_ERROR
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkError
- compare VAR_RESULT, LINKUP_FAILED_CONTEST_GMODE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference
+ call_if_eq VAR_TEMP_C, 0, LilycoveCity_ContestLobby_EventScript_TryLinkEMode
+ call_if_eq VAR_TEMP_C, 1, LilycoveCity_ContestLobby_EventScript_TryLinkGMode
+ goto_if_ge VAR_TEMP_C, 2, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
+ goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, LilycoveCity_ContestLobby_EventScript_CancelLinkDifferentChoices
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, LilycoveCity_ContestLobby_EventScript_CancelLinkContest
+ goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, LilycoveCity_ContestLobby_EventScript_CancelLinkError
+ goto_if_eq VAR_RESULT, LINKUP_FAILED_CONTEST_GMODE, LilycoveCity_ContestLobby_EventScript_CancelLinkModeDifference
messageinstant LilycoveCity_ContestLobby_Text_Transmitting
contestlinktransfer
switch VAR_0x8004
@@ -836,7 +807,7 @@ LilycoveCity_ContestLobby_EventScript_CancelLinkTransmissionError::
LilycoveCity_ContestLobby_EventScript_StartLinkContest::
special GetContestPlayerId
addvar VAR_0x8004, 1
- buffernumberstring 1, VAR_0x8004
+ buffernumberstring STR_VAR_2, VAR_0x8004
messageautoscroll LilycoveCity_ContestLobby_Text_YourMonIsEntryNumX
waitmessage
subvar VAR_0x8004, 1
@@ -849,16 +820,11 @@ LilycoveCity_ContestLobby_EventScript_StartLinkContest::
end
LilycoveCity_ContestLobby_EventScript_SetLinkGroupType::
- compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_COOL
- call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupCoolContest
- compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_BEAUTY
- call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupBeautyContest
- compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_CUTE
- call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupCuteContest
- compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_SMART
- call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupSmartContest
- compare VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_TOUGH
- call_if_eq LilycoveCity_ContestLobby_EventScript_SetLinkGroupToughContest
+ call_if_eq VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_COOL, LilycoveCity_ContestLobby_EventScript_SetLinkGroupCoolContest
+ call_if_eq VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_BEAUTY, LilycoveCity_ContestLobby_EventScript_SetLinkGroupBeautyContest
+ call_if_eq VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_CUTE, LilycoveCity_ContestLobby_EventScript_SetLinkGroupCuteContest
+ call_if_eq VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_SMART, LilycoveCity_ContestLobby_EventScript_SetLinkGroupSmartContest
+ call_if_eq VAR_CONTEST_CATEGORY, CONTEST_CATEGORY_TOUGH, LilycoveCity_ContestLobby_EventScript_SetLinkGroupToughContest
goto LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
end
@@ -895,23 +861,17 @@ LilycoveCity_ContestLobby_EventScript_DecideLinkLeader::
LilycoveCity_ContestLobby_EventScript_TryLeadGroup::
call LilycoveCity_ContestLobby_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq LilycoveCity_ContestLobby_EventScript_TryLeadGroup
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, LilycoveCity_ContestLobby_EventScript_TryLeadGroup
release
end
LilycoveCity_ContestLobby_EventScript_TryJoinGroup::
call LilycoveCity_ContestLobby_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq LilycoveCity_ContestLobby_EventScript_TryJoinGroup
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, LilycoveCity_ContestLobby_EventScript_LinkLeaderDecided
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, LilycoveCity_ContestLobby_EventScript_DecideLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, LilycoveCity_ContestLobby_EventScript_TryJoinGroup
release
end
@@ -939,14 +899,14 @@ LilycoveCity_ContestLobby_EventScript_LeadToLinkContestHall::
applymovement LOCALID_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistApproachCounter
waitmovement 0
playse SE_BRIDGE_WALK
- setmetatile 17, 2, METATILE_Contest_WallShadow, 1
- setmetatile 17, 3, METATILE_Contest_FloorShadow, 1
+ setmetatile 17, 2, METATILE_Contest_WallShadow, TRUE
+ setmetatile 17, 3, METATILE_Contest_FloorShadow, TRUE
special DrawWholeMapView
applymovement LOCALID_LINK_RECEPTIONIST, LilycoveCity_ContestLobby_Movement_LinkReceptionistExitCounter
waitmovement 0
playse SE_BRIDGE_WALK
- setmetatile 17, 2, METATILE_Contest_CounterFlap_Top, 1
- setmetatile 17, 3, METATILE_Contest_CounterFlap_Bottom, 1
+ 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
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
index a5e8b40cf6..ca7481b533 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
@@ -7,8 +7,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_GameDesigner::
call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_ShowMeCompletedDex
call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_ShowDiploma
specialvar VAR_RESULT, HasAllHoennMons
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_AllHoennMonsFanfare
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_CoveLilyMotel_2F_EventScript_AllHoennMonsFanfare
release
end
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
index b6ad2e4e6f..d7d152408d 100644
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
@@ -59,9 +59,8 @@ LilycoveCity_DepartmentStoreElevator_EventScript_ChooseFloor::
LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_1F
- setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 2, 1
+ goto_if_eq VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_1F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
@@ -69,9 +68,8 @@ LilycoveCity_DepartmentStoreElevator_EventScript_1stFloor::
LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_2F
- setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 2, 1
+ goto_if_eq VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_2F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
@@ -79,9 +77,8 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2ndFloor::
LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_3F
- setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 2, 1
+ goto_if_eq VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_3F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
@@ -89,9 +86,8 @@ LilycoveCity_DepartmentStoreElevator_EventScript_3rdFloor::
LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_4F
- setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 2, 1
+ goto_if_eq VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_4F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
@@ -99,9 +95,8 @@ LilycoveCity_DepartmentStoreElevator_EventScript_4thFloor::
LilycoveCity_DepartmentStoreElevator_EventScript_5thFloor::
setvar VAR_0x8006, DEPT_STORE_FLOORNUM_5F
- setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1
- compare VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F
- goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
+ setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 2, 1
+ goto_if_eq VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F, LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
call LilycoveCity_DepartmentStoreElevator_EventScript_MoveElevator
setvar VAR_DEPT_STORE_FLOOR, DEPT_STORE_FLOORNUM_5F
goto LilycoveCity_DepartmentStoreElevator_EventScript_ExitFloorSelect
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
index e91ca7745c..8c67ee1496 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
@@ -3,11 +3,9 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts::
.byte 0
LilycoveCity_DepartmentStoreRooftop_OnTransition:
- getpricereduction POKENEWS_LILYCOVE
- compare VAR_RESULT, TRUE
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_HideSaleWoman
+ getpokenewsactive POKENEWS_LILYCOVE
+ call_if_eq VAR_RESULT, TRUE, LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_DepartmentStoreRooftop_EventScript_HideSaleWoman
end
LilycoveCity_DepartmentStoreRooftop_EventScript_ShowSaleWoman::
@@ -51,9 +49,8 @@ LilycoveCity_DepartmentStoreRooftop_PokemartDecor_ClearOutSale:
LilycoveCity_DepartmentStoreRooftop_EventScript_Man::
lock
faceplayer
- getpricereduction POKENEWS_LILYCOVE
- compare VAR_RESULT, TRUE
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_ManClearOutSale
+ getpokenewsactive POKENEWS_LILYCOVE
+ call_if_eq VAR_RESULT, TRUE, LilycoveCity_DepartmentStoreRooftop_EventScript_ManClearOutSale
msgbox LilycoveCity_DepartmentStoreRooftop_Text_SetDatesForClearOutSales, MSGBOX_DEFAULT
release
end
@@ -71,7 +68,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_VendingMachine::
lockall
message LilycoveCity_DepartmentStoreRooftop_Text_WhichDrinkWouldYouLike
waitmessage
- showmoneybox 0, 0, 0
+ showmoneybox 0, 0
goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseDrink
end
@@ -102,78 +99,66 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_Lemonade::
end
LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater::
- checkmoney 200, 0
+ checkmoney 200
return
LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop::
- checkmoney 300, 0
+ checkmoney 300
return
LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade::
- checkmoney 350, 0
+ checkmoney 350
return
LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater::
- removemoney 200, 0
+ removemoney 200
return
LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop::
- removemoney 300, 0
+ removemoney 300
return
LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade::
- removemoney 350, 0
+ removemoney 350
return
LilycoveCity_DepartmentStoreRooftop_EventScript_TryBuyDrink::
- compare VAR_TEMP_1, 0
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater
- compare VAR_TEMP_1, 1
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop
- compare VAR_TEMP_1, 2
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NotEnoughMoneyForDrink
- checkitemspace VAR_TEMP_0, 1
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
- compare VAR_TEMP_1, 0
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater
- compare VAR_TEMP_1, 1
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop
- compare VAR_TEMP_1, 2
- call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade
- updatemoneybox 0, 0
- bufferitemname 0, VAR_TEMP_0
+ call_if_eq VAR_TEMP_1, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyFreshWater
+ call_if_eq VAR_TEMP_1, 1, LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneySodaPop
+ call_if_eq VAR_TEMP_1, 2, LilycoveCity_DepartmentStoreRooftop_EventScript_CheckMoneyLemonade
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_DepartmentStoreRooftop_EventScript_NotEnoughMoneyForDrink
+ checkitemspace VAR_TEMP_0
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
+ call_if_eq VAR_TEMP_1, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyFreshWater
+ call_if_eq VAR_TEMP_1, 1, LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneySodaPop
+ call_if_eq VAR_TEMP_1, 2, LilycoveCity_DepartmentStoreRooftop_EventScript_RemoveMoneyLemonade
+ updatemoneybox
+ bufferitemname STR_VAR_1, VAR_TEMP_0
playse SE_VEND
msgbox LilycoveCity_DepartmentStoreRooftop_Text_CanOfDrinkDroppedDown, MSGBOX_DEFAULT
additem VAR_TEMP_0
- bufferitemname 1, VAR_TEMP_0
- bufferstdstring 2, STDSTRING_ITEMS
+ bufferitemname STR_VAR_2, VAR_TEMP_0
+ bufferstdstring STR_VAR_3, STDSTRING_ITEMS
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
random 64 @ 1/64 chance of an additional drink dropping
- compare VAR_RESULT, 0
- goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
- checkitemspace VAR_TEMP_0, 1
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
+ goto_if_ne VAR_RESULT, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
+ checkitemspace VAR_TEMP_0
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
playse SE_VEND
msgbox LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown, MSGBOX_DEFAULT
additem VAR_TEMP_0
- bufferitemname 1, VAR_TEMP_0
- bufferstdstring 2, STDSTRING_ITEMS
+ bufferitemname STR_VAR_2, VAR_TEMP_0
+ bufferstdstring STR_VAR_3, STDSTRING_ITEMS
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
random 64 @ 1/64 * the prev 1/64 chance of a third additional drink dropping, ~ 0.02% chance
- compare VAR_RESULT, 0
- goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
- checkitemspace VAR_TEMP_0, 1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
+ goto_if_ne VAR_RESULT, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
+ checkitemspace VAR_TEMP_0
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_NoRoomForDrink
playse SE_VEND
msgbox LilycoveCity_DepartmentStoreRooftop_Text_ExtraCanOfDrinkDroppedDown, MSGBOX_DEFAULT
additem VAR_TEMP_0
- bufferitemname 1, VAR_TEMP_0
- bufferstdstring 2, STDSTRING_ITEMS
+ bufferitemname STR_VAR_2, VAR_TEMP_0
+ bufferstdstring STR_VAR_3, STDSTRING_ITEMS
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStoreRooftop_EventScript_ChooseNewDrink
end
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
index fb82ba47a6..b0656cfd4a 100644
--- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
@@ -11,12 +11,10 @@ LilycoveCity_DepartmentStore_1F_EventScript_LotteryClerk::
lock
faceplayer
dotimebasedevents
- compare VAR_POKELOT_PRIZE_ITEM, ITEM_NONE
- goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier
+ goto_if_ne VAR_POKELOT_PRIZE_ITEM, ITEM_NONE, LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier
goto_if_set FLAG_DAILY_PICKED_LOTO_TICKET, LilycoveCity_DepartmentStore_1F_EventScript_ComeBackTomorrow
msgbox LilycoveCity_DepartmentStore_1F_Text_LotteryCornerDrawTicket, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain
setflag FLAG_DAILY_PICKED_LOTO_TICKET
message LilycoveCity_DepartmentStore_1F_Text_PleasePickTicket
waitmessage
@@ -34,25 +32,17 @@ LilycoveCity_DepartmentStore_1F_EventScript_LotteryClerk::
delay 10
applymovement LOCALID_LOTTERY_CLERK, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_0x8004, 0
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_NoMatch
+ goto_if_eq VAR_0x8004, 0, LilycoveCity_DepartmentStore_1F_EventScript_NoMatch
incrementgamestat GAME_STAT_WON_POKEMON_LOTTERY
- compare VAR_0x8006, 0
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPartyMon
- compare VAR_0x8006, 1
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPCMon
- bufferitemname 0, VAR_0x8005
- compare VAR_0x8004, 1
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_TwoDigitMatch
- compare VAR_0x8004, 2
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_ThreeDigitMatch
- compare VAR_0x8004, 3
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_FourDigitMatch
- compare VAR_0x8004, 4
- call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_FullMatch
+ call_if_eq VAR_0x8006, 0, LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPartyMon
+ call_if_eq VAR_0x8006, 1, LilycoveCity_DepartmentStore_1F_EventScript_TicketMatchPCMon
+ bufferitemname STR_VAR_1, VAR_0x8005
+ call_if_eq VAR_0x8004, 1, LilycoveCity_DepartmentStore_1F_EventScript_TwoDigitMatch
+ call_if_eq VAR_0x8004, 2, LilycoveCity_DepartmentStore_1F_EventScript_ThreeDigitMatch
+ call_if_eq VAR_0x8004, 3, LilycoveCity_DepartmentStore_1F_EventScript_FourDigitMatch
+ call_if_eq VAR_0x8004, 4, LilycoveCity_DepartmentStore_1F_EventScript_FullMatch
giveitem VAR_0x8005
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_RecordPrizeNoRoom
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_DepartmentStore_1F_EventScript_RecordPrizeNoRoom
special TryPutLotteryWinnerReportOnAir
goto LilycoveCity_DepartmentStore_1F_EventScript_PleaseVisitAgain2
end
@@ -115,8 +105,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize::
LilycoveCity_DepartmentStore_1F_EventScript_GivePrizeFromEarlier::
msgbox LilycoveCity_DepartmentStore_1F_Text_PrizeWeveBeenHolding, MSGBOX_DEFAULT
giveitem VAR_POKELOT_PRIZE_ITEM
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_DepartmentStore_1F_EventScript_NoRoomForPrize
copyvar VAR_0x8004, VAR_POKELOT_PRIZE_PLACE
copyvar VAR_0x8005, VAR_POKELOT_PRIZE_ITEM
special TryPutLotteryWinnerReportOnAir
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
index d1d074c8ce..a9683d13c9 100644
--- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
@@ -129,10 +129,8 @@ LilycoveCity_DepartmentStore_5F_EventScript_Woman::
lockall
applymovement LOCALID_WOMAN, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 0
- goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_WomanNormal
+ 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
goto LilycoveCity_DepartmentStore_5F_EventScript_WomanLegendaryWeather
end
diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc
index 216a6ff033..63010dc4c7 100644
--- a/data/maps/LilycoveCity_Harbor/scripts.inc
+++ b/data/maps/LilycoveCity_Harbor/scripts.inc
@@ -8,7 +8,7 @@ LilycoveCity_Harbor_MapScripts::
.byte 0
LilycoveCity_Harbor_OnTransition:
- setescapewarp MAP_LILYCOVE_CITY, 255, 12, 33
+ setescapewarp MAP_LILYCOVE_CITY, 12, 33
end
LilycoveCity_Harbor_EventScript_FerryAttendant::
@@ -21,25 +21,18 @@ LilycoveCity_Harbor_EventScript_FerryAttendant::
call LilycoveCity_Harbor_EventScript_GetMysticTicketState
call LilycoveCity_Harbor_EventScript_GetFirstTimeShowingTicket
call LilycoveCity_Harbor_EventScript_GetHasTicketsState
- compare VAR_TEMP_C, 2
- goto_if_eq LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime
- compare VAR_TEMP_B, 1
- goto_if_eq LilycoveCity_Harbor_EventScript_EonTicketFirstTime
- compare VAR_TEMP_B, 2
- goto_if_eq LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime
- compare VAR_TEMP_B, 4
- goto_if_eq LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime
- compare VAR_TEMP_B, 8
- goto_if_eq LilycoveCity_Harbor_EventScript_MysticTicketFirstTime
- compare VAR_TEMP_B, 0
- goto_if_ne LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime
+ goto_if_eq VAR_TEMP_C, 2, LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime
+ goto_if_eq VAR_TEMP_B, 1, LilycoveCity_Harbor_EventScript_EonTicketFirstTime
+ goto_if_eq VAR_TEMP_B, 2, LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime
+ goto_if_eq VAR_TEMP_B, 4, LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime
+ goto_if_eq VAR_TEMP_B, 8, LilycoveCity_Harbor_EventScript_MysticTicketFirstTime
+ goto_if_ne VAR_TEMP_B, 0, LilycoveCity_Harbor_EventScript_MultipleEventTicketsFirstTime
goto LilycoveCity_Harbor_EventScript_NoFirstTimeEventTickets
end
@ First goto_if_eq is unnecessary; identical scripts
LilycoveCity_Harbor_EventScript_NoFirstTimeEventTickets::
- compare VAR_TEMP_A, 0
- goto_if_eq LilycoveCity_Harbor_EventScript_NoEventTickets
+ goto_if_eq VAR_TEMP_A, 0, LilycoveCity_Harbor_EventScript_NoEventTickets
msgbox LilycoveCity_Harbor_Text_MayISeeYourTicket, MSGBOX_DEFAULT
message LilycoveCity_Harbor_Text_FlashTicketWhereTo
waitmessage
@@ -64,49 +57,47 @@ LilycoveCity_Harbor_EventScript_FerryRegularLocationSelect::
LilycoveCity_Harbor_EventScript_GoToSouthernIsland::
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22
+ warp MAP_SOUTHERN_ISLAND_EXTERIOR, 13, 22
waitstate
release
end
LilycoveCity_Harbor_EventScript_GoToNavelRock::
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_NAVEL_ROCK_HARBOR, 255, 8, 4
+ warp MAP_NAVEL_ROCK_HARBOR, 8, 4
waitstate
release
end
LilycoveCity_Harbor_EventScript_GoToBirthIsland::
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_BIRTH_ISLAND_HARBOR, 255, 8, 4
+ warp MAP_BIRTH_ISLAND_HARBOR, 8, 4
waitstate
release
end
LilycoveCity_Harbor_EventScript_GoToFarawayIsland::
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
+ warp MAP_FARAWAY_ISLAND_ENTRANCE, 13, 38
waitstate
release
end
LilycoveCity_Harbor_EventScript_GoToSlateport::
msgbox LilycoveCity_Harbor_Text_SlateportItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
+ warp MAP_SS_TIDAL_CORRIDOR, 1, 10
waitstate
release
end
LilycoveCity_Harbor_EventScript_GoToBattleFrontier::
msgbox LilycoveCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
+ warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 19, 67
waitstate
release
end
@@ -114,9 +105,8 @@ LilycoveCity_Harbor_EventScript_GoToBattleFrontier::
LilycoveCity_Harbor_EventScript_GetEonTicketState::
setvar VAR_TEMP_E, 0
goto_if_unset FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, Common_EventScript_NopReturn
- checkitem ITEM_EON_TICKET, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_NopReturn
+ checkitem ITEM_EON_TICKET
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_NopReturn
setvar VAR_TEMP_E, 1
goto_if_set FLAG_SHOWN_EON_TICKET, Common_EventScript_NopReturn
setvar VAR_TEMP_E, 2
@@ -125,9 +115,8 @@ LilycoveCity_Harbor_EventScript_GetEonTicketState::
LilycoveCity_Harbor_EventScript_GetAuroraTicketState::
setvar VAR_TEMP_D, 0
goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, Common_EventScript_NopReturn
- checkitem ITEM_AURORA_TICKET, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_NopReturn
+ checkitem ITEM_AURORA_TICKET
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_NopReturn
setvar VAR_TEMP_D, 1
goto_if_set FLAG_SHOWN_AURORA_TICKET, Common_EventScript_NopReturn
setvar VAR_TEMP_D, 2
@@ -136,9 +125,8 @@ LilycoveCity_Harbor_EventScript_GetAuroraTicketState::
LilycoveCity_Harbor_EventScript_GetOldSeaMapState::
setvar VAR_TEMP_C, 0
goto_if_unset FLAG_ENABLE_SHIP_FARAWAY_ISLAND, Common_EventScript_NopReturn
- checkitem ITEM_OLD_SEA_MAP, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_NopReturn
+ checkitem ITEM_OLD_SEA_MAP
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_NopReturn
setvar VAR_TEMP_C, 1
goto_if_set FLAG_SHOWN_OLD_SEA_MAP, Common_EventScript_NopReturn
setvar VAR_TEMP_C, 2
@@ -147,9 +135,8 @@ LilycoveCity_Harbor_EventScript_GetOldSeaMapState::
LilycoveCity_Harbor_EventScript_GetMysticTicketState::
setvar VAR_TEMP_9, 0
goto_if_unset FLAG_ENABLE_SHIP_NAVEL_ROCK, Common_EventScript_NopReturn
- checkitem ITEM_MYSTIC_TICKET, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_NopReturn
+ checkitem ITEM_MYSTIC_TICKET
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_NopReturn
setvar VAR_TEMP_9, 1
goto_if_set FLAG_SHOWN_MYSTIC_TICKET, Common_EventScript_NopReturn
setvar VAR_TEMP_9, 2
@@ -157,14 +144,10 @@ LilycoveCity_Harbor_EventScript_GetMysticTicketState::
LilycoveCity_Harbor_EventScript_GetFirstTimeShowingTicket::
setvar VAR_TEMP_B, 0
- compare VAR_TEMP_E, 2
- call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket
- compare VAR_TEMP_D, 2
- call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingAuroraTicket
- compare VAR_TEMP_C, 2
- call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingOldSeaMap
- compare VAR_TEMP_9, 2
- call_if_eq LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket
+ call_if_eq VAR_TEMP_E, 2, LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket
+ call_if_eq VAR_TEMP_D, 2, LilycoveCity_Harbor_EventScript_SetFirstTimeShowingAuroraTicket
+ call_if_eq VAR_TEMP_C, 2, LilycoveCity_Harbor_EventScript_SetFirstTimeShowingOldSeaMap
+ call_if_eq VAR_TEMP_9, 2, LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket
return
LilycoveCity_Harbor_EventScript_SetFirstTimeShowingEonTicket::
@@ -185,14 +168,10 @@ LilycoveCity_Harbor_EventScript_SetFirstTimeShowingMysticTicket::
LilycoveCity_Harbor_EventScript_GetHasTicketsState::
setvar VAR_TEMP_A, 0
- compare VAR_TEMP_E, 1
- call_if_eq LilycoveCity_Harbor_EventScript_SetHasEonTicket
- compare VAR_TEMP_D, 1
- call_if_eq LilycoveCity_Harbor_EventScript_SetHasAuroraTicket
- compare VAR_TEMP_C, 1
- call_if_eq LilycoveCity_Harbor_EventScript_SetHasOldSeaMap
- compare VAR_TEMP_9, 1
- call_if_eq LilycoveCity_Harbor_EventScript_SetHasMysticTicket
+ call_if_eq VAR_TEMP_E, 1, LilycoveCity_Harbor_EventScript_SetHasEonTicket
+ call_if_eq VAR_TEMP_D, 1, LilycoveCity_Harbor_EventScript_SetHasAuroraTicket
+ call_if_eq VAR_TEMP_C, 1, LilycoveCity_Harbor_EventScript_SetHasOldSeaMap
+ call_if_eq VAR_TEMP_9, 1, LilycoveCity_Harbor_EventScript_SetHasMysticTicket
return
LilycoveCity_Harbor_EventScript_SetHasEonTicket::
@@ -223,7 +202,7 @@ LilycoveCity_Harbor_EventScript_EonTicketFirstTime::
LilycoveCity_Harbor_EventScript_GoToSouthernIslandFirstTime::
closemessage
call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
- warp MAP_SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22
+ warp MAP_SOUTHERN_ISLAND_EXTERIOR, 13, 22
waitstate
release
end
@@ -240,7 +219,7 @@ LilycoveCity_Harbor_EventScript_AuroraTicketFirstTime::
LilycoveCity_Harbor_EventScript_GoToBirthIslandFirstTime::
closemessage
call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
- warp MAP_BIRTH_ISLAND_HARBOR, 255, 8, 4
+ warp MAP_BIRTH_ISLAND_HARBOR, 8, 4
waitstate
release
end
@@ -259,29 +238,21 @@ LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime::
waitmovement 0
applymovement LOCALID_FERRY_SAILOR, Common_Movement_Delay48
waitmovement 0
- compare VAR_FACING, DIR_NORTH
- call_if_eq LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq LilycoveCity_Harbor_EventScript_MoveSailorOutOfWayEast
+ 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
- compare VAR_FACING, DIR_NORTH
- call_if_eq LilycoveCity_Harbor_EventScript_BrineyFaceSailorNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq LilycoveCity_Harbor_EventScript_BrineyFaceSailorEast
+ 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
- compare VAR_FACING, DIR_NORTH
- call_if_eq LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast
+ call_if_eq VAR_FACING, DIR_NORTH, LilycoveCity_Harbor_EventScript_BrineyFacePlayerNorth
+ call_if_eq VAR_FACING, DIR_EAST, LilycoveCity_Harbor_EventScript_BrineyFacePlayerEast
msgbox EventTicket_Text_BrineyLetsSail, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq LilycoveCity_Harbor_EventScript_BoardFerryWithBrineyAndSailorEast
+ 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
call Common_EventScript_FerryDepart
- warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
+ warp MAP_FARAWAY_ISLAND_ENTRANCE, 13, 38
waitstate
release
end
@@ -289,7 +260,7 @@ LilycoveCity_Harbor_EventScript_OldSeaMapFirstTime::
LilycoveCity_Harbor_EventScript_GoToFarawayIslandFirstTime::
closemessage
call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
- warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
+ warp MAP_FARAWAY_ISLAND_ENTRANCE, 13, 38
waitstate
release
end
@@ -306,7 +277,7 @@ LilycoveCity_Harbor_EventScript_MysticTicketFirstTime::
LilycoveCity_Harbor_EventScript_GoToNavelRockFirstTime::
closemessage
call LilycoveCity_Harbor_EventScript_BoardFerryWithSailor
- warp MAP_NAVEL_ROCK_HARBOR, 255, 8, 4
+ warp MAP_NAVEL_ROCK_HARBOR, 8, 4
waitstate
release
end
@@ -364,10 +335,8 @@ LilycoveCity_Harbor_EventScript_BoardFerryWithSailor::
waitmovement 0
delay 30
removeobject LOCALID_FERRY_SAILOR
- compare VAR_FACING, DIR_NORTH
- call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast
+ 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
@@ -395,11 +364,10 @@ LilycoveCity_Harbor_EventScript_NoTicket::
@ Unused
LilycoveCity_Harbor_EventScript_GoToSlateportUnused::
msgbox LilycoveCity_Harbor_Text_SlateportItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_LILYCOVE
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
+ warp MAP_SS_TIDAL_CORRIDOR, 1, 10
waitstate
release
end
@@ -407,10 +375,9 @@ LilycoveCity_Harbor_EventScript_GoToSlateportUnused::
@ Unused
LilycoveCity_Harbor_EventScript_GoToBattleFrontierUnused::
msgbox LilycoveCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_Harbor_EventScript_FerryDestinationChangeMind
call LilycoveCity_Harbor_EventScript_BoardFerry
- warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
+ warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 19, 67
waitstate
release
end
@@ -428,10 +395,8 @@ LilycoveCity_Harbor_EventScript_BoardFerry::
waitmovement 0
delay 30
hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR
- compare VAR_FACING, DIR_NORTH
- call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq LilycoveCity_Harbor_EventScript_PlayerBoardFerryEast
+ 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
diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc
index c7664c641f..965d82acfb 100644
--- a/data/maps/LilycoveCity_House2/scripts.inc
+++ b/data/maps/LilycoveCity_House2/scripts.inc
@@ -7,8 +7,7 @@ LilycoveCity_House2_EventScript_FatMan::
goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_ReceivedRest
msgbox LilycoveCity_House2_Text_NotAwakeYetHaveThis, MSGBOX_DEFAULT
giveitem ITEM_TM44
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM44
msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT
release
diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc
index de76c58b6b..57e6804732 100644
--- a/data/maps/LilycoveCity_House3/scripts.inc
+++ b/data/maps/LilycoveCity_House3/scripts.inc
@@ -11,8 +11,7 @@ LilycoveCity_House3_EventScript_PokefanF::
lock
faceplayer
msgbox LilycoveCity_House3_Text_LearnFromMasterOfPokeblocks, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_House3_EventScript_DeclinePokeblockLearn
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_House3_EventScript_DeclinePokeblockLearn
msgbox LilycoveCity_House3_Text_ExplainPokeblocks, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
index e5d855633e..2d9d446f9d 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
@@ -14,10 +14,8 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_Curator::
message LilycoveCity_LilycoveMuseum_1F_Text_ImCuratorHaveYouViewedOurPaintings
waitmessage
multichoice 20, 8, MULTI_VIEWED_PAINTINGS, TRUE
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet
end
LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet::
@@ -26,10 +24,8 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_NotYet::
LilycoveCity_LilycoveMuseum_1F_EventScript_SawPaintings::
msgbox LilycoveCity_LilycoveMuseum_1F_Text_HaveYouAnInterestInPaintings, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_LilycoveMuseum_1F_EventScript_InterestedInPaintings
end
LilycoveCity_LilycoveMuseum_1F_EventScript_NotInterested::
@@ -52,7 +48,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorNorth::
lockall
applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorNorth
waitmovement 0
- warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
+ warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 11, 8
waitstate
end
@@ -60,7 +56,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorWest::
lockall
applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorWest
waitmovement 0
- warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
+ warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 11, 8
waitstate
end
@@ -68,7 +64,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_FollowCuratorEast::
lockall
applymovement OBJ_EVENT_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_FollowCuratorEast
waitmovement 0
- warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
+ warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 11, 8
waitstate
end
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
index 929bba3e17..9212ca67df 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
@@ -30,32 +30,32 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting::
end
LilycoveCity_LilycoveMuseum_2F_EventScript_SetCoolPainting::
- setmetatile 10, 6, METATILE_LilycoveMuseum_Painting2_Left, 1
- setmetatile 11, 6, METATILE_LilycoveMuseum_Painting2_Right, 1
+ setmetatile 10, 6, METATILE_LilycoveMuseum_Painting2_Left, TRUE
+ setmetatile 11, 6, METATILE_LilycoveMuseum_Painting2_Right, TRUE
goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckBeautyPainting
end
LilycoveCity_LilycoveMuseum_2F_EventScript_SetBeautyPainting::
- setmetatile 18, 6, METATILE_LilycoveMuseum_Painting1_Left, 1
- setmetatile 19, 6, METATILE_LilycoveMuseum_Painting1_Right, 1
+ setmetatile 18, 6, METATILE_LilycoveMuseum_Painting1_Left, TRUE
+ setmetatile 19, 6, METATILE_LilycoveMuseum_Painting1_Right, TRUE
goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckCutePainting
end
LilycoveCity_LilycoveMuseum_2F_EventScript_SetCutePainting::
- setmetatile 14, 10, METATILE_LilycoveMuseum_Painting3_Left, 1
- setmetatile 15, 10, METATILE_LilycoveMuseum_Painting3_Right, 1
+ setmetatile 14, 10, METATILE_LilycoveMuseum_Painting3_Left, TRUE
+ setmetatile 15, 10, METATILE_LilycoveMuseum_Painting3_Right, TRUE
goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckSmartPainting
end
LilycoveCity_LilycoveMuseum_2F_EventScript_SetSmartPainting::
- setmetatile 6, 10, METATILE_LilycoveMuseum_Painting0_Left, 1
- setmetatile 7, 10, METATILE_LilycoveMuseum_Painting0_Right, 1
+ setmetatile 6, 10, METATILE_LilycoveMuseum_Painting0_Left, TRUE
+ setmetatile 7, 10, METATILE_LilycoveMuseum_Painting0_Right, TRUE
goto LilycoveCity_LilycoveMuseum_2F_EventScript_CheckToughPainting
end
LilycoveCity_LilycoveMuseum_2F_EventScript_SetToughPainting::
- setmetatile 2, 6, METATILE_LilycoveMuseum_Painting4_Left, 1
- setmetatile 3, 6, METATILE_LilycoveMuseum_Painting4_Right, 1
+ setmetatile 2, 6, METATILE_LilycoveMuseum_Painting4_Left, TRUE
+ setmetatile 3, 6, METATILE_LilycoveMuseum_Painting4_Right, TRUE
end
LilycoveCity_LilycoveMuseum_2F_OnFrame:
@@ -121,8 +121,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_GiveGlassOrnament::
applymovement LOCALID_CURATOR, Common_Movement_FacePlayer
msgbox LilycoveCity_LilycoveMuseum_2F_Text_TokenOfGratitude, MSGBOX_DEFAULT
givedecoration DECOR_GLASS_ORNAMENT
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_LilycoveMuseum_2F_EventScript_NoRoomForGlassOrnament
setflag FLAG_RECEIVED_GLASS_ORNAMENT
closemessage
releaseall
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
index ff340c9f33..db042653e1 100644
--- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
@@ -18,20 +18,16 @@ LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget::
msgbox LilycoveCity_MoveDeletersHouse_Text_WhichMonShouldForget, MSGBOX_DEFAULT
special ChoosePartyMon
waitstate
- compare VAR_0x8004, 255
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, LilycoveCity_MoveDeletersHouse_EventScript_ComeAgain
special IsSelectedMonEgg
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_EggCantForgetMoves
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_MoveDeletersHouse_EventScript_EggCantForgetMoves
special GetNumMovesSelectedMonHas
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_MonOnlyKnowsOneMove
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_MoveDeletersHouse_EventScript_MonOnlyKnowsOneMove
msgbox LilycoveCity_MoveDeletersHouse_Text_WhichMoveShouldBeForgotten, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
special MoveDeleterChooseMoveToForget
fadescreen FADE_FROM_BLACK
- compare VAR_0x8005, MAX_MON_MOVES
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget
+ goto_if_eq VAR_0x8005, MAX_MON_MOVES, LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget
special BufferMoveDeleterNicknameAndMove
msgbox LilycoveCity_MoveDeletersHouse_Text_MonsMoveShouldBeForgotten, MSGBOX_YESNO
switch VAR_RESULT
@@ -42,8 +38,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_ChooseMonAndMoveToForget::
LilycoveCity_MoveDeletersHouse_EventScript_TryForgetMove::
special IsLastMonThatKnowsSurf
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_LastMonWithSurf
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_MoveDeletersHouse_EventScript_LastMonWithSurf
special MoveDeleterForgetMove
playfanfare MUS_MOVE_DELETED
waitfanfare
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
index 03f2657e71..a7f853afad 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
@@ -13,10 +13,8 @@ LilycoveCity_PokemonCenter_1F_OnTransition:
@ SetLilycoveLadyGfx returns TRUE if its the Contest Lady
LilycoveCity_PokemonCenter_1F_EventScript_SetLilycoveLadyGfx::
special SetLilycoveLadyGfx
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_ShowContestLadyMon
end
LilycoveCity_PokemonCenter_1F_EventScript_HideContestLadyMon::
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
index 63e7084880..ba8001324a 100644
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
@@ -73,10 +73,8 @@ LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer:
LilycoveCity_PokemonTrainerFanClub_OnTransition:
call LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer
- compare VAR_LILYCOVE_FAN_CLUB_STATE, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting
- compare VAR_LILYCOVE_FAN_CLUB_STATE, 2
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions
+ goto_if_eq VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_SetFanMemberPositionsForFirstFanMeeting
+ goto_if_eq VAR_LILYCOVE_FAN_CLUB_STATE, 2, LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions
end
LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions::
@@ -84,42 +82,33 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions::
call LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow
setvar VAR_0x8004, FANCLUB_MEMBER1
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER2
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER3
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER4
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER5
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER6
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER7
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable
setvar VAR_0x8004, FANCLUB_MEMBER8
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
end
LilycoveCity_PokemonTrainerFanClub_EventScript_HideOrShowInterviewer::
specialvar VAR_RESULT, ShouldHideFanClubInterviewer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_HideInterviewer
clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
clearflag FLAG_FAN_CLUB_STRENGTH_SHARED
return
@@ -134,38 +123,29 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_CheckSetUpTVShow::
setvar VAR_0x8005, NUM_TRAINER_FAN_CLUB_MEMBERS
setvar VAR_0x8004, FANCLUB_MEMBER1
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER2
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER3
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER4
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER5
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER6
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER7
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
setvar VAR_0x8004, FANCLUB_MEMBER8
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, FALSE
- call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
- compare VAR_0x8005, 5
- goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow
+ call_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan
+ goto_if_ge VAR_0x8005, 5, LilycoveCity_PokemonTrainerFanClub_EventScript_TrySetUpTVShow
return
LilycoveCity_PokemonTrainerFanClub_EventScript_CountNotPlayersFan::
@@ -222,22 +202,18 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Man::
faceplayer
setvar VAR_0x8004, FANCLUB_MEMBER6
special BufferFanClubTrainerName
- compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion
+ goto_if_eq VAR_LILYCOVE_FAN_CLUB_STATE, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayerNotChampion
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainersPowerIsOutOfTheOrdinary, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_ManPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_ManOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureOneWeWantToWin, MSGBOX_DEFAULT
release
end
@@ -262,22 +238,18 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Lass::
faceplayer
setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferFanClubTrainerName
- compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion
+ goto_if_eq VAR_LILYCOVE_FAN_CLUB_STATE, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayerNotChampion
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_ICantHelpLikingBrawly, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_LassPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_LassOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_ImPullingForYou, MSGBOX_DEFAULT
release
end
@@ -302,22 +274,18 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanM::
faceplayer
setvar VAR_0x8004, FANCLUB_MEMBER2
special BufferFanClubTrainerName
- compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion
+ goto_if_eq VAR_LILYCOVE_FAN_CLUB_STATE, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayerNotChampion
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_LongWayToGoComparedToNorman, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_PokefanMOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouveSurpassedYourFather, MSGBOX_DEFAULT
release
end
@@ -342,22 +310,18 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirl::
faceplayer
setvar VAR_0x8004, FANCLUB_MEMBER3
special BufferFanClubTrainerName
- compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion
+ goto_if_eq VAR_LILYCOVE_FAN_CLUB_STATE, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_EveryoneThinksTrainerIsCool, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_OhWoweeItsPlayer, MSGBOX_DEFAULT
release
end
@@ -383,19 +347,16 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoy::
setvar VAR_0x8004, FANCLUB_MEMBER4
special BufferFanClubTrainerName
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsWickedlyCool, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_NinjaBoyOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_WantToBeStrongLikeYou, MSGBOX_DEFAULT
release
end
@@ -416,19 +377,16 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Boy::
setvar VAR_0x8004, FANCLUB_MEMBER5
special BufferFanClubTrainerName
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_ThinkTrainerIsNumberOne, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_BoyPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_BoyOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YoureAmazingAfterAll, MSGBOX_DEFAULT
release
end
@@ -449,19 +407,16 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Woman::
setvar VAR_0x8004, FANCLUB_MEMBER7
special BufferFanClubTrainerName
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_TrainerIsStandout, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouChangedMyMind, MSGBOX_DEFAULT
release
end
@@ -482,19 +437,16 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertF::
setvar VAR_0x8004, FANCLUB_MEMBER8
special BufferFanClubTrainerName
specialvar VAR_RESULT, IsFanClubMemberFanOfPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1)
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan
+ goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyNonFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaventRealizedPotential, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFPlayersFan::
specialvar VAR_RESULT, GetNumFansOfPlayerInTrainerFanClub
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_ExpertFOnlyFan
msgbox LilycoveCity_PokemonTrainerFanClub_Text_YouImpressive, MSGBOX_DEFAULT
release
end
@@ -521,8 +473,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Interviewer::
LilycoveCity_PokemonTrainerFanClub_EventScript_Interview::
setvar VAR_0x8005, TVSHOW_FAN_CLUB_SPECIAL
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonTrainerFanClub_EventScript_AlreadyInterviewed2
copyvar VAR_0x800A, VAR_0x8006
setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferFanClubTrainerName
@@ -532,10 +483,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_Interview::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion
end
LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion::
@@ -547,10 +496,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion::
setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion
end
LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion::
@@ -562,10 +509,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_AskForOpinion::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_SubmitOpinion
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_CancelGiveOpinion
end
LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer::
@@ -592,10 +537,8 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_CancelRateTrainer::
setvar VAR_0x8004, FANCLUB_MEMBER1
special BufferFanClubTrainerName
msgbox LilycoveCity_PokemonTrainerFanClub_Text_HaveYouForgottenTrainer2, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonTrainerFanClub_EventScript_RateTrainer
end
LilycoveCity_PokemonTrainerFanClub_EventScript_ForgetTrainer::
diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc
index 1936b5ad83..69961bf362 100644
--- a/data/maps/LittlerootTown/scripts.inc
+++ b/data/maps/LittlerootTown/scripts.inc
@@ -42,23 +42,15 @@ LittlerootTown_MapScripts::
LittlerootTown_OnTransition:
setflag FLAG_VISITED_LITTLEROOT_TOWN
call Common_EventScript_SetupRivalGfxId
- compare VAR_LITTLEROOT_INTRO_STATE, 2
- call_if_eq LittlerootTown_EventScript_MoveMomToMaysDoor
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 2, LittlerootTown_EventScript_MoveMomToMaysDoor
call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_SetTwinPos
- compare VAR_LITTLEROOT_TOWN_STATE, 3
- call_if_eq LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos
- compare VAR_LITTLEROOT_HOUSES_STATE_MAY, 4
- call_if_eq LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent
- compare VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4
- call_if_eq LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent
- compare VAR_OLDALE_RIVAL_STATE, 1
- call_if_eq LittlerootTown_EventScript_MoveRivalFromOldale
- compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if_eq LittlerootTown_EventScript_SetRivalLeftForRoute103
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1
- call_if_eq LittlerootTown_EventScript_HideMapNamePopup
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- call_if_eq LittlerootTown_EventScript_LeftLabAfterDexUpgrade
+ call_if_eq VAR_LITTLEROOT_TOWN_STATE, 3, LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos
+ call_if_eq VAR_LITTLEROOT_HOUSES_STATE_MAY, 4, LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent
+ call_if_eq VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4, LittlerootTown_EventScript_SetExitedHouseAfterLatiSSTicketEvent
+ call_if_eq VAR_OLDALE_RIVAL_STATE, 1, LittlerootTown_EventScript_MoveRivalFromOldale
+ call_if_eq VAR_LITTLEROOT_RIVAL_STATE, 3, LittlerootTown_EventScript_SetRivalLeftForRoute103
+ call_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_HideMapNamePopup
+ call_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_EventScript_LeftLabAfterDexUpgrade
end
LittlerootTown_EventScript_LeftLabAfterDexUpgrade::
@@ -88,8 +80,7 @@ LittlerootTown_EventScript_MoveMomToMaysDoor::
return
LittlerootTown_EventScript_SetTwinPos::
- compare VAR_LITTLEROOT_TOWN_STATE, 0
- goto_if_eq LittlerootTown_EventScript_SetTwinGuardingRoutePos
+ goto_if_eq VAR_LITTLEROOT_TOWN_STATE, 0, LittlerootTown_EventScript_SetTwinGuardingRoutePos
setobjectxyperm LOCALID_TWIN, 10, 1
setobjectmovementtype LOCALID_TWIN, MOVEMENT_TYPE_FACE_UP
return
@@ -103,10 +94,8 @@ LittlerootTown_EventScript_SetMomStandingInFrontOfDoorPos::
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setobjectmovementtype LOCALID_MOM, MOVEMENT_TYPE_FACE_DOWN
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_SetMomInFrontOfDoorMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_SetMomInFrontOfDoorFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_SetMomInFrontOfDoorMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_SetMomInFrontOfDoorFemale
return
LittlerootTown_EventScript_SetMomInFrontOfDoorMale::
@@ -129,7 +118,7 @@ LittlerootTown_EventScript_StepOffTruckMale::
setvar VAR_0x8005, 8
call LittlerootTown_EventScript_GoInsideWithMom
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK
- warpsilent MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 255, 8, 8
+ warpsilent MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 8, 8
waitstate
releaseall
end
@@ -140,7 +129,7 @@ LittlerootTown_EventScript_StepOffTruckFemale::
setvar VAR_0x8005, 8
call LittlerootTown_EventScript_GoInsideWithMom
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK
- warpsilent MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F, 255, 2, 8
+ warpsilent MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F, 2, 8
waitstate
releaseall
end
@@ -230,7 +219,7 @@ LittlerootTown_EventScript_BeginDexUpgradeScene::
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
delay 20
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
+ warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 6, 5
waitstate
releaseall
end
@@ -243,8 +232,7 @@ LittlerootTown_EventScript_SetRivalBirchPosForDexUpgrade::
addobject LOCALID_BIRCH
addobject LOCALID_RIVAL
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale
+ goto_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeMale
goto LittlerootTown_EventScript_SetRivalBirchPosForDexUpgradeFemale
end
@@ -271,8 +259,7 @@ LittlerootTown_EventScript_Twin::
faceplayer
goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_GoodLuck
goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_YouSavedBirch
- compare VAR_LITTLEROOT_TOWN_STATE, 0
- goto_if_ne LittlerootTown_EventScript_GoSaveBirch
+ goto_if_ne VAR_LITTLEROOT_TOWN_STATE, 0, LittlerootTown_EventScript_GoSaveBirch
msgbox LittlerootTown_Text_IfYouGoInGrassPokemonWillJumpOut, MSGBOX_DEFAULT
release
end
@@ -416,10 +403,8 @@ LittlerootTown_EventScript_BirchsLabSign::
LittlerootTown_EventScript_BrendansHouseSign::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_PlayersHouseSignMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_BirchsHouseSignFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_PlayersHouseSignMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_BirchsHouseSignFemale
releaseall
end
@@ -434,10 +419,8 @@ LittlerootTown_EventScript_BirchsHouseSignFemale::
LittlerootTown_EventScript_MaysHouseSign::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_BirchsHouseSignMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_PlayersHouseSignFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_BirchsHouseSignMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_PlayersHouseSignFemale
releaseall
end
@@ -489,28 +472,20 @@ LittlerootTown_EventScript_GiveRunningShoesTrigger5::
LittlerootTown_EventScript_GiveRunningShoesTrigger::
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_MomNoticePlayerMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_MomNoticePlayerFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_MomNoticePlayerMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_MomNoticePlayerFemale
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_SetHomeDoorCoordsMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_SetHomeDoorCoordsFemale
msgbox LittlerootTown_Text_WaitPlayer, MSGBOX_DEFAULT
closemessage
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_MomApproachPlayerMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_MomApproachPlayerFemale
call LittlerootTown_EventScript_GiveRunningShoes
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_MomReturnHomeMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_EventScript_MomReturnHomeMale
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_EventScript_MomReturnHomeFemale
goto LittlerootTown_EventScript_SetReceivedRunningShoes
end
@@ -535,33 +510,21 @@ LittlerootTown_EventScript_MomNoticePlayerFemale::
return
LittlerootTown_EventScript_MomApproachPlayerMale::
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_MomApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_MomApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale2
- compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale3
- compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale4
- compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerMale5
+ call_if_eq VAR_0x8008, 0, LittlerootTown_EventScript_MomApproachPlayer0
+ call_if_eq VAR_0x8008, 1, LittlerootTown_EventScript_MomApproachPlayer1
+ call_if_eq VAR_0x8008, 2, LittlerootTown_EventScript_MomApproachPlayerMale2
+ call_if_eq VAR_0x8008, 3, LittlerootTown_EventScript_MomApproachPlayerMale3
+ call_if_eq VAR_0x8008, 4, LittlerootTown_EventScript_MomApproachPlayerMale4
+ call_if_eq VAR_0x8008, 5, LittlerootTown_EventScript_MomApproachPlayerMale5
return
LittlerootTown_EventScript_MomApproachPlayerFemale::
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_MomApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_MomApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale2
- compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale3
- compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale4
- compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_MomApproachPlayerFemale5
+ call_if_eq VAR_0x8008, 0, LittlerootTown_EventScript_MomApproachPlayer0
+ call_if_eq VAR_0x8008, 1, LittlerootTown_EventScript_MomApproachPlayer1
+ call_if_eq VAR_0x8008, 2, LittlerootTown_EventScript_MomApproachPlayerFemale2
+ call_if_eq VAR_0x8008, 3, LittlerootTown_EventScript_MomApproachPlayerFemale3
+ call_if_eq VAR_0x8008, 4, LittlerootTown_EventScript_MomApproachPlayerFemale4
+ call_if_eq VAR_0x8008, 5, LittlerootTown_EventScript_MomApproachPlayerFemale5
return
LittlerootTown_EventScript_MomApproachPlayer0::
@@ -635,33 +598,21 @@ LittlerootTown_EventScript_MomApproachPlayerFemale5::
return
LittlerootTown_EventScript_MomReturnHomeMale::
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_MomReturnHome0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_MomReturnHome1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_MomReturnHomeMale2
- compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_MomReturnHomeMale3
- compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_MomReturnHomeMale4
- compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_MomReturnHomeMale5
+ call_if_eq VAR_0x8008, 0, LittlerootTown_EventScript_MomReturnHome0
+ call_if_eq VAR_0x8008, 1, LittlerootTown_EventScript_MomReturnHome1
+ call_if_eq VAR_0x8008, 2, LittlerootTown_EventScript_MomReturnHomeMale2
+ call_if_eq VAR_0x8008, 3, LittlerootTown_EventScript_MomReturnHomeMale3
+ call_if_eq VAR_0x8008, 4, LittlerootTown_EventScript_MomReturnHomeMale4
+ call_if_eq VAR_0x8008, 5, LittlerootTown_EventScript_MomReturnHomeMale5
return
LittlerootTown_EventScript_MomReturnHomeFemale::
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_EventScript_MomReturnHome0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_EventScript_MomReturnHome1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale2
- compare VAR_0x8008, 3
- call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale3
- compare VAR_0x8008, 4
- call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale4
- compare VAR_0x8008, 5
- call_if_eq LittlerootTown_EventScript_MomReturnHomeFemale5
+ call_if_eq VAR_0x8008, 0, LittlerootTown_EventScript_MomReturnHome0
+ call_if_eq VAR_0x8008, 1, LittlerootTown_EventScript_MomReturnHome1
+ call_if_eq VAR_0x8008, 2, LittlerootTown_EventScript_MomReturnHomeFemale2
+ call_if_eq VAR_0x8008, 3, LittlerootTown_EventScript_MomReturnHomeFemale3
+ call_if_eq VAR_0x8008, 4, LittlerootTown_EventScript_MomReturnHomeFemale4
+ call_if_eq VAR_0x8008, 5, LittlerootTown_EventScript_MomReturnHomeFemale5
return
LittlerootTown_EventScript_MomReturnHome0::
@@ -924,10 +875,8 @@ LittlerootTown_EventScript_Mom::
lock
faceplayer
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsMale
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_EventScript_SetHomeDoorCoordsFemale
+ 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
waitmovement 0
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
index 2e4ff739d1..cce8cd59b9 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
@@ -9,33 +9,28 @@ LittlerootTown_BrendansHouse_1F_MapScripts::
.byte 0
LittlerootTown_BrendansHouse_1F_OnLoad:
- compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes
+ call_if_lt VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes
call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_BrendansHouse_1F_EventScript_CheckShowShoesManual
end
LittlerootTown_BrendansHouse_1F_EventScript_SetMovingBoxes::
- setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, 1
- setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, 1
+ setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, TRUE
+ setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, TRUE
return
LittlerootTown_BrendansHouse_1F_EventScript_CheckShowShoesManual::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual
+ goto_if_eq VAR_RESULT, MALE, LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual
return
LittlerootTown_BrendansHouse_1F_EventScript_ShowRunningShoesManual::
- setmetatile 3, 7, METATILE_BrendansMaysHouse_BookOnTable, 1
+ setmetatile 3, 7, METATILE_BrendansMaysHouse_BookOnTable, TRUE
return
LittlerootTown_BrendansHouse_1F_OnTransition:
- compare VAR_LITTLEROOT_INTRO_STATE, 3
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor
- compare VAR_LITTLEROOT_INTRO_STATE, 5
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs
- compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToDoor
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToTV
end
LittlerootTown_BrendansHouse_1F_EventScript_MoveMomToStairs::
@@ -70,7 +65,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_GoUpstairsToSetClock::
applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs
applymovement LOCALID_MOM, LittlerootTown_BrendansHouse_1F_Movement_PushTowardStairs
waitmovement 0
- warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1
+ warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 7, 1
waitstate
releaseall
end
@@ -156,23 +151,16 @@ LittlerootTown_BrendansHouse_1F_EventScript_MeetRival::
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_Delay48
waitmovement 0
- compare VAR_0x8008, 1
- call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan
+ call_if_ne VAR_0x8008, 1, LittlerootTown_BrendansHouse_1F_EventScript_PlayerFaceBrendan
playbgm MUS_ENCOUNTER_BRENDAN, TRUE
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2
+ call_if_eq VAR_0x8008, 0, LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer0
+ call_if_eq VAR_0x8008, 1, LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer1
+ call_if_eq VAR_0x8008, 2, LittlerootTown_BrendansHouse_1F_EventScript_BrendanApproachPlayer2
msgbox RivalsHouse_1F_Text_BrendanWhoAreYou, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs2
+ call_if_eq VAR_0x8008, 0, LittlerootTown_BrendansHouse_1F_EventScript_BrendanGoUpstairs0
+ 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
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index b4db71e290..cd4d155192 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -6,28 +6,23 @@ LittlerootTown_BrendansHouse_2F_MapScripts::
.byte 0
LittlerootTown_BrendansHouse_2F_OnTransition:
- compare VAR_LITTLEROOT_RIVAL_STATE, 2
- call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan
- compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos
- compare VAR_LITTLEROOT_INTRO_STATE, 4
- call_if_eq PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet
+ call_if_lt VAR_LITTLEROOT_RIVAL_STATE, 2, LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan
+ call_if_ge VAR_LITTLEROOT_RIVAL_STATE, 3, LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 4, PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet
call SecretBase_EventScript_SetDecorationFlags
setvar VAR_SECRET_BASE_INITIALIZED, 0
end
LittlerootTown_BrendansHouse_2F_EventScript_CheckShouldUpdateBrendanPos::
goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos
- compare VAR_BIRCH_LAB_STATE, 2
- goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_Ret
+ goto_if_ge VAR_BIRCH_LAB_STATE, 2, LittlerootTown_BrendansHouse_2F_EventScript_Ret
goto LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos
LittlerootTown_BrendansHouse_2F_EventScript_TryUpdateBrendanPos::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_Ret
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret @ Odd that the MaysHouse equivalent was used here instead
+ 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
return
@@ -37,8 +32,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_Ret::
LittlerootTown_BrendansHouse_2F_EventScript_CheckSetReadyToMeetBrendan::
checkplayergender
- compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan
+ goto_if_eq VAR_RESULT, FEMALE, LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan
return
LittlerootTown_BrendansHouse_2F_EventScript_SetReadyToMeetBrendan::
@@ -51,14 +45,12 @@ LittlerootTown_BrendansHouse_2F_OnWarp:
LittlerootTown_BrendansHouse_2F_EventScript_CheckInitDecor::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq SecretBase_EventScript_InitDecorations
+ goto_if_eq VAR_RESULT, MALE, SecretBase_EventScript_InitDecorations
end
LittlerootTown_BrendansHouse_2F_EventScript_RivalsPokeBall::
lockall
- compare VAR_LITTLEROOT_RIVAL_STATE, 2
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan
+ goto_if_eq VAR_LITTLEROOT_RIVAL_STATE, 2, LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan
msgbox RivalsHouse_2F_Text_ItsRivalsPokeBall, MSGBOX_DEFAULT
releaseall
end
@@ -75,14 +67,10 @@ LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendan::
waitmovement 0
delay 10
playbgm MUS_ENCOUNTER_BRENDAN, TRUE
- compare VAR_FACING, DIR_NORTH
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth
- compare VAR_FACING, DIR_WEST
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest
- compare VAR_FACING, DIR_EAST
- call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast
+ call_if_eq VAR_FACING, DIR_NORTH, LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanSouth
+ call_if_eq VAR_FACING, DIR_WEST, LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanWest
+ call_if_eq VAR_FACING, DIR_EAST, LittlerootTown_BrendansHouse_2F_EventScript_MeetBrendanEast
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
@@ -250,14 +238,12 @@ LittlerootTown_BrendansHouse_2F_Movement_PlayerWatchBrendanEast:
LittlerootTown_BrendansHouse_2F_EventScript_PC::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC
- compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_CheckRivalsPC
+ goto_if_eq VAR_RESULT, MALE, LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC
+ goto_if_eq VAR_RESULT, FEMALE, LittlerootTown_BrendansHouse_2F_EventScript_CheckRivalsPC
end
LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC::
- setvar VAR_0x8004, 1
+ setvar VAR_0x8004, PC_LOCATION_BRENDANS_HOUSE
special DoPCTurnOnEffect
playse SE_PC_ON
msgbox gText_PlayerHouseBootPC, MSGBOX_DEFAULT
@@ -267,7 +253,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_CheckPlayersPC::
end
LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC::
- setvar VAR_0x8004, 1
+ setvar VAR_0x8004, PC_LOCATION_BRENDANS_HOUSE
playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
index 5fcec19512..b4c4775c33 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
@@ -9,33 +9,28 @@ LittlerootTown_MaysHouse_1F_MapScripts::
.byte 0
LittlerootTown_MaysHouse_1F_OnLoad:
- compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_lt LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes
+ call_if_lt VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes
call_if_set FLAG_RECEIVED_RUNNING_SHOES, LittlerootTown_MaysHouse_1F_EventScript_CheckShowShoesManual
end
LittlerootTown_MaysHouse_1F_EventScript_SetMovingBoxes::
- setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, 1
- setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, 1
+ setmetatile 5, 4, METATILE_BrendansMaysHouse_MovingBox_Open, TRUE
+ setmetatile 5, 2, METATILE_BrendansMaysHouse_MovingBox_Closed, TRUE
return
LittlerootTown_MaysHouse_1F_EventScript_CheckShowShoesManual::
checkplayergender
- compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual
+ goto_if_eq VAR_RESULT, FEMALE, LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual
return
LittlerootTown_MaysHouse_1F_EventScript_ShowRunningShoesManual::
- setmetatile 6, 7, METATILE_BrendansMaysHouse_BookOnTable, 1
+ setmetatile 6, 7, METATILE_BrendansMaysHouse_BookOnTable, TRUE
return
LittlerootTown_MaysHouse_1F_OnTransition:
- compare VAR_LITTLEROOT_INTRO_STATE, 3
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor
- compare VAR_LITTLEROOT_INTRO_STATE, 5
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs
- compare VAR_LITTLEROOT_INTRO_STATE, 6
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 3, LittlerootTown_MaysHouse_1F_EventScript_MoveMomToDoor
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 5, LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 6, LittlerootTown_MaysHouse_1F_EventScript_MoveMomToTV
end
LittlerootTown_MaysHouse_1F_EventScript_MoveMomToStairs::
@@ -69,7 +64,7 @@ LittlerootTown_MaysHouse_1F_EventScript_GoUpstairsToSetClock::
applymovement OBJ_EVENT_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs
applymovement LOCALID_MOM, LittlerootTown_MaysHouse_1F_Movement_PushTowardStairs
waitmovement 0
- warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1
+ warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 1, 1
waitstate
releaseall
end
@@ -123,8 +118,7 @@ RivalsHouse_1F_EventScript_RivalMom::
faceplayer
goto_if_set FLAG_DEFEATED_RIVAL_ROUTE103, RivalsHouse_1F_EventScript_GoHomeEverySoOften
goto_if_set FLAG_SYS_POKEMON_GET, RivalsHouse_1F_EventScript_RivalIsOnRoute103
- compare VAR_LITTLEROOT_RIVAL_STATE, 3
- goto_if_eq RivalsHouse_1F_EventScript_RivalTooBusy
+ goto_if_eq VAR_LITTLEROOT_RIVAL_STATE, 3, RivalsHouse_1F_EventScript_RivalTooBusy
special GetRivalSonDaughterString
msgbox RivalsHouse_1F_Text_LikeChildLikeFather, MSGBOX_DEFAULT
release
@@ -190,23 +184,16 @@ LittlerootTown_MaysHouse_1F_EventScript_MeetRival::
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_Delay48
waitmovement 0
- compare VAR_0x8008, 1
- call_if_ne LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay
+ call_if_ne VAR_0x8008, 1, LittlerootTown_MaysHouse_1F_EventScript_PlayerFaceMay
playbgm MUS_ENCOUNTER_MAY, TRUE
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2
+ call_if_eq VAR_0x8008, 0, LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer0
+ call_if_eq VAR_0x8008, 1, LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer1
+ call_if_eq VAR_0x8008, 2, LittlerootTown_MaysHouse_1F_EventScript_MayApproachPlayer2
msgbox RivalsHouse_1F_Text_MayWhoAreYou, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0
- compare VAR_0x8008, 1
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs1
- compare VAR_0x8008, 2
- call_if_eq LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs2
+ call_if_eq VAR_0x8008, 0, LittlerootTown_MaysHouse_1F_EventScript_MayGoUpstairs0
+ 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
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index af6877a887..ef8e83bf7e 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -6,28 +6,22 @@ LittlerootTown_MaysHouse_2F_MapScripts::
.byte 0
LittlerootTown_MaysHouse_2F_OnTransition:
- compare VAR_LITTLEROOT_RIVAL_STATE, 2
- call_if_lt LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay
- compare VAR_LITTLEROOT_RIVAL_STATE, 3
- call_if_ge LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos
- compare VAR_LITTLEROOT_INTRO_STATE, 4
- call_if_eq PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet
+ call_if_lt VAR_LITTLEROOT_RIVAL_STATE, 2, LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay
+ call_if_ge VAR_LITTLEROOT_RIVAL_STATE, 3, LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos
+ call_if_eq VAR_LITTLEROOT_INTRO_STATE, 4, PlayersHouse_2F_EventScript_BlockStairsUntilClockIsSet
call SecretBase_EventScript_SetDecorationFlags
setvar VAR_SECRET_BASE_INITIALIZED, 0
end
LittlerootTown_MaysHouse_2F_EventScript_CheckShouldUpdateMayPos::
goto_if_set FLAG_MET_RIVAL_LILYCOVE, LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos
- compare VAR_BIRCH_LAB_STATE, 2
- goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret
+ goto_if_ge VAR_BIRCH_LAB_STATE, 2, LittlerootTown_MaysHouse_2F_EventScript_Ret
goto LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos
LittlerootTown_MaysHouse_2F_EventScript_TryUpdateMayPos::
checkplayergender
- compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_Ret
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_Ret
+ 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
return
@@ -37,8 +31,7 @@ LittlerootTown_MaysHouse_2F_EventScript_Ret::
LittlerootTown_MaysHouse_2F_EventScript_CheckSetReadyToMeetMay::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay
+ goto_if_eq VAR_RESULT, MALE, LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay
return
LittlerootTown_MaysHouse_2F_EventScript_SetReadyToMeetMay::
@@ -51,14 +44,12 @@ LittlerootTown_MaysHouse_2F_OnWarp:
LittlerootTown_MaysHouse_2F_EventScript_CheckInitDecor::
checkplayergender
- compare VAR_RESULT, FEMALE
- goto_if_eq SecretBase_EventScript_InitDecorations
+ goto_if_eq VAR_RESULT, FEMALE, SecretBase_EventScript_InitDecorations
end
LittlerootTown_MaysHouse_2F_EventScript_RivalsPokeBall::
lockall
- compare VAR_LITTLEROOT_RIVAL_STATE, 2
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMay
+ goto_if_eq VAR_LITTLEROOT_RIVAL_STATE, 2, LittlerootTown_MaysHouse_2F_EventScript_MeetMay
msgbox RivalsHouse_2F_Text_ItsRivalsPokeBall, MSGBOX_DEFAULT
releaseall
end
@@ -75,14 +66,10 @@ LittlerootTown_MaysHouse_2F_EventScript_MeetMay::
waitmovement 0
delay 10
playbgm MUS_ENCOUNTER_MAY, TRUE
- compare VAR_FACING, DIR_NORTH
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth
- compare VAR_FACING, DIR_WEST
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest
- compare VAR_FACING, DIR_EAST
- call_if_eq LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast
+ call_if_eq VAR_FACING, DIR_NORTH, LittlerootTown_MaysHouse_2F_EventScript_MeetMayNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, LittlerootTown_MaysHouse_2F_EventScript_MeetMaySouth
+ call_if_eq VAR_FACING, DIR_WEST, LittlerootTown_MaysHouse_2F_EventScript_MeetMayWest
+ call_if_eq VAR_FACING, DIR_EAST, LittlerootTown_MaysHouse_2F_EventScript_MeetMayEast
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
@@ -252,10 +239,8 @@ RivalsHouse_2F_EventScript_Rival::
lockall
goto_if_set FLAG_MET_RIVAL_LILYCOVE, RivalsHouse_2F_EventScript_RivalPostLilycove
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq RivalsHouse_2F_EventScript_May
- compare VAR_RESULT, FEMALE
- goto_if_eq RivalsHouse_2F_EventScript_Brendan
+ goto_if_eq VAR_RESULT, MALE, RivalsHouse_2F_EventScript_May
+ goto_if_eq VAR_RESULT, FEMALE, RivalsHouse_2F_EventScript_Brendan
end
RivalsHouse_2F_EventScript_May::
@@ -272,10 +257,8 @@ RivalsHouse_2F_EventScript_RivalPostLilycove::
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq RivalsHouse_2F_EventScript_MayPostLilycove
- compare VAR_RESULT, FEMALE
- call_if_eq RivalsHouse_2F_EventScript_BrendanPostLilycove
+ call_if_eq VAR_RESULT, MALE, RivalsHouse_2F_EventScript_MayPostLilycove
+ call_if_eq VAR_RESULT, FEMALE, RivalsHouse_2F_EventScript_BrendanPostLilycove
setflag FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE
releaseall
end
@@ -301,10 +284,8 @@ RivalsHouse_2F_EventScript_BrendanWhereShouldIGoNext::
LittlerootTown_MaysHouse_2F_EventScript_PC::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC
- compare VAR_RESULT, FEMALE
- goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC
+ goto_if_eq VAR_RESULT, MALE, LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC
+ goto_if_eq VAR_RESULT, FEMALE, LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC
end
LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC::
@@ -313,7 +294,7 @@ LittlerootTown_MaysHouse_2F_EventScript_CheckRivalsPC::
end
LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC::
- setvar VAR_0x8004, 2
+ setvar VAR_0x8004, PC_LOCATION_MAYS_HOUSE
special DoPCTurnOnEffect
playse SE_PC_ON
msgbox gText_PlayerHouseBootPC, MSGBOX_DEFAULT
@@ -323,7 +304,7 @@ LittlerootTown_MaysHouse_2F_EventScript_CheckPlayersPC::
end
LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC::
- setvar VAR_0x8004, 2
+ setvar VAR_0x8004, PC_LOCATION_MAYS_HOUSE
playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
index 0a828c426b..acf80f0e40 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
@@ -29,18 +29,14 @@ LittlerootTown_ProfessorBirchsLab_MapScripts::
LittlerootTown_ProfessorBirchsLab_OnTransition:
call Common_EventScript_SetupRivalGfxId
call ProfBirch_EventScript_UpdateLocation
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_SetAfterJohtoStarterLayout
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_SetJohtoStarterLayout
+ goto_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter
end
LittlerootTown_ProfessorBirchsLab_EventScript_CheckReadyForJohtoStarter::
specialvar VAR_RESULT, HasAllHoennMons
- compare VAR_RESULT, TRUE
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter
+ goto_if_eq VAR_RESULT, TRUE, LittlerootTown_ProfessorBirchsLab_EventScript_SetReadyForJohtoStarter
setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_WANDER_UP_AND_DOWN
setobjectxyperm LOCALID_RIVAL, 5, 10
end
@@ -117,16 +113,14 @@ LittlerootTown_ProfessorBirchsLab_OnFrame:
@ This is just where the game tells you its yours and lets you nickname it
LittlerootTown_ProfessorBirchsLab_EventScript_GiveStarterEvent::
lockall
- bufferleadmonspeciesname 0
+ bufferleadmonspeciesname STR_VAR_1
message LittlerootTown_ProfessorBirchsLab_Text_LikeYouToHavePokemon
waitmessage
playfanfare MUS_OBTAIN_ITEM
waitfanfare
msgbox LittlerootTown_ProfessorBirchsLab_Text_WhyNotGiveNicknameToMon, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival
+ goto_if_eq VAR_RESULT, YES, LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival
end
LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter::
@@ -137,10 +131,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_NicknameStarter::
LittlerootTown_ProfessorBirchsLab_EventScript_GoSeeRival::
msgbox LittlerootTown_ProfessorBirchsLab_Text_MightBeGoodIdeaToGoSeeRival, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival
+ goto_if_eq VAR_RESULT, YES, LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival
end
LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival::
@@ -152,10 +144,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival::
LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival::
msgbox LittlerootTown_ProfessorBirchsLab_Text_DontBeThatWay, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival
+ goto_if_eq VAR_RESULT, YES, LittlerootTown_ProfessorBirchsLab_EventScript_AgreeToSeeRival
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_DeclineSeeingRival
end
LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedexEvent::
@@ -195,10 +185,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_UpgradeToNationalDex::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanUpgradeComment
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayUpgradeComment
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanUpgradeComment
playse SE_PC_ON
waitse
delay 20
@@ -288,8 +276,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_PlayerEnterLabForJohtoStarter:
LittlerootTown_ProfessorBirchsLab_EventScript_Aide::
lock
faceplayer
- compare VAR_BIRCH_LAB_STATE, 3
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter
+ goto_if_ge VAR_BIRCH_LAB_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter
goto_if_set FLAG_BIRCH_AIDE_MET, LittlerootTown_ProfessorBirchsLab_EventScript_AideAlreadyMet
msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchAwayOnFieldwork, MSGBOX_DEFAULT
setflag FLAG_BIRCH_AIDE_MET
@@ -308,40 +295,34 @@ LittlerootTown_ProfessorBirchsLab_EventScript_AideReceivedStarter::
LittlerootTown_ProfessorBirchsLab_EventScript_Cyndaquil::
release
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
showmonpic SPECIES_CYNDAQUIL, 10, 3
msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeCyndaquil, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil
end
LittlerootTown_ProfessorBirchsLab_EventScript_Totodile::
release
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
showmonpic SPECIES_TOTODILE, 10, 3
msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeTotodile, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile
end
LittlerootTown_ProfessorBirchsLab_EventScript_Chikorita::
release
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_AlreadyChoseJohtoStarter
applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
showmonpic SPECIES_CHIKORITA, 10, 3
msgbox LittlerootTown_ProfessorBirchsLab_Text_YoullTakeChikorita, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime
goto LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita
end
@@ -357,13 +338,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime::
end
LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil::
- bufferspeciesname 0, SPECIES_CYNDAQUIL
+ bufferspeciesname STR_VAR_1, SPECIES_CYNDAQUIL
setvar VAR_TEMP_1, SPECIES_CYNDAQUIL
- givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC
+ givemon SPECIES_CYNDAQUIL, 5
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC
hidemonpic
goto Common_EventScript_NoMoreRoomForPokemon
end
@@ -372,8 +351,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty::
call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject LOCALID_BALL_CYNDAQUIL
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil
@@ -383,8 +361,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC::
call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject LOCALID_BALL_CYNDAQUIL
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC
call Common_EventScript_NameReceivedBoxMon
goto LittlerootTown_ProfessorBirchsLab_EventScript_CyndaquilTransferredToPC
end
@@ -402,13 +379,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil::
end
LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile::
- bufferspeciesname 0, SPECIES_TOTODILE
+ bufferspeciesname STR_VAR_1, SPECIES_TOTODILE
setvar VAR_TEMP_1, SPECIES_TOTODILE
- givemon SPECIES_TOTODILE, 5, ITEM_NONE
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC
+ givemon SPECIES_TOTODILE, 5
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC
hidemonpic
goto Common_EventScript_NoMoreRoomForPokemon
end
@@ -417,8 +392,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty::
call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject LOCALID_BALL_TOTODILE
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile
@@ -428,8 +402,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC::
call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject LOCALID_BALL_TOTODILE
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC
call Common_EventScript_NameReceivedBoxMon
goto LittlerootTown_ProfessorBirchsLab_EventScript_TotodileTransferredToPC
end
@@ -447,13 +420,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile::
end
LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita::
- bufferspeciesname 0, SPECIES_CHIKORITA
+ bufferspeciesname STR_VAR_1, SPECIES_CHIKORITA
setvar VAR_TEMP_1, SPECIES_CHIKORITA
- givemon SPECIES_CHIKORITA, 5, ITEM_NONE
- compare VAR_RESULT, 0
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty
- compare VAR_RESULT, 1
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC
+ givemon SPECIES_CHIKORITA, 5
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC
hidemonpic
goto Common_EventScript_NoMoreRoomForPokemon
end
@@ -462,8 +433,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty::
call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject LOCALID_BALL_CHIKORITA
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedChikorita
@@ -473,8 +443,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC::
call LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter
removeobject LOCALID_BALL_CHIKORITA
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC
+ goto_if_eq VAR_RESULT, NO, LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC
call Common_EventScript_NameReceivedBoxMon
goto LittlerootTown_ProfessorBirchsLab_EventScript_ChikoritaTransferredToPC
end
@@ -501,10 +470,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedJohtoStarter::
LittlerootTown_ProfessorBirchsLab_EventScript_Birch::
lock
faceplayer
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_CanHaveAnyOneOfRarePokemon
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting
+ goto_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_CanHaveAnyOneOfRarePokemon
+ goto_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting
goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister
goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, EventScript_RegisterProfBirch
goto LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister
@@ -522,12 +489,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GrassyPatchWaiting::
LittlerootTown_ProfessorBirchsLab_EventScript_TryRatePokedexOrRegister::
goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, ProfBirch_EventScript_RatePokedexOrRegister
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
- goto_if_eq ProfBirch_EventScript_RatePokedexOrRegister
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge ProfBirch_EventScript_RatePokedexOrRegister
- compare VAR_BIRCH_LAB_STATE, 5
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_PokemonAwait
+ goto_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, ProfBirch_EventScript_RatePokedexOrRegister
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, ProfBirch_EventScript_RatePokedexOrRegister
+ goto_if_eq VAR_BIRCH_LAB_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_PokemonAwait
msgbox LittlerootTown_ProfessorBirchsLab_Text_BirchRivalGoneHome, MSGBOX_DEFAULT
release
end
@@ -556,10 +520,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls
setvar VAR_BIRCH_LAB_STATE, 5
setflag FLAG_ADVENTURE_STARTED
setvar VAR_OLDALE_TOWN_STATE, 1
@@ -571,8 +533,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_GivePokedex::
LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls::
msgbox LittlerootTown_ProfessorBirchsLab_Text_MayGotPokedexTooTakeThese, MSGBOX_DEFAULT
giveitem ITEM_POKE_BALL, 5
- compare VAR_RESULT, FALSE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayNoRoomForPokeBalls
+ call_if_eq VAR_RESULT, FALSE, LittlerootTown_ProfessorBirchsLab_EventScript_MayNoRoomForPokeBalls
msgbox LittlerootTown_ProfessorBirchsLab_Text_CatchCutePokemonWithPokeBalls, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
@@ -580,8 +541,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_MayGivePokeBalls::
LittlerootTown_ProfessorBirchsLab_EventScript_BrendanGivePokeBalls::
msgbox LittlerootTown_ProfessorBirchsLab_Text_BrendanGotPokedexTooTakeThese, MSGBOX_DEFAULT
giveitem ITEM_POKE_BALL, 5
- compare VAR_RESULT, FALSE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanNoRoomForPokeBalls
+ call_if_eq VAR_RESULT, FALSE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanNoRoomForPokeBalls
msgbox LittlerootTown_ProfessorBirchsLab_Text_CatchCoolPokemonWithPokeBalls, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -621,17 +581,12 @@ LittlerootTown_ProfessorBirchsLab_EventScript_Machine::
LittlerootTown_ProfessorBirchsLab_EventScript_Rival::
lock
faceplayer
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
- goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
- goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork
+ goto_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier
+ goto_if_ge VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayWhereShouldIGoNext
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayWhereShouldIGoNext
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext
release
end
@@ -645,10 +600,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_BrendanWhereShouldIGoNext::
LittlerootTown_ProfessorBirchsLab_EventScript_RivalFuturePlans::
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayWhatNextImStayingHere
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayWhatNextImStayingHere
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly
release
end
@@ -662,10 +615,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_BrendanPreferCollectingSlowly:
LittlerootTown_ProfessorBirchsLab_EventScript_RivalHaveYouGoneToBattleFrontier::
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayHaveYouGoneToBattleFrontier
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayHaveYouGoneToBattleFrontier
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier
release
end
@@ -679,10 +630,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_BrendanHaveYouGoneToBattleFrontier
LittlerootTown_ProfessorBirchsLab_EventScript_RivalTakeBreakFromFieldwork::
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_MayTakeBreakFromFieldwork
- compare VAR_RESULT, FEMALE
- call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_BrendanTakeBreakFromFieldwork
+ call_if_eq VAR_RESULT, MALE, LittlerootTown_ProfessorBirchsLab_EventScript_MayTakeBreakFromFieldwork
+ call_if_eq VAR_RESULT, FEMALE, LittlerootTown_ProfessorBirchsLab_EventScript_BrendanTakeBreakFromFieldwork
release
end
diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc
index 296ef02f82..a7ff583695 100644
--- a/data/maps/MarineCave_End/scripts.inc
+++ b/data/maps/MarineCave_End/scripts.inc
@@ -11,8 +11,7 @@ MarineCave_End_OnResume:
MarineCave_End_EventScript_TryRemoveKyogre::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_KYOGRE
return
@@ -36,19 +35,16 @@ MarineCave_End_EventScript_Kyogre::
delay 40
waitmoncry
setvar VAR_LAST_TALKED, LOCALID_KYOGRE
- setwildbattle SPECIES_KYOGRE, 70, ITEM_NONE
+ setwildbattle SPECIES_KYOGRE, 70
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq MarineCave_End_EventScript_DefeatedKyogre
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq MarineCave_End_EventScript_RanFromKyogre
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq MarineCave_End_EventScript_RanFromKyogre
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, MarineCave_End_EventScript_DefeatedKyogre
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, MarineCave_End_EventScript_RanFromKyogre
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, MarineCave_End_EventScript_RanFromKyogre
setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_KYOGRE
releaseall
diff --git a/data/maps/MarineCave_Entrance/scripts.inc b/data/maps/MarineCave_Entrance/scripts.inc
index a075d2c30d..172a19d26c 100644
--- a/data/maps/MarineCave_Entrance/scripts.inc
+++ b/data/maps/MarineCave_Entrance/scripts.inc
@@ -3,6 +3,6 @@ MarineCave_Entrance_MapScripts::
.byte 0
MarineCave_Entrance_OnResume:
- setdivewarp MAP_UNDERWATER_MARINE_CAVE, 255, 9, 6
+ setdivewarp MAP_UNDERWATER_MARINE_CAVE, 9, 6
end
diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc
index eb243ec593..2ad39aec1c 100644
--- a/data/maps/MauvilleCity/scripts.inc
+++ b/data/maps/MauvilleCity/scripts.inc
@@ -107,10 +107,8 @@ MauvilleCity_EventScript_Wally::
end
MauvilleCity_EventScript_BattleWallyPrompt::
- compare VAR_RESULT, YES
- call_if_eq MauvilleCity_EventScript_BattleWally
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_EventScript_DeclineWallyBattle
+ call_if_eq VAR_RESULT, YES, MauvilleCity_EventScript_BattleWally
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_EventScript_DeclineWallyBattle
closemessage
switch VAR_FACING
case DIR_NORTH, MauvilleCity_EventScript_WallyAndUncleExitNorth
@@ -164,19 +162,15 @@ MauvilleCity_EventScript_DefeatedWally::
setflag FLAG_DEFEATED_WALLY_MAUVILLE
setvar VAR_WALLY_CALL_STEP_COUNTER, 0
setflag FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL
- compare VAR_FACING, DIR_NORTH
- call_if_eq MauvilleCity_EventScript_ScottApproachPlayerNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq MauvilleCity_EventScript_ScottApproachPlayerEast
+ 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
waitmovement 0
msgbox MauvilleCity_Text_ScottYouDidntHoldBack, MSGBOX_DEFAULT
closemessage
addvar VAR_SCOTT_STATE, 1
- compare VAR_FACING, DIR_NORTH
- call_if_eq MauvilleCity_EventScript_ScottExitNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq MauvilleCity_EventScript_ScottExitEast
+ call_if_eq VAR_FACING, DIR_NORTH, MauvilleCity_EventScript_ScottExitNorth
+ call_if_eq VAR_FACING, DIR_EAST, MauvilleCity_EventScript_ScottExitEast
removeobject LOCALID_SCOTT
releaseall
end
@@ -425,8 +419,7 @@ MauvilleCity_EventScript_Wattson::
lock
faceplayer
goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt
- compare VAR_NEW_MAUVILLE_STATE, 2
- goto_if_eq MauvilleCity_EventScript_CompletedNewMauville
+ goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, MauvilleCity_EventScript_CompletedNewMauville
goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_BegunNewMauville
msgbox MauvilleCity_Text_WattsonNeedFavorTakeKey, MSGBOX_DEFAULT
giveitem ITEM_BASEMENT_KEY
@@ -443,8 +436,7 @@ MauvilleCity_EventScript_BegunNewMauville::
MauvilleCity_EventScript_CompletedNewMauville::
msgbox MauvilleCity_Text_WattsonThanksTakeTM, MSGBOX_DEFAULT
giveitem ITEM_TM24
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_GOT_TM24_FROM_WATTSON
msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT
release
diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc
index 45efbe8f3b..0893384101 100644
--- a/data/maps/MauvilleCity_BikeShop/scripts.inc
+++ b/data/maps/MauvilleCity_BikeShop/scripts.inc
@@ -8,18 +8,14 @@ MauvilleCity_BikeShop_EventScript_Rydel::
goto_if_set FLAG_DECLINED_BIKE, MauvilleCity_BikeShop_EventScript_SkipGreeting
msgbox MauvilleCity_BikeShop_Text_RydelGreeting, MSGBOX_DEFAULT
msgbox MauvilleCity_BikeShop_Text_DidYouComeFromFarAway, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_BikeShop_EventScript_YesFar
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_BikeShop_EventScript_NotFar
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_BikeShop_EventScript_YesFar
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_BikeShop_EventScript_NotFar
end
MauvilleCity_BikeShop_EventScript_SkipGreeting::
msgbox MauvilleCity_BikeShop_Text_DidYouComeFromFarAway, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_BikeShop_EventScript_YesFar
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_BikeShop_EventScript_NotFar
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_BikeShop_EventScript_YesFar
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_BikeShop_EventScript_NotFar
end
MauvilleCity_BikeShop_EventScript_ChooseBike::
@@ -62,21 +58,17 @@ MauvilleCity_BikeShop_EventScript_ComeBackToSwitchBikes::
MauvilleCity_BikeShop_EventScript_AskSwitchBikes::
msgbox MauvilleCity_BikeShop_Text_WantToSwitchBikes, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchBikes
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_BikeShop_EventScript_KeepBike
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_BikeShop_EventScript_SwitchBikes
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_BikeShop_EventScript_KeepBike
end
@ If the player does not have a bike on them Rydel assumes its stored in the PC
MauvilleCity_BikeShop_EventScript_SwitchBikes::
msgbox MauvilleCity_BikeShop_Text_IllSwitchBikes, MSGBOX_DEFAULT
- checkitem ITEM_ACRO_BIKE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchAcroForMach
- checkitem ITEM_MACH_BIKE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_BikeShop_EventScript_SwitchMachForAcro
+ checkitem ITEM_ACRO_BIKE
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_BikeShop_EventScript_SwitchAcroForMach
+ checkitem ITEM_MACH_BIKE
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_BikeShop_EventScript_SwitchMachForAcro
msgbox MauvilleCity_BikeShop_Text_OhYourBikeIsInPC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc
index 896dfa6807..b7c8603a33 100644
--- a/data/maps/MauvilleCity_GameCorner/scripts.inc
+++ b/data/maps/MauvilleCity_GameCorner/scripts.inc
@@ -16,12 +16,11 @@ MauvilleCity_GameCorner_EventScript_CoinsClerk::
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_ThisIsMauvilleGameCorner, MSGBOX_DEFAULT
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NeedCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NeedCoinCase
message MauvilleCity_GameCorner_Text_WereYouLookingForCoins
waitmessage
- showmoneybox 0, 0, 0
+ showmoneybox 0, 0
showcoinsbox 1, 6
goto MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault50
@@ -44,14 +43,12 @@ MauvilleCity_GameCorner_EventScript_ChooseCoinsDefault500::
MauvilleCity_GameCorner_EventScript_Buy50Coins::
checkcoins VAR_TEMP_1
- compare VAR_TEMP_1, (MAX_COINS + 1 - 50)
- goto_if_ge MauvilleCity_GameCorner_EventScript_NoRoomForCoins
- checkmoney COINS_PRICE_50, 0
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NotEnoughMoney
+ goto_if_ge VAR_TEMP_1, (MAX_COINS + 1 - 50), MauvilleCity_GameCorner_EventScript_NoRoomForCoins
+ checkmoney COINS_PRICE_50
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NotEnoughMoney
addcoins 50
- removemoney COINS_PRICE_50, 0
- updatemoneybox 0, 0
+ removemoney COINS_PRICE_50
+ updatemoneybox
updatecoinsbox 1, 6
playse SE_SHOP
msgbox MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins, MSGBOX_DEFAULT
@@ -62,14 +59,12 @@ MauvilleCity_GameCorner_EventScript_Buy50Coins::
MauvilleCity_GameCorner_EventScript_Buy500Coins::
checkcoins VAR_TEMP_1
- compare VAR_TEMP_1, (MAX_COINS + 1 - 500)
- goto_if_ge MauvilleCity_GameCorner_EventScript_NoRoomForCoins
- checkmoney COINS_PRICE_500, 0
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NotEnoughMoney
+ goto_if_ge VAR_TEMP_1, (MAX_COINS + 1 - 500), MauvilleCity_GameCorner_EventScript_NoRoomForCoins
+ checkmoney COINS_PRICE_500
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NotEnoughMoney
addcoins 500
- removemoney COINS_PRICE_500, 0
- updatemoneybox 0, 0
+ removemoney COINS_PRICE_500
+ updatemoneybox
updatecoinsbox 1, 6
playse SE_SHOP
msgbox MauvilleCity_GameCorner_Text_ThankYouHereAreYourCoins, MSGBOX_DEFAULT
@@ -108,9 +103,8 @@ MauvilleCity_GameCorner_EventScript_PrizeCornerDolls::
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes, MSGBOX_DEFAULT
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_GameCorner_EventScript_ChooseDollPrizeMessage
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_GameCorner_EventScript_ChooseDollPrizeMessage
release
end
@@ -138,23 +132,22 @@ MauvilleCity_GameCorner_EventScript_ChooseDollPrize::
MauvilleCity_GameCorner_EventScript_TreeckoDoll::
setvar VAR_TEMP_1, 1
- bufferdecorationname 0, DECOR_TREECKO_DOLL
+ bufferdecorationname STR_VAR_1, DECOR_TREECKO_DOLL
goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize
MauvilleCity_GameCorner_EventScript_TorchicDoll::
setvar VAR_TEMP_1, 2
- bufferdecorationname 0, DECOR_TORCHIC_DOLL
+ bufferdecorationname STR_VAR_1, DECOR_TORCHIC_DOLL
goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize
MauvilleCity_GameCorner_EventScript_MudkipDoll::
setvar VAR_TEMP_1, 3
- bufferdecorationname 0, DECOR_MUDKIP_DOLL
+ bufferdecorationname STR_VAR_1, DECOR_MUDKIP_DOLL
goto MauvilleCity_GameCorner_EventScript_ConfirmDollPrize
MauvilleCity_GameCorner_EventScript_ConfirmDollPrize::
msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsX, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_GameCorner_EventScript_CancelDollSelect
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_GameCorner_EventScript_CancelDollSelect
switch VAR_TEMP_1
case 1, MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll
case 2, MauvilleCity_GameCorner_EventScript_BuyTorchicDoll
@@ -163,12 +156,10 @@ MauvilleCity_GameCorner_EventScript_ConfirmDollPrize::
MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, DOLL_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
- bufferdecorationname 1, DECOR_TREECKO_DOLL
+ goto_if_lt VAR_TEMP_2, DOLL_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
+ bufferdecorationname STR_VAR_2, DECOR_TREECKO_DOLL
checkdecorspace DECOR_TREECKO_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForDoll
removecoins DOLL_COINS
adddecoration DECOR_TREECKO_DOLL
updatecoinsbox 1, 1
@@ -179,12 +170,10 @@ MauvilleCity_GameCorner_EventScript_BuyTreeckoDoll::
MauvilleCity_GameCorner_EventScript_BuyTorchicDoll::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, DOLL_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
- bufferdecorationname 1, DECOR_TORCHIC_DOLL
+ goto_if_lt VAR_TEMP_2, DOLL_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
+ bufferdecorationname STR_VAR_2, DECOR_TORCHIC_DOLL
checkdecorspace DECOR_TORCHIC_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForDoll
removecoins DOLL_COINS
adddecoration DECOR_TORCHIC_DOLL
updatecoinsbox 1, 1
@@ -195,12 +184,10 @@ MauvilleCity_GameCorner_EventScript_BuyTorchicDoll::
MauvilleCity_GameCorner_EventScript_BuyMudkipDoll::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, DOLL_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
- bufferdecorationname 1, DECOR_MUDKIP_DOLL
+ goto_if_lt VAR_TEMP_2, DOLL_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForDoll
+ bufferdecorationname STR_VAR_2, DECOR_MUDKIP_DOLL
checkdecorspace DECOR_MUDKIP_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForDoll
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForDoll
removecoins DOLL_COINS
adddecoration DECOR_MUDKIP_DOLL
updatecoinsbox 1, 1
@@ -229,9 +216,8 @@ MauvilleCity_GameCorner_EventScript_PrizeCornerTMs::
lock
faceplayer
msgbox MauvilleCity_GameCorner_Text_ExchangeCoinsForPrizes, MSGBOX_DEFAULT
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_GameCorner_EventScript_ChooseTMPrizeMessage
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_GameCorner_EventScript_ChooseTMPrizeMessage
release
end
@@ -261,39 +247,38 @@ MauvilleCity_GameCorner_EventScript_ChooseTMPrize::
MauvilleCity_GameCorner_EventScript_TM32::
setvar VAR_TEMP_1, 1
- bufferitemname 0, ITEM_TM32
+ bufferitemname STR_VAR_1, ITEM_TM32
setvar VAR_0x8004, ITEM_TM32
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
MauvilleCity_GameCorner_EventScript_TM29::
setvar VAR_TEMP_1, 2
- bufferitemname 0, ITEM_TM29
+ bufferitemname STR_VAR_1, ITEM_TM29
setvar VAR_0x8004, ITEM_TM29
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
MauvilleCity_GameCorner_EventScript_TM35::
setvar VAR_TEMP_1, 3
- bufferitemname 0, ITEM_TM35
+ bufferitemname STR_VAR_1, ITEM_TM35
setvar VAR_0x8004, ITEM_TM35
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
MauvilleCity_GameCorner_EventScript_TM24::
setvar VAR_TEMP_1, 4
- bufferitemname 0, ITEM_TM24
+ bufferitemname STR_VAR_1, ITEM_TM24
setvar VAR_0x8004, ITEM_TM24
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
MauvilleCity_GameCorner_EventScript_TM13::
setvar VAR_TEMP_1, 5
- bufferitemname 0, ITEM_TM13
+ bufferitemname STR_VAR_1, ITEM_TM13
setvar VAR_0x8004, ITEM_TM13
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
MauvilleCity_GameCorner_EventScript_ConfirmTMPrize::
special BufferTMHMMoveName
msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_GameCorner_EventScript_CancelTMSelect
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_GameCorner_EventScript_CancelTMSelect
switch VAR_TEMP_1
case 1, MauvilleCity_GameCorner_EventScript_BuyTM32
case 2, MauvilleCity_GameCorner_EventScript_BuyTM29
@@ -304,11 +289,9 @@ MauvilleCity_GameCorner_EventScript_ConfirmTMPrize::
MauvilleCity_GameCorner_EventScript_BuyTM32::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, TM32_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
- checkitemspace ITEM_TM32, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ goto_if_lt VAR_TEMP_2, TM32_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
+ checkitemspace ITEM_TM32
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
removecoins TM32_COINS
additem ITEM_TM32
updatecoinsbox 1, 1
@@ -319,11 +302,9 @@ MauvilleCity_GameCorner_EventScript_BuyTM32::
MauvilleCity_GameCorner_EventScript_BuyTM29::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, TM29_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
- checkitemspace ITEM_TM29, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ goto_if_lt VAR_TEMP_2, TM29_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
+ checkitemspace ITEM_TM29
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
removecoins TM29_COINS
additem ITEM_TM29
updatecoinsbox 1, 1
@@ -334,11 +315,9 @@ MauvilleCity_GameCorner_EventScript_BuyTM29::
MauvilleCity_GameCorner_EventScript_BuyTM35::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, TM35_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
- checkitemspace ITEM_TM35, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ goto_if_lt VAR_TEMP_2, TM35_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
+ checkitemspace ITEM_TM35
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
removecoins TM35_COINS
additem ITEM_TM35
updatecoinsbox 1, 1
@@ -349,11 +328,9 @@ MauvilleCity_GameCorner_EventScript_BuyTM35::
MauvilleCity_GameCorner_EventScript_BuyTM24::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, TM24_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
- checkitemspace ITEM_TM24, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ goto_if_lt VAR_TEMP_2, TM24_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
+ checkitemspace ITEM_TM24
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
removecoins TM24_COINS
additem ITEM_TM24
updatecoinsbox 1, 1
@@ -364,11 +341,9 @@ MauvilleCity_GameCorner_EventScript_BuyTM24::
MauvilleCity_GameCorner_EventScript_BuyTM13::
checkcoins VAR_TEMP_2
- compare VAR_TEMP_2, TM13_COINS
- goto_if_lt MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
- checkitemspace ITEM_TM13, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForTM
+ goto_if_lt VAR_TEMP_2, TM13_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
+ checkitemspace ITEM_TM13
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
removecoins TM13_COINS
additem ITEM_TM13
updatecoinsbox 1, 1
@@ -406,8 +381,7 @@ MauvilleCity_GameCorner_EventScript_Girl::
faceplayer
goto_if_set FLAG_RECEIVED_STARTER_DOLL, MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll
msgbox MauvilleCity_GameCorner_Text_GotTwoOfSameDollWantOne, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_GameCorner_EventScript_DeclineStarterDoll
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_GameCorner_EventScript_DeclineStarterDoll
switch VAR_STARTER_MON
case 0, MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll
case 1, MauvilleCity_GameCorner_EventScript_GiveTorchicDoll
@@ -415,10 +389,9 @@ MauvilleCity_GameCorner_EventScript_Girl::
end
MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll::
- bufferdecorationname 1, DECOR_TREECKO_DOLL
+ bufferdecorationname STR_VAR_2, DECOR_TREECKO_DOLL
checkdecorspace DECOR_TREECKO_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT
givedecoration DECOR_TREECKO_DOLL
setflag FLAG_RECEIVED_STARTER_DOLL
@@ -426,10 +399,9 @@ MauvilleCity_GameCorner_EventScript_GiveTreeckoDoll::
end
MauvilleCity_GameCorner_EventScript_GiveTorchicDoll::
- bufferdecorationname 1, DECOR_TORCHIC_DOLL
+ bufferdecorationname STR_VAR_2, DECOR_TORCHIC_DOLL
checkdecorspace DECOR_TORCHIC_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT
givedecoration DECOR_TORCHIC_DOLL
setflag FLAG_RECEIVED_STARTER_DOLL
@@ -437,10 +409,9 @@ MauvilleCity_GameCorner_EventScript_GiveTorchicDoll::
end
MauvilleCity_GameCorner_EventScript_GiveMudkipDoll::
- bufferdecorationname 1, DECOR_MUDKIP_DOLL
+ bufferdecorationname STR_VAR_2, DECOR_MUDKIP_DOLL
checkdecorspace DECOR_MUDKIP_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForStarterDoll
msgbox MauvilleCity_GameCorner_Text_HereYouGo2, MSGBOX_DEFAULT
givedecoration DECOR_MUDKIP_DOLL
setflag FLAG_RECEIVED_STARTER_DOLL
@@ -466,9 +437,8 @@ MauvilleCity_GameCorner_EventScript_ReceivedStarterDoll::
MauvilleCity_GameCorner_EventScript_PokefanM::
lock
faceplayer
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_GameCorner_EventScript_TryGive20Coins
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_GameCorner_EventScript_TryGive20Coins
msgbox MauvilleCity_GameCorner_Text_NeedCoinCaseGoNextDoor, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_NPCReturnToSlots
end
@@ -476,8 +446,7 @@ MauvilleCity_GameCorner_EventScript_PokefanM::
MauvilleCity_GameCorner_EventScript_TryGive20Coins::
goto_if_set FLAG_RECEIVED_20_COINS, MauvilleCity_GameCorner_EventScript_PokefanMNormal
checkcoins VAR_TEMP_1
- compare VAR_TEMP_1, 1 @ Only give 20 coins if player has no coins
- goto_if_ge MauvilleCity_GameCorner_EventScript_PokefanMNormal
+ goto_if_ge VAR_TEMP_1, 1, MauvilleCity_GameCorner_EventScript_PokefanMNormal @ Only give 20 coins if player has no coins
setflag FLAG_RECEIVED_20_COINS
addcoins 20
msgbox MauvilleCity_GameCorner_Text_LuckOnlyLastSoLongTakeCoins, MSGBOX_DEFAULT
@@ -534,9 +503,8 @@ MauvilleCity_GameCorner_EventScript_Woman::
MauvilleCity_GameCorner_EventScript_SlotMachine0::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 0
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -545,9 +513,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine0::
MauvilleCity_GameCorner_EventScript_SlotMachine1::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 1
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -556,9 +523,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine1::
MauvilleCity_GameCorner_EventScript_SlotMachine2::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 2
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -567,9 +533,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine2::
MauvilleCity_GameCorner_EventScript_SlotMachine3::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 3
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -578,9 +543,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine3::
MauvilleCity_GameCorner_EventScript_SlotMachine4::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 4
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -589,9 +553,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine4::
MauvilleCity_GameCorner_EventScript_SlotMachine5::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 5
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -600,9 +563,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine5::
MauvilleCity_GameCorner_EventScript_SlotMachine6::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 6
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -611,9 +573,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine6::
MauvilleCity_GameCorner_EventScript_SlotMachine7::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 7
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -622,9 +583,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine7::
MauvilleCity_GameCorner_EventScript_SlotMachine8::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 8
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -633,9 +593,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine8::
MauvilleCity_GameCorner_EventScript_SlotMachine9::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 9
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -644,9 +603,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine9::
MauvilleCity_GameCorner_EventScript_SlotMachine10::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 10
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -655,9 +613,8 @@ MauvilleCity_GameCorner_EventScript_SlotMachine10::
MauvilleCity_GameCorner_EventScript_SlotMachine11::
lockall
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 11
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc
index 3c09ecfa20..de924d7d93 100644
--- a/data/maps/MauvilleCity_Gym/scripts.inc
+++ b/data/maps/MauvilleCity_Gym/scripts.inc
@@ -17,32 +17,32 @@ MauvilleCity_Gym_EventScript_UpdateBarriers::
end
MauvilleCity_Gym_EventScript_SetAltBarriers::
- setmetatile 3, 11, METATILE_MauvilleGym_RedBeamV1_On, 1
- setmetatile 3, 12, METATILE_MauvilleGym_RedBeamV2_On, 1
- setmetatile 3, 13, METATILE_MauvilleGym_PoleTop_On, 1
- setmetatile 4, 10, METATILE_MauvilleGym_RedBeamH1_On, 0
- setmetatile 5, 10, METATILE_MauvilleGym_RedBeamH2_On, 0
- setmetatile 4, 11, METATILE_MauvilleGym_RedBeamH3_On, 1
- setmetatile 5, 11, METATILE_MauvilleGym_RedBeamH4_On, 1
- setmetatile 7, 10, METATILE_MauvilleGym_RedBeamH1_On, 0
- setmetatile 8, 10, METATILE_MauvilleGym_RedBeamH2_On, 0
- setmetatile 7, 11, METATILE_MauvilleGym_RedBeamH3_On, 1
- setmetatile 8, 11, METATILE_MauvilleGym_RedBeamH4_On, 1
- setmetatile 4, 13, METATILE_MauvilleGym_GreenBeamH1_Off, 0
- setmetatile 5, 13, METATILE_MauvilleGym_GreenBeamH2_Off, 0
- setmetatile 4, 14, METATILE_MauvilleGym_GreenBeamH3_Off, 0
- setmetatile 5, 14, METATILE_MauvilleGym_GreenBeamH4_Off, 0
- setmetatile 1, 10, METATILE_MauvilleGym_GreenBeamH1_Off, 0
- setmetatile 2, 10, METATILE_MauvilleGym_GreenBeamH2_Off, 0
- setmetatile 1, 11, METATILE_MauvilleGym_GreenBeamH3_Off, 0
- setmetatile 2, 11, METATILE_MauvilleGym_GreenBeamH4_Off, 0
- setmetatile 6, 8, METATILE_MauvilleGym_PoleBottom_On, 1
- setmetatile 6, 9, METATILE_MauvilleGym_FloorTile, 0
- setmetatile 6, 10, METATILE_MauvilleGym_PoleTop_Off, 0
- setmetatile 4, 6, METATILE_MauvilleGym_GreenBeamH1_Off, 0
- setmetatile 5, 6, METATILE_MauvilleGym_GreenBeamH2_Off, 0
- setmetatile 4, 7, METATILE_MauvilleGym_GreenBeamH3_Off, 0
- setmetatile 5, 7, METATILE_MauvilleGym_GreenBeamH4_Off, 0
+ setmetatile 3, 11, METATILE_MauvilleGym_RedBeamV1_On, TRUE
+ setmetatile 3, 12, METATILE_MauvilleGym_RedBeamV2_On, TRUE
+ setmetatile 3, 13, METATILE_MauvilleGym_PoleTop_On, TRUE
+ setmetatile 4, 10, METATILE_MauvilleGym_RedBeamH1_On, FALSE
+ setmetatile 5, 10, METATILE_MauvilleGym_RedBeamH2_On, FALSE
+ setmetatile 4, 11, METATILE_MauvilleGym_RedBeamH3_On, TRUE
+ setmetatile 5, 11, METATILE_MauvilleGym_RedBeamH4_On, TRUE
+ setmetatile 7, 10, METATILE_MauvilleGym_RedBeamH1_On, FALSE
+ setmetatile 8, 10, METATILE_MauvilleGym_RedBeamH2_On, FALSE
+ setmetatile 7, 11, METATILE_MauvilleGym_RedBeamH3_On, TRUE
+ setmetatile 8, 11, METATILE_MauvilleGym_RedBeamH4_On, TRUE
+ setmetatile 4, 13, METATILE_MauvilleGym_GreenBeamH1_Off, FALSE
+ setmetatile 5, 13, METATILE_MauvilleGym_GreenBeamH2_Off, FALSE
+ setmetatile 4, 14, METATILE_MauvilleGym_GreenBeamH3_Off, FALSE
+ setmetatile 5, 14, METATILE_MauvilleGym_GreenBeamH4_Off, FALSE
+ setmetatile 1, 10, METATILE_MauvilleGym_GreenBeamH1_Off, FALSE
+ setmetatile 2, 10, METATILE_MauvilleGym_GreenBeamH2_Off, FALSE
+ setmetatile 1, 11, METATILE_MauvilleGym_GreenBeamH3_Off, FALSE
+ setmetatile 2, 11, METATILE_MauvilleGym_GreenBeamH4_Off, FALSE
+ setmetatile 6, 8, METATILE_MauvilleGym_PoleBottom_On, TRUE
+ setmetatile 6, 9, METATILE_MauvilleGym_FloorTile, FALSE
+ setmetatile 6, 10, METATILE_MauvilleGym_PoleTop_Off, FALSE
+ setmetatile 4, 6, METATILE_MauvilleGym_GreenBeamH1_Off, FALSE
+ setmetatile 5, 6, METATILE_MauvilleGym_GreenBeamH2_Off, FALSE
+ setmetatile 4, 7, METATILE_MauvilleGym_GreenBeamH3_Off, FALSE
+ setmetatile 5, 7, METATILE_MauvilleGym_GreenBeamH4_Off, FALSE
end
MauvilleCity_Gym_EventScript_Switch1Pressed::
@@ -76,11 +76,9 @@ MauvilleCity_Gym_EventScript_DeactivatePuzzle::
MauvilleCity_Gym_EventScript_Wattson::
trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonIntro, MauvilleCity_Gym_Text_WattsonDefeat, MauvilleCity_Gym_EventScript_WattsonDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_Gym_EventScript_WattsonRematch
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_Gym_EventScript_WattsonRematch
goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_GiveShockWave2
- compare VAR_NEW_MAUVILLE_STATE, 2
- goto_if_eq MauvilleCity_Gym_EventScript_CompletedNewMauville
+ goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, MauvilleCity_Gym_EventScript_CompletedNewMauville
msgbox MauvilleCity_Gym_Text_WattsonPostBattle, MSGBOX_DEFAULT
release
end
@@ -95,8 +93,7 @@ MauvilleCity_Gym_EventScript_WattsonDefeated::
setflag FLAG_DEFEATED_MAUVILLE_GYM
setflag FLAG_BADGE03_GET
addvar VAR_PETALBURG_GYM_STATE, 1
- compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
+ call_if_eq VAR_PETALBURG_GYM_STATE, 6, Common_EventScript_ReadyPetalburgGymForBattle
setvar VAR_0x8008, 3
call Common_EventScript_SetGymTrainers
special MauvilleGymDeactivatePuzzle
@@ -116,8 +113,7 @@ MauvilleCity_Gym_EventScript_WattsonDefeated::
MauvilleCity_Gym_EventScript_GiveShockWave2::
giveitem ITEM_TM34
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM34
release
@@ -125,8 +121,7 @@ MauvilleCity_Gym_EventScript_GiveShockWave2::
MauvilleCity_Gym_EventScript_GiveShockWave::
giveitem ITEM_TM34
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM34
return
@@ -144,8 +139,7 @@ MauvilleCity_Gym_EventScript_WattsonRematch::
MauvilleCity_Gym_EventScript_Switch1::
lockall
goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
- compare VAR_MAUVILLE_GYM_STATE, 1
- goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
+ goto_if_eq VAR_MAUVILLE_GYM_STATE, 1, MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 1
setvar VAR_0x8004, 0
goto MauvilleCity_Gym_EventScript_PressFloorSwitch
@@ -154,8 +148,7 @@ MauvilleCity_Gym_EventScript_Switch1::
MauvilleCity_Gym_EventScript_Switch2::
lockall
goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
- compare VAR_MAUVILLE_GYM_STATE, 2
- goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
+ goto_if_eq VAR_MAUVILLE_GYM_STATE, 2, MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 2
setvar VAR_0x8004, 1
goto MauvilleCity_Gym_EventScript_PressFloorSwitch
@@ -164,8 +157,7 @@ MauvilleCity_Gym_EventScript_Switch2::
MauvilleCity_Gym_EventScript_Switch3::
lockall
goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
- compare VAR_MAUVILLE_GYM_STATE, 3
- goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
+ goto_if_eq VAR_MAUVILLE_GYM_STATE, 3, MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 3
setvar VAR_0x8004, 2
goto MauvilleCity_Gym_EventScript_PressFloorSwitch
@@ -174,8 +166,7 @@ MauvilleCity_Gym_EventScript_Switch3::
MauvilleCity_Gym_EventScript_Switch4::
lockall
goto_if_set FLAG_DEFEATED_MAUVILLE_GYM, MauvilleCity_Gym_EventScript_SwitchDoNothing
- compare VAR_MAUVILLE_GYM_STATE, 4
- goto_if_eq MauvilleCity_Gym_EventScript_SwitchDoNothing
+ goto_if_eq VAR_MAUVILLE_GYM_STATE, 4, MauvilleCity_Gym_EventScript_SwitchDoNothing
setvar VAR_MAUVILLE_GYM_STATE, 4
setvar VAR_0x8004, 3
goto MauvilleCity_Gym_EventScript_PressFloorSwitch
diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc
index 178b79f9b4..193e0c04ce 100644
--- a/data/maps/MauvilleCity_House2/scripts.inc
+++ b/data/maps/MauvilleCity_House2/scripts.inc
@@ -6,9 +6,8 @@ MauvilleCity_House2_EventScript_Woman::
faceplayer
goto_if_set FLAG_RECEIVED_COIN_CASE, MauvilleCity_House2_EventScript_ReceivedCoinCase
msgbox MauvilleCity_House2_Text_BuyHarborMailAtSlateport, MSGBOX_DEFAULT
- checkitem ITEM_HARBOR_MAIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_House2_EventScript_AskToTradeForHarborMail
+ checkitem ITEM_HARBOR_MAIL
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_House2_EventScript_AskToTradeForHarborMail
release
end
@@ -19,10 +18,8 @@ MauvilleCity_House2_EventScript_AskToTradeForHarborMail::
applymovement VAR_LAST_TALKED, Common_Movement_Delay48
waitmovement 0
msgbox MauvilleCity_House2_Text_TradeHarborMailForCoinCase, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_House2_EventScript_AcceptTrade
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_House2_EventScript_DeclineTrade
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_House2_EventScript_AcceptTrade
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_House2_EventScript_DeclineTrade
end
MauvilleCity_House2_EventScript_AcceptTrade::
diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc
index 23ae9728de..b81f5de267 100644
--- a/data/maps/MeteorFalls_1F_1R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_1R/scripts.inc
@@ -13,10 +13,10 @@ MeteorFalls_1F_1R_OnLoad:
end
MeteorFalls_1F_1R_EventScript_OpenStevensCave::
- setmetatile 4, 1, METATILE_MeteorFalls_CaveEntrance_Top, 1
- setmetatile 3, 2, METATILE_MeteorFalls_CaveEntrance_Left, 1
- setmetatile 4, 2, METATILE_MeteorFalls_CaveEntrance_Bottom, 0
- setmetatile 5, 2, METATILE_MeteorFalls_CaveEntrance_Right, 1
+ setmetatile 4, 1, METATILE_MeteorFalls_CaveEntrance_Top, TRUE
+ setmetatile 3, 2, METATILE_MeteorFalls_CaveEntrance_Left, TRUE
+ setmetatile 4, 2, METATILE_MeteorFalls_CaveEntrance_Bottom, FALSE
+ setmetatile 5, 2, METATILE_MeteorFalls_CaveEntrance_Right, TRUE
return
MeteorFalls_1F_1R_EventScript_MagmaStealsMeteoriteScene::
diff --git a/data/maps/MeteorFalls_1F_2R/scripts.inc b/data/maps/MeteorFalls_1F_2R/scripts.inc
index 706d362bed..4e3e9b321b 100644
--- a/data/maps/MeteorFalls_1F_2R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_2R/scripts.inc
@@ -4,8 +4,7 @@ MeteorFalls_1F_2R_MapScripts::
MeteorFalls_1F_2R_EventScript_Nicolas::
trainerbattle_single TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_NicolasIntro, MeteorFalls_1F_2R_Text_NicolasDefeat, MeteorFalls_1F_2R_EventScript_RegisterNicolas
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MeteorFalls_1F_2R_EventScript_RematchNicolas
+ goto_if_eq VAR_RESULT, TRUE, MeteorFalls_1F_2R_EventScript_RematchNicolas
msgbox MeteorFalls_1F_2R_Text_NicolasPostBattle, MSGBOX_DEFAULT
release
end
@@ -26,8 +25,7 @@ MeteorFalls_1F_2R_EventScript_RematchNicolas::
MeteorFalls_1F_2R_EventScript_John::
trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JohnIntro, MeteorFalls_1F_2R_Text_JohnDefeat, MeteorFalls_1F_2R_Text_JohnNotEnoughMons, MeteorFalls_1F_2R_EventScript_RegisterJohn
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MeteorFalls_1F_2R_EventScript_RematchJohn
+ goto_if_eq VAR_RESULT, TRUE, MeteorFalls_1F_2R_EventScript_RematchJohn
msgbox MeteorFalls_1F_2R_Text_JohnPostBattle, MSGBOX_DEFAULT
release
end
@@ -46,8 +44,7 @@ MeteorFalls_1F_2R_EventScript_RematchJohn::
MeteorFalls_1F_2R_EventScript_Jay::
trainerbattle_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_JayIntro, MeteorFalls_1F_2R_Text_JayDefeat, MeteorFalls_1F_2R_Text_JayNotEnoughMons, MeteorFalls_1F_2R_EventScript_RegisterJay
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MeteorFalls_1F_2R_EventScript_RematchJay
+ goto_if_eq VAR_RESULT, TRUE, MeteorFalls_1F_2R_EventScript_RematchJay
msgbox MeteorFalls_1F_2R_Text_JayPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MirageTower_2F/scripts.inc b/data/maps/MirageTower_2F/scripts.inc
index 3d53359d4c..39d2be7f43 100644
--- a/data/maps/MirageTower_2F/scripts.inc
+++ b/data/maps/MirageTower_2F/scripts.inc
@@ -6,6 +6,6 @@ MirageTower_2F_MapScripts::
MirageTower_2F_SetHoleWarp:
setstepcallback STEP_CB_CRACKED_FLOOR
- setholewarp MAP_MIRAGE_TOWER_1F, 255, 0, 0
+ setholewarp MAP_MIRAGE_TOWER_1F
end
diff --git a/data/maps/MirageTower_3F/scripts.inc b/data/maps/MirageTower_3F/scripts.inc
index 02b0864008..1b2f04aeee 100644
--- a/data/maps/MirageTower_3F/scripts.inc
+++ b/data/maps/MirageTower_3F/scripts.inc
@@ -6,6 +6,6 @@ MirageTower_3F_MapScripts::
MirageTower_3F_SetHoleWarp:
setstepcallback STEP_CB_CRACKED_FLOOR
- setholewarp MAP_MIRAGE_TOWER_2F, 255, 0, 0
+ setholewarp MAP_MIRAGE_TOWER_2F
end
diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc
index 2c96710d13..61bde877c5 100644
--- a/data/maps/MirageTower_4F/scripts.inc
+++ b/data/maps/MirageTower_4F/scripts.inc
@@ -8,8 +8,7 @@ MirageTower_4F_EventScript_RootFossil::
lock
faceplayer
msgbox MirageTower_4F_Text_TakeRootFossil, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MirageTower_4F_EventScript_LeaveRootFossil
+ goto_if_eq VAR_RESULT, NO, MirageTower_4F_EventScript_LeaveRootFossil
giveitem ITEM_ROOT_FOSSIL
closemessage
setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
@@ -29,8 +28,7 @@ MirageTower_4F_EventScript_ClawFossil::
lock
faceplayer
msgbox MirageTower_4F_Text_TakeClawFossil, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MirageTower_4F_EventScript_LeaveClawFossil
+ goto_if_eq VAR_RESULT, NO, MirageTower_4F_EventScript_LeaveClawFossil
giveitem ITEM_CLAW_FOSSIL
closemessage
setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
@@ -57,7 +55,7 @@ MirageTower_4F_EventScript_CollapseMirageTower::
waitstate
setvar VAR_MIRAGE_TOWER_STATE, 1
clearflag FLAG_LANDMARK_MIRAGE_TOWER
- warp MAP_ROUTE111, 255, 19, 59
+ warp MAP_ROUTE111, 19, 59
waitstate
release
end
diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc
index f5af3a391b..836490cbdd 100644
--- a/data/maps/MossdeepCity/scripts.inc
+++ b/data/maps/MossdeepCity/scripts.inc
@@ -233,12 +233,10 @@ MossdeepCity_EventScript_KingsRockBoy::
faceplayer
goto_if_set FLAG_RECEIVED_KINGS_ROCK, MossdeepCity_EventScript_ReceivedKingsRock
msgbox MossdeepCity_Text_WantKingsRockStevenGaveMe, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MossdeepCity_EventScript_DeclineKingsRock
+ goto_if_eq VAR_RESULT, NO, MossdeepCity_EventScript_DeclineKingsRock
msgbox MossdeepCity_Text_YouCanKeepIt, MSGBOX_DEFAULT
giveitem ITEM_KINGS_ROCK
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_KINGS_ROCK
release
end
@@ -262,10 +260,8 @@ MossdeepCity_EventScript_Scott::
faceplayer
msgbox MossdeepCity_Text_ScottSomethingWrongWithTown, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq MossdeepCity_EventScript_ScottExitNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq MossdeepCity_EventScript_ScottExitEast
+ 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
release
diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc
index 22c2e17ab9..b47011d680 100644
--- a/data/maps/MossdeepCity_Gym/scripts.inc
+++ b/data/maps/MossdeepCity_Gym/scripts.inc
@@ -26,33 +26,32 @@ MossdeepCity_Gym_EventScript_CheckSwitch4::
@ All the below set metatile scripts are leftover from RS and are functionally unused
MossdeepCity_Gym_EventScript_SetSwitch1Metatiles::
- setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0
- setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, FALSE
+ setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_CheckSwitch2
end
MossdeepCity_Gym_EventScript_SetSwitch2Metatiles::
- setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0
- setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, FALSE
+ setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_CheckSwitch3
end
MossdeepCity_Gym_EventScript_SetSwitch3Metatiles::
- setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0
- setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, FALSE
+ setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_CheckSwitch4
end
MossdeepCity_Gym_EventScript_SetSwitch4Metatiles::
- setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0
- setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, FALSE
+ setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, TRUE
end
MossdeepCity_Gym_EventScript_TateAndLiza::
trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaIntro, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MossdeepCity_Gym_EventScript_TateAndLizaRematch
+ goto_if_eq VAR_RESULT, TRUE, MossdeepCity_Gym_EventScript_TateAndLizaRematch
goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_GiveCalmMind2
msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT
release
@@ -92,8 +91,7 @@ MossdeepCity_Gym_EventScript_TateAndLizaDefeated::
MossdeepCity_Gym_EventScript_GiveCalmMind2::
giveitem ITEM_TM04
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM04
release
@@ -101,8 +99,7 @@ MossdeepCity_Gym_EventScript_GiveCalmMind2::
MossdeepCity_Gym_EventScript_GiveCalmMind::
giveitem ITEM_TM04
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM04
return
@@ -119,8 +116,8 @@ MossdeepCity_Gym_EventScript_Switch1::
setflag FLAG_MOSSDEEP_GYM_SWITCH_1
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, 0
- setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Right, FALSE
+ setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -134,8 +131,8 @@ MossdeepCity_Gym_EventScript_ClearSwitch1::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_1
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Left, 0
- setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Up, 1
+ setmetatile 5, 5, METATILE_RS_MossdeepGym_RedArrow_Left, FALSE
+ setmetatile 2, 7, METATILE_RS_MossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -145,8 +142,8 @@ MossdeepCity_Gym_EventScript_Switch2::
setflag FLAG_MOSSDEEP_GYM_SWITCH_2
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, 0
- setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Right, FALSE
+ setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -154,8 +151,8 @@ MossdeepCity_Gym_EventScript_ClearSwitch2::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_2
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Down, 0
- setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Up, 1
+ setmetatile 8, 14, METATILE_RS_MossdeepGym_RedArrow_Down, FALSE
+ setmetatile 8, 10, METATILE_RS_MossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -165,8 +162,8 @@ MossdeepCity_Gym_EventScript_Switch3::
setflag FLAG_MOSSDEEP_GYM_SWITCH_3
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, 0
- setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Left, FALSE
+ setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -174,8 +171,8 @@ MossdeepCity_Gym_EventScript_ClearSwitch3::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_3
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Right, 0
- setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Up, 1
+ setmetatile 15, 17, METATILE_RS_MossdeepGym_RedArrow_Right, FALSE
+ setmetatile 17, 15, METATILE_RS_MossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -185,8 +182,8 @@ MossdeepCity_Gym_EventScript_Switch4::
setflag FLAG_MOSSDEEP_GYM_SWITCH_4
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, 0
- setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, 1
+ setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Up, FALSE
+ setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Down, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
@@ -194,14 +191,14 @@ MossdeepCity_Gym_EventScript_ClearSwitch4::
clearflag FLAG_MOSSDEEP_GYM_SWITCH_4
applymovement OBJ_EVENT_ID_PLAYER, MossdeepCity_Gym_Movement_WaitAfterSwitchUse
waitmovement 0
- setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Right, 0
- setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Up, 1
+ setmetatile 1, 23, METATILE_RS_MossdeepGym_RedArrow_Right, FALSE
+ setmetatile 5, 24, METATILE_RS_MossdeepGym_Switch_Up, TRUE
goto MossdeepCity_Gym_EventScript_DrawMapAfterSwitchUsed
end
MossdeepCity_Gym_EventScript_WarpToEntrance::
lockall
- warpmossdeepgym MAP_MOSSDEEP_CITY_GYM, 255, 7, 30
+ warpmossdeepgym MAP_MOSSDEEP_CITY_GYM, 7, 30
waitstate
releaseall
end
diff --git a/data/maps/MossdeepCity_House1/scripts.inc b/data/maps/MossdeepCity_House1/scripts.inc
index 99224a795e..433defa666 100644
--- a/data/maps/MossdeepCity_House1/scripts.inc
+++ b/data/maps/MossdeepCity_House1/scripts.inc
@@ -4,11 +4,10 @@ MossdeepCity_House1_MapScripts::
MossdeepCity_House1_EventScript_BlackBelt::
lock
faceplayer
- bufferleadmonspeciesname 0
+ bufferleadmonspeciesname STR_VAR_1
msgbox MossdeepCity_House1_Text_HmmYourPokemon, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetPokeblockNameByMonNature
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_House1_EventScript_NeutralNature
+ goto_if_eq VAR_RESULT, 0, MossdeepCity_House1_EventScript_NeutralNature
msgbox MossdeepCity_House1_Text_ItLikesXPokeblocks, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc
index 5f568ac772..56a8381963 100644
--- a/data/maps/MossdeepCity_House2/scripts.inc
+++ b/data/maps/MossdeepCity_House2/scripts.inc
@@ -21,10 +21,8 @@ MossdeepCity_House2_EventScript_Wingull::
closemessage
setflag FLAG_WINGULL_DELIVERED_MAIL
clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL
- compare VAR_FACING, DIR_NORTH
- call_if_eq MossdeepCity_House2_EventScript_WingullExitNorth
- compare VAR_FACING, DIR_WEST
- call_if_eq MossdeepCity_House2_EventScript_WingullExitWest
+ 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
release
end
diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc
index 51df05fe04..73b0cc26e9 100644
--- a/data/maps/MossdeepCity_House3/scripts.inc
+++ b/data/maps/MossdeepCity_House3/scripts.inc
@@ -6,8 +6,7 @@ MossdeepCity_House3_EventScript_SuperRodFisherman::
faceplayer
goto_if_set FLAG_RECEIVED_SUPER_ROD, MossdeepCity_House3_EventScript_ReceivedSuperRod
msgbox MossdeepCity_House3_Text_YouWantSuperRod, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MossdeepCity_House3_EventScript_DeclineSuperRod
+ goto_if_eq VAR_RESULT, NO, MossdeepCity_House3_EventScript_DeclineSuperRod
msgbox MossdeepCity_House3_Text_SuperRodIsSuper, MSGBOX_DEFAULT
giveitem ITEM_SUPER_ROD
setflag FLAG_RECEIVED_SUPER_ROD
diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc
index 7b7348f4e6..8d0046857a 100644
--- a/data/maps/MossdeepCity_House4/scripts.inc
+++ b/data/maps/MossdeepCity_House4/scripts.inc
@@ -18,8 +18,7 @@ MossdeepCity_House4_EventScript_NinjaBoy::
lock
faceplayer
special CheckPlayerHasSecretBase
- compare VAR_RESULT, FALSE
- goto_if_eq MossdeepCity_House4_EventScript_NoSecretBase
+ goto_if_eq VAR_RESULT, FALSE, MossdeepCity_House4_EventScript_NoSecretBase
special GetSecretBaseNearbyMapName
msgbox MossdeepCity_House4_Text_YouMadeSecretBaseNearX, MSGBOX_DEFAULT
release
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
index b44b343a65..263b071056 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
@@ -11,8 +11,7 @@ MossdeepCity_SpaceCenter_1F_MapScripts::
.byte 0
MossdeepCity_SpaceCenter_1F_OnTransition:
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma
end
MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma::
@@ -25,12 +24,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_MoveObjectsForTeamMagma::
setobjectxyperm LOCALID_SCIENTIST_1, 3, 4
setobjectmovementtype LOCALID_SCIENTIST_1, MOVEMENT_TYPE_FACE_RIGHT
setobjectmovementtype LOCALID_SCIENTIST_2, MOVEMENT_TYPE_FACE_RIGHT
- compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 1
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardLeft
- compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardDown
- compare VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE, 3
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight
+ 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::
@@ -47,26 +43,22 @@ MossdeepCity_SpaceCenter_1F_EventScript_MoveStairGuardRight::
end
MossdeepCity_SpaceCenter_1F_OnLoad:
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote
+ goto_if_le VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote
end
MossdeepCity_SpaceCenter_1F_EventScript_SetMagmaNote::
- setmetatile 2, 5, METATILE_Facility_DataPad, 1
+ setmetatile 2, 5, METATILE_Facility_DataPad, TRUE
return
MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounter::
lock
faceplayer
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma
dotimebasedevents
specialvar VAR_RESULT, GetWeekCount
- buffernumberstring 0, VAR_RESULT
- compare VAR_RESULT, 0
- call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYet
- compare VAR_RESULT, 1
- call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber
+ buffernumberstring STR_VAR_1, VAR_RESULT
+ call_if_eq VAR_RESULT, 0, MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYet
+ call_if_ge VAR_RESULT, 1, MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
@@ -84,11 +76,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumber::
MossdeepCity_SpaceCenter_1F_EventScript_RocketLaunchCounterMagma::
dotimebasedevents
specialvar VAR_RESULT, GetWeekCount
- buffernumberstring 0, VAR_RESULT
- compare VAR_RESULT, 0
- call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYetMagma
- compare VAR_RESULT, 1
- call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma
+ buffernumberstring STR_VAR_1, VAR_RESULT
+ call_if_eq VAR_RESULT, 0, MossdeepCity_SpaceCenter_1F_EventScript_NoLaunchesYetMagma
+ call_if_ge VAR_RESULT, 1, MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
@@ -106,8 +96,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_ShowLaunchNumberMagma::
MossdeepCity_SpaceCenter_1F_EventScript_Scientist::
lock
faceplayer
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma
msgbox MossdeepCity_SpaceCenter_1F_Text_RocketLaunchDemandsPerfection, MSGBOX_DEFAULT
release
end
@@ -122,13 +111,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_ScientistMagma::
MossdeepCity_SpaceCenter_1F_EventScript_SunStoneMan::
lock
faceplayer
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma
goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStone
msgbox MossdeepCity_SpaceCenter_1F_Text_FoundThisYouCanHaveIt, MSGBOX_DEFAULT
giveitem ITEM_SUN_STONE
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP
msgbox MossdeepCity_SpaceCenter_1F_Text_HoennFamousForMeteorShowers, MSGBOX_DEFAULT
release
@@ -143,8 +130,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_SunStoneManMagma::
goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_GaveSunStoneMagma
msgbox MossdeepCity_SpaceCenter_1F_Text_MagmaCantStealFuelTakeThis, MSGBOX_DEFAULT
giveitem ITEM_SUN_STONE
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SUN_STONE_MOSSDEEP
msgbox MossdeepCity_SpaceCenter_1F_Text_CantStrollOnBeachWithMagma, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterRight
@@ -163,10 +149,8 @@ MossdeepCity_SpaceCenter_1F_EventScript_Woman::
lock
faceplayer
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma
+ goto_if_lt VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_WomanNormal
goto MossdeepCity_SpaceCenter_1F_EventScript_WomanMagma
end
@@ -184,10 +168,8 @@ MossdeepCity_SpaceCenter_1F_EventScript_OldMan::
lock
faceplayer
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma
+ goto_if_lt VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_1F_EventScript_OldManNormal
goto MossdeepCity_SpaceCenter_1F_EventScript_OldManMagma
end
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
index 044979c123..4a22bf8eea 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
@@ -15,10 +15,8 @@ MossdeepCity_SpaceCenter_2F_MapScripts::
.byte 0
MossdeepCity_SpaceCenter_2F_OnTransition:
- compare VAR_MOSSDEEP_CITY_STATE, 2
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MoveCivilians
- compare VAR_MOSSDEEP_SPACE_CENTER_STATE, 2
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts
+ call_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_MoveCivilians
+ call_if_eq VAR_MOSSDEEP_SPACE_CENTER_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_MoveDefeatedGrunts
end
MossdeepCity_SpaceCenter_2F_EventScript_MoveCivilians::
@@ -48,13 +46,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_ThreeMagmaGrunts::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_Delay48
waitmovement 0
msgbox MossdeepCity_SpaceCenter_2F_Text_YoureOutnumberedTakeUsOn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_BattleThreeMagmaGrunts
+ 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
waitmovement 0
- warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1
+ warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 13, 1
waitstate
releaseall
end
@@ -109,10 +106,8 @@ MossdeepCity_SpaceCenter_2F_EventScript_Scientist::
lock
faceplayer
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma
+ goto_if_lt VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_ScientistNormal
goto MossdeepCity_SpaceCenter_2F_EventScript_ScientistMagma
end
@@ -130,10 +125,8 @@ MossdeepCity_SpaceCenter_2F_EventScript_Gentleman::
lock
faceplayer
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma
+ goto_if_lt VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_GentlemanNormal
goto MossdeepCity_SpaceCenter_2F_EventScript_GentlemanMagma
end
@@ -151,10 +144,8 @@ MossdeepCity_SpaceCenter_2F_EventScript_RichBoy::
lock
faceplayer
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma
- compare VAR_MOSSDEEP_CITY_STATE, 2
- goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal
+ goto_if_eq VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma
+ goto_if_lt VAR_MOSSDEEP_CITY_STATE, 2, MossdeepCity_SpaceCenter_2F_EventScript_RichBoyNormal
goto MossdeepCity_SpaceCenter_2F_EventScript_RichBoyMagma
end
@@ -246,8 +237,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt::
applymovement VAR_LAST_TALKED, Common_Movement_FacePlayer
waitmovement 0
msgbox MossdeepCity_SpaceCenter_2F_Text_StevenAreYouReadyToBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle
+ goto_if_eq VAR_RESULT, YES, MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle
msgbox MossdeepCity_SpaceCenter_2F_Text_StevenHurryGetReadyQuickly, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown
@@ -262,8 +252,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_ChoosePartyForMultiBattle::
fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
- compare VAR_RESULT, 0
- goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle
+ goto_if_ne VAR_RESULT, 0, MossdeepCity_SpaceCenter_2F_EventScript_DoStevenMultiBattle
special LoadPlayerParty
goto MossdeepCity_SpaceCenter_2F_EventScript_ReadyForBattlePrompt
@@ -358,10 +347,8 @@ MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer::
MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall
- compare VAR_RESULT, FEMALE
- call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall
+ call_if_eq VAR_RESULT, MALE, MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall
+ call_if_eq VAR_RESULT, FEMALE, MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall
closemessage
clearflag FLAG_DEFEATED_MAGMA_SPACE_CENTER
releaseall
diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc
index 22b26f3927..0470e977a6 100644
--- a/data/maps/MossdeepCity_StevensHouse/scripts.inc
+++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc
@@ -12,12 +12,11 @@ MossdeepCity_StevensHouse_OnLoad:
end
MossdeepCity_StevensHouse_EventScript_HideStevensNote::
- setmetatile 6, 4, METATILE_GenericBuilding_TableEdge, 1
+ setmetatile 6, 4, METATILE_GenericBuilding_TableEdge, TRUE
return
MossdeepCity_StevensHouse_OnTransition:
- compare VAR_STEVENS_HOUSE_STATE, 2
- call_if_eq MossdeepCity_StevensHouse_EventScript_SetStevenPos
+ call_if_eq VAR_STEVENS_HOUSE_STATE, 2, MossdeepCity_StevensHouse_EventScript_SetStevenPos
end
MossdeepCity_StevensHouse_EventScript_SetStevenPos::
@@ -76,8 +75,7 @@ MossdeepCity_StevensHouse_Movement_StevenReturn:
MossdeepCity_StevensHouse_EventScript_BeldumPokeball::
lockall
msgbox MossdeepCity_StevensHouse_Text_TakeBallContainingBeldum, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MossdeepCity_StevensHouse_EventScript_LeaveBeldum
+ goto_if_eq VAR_RESULT, NO, MossdeepCity_StevensHouse_EventScript_LeaveBeldum
goto MossdeepCity_StevensHouse_EventScript_GiveBeldum
end
@@ -88,19 +86,16 @@ MossdeepCity_StevensHouse_EventScript_LeaveBeldum::
MossdeepCity_StevensHouse_EventScript_GiveBeldum::
setvar VAR_TEMP_1, SPECIES_BELDUM
- givemon SPECIES_BELDUM, 5, ITEM_NONE
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_StevensHouse_EventScript_SendBeldumParty
- compare VAR_RESULT, 1
- goto_if_eq MossdeepCity_StevensHouse_EventScript_SendBeldumPC
+ givemon SPECIES_BELDUM, 5
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, MossdeepCity_StevensHouse_EventScript_SendBeldumParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, MossdeepCity_StevensHouse_EventScript_SendBeldumPC
goto Common_EventScript_NoMoreRoomForPokemon
end
MossdeepCity_StevensHouse_EventScript_SendBeldumParty::
call MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MossdeepCity_StevensHouse_EventScript_ReceivedBeldum
+ goto_if_eq VAR_RESULT, NO, MossdeepCity_StevensHouse_EventScript_ReceivedBeldum
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto MossdeepCity_StevensHouse_EventScript_ReceivedBeldum
@@ -109,8 +104,7 @@ MossdeepCity_StevensHouse_EventScript_SendBeldumParty::
MossdeepCity_StevensHouse_EventScript_SendBeldumPC::
call MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC
+ goto_if_eq VAR_RESULT, NO, MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC
call Common_EventScript_NameReceivedBoxMon
goto MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC
end
@@ -121,13 +115,13 @@ MossdeepCity_StevensHouse_EventScript_BeldumTransferredToPC::
end
MossdeepCity_StevensHouse_EventScript_ReceivedBeldumFanfare::
- bufferspeciesname 1, SPECIES_BELDUM
+ bufferspeciesname STR_VAR_2, SPECIES_BELDUM
removeobject LOCALID_BELDUM_BALL
playfanfare MUS_OBTAIN_ITEM
message MossdeepCity_StevensHouse_Text_ObtainedBeldum
waitmessage
waitfanfare
- bufferspeciesname 0, SPECIES_BELDUM
+ bufferspeciesname STR_VAR_1, SPECIES_BELDUM
return
MossdeepCity_StevensHouse_EventScript_ReceivedBeldum::
diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc
index 320e2dc194..1931633258 100644
--- a/data/maps/MtChimney/scripts.inc
+++ b/data/maps/MtChimney/scripts.inc
@@ -63,18 +63,14 @@ MtChimney_EventScript_Maxie::
fadescreen FADE_FROM_BLACK
setobjectxyperm LOCALID_ARCHIE, 10, 12
addobject LOCALID_ARCHIE
- compare VAR_FACING, DIR_EAST
- call_if_eq MtChimney_EventScript_ArchieApproachPlayerEast
- compare VAR_FACING, DIR_NORTH
- call_if_eq MtChimney_EventScript_ArchieApproachPlayerNorth
+ 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
waitmovement 0
msgbox MtChimney_Text_ArchieThankYou, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_EAST
- call_if_eq MtChimney_EventScript_ArchieExitEast
- compare VAR_FACING, DIR_NORTH
- call_if_eq MtChimney_EventScript_ArchieExitNorth
+ call_if_eq VAR_FACING, DIR_EAST, MtChimney_EventScript_ArchieExitEast
+ call_if_eq VAR_FACING, DIR_NORTH, MtChimney_EventScript_ArchieExitNorth
removeobject LOCALID_ARCHIE
setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
setflag FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY
@@ -107,20 +103,16 @@ MtChimney_EventScript_ArchieExitNorth::
MtChimney_EventScript_LavaCookieLady::
lock
faceplayer
- showmoneybox 0, 0, 0
+ showmoneybox 0, 0
msgbox MtChimney_Text_LavaCookiesJust200, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MtChimney_EventScript_DeclineLavaCookie
- checkmoney 200, 0
- compare VAR_RESULT, FALSE
- goto_if_eq MtChimney_EventScript_NotEnoughMoney
+ goto_if_eq VAR_RESULT, NO, MtChimney_EventScript_DeclineLavaCookie
+ checkmoney 200
+ goto_if_eq VAR_RESULT, FALSE, MtChimney_EventScript_NotEnoughMoney
msgbox MtChimney_Text_ThankYouDear, MSGBOX_DEFAULT
- checkitemspace ITEM_LAVA_COOKIE, 1
- compare VAR_RESULT, TRUE
- call_if_eq MtChimney_EventScript_RemoveMoney
+ checkitemspace ITEM_LAVA_COOKIE
+ call_if_eq VAR_RESULT, TRUE, MtChimney_EventScript_RemoveMoney
giveitem ITEM_LAVA_COOKIE
- compare VAR_RESULT, FALSE
- goto_if_eq MtChimney_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, MtChimney_EventScript_BagIsFull
hidemoneybox
release
end
@@ -132,8 +124,8 @@ MtChimney_EventScript_BagIsFull::
end
MtChimney_EventScript_RemoveMoney::
- removemoney 200, 0
- updatemoneybox 0, 0
+ removemoney 200
+ updatemoneybox
return
MtChimney_EventScript_DeclineLavaCookie::
@@ -453,8 +445,7 @@ MtChimney_EventScript_MeteoriteMachine::
goto_if_unset FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, MtChimney_EventScript_MachineOn
goto_if_set FLAG_RECEIVED_METEORITE, MtChimney_EventScript_MachineOff
msgbox MtChimney_Text_RemoveTheMeteorite, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MtChimney_EventScript_LeaveMeteoriteAlone
+ goto_if_eq VAR_RESULT, NO, MtChimney_EventScript_LeaveMeteoriteAlone
msgbox MtChimney_Text_PlayerRemovedMeteorite, MSGBOX_DEFAULT
giveitem ITEM_METEORITE
setflag FLAG_RECEIVED_METEORITE
@@ -483,8 +474,7 @@ MtChimney_EventScript_RouteSign::
MtChimney_EventScript_Shelby::
trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_ShelbyIntro, MtChimney_Text_ShelbyDefeat, MtChimney_EventScript_DefeatedShelby
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MtChimney_EventScript_RematchShelby
+ goto_if_eq VAR_RESULT, TRUE, MtChimney_EventScript_RematchShelby
msgbox MtChimney_Text_ShelbyPostBattle, MSGBOX_DEFAULT
release
end
@@ -525,8 +515,7 @@ MtChimney_EventScript_Grunt1::
MtChimney_EventScript_Sawyer::
trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_SawyerIntro, MtChimney_Text_SawyerDefeat, MtChimney_EventScript_SawyerDefeated
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MtChimney_EventScript_SawyerRematch
+ goto_if_eq VAR_RESULT, TRUE, MtChimney_EventScript_SawyerRematch
msgbox MtChimney_Text_SawyerPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc
index a3a2b360e0..b3e36a496a 100644
--- a/data/maps/MtChimney_CableCarStation/scripts.inc
+++ b/data/maps/MtChimney_CableCarStation/scripts.inc
@@ -6,8 +6,7 @@ MtChimney_CableCarStation_MapScripts::
.byte 0
MtChimney_CableCarStation_OnTransition:
- compare VAR_CABLE_CAR_STATION_STATE, 1
- call_if_eq MtChimney_CableCarStation_EventScript_MoveAttendantAside
+ call_if_eq VAR_CABLE_CAR_STATION_STATE, 1, MtChimney_CableCarStation_EventScript_MoveAttendantAside
end
MtChimney_CableCarStation_EventScript_MoveAttendantAside::
@@ -34,10 +33,8 @@ MtChimney_CableCarStation_EventScript_Attendant::
lock
faceplayer
msgbox MtChimney_CableCarStation_Text_CableCarReadyGetOn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MtChimney_CableCarStation_EventScript_RideCableCar
- compare VAR_RESULT, NO
- goto_if_eq MtChimney_CableCarStation_EventScript_DeclineRide
+ goto_if_eq VAR_RESULT, YES, MtChimney_CableCarStation_EventScript_RideCableCar
+ goto_if_eq VAR_RESULT, NO, MtChimney_CableCarStation_EventScript_DeclineRide
end
MtChimney_CableCarStation_EventScript_RideCableCar::
diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc
index 1354b2ac1b..f97149b050 100644
--- a/data/maps/MtPyre_1F/scripts.inc
+++ b/data/maps/MtPyre_1F/scripts.inc
@@ -7,8 +7,7 @@ MtPyre_1F_EventScript_CleanseTagWoman::
goto_if_set FLAG_RECEIVED_CLEANSE_TAG, MtPyre_1F_EventScript_ReceivedCleanseTag
msgbox MtPyre_1F_Text_TakeThisForYourOwnGood, MSGBOX_DEFAULT
giveitem ITEM_CLEANSE_TAG
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_CLEANSE_TAG
release
end
diff --git a/data/maps/MtPyre_2F/scripts.inc b/data/maps/MtPyre_2F/scripts.inc
index 9fe7bf9d2f..381d034596 100644
--- a/data/maps/MtPyre_2F/scripts.inc
+++ b/data/maps/MtPyre_2F/scripts.inc
@@ -6,7 +6,7 @@ MtPyre_2F_MapScripts::
MtPyre_2F_SetHoleWarp:
setstepcallback STEP_CB_CRACKED_FLOOR
- setholewarp MAP_MT_PYRE_1F, 255, 0, 0
+ setholewarp MAP_MT_PYRE_1F
end
MtPyre_2F_EventScript_Woman::
diff --git a/data/maps/MtPyre_3F/scripts.inc b/data/maps/MtPyre_3F/scripts.inc
index b91a589bc0..3c79e807a4 100644
--- a/data/maps/MtPyre_3F/scripts.inc
+++ b/data/maps/MtPyre_3F/scripts.inc
@@ -7,15 +7,14 @@ MtPyre_3F_EventScript_William::
end
MtPyre_3F_EventScript_Kayla::
- trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_KaylaIntro MtPyre_3F_Text_KaylaDefeat
+ trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_KaylaIntro, MtPyre_3F_Text_KaylaDefeat
msgbox MtPyre_3F_Text_KaylaPostBattle, MSGBOX_AUTOCLOSE
end
MtPyre_3F_EventScript_Gabrielle::
trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_GabrielleIntro, MtPyre_3F_Text_GabrielleDefeat, MtPyre_3F_EventScript_RegisterGabrielle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MtPyre_3F_EventScript_RematchGabrielle
+ goto_if_eq VAR_RESULT, TRUE, MtPyre_3F_EventScript_RematchGabrielle
msgbox MtPyre_3F_Text_GabriellePostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtPyre_6F/scripts.inc b/data/maps/MtPyre_6F/scripts.inc
index 4b7df8e7cf..4de3f6e8b1 100644
--- a/data/maps/MtPyre_6F/scripts.inc
+++ b/data/maps/MtPyre_6F/scripts.inc
@@ -4,8 +4,7 @@ MtPyre_6F_MapScripts::
MtPyre_6F_EventScript_Valerie::
trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_ValerieIntro, MtPyre_6F_Text_ValerieDefeat, MtPyre_6F_EventScript_RegisterValerie
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq MtPyre_6F_EventScript_RematchValerie
+ goto_if_eq VAR_RESULT, TRUE, MtPyre_6F_EventScript_RematchValerie
msgbox MtPyre_6F_Text_ValeriePostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtPyre_Exterior/scripts.inc b/data/maps/MtPyre_Exterior/scripts.inc
index 01279d645c..83bced7359 100644
--- a/data/maps/MtPyre_Exterior/scripts.inc
+++ b/data/maps/MtPyre_Exterior/scripts.inc
@@ -8,8 +8,7 @@ MtPyre_Exterior_OnTransition:
MtPyre_Exterior_EventScript_CheckEnterFromSummit::
getplayerxy VAR_TEMP_0, VAR_TEMP_1
- compare VAR_TEMP_1, 12
- goto_if_lt MtPyre_Exterior_EventScript_EnterFromSummit
+ goto_if_lt VAR_TEMP_1, 12, MtPyre_Exterior_EventScript_EnterFromSummit
return
MtPyre_Exterior_EventScript_EnterFromSummit::
diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc
index cd58627aff..3de60df3f2 100644
--- a/data/maps/MtPyre_Summit/scripts.inc
+++ b/data/maps/MtPyre_Summit/scripts.inc
@@ -11,8 +11,7 @@ MtPyre_Summit_MapScripts::
.byte 0
MtPyre_Summit_OnTransition:
- compare VAR_MT_PYRE_STATE, 2
- call_if_eq MtPyre_Summit_EventScript_SetArchieMaxiePositions
+ call_if_eq VAR_MT_PYRE_STATE, 2, MtPyre_Summit_EventScript_SetArchieMaxiePositions
end
MtPyre_Summit_EventScript_SetArchieMaxiePositions::
@@ -45,12 +44,9 @@ MtPyre_Summit_EventScript_TeamAquaExits::
applymovement LOCALID_ARCHIE, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
delay 50
- compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer0
- compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer1
- compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_ArchieFacePlayer2
+ call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_ArchieFacePlayer0
+ call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_ArchieFacePlayer1
+ call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_ArchieFacePlayer2
msgbox MtPyre_Summit_Text_ArchieWeGotTheOrbLetsGo, MSGBOX_DEFAULT
closemessage
fadescreen FADE_TO_BLACK
@@ -65,12 +61,9 @@ MtPyre_Summit_EventScript_TeamAquaExits::
fadescreen FADE_FROM_BLACK
delay 20
setvar VAR_MT_PYRE_STATE, 1
- compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_OldLadyApproachPlayer2
+ call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_OldLadyApproachPlayer0
+ call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_OldLadyApproachPlayer1
+ call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_OldLadyApproachPlayer2
msgbox MtPyre_Summit_Text_BothOrbsTakenMagmaLeftThis, MSGBOX_DEFAULT
giveitem ITEM_MAGMA_EMBLEM
setflag FLAG_RECEIVED_RED_OR_BLUE_ORB
@@ -142,19 +135,15 @@ MtPyre_Summit_EventScript_OldMan::
faceplayer
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, MtPyre_Summit_EventScript_OldManAfterRayquaza
msgbox MtPyre_Summit_Text_WillYouHearOutMyTale, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq MtPyre_Summit_EventScript_OldManTale
- compare VAR_RESULT, NO
- call_if_eq MtPyre_Summit_EventScript_DeclineOldManTale
+ call_if_eq VAR_RESULT, YES, MtPyre_Summit_EventScript_OldManTale
+ call_if_eq VAR_RESULT, NO, MtPyre_Summit_EventScript_DeclineOldManTale
release
end
MtPyre_Summit_EventScript_OldManAfterRayquaza::
msgbox MtPyre_Summit_Text_HearTheNewLegendOfHoenn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq MtPyre_Summit_EventScript_OldManNewTale
- compare VAR_RESULT, NO
- call_if_eq MtPyre_Summit_EventScript_DeclineOldManTale
+ call_if_eq VAR_RESULT, YES, MtPyre_Summit_EventScript_OldManNewTale
+ call_if_eq VAR_RESULT, NO, MtPyre_Summit_EventScript_DeclineOldManTale
release
end
@@ -174,8 +163,7 @@ MtPyre_Summit_EventScript_OldLady::
lock
faceplayer
goto_if_set FLAG_RETURNED_RED_OR_BLUE_ORB, MtPyre_Summit_EventScript_OldLadyAfterOrbsReturned
- compare VAR_MT_PYRE_STATE, 3
- call_if_ge MtPyre_Summit_EventScript_OldLadyOrbsReturned
+ call_if_ge VAR_MT_PYRE_STATE, 3, MtPyre_Summit_EventScript_OldLadyOrbsReturned
goto_if_set FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, MtPyre_Summit_EventScript_OldLadyLegendariesAwake
msgbox MtPyre_Summit_Text_OrbsHaveBeenTaken, MSGBOX_DEFAULT
release
@@ -219,32 +207,23 @@ MtPyre_Summit_EventScript_ArchieMaxieReturnOrbs::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
delay 60
- compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit0
- compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit1
- compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_ArchieMaxieBeginExit2
+ 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
waitmovement 0
applymovement LOCALID_MAXIE, Common_Movement_Delay48
waitmovement 0
delay 30
- compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_MaxieApproachPlayer2
+ call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_MaxieApproachPlayer0
+ call_if_eq VAR_0x8008, 1, MtPyre_Summit_EventScript_MaxieApproachPlayer1
+ call_if_eq VAR_0x8008, 2, MtPyre_Summit_EventScript_MaxieApproachPlayer2
msgbox MtPyre_Summit_Text_MaxieSilence, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie0
- compare VAR_0x8008, 1
- call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie1
- compare VAR_0x8008, 2
- call_if_eq MtPyre_Summit_EventScript_MaxieApproachArchie2
+ call_if_eq VAR_0x8008, 0, MtPyre_Summit_EventScript_MaxieApproachArchie0
+ 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
diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc
index d79c00c687..90cc229895 100644
--- a/data/maps/NavelRock_Bottom/scripts.inc
+++ b/data/maps/NavelRock_Bottom/scripts.inc
@@ -25,8 +25,7 @@ NavelRock_Bottom_OnResume:
NavelRock_Bottom_EventScript_TryRemoveLugia::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_LUGIA
return
@@ -54,21 +53,15 @@ NavelRock_Bottom_EventScript_Lugia::
playmoncry SPECIES_LUGIA, CRY_MODE_ENCOUNTER
waitmoncry
delay 20
- setvar VAR_0x8004, SPECIES_LUGIA
- setvar VAR_0x8005, 70 @ level
- setvar VAR_0x8006, ITEM_NONE
- special CreateEventLegalEnemyMon
+ seteventmon SPECIES_LUGIA, 70
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq NavelRock_Bottom_EventScript_DefeatedLugia
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq NavelRock_Bottom_EventScript_RanFromLugia
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq NavelRock_Bottom_EventScript_RanFromLugia
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, NavelRock_Bottom_EventScript_DefeatedLugia
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, NavelRock_Bottom_EventScript_RanFromLugia
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, NavelRock_Bottom_EventScript_RanFromLugia
setflag FLAG_CAUGHT_LUGIA
release
end
diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc
index b12e62248f..a981759175 100644
--- a/data/maps/NavelRock_Harbor/scripts.inc
+++ b/data/maps/NavelRock_Harbor/scripts.inc
@@ -8,8 +8,7 @@ NavelRock_Harbor_EventScript_Sailor::
lock
faceplayer
msgbox NavelRock_Harbor_Text_SailorReturn, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq NavelRock_Harbor_EventScript_AsYouLike
+ goto_if_eq VAR_RESULT, NO, NavelRock_Harbor_EventScript_AsYouLike
msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown
@@ -18,7 +17,7 @@ NavelRock_Harbor_EventScript_Sailor::
hideobjectat LOCALID_SAILOR, MAP_NAVEL_ROCK_HARBOR
setvar VAR_0x8004, LOCALID_SS_TIDAL
call Common_EventScript_FerryDepartIsland
- warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
+ warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
waitstate
release
end
diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc
index e8b3e7e296..10969367a1 100644
--- a/data/maps/NavelRock_Top/scripts.inc
+++ b/data/maps/NavelRock_Top/scripts.inc
@@ -28,8 +28,7 @@ NavelRock_Top_OnResume:
NavelRock_Top_EventScript_TryRemoveHoOh::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_HO_OH
return
@@ -58,22 +57,16 @@ NavelRock_Top_EventScript_HoOh::
applymovement LOCALID_HO_OH, NavelRock_Top_Movement_HoOhApproach
waitmovement 0
special RemoveCameraObject
- setvar VAR_0x8004, SPECIES_HO_OH
- setvar VAR_0x8005, 70 @ level
- setvar VAR_0x8006, ITEM_NONE
- special CreateEventLegalEnemyMon
+ seteventmon SPECIES_HO_OH, 70
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_LAST_TALKED, LOCALID_HO_OH
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq NavelRock_Top_EventScript_DefeatedHoOh
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq NavelRock_Top_EventScript_RanFromHoOh
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq NavelRock_Top_EventScript_RanFromHoOh
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, NavelRock_Top_EventScript_DefeatedHoOh
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, NavelRock_Top_EventScript_RanFromHoOh
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, NavelRock_Top_EventScript_RanFromHoOh
setflag FLAG_CAUGHT_HO_OH
releaseall
end
diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc
index 0a98d4ba62..4c498190e0 100644
--- a/data/maps/NewMauville_Entrance/scripts.inc
+++ b/data/maps/NewMauville_Entrance/scripts.inc
@@ -4,17 +4,16 @@ NewMauville_Entrance_MapScripts::
.byte 0
NewMauville_Entrance_OnLoad:
- compare VAR_NEW_MAUVILLE_STATE, 0
- call_if_eq NewMauville_Entrance_EventScript_CloseDoor
+ call_if_eq VAR_NEW_MAUVILLE_STATE, 0, NewMauville_Entrance_EventScript_CloseDoor
end
NewMauville_Entrance_EventScript_CloseDoor::
- setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile0, 1
- setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile1, 1
- setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile2, 1
- setmetatile 3, 1, METATILE_Facility_NewMauvilleDoor_Closed_Tile3, 1
- setmetatile 4, 1, METATILE_Facility_NewMauvilleDoor_Closed_Tile4, 1
- setmetatile 5, 1, METATILE_Facility_NewMauvilleDoor_Closed_Tile5, 1
+ setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile0, TRUE
+ setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile1, TRUE
+ setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Closed_Tile2, TRUE
+ setmetatile 3, 1, METATILE_Facility_NewMauvilleDoor_Closed_Tile3, TRUE
+ setmetatile 4, 1, METATILE_Facility_NewMauvilleDoor_Closed_Tile4, TRUE
+ setmetatile 5, 1, METATILE_Facility_NewMauvilleDoor_Closed_Tile5, TRUE
return
NewMauville_Entrance_OnTransition:
@@ -26,19 +25,17 @@ NewMauville_Entrance_EventScript_Door::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
msgbox NewMauville_Entrance_Text_DoorIsLocked, MSGBOX_DEFAULT
- checkitem ITEM_BASEMENT_KEY, 1
- compare VAR_RESULT, FALSE
- goto_if_eq NewMauville_Entrance_EventScript_DontOpenDoor
+ checkitem ITEM_BASEMENT_KEY
+ goto_if_eq VAR_RESULT, FALSE, NewMauville_Entrance_EventScript_DontOpenDoor
msgbox NewMauville_Entrance_Text_UseBasementKey, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq NewMauville_Entrance_EventScript_DontOpenDoor
+ goto_if_eq VAR_RESULT, NO, NewMauville_Entrance_EventScript_DontOpenDoor
msgbox NewMauville_Entrance_Text_UsedBasementKey, MSGBOX_DEFAULT
- setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile0, 0
- setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile1, 0
- setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile2, 0
- setmetatile 3, 1, METATILE_Facility_NewMauvilleDoor_Open_Tile3, 1
- setmetatile 4, 1, METATILE_Facility_NewMauvilleDoor_Open_Tile4, 0
- setmetatile 5, 1, METATILE_Facility_NewMauvilleDoor_Open_Tile5, 1
+ setmetatile 3, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile0, FALSE
+ setmetatile 4, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile1, FALSE
+ setmetatile 5, 0, METATILE_Facility_NewMauvilleDoor_Open_Tile2, FALSE
+ setmetatile 3, 1, METATILE_Facility_NewMauvilleDoor_Open_Tile3, TRUE
+ setmetatile 4, 1, METATILE_Facility_NewMauvilleDoor_Open_Tile4, FALSE
+ setmetatile 5, 1, METATILE_Facility_NewMauvilleDoor_Open_Tile5, TRUE
special DrawWholeMapView
playse SE_BANG
setvar VAR_NEW_MAUVILLE_STATE, 1
diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc
index d924651cef..244eea436f 100644
--- a/data/maps/NewMauville_Inside/scripts.inc
+++ b/data/maps/NewMauville_Inside/scripts.inc
@@ -5,17 +5,14 @@ NewMauville_Inside_MapScripts::
.byte 0
NewMauville_Inside_OnResume:
- compare VAR_TEMP_1, 1
- call_if_eq NewMauville_Inside_EventScript_SetBarrierStateBlueButton
- compare VAR_TEMP_2, 1
- call_if_eq NewMauville_Inside_EventScript_SetBarrierStateGreenButton
+ call_if_eq VAR_TEMP_1, 1, NewMauville_Inside_EventScript_SetBarrierStateBlueButton
+ call_if_eq VAR_TEMP_2, 1, NewMauville_Inside_EventScript_SetBarrierStateGreenButton
call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_TryRemoveVoltorb
end
NewMauville_Inside_EventScript_TryRemoveVoltorb::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -40,8 +37,7 @@ NewMauville_Inside_EventScript_ShowVoltorb3::
return
NewMauville_Inside_OnLoad:
- compare VAR_NEW_MAUVILLE_STATE, 2
- call_if_eq NewMauville_Inside_EventScript_SetGeneratorOffMetatiles
+ call_if_eq VAR_NEW_MAUVILLE_STATE, 2, NewMauville_Inside_EventScript_SetGeneratorOffMetatiles
end
NewMauville_Inside_EventScript_BlueButton::
@@ -65,83 +61,83 @@ NewMauville_Inside_EventScript_GreenButton::
end
NewMauville_Inside_EventScript_SetBarrierStateBlueButton::
- setmetatile 23, 34, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 23, 35, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 23, 36, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 23, 37, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 10, 16, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 10, 17, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 10, 18, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 10, 19, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 10, 0, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 10, 1, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 10, 2, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 10, 3, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 37, 33, METATILE_BikeShop_Barrier_Green_Top, 1
- setmetatile 37, 34, METATILE_BikeShop_Barrier_Green_TopMid, 1
- setmetatile 37, 35, METATILE_BikeShop_Barrier_Green_BottomMid, 1
- setmetatile 37, 36, METATILE_BikeShop_Barrier_Green_Bottom, 1
- setmetatile 28, 22, METATILE_BikeShop_Barrier_Green_Top, 1
- setmetatile 28, 23, METATILE_BikeShop_Barrier_Green_TopMid, 1
- setmetatile 28, 24, METATILE_BikeShop_Barrier_Green_BottomMid, 1
- setmetatile 28, 25, METATILE_BikeShop_Barrier_Green_Bottom, 1
- setmetatile 10, 24, METATILE_BikeShop_Barrier_Green_Top, 1
- setmetatile 10, 25, METATILE_BikeShop_Barrier_Green_TopMid, 1
- setmetatile 10, 26, METATILE_BikeShop_Barrier_Green_BottomMid, 1
- setmetatile 10, 27, METATILE_BikeShop_Barrier_Green_Bottom, 1
- setmetatile 21, 2, METATILE_BikeShop_Barrier_Green_Top, 1
- setmetatile 21, 3, METATILE_BikeShop_Barrier_Green_TopMid, 1
- setmetatile 21, 4, METATILE_BikeShop_Barrier_Green_BottomMid, 1
- setmetatile 21, 5, METATILE_BikeShop_Barrier_Green_Bottom, 1
- setmetatile 6, 11, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 13, 10, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 16, 22, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 4, 26, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 30, 38, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 2, 11, METATILE_BikeShop_Button_Green, 0
- setmetatile 17, 10, METATILE_BikeShop_Button_Green, 0
- setmetatile 25, 18, METATILE_BikeShop_Button_Green, 0
- setmetatile 18, 36, METATILE_BikeShop_Button_Green, 0
+ setmetatile 23, 34, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 23, 35, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 23, 36, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 23, 37, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 10, 16, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 10, 17, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 10, 18, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 10, 19, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 10, 0, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 10, 1, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 10, 2, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 10, 3, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 37, 33, METATILE_BikeShop_Barrier_Green_Top, TRUE
+ setmetatile 37, 34, METATILE_BikeShop_Barrier_Green_TopMid, TRUE
+ setmetatile 37, 35, METATILE_BikeShop_Barrier_Green_BottomMid, TRUE
+ setmetatile 37, 36, METATILE_BikeShop_Barrier_Green_Bottom, TRUE
+ setmetatile 28, 22, METATILE_BikeShop_Barrier_Green_Top, TRUE
+ setmetatile 28, 23, METATILE_BikeShop_Barrier_Green_TopMid, TRUE
+ setmetatile 28, 24, METATILE_BikeShop_Barrier_Green_BottomMid, TRUE
+ setmetatile 28, 25, METATILE_BikeShop_Barrier_Green_Bottom, TRUE
+ setmetatile 10, 24, METATILE_BikeShop_Barrier_Green_Top, TRUE
+ setmetatile 10, 25, METATILE_BikeShop_Barrier_Green_TopMid, TRUE
+ setmetatile 10, 26, METATILE_BikeShop_Barrier_Green_BottomMid, TRUE
+ setmetatile 10, 27, METATILE_BikeShop_Barrier_Green_Bottom, TRUE
+ setmetatile 21, 2, METATILE_BikeShop_Barrier_Green_Top, TRUE
+ setmetatile 21, 3, METATILE_BikeShop_Barrier_Green_TopMid, TRUE
+ setmetatile 21, 4, METATILE_BikeShop_Barrier_Green_BottomMid, TRUE
+ setmetatile 21, 5, METATILE_BikeShop_Barrier_Green_Bottom, TRUE
+ setmetatile 6, 11, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 13, 10, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 16, 22, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 4, 26, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 30, 38, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 2, 11, METATILE_BikeShop_Button_Green, FALSE
+ setmetatile 17, 10, METATILE_BikeShop_Button_Green, FALSE
+ setmetatile 25, 18, METATILE_BikeShop_Button_Green, FALSE
+ setmetatile 18, 36, METATILE_BikeShop_Button_Green, FALSE
return
NewMauville_Inside_EventScript_SetBarrierStateGreenButton::
- setmetatile 23, 34, METATILE_BikeShop_Barrier_Blue_Top, 1
- setmetatile 23, 35, METATILE_BikeShop_Barrier_Blue_TopMid, 1
- setmetatile 23, 36, METATILE_BikeShop_Barrier_Blue_BottomMid, 1
- setmetatile 23, 37, METATILE_BikeShop_Barrier_Blue_Bottom, 1
- setmetatile 10, 16, METATILE_BikeShop_Barrier_Blue_Top, 1
- setmetatile 10, 17, METATILE_BikeShop_Barrier_Blue_TopMid, 1
- setmetatile 10, 18, METATILE_BikeShop_Barrier_Blue_BottomMid, 1
- setmetatile 10, 19, METATILE_BikeShop_Barrier_Blue_Bottom, 1
- setmetatile 10, 0, METATILE_BikeShop_Barrier_Blue_Top, 1
- setmetatile 10, 1, METATILE_BikeShop_Barrier_Blue_TopMid, 1
- setmetatile 10, 2, METATILE_BikeShop_Barrier_Blue_BottomMid, 1
- setmetatile 10, 3, METATILE_BikeShop_Barrier_Blue_Bottom, 1
- setmetatile 37, 33, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 37, 34, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 37, 35, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 37, 36, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 28, 22, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 28, 23, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 28, 24, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 28, 25, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 10, 24, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 10, 25, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 10, 26, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 10, 27, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 21, 2, METATILE_BikeShop_Barrier_Hidden_Top, 1
- setmetatile 21, 3, METATILE_BikeShop_Barrier_Hidden_Bottom, 1
- setmetatile 21, 4, METATILE_BikeShop_Floor_Shadow_Top, 0
- setmetatile 21, 5, METATILE_BikeShop_Wall_Edge_Top, 0
- setmetatile 2, 11, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 17, 10, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 25, 18, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 18, 36, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 6, 11, METATILE_BikeShop_Button_Blue, 0
- setmetatile 13, 10, METATILE_BikeShop_Button_Blue, 0
- setmetatile 16, 22, METATILE_BikeShop_Button_Blue, 0
- setmetatile 4, 26, METATILE_BikeShop_Button_Blue, 0
- setmetatile 30, 38, METATILE_BikeShop_Button_Blue, 0
+ setmetatile 23, 34, METATILE_BikeShop_Barrier_Blue_Top, TRUE
+ setmetatile 23, 35, METATILE_BikeShop_Barrier_Blue_TopMid, TRUE
+ setmetatile 23, 36, METATILE_BikeShop_Barrier_Blue_BottomMid, TRUE
+ setmetatile 23, 37, METATILE_BikeShop_Barrier_Blue_Bottom, TRUE
+ setmetatile 10, 16, METATILE_BikeShop_Barrier_Blue_Top, TRUE
+ setmetatile 10, 17, METATILE_BikeShop_Barrier_Blue_TopMid, TRUE
+ setmetatile 10, 18, METATILE_BikeShop_Barrier_Blue_BottomMid, TRUE
+ setmetatile 10, 19, METATILE_BikeShop_Barrier_Blue_Bottom, TRUE
+ setmetatile 10, 0, METATILE_BikeShop_Barrier_Blue_Top, TRUE
+ setmetatile 10, 1, METATILE_BikeShop_Barrier_Blue_TopMid, TRUE
+ setmetatile 10, 2, METATILE_BikeShop_Barrier_Blue_BottomMid, TRUE
+ setmetatile 10, 3, METATILE_BikeShop_Barrier_Blue_Bottom, TRUE
+ setmetatile 37, 33, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 37, 34, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 37, 35, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 37, 36, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 28, 22, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 28, 23, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 28, 24, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 28, 25, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 10, 24, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 10, 25, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 10, 26, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 10, 27, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 21, 2, METATILE_BikeShop_Barrier_Hidden_Top, TRUE
+ setmetatile 21, 3, METATILE_BikeShop_Barrier_Hidden_Bottom, TRUE
+ setmetatile 21, 4, METATILE_BikeShop_Floor_Shadow_Top, FALSE
+ setmetatile 21, 5, METATILE_BikeShop_Wall_Edge_Top, FALSE
+ setmetatile 2, 11, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 17, 10, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 25, 18, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 18, 36, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 6, 11, METATILE_BikeShop_Button_Blue, FALSE
+ setmetatile 13, 10, METATILE_BikeShop_Button_Blue, FALSE
+ setmetatile 16, 22, METATILE_BikeShop_Button_Blue, FALSE
+ setmetatile 4, 26, METATILE_BikeShop_Button_Blue, FALSE
+ setmetatile 30, 38, METATILE_BikeShop_Button_Blue, FALSE
return
NewMauville_Inside_EventScript_RedButton::
@@ -153,22 +149,21 @@ NewMauville_Inside_EventScript_RedButton::
end
NewMauville_Inside_EventScript_SetGeneratorOffMetatiles::
- setmetatile 33, 6, METATILE_BikeShop_Button_Pressed, 0
- setmetatile 32, 2, METATILE_BikeShop_Generator_Off_Tile0, 1
- setmetatile 33, 2, METATILE_BikeShop_Generator_Off_Tile1, 1
- setmetatile 34, 2, METATILE_BikeShop_Generator_Off_Tile2, 1
- setmetatile 35, 2, METATILE_BikeShop_Generator_Off_Tile3, 1
- setmetatile 32, 3, METATILE_BikeShop_Generator_Off_Tile4, 1
- setmetatile 33, 3, METATILE_BikeShop_Generator_Off_Tile5, 1
- setmetatile 34, 3, METATILE_BikeShop_Generator_Off_Tile6, 1
- setmetatile 35, 3, METATILE_BikeShop_Generator_Off_Tile7, 1
+ setmetatile 33, 6, METATILE_BikeShop_Button_Pressed, FALSE
+ setmetatile 32, 2, METATILE_BikeShop_Generator_Off_Tile0, TRUE
+ setmetatile 33, 2, METATILE_BikeShop_Generator_Off_Tile1, TRUE
+ setmetatile 34, 2, METATILE_BikeShop_Generator_Off_Tile2, TRUE
+ setmetatile 35, 2, METATILE_BikeShop_Generator_Off_Tile3, TRUE
+ setmetatile 32, 3, METATILE_BikeShop_Generator_Off_Tile4, TRUE
+ setmetatile 33, 3, METATILE_BikeShop_Generator_Off_Tile5, TRUE
+ setmetatile 34, 3, METATILE_BikeShop_Generator_Off_Tile6, TRUE
+ setmetatile 35, 3, METATILE_BikeShop_Generator_Off_Tile7, TRUE
special DrawWholeMapView
return
NewMauville_Inside_EventScript_Generator::
lockall
- compare VAR_NEW_MAUVILLE_STATE, 2
- goto_if_eq NewMauville_Inside_EventScript_GeneratorOff
+ goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, NewMauville_Inside_EventScript_GeneratorOff
msgbox NewMauville_Inside_Text_GeneratorRadiatingHeat, MSGBOX_DEFAULT
releaseall
end
@@ -181,7 +176,7 @@ NewMauville_Inside_EventScript_GeneratorOff::
NewMauville_Inside_EventScript_Voltorb1::
lock
faceplayer
- setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
+ setwildbattle SPECIES_VOLTORB, 25
waitse
playmoncry SPECIES_VOLTORB, CRY_MODE_ENCOUNTER
delay 40
@@ -190,12 +185,9 @@ NewMauville_Inside_EventScript_Voltorb1::
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb1
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, NewMauville_Inside_EventScript_DefeatedVoltorb1
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, NewMauville_Inside_EventScript_DefeatedVoltorb1
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, NewMauville_Inside_EventScript_DefeatedVoltorb1
setflag FLAG_DEFEATED_VOLTORB_1_NEW_MAUVILLE
release
end
@@ -208,7 +200,7 @@ NewMauville_Inside_EventScript_DefeatedVoltorb1::
NewMauville_Inside_EventScript_Voltorb2::
lock
faceplayer
- setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
+ setwildbattle SPECIES_VOLTORB, 25
waitse
playmoncry SPECIES_VOLTORB, CRY_MODE_ENCOUNTER
delay 40
@@ -217,12 +209,9 @@ NewMauville_Inside_EventScript_Voltorb2::
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb2
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, NewMauville_Inside_EventScript_DefeatedVoltorb2
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, NewMauville_Inside_EventScript_DefeatedVoltorb2
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, NewMauville_Inside_EventScript_DefeatedVoltorb2
setflag FLAG_DEFEATED_VOLTORB_2_NEW_MAUVILLE
release
end
@@ -235,7 +224,7 @@ NewMauville_Inside_EventScript_DefeatedVoltorb2::
NewMauville_Inside_EventScript_Voltorb3::
lock
faceplayer
- setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
+ setwildbattle SPECIES_VOLTORB, 25
waitse
playmoncry SPECIES_VOLTORB, CRY_MODE_ENCOUNTER
delay 40
@@ -244,12 +233,9 @@ NewMauville_Inside_EventScript_Voltorb3::
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq NewMauville_Inside_EventScript_DefeatedVoltorb3
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, NewMauville_Inside_EventScript_DefeatedVoltorb3
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, NewMauville_Inside_EventScript_DefeatedVoltorb3
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, NewMauville_Inside_EventScript_DefeatedVoltorb3
setflag FLAG_DEFEATED_VOLTORB_3_NEW_MAUVILLE
release
end
diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc
index 7d4ce4389e..3f43386cb3 100644
--- a/data/maps/OldaleTown/scripts.inc
+++ b/data/maps/OldaleTown/scripts.inc
@@ -76,8 +76,7 @@ OldaleTown_EventScript_GoToMartEast::
OldaleTown_EventScript_ExplainPokemonMart::
msgbox OldaleTown_Text_ThisIsAPokemonMart, MSGBOX_DEFAULT
giveitem ITEM_POTION
- compare VAR_RESULT, FALSE
- goto_if_eq OldaleTown_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, OldaleTown_EventScript_BagIsFull
msgbox OldaleTown_Text_PotionExplanation, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_POTION_OLDALE
fadedefaultbgm
@@ -260,10 +259,8 @@ OldaleTown_EventScript_RivalTrigger3::
OldaleTown_EventScript_ShowRivalMessage::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq OldaleTown_EventScript_ShowMayMessage
- compare VAR_RESULT, FEMALE
- goto_if_eq OldaleTown_EventScript_ShowBrendanMessage
+ goto_if_eq VAR_RESULT, MALE, OldaleTown_EventScript_ShowMayMessage
+ goto_if_eq VAR_RESULT, FEMALE, OldaleTown_EventScript_ShowBrendanMessage
end
OldaleTown_EventScript_ShowMayMessage::
@@ -278,10 +275,8 @@ OldaleTown_EventScript_ShowBrendanMessage::
OldaleTown_EventScript_RivalFinish::
closemessage
- compare VAR_0x8009, 0
- call_if_eq OldaleTown_EventScript_DoExitMovement1
- compare VAR_0x8009, 1
- call_if_eq OldaleTown_EventScript_DoExitMovement2
+ call_if_eq VAR_0x8009, 0, OldaleTown_EventScript_DoExitMovement1
+ call_if_eq VAR_0x8009, 1, OldaleTown_EventScript_DoExitMovement2
applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalExit
waitmovement 0
removeobject LOCALID_RIVAL
@@ -291,8 +286,7 @@ OldaleTown_EventScript_RivalFinish::
end
OldaleTown_EventScript_DoExitMovement1::
- compare VAR_FACING, DIR_SOUTH
- goto_if_ne OldaleTown_EventScript_DoExitMovement2
+ goto_if_ne VAR_FACING, DIR_SOUTH, OldaleTown_EventScript_DoExitMovement2
applymovement LOCALID_RIVAL, OldaleTown_Movement_RivalExit
waitmovement 0
return
diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc
index 27f966e961..3dedcec30f 100644
--- a/data/maps/PacifidlogTown_House2/scripts.inc
+++ b/data/maps/PacifidlogTown_House2/scripts.inc
@@ -11,19 +11,16 @@ PacifidlogTown_House2_EventScript_FanClubYoungerBrother::
call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_FirstMonAssessment
setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER
specialvar VAR_RESULT, GetLeadMonFriendshipScore
- compare VAR_RESULT, 4
- goto_if_ge PacifidlogTown_House2_EventScript_GiveReturn
+ goto_if_ge VAR_RESULT, 4, PacifidlogTown_House2_EventScript_GiveReturn
specialvar VAR_RESULT, GetLeadMonFriendshipScore
- compare VAR_RESULT, 2
- goto_if_ge PacifidlogTown_House2_EventScript_PutInEffort
+ goto_if_ge VAR_RESULT, 2, PacifidlogTown_House2_EventScript_PutInEffort
goto PacifidlogTown_House2_EventScript_GiveFrustration
end
PacifidlogTown_House2_EventScript_UpdateFanClubTMFlag::
goto_if_unset FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK, Common_EventScript_NopReturn
specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable
- compare VAR_RESULT, 0
- call_if_eq PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM
+ call_if_eq VAR_RESULT, 0, PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM
return
PacifidlogTown_House2_EventScript_MonAssessment::
@@ -42,8 +39,7 @@ PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM::
PacifidlogTown_House2_EventScript_GiveReturn::
msgbox PacifidlogTown_House2_Text_AdoringPokemonTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM27
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
special SetPacifidlogTMReceivedDay
msgbox PacifidlogTown_House2_Text_ExplainReturnFrustration, MSGBOX_DEFAULT
@@ -58,8 +54,7 @@ PacifidlogTown_House2_EventScript_PutInEffort::
PacifidlogTown_House2_EventScript_GiveFrustration::
msgbox PacifidlogTown_House2_Text_ViciousPokemonTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM21
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
special SetPacifidlogTMReceivedDay
msgbox PacifidlogTown_House2_Text_ExplainReturnFrustration, MSGBOX_DEFAULT
@@ -68,7 +63,7 @@ PacifidlogTown_House2_EventScript_GiveFrustration::
PacifidlogTown_House2_EventScript_ComeBackInXDays::
specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable
- buffernumberstring 0, VAR_RESULT
+ buffernumberstring STR_VAR_1, VAR_RESULT
msgbox PacifidlogTown_House2_Text_GetGoodTMInXDays, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc
index c53ef05196..5582f3b6b9 100644
--- a/data/maps/PacifidlogTown_House3/scripts.inc
+++ b/data/maps/PacifidlogTown_House3/scripts.inc
@@ -10,24 +10,21 @@ PacifidlogTown_House3_EventScript_Trader::
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
msgbox PacifidlogTown_House3_Text_WillingToTradeIt, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq PacifidlogTown_House3_EventScript_DeclineTrade
+ goto_if_eq VAR_RESULT, NO, PacifidlogTown_House3_EventScript_DeclineTrade
special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
- compare VAR_0x8004, 255
- goto_if_eq PacifidlogTown_House3_EventScript_DeclineTrade
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, PacifidlogTown_House3_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
- compare VAR_RESULT, VAR_0x8009
- goto_if_ne PacifidlogTown_House3_EventScript_NotRequestedMon
+ goto_if_ne VAR_RESULT, VAR_0x8009, PacifidlogTown_House3_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
special DoInGameTradeScene
waitstate
- bufferspeciesname 0, VAR_0x8009
+ bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox PacifidlogTown_House3_Text_ItsSubtlyDifferentThankYou, MSGBOX_DEFAULT
setflag FLAG_PACIFIDLOG_NPC_TRADE_COMPLETED
release
@@ -39,7 +36,7 @@ PacifidlogTown_House3_EventScript_DeclineTrade::
end
PacifidlogTown_House3_EventScript_NotRequestedMon::
- bufferspeciesname 0, VAR_0x8009
+ bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox PacifidlogTown_House3_Text_WontAcceptAnyLessThanRealMon, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PacifidlogTown_House4/scripts.inc b/data/maps/PacifidlogTown_House4/scripts.inc
index 12d7197bd1..f17abcd30e 100644
--- a/data/maps/PacifidlogTown_House4/scripts.inc
+++ b/data/maps/PacifidlogTown_House4/scripts.inc
@@ -13,10 +13,8 @@ PacifidlogTown_House4_EventScript_Boy::
lock
faceplayer
msgbox PacifidlogTown_House4_Text_WhereDidYouComeFrom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PacifidlogTown_House4_EventScript_Yes
- compare VAR_RESULT, NO
- goto_if_eq PacifidlogTown_House4_EventScript_No
+ goto_if_eq VAR_RESULT, YES, PacifidlogTown_House4_EventScript_Yes
+ goto_if_eq VAR_RESULT, NO, PacifidlogTown_House4_EventScript_No
end
PacifidlogTown_House4_EventScript_Yes::
diff --git a/data/maps/PacifidlogTown_House5/scripts.inc b/data/maps/PacifidlogTown_House5/scripts.inc
index 5da4fb9022..474a2663ec 100644
--- a/data/maps/PacifidlogTown_House5/scripts.inc
+++ b/data/maps/PacifidlogTown_House5/scripts.inc
@@ -5,8 +5,7 @@ PacifidlogTown_House5_EventScript_MirageIslandWatcher::
lock
faceplayer
specialvar VAR_RESULT, IsMirageIslandPresent
- compare VAR_RESULT, TRUE
- goto_if_eq PacifidlogTown_House5_EventScript_MirageIslandPresent
+ goto_if_eq VAR_RESULT, TRUE, PacifidlogTown_House5_EventScript_MirageIslandPresent
msgbox PacifidlogTown_House5_Text_CantSeeMirageIslandToday, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc
index a77939c4de..3609b26226 100644
--- a/data/maps/PetalburgCity/scripts.inc
+++ b/data/maps/PetalburgCity/scripts.inc
@@ -11,14 +11,10 @@ PetalburgCity_MapScripts::
PetalburgCity_OnTransition:
setflag FLAG_VISITED_PETALBURG_CITY
- compare VAR_PETALBURG_CITY_STATE, 0
- call_if_eq PetalburgCity_EventScript_MoveGymBoyToWestEntrance
- compare VAR_PETALBURG_CITY_STATE, 2
- call_if_eq PetalburgCity_EventScript_DisableMapNameAndMusic
- compare VAR_PETALBURG_CITY_STATE, 4
- call_if_eq PetalburgCity_EventScript_DisableMapNameAndMusic
- compare VAR_PETALBURG_GYM_STATE, 8
- call_if_eq PetalburgCity_EventScript_SetGymDoorsUnlocked
+ call_if_eq VAR_PETALBURG_CITY_STATE, 0, PetalburgCity_EventScript_MoveGymBoyToWestEntrance
+ call_if_eq VAR_PETALBURG_CITY_STATE, 2, PetalburgCity_EventScript_DisableMapNameAndMusic
+ call_if_eq VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_EventScript_DisableMapNameAndMusic
+ call_if_eq VAR_PETALBURG_GYM_STATE, 8, PetalburgCity_EventScript_SetGymDoorsUnlocked
end
PetalburgCity_EventScript_MoveGymBoyToWestEntrance::
@@ -60,7 +56,7 @@ PetalburgCity_EventScript_WallyTutorial::
clearflag FLAG_DONT_TRANSITION_MUSIC
special LoadPlayerParty
setvar VAR_PETALBURG_GYM_STATE, 1
- warp MAP_PETALBURG_CITY_GYM, 255, 4, 108
+ warp MAP_PETALBURG_CITY_GYM, 4, 108
waitstate
releaseall
end
@@ -85,7 +81,7 @@ PetalburgCity_EventScript_WalkToWallyHouse::
clearflag FLAG_HIDE_MAP_NAME_POPUP
fadedefaultbgm
clearflag FLAG_DONT_TRANSITION_MUSIC
- warp MAP_PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4
+ warp MAP_PETALBURG_CITY_WALLYS_HOUSE, 2, 4
waitstate
releaseall
end
@@ -277,24 +273,16 @@ PetalburgCity_EventScript_ShowGymToPlayer::
waitmovement 0
applymovement LOCALID_GYM_BOY, Common_Movement_Delay48
waitmovement 0
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_EventScript_BoyApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_EventScript_BoyApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_EventScript_BoyApproachPlayer2
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_EventScript_BoyApproachPlayer3
+ call_if_eq VAR_0x8008, 0, PetalburgCity_EventScript_BoyApproachPlayer0
+ call_if_eq VAR_0x8008, 1, PetalburgCity_EventScript_BoyApproachPlayer1
+ call_if_eq VAR_0x8008, 2, PetalburgCity_EventScript_BoyApproachPlayer2
+ call_if_eq VAR_0x8008, 3, PetalburgCity_EventScript_BoyApproachPlayer3
msgbox PetalburgCity_Text_AreYouRookieTrainer, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_EventScript_LeadPlayerToGym0
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_EventScript_LeadPlayerToGym1
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_EventScript_LeadPlayerToGym2
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_EventScript_LeadPlayerToGym3
+ call_if_eq VAR_0x8008, 0, PetalburgCity_EventScript_LeadPlayerToGym0
+ call_if_eq VAR_0x8008, 1, PetalburgCity_EventScript_LeadPlayerToGym1
+ call_if_eq VAR_0x8008, 2, PetalburgCity_EventScript_LeadPlayerToGym2
+ 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
@@ -571,14 +559,10 @@ PetalburgCity_EventScript_Scott::
delay 30
msgbox PetalburgCity_Text_ImLookingForTalentedTrainers, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_EventScript_ScottExit0
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_EventScript_ScottExit1
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_EventScript_ScottExit2
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_EventScript_ScottExit3
+ call_if_eq VAR_0x8008, 0, PetalburgCity_EventScript_ScottExit0
+ call_if_eq VAR_0x8008, 1, PetalburgCity_EventScript_ScottExit1
+ 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
releaseall
diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc
index cae696a50a..836da26bfb 100644
--- a/data/maps/PetalburgCity_Gym/scripts.inc
+++ b/data/maps/PetalburgCity_Gym/scripts.inc
@@ -10,10 +10,8 @@ PetalburgCity_Gym_MapScripts::
.byte 0
PetalburgCity_Gym_OnLoad:
- compare VAR_PETALBURG_GYM_STATE, 6
- goto_if_eq PetalburgCity_Gym_EventScript_OpenUnlockedDoors
- compare VAR_PETALBURG_GYM_STATE, 7
- call_if_ge PetalburgCity_Gym_EventScript_UnlockAllDoors
+ goto_if_eq VAR_PETALBURG_GYM_STATE, 6, PetalburgCity_Gym_EventScript_OpenUnlockedDoors
+ call_if_ge VAR_PETALBURG_GYM_STATE, 7, PetalburgCity_Gym_EventScript_UnlockAllDoors
end
@ NOTE: Strength and OHKO rooms are misleading. Both are more accurately Critical-Hit
@@ -42,10 +40,8 @@ PetalburgCity_Gym_EventScript_UnlockAllDoors::
return
PetalburgCity_Gym_OnTransition:
- compare VAR_PETALBURG_GYM_STATE, 1
- call_if_eq PetalburgCity_Gym_EventScript_MoveWallyToEntrance
- compare VAR_PETALBURG_GYM_STATE, 6
- call_if_lt PetalburgCity_Gym_EventScript_MoveNormanToEntrance
+ call_if_eq VAR_PETALBURG_GYM_STATE, 1, PetalburgCity_Gym_EventScript_MoveWallyToEntrance
+ call_if_lt VAR_PETALBURG_GYM_STATE, 6, PetalburgCity_Gym_EventScript_MoveNormanToEntrance
call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_CheckNormanForRematch
end
@@ -60,10 +56,8 @@ PetalburgCity_Gym_EventScript_MoveNormanToEntrance::
PetalburgCity_Gym_EventScript_CheckNormanForRematch::
setorcopyvar VAR_TRAINER_BATTLE_OPPONENT_A, TRAINER_NORMAN_1
specialvar VAR_RESULT, IsTrainerReadyForRematch
- compare VAR_RESULT, TRUE
- goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront
- compare VAR_PETALBURG_GYM_STATE, 8
- goto_if_eq PetalburgCity_Gym_EventScript_DontMoveNormanToFront
+ 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
return
@@ -152,66 +146,42 @@ PetalburgCity_Gym_EventScript_BeginWallyTutorialEast::
PetalburgCity_Gym_EventScript_BeginWallyTutorial::
addobject LOCALID_WALLY
playse SE_DOOR
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_WallyArriveSouth
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_WallyArriveNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_WallyArriveWestEast
+ call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_WallyArriveSouth
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_WallyArriveNorth
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_WallyArriveWestEast
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_WallyArriveWestEast
msgbox PetalburgCity_Gym_Text_WallyIdLikeAPokemon, MSGBOX_DEFAULT
msgbox PetalburgCity_Gym_Text_DadOhYoureWallyRight, MSGBOX_DEFAULT
msgbox PetalburgCity_Gym_Text_WallyIveNeverCaughtAPokemon, MSGBOX_DEFAULT
msgbox PetalburgCity_Gym_Text_DadHmISee, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerWest
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressPlayerEast
+ call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_NormanAddressPlayerSouth
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_NormanAddressPlayerNorth
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_NormanAddressPlayerWest
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_NormanAddressPlayerEast
msgbox PetalburgCity_Gym_Text_DadPlayerGoWithWally, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallySouth
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyWest
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_NormanAddressWallyEast
+ call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_NormanAddressWallySouth
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_NormanAddressWallyNorth
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_NormanAddressWallyWest
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_NormanAddressWallyEast
msgbox PetalburgCity_Gym_Text_IllLoanYouMyZigzagoon, MSGBOX_DEFAULT
msgbox PetalburgCity_Gym_Text_WallyThankYouAndDadGivesPokeBall, MSGBOX_DEFAULT
msgbox PetalburgCity_Gym_Text_WallyOhWowThankYou, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorSouth
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorWest
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_NormanFaceDoorEast
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_WallyFaceDown
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_WallyFacePlayer
+ call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_NormanFaceDoorSouth
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_NormanFaceDoorNorth
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_NormanFaceDoorWest
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_NormanFaceDoorEast
+ call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_WallyFacePlayer
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_WallyFaceDown
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_WallyFacePlayer
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_WallyFacePlayer
msgbox PetalburgCity_Gym_Text_WouldYouReallyComeWithMe, MSGBOX_DEFAULT
closemessage
setflag FLAG_DONT_TRANSITION_MUSIC
playbgm MUS_FOLLOW_ME, FALSE
- compare VAR_0x8008, 0
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallySouth
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyWest
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallyEast
+ call_if_eq VAR_0x8008, 0, PetalburgCity_Gym_EventScript_ExitGymWithWallySouth
+ 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
setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_MOM
setvar VAR_PETALBURG_GYM_STATE, 1
@@ -220,7 +190,7 @@ PetalburgCity_Gym_EventScript_BeginWallyTutorial::
clearflag FLAG_HIDE_PETALBURG_GYM_WALLY
setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
special InitBirchState
- warp MAP_PETALBURG_CITY, 255, 15, 8
+ warp MAP_PETALBURG_CITY, 15, 8
waitstate
release
end
@@ -361,8 +331,7 @@ PetalburgCity_Gym_EventScript_NormanFaceDoorEast::
PetalburgCity_Gym_EventScript_NormanPostBattle::
call PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry
- compare VAR_RESULT, TRUE
- goto_if_eq PetalburgCity_Gym_EventScript_GiveEnigmaBerry
+ goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_GiveEnigmaBerry
goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_GiveFacade2
goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough
msgbox PetalburgCity_Gym_Text_DadGoingToKeepTraining, MSGBOX_DEFAULT
@@ -381,16 +350,12 @@ PetalburgCity_Gym_EventScript_NormanRematch::
PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry::
specialvar VAR_RESULT, IsEnigmaBerryValid
- compare VAR_RESULT, FALSE
- goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
- checkitem ITEM_ENIGMA_BERRY, 1
- compare VAR_RESULT, TRUE
- goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
- checkpcitem ITEM_ENIGMA_BERRY, 1
- compare VAR_RESULT, TRUE
- goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
- compare VAR_ENIGMA_BERRY_AVAILABLE, 0
- goto_if_eq PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
+ goto_if_eq VAR_RESULT, FALSE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
+ checkitem ITEM_ENIGMA_BERRY
+ goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
+ checkpcitem ITEM_ENIGMA_BERRY
+ goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
+ goto_if_eq VAR_ENIGMA_BERRY_AVAILABLE, 0, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
msgbox PetalburgCity_Gym_Text_GiveEnigmaBerry, MSGBOX_DEFAULT
setvar VAR_RESULT, TRUE
return
@@ -401,8 +366,7 @@ PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry::
PetalburgCity_Gym_EventScript_GiveEnigmaBerry::
giveitem ITEM_ENIGMA_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setvar VAR_ENIGMA_BERRY_AVAILABLE, 0
release
end
@@ -442,8 +406,7 @@ PetalburgCity_Gym_EventScript_NormanBattle::
PetalburgCity_Gym_EventScript_GiveFacade::
giveitem ITEM_TM42
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
setflag FLAG_RECEIVED_TM42
msgbox PetalburgCity_Gym_Text_ExplainFacade, MSGBOX_DEFAULT
return
@@ -469,35 +432,26 @@ PetalburgCity_Gym_EventScript_WallysDadArrives::
applymovement LOCALID_WALLYS_DAD, Common_Movement_Delay48
waitmovement 0
delay 10
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_WallysDadApproachPlayerNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_WallysDadApproachPlayerEast
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_WallysDadApproachPlayerWest
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_WallysDadApproachPlayerNorth
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_WallysDadApproachPlayerEast
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_WallysDadApproachPlayerWest
msgbox PetalburgCity_Gym_Text_PleaseComeWithMe, MSGBOX_DEFAULT
closemessage
delay 20
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_WallysDadFaceNormanNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_WallysDadFaceNormanEast
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_WallysDadFaceNormanWest
+ call_if_eq VAR_0x8008, 1, PetalburgCity_Gym_EventScript_WallysDadFaceNormanNorth
+ call_if_eq VAR_0x8008, 2, PetalburgCity_Gym_EventScript_WallysDadFaceNormanEast
+ call_if_eq VAR_0x8008, 3, PetalburgCity_Gym_EventScript_WallysDadFaceNormanWest
msgbox PetalburgCity_Gym_Text_LetMeBorrowPlayer, MSGBOX_DEFAULT
closemessage
setflag FLAG_DONT_TRANSITION_MUSIC
playbgm MUS_FOLLOW_ME, FALSE
- compare VAR_0x8008, 1
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysDadNorth
- compare VAR_0x8008, 2
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysDadEast
- compare VAR_0x8008, 3
- call_if_eq PetalburgCity_Gym_EventScript_ExitGymWithWallysDadWest
+ 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
setvar VAR_PETALBURG_CITY_STATE, 4
clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_DAD
- warp MAP_PETALBURG_CITY, 255, 15, 8
+ warp MAP_PETALBURG_CITY, 15, 8
waitstate
release
end
@@ -782,21 +736,18 @@ PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough::
PetalburgCity_Gym_EventScript_SpeedRoomDoor::
lockall
- compare VAR_PETALBURG_GYM_STATE, 6
- goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked
+ goto_if_lt VAR_PETALBURG_GYM_STATE, 6, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 7
setvar VAR_0x8009, 85
msgbox PetalburgCity_Gym_Text_EnterSpeedRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_EnterRoom::
closemessage
delay 30
- warpdoor MAP_PETALBURG_CITY_GYM, 255, VAR_0x8008, VAR_0x8009
+ warpdoor MAP_PETALBURG_CITY_GYM, VAR_0x8008, VAR_0x8009
waitstate
releaseall
end
@@ -813,15 +764,12 @@ PetalburgCity_Gym_EventScript_DoorLocked::
@ VAR_0x8008 and VAR_0x8009 below are the x and y coordinates of the warp
PetalburgCity_Gym_EventScript_AccuracyRoomDoor::
lockall
- compare VAR_PETALBURG_GYM_STATE, 6
- goto_if_lt PetalburgCity_Gym_EventScript_DoorLocked
+ goto_if_lt VAR_PETALBURG_GYM_STATE, 6, PetalburgCity_Gym_EventScript_DoorLocked
setvar VAR_0x8008, 1
setvar VAR_0x8009, 98
msgbox PetalburgCity_Gym_Text_EnterAccuracyRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_ConfusionRoomDoor::
@@ -830,10 +778,8 @@ PetalburgCity_Gym_EventScript_ConfusionRoomDoor::
setvar VAR_0x8008, 7
setvar VAR_0x8009, 46
msgbox PetalburgCity_Gym_Text_EnterConfusionRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor::
@@ -842,10 +788,8 @@ PetalburgCity_Gym_EventScript_LeftDefenseRoomDoor::
setvar VAR_0x8008, 1
setvar VAR_0x8009, 59
msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_RightDefenseRoomDoor::
@@ -854,10 +798,8 @@ PetalburgCity_Gym_EventScript_RightDefenseRoomDoor::
setvar VAR_0x8008, 7
setvar VAR_0x8009, 59
msgbox PetalburgCity_Gym_Text_EnterDefenseRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_RecoveryRoomDoor::
@@ -866,10 +808,8 @@ PetalburgCity_Gym_EventScript_RecoveryRoomDoor::
setvar VAR_0x8008, 1
setvar VAR_0x8009, 72
msgbox PetalburgCity_Gym_Text_EnterRecoveryRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor::
@@ -878,10 +818,8 @@ PetalburgCity_Gym_EventScript_LeftStrengthRoomDoor::
setvar VAR_0x8008, 1
setvar VAR_0x8009, 20
msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_RightStrengthRoomDoor::
@@ -890,10 +828,8 @@ PetalburgCity_Gym_EventScript_RightStrengthRoomDoor::
setvar VAR_0x8008, 7
setvar VAR_0x8009, 20
msgbox PetalburgCity_Gym_Text_EnterStrengthRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_LeftOHKORoomDoor::
@@ -902,10 +838,8 @@ PetalburgCity_Gym_EventScript_LeftOHKORoomDoor::
setvar VAR_0x8008, 1
setvar VAR_0x8009, 33
msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_RightOHKORoomDoor::
@@ -914,10 +848,8 @@ PetalburgCity_Gym_EventScript_RightOHKORoomDoor::
setvar VAR_0x8008, 7
setvar VAR_0x8009, 33
msgbox PetalburgCity_Gym_Text_EnterOHKORoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor::
@@ -926,10 +858,8 @@ PetalburgCity_Gym_EventScript_LeftGymLeadersRoomDoor::
setvar VAR_0x8008, 1
setvar VAR_0x8009, 7
msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor::
@@ -938,10 +868,8 @@ PetalburgCity_Gym_EventScript_RightGymLeadersRoomDoor::
setvar VAR_0x8008, 7
setvar VAR_0x8009, 7
msgbox PetalburgCity_Gym_Text_EnterGymLeadersRoom, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq PetalburgCity_Gym_EventScript_EnterRoom
- compare VAR_RESULT, NO
- goto_if_eq PetalburgCity_Gym_EventScript_DontEnterRoom
+ goto_if_eq VAR_RESULT, YES, PetalburgCity_Gym_EventScript_EnterRoom
+ goto_if_eq VAR_RESULT, NO, PetalburgCity_Gym_EventScript_DontEnterRoom
end
PetalburgCity_Gym_EventScript_Randall::
@@ -1067,122 +995,106 @@ PetalburgCity_Gym_EventScript_JodyPostBadge::
@ VAR_0x8005 below is 0 when the door should be slid open and 1 when it should be unlocked immediately
PetalburgCity_Gym_EventScript_OpenGymEntranceDoors::
setvar VAR_0x8004, 1
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenSpeedRoomDoors::
setvar VAR_0x8004, 2
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenAccuracyRoomDoors::
setvar VAR_0x8004, 3
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenConfusionRoomDoors::
setvar VAR_0x8004, 4
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenDefenseRoomDoors::
setvar VAR_0x8004, 5
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenRecoveryRoomDoors::
setvar VAR_0x8004, 6
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenStrengthRoomDoors::
setvar VAR_0x8004, 7
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_OpenOHKORoomDoors::
setvar VAR_0x8004, 8
- compare VAR_0x8005, 0
- call_if_eq PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
- compare VAR_0x8005, 1
- call_if_eq PetalburgCity_Gym_EventScript_UnlockRoomDoors
+ call_if_eq VAR_0x8005, 0, PetalburgCity_Gym_EventScript_SlideOpenRoomDoors
+ call_if_eq VAR_0x8005, 1, PetalburgCity_Gym_EventScript_UnlockRoomDoors
call PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles
return
PetalburgCity_Gym_EventScript_SetEntranceRoomDoorMetatiles::
- setmetatile 6, 85, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 7, 85, METATILE_PetalburgGym_RoomEntrance_Right, 0
- setmetatile 1, 98, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 2, 98, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 6, 85, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 7, 85, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
+ setmetatile 1, 98, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 2, 98, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetSpeedRoomDoorMetatiles::
- setmetatile 6, 46, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 7, 46, METATILE_PetalburgGym_RoomEntrance_Right, 0
- setmetatile 1, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 2, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 6, 46, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 7, 46, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
+ setmetatile 1, 59, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 2, 59, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetAccuracyRoomDoorMetatiles::
- setmetatile 6, 59, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 7, 59, METATILE_PetalburgGym_RoomEntrance_Right, 0
- setmetatile 1, 72, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 2, 72, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 6, 59, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 7, 59, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
+ setmetatile 1, 72, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 2, 72, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetConfusionRoomDoorMetatiles::
- setmetatile 1, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 2, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 1, 20, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 2, 20, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetDefenseRoomDoorMetatiles::
- setmetatile 6, 20, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 7, 20, METATILE_PetalburgGym_RoomEntrance_Right, 0
- setmetatile 1, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 2, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 6, 20, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 7, 20, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
+ setmetatile 1, 33, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 2, 33, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetRecoveryRoomDoorMetatiles::
- setmetatile 6, 33, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 7, 33, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 6, 33, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 7, 33, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetStrengthRoomDoorMetatiles::
- setmetatile 1, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 2, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 1, 7, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 2, 7, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SetOHKORoomDoorMetatiles::
- setmetatile 6, 7, METATILE_PetalburgGym_RoomEntrance_Left, 0
- setmetatile 7, 7, METATILE_PetalburgGym_RoomEntrance_Right, 0
+ setmetatile 6, 7, METATILE_PetalburgGym_RoomEntrance_Left, FALSE
+ setmetatile 7, 7, METATILE_PetalburgGym_RoomEntrance_Right, FALSE
return
PetalburgCity_Gym_EventScript_SlideOpenRoomDoors::
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
index 58b58054f2..3dadd3184b 100644
--- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
@@ -31,18 +31,14 @@ PetalburgCity_PokemonCenter_1F_EventScript_Woman::
faceplayer
msgbox PetalburgCity_PokemonCenter_1F_Text_ManyTypesOfPokemon, MSGBOX_DEFAULT
specialvar VAR_RESULT, IsStarterInParty
- compare VAR_RESULT, TRUE
- goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo
+ goto_if_eq VAR_RESULT, TRUE, PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo
release
end
PetalburgCity_PokemonCenter_1F_EventScript_SayStarterTypeInfo::
- compare VAR_STARTER_MON, 0
- call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayTreeckoType
- compare VAR_STARTER_MON, 1
- call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayTorchicType
- compare VAR_STARTER_MON, 2
- call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_SayMudkipType
+ call_if_eq VAR_STARTER_MON, 0, PetalburgCity_PokemonCenter_1F_EventScript_SayTreeckoType
+ call_if_eq VAR_STARTER_MON, 1, PetalburgCity_PokemonCenter_1F_EventScript_SayTorchicType
+ call_if_eq VAR_STARTER_MON, 2, PetalburgCity_PokemonCenter_1F_EventScript_SayMudkipType
release
end
diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc
index dd2d9273f5..94bd390148 100644
--- a/data/maps/PetalburgWoods/scripts.inc
+++ b/data/maps/PetalburgWoods/scripts.inc
@@ -92,8 +92,7 @@ PetalburgWoods_EventScript_DevonResearcherPostBattle::
waitmovement 0
msgbox PetalburgWoods_Text_ThatWasAwfullyClose, MSGBOX_DEFAULT
giveitem ITEM_GREAT_BALL
- compare VAR_RESULT, FALSE
- goto_if_eq PetalburgWoods_EventScript_BagFull
+ goto_if_eq VAR_RESULT, FALSE, PetalburgWoods_EventScript_BagFull
goto PetalburgWoods_EventScript_DevonResearcherFinish
end
@@ -255,8 +254,7 @@ PetalburgWoods_EventScript_Girl::
goto_if_set FLAG_RECEIVED_MIRACLE_SEED, PetalburgWoods_EventScript_ExplainMiracleSeed
msgbox PetalburgWoods_Text_TryUsingThisItem, MSGBOX_DEFAULT
giveitem ITEM_MIRACLE_SEED
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_MIRACLE_SEED
release
end
@@ -282,12 +280,10 @@ PetalburgWoods_EventScript_Lyle::
PetalburgWoods_EventScript_James::
trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_InstantlyPopularWithBugPokemon, PetalburgWoods_Text_CantBePopularIfILose, PetalburgWoods_EventScript_TryRegisterJames
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq PetalburgWoods_EventScript_JamesRematch
+ goto_if_eq VAR_RESULT, TRUE, PetalburgWoods_EventScript_JamesRematch
setvar VAR_0x8004, TRAINER_JAMES_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq PetalburgWoods_EventScript_TryRegisterJames2
+ goto_if_eq VAR_RESULT, FALSE, PetalburgWoods_EventScript_TryRegisterJames2
msgbox PetalburgWoods_Text_PeopleRespectYou, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc
index a41bc2fcbc..dd0ef5dcec 100644
--- a/data/maps/Route101/scripts.inc
+++ b/data/maps/Route101/scripts.inc
@@ -241,11 +241,9 @@ Route101_EventScript_BirchsBag::
setvar VAR_ROUTE101_STATE, 3
clearflag FLAG_HIDE_MAP_NAME_POPUP
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq Route101_EventScript_HideMayInBedroom
- compare VAR_RESULT, FEMALE
- call_if_eq Route101_EventScript_HideBrendanInBedroom
- warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
+ call_if_eq VAR_RESULT, MALE, Route101_EventScript_HideMayInBedroom
+ call_if_eq VAR_RESULT, FEMALE, Route101_EventScript_HideBrendanInBedroom
+ warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 6, 5
waitstate
release
end
diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc
index cc1eaa4bb7..6131ef9e01 100644
--- a/data/maps/Route102/scripts.inc
+++ b/data/maps/Route102/scripts.inc
@@ -20,12 +20,10 @@ Route102_EventScript_Boy::
Route102_EventScript_Calvin::
trainerbattle_single TRAINER_CALVIN_1, Route102_Text_CalvinIntro, Route102_Text_CalvinDefeated, Route102_EventScript_CalvinRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route102_EventScript_CalvinRematch
+ goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_CalvinRematch
setvar VAR_0x8004, TRAINER_CALVIN_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq Route102_EventScript_CalvinTryRegister
+ goto_if_eq VAR_RESULT, FALSE, Route102_EventScript_CalvinTryRegister
msgbox Route102_Text_CalvinPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc
index 4553f431c0..e2b75e0c3d 100644
--- a/data/maps/Route103/scripts.inc
+++ b/data/maps/Route103/scripts.inc
@@ -15,17 +15,15 @@ Route103_OnLoad:
end
Route103_EventScript_OpenAlteringCave::
- setmetatile 45, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 45, 6, METATILE_General_CaveEntrance_Bottom, 0
+ setmetatile 45, 5, METATILE_General_CaveEntrance_Top, TRUE
+ setmetatile 45, 6, METATILE_General_CaveEntrance_Bottom, FALSE
return
Route103_EventScript_Rival::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq Route103_EventScript_RivalMay
- compare VAR_RESULT, FEMALE
- goto_if_eq Route103_EventScript_RivalBrendan
+ goto_if_eq VAR_RESULT, MALE, Route103_EventScript_RivalMay
+ goto_if_eq VAR_RESULT, FEMALE, Route103_EventScript_RivalBrendan
end
Route103_EventScript_RivalMay::
@@ -211,8 +209,7 @@ Route103_EventScript_Daisy::
Route103_EventScript_Amy::
trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyIntro, Route103_Text_AmyDefeated, Route103_Text_AmyNotEnoughPokemon, Route102_EventScript_AmyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route102_EventScript_AmyRematch
+ goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_AmyRematch
msgbox Route103_Text_AmyPostBattle, MSGBOX_AUTOCLOSE
end
@@ -230,8 +227,7 @@ Route102_EventScript_AmyRematch::
Route103_EventScript_Liv::
trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivIntro, Route103_Text_LivDefeated, Route103_Text_LivNotEnoughPokemon, Route102_EventScript_LivRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route102_EventScript_LivRematch
+ goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_LivRematch
msgbox Route103_Text_LivPostBattle, MSGBOX_AUTOCLOSE
end
@@ -254,8 +250,7 @@ Route103_EventScript_Andrew::
Route103_EventScript_Miguel::
trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_MiguelIntro, Route103_Text_MiguelDefeated, Route102_EventScript_MiguelRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route103_EventScript_MiguelRematch
+ goto_if_eq VAR_RESULT, TRUE, Route103_EventScript_MiguelRematch
msgbox Route103_Text_MiguelPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc
index d58bc50600..68aeb0a212 100644
--- a/data/maps/Route104/scripts.inc
+++ b/data/maps/Route104/scripts.inc
@@ -33,8 +33,7 @@ Route104_EventScript_HideWhiteHerbFlorist::
return
Route104_EventScript_TrySetRivalPos::
- compare VAR_BOARD_BRINEY_BOAT_STATE, 1
- goto_if_ge Route104_EventScript_DontSetRivalPos
+ 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
@@ -77,10 +76,8 @@ Route104_EventScript_RivalTrigger::
@ Unused, shares script with Rustboro encounter instead
Route104_EventScript_PlayRivalMusic::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq Route104_EventScript_PlayMayMusic
- compare VAR_RESULT, FEMALE
- goto_if_eq Route104_EventScript_PlayBrendanMusic
+ goto_if_eq VAR_RESULT, MALE, Route104_EventScript_PlayMayMusic
+ goto_if_eq VAR_RESULT, FEMALE, Route104_EventScript_PlayBrendanMusic
return
Route104_EventScript_PlayMayMusic::
@@ -93,10 +90,8 @@ Route104_EventScript_PlayBrendanMusic::
Route104_EventScript_RivalEncounter::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq Route104_EventScript_MayEncounter
- compare VAR_RESULT, FEMALE
- goto_if_eq Route104_EventScript_BrendanEncounter
+ goto_if_eq VAR_RESULT, MALE, Route104_EventScript_MayEncounter
+ goto_if_eq VAR_RESULT, FEMALE, Route104_EventScript_BrendanEncounter
end
Route104_EventScript_MayEncounter::
@@ -121,8 +116,7 @@ Route104_EventScript_MayEncounter::
waitmovement 0
copyobjectxytoperm LOCALID_RIVAL
msgbox Route104_Text_MayMinesDecentLetsBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route104_EventScript_BattleMay
+ goto_if_eq VAR_RESULT, YES, Route104_EventScript_BattleMay
msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT
call Route104_EventScript_RestoreMusic
releaseall
@@ -144,8 +138,7 @@ Route104_Movement_PlayerFaceRival:
Route104_EventScript_MayAskToBattle::
msgbox Route104_Text_MayLetsBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route104_EventScript_BattleMay
+ goto_if_eq VAR_RESULT, YES, Route104_EventScript_BattleMay
msgbox Route104_Text_MayHaventRaisedPokemon, MSGBOX_DEFAULT
releaseall
end
@@ -160,8 +153,7 @@ Route104_EventScript_BattleMay::
Route104_EventScript_MayDefeated::
msgbox Route104_Text_MayPostBattle, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq Route104_EventScript_RestoreMusic
+ call_if_eq VAR_0x8008, 0, Route104_EventScript_RestoreMusic
releaseall
end
@@ -210,8 +202,7 @@ Route104_EventScript_BrendanEncounter::
waitmovement 0
copyobjectxytoperm LOCALID_RIVAL
msgbox Route104_Text_BrendanDoingGreatLetsBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route104_EventScript_BattleBrendan
+ goto_if_eq VAR_RESULT, YES, Route104_EventScript_BattleBrendan
msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT
call Route104_EventScript_RestoreMusic
releaseall
@@ -219,8 +210,7 @@ Route104_EventScript_BrendanEncounter::
Route104_EventScript_BrendanAskToBattle::
msgbox Route104_Text_BrendanLetsBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route104_EventScript_BattleBrendan
+ goto_if_eq VAR_RESULT, YES, Route104_EventScript_BattleBrendan
msgbox Route104_Text_BrendanNoConfidence, MSGBOX_DEFAULT
releaseall
end
@@ -235,8 +225,7 @@ Route104_EventScript_BattleBrendan::
Route104_EventScript_BrendanDefeated::
msgbox Route104_Text_BrendanPostBattle, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq Route104_EventScript_RestoreMusic
+ call_if_eq VAR_0x8008, 0, Route104_EventScript_RestoreMusic
releaseall
end
@@ -274,8 +263,7 @@ Route104_EventScript_ExpertF::
goto_if_set FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104, Route104_EventScript_ReceivedBerry
msgbox Route104_Text_PlantBerriesInSoilTakeThis, MSGBOX_DEFAULT
giveitem ITEM_CHESTO_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104
msgbox Route104_Text_TrainersOftenMakeMonHoldBerries, MSGBOX_DEFAULT
release
@@ -292,8 +280,7 @@ Route104_EventScript_WhiteHerbFlorist::
goto_if_set FLAG_RECEIVED_WHITE_HERB, Route104_EventScript_ReceivedWhiteHerb
msgbox Route104_Text_DontNeedThisTakeIt, MSGBOX_DEFAULT
giveitem ITEM_WHITE_HERB
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_WHITE_HERB
release
end
@@ -345,8 +332,7 @@ Route104_EventScript_Boy2::
goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_ReceivedBulletSeed
msgbox Route104_Text_LikeFillingMouthWithSeedsTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM09
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM09
release
end
@@ -361,8 +347,8 @@ Route104_EventScript_Girl2::
end
Route104_EventScript_SailToDewford::
- setobjectpriority LOCALID_BRINEY_R104, MAP_ROUTE104, 0
- setobjectpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE104, 0
+ setobjectsubpriority LOCALID_BRINEY_R104, MAP_ROUTE104, 0
+ setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE104, 0
applymovement LOCALID_BRINEY_R104, Route104_Movement_BrineyBoardBoat
waitmovement 0
removeobject LOCALID_BRINEY_R104
@@ -409,7 +395,7 @@ Route104_EventScript_ArriveInDewford::
waitmovement 0
setobjectxyperm LOCALID_BRINEY_DEWFORD, 12, 8
addobject LOCALID_BRINEY_DEWFORD
- setobjectpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
+ setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
applymovement LOCALID_BRINEY_DEWFORD, Route104_Movement_BrineyExitBoat
waitmovement 0
@@ -419,8 +405,8 @@ Route104_EventScript_ArriveInDewford::
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
hideobjectat LOCALID_BOAT_R104, MAP_ROUTE104
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
- resetobjectpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE104
- resetobjectpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN
+ resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE104
+ resetobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN
copyobjectxytoperm LOCALID_BRINEY_DEWFORD
setvar VAR_BOARD_BRINEY_BOAT_STATE, 0
goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_DeliverLetterReminder
@@ -873,12 +859,10 @@ Route104_EventScript_Billy::
Route104_EventScript_Haley::
trainerbattle_single TRAINER_HALEY_1, Route104_Text_HaleyIntro, Route104_Text_HaleyDefeat, Route104_EventScript_TryRegisterHaleyAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route104_EventScript_RematchHaley
+ goto_if_eq VAR_RESULT, TRUE, Route104_EventScript_RematchHaley
setvar VAR_0x8004, TRAINER_HALEY_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq Route104_EventScript_TryRegisterHaley
+ goto_if_eq VAR_RESULT, FALSE, Route104_EventScript_TryRegisterHaley
msgbox Route104_Text_HaleyPostBattle, MSGBOX_DEFAULT
release
end
@@ -916,12 +900,10 @@ Route104_EventScript_RematchHaley::
Route104_EventScript_Winston::
trainerbattle_single TRAINER_WINSTON_1, Route104_Text_WinstonIntro, Route104_Text_WinstonDefeat, Route104_EventScript_TryRegisterWinstonAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route104_EventScript_RematchWinston
+ goto_if_eq VAR_RESULT, TRUE, Route104_EventScript_RematchWinston
setvar VAR_0x8004, TRAINER_WINSTON_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq Route104_EventScript_TryRegisterWinston
+ goto_if_eq VAR_RESULT, FALSE, Route104_EventScript_TryRegisterWinston
msgbox Route104_Text_WinstonPostBattle, MSGBOX_DEFAULT
release
end
@@ -959,12 +941,10 @@ Route104_EventScript_RematchWinston::
Route104_EventScript_Cindy::
trainerbattle_single TRAINER_CINDY_1, Route104_Text_CindyIntro, Route104_Text_CindyDefeat, Route104_EventScript_TryRegisterCindyAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route104_EventScript_RematchCindy
+ goto_if_eq VAR_RESULT, TRUE, Route104_EventScript_RematchCindy
setvar VAR_0x8004, TRAINER_CINDY_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq Route104_EventScript_TryRegisterCindy
+ goto_if_eq VAR_RESULT, FALSE, Route104_EventScript_TryRegisterCindy
msgbox Route104_Text_CindyPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc
index f2e169d105..4c693cb4fa 100644
--- a/data/maps/Route104_MrBrineysHouse/scripts.inc
+++ b/data/maps/Route104_MrBrineysHouse/scripts.inc
@@ -7,8 +7,7 @@ Route104_MrBrineysHouse_MapScripts::
Route104_MrBrineysHouse_OnTransition:
setflag FLAG_LANDMARK_MR_BRINEY_HOUSE
- compare VAR_BRINEY_HOUSE_STATE, 1
- call_if_eq Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos
+ call_if_eq VAR_BRINEY_HOUSE_STATE, 1, Route104_MrBrineysHouse_EventScript_SetBrineyPeekoPos
call_if_set FLAG_RECEIVED_POKENAV, Route104_MrBrineysHouse_EventScript_HideRustboroRival
end
@@ -36,8 +35,7 @@ Route104_MrBrineysHouse_EventScript_SailingIntro::
setflag FLAG_MR_BRINEY_SAILING_INTRO
msgbox Route104_MrBrineysHouse_Text_WaitUpPeeko, MSGBOX_DEFAULT
msgbox Route104_MrBrineysHouse_Text_ItsYouLetsSailToDewford, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
+ goto_if_eq VAR_RESULT, NO, Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
goto Route104_MrBrineysHouse_EventScript_SailToDewford
end
@@ -53,15 +51,13 @@ Route104_MrBrineysHouse_EventScript_WhereAreWeBound::
Route104_MrBrineysHouse_EventScript_SailBothDeliveries::
msgbox Route104_MrBrineysHouse_Text_NeedToMakeDeliveriesSailToDewford, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
+ goto_if_eq VAR_RESULT, NO, Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
goto Route104_MrBrineysHouse_EventScript_SailToDewford
end
Route104_MrBrineysHouse_EventScript_SailDeliverPackage::
msgbox Route104_MrBrineysHouse_Text_NeedToDeliverPackageSailToDewford, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
+ goto_if_eq VAR_RESULT, NO, Route104_MrBrineysHouse_EventScript_DeclineDeliverySailing
goto Route104_MrBrineysHouse_EventScript_SailToDewford
end
@@ -86,7 +82,7 @@ Route104_MrBrineysHouse_EventScript_SailToDewford::
setvar VAR_ROUTE104_STATE, 2
setflag FLAG_HIDE_RUSTBORO_CITY_RIVAL
setflag FLAG_HIDE_ROUTE_104_RIVAL
- warp MAP_ROUTE104, 255, 13, 51
+ warp MAP_ROUTE104, 13, 51
waitstate
releaseall
end
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
index 34f5ba42c4..5f0ec28fa5 100644
--- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
+++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
@@ -23,19 +23,15 @@ Route104_PrettyPetalFlowerShop_EventScript_ShopOwner::
goto_if_set FLAG_MET_PRETTY_PETAL_SHOP_OWNER, Route104_PrettyPetalFlowerShop_EventScript_AlreadyMet
setflag FLAG_MET_PRETTY_PETAL_SHOP_OWNER
msgbox Route104_PrettyPetalFlowerShop_Text_IntroLearnAboutBerries, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries
- compare VAR_RESULT, NO
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries
+ call_if_eq VAR_RESULT, YES, Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries
+ call_if_eq VAR_RESULT, NO, Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries
release
end
Route104_PrettyPetalFlowerShop_EventScript_AlreadyMet::
msgbox Route104_PrettyPetalFlowerShop_Text_LearnAboutBerries, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries
- compare VAR_RESULT, NO
- call_if_eq Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries
+ call_if_eq VAR_RESULT, YES, Route104_PrettyPetalFlowerShop_EventScript_ExplainBerries
+ call_if_eq VAR_RESULT, NO, Route104_PrettyPetalFlowerShop_EventScript_DontExplainBerries
release
end
@@ -92,8 +88,7 @@ Route104_PrettyPetalFlowerShop_EventScript_RandomBerryGirl::
random 8
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY
msgbox Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries, MSGBOX_DEFAULT
release
diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc
index b60cd181fa..bfad0daaae 100644
--- a/data/maps/Route105/scripts.inc
+++ b/data/maps/Route105/scripts.inc
@@ -6,24 +6,19 @@ Route105_MapScripts::
Route105_OnLoad:
call_if_unset FLAG_REGI_DOORS_OPENED, Route105_CloseRegiEntrance
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute105North
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute105South
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH, AbnormalWeather_EventScript_PlaceTilesRoute105North
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH, AbnormalWeather_EventScript_PlaceTilesRoute105South
end
Route105_CloseRegiEntrance::
- setmetatile 9, 19, METATILE_General_RockWall_RockBase, 1
- setmetatile 9, 20, METATILE_General_RockWall_SandBase, 1
+ setmetatile 9, 19, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 9, 20, METATILE_General_RockWall_SandBase, TRUE
return
Route105_OnTransition:
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH
- call_if_eq AbnormalWeather_StartKyogreWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH
- call_if_eq AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_NORTH, AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_105_SOUTH, AbnormalWeather_StartKyogreWeather
end
Route105_OnFrame:
@@ -63,8 +58,7 @@ Route105_EventScript_Josue::
Route105_EventScript_Andres::
trainerbattle_single TRAINER_ANDRES_1, Route105_Text_AndresIntro, Route105_Text_AndresDefeated, Route105_EventScript_AndresRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route105_EventScript_AndresRematch
+ goto_if_eq VAR_RESULT, TRUE, Route105_EventScript_AndresRematch
msgbox Route105_Text_AndresPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route106/scripts.inc b/data/maps/Route106/scripts.inc
index 2107ce1c3b..0202f57f01 100644
--- a/data/maps/Route106/scripts.inc
+++ b/data/maps/Route106/scripts.inc
@@ -18,8 +18,7 @@ Route106_EventScript_Kyla::
Route106_EventScript_Elliot::
trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_ElliotIntro, Route106_Text_ElliotDefeated, Route106_EventScript_ElliotRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route106_EventScript_ElliotRematch
+ goto_if_eq VAR_RESULT, TRUE, Route106_EventScript_ElliotRematch
msgbox Route106_Text_ElliotPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route107/scripts.inc b/data/maps/Route107/scripts.inc
index cffeafb08f..b61e3e705e 100644
--- a/data/maps/Route107/scripts.inc
+++ b/data/maps/Route107/scripts.inc
@@ -9,8 +9,7 @@ Route107_EventScript_Darrin::
Route107_EventScript_Tony::
trainerbattle_single TRAINER_TONY_1, Route107_Text_TonyIntro, Route107_Text_TonyDefeated, Route107_EventScript_TonyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route107_EventScript_TonyRematch
+ goto_if_eq VAR_RESULT, TRUE, Route107_EventScript_TonyRematch
msgbox Route107_Text_TonyPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route108/scripts.inc b/data/maps/Route108/scripts.inc
index 8663915545..cc2a3e9c3d 100644
--- a/data/maps/Route108/scripts.inc
+++ b/data/maps/Route108/scripts.inc
@@ -29,8 +29,7 @@ Route108_EventScript_Carolina::
Route108_EventScript_Cory::
trainerbattle_single TRAINER_CORY_1, Route108_Text_CoryIntro, Route108_Text_CoryDefeated, Route108_EventScript_CoryRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route108_EventScript_CoryRematch
+ goto_if_eq VAR_RESULT, TRUE, Route108_EventScript_CoryRematch
msgbox Route108_Text_CoryPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc
index 37852c873f..f0353fef4d 100644
--- a/data/maps/Route109/scripts.inc
+++ b/data/maps/Route109/scripts.inc
@@ -6,8 +6,8 @@ Route109_MapScripts::
Route109_EventScript_StartDepartForDewford::
call EventScript_BackupMrBrineyLocation
- setobjectpriority LOCALID_BRINEY_R109, MAP_ROUTE109, 0
- setobjectpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE109, 0
+ setobjectsubpriority LOCALID_BRINEY_R109, MAP_ROUTE109, 0
+ setobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE109, 0
applymovement LOCALID_BRINEY_R109, Route109_Movement_BrineyEnterBoat
waitmovement 0
removeobject LOCALID_BRINEY_R109
@@ -50,7 +50,7 @@ Route109_EventScript_DoSailToDewford::
clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
setobjectxyperm LOCALID_BRINEY_DEWFORD, 12, 8
addobject LOCALID_BRINEY_DEWFORD
- setobjectpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
+ setobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN, 0
applymovement LOCALID_BRINEY_DEWFORD, Route109_Movement_BrineyExitBoat
waitmovement 0
clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
@@ -59,8 +59,8 @@ Route109_EventScript_DoSailToDewford::
msgbox DewfordTown_Text_BrineyLandedInDewford, MSGBOX_DEFAULT
closemessage
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
- resetobjectpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE109
- resetobjectpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN
+ resetobjectsubpriority OBJ_EVENT_ID_PLAYER, MAP_ROUTE109
+ resetobjectsubpriority LOCALID_BRINEY_DEWFORD, MAP_DEWFORD_TOWN
copyobjectxytoperm LOCALID_BRINEY_DEWFORD
release
end
@@ -282,8 +282,7 @@ Route109_EventScript_MrBriney::
Route109_EventScript_HaveNotDeliveredDevonGood::
message Route109_Text_BrineySailToDewfordQuestion
msgbox Route109_Text_BrineySailToDewfordQuestion, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route109_EventScript_StayHere
+ goto_if_eq VAR_RESULT, NO, Route109_EventScript_StayHere
goto Route109_EventScript_SailToDewford
end
@@ -334,8 +333,7 @@ Route109_EventScript_SoftSandGirl::
goto_if_set FLAG_RECEIVED_SOFT_SAND, Route109_EventScript_AlreadyReceivedSoftSand
msgbox Route109_Text_YouCanHaveThis, MSGBOX_DEFAULT
giveitem ITEM_SOFT_SAND
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
waitmovement 0
@@ -399,8 +397,7 @@ Route109_EventScript_Edmond::
Route109_EventScript_Ricky::
trainerbattle_single TRAINER_RICKY_1, Route109_Text_RickyIntro, Route109_Text_RickyDefeated, Route109_EventScript_RickyRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route109_EventScript_RickyRematch
+ goto_if_eq VAR_RESULT, TRUE, Route109_EventScript_RickyRematch
msgbox Route109_Text_RickyPostBattle, MSGBOX_DEFAULT
release
end
@@ -421,8 +418,7 @@ Route109_EventScript_RickyRematch::
Route109_EventScript_Lola::
trainerbattle_single TRAINER_LOLA_1, Route109_Text_LolaIntro, Route109_Text_LolaDefeated, Route109_EventScript_LolaRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route109_EventScript_LolaRematch
+ goto_if_eq VAR_RESULT, TRUE, Route109_EventScript_LolaRematch
msgbox Route109_Text_LolaPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc
index c4cfd1576e..afb2a4aa0d 100644
--- a/data/maps/Route109_SeashoreHouse/scripts.inc
+++ b/data/maps/Route109_SeashoreHouse/scripts.inc
@@ -25,8 +25,7 @@ Route109_SeashoreHouse_EventScript_AlreadyGaveIntroduction::
Route109_SeashoreHouse_EventScript_DefeatedTrainers::
msgbox Route109_SeashoreHouse_Text_TakeTheseSodaPopBottles, MSGBOX_DEFAULT
giveitem ITEM_SODA_POP, 6
- compare VAR_RESULT, FALSE
- goto_if_eq Route109_SeashoreHouse_EventScript_BagFull
+ goto_if_eq VAR_RESULT, FALSE, Route109_SeashoreHouse_EventScript_BagFull
setflag FLAG_RECEIVED_6_SODA_POP
release
end
@@ -37,25 +36,22 @@ Route109_SeashoreHouse_EventScript_BagFull::
end
Route109_SeashoreHouse_EventScript_AlreadyReceivedSodaPop::
- showmoneybox 0, 0, 0
+ showmoneybox 0, 0
msgbox Route109_SeashoreHouse_Text_WantToBuySodaPop, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route109_SeashoreHouse_EventScript_BuySodaPop
+ goto_if_eq VAR_RESULT, YES, Route109_SeashoreHouse_EventScript_BuySodaPop
msgbox Route109_SeashoreHouse_Text_ThatsTooBad, MSGBOX_DEFAULT
hidemoneybox
release
end
Route109_SeashoreHouse_EventScript_BuySodaPop::
- checkmoney 300, 0
- compare VAR_RESULT, FALSE
- goto_if_eq Route109_SeashoreHouse_EventScript_NotEnoughMoney
- checkitemspace ITEM_SODA_POP, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Route109_SeashoreHouse_EventScript_NotEnoughSpace
+ checkmoney 300
+ goto_if_eq VAR_RESULT, FALSE, Route109_SeashoreHouse_EventScript_NotEnoughMoney
+ checkitemspace ITEM_SODA_POP
+ goto_if_eq VAR_RESULT, FALSE, Route109_SeashoreHouse_EventScript_NotEnoughSpace
msgbox Route109_SeashoreHouse_Text_HereYouGo, MSGBOX_DEFAULT
- removemoney 300, 0
- updatemoneybox 0, 0
+ removemoney 300
+ updatemoneybox
giveitem ITEM_SODA_POP
hidemoneybox
release
diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc
index abb42cc127..7d16c8b10c 100644
--- a/data/maps/Route110/scripts.inc
+++ b/data/maps/Route110/scripts.inc
@@ -16,8 +16,7 @@ Route110_OnResume:
Route110_OnTransition:
call Common_EventScript_SetupRivalGfxId
call Common_EventScript_SetupRivalOnBikeGfxId
- compare VAR_CYCLING_CHALLENGE_STATE, 1
- call_if_eq Route110_EventScript_SaveCyclingMusic
+ call_if_eq VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_SaveCyclingMusic
end
Route110_EventScript_SaveCyclingMusic::
@@ -136,8 +135,7 @@ Route110_EventScript_TrickHouseSign::
Route110_EventScript_CyclingRoadResultsSign::
lockall
specialvar VAR_RESULT, GetRecordedCyclingRoadResults
- compare VAR_RESULT, FALSE
- goto_if_eq Route110_EventScript_NoRecordSet
+ goto_if_eq VAR_RESULT, FALSE, Route110_EventScript_NoRecordSet
msgbox Route110_Text_BestRecord, MSGBOX_DEFAULT
releaseall
end
@@ -151,10 +149,8 @@ Route110_EventScript_ChallengeGuy::
lock
faceplayer
specialvar VAR_RESULT, GetPlayerAvatarBike
- compare VAR_RESULT, 1
- goto_if_eq Route110_EventScript_PlayerRidingAcroBike
- compare VAR_CYCLING_CHALLENGE_STATE, 0
- goto_if_eq Route110_EventScript_PlayerNotRidingBike
+ goto_if_eq VAR_RESULT, 1, Route110_EventScript_PlayerRidingAcroBike
+ goto_if_eq VAR_CYCLING_CHALLENGE_STATE, 0, Route110_EventScript_PlayerNotRidingBike
msgbox Route110_Text_AlwaysAimHigher, MSGBOX_DEFAULT
release
end
@@ -182,8 +178,7 @@ Route110_EventScript_Jaclyn::
Route110_EventScript_Edwin::
trainerbattle_single TRAINER_EDWIN_1, Route110_Text_EdwinIntro, Route110_Text_EdwinDefeated, Route110_EventScript_EdwinRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_EventScript_EdwinRematch
+ goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_EdwinRematch
msgbox Route110_Text_EdwinPostBattle, MSGBOX_DEFAULT
release
end
@@ -219,8 +214,7 @@ Route110_EventScript_Anthony::
Route110_EventScript_Benjamin::
trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_BenjaminIntro, Route110_Text_BenjaminDefeated, Route110_EventScript_BenjaminRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_EventScript_BenjaminRematch
+ goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_BenjaminRematch
msgbox Route110_Text_BenjaminPostBattle, MSGBOX_DEFAULT
release
end
@@ -246,8 +240,7 @@ Route110_EventScript_Jasmine::
Route110_EventScript_Abigail::
trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_AbigailIntro, Route110_Text_AbigailDefeated, Route110_EventScript_AbigailRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_EventScript_AbigailRematch
+ goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_AbigailRematch
msgbox Route110_Text_AbigailPostBattle, MSGBOX_DEFAULT
release
end
@@ -268,8 +261,7 @@ Route110_EventScript_AbigailRematch::
Route110_EventScript_Isabel::
trainerbattle_single TRAINER_ISABEL_1, Route110_Text_IsabelIntro, Route110_Text_IsabelDefeated, Route110_EventScript_IsabelRegisterMatchCallAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_EventScript_IsabelRematch
+ goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_IsabelRematch
msgbox Route110_Text_IsabelPostBattle, MSGBOX_DEFAULT
release
end
@@ -384,10 +376,8 @@ Route110_EventScript_RivalTrigger3::
Route110_EventScript_RivalScene::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq Route110_EventScript_PlayMayMusic
- compare VAR_RESULT, FEMALE
- call_if_eq Route110_EventScript_PlayBrendanMusic
+ call_if_eq VAR_RESULT, MALE, Route110_EventScript_PlayMayMusic
+ call_if_eq VAR_RESULT, FEMALE, Route110_EventScript_PlayBrendanMusic
applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark
@@ -395,17 +385,12 @@ Route110_EventScript_RivalScene::
applymovement LOCALID_RIVAL, Common_Movement_Delay48
waitmovement 0
delay 30
- compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_RivalApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_RivalApproachPlayer2
- compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_RivalApproachPlayer3
+ call_if_eq VAR_0x8008, 1, Route110_EventScript_RivalApproachPlayer1
+ call_if_eq VAR_0x8008, 2, Route110_EventScript_RivalApproachPlayer2
+ call_if_eq VAR_0x8008, 3, Route110_EventScript_RivalApproachPlayer3
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq Route110_EventScript_MayBattle
- compare VAR_RESULT, FEMALE
- goto_if_eq Route110_EventScript_BrendanBattle
+ goto_if_eq VAR_RESULT, MALE, Route110_EventScript_MayBattle
+ goto_if_eq VAR_RESULT, FEMALE, Route110_EventScript_BrendanBattle
releaseall
end
@@ -483,23 +468,17 @@ Route110_EventScript_GiveItemfinder::
Route110_EventScript_RivalExit::
closemessage
- compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_MoveRival1
- compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_MoveRival2
- compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_MoveRival3
+ 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
delay 45
- compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_RivalExit1
- compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_RivalExit2
- compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_RivalExit3
+ 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
setvar VAR_ROUTE110_STATE, 1
savebgm MUS_DUMMY
@@ -625,14 +604,10 @@ Route110_EventScript_BirchScene::
waitmovement 0
applymovement LOCALID_BIRCH, Common_Movement_Delay48
waitmovement 0
- compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_BirchApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_BirchApproachPlayer2
- compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_BirchApproachPlayer3
- compare VAR_0x8008, 4
- call_if_eq Route110_EventScript_BirchApproachPlayer4
+ call_if_eq VAR_0x8008, 1, Route110_EventScript_BirchApproachPlayer1
+ call_if_eq VAR_0x8008, 2, Route110_EventScript_BirchApproachPlayer2
+ call_if_eq VAR_0x8008, 3, Route110_EventScript_BirchApproachPlayer3
+ call_if_eq VAR_0x8008, 4, Route110_EventScript_BirchApproachPlayer4
msgbox Route110_Text_ImagineSeeingYouHere, MSGBOX_DEFAULT
closemessage
delay 20
@@ -656,14 +631,10 @@ Route110_EventScript_BirchScene::
setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL
msgbox Route110_Text_KeepAnEyeOutForRival, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 1
- call_if_eq Route110_EventScript_BirchExit1
- compare VAR_0x8008, 2
- call_if_eq Route110_EventScript_BirchExit2
- compare VAR_0x8008, 3
- call_if_eq Route110_EventScript_BirchExit3
- compare VAR_0x8008, 4
- call_if_eq Route110_EventScript_BirchExit4
+ call_if_eq VAR_0x8008, 1, Route110_EventScript_BirchExit1
+ 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
setvar VAR_REGISTER_BIRCH_STATE, 2
releaseall
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
index 4bad754c4d..5eb1f3dea2 100644
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
@@ -11,8 +11,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_Clerk::
Route110_SeasideCyclingRoadNorthEntrance_EventScript_BikeCheck::
lockall
specialvar VAR_RESULT, GetPlayerAvatarBike
- compare VAR_RESULT, 0
- goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike
+ goto_if_eq VAR_RESULT, 0, Route110_SeasideCyclingRoadNorthEntrance_EventScript_NoBike
setflag FLAG_SYS_CYCLING_ROAD
setvar VAR_TEMP_1, 1
releaseall
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
index 92b4b3e44c..df53f55ccf 100644
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
@@ -3,10 +3,8 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts::
.byte 0
Route110_SeasideCyclingRoadSouthEntrance_OnTransition:
- compare VAR_CYCLING_CHALLENGE_STATE, 3
- call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge
- compare VAR_CYCLING_CHALLENGE_STATE, 2
- call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_RestartChallenge
+ 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::
@@ -23,10 +21,8 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_Clerk::
Route110_SeasideCyclingRoadSouthEntrance_EventScript_BikeCheck::
lockall
specialvar VAR_RESULT, GetPlayerAvatarBike
- compare VAR_RESULT, 2
- call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_OnMachBike
- compare VAR_RESULT, 0
- goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_NoBike
+ 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
diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc
index f30d74f01c..be8f75e961 100644
--- a/data/maps/Route110_TrickHouseEnd/scripts.inc
+++ b/data/maps/Route110_TrickHouseEnd/scripts.inc
@@ -8,8 +8,7 @@ Route110_TrickHouseEnd_MapScripts::
.byte 0
Route110_TrickHouseEnd_OnResume:
- compare VAR_TEMP_1, 1
- call_if_eq Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile
+ call_if_eq VAR_TEMP_1, 1, Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile
end
Route110_TrickHouseEnd_OnTransition:
@@ -39,7 +38,7 @@ Route110_TrickHouseEnd_EventScript_CloseDoor::
end
Route110_TrickHouseEnd_EventScript_SetDoorClosedMetatile::
- setmetatile 10, 1, METATILE_GenericBuilding_TrickHouse_Door_Closed, 1
+ setmetatile 10, 1, METATILE_GenericBuilding_TrickHouse_Door_Closed, TRUE
return
Route110_TrickHouseEnd_EventScript_TrickMaster::
@@ -63,8 +62,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle1::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_RARE_CANDY
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -76,8 +74,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle2::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_TIMER_BALL
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -89,8 +86,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle3::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_HARD_STONE
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -102,8 +98,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle4::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_SMOKE_BALL
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -115,8 +110,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle5::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_TM12
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -128,8 +122,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle6::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_MAGNET
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -141,8 +134,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle7::
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
giveitem ITEM_PP_MAX
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
@@ -152,14 +144,10 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle7::
Route110_TrickHouseEnd_EventScript_CompletedPuzzle8::
msgbox Route110_TrickHouseEnd_Text_AllNightPolishingFloors, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_SOUTH
- call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth
- compare VAR_FACING, DIR_NORTH
- call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth
- compare VAR_FACING, DIR_WEST
- call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest
- compare VAR_FACING, DIR_EAST
- call_if_eq Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast
+ call_if_eq VAR_FACING, DIR_SOUTH, Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwaySouth
+ call_if_eq VAR_FACING, DIR_NORTH, Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayNorth
+ call_if_eq VAR_FACING, DIR_WEST, Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayWest
+ call_if_eq VAR_FACING, DIR_EAST, Route110_TrickHouseEnd_EventScript_TrickMasterFaceAwayEast
delay 30
msgbox Route110_TrickHouseEnd_Text_FountainOfIdeasRunDry, MSGBOX_DEFAULT
closemessage
@@ -169,8 +157,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle8::
msgbox Route110_TrickHouseEnd_Text_DefeatedMePreferWhichTent, MSGBOX_DEFAULT
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
call Route110_TrickHouseEnd_EventScript_ChooseTent
- compare VAR_RESULT, FALSE
- call_if_eq Route110_TrickHouseEnd_EventScript_NoRoomForTent
+ call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_NoRoomForTent
msgbox Route110_TrickHouseEnd_Text_LeavingOnJourney, MSGBOX_DEFAULT
call Route110_TrickHouseEnd_EventScript_TrickMasterExit
special ResetTrickHouseNuggetFlag
diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc
index e756feadca..44dda8c5c1 100644
--- a/data/maps/Route110_TrickHouseEntrance/scripts.inc
+++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc
@@ -17,18 +17,12 @@ Route110_TrickHouseEntrance_MapScripts::
Route110_TrickHouseEntrance_OnTransition:
setflag FLAG_LANDMARK_TRICK_HOUSE
- compare VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_EnterFromCorridor
- compare VAR_TRICK_HOUSE_PRIZE_PICKUP, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward
- compare VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_MoveTrickMasterToDoor
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 5
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 3
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
- compare VAR_TRICK_HOUSE_ENTRANCE_STATE, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
+ goto_if_eq VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR, 1, Route110_TrickHouseEntrance_EventScript_EnterFromCorridor
+ goto_if_eq VAR_TRICK_HOUSE_PRIZE_PICKUP, 1, Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward
+ goto_if_eq VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1, Route110_TrickHouseEntrance_EventScript_MoveTrickMasterToDoor
+ call_if_eq VAR_TRICK_HOUSE_ENTRANCE_STATE, 5, Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
+ call_if_eq VAR_TRICK_HOUSE_ENTRANCE_STATE, 3, Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
+ call_if_eq VAR_TRICK_HOUSE_ENTRANCE_STATE, 0, Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle
switch VAR_TRICK_HOUSE_ENTRANCE_STATE
case 0, Route110_TrickHouseEntrance_EventScript_ReadyBeingWatchedTrigger
case 1, Route110_TrickHouseEntrance_EventScript_SetNotBeingWatched1
@@ -38,8 +32,7 @@ Route110_TrickHouseEntrance_OnTransition:
Route110_TrickHouseEntrance_EventScript_SetReadyToGiveReward::
setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
- compare VAR_TRICK_HOUSE_LEVEL, 8
- goto_if_eq Route110_TrickHouseEntrance_EventScript_ReadyToGiveTentReward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 8, Route110_TrickHouseEntrance_EventScript_ReadyToGiveTentReward
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 2
end
@@ -55,22 +48,14 @@ Route110_TrickHouseEntrance_EventScript_EnterFromCorridor::
Route110_TrickHouseEntrance_EventScript_CheckReadyForNextPuzzle::
setvar VAR_TRICK_HOUSE_ENTRANCE_STATE, 0
- compare VAR_TRICK_HOUSE_LEVEL, 1
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2
- compare VAR_TRICK_HOUSE_LEVEL, 2
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle3
- compare VAR_TRICK_HOUSE_LEVEL, 3
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle4
- compare VAR_TRICK_HOUSE_LEVEL, 4
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle5
- compare VAR_TRICK_HOUSE_LEVEL, 5
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle6
- compare VAR_TRICK_HOUSE_LEVEL, 6
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle7
- compare VAR_TRICK_HOUSE_LEVEL, 7
- call_if_eq Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle8
- compare VAR_TRICK_HOUSE_LEVEL, 8
- call_if_eq Route110_TrickHouseEntrance_EventScript_FinishedPuzzles
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 1, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 2, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle3
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 3, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle4
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 4, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle5
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 5, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle6
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 6, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle7
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 7, Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle8
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 8, Route110_TrickHouseEntrance_EventScript_FinishedPuzzles
return
Route110_TrickHouseEntrance_EventScript_CheckReadyForPuzzle2::
@@ -216,8 +201,7 @@ Route110_TrickHouseEntrance_OnFrame:
Route110_TrickHouseEntrance_EventScript_BeginChallenge::
lockall
delay 20
- compare VAR_TRICK_HOUSE_LEVEL, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_MeetTrickMaster
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 0, Route110_TrickHouseEntrance_EventScript_MeetTrickMaster
msgbox Route110_TrickHouseEntrance_Text_ComeToChallengeTrickHouse, MSGBOX_DEFAULT
closemessage
delay 20
@@ -251,25 +235,17 @@ Route110_TrickHouseEntrance_EventScript_FoundTrickMaster::
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_Delay48
waitmovement 0
- compare VAR_TRICK_HOUSE_LEVEL, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk
- compare VAR_TRICK_HOUSE_LEVEL, 1
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBehindTree
- compare VAR_TRICK_HOUSE_LEVEL, 2
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInDresser
- compare VAR_TRICK_HOUSE_LEVEL, 3
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeyondWindow
- compare VAR_TRICK_HOUSE_LEVEL, 4
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInPlanter
- compare VAR_TRICK_HOUSE_LEVEL, 5
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundInCupboard
- compare VAR_TRICK_HOUSE_LEVEL, 6
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBehindWindow
- compare VAR_TRICK_HOUSE_LEVEL, 7
- call_if_eq Route110_TrickHouseEntrance_EventScript_FoundBeneathCushion
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 0, Route110_TrickHouseEntrance_EventScript_FoundBeneathDesk
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 1, Route110_TrickHouseEntrance_EventScript_FoundBehindTree
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 2, Route110_TrickHouseEntrance_EventScript_FoundInDresser
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 3, Route110_TrickHouseEntrance_EventScript_FoundBeyondWindow
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 4, Route110_TrickHouseEntrance_EventScript_FoundInPlanter
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 5, Route110_TrickHouseEntrance_EventScript_FoundInCupboard
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 6, Route110_TrickHouseEntrance_EventScript_FoundBehindWindow
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 7, Route110_TrickHouseEntrance_EventScript_FoundBeneathCushion
closemessage
setvar VAR_TRICK_HOUSE_FOUND_TRICK_MASTER, 1
- warpsilent MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2
+ warpsilent MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 6, 2
waitstate
releaseall
end
@@ -352,88 +328,67 @@ Route110_TrickHouseEntrance_EventScript_GiveReward::
applymovement LOCALID_TRICK_MASTER, Common_Movement_FacePlayer
waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_YoureHereToAcceptReward, MSGBOX_DEFAULT
- compare VAR_TRICK_HOUSE_LEVEL, 1
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward
- compare VAR_TRICK_HOUSE_LEVEL, 2
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward
- compare VAR_TRICK_HOUSE_LEVEL, 3
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward
- compare VAR_TRICK_HOUSE_LEVEL, 4
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward
- compare VAR_TRICK_HOUSE_LEVEL, 5
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward
- compare VAR_TRICK_HOUSE_LEVEL, 6
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward
- compare VAR_TRICK_HOUSE_LEVEL, 7
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 1, Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 2, Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 3, Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 4, Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 5, Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 6, Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 7, Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle1Reward::
giveitem ITEM_RARE_CANDY
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle2Reward::
giveitem ITEM_TIMER_BALL
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle3Reward::
giveitem ITEM_HARD_STONE
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward::
giveitem ITEM_SMOKE_BALL
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward::
giveitem ITEM_TM12
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle6Reward::
giveitem ITEM_MAGNET
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_GivePuzzle7Reward::
giveitem ITEM_PP_MAX
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_GotReward
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
releaseall
end
@@ -451,10 +406,8 @@ Route110_TrickHouseEntrance_EventScript_MechadollReward::
waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_MechadollWhichTent, MSGBOX_DEFAULT
call Route110_TrickHouseEntrance_EventScript_ChooseTent
- compare VAR_RESULT, TRUE
- goto_if_eq Route110_TrickHouseEntrance_EventScript_ReceivedTent
- compare VAR_RESULT, FALSE
- call_if_eq Common_EventScript_NoRoomForDecor
+ goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_ReceivedTent
+ call_if_eq VAR_RESULT, FALSE, Common_EventScript_NoRoomForDecor
msgbox Route110_TrickHouseEntrance_Text_PCFullAgain, MSGBOX_DEFAULT
releaseall
end
@@ -506,13 +459,12 @@ Route110_TrickHouseEntrance_EventScript_ItsAScroll::
Route110_TrickHouseEntrance_EventScript_GoInHolePrompt::
msgbox Route110_TrickHouseEntrance_Text_GoInHoleBehindScroll, MSGBOX_YESNO
closemessage
- compare VAR_RESULT, YES
- goto_if_eq Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom
+ goto_if_eq VAR_RESULT, YES, Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom::
- setmetatile 5, 1, METATILE_GenericBuilding_TrickHouse_Stairs_Down, 0
+ setmetatile 5, 1, METATILE_GenericBuilding_TrickHouse_Stairs_Down, FALSE
special DrawWholeMapView
delay 20
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkUp
@@ -535,49 +487,49 @@ Route110_TrickHouseEntrance_Movement_EnterRoom:
step_end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom1::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE1, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE1, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom2::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE2, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE2, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom3::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE3, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE3, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom4::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE4, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE4, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom5::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom6::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE6, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE6, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom7::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 0, 21
waitstate
releaseall
end
Route110_TrickHouseEntrance_EventScript_EnterPuzzleRoom8::
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE8, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE8, 0, 21
waitstate
releaseall
end
@@ -588,8 +540,7 @@ Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote::
end
Route110_TrickHouseEntrance_EventScript_CheckLevelForMessage::
- compare VAR_TRICK_HOUSE_LEVEL, 8
- goto_if_eq Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote2
+ goto_if_eq VAR_TRICK_HOUSE_LEVEL, 8, Route110_TrickHouseEntrance_EventScript_LeftOnJourneyNote2
msgbox Route110_TrickHouseEntrance_Text_ItsAScroll, MSGBOX_DEFAULT
releaseall
end
@@ -613,89 +564,81 @@ Route110_TrickHousePuzzle_EventScript_Door::
end
Route110_TrickHousePuzzle1_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle1_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle2_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle2_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_2_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle3_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle3_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_3_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle4_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle4_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_4_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle5_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle5_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_5_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle6_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle6_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_6_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle7_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
Route110_TrickHousePuzzle8_EventScript_Door::
- compare VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle_EventScript_DoorLocked
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked
msgbox Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 2
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
special DrawWholeMapView
releaseall
end
@@ -722,12 +665,9 @@ Route110_TrickHouseEntrance_EventScript_TrickMasterHiding::
lockall
msgbox Route110_TrickHouseEntrance_Text_YoureBeingWatched, MSGBOX_DEFAULT
releaseall
- compare VAR_TRICK_HOUSE_LEVEL, 0
- call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle1
- compare VAR_TRICK_HOUSE_LEVEL, 1
- call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle2
- compare VAR_TRICK_HOUSE_LEVEL, 2
- call_if_eq Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle3
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 0, Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle1
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 1, Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle2
+ call_if_eq VAR_TRICK_HOUSE_LEVEL, 2, Route110_TrickHouseEntrance_EventScript_DoHidingSpotSparkle3
setvar VAR_TRICK_HOUSE_BEING_WATCHED_STATE, 1
end
diff --git a/data/maps/Route110_TrickHousePuzzle1/scripts.inc b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
index 6fc6adcd56..2ed769167a 100644
--- a/data/maps/Route110_TrickHousePuzzle1/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
@@ -3,18 +3,16 @@ Route110_TrickHousePuzzle1_MapScripts::
.byte 0
Route110_TrickHousePuzzle1_OnLoad:
- compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2
- goto_if_eq Route110_TrickHousePuzzle1_EventScript_OpenDoor
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_1_STATE, 2, Route110_TrickHousePuzzle1_EventScript_OpenDoor
end
Route110_TrickHousePuzzle1_EventScript_OpenDoor::
- setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, 0
+ setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE
end
Route110_TrickHousePuzzle1_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle1_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_1_STATE, 0, Route110_TrickHousePuzzle1_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
index a0222733a9..012a62d93d 100644
--- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
@@ -4,14 +4,10 @@ Route110_TrickHousePuzzle2_MapScripts::
.byte 0
Route110_TrickHousePuzzle2_OnResume:
- compare VAR_TEMP_1, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton1
- compare VAR_TEMP_2, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton2
- compare VAR_TEMP_3, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton3
- compare VAR_TEMP_4, 1
- call_if_eq Route110_TrickHousePuzzle2_EventScript_PressButton4
+ call_if_eq VAR_TEMP_1, 1, Route110_TrickHousePuzzle2_EventScript_PressButton1
+ call_if_eq VAR_TEMP_2, 1, Route110_TrickHousePuzzle2_EventScript_PressButton2
+ call_if_eq VAR_TEMP_3, 1, Route110_TrickHousePuzzle2_EventScript_PressButton3
+ call_if_eq VAR_TEMP_4, 1, Route110_TrickHousePuzzle2_EventScript_PressButton4
end
Route110_TrickHousePuzzle2_OnTransition:
@@ -23,8 +19,7 @@ Route110_TrickHousePuzzle2_OnTransition:
Route110_TrickHousePuzzle2_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle2_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_2_STATE, 0, Route110_TrickHousePuzzle2_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
@@ -70,23 +65,23 @@ Route110_TrickHousePuzzle2_EventScript_Button4::
end
Route110_TrickHousePuzzle2_EventScript_PressButton1::
- setmetatile 11, 12, METATILE_TrickHousePuzzle_Button_Pressed, 0
- setmetatile 1, 13, METATILE_TrickHousePuzzle_Door_Shuttered, 0
+ setmetatile 11, 12, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
+ setmetatile 1, 13, METATILE_TrickHousePuzzle_Door_Shuttered, FALSE
return
Route110_TrickHousePuzzle2_EventScript_PressButton2::
- setmetatile 0, 4, METATILE_TrickHousePuzzle_Button_Pressed, 0
- setmetatile 5, 6, METATILE_TrickHousePuzzle_Door_Shuttered, 0
+ setmetatile 0, 4, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
+ setmetatile 5, 6, METATILE_TrickHousePuzzle_Door_Shuttered, FALSE
return
Route110_TrickHousePuzzle2_EventScript_PressButton3::
- setmetatile 14, 5, METATILE_TrickHousePuzzle_Button_Pressed, 0
- setmetatile 7, 15, METATILE_TrickHousePuzzle_Door_Shuttered, 0
+ setmetatile 14, 5, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
+ setmetatile 7, 15, METATILE_TrickHousePuzzle_Door_Shuttered, FALSE
return
Route110_TrickHousePuzzle2_EventScript_PressButton4::
- setmetatile 7, 11, METATILE_TrickHousePuzzle_Button_Pressed, 0
- setmetatile 14, 12, METATILE_TrickHousePuzzle_Door_Shuttered, 0
+ setmetatile 7, 11, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
+ setmetatile 14, 12, METATILE_TrickHousePuzzle_Door_Shuttered, FALSE
return
Route110_TrickHousePuzzle2_EventScript_Ted::
diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
index 4e706268c0..1831639b18 100644
--- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
@@ -5,10 +5,8 @@ Route110_TrickHousePuzzle3_MapScripts::
Route110_TrickHousePuzzle3_OnResume:
call Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles
- compare VAR_TEMP_9, 0
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState0
- compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState1
+ call_if_eq VAR_TEMP_9, 0, Route110_TrickHousePuzzle3_EventScript_SetDoorsState0
+ call_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle3_EventScript_SetDoorsState1
end
Route110_TrickHousePuzzle3_OnTransition:
@@ -21,188 +19,184 @@ Route110_TrickHousePuzzle3_OnTransition:
end
Route110_TrickHousePuzzle3_EventScript_UpdateButtonMetatiles::
- setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Up, 0
- setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Up, 0
- setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Up, 0
- setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Up, 0
- compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile
- compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile
- compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile
- compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile
+ setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Up, FALSE
+ setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Up, FALSE
+ setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Up, FALSE
+ setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Up, FALSE
+ call_if_eq VAR_TEMP_8, 1, Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile
+ call_if_eq VAR_TEMP_8, 2, Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile
+ call_if_eq VAR_TEMP_8, 3, Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile
+ call_if_eq VAR_TEMP_8, 4, Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile
return
Route110_TrickHousePuzzle3_EventScript_PressedButton1Metatile::
- setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Pressed, 0
+ setmetatile 4, 14, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
return
Route110_TrickHousePuzzle3_EventScript_PressedButton2Metatile::
- setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Pressed, 0
+ setmetatile 3, 11, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
return
Route110_TrickHousePuzzle3_EventScript_PressedButton3Metatile::
- setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Pressed, 0
+ setmetatile 12, 5, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
return
Route110_TrickHousePuzzle3_EventScript_PressedButton4Metatile::
- setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Pressed, 0
+ setmetatile 8, 2, METATILE_TrickHousePuzzle_Button_Pressed, FALSE
return
Route110_TrickHousePuzzle3_EventScript_SetDoorsState0::
- setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0
- setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0
- setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0
- setmetatile 2, 7, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, 0
- setmetatile 1, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0
- setmetatile 2, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0
- setmetatile 1, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0
- setmetatile 2, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, 0
- setmetatile 4, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0
- setmetatile 5, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0
- setmetatile 4, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0
- setmetatile 5, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, 0
- setmetatile 13, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0
- setmetatile 14, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0
- setmetatile 13, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0
- setmetatile 14, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, 0
- setmetatile 13, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, 0
- setmetatile 14, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, 0
- setmetatile 13, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, 0
- setmetatile 14, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, 0
- setmetatile 3, 7, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, 1
- setmetatile 3, 8, METATILE_TrickHousePuzzle_Floor_ShadowTop, 0
- setmetatile 3, 13, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, 1
- setmetatile 3, 14, METATILE_TrickHousePuzzle_Floor_ShadowTop, 0
- setmetatile 6, 4, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, 1
- setmetatile 6, 5, METATILE_TrickHousePuzzle_Floor_ShadowTop, 0
- setmetatile 9, 16, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, 1
- setmetatile 9, 17, METATILE_TrickHousePuzzle_Floor_ShadowTop, 0
- setmetatile 12, 7, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, 1
- setmetatile 12, 8, METATILE_TrickHousePuzzle_Floor_ShadowTop, 0
- setmetatile 1, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 2, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 1, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 2, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 1, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 2, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 1, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 2, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 4, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 5, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 4, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 5, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 4, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 5, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 4, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 5, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 4, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 5, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 4, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 5, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 7, 9, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 8, 9, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 7, 10, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 8, 10, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 10, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 11, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 10, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 11, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 10, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 11, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 10, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 11, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 10, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 11, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 10, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 11, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 13, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, 0
- setmetatile 14, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, 0
- setmetatile 13, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, 1
- setmetatile 14, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, 1
- setmetatile 3, 16, METATILE_TrickHousePuzzle_RedDoorV_Open0, 1
- setmetatile 3, 17, METATILE_TrickHousePuzzle_RedDoorV_Open1, 1
- setmetatile 9, 4, METATILE_TrickHousePuzzle_RedDoorV_Open0, 1
- setmetatile 9, 5, METATILE_TrickHousePuzzle_RedDoorV_Open1, 1
+ setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, FALSE
+ setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, FALSE
+ setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, FALSE
+ setmetatile 2, 7, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, FALSE
+ setmetatile 1, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, FALSE
+ setmetatile 2, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, FALSE
+ setmetatile 1, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, FALSE
+ setmetatile 2, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, FALSE
+ setmetatile 4, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, FALSE
+ setmetatile 5, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, FALSE
+ setmetatile 4, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, FALSE
+ setmetatile 5, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, FALSE
+ setmetatile 13, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, FALSE
+ setmetatile 14, 9, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, FALSE
+ setmetatile 13, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, FALSE
+ setmetatile 14, 10, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, FALSE
+ setmetatile 13, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile0, FALSE
+ setmetatile 14, 15, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile1, FALSE
+ setmetatile 13, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile2, FALSE
+ setmetatile 14, 16, METATILE_TrickHousePuzzle_BlueDoorH_Open_Tile3, FALSE
+ setmetatile 3, 7, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, TRUE
+ setmetatile 3, 8, METATILE_TrickHousePuzzle_Floor_ShadowTop, FALSE
+ setmetatile 3, 13, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, TRUE
+ setmetatile 3, 14, METATILE_TrickHousePuzzle_Floor_ShadowTop, FALSE
+ setmetatile 6, 4, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, TRUE
+ setmetatile 6, 5, METATILE_TrickHousePuzzle_Floor_ShadowTop, FALSE
+ setmetatile 9, 16, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, TRUE
+ setmetatile 9, 17, METATILE_TrickHousePuzzle_Floor_ShadowTop, FALSE
+ setmetatile 12, 7, METATILE_TrickHousePuzzle_BlueDoorV_Retracted, TRUE
+ setmetatile 12, 8, METATILE_TrickHousePuzzle_Floor_ShadowTop, FALSE
+ setmetatile 1, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 2, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 1, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 2, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 1, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 2, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 1, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 2, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 4, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 5, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 4, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 5, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 4, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 5, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 4, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 5, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 4, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 5, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 4, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 5, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 7, 9, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 8, 9, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 7, 10, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 8, 10, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 10, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 11, 6, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 10, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 11, 7, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 10, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 11, 12, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 10, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 11, 13, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 10, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 11, 18, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 10, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 11, 19, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 13, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile0, FALSE
+ setmetatile 14, 3, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile1, FALSE
+ setmetatile 13, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile2, TRUE
+ setmetatile 14, 4, METATILE_TrickHousePuzzle_RedDoorH_Closed_Tile3, TRUE
+ setmetatile 3, 16, METATILE_TrickHousePuzzle_RedDoorV_Open0, TRUE
+ setmetatile 3, 17, METATILE_TrickHousePuzzle_RedDoorV_Open1, TRUE
+ setmetatile 9, 4, METATILE_TrickHousePuzzle_RedDoorV_Open0, TRUE
+ setmetatile 9, 5, METATILE_TrickHousePuzzle_RedDoorV_Open1, TRUE
return
Route110_TrickHousePuzzle3_EventScript_SetDoorsState1::
- setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0
- setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0
- setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1
- setmetatile 2, 7, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, 1
- setmetatile 1, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0
- setmetatile 2, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0
- setmetatile 1, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1
- setmetatile 2, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, 1
- setmetatile 4, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0
- setmetatile 5, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0
- setmetatile 4, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1
- setmetatile 5, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, 1
- setmetatile 13, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0
- setmetatile 14, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0
- setmetatile 13, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1
- setmetatile 14, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, 1
- setmetatile 13, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, 0
- setmetatile 14, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, 0
- setmetatile 13, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, 1
- setmetatile 14, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, 1
- setmetatile 3, 7, METATILE_TrickHousePuzzle_BlueDoorV_Open0, 1
- setmetatile 3, 8, METATILE_TrickHousePuzzle_BlueDoorV_Open1, 1
- setmetatile 3, 13, METATILE_TrickHousePuzzle_BlueDoorV_Open0, 1
- setmetatile 3, 14, METATILE_TrickHousePuzzle_BlueDoorV_Open1, 1
- setmetatile 6, 4, METATILE_TrickHousePuzzle_BlueDoorV_Open0, 1
- setmetatile 6, 5, METATILE_TrickHousePuzzle_BlueDoorV_Open1, 1
- setmetatile 9, 16, METATILE_TrickHousePuzzle_BlueDoorV_Open0, 1
- setmetatile 9, 17, METATILE_TrickHousePuzzle_BlueDoorV_Open1, 1
- setmetatile 12, 7, METATILE_TrickHousePuzzle_BlueDoorV_Open0, 1
- setmetatile 12, 8, METATILE_TrickHousePuzzle_BlueDoorV_Open1, 1
- setmetatile 1, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 2, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 1, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 2, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 1, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 2, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 1, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 2, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 4, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 5, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 4, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 5, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 4, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 5, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 4, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 5, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 4, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 5, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 4, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 5, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 7, 9, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 8, 9, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 7, 10, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 8, 10, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 10, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 11, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 10, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 11, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 10, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 11, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 10, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 11, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 10, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 11, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 10, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 11, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 13, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, 0
- setmetatile 14, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, 0
- setmetatile 13, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, 0
- setmetatile 14, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, 0
- setmetatile 3, 16, METATILE_TrickHousePuzzle_RedDoorV_Retracted, 1
- setmetatile 3, 17, METATILE_TrickHousePuzzle_Floor_ShadowTop_Alt, 0
- setmetatile 9, 4, METATILE_TrickHousePuzzle_RedDoorV_Retracted, 1
- setmetatile 9, 5, METATILE_TrickHousePuzzle_Floor_ShadowTop_Alt, 0
+ setmetatile 1, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, FALSE
+ setmetatile 2, 6, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, FALSE
+ setmetatile 1, 7, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, TRUE
+ setmetatile 2, 7, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, TRUE
+ setmetatile 1, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, FALSE
+ setmetatile 2, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, FALSE
+ setmetatile 1, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, TRUE
+ setmetatile 2, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, TRUE
+ setmetatile 4, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, FALSE
+ setmetatile 5, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, FALSE
+ setmetatile 4, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, TRUE
+ setmetatile 5, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, TRUE
+ setmetatile 13, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, FALSE
+ setmetatile 14, 9, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, FALSE
+ setmetatile 13, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, TRUE
+ setmetatile 14, 10, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, TRUE
+ setmetatile 13, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile0, FALSE
+ setmetatile 14, 15, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile1, FALSE
+ setmetatile 13, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile2, TRUE
+ setmetatile 14, 16, METATILE_TrickHousePuzzle_BlueDoorH_Closed_Tile3, TRUE
+ setmetatile 3, 7, METATILE_TrickHousePuzzle_BlueDoorV_Open0, TRUE
+ setmetatile 3, 8, METATILE_TrickHousePuzzle_BlueDoorV_Open1, TRUE
+ setmetatile 3, 13, METATILE_TrickHousePuzzle_BlueDoorV_Open0, TRUE
+ setmetatile 3, 14, METATILE_TrickHousePuzzle_BlueDoorV_Open1, TRUE
+ setmetatile 6, 4, METATILE_TrickHousePuzzle_BlueDoorV_Open0, TRUE
+ setmetatile 6, 5, METATILE_TrickHousePuzzle_BlueDoorV_Open1, TRUE
+ setmetatile 9, 16, METATILE_TrickHousePuzzle_BlueDoorV_Open0, TRUE
+ setmetatile 9, 17, METATILE_TrickHousePuzzle_BlueDoorV_Open1, TRUE
+ setmetatile 12, 7, METATILE_TrickHousePuzzle_BlueDoorV_Open0, TRUE
+ setmetatile 12, 8, METATILE_TrickHousePuzzle_BlueDoorV_Open1, TRUE
+ setmetatile 1, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 2, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 1, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 2, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 1, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 2, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 1, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 2, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 4, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 5, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 4, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 5, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 4, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 5, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 4, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 5, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 4, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 5, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 4, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 5, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 7, 9, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 8, 9, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 7, 10, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 8, 10, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 10, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 11, 6, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 10, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 11, 7, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 10, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 11, 12, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 10, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 11, 13, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 10, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 11, 18, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 10, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 11, 19, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 13, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile0, FALSE
+ setmetatile 14, 3, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile1, FALSE
+ setmetatile 13, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile2, FALSE
+ setmetatile 14, 4, METATILE_TrickHousePuzzle_RedDoorH_Open_Tile3, FALSE
+ setmetatile 3, 16, METATILE_TrickHousePuzzle_RedDoorV_Retracted, TRUE
+ setmetatile 3, 17, METATILE_TrickHousePuzzle_Floor_ShadowTop_Alt, FALSE
+ setmetatile 9, 4, METATILE_TrickHousePuzzle_RedDoorV_Retracted, TRUE
+ setmetatile 9, 5, METATILE_TrickHousePuzzle_Floor_ShadowTop_Alt, FALSE
return
Route110_TrickHousePuzzle3_EventScript_Button1::
@@ -241,14 +235,10 @@ Route110_TrickHousePuzzle3_EventScript_SetButton::
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_4, 0
- compare VAR_TEMP_8, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton1
- compare VAR_TEMP_8, 2
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton2
- compare VAR_TEMP_8, 3
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton3
- compare VAR_TEMP_8, 4
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetButton4
+ call_if_eq VAR_TEMP_8, 1, Route110_TrickHousePuzzle3_EventScript_SetButton1
+ call_if_eq VAR_TEMP_8, 2, Route110_TrickHousePuzzle3_EventScript_SetButton2
+ call_if_eq VAR_TEMP_8, 3, Route110_TrickHousePuzzle3_EventScript_SetButton3
+ call_if_eq VAR_TEMP_8, 4, Route110_TrickHousePuzzle3_EventScript_SetButton4
return
Route110_TrickHousePuzzle3_EventScript_SetButton1::
@@ -268,15 +258,11 @@ Route110_TrickHousePuzzle3_EventScript_SetButton4::
return
Route110_TrickHousePuzzle3_EventScript_AlternateDoors::
- compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState0
- compare VAR_TEMP_9, 0
- call_if_eq Route110_TrickHousePuzzle3_EventScript_SetDoorsState1
+ call_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle3_EventScript_SetDoorsState0
+ call_if_eq VAR_TEMP_9, 0, Route110_TrickHousePuzzle3_EventScript_SetDoorsState1
special DrawWholeMapView
- compare VAR_TEMP_9, 1
- goto_if_eq Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState
- compare VAR_TEMP_9, 0
- goto_if_eq Route110_TrickHousePuzzle3_EventScript_SetAltDoorState
+ goto_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState
+ goto_if_eq VAR_TEMP_9, 0, Route110_TrickHousePuzzle3_EventScript_SetAltDoorState
end
Route110_TrickHousePuzzle3_EventScript_ClearAltDoorState::
@@ -291,8 +277,7 @@ Route110_TrickHousePuzzle3_EventScript_SetAltDoorState::
Route110_TrickHousePuzzle3_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle3_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_3_STATE, 0, Route110_TrickHousePuzzle3_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
diff --git a/data/maps/Route110_TrickHousePuzzle4/scripts.inc b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
index 10f49adb50..2350d4ceb2 100644
--- a/data/maps/Route110_TrickHousePuzzle4/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
@@ -3,8 +3,7 @@ Route110_TrickHousePuzzle4_MapScripts::
Route110_TrickHousePuzzle4_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle4_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_4_STATE, 0, Route110_TrickHousePuzzle4_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
index 3c574441ec..e0fa432bd2 100644
--- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
@@ -19,8 +19,7 @@ Route110_TrickHousePuzzle5_OnTransition:
Route110_TrickHousePuzzle5_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_5_STATE, 0, Route110_TrickHousePuzzle5_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
@@ -33,8 +32,7 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll1::
lockall
applymovement LOCALID_MECHADOLL_1, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_TEMP_1, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
+ goto_if_eq VAR_TEMP_1, 1, Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate
end
@@ -43,8 +41,7 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll2::
lockall
applymovement LOCALID_MECHADOLL_2, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_TEMP_2, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
+ goto_if_eq VAR_TEMP_2, 1, Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate
end
@@ -53,8 +50,7 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll3::
lockall
applymovement LOCALID_MECHADOLL_3, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_TEMP_3, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
+ goto_if_eq VAR_TEMP_3, 1, Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate
end
@@ -63,8 +59,7 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll4::
lockall
applymovement LOCALID_MECHADOLL_4, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_TEMP_4, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
+ goto_if_eq VAR_TEMP_4, 1, Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate
end
@@ -73,8 +68,7 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll5::
lockall
applymovement LOCALID_MECHADOLL_5, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_TEMP_5, 1
- goto_if_eq Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
+ goto_if_eq VAR_TEMP_5, 1, Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_Mechadoll5Activate
end
@@ -226,14 +220,10 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll1Activate::
waitmovement 0
applymovement LOCALID_MECHADOLL_1, Common_Movement_Delay48
waitmovement 0
- compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
- compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
- compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
- compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
+ call_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
+ call_if_eq VAR_TEMP_9, 2, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
+ call_if_eq VAR_TEMP_9, 3, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
+ call_if_eq VAR_TEMP_9, 4, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
msgbox Route110_TrickHousePuzzle5_Text_Mechadoll1Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -250,16 +240,11 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll2Activate::
waitmovement 0
applymovement LOCALID_MECHADOLL_2, Common_Movement_Delay48
waitmovement 0
- compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1
- compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2
- compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3
- compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4
- compare VAR_TEMP_9, 5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5
+ call_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1
+ call_if_eq VAR_TEMP_9, 2, Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2
+ call_if_eq VAR_TEMP_9, 3, Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3
+ call_if_eq VAR_TEMP_9, 4, Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4
+ call_if_eq VAR_TEMP_9, 5, Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5
msgbox Route110_TrickHousePuzzle5_Text_Mechadoll2Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -276,14 +261,10 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll3Activate::
waitmovement 0
applymovement LOCALID_MECHADOLL_3, Common_Movement_Delay48
waitmovement 0
- compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
- compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
- compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
- compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
+ call_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
+ call_if_eq VAR_TEMP_9, 2, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
+ call_if_eq VAR_TEMP_9, 3, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
+ call_if_eq VAR_TEMP_9, 4, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
msgbox Route110_TrickHousePuzzle5_Text_Mechadoll3Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -300,14 +281,10 @@ Route110_TrickHousePuzzle5_EventScript_Mechadoll4Activate::
waitmovement 0
applymovement LOCALID_MECHADOLL_4, Common_Movement_Delay48
waitmovement 0
- compare VAR_TEMP_9, 1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
- compare VAR_TEMP_9, 2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
- compare VAR_TEMP_9, 3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
- compare VAR_TEMP_9, 4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
+ call_if_eq VAR_TEMP_9, 1, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1
+ call_if_eq VAR_TEMP_9, 2, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2
+ call_if_eq VAR_TEMP_9, 3, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3
+ call_if_eq VAR_TEMP_9, 4, Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4
msgbox Route110_TrickHousePuzzle5_Text_Mechadoll4Intro, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -465,7 +442,7 @@ Route110_TrickHousePuzzle5_EventScript_IncorrectAnswer::
waitmovement 0
msgbox Route110_TrickHousePuzzle5_Text_WaitForNextChallenge, MSGBOX_DEFAULT
closemessage
- warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21
+ warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 0, 21
waitstate
releaseall
end
@@ -487,133 +464,83 @@ Route110_TrickHousePuzzle5_EventScript_CorrectGoThrough::
@ Mechadoll 5 never walks, all the Mechadoll5Walk scripts are unused
@ No mechadoll walks left 5 paces, all the WalkLeft5 scripts are unused
Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft1::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft1
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft2::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft2
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft3::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft3
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft4::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft4
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkLeft5::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkLeft5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkLeft5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkLeft5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkLeft5
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight1::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight1
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight1
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight1
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight2::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight2
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight2
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight2
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight3::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight3
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight3
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight3
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight4::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight4
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight4
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight4
return
Route110_TrickHousePuzzle5_EventScript_MechadollWalkRight5::
- compare VAR_TEMP_8, LOCALID_MECHADOLL_1
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_2
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_3
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_4
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight5
- compare VAR_TEMP_8, LOCALID_MECHADOLL_5
- call_if_eq Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_1, Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkRight5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_2, Route110_TrickHousePuzzle5_EventScript_Mechadoll2WalkRight5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_3, Route110_TrickHousePuzzle5_EventScript_Mechadoll3WalkRight5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_4, Route110_TrickHousePuzzle5_EventScript_Mechadoll4WalkRight5
+ call_if_eq VAR_TEMP_8, LOCALID_MECHADOLL_5, Route110_TrickHousePuzzle5_EventScript_Mechadoll5WalkRight5
return
Route110_TrickHousePuzzle5_EventScript_Mechadoll1WalkLeft1::
diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
index 35d657acc3..e442d094d5 100644
--- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
@@ -17,8 +17,7 @@ Route110_TrickHousePuzzle6_EventScript_InitPuzzle::
Route110_TrickHousePuzzle6_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle6_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_6_STATE, 0, Route110_TrickHousePuzzle6_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
index b0f1cbea12..a47df82cac 100644
--- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
@@ -22,58 +22,57 @@ Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles::
@ Leftover from R/S, none of the below metatile scripts are ever called
Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOn::
- setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0
- setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_On, 1
+ setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, FALSE
+ setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_On, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOn::
- setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0
- setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_On, 1
+ setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, FALSE
+ setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_On, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOn::
- setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, 0
- setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_On, 1
+ setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Up, FALSE
+ setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_On, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOn::
- setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt, 0
- setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_On, 1
+ setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt, FALSE
+ setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_On, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOn::
- setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, 0
- setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_On, 1
+ setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, FALSE
+ setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_On, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch1MetatilesOff::
- setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, 0
- setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_Off, 1
+ setmetatile 13, 17, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, FALSE
+ setmetatile 12, 16, METATILE_TrickHousePuzzle_Lever_Off, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch2MetatilesOff::
- setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, 0
- setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_Off, 1
+ setmetatile 12, 13, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left, FALSE
+ setmetatile 12, 11, METATILE_TrickHousePuzzle_Lever_Off, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch3MetatilesOff::
- setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, 0
- setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_Off, 1
+ setmetatile 7, 12, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down, FALSE
+ setmetatile 5, 10, METATILE_TrickHousePuzzle_Lever_Off, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch4MetatilesOff::
- setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt, 0
- setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_Off, 1
+ setmetatile 6, 6, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt, FALSE
+ setmetatile 4, 4, METATILE_TrickHousePuzzle_Lever_Off, TRUE
return
Route110_TrickHousePuzzle7_EventScript_SetSwitch5MetatilesOff::
- setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right, 0
- setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_Off, 1
+ setmetatile 8, 4, METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right, FALSE
+ setmetatile 7, 5, METATILE_TrickHousePuzzle_Lever_Off, TRUE
return
Route110_TrickHousePuzzle7_OnTransition:
- compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_TeleportedTransition
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1, Route110_TrickHousePuzzle7_EventScript_TeleportedTransition
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2
clearflag FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3
@@ -85,8 +84,7 @@ Route110_TrickHousePuzzle7_EventScript_TeleportedTransition::
end
Route110_TrickHousePuzzle7_OnLoad:
- compare VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
- call_if_eq Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles
+ call_if_eq VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1, Route110_TrickHousePuzzle7_EventScript_UpdateSwitchMetatiles
end
Route110_TrickHousePuzzle7_OnFrame:
@@ -99,8 +97,7 @@ Route110_TrickHousePuzzle7_EventScript_ClearState2::
Route110_TrickHousePuzzle7_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle7_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0, Route110_TrickHousePuzzle7_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
@@ -113,7 +110,7 @@ Route110_TrickHousePuzzle7_EventScript_FoundScroll::
Route110_TrickHousePuzzle7_EventScript_TeleportPad::
lockall
setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE_2, 1
- warpteleport MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 255, 3, 19
+ warpteleport MAP_ROUTE110_TRICK_HOUSE_PUZZLE7, 3, 19
waitstate
releaseall
end
diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
index 310751e5df..371f610004 100644
--- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
@@ -3,8 +3,7 @@ Route110_TrickHousePuzzle8_MapScripts::
Route110_TrickHousePuzzle8_EventScript_Scroll::
lockall
- compare VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0
- goto_if_eq Route110_TrickHousePuzzle8_EventScript_FoundScroll
+ goto_if_eq VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0, Route110_TrickHousePuzzle8_EventScript_FoundScroll
goto Route110_TrickHousePuzzle_EventScript_ReadScrollAgain
end
diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc
index 72e30958a5..6cb83b4528 100644
--- a/data/maps/Route111/scripts.inc
+++ b/data/maps/Route111/scripts.inc
@@ -15,45 +15,42 @@ Route111_MapScripts::
Route111_OnLoad:
call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_CloseDesertRuins
- compare VAR_MIRAGE_TOWER_STATE, 1
- call_if_eq Route111_EventScript_ShowTemporaryMirageTower
+ call_if_eq VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_ShowTemporaryMirageTower
end
Route111_EventScript_CloseDesertRuins::
- setmetatile 29, 86, METATILE_General_RockWall_RockBase, 1
- setmetatile 29, 87, METATILE_General_RockWall_SandBase, 1
+ setmetatile 29, 86, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 29, 87, METATILE_General_RockWall_SandBase, TRUE
return
@ Show Mirage Tower just prior to disintegration. Mirage Tower is otherwise handled by the map layout
Route111_EventScript_ShowTemporaryMirageTower::
- setmetatile 18, 53, METATILE_Mauville_MirageTower_Tile0, 0
- setmetatile 19, 53, METATILE_Mauville_MirageTower_Tile1, 0
- setmetatile 20, 53, METATILE_Mauville_MirageTower_Tile2, 0
- setmetatile 18, 54, METATILE_Mauville_MirageTower_Tile3, 0
- setmetatile 19, 54, METATILE_Mauville_MirageTower_Tile4, 0
- setmetatile 20, 54, METATILE_Mauville_MirageTower_Tile5, 0
- setmetatile 18, 55, METATILE_Mauville_MirageTower_Tile6, 0
- setmetatile 19, 55, METATILE_Mauville_MirageTower_Tile7, 0
- setmetatile 20, 55, METATILE_Mauville_MirageTower_Tile8, 0
- setmetatile 18, 56, METATILE_Mauville_MirageTower_Tile9, 0
- setmetatile 19, 56, METATILE_Mauville_MirageTower_TileA, 0
- setmetatile 20, 56, METATILE_Mauville_MirageTower_TileB, 0
- setmetatile 18, 57, METATILE_Mauville_MirageTower_TileC, 0
- setmetatile 19, 57, METATILE_Mauville_MirageTower_TileD, 0
- setmetatile 20, 57, METATILE_Mauville_MirageTower_TileE, 0
- setmetatile 18, 58, METATILE_Mauville_MirageTower_TileF, 0
- setmetatile 19, 58, METATILE_Mauville_MirageTower_Tile10, 0
- setmetatile 20, 58, METATILE_Mauville_MirageTower_Tile11, 0
+ setmetatile 18, 53, METATILE_Mauville_MirageTower_Tile0, FALSE
+ setmetatile 19, 53, METATILE_Mauville_MirageTower_Tile1, FALSE
+ setmetatile 20, 53, METATILE_Mauville_MirageTower_Tile2, FALSE
+ setmetatile 18, 54, METATILE_Mauville_MirageTower_Tile3, FALSE
+ setmetatile 19, 54, METATILE_Mauville_MirageTower_Tile4, FALSE
+ setmetatile 20, 54, METATILE_Mauville_MirageTower_Tile5, FALSE
+ setmetatile 18, 55, METATILE_Mauville_MirageTower_Tile6, FALSE
+ setmetatile 19, 55, METATILE_Mauville_MirageTower_Tile7, FALSE
+ setmetatile 20, 55, METATILE_Mauville_MirageTower_Tile8, FALSE
+ setmetatile 18, 56, METATILE_Mauville_MirageTower_Tile9, FALSE
+ setmetatile 19, 56, METATILE_Mauville_MirageTower_TileA, FALSE
+ setmetatile 20, 56, METATILE_Mauville_MirageTower_TileB, FALSE
+ setmetatile 18, 57, METATILE_Mauville_MirageTower_TileC, FALSE
+ setmetatile 19, 57, METATILE_Mauville_MirageTower_TileD, FALSE
+ setmetatile 20, 57, METATILE_Mauville_MirageTower_TileE, FALSE
+ setmetatile 18, 58, METATILE_Mauville_MirageTower_TileF, FALSE
+ setmetatile 19, 58, METATILE_Mauville_MirageTower_Tile10, FALSE
+ setmetatile 20, 58, METATILE_Mauville_MirageTower_Tile11, FALSE
return
Route111_OnTransition:
setvar VAR_TRAINER_HILL_IS_ACTIVE, 0
special SetMirageTowerVisibility
call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_SetLayoutNoMirageTower
- compare VAR_MIRAGE_TOWER_STATE, 1
- call_if_eq Route111_EventScript_SetFallingPlayerGfx
- compare VAR_MIRAGE_TOWER_STATE, 2
- call_if_eq Route111_EventScript_SetMirageTowerGone
+ call_if_eq VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_SetFallingPlayerGfx
+ call_if_eq VAR_MIRAGE_TOWER_STATE, 2, Route111_EventScript_SetMirageTowerGone
call Route111_EventScript_CheckSetSandstorm
call GabbyAndTy_EventScript_UpdateLocation
goto_if_not_defeated TRAINER_VICKY, Route111_EventScript_SetWinstratesNotDefeated
@@ -61,10 +58,8 @@ Route111_OnTransition:
Route111_EventScript_SetFallingPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq Route111_EventScript_SetFallingPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq Route111_EventScript_SetFallingPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, Route111_EventScript_SetFallingPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, Route111_EventScript_SetFallingPlayerGfxFemale
return
Route111_EventScript_SetFallingPlayerGfxMale::
@@ -77,16 +72,11 @@ Route111_EventScript_SetFallingPlayerGfxFemale::
Route111_EventScript_CheckSetSandstorm::
getplayerxy VAR_TEMP_0, VAR_TEMP_1
- compare VAR_TEMP_1, 34
- goto_if_lt Route111_EventScript_EndCheckSetSandstorm
- compare VAR_TEMP_1, 107
- goto_if_gt Route111_EventScript_EndCheckSetSandstorm
- compare VAR_TEMP_1, 72
- goto_if_gt Route111_EventScript_SetSandstorm
- compare VAR_TEMP_0, 2000
- goto_if_gt Route111_EventScript_EndCheckSetSandstorm
- compare VAR_TEMP_0, 8
- goto_if_lt Route111_EventScript_EndCheckSetSandstorm
+ goto_if_lt VAR_TEMP_1, 34, Route111_EventScript_EndCheckSetSandstorm
+ goto_if_gt VAR_TEMP_1, 107, Route111_EventScript_EndCheckSetSandstorm
+ goto_if_gt VAR_TEMP_1, 72, Route111_EventScript_SetSandstorm
+ goto_if_gt VAR_TEMP_0, 2000, Route111_EventScript_EndCheckSetSandstorm
+ goto_if_lt VAR_TEMP_0, 8, Route111_EventScript_EndCheckSetSandstorm
Route111_EventScript_SetSandstorm::
setweather WEATHER_SANDSTORM
Route111_EventScript_EndCheckSetSandstorm::
@@ -170,8 +160,7 @@ Route111_EventScript_Girl::
goto_if_set FLAG_DAILY_ROUTE_111_RECEIVED_BERRY, Route111_EventScript_ReceivedBerry
msgbox Route111_Text_WateredPlantsEveryDayTakeBerry, MSGBOX_DEFAULT
giveitem ITEM_RAZZ_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_ROUTE_111_RECEIVED_BERRY
special GetPlayerBigGuyGirlString
msgbox Route111_Text_GoingToTryToMakeDifferentColorBerries, MSGBOX_DEFAULT
@@ -210,9 +199,8 @@ Route111_EventScript_ViciousSandstormTriggerRight::
end
Route111_EventScript_ViciousSandstormTrigger::
- checkitem ITEM_GO_GOGGLES, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Route111_EventScript_PreventRouteAccess
+ checkitem ITEM_GO_GOGGLES
+ goto_if_eq VAR_RESULT, FALSE, Route111_EventScript_PreventRouteAccess
setvar VAR_TEMP_3, 1
releaseall
end
@@ -220,14 +208,10 @@ Route111_EventScript_ViciousSandstormTrigger::
Route111_EventScript_PreventRouteAccess::
msgbox gText_SandstormIsVicious, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8004, 0
- call_if_eq Route111_EventScript_PushUpFromRoute
- compare VAR_0x8004, 1
- call_if_eq Route111_EventScript_PushDownFromRoute
- compare VAR_0x8004, 2
- call_if_eq Route111_EventScript_PushLeftFromRoute
- compare VAR_0x8004, 3
- call_if_eq Route111_EventScript_PushRightFromRoute
+ call_if_eq VAR_0x8004, 0, Route111_EventScript_PushUpFromRoute
+ call_if_eq VAR_0x8004, 1, Route111_EventScript_PushDownFromRoute
+ call_if_eq VAR_0x8004, 2, Route111_EventScript_PushLeftFromRoute
+ call_if_eq VAR_0x8004, 3, Route111_EventScript_PushRightFromRoute
releaseall
end
@@ -285,8 +269,7 @@ Route111_EventScript_Victor::
faceplayer
setflag FLAG_LANDMARK_WINSTRATE_FAMILY
msgbox Route111_Text_BattleOurFamily, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route111_EventScript_BattleWinstrates
+ goto_if_eq VAR_RESULT, YES, Route111_EventScript_BattleWinstrates
msgbox Route111_Text_IsThatSo, MSGBOX_DEFAULT
release
end
@@ -420,10 +403,8 @@ Route111_EventScript_Man2::
Route111_EventScript_Hiker::
lock
faceplayer
- compare VAR_MIRAGE_TOWER_STATE, 3
- goto_if_eq Route111_EventScript_HikerMirageTowerGone
- compare VAR_MIRAGE_TOWER_STATE, 2
- goto_if_eq Route111_EventScript_HikerMirageTowerDisintegrated
+ goto_if_eq VAR_MIRAGE_TOWER_STATE, 3, Route111_EventScript_HikerMirageTowerGone
+ goto_if_eq VAR_MIRAGE_TOWER_STATE, 2, Route111_EventScript_HikerMirageTowerDisintegrated
goto_if_set FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_HikerMirageTowerVisible
msgbox Route111_Text_ShouldBeMirageTowerAroundHere, MSGBOX_DEFAULT
release
@@ -478,8 +459,7 @@ Route111_EventScript_Becky::
Route111_EventScript_Dusty::
trainerbattle_single TRAINER_DUSTY_1, Route111_Text_DustyIntro, Route111_Text_DustyDefeat, Route111_EventScript_RegisterDusty
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route111_EventScript_RematchDusty
+ goto_if_eq VAR_RESULT, TRUE, Route111_EventScript_RematchDusty
msgbox Route111_Text_DustyPostBattle, MSGBOX_DEFAULT
release
end
@@ -515,8 +495,7 @@ Route111_EventScript_Daisuke::
Route111_EventScript_Wilton::
trainerbattle_single TRAINER_WILTON_1, Route111_Text_WiltonIntro, Route111_Text_WiltonDefeat, Route111_EventScript_RegisterWilton
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route111_EventScript_RematchWilton
+ goto_if_eq VAR_RESULT, TRUE, Route111_EventScript_RematchWilton
msgbox Route111_Text_WiltonPostBattle, MSGBOX_DEFAULT
release
end
@@ -537,8 +516,7 @@ Route111_EventScript_RematchWilton::
Route111_EventScript_Brooke::
trainerbattle_single TRAINER_BROOKE_1, Route111_Text_BrookeIntro, Route111_Text_BrookeDefeat, Route111_EventScript_RegisterBrooke
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route111_EventScript_RematchBrooke
+ goto_if_eq VAR_RESULT, TRUE, Route111_EventScript_RematchBrooke
msgbox Route111_Text_BrookePostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc
index 645ce4de41..6b7b5a8abc 100644
--- a/data/maps/Route111_OldLadysRestStop/scripts.inc
+++ b/data/maps/Route111_OldLadysRestStop/scripts.inc
@@ -10,10 +10,8 @@ Route111_OldLadysRestStop_EventScript_OldLady::
lock
faceplayer
msgbox Route111_OldLadysRestStop_Text_RestUpHere, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route111_OldLadysRestStop_EventScript_Rest
- compare VAR_RESULT, NO
- goto_if_eq Route111_OldLadysRestStop_EventScript_DeclineRest
+ goto_if_eq VAR_RESULT, YES, Route111_OldLadysRestStop_EventScript_Rest
+ goto_if_eq VAR_RESULT, NO, Route111_OldLadysRestStop_EventScript_DeclineRest
end
Route111_OldLadysRestStop_EventScript_Rest::
@@ -21,10 +19,8 @@ Route111_OldLadysRestStop_EventScript_Rest::
closemessage
call Common_EventScript_OutOfCenterPartyHeal
msgbox Route111_OldLadysRestStop_Text_StillTiredTakeAnotherRest, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route111_OldLadysRestStop_EventScript_Rest
- compare VAR_RESULT, NO
- goto_if_eq Route111_OldLadysRestStop_EventScript_DeclineRest
+ goto_if_eq VAR_RESULT, YES, Route111_OldLadysRestStop_EventScript_Rest
+ goto_if_eq VAR_RESULT, NO, Route111_OldLadysRestStop_EventScript_DeclineRest
end
Route111_OldLadysRestStop_EventScript_DeclineRest::
diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
index eedd83f068..a163c7b4f2 100644
--- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
+++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
@@ -21,8 +21,7 @@ Route111_WinstrateFamilysHouse_EventScript_Victoria::
goto_if_set FLAG_RECEIVED_MACHO_BRACE, Route111_WinstrateFamilysHouse_EventScript_ReceivedMachoBrace
msgbox Route111_WinstrateFamilysHouse_Text_LikeYouToHaveMachoBrace, MSGBOX_DEFAULT
giveitem ITEM_MACHO_BRACE
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_MACHO_BRACE
goto Route111_WinstrateFamilysHouse_EventScript_FaceOriginalDirection
end
diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc
index abea230be1..a6c248e1f6 100644
--- a/data/maps/Route112/scripts.inc
+++ b/data/maps/Route112/scripts.inc
@@ -71,8 +71,7 @@ Route112_EventScript_Brice::
Route112_EventScript_Trent::
trainerbattle_single TRAINER_TRENT_1, Route112_Text_TrentIntro, Route112_Text_TrentDefeat, Route112_EventScript_RegisterTrent
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route112_EventScript_RematchTrent
+ goto_if_eq VAR_RESULT, TRUE, Route112_EventScript_RematchTrent
msgbox Route112_Text_TrentPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc
index 86fe61a05b..3ce4f62e2a 100644
--- a/data/maps/Route112_CableCarStation/scripts.inc
+++ b/data/maps/Route112_CableCarStation/scripts.inc
@@ -6,9 +6,8 @@ Route112_CableCarStation_MapScripts::
.byte 0
Route112_CableCarStation_OnTransition:
- setescapewarp MAP_ROUTE112, 255, 28, 28
- compare VAR_CABLE_CAR_STATION_STATE, 2
- call_if_eq Route112_CableCarStation_EventScript_MoveAttendantAside
+ setescapewarp MAP_ROUTE112, 28, 28
+ call_if_eq VAR_CABLE_CAR_STATION_STATE, 2, Route112_CableCarStation_EventScript_MoveAttendantAside
end
Route112_CableCarStation_EventScript_MoveAttendantAside::
@@ -35,10 +34,8 @@ Route112_CableCarStation_EventScript_Attendant::
lock
faceplayer
msgbox Route112_CableCarStation_Text_CableCarReadyGetOn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route112_CableCarStation_EventScript_RideCableCar
- compare VAR_RESULT, NO
- goto_if_eq Route112_CableCarStation_EventScript_DeclineRide
+ goto_if_eq VAR_RESULT, YES, Route112_CableCarStation_EventScript_RideCableCar
+ goto_if_eq VAR_RESULT, NO, Route112_CableCarStation_EventScript_DeclineRide
end
Route112_CableCarStation_EventScript_RideCableCar::
diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc
index 0a8bb092c3..4f02e74b64 100644
--- a/data/maps/Route113/scripts.inc
+++ b/data/maps/Route113/scripts.inc
@@ -14,10 +14,8 @@ Route113_OnTransition:
Route113_EventScript_CheckSetAshWeather::
getplayerxy VAR_TEMP_0, VAR_TEMP_1
- compare VAR_TEMP_0, 19
- goto_if_lt Route113_EventScript_DontSetAshWeather
- compare VAR_TEMP_0, 84
- goto_if_gt Route113_EventScript_DontSetAshWeather
+ goto_if_lt VAR_TEMP_0, 19, Route113_EventScript_DontSetAshWeather
+ goto_if_gt VAR_TEMP_0, 84, Route113_EventScript_DontSetAshWeather
setweather WEATHER_VOLCANIC_ASH
return
@@ -61,8 +59,7 @@ Route113_EventScript_Dillon::
Route113_EventScript_Madeline::
trainerbattle_single TRAINER_MADELINE_1, Route113_Text_MadelineIntro, Route113_Text_MadelineDefeat, Route113_EventScript_RegisterMadeline
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route113_EventScript_RematchMadeline
+ goto_if_eq VAR_RESULT, TRUE, Route113_EventScript_RematchMadeline
msgbox Route113_Text_MadelinePostBattle, MSGBOX_DEFAULT
release
end
@@ -83,8 +80,7 @@ Route113_EventScript_RematchMadeline::
Route113_EventScript_Lao::
trainerbattle_single TRAINER_LAO_1, Route113_Text_LaoIntro, Route113_Text_LaoDefeat, Route113_EventScript_RegisterLao
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route113_EventScript_RematchLao
+ goto_if_eq VAR_RESULT, TRUE, Route113_EventScript_RematchLao
msgbox Route113_Text_LaoPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc
index bad739806f..41182b2ae5 100644
--- a/data/maps/Route113_GlassWorkshop/scripts.inc
+++ b/data/maps/Route113_GlassWorkshop/scripts.inc
@@ -13,8 +13,7 @@ Route113_GlassWorkshop_MapScripts::
Route113_GlassWorkshop_OnTransition:
setflag FLAG_LANDMARK_GLASS_WORKSHOP
- compare VAR_GLASS_WORKSHOP_STATE, 1
- call_if_eq Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack
+ call_if_eq VAR_GLASS_WORKSHOP_STATE, 1, Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack
end
Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack::
@@ -24,12 +23,9 @@ Route113_GlassWorkshop_EventScript_ReenterWorkshopAfterSootSack::
Route113_GlassWorkshop_EventScript_GlassWorker::
lock
faceplayer
- compare VAR_GLASS_WORKSHOP_STATE, 10
- goto_if_ge Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom
- compare VAR_GLASS_WORKSHOP_STATE, 2
- goto_if_eq Route113_GlassWorkshop_EventScript_CheckCollectedAsh
- compare VAR_GLASS_WORKSHOP_STATE, 1
- goto_if_eq Route113_GlassWorkshop_EventScript_ExplainSootSack
+ goto_if_ge VAR_GLASS_WORKSHOP_STATE, 10, Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom
+ goto_if_eq VAR_GLASS_WORKSHOP_STATE, 2, Route113_GlassWorkshop_EventScript_CheckCollectedAsh
+ goto_if_eq VAR_GLASS_WORKSHOP_STATE, 1, Route113_GlassWorkshop_EventScript_ExplainSootSack
msgbox Route113_GlassWorkshop_Text_GoCollectAshWithThis, MSGBOX_DEFAULT
giveitem ITEM_SOOT_SACK
setvar VAR_GLASS_WORKSHOP_STATE, 1
@@ -43,12 +39,10 @@ Route113_GlassWorkshop_EventScript_ExplainSootSack::
end
Route113_GlassWorkshop_EventScript_CheckCollectedAsh::
- checkitem ITEM_SOOT_SACK, 1
- compare VAR_RESULT, FALSE
- goto_if_eq Route113_GlassWorkshop_EventScript_SootSackNotInBag
+ checkitem ITEM_SOOT_SACK
+ goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_SootSackNotInBag
msgbox Route113_GlassWorkshop_Text_LetsSeeCollectedAshes, MSGBOX_DEFAULT
- compare VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAsh
+ goto_if_lt VAR_ASH_GATHER_COUNT, LOWEST_ASH_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAsh
message Route113_GlassWorkshop_Text_WhichGlassItemWoudYouLike
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
@@ -78,13 +72,11 @@ Route113_GlassWorkshop_EventScript_ChooseGlassItem::
Route113_GlassWorkshop_EventScript_BlueFlute::
setvar VAR_0x8008, ITEM_BLUE_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, BLUE_FLUTE_PRICE
- compare VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 10
subvar VAR_ASH_GATHER_COUNT, BLUE_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -92,13 +84,11 @@ Route113_GlassWorkshop_EventScript_BlueFlute::
Route113_GlassWorkshop_EventScript_YellowFlute::
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, YELLOW_FLUTE_PRICE
- compare VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 11
subvar VAR_ASH_GATHER_COUNT, YELLOW_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -106,13 +96,11 @@ Route113_GlassWorkshop_EventScript_YellowFlute::
Route113_GlassWorkshop_EventScript_RedFlute::
setvar VAR_0x8008, ITEM_RED_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, RED_FLUTE_PRICE
- compare VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 12
subvar VAR_ASH_GATHER_COUNT, RED_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -120,13 +108,11 @@ Route113_GlassWorkshop_EventScript_RedFlute::
Route113_GlassWorkshop_EventScript_WhiteFlute::
setvar VAR_0x8008, ITEM_WHITE_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, WHITE_FLUTE_PRICE
- compare VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 13
subvar VAR_ASH_GATHER_COUNT, WHITE_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -134,13 +120,11 @@ Route113_GlassWorkshop_EventScript_WhiteFlute::
Route113_GlassWorkshop_EventScript_BlackFlute::
setvar VAR_0x8008, ITEM_BLACK_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, BLACK_FLUTE_PRICE
- compare VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 14
subvar VAR_ASH_GATHER_COUNT, BLACK_FLUTE_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -149,13 +133,11 @@ Route113_GlassWorkshop_EventScript_BlackFlute::
Route113_GlassWorkshop_EventScript_PrettyChair::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
- bufferdecorationname 0, VAR_0x8008
+ bufferdecorationname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, PRETTY_CHAIR_PRICE
- compare VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 15
subvar VAR_ASH_GATHER_COUNT, PRETTY_CHAIR_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -164,13 +146,11 @@ Route113_GlassWorkshop_EventScript_PrettyChair::
Route113_GlassWorkshop_EventScript_PrettyDesk::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
- bufferdecorationname 0, VAR_0x8008
+ bufferdecorationname STR_VAR_1, VAR_0x8008
setvar VAR_0x800A, PRETTY_DESK_PRICE
- compare VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
- goto_if_lt Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
+ goto_if_lt VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE, Route113_GlassWorkshop_EventScript_NotEnoughAshForItem
msgbox Route113_GlassWorkshop_Text_IsThatTheItemForYou, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route113_GlassWorkshop_EventScript_ChooseDifferentItem
+ goto_if_eq VAR_RESULT, NO, Route113_GlassWorkshop_EventScript_ChooseDifferentItem
setvar VAR_GLASS_WORKSHOP_STATE, 16
subvar VAR_ASH_GATHER_COUNT, PRETTY_DESK_PRICE
goto Route113_GlassWorkshop_EventScript_MakeGlassItem
@@ -184,14 +164,14 @@ Route113_GlassWorkshop_EventScript_CancelGlassItemSelect::
Route113_GlassWorkshop_EventScript_NotEnoughAsh::
setvar VAR_0x800A, LOWEST_ASH_PRICE
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
- buffernumberstring 0, VAR_0x800A
+ buffernumberstring STR_VAR_1, VAR_0x800A
msgbox Route113_GlassWorkshop_Text_NotEnoughAshNeedX, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_NotEnoughAshForItem::
subvar VAR_0x800A, VAR_ASH_GATHER_COUNT
- buffernumberstring 1, VAR_0x800A
+ buffernumberstring STR_VAR_2, VAR_0x800A
message Route113_GlassWorkshop_Text_NotEnoughAshToMakeItem
waitmessage
goto Route113_GlassWorkshop_EventScript_ChooseGlassItem
@@ -211,24 +191,20 @@ Route113_GlassWorkshop_EventScript_MakeGlassItem::
delay 30
fadescreen FADE_FROM_BLACK
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
- compare VAR_0x8009, 0
- call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute
- compare VAR_0x8009, 1
- call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor
+ call_if_eq VAR_0x8009, 0, Route113_GlassWorkshop_EventScript_GiveGlassFlute
+ call_if_eq VAR_0x8009, 1, Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
Route113_GlassWorkshop_EventScript_GiveGlassFlute::
giveitem VAR_0x8008
- compare VAR_RESULT, FALSE
- goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForFlute
+ goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_NoRoomForFlute
return
Route113_GlassWorkshop_EventScript_GiveGlassDecor::
givedecoration VAR_0x8008
- compare VAR_RESULT, FALSE
- goto_if_eq Route113_GlassWorkshop_EventScript_NoRoomForDecor
+ goto_if_eq VAR_RESULT, FALSE, Route113_GlassWorkshop_EventScript_NoRoomForDecor
return
Route113_GlassWorkshop_EventScript_NoRoomForFlute::
@@ -257,58 +233,56 @@ Route113_GlassWorkshop_EventScript_GiveItemAfterNoRoom::
Route113_GlassWorkshop_EventScript_GiveBlueFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLUE_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveYellowFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_YELLOW_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveRedFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_RED_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveWhiteFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_WHITE_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GiveBlackFlute::
setvar VAR_0x8009, 0
setvar VAR_0x8008, ITEM_BLACK_FLUTE
- bufferitemname 0, VAR_0x8008
+ bufferitemname STR_VAR_1, VAR_0x8008
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyChair::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_CHAIR
- bufferdecorationname 0, DECOR_PRETTY_CHAIR
+ bufferdecorationname STR_VAR_1, DECOR_PRETTY_CHAIR
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_GivePrettyDesk::
setvar VAR_0x8009, 1
setvar VAR_0x8008, DECOR_PRETTY_DESK
- bufferdecorationname 0, DECOR_PRETTY_DESK
+ bufferdecorationname STR_VAR_1, DECOR_PRETTY_DESK
goto Route113_GlassWorkshop_EventScript_TryGiveItemAgain
end
Route113_GlassWorkshop_EventScript_TryGiveItemAgain::
msgbox Route113_GlassWorkshop_Text_IveFinishedGlassItem, MSGBOX_DEFAULT
- compare VAR_0x8009, 0
- call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassFlute
- compare VAR_0x8009, 1
- call_if_eq Route113_GlassWorkshop_EventScript_GiveGlassDecor
+ call_if_eq VAR_0x8009, 0, Route113_GlassWorkshop_EventScript_GiveGlassFlute
+ call_if_eq VAR_0x8009, 1, Route113_GlassWorkshop_EventScript_GiveGlassDecor
setvar VAR_GLASS_WORKSHOP_STATE, 2
release
end
diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc
index c0420fbf61..abf70ea081 100644
--- a/data/maps/Route114/scripts.inc
+++ b/data/maps/Route114/scripts.inc
@@ -5,19 +5,14 @@ Route114_MapScripts::
.byte 0
Route114_OnTransition:
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH
- call_if_eq AbnormalWeather_StartGroudonWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH
- call_if_eq AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH, AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH, AbnormalWeather_StartGroudonWeather
end
Route114_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute114North
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute114South
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_NORTH, AbnormalWeather_EventScript_PlaceTilesRoute114North
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_114_SOUTH, AbnormalWeather_EventScript_PlaceTilesRoute114South
end
Route114_OnFrame:
@@ -34,8 +29,7 @@ Route114_EventScript_Man::
addvar VAR_RESULT, NUM_ROUTE_114_MAN_BERRIES_SKIPPED
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_ROUTE_114_RECEIVED_BERRY
msgbox Route114_Text_TryBerryCrushWithFriends, MSGBOX_DEFAULT
release
@@ -52,8 +46,7 @@ Route114_EventScript_RoarGentleman::
goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_ReceivedRoar
msgbox Route114_Text_AllMyMonDoesIsRoarTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM05
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM05
msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT
release
@@ -109,8 +102,7 @@ Route114_EventScript_Nancy::
Route114_EventScript_Steve::
trainerbattle_single TRAINER_STEVE_1, Route114_Text_SteveIntro, Route114_Text_SteveDefeat, Route114_EventScript_RegisterSteve
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route114_EventScript_RematchSteve
+ goto_if_eq VAR_RESULT, TRUE, Route114_EventScript_RematchSteve
msgbox Route114_Text_StevePostBattle, MSGBOX_DEFAULT
release
end
@@ -131,8 +123,7 @@ Route114_EventScript_RematchSteve::
Route114_EventScript_Bernie::
trainerbattle_single TRAINER_BERNIE_1, Route114_Text_BernieIntro, Route114_Text_BernieDefeat, Route114_EventScript_RegisterBernie
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route114_EventScript_RematchBernie
+ goto_if_eq VAR_RESULT, TRUE, Route114_EventScript_RematchBernie
msgbox Route114_Text_BerniePostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc
index f291cd5ee4..ba3c0c60e5 100644
--- a/data/maps/Route114_FossilManiacsHouse/scripts.inc
+++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc
@@ -12,8 +12,7 @@ Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother::
goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_ReceivedDig
msgbox Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother, MSGBOX_DEFAULT
giveitem ITEM_TM28
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM28
release
end
diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
index 3a6dd785cc..72138bbe40 100644
--- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc
+++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
@@ -19,8 +19,8 @@ Route114_FossilManiacsTunnel_OnLoad:
end
Route114_FossilManiacsTunnel_EventScript_CloseDesertUnderpass::
- setmetatile 6, 1, METATILE_Fallarbor_RedRockWall, 1
- setmetatile 6, 2, METATILE_Fallarbor_RedRockWall, 1
+ setmetatile 6, 1, METATILE_Fallarbor_RedRockWall, TRUE
+ setmetatile 6, 2, METATILE_Fallarbor_RedRockWall, TRUE
return
Route114_FossilManiacsTunnel_EventScript_ManiacMentionCaveIn::
@@ -37,12 +37,10 @@ Route114_FossilManiacsTunnel_EventScript_FossilManiac::
lock
faceplayer
goto_if_set FLAG_RECEIVED_REVIVED_FOSSIL_MON, Route114_FossilManiacsTunnel_EventScript_PlayerRevivedFossil
- checkitem ITEM_ROOT_FOSSIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil
- checkitem ITEM_CLAW_FOSSIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil
+ checkitem ITEM_ROOT_FOSSIL
+ goto_if_eq VAR_RESULT, TRUE, Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil
+ checkitem ITEM_CLAW_FOSSIL
+ goto_if_eq VAR_RESULT, TRUE, Route114_FossilManiacsTunnel_EventScript_PlayerHasFossil
msgbox Route114_FossilManiacsTunnel_Text_LookInDesertForFossils, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc
index 5a7ccb3415..9143b27954 100644
--- a/data/maps/Route114_LanettesHouse/scripts.inc
+++ b/data/maps/Route114_LanettesHouse/scripts.inc
@@ -13,8 +13,7 @@ Route114_LanettesHouse_EventScript_Lanette::
setflag FLAG_SYS_PC_LANETTE
msgbox Route114_LanettesHouse_Text_EverythingClutteredKeepThis, MSGBOX_DEFAULT
givedecoration DECOR_LOTAD_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowNoRoomForDecor
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowNoRoomForDecor
setflag FLAG_RECEIVED_DOLL_LANETTE
release
end
@@ -27,16 +26,14 @@ Route114_LanettesHouse_EventScript_OfferAdvice::
Route114_LanettesHouse_EventScript_Notebook::
lockall
msgbox Route114_LanettesHouse_Text_ResearchNotesPage1, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route114_LanettesHouse_EventScript_NotebookPage2
+ goto_if_eq VAR_RESULT, YES, Route114_LanettesHouse_EventScript_NotebookPage2
msgbox Route114_LanettesHouse_Text_ClosedTheNotebook, MSGBOX_DEFAULT
releaseall
end
Route114_LanettesHouse_EventScript_NotebookPage2::
msgbox Route114_LanettesHouse_Text_ResearchNotesPage2, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq Route114_LanettesHouse_EventScript_NotebookPage3
+ call_if_eq VAR_RESULT, YES, Route114_LanettesHouse_EventScript_NotebookPage3
releaseall
end
diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc
index 600e6751f2..e00fdb27dc 100644
--- a/data/maps/Route115/scripts.inc
+++ b/data/maps/Route115/scripts.inc
@@ -5,19 +5,14 @@ Route115_MapScripts::
.byte 0
Route115_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute115West
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute115East
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST, AbnormalWeather_EventScript_PlaceTilesRoute115West
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST, AbnormalWeather_EventScript_PlaceTilesRoute115East
end
Route115_OnTransition:
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST
- call_if_eq AbnormalWeather_StartGroudonWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST
- call_if_eq AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_WEST, AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_115_EAST, AbnormalWeather_StartGroudonWeather
end
Route115_OnFrame:
@@ -39,8 +34,7 @@ Route115_EventScript_MeteorFallsSign::
Route115_EventScript_Timothy::
trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_TimothyIntro, Route115_Text_TimothyDefeat, Route115_EventScript_RegisterTimothy
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route115_EventScript_RematchTimothy
+ goto_if_eq VAR_RESULT, TRUE, Route115_EventScript_RematchTimothy
msgbox Route115_Text_TimothyPostBattle, MSGBOX_DEFAULT
release
end
@@ -66,8 +60,7 @@ Route115_EventScript_Koichi::
Route115_EventScript_Nob::
trainerbattle_single TRAINER_NOB_1, Route115_Text_NobIntro, Route115_Text_NobDefeat, Route115_EventScript_RegisterNob
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route115_EventScript_RematchNob
+ goto_if_eq VAR_RESULT, TRUE, Route115_EventScript_RematchNob
msgbox Route115_Text_NobPostBattle, MSGBOX_DEFAULT
release
end
@@ -88,8 +81,7 @@ Route115_EventScript_RematchNob::
Route115_EventScript_Cyndy::
trainerbattle_single TRAINER_CYNDY_1, Route115_Text_CyndyIntro, Route115_Text_CyndyDefeat, Route115_EventScript_RegisterCyndy
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route115_EventScript_RematchCyndy
+ goto_if_eq VAR_RESULT, TRUE, Route115_EventScript_RematchCyndy
msgbox Route115_Text_CyndyPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc
index 0ef6a05e1a..2a464d1996 100644
--- a/data/maps/Route116/scripts.inc
+++ b/data/maps/Route116/scripts.inc
@@ -9,12 +9,9 @@ Route116_MapScripts::
Route116_OnTransition:
call_if_set FLAG_RECOVERED_DEVON_GOODS, Route116_EventScript_SetWandasBoyfriendPos
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH
- call_if_eq AbnormalWeather_StartGroudonWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH
- call_if_eq AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH, AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH, AbnormalWeather_StartGroudonWeather
end
Route116_EventScript_SetWandasBoyfriendPos::
@@ -22,10 +19,8 @@ Route116_EventScript_SetWandasBoyfriendPos::
return
Route116_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute116North
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute116South
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_NORTH, AbnormalWeather_EventScript_PlaceTilesRoute116North
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_116_SOUTH, AbnormalWeather_EventScript_PlaceTilesRoute116South
end
Route116_OnFrame:
@@ -62,18 +57,13 @@ Route116_EventScript_DevonEmployee::
Route116_EventScript_GiveRepeatBall::
setflag FLAG_MET_DEVON_EMPLOYEE
giveitem ITEM_REPEAT_BALL
- compare VAR_RESULT, FALSE
- goto_if_eq Route116_EventScript_NoRoomForRepeatBall
+ goto_if_eq VAR_RESULT, FALSE, Route116_EventScript_NoRoomForRepeatBall
msgbox Route116_Text_NewBallAvailableAtMart, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq Route116_EventScript_DevonEmployeeExit
- compare VAR_FACING, DIR_SOUTH
- call_if_eq Route116_EventScript_DevonEmployeeExit
- compare VAR_FACING, DIR_WEST
- call_if_eq Route116_EventScript_DevonEmployeeExit
- compare VAR_FACING, DIR_EAST
- call_if_eq Route116_EventScript_DevonEmployeeExitEast
+ call_if_eq VAR_FACING, DIR_NORTH, Route116_EventScript_DevonEmployeeExit
+ call_if_eq VAR_FACING, DIR_SOUTH, Route116_EventScript_DevonEmployeeExit
+ call_if_eq VAR_FACING, DIR_WEST, Route116_EventScript_DevonEmployeeExit
+ call_if_eq VAR_FACING, DIR_EAST, Route116_EventScript_DevonEmployeeExitEast
removeobject VAR_LAST_TALKED
clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
setflag FLAG_RECEIVED_REPEAT_BALL
@@ -165,12 +155,10 @@ Route116_EventScript_BrineyTrigger::
Route116_EventScript_GlassesMan::
lock
faceplayer
- checkitem ITEM_BLACK_GLASSES, 1
- compare VAR_RESULT, TRUE
- goto_if_eq Route116_EventScript_PlayerHasGlasses
+ checkitem ITEM_BLACK_GLASSES
+ goto_if_eq VAR_RESULT, TRUE, Route116_EventScript_PlayerHasGlasses
specialvar VAR_RESULT, FoundBlackGlasses
- compare VAR_RESULT, TRUE
- goto_if_eq Route116_EventScript_FoundGlassesNotOnPlayer
+ goto_if_eq VAR_RESULT, TRUE, Route116_EventScript_FoundGlassesNotOnPlayer
msgbox Route116_Text_CanYouHelpMeFindGlasses, MSGBOX_DEFAULT
release
end
@@ -185,8 +173,7 @@ Route116_EventScript_PlayerHasGlasses::
msgbox Route116_Text_CanYouHelpMeFindGlasses, MSGBOX_DEFAULT
msgbox Route116_Text_MayISeeThoseGlasses, MSGBOX_DEFAULT
specialvar VAR_RESULT, FoundBlackGlasses
- compare VAR_RESULT, TRUE
- goto_if_eq Route116_EventScript_FoundGlassesOnPlayer
+ goto_if_eq VAR_RESULT, TRUE, Route116_EventScript_FoundGlassesOnPlayer
msgbox Route116_Text_NotWhatImLookingFor, MSGBOX_DEFAULT
release
end
@@ -199,14 +186,10 @@ Route116_EventScript_FoundGlassesOnPlayer::
Route116_EventScript_GlassesManExit::
delay 20
- compare VAR_FACING, DIR_NORTH
- call_if_eq Route116_EventScript_GlassesManExitNormal
- compare VAR_FACING, DIR_SOUTH
- call_if_eq Route116_EventScript_GlassesManExitNormal
- compare VAR_FACING, DIR_WEST
- call_if_eq Route116_EventScript_GlassesManExitNormal
- compare VAR_FACING, DIR_EAST
- call_if_eq Route116_EventScript_GlassesManExitEast
+ call_if_eq VAR_FACING, DIR_NORTH, Route116_EventScript_GlassesManExitNormal
+ call_if_eq VAR_FACING, DIR_SOUTH, Route116_EventScript_GlassesManExitNormal
+ call_if_eq VAR_FACING, DIR_WEST, Route116_EventScript_GlassesManExitNormal
+ call_if_eq VAR_FACING, DIR_EAST, Route116_EventScript_GlassesManExitEast
removeobject VAR_LAST_TALKED
release
end
@@ -259,12 +242,10 @@ Route116_EventScript_Jose::
Route116_EventScript_Jerry::
trainerbattle_single TRAINER_JERRY_1, Route116_Text_JerryIntro, Route116_Text_JerryDefeat, Route116_EventScript_TryRegisterJerryAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route116_EventScript_RematchJerry
+ goto_if_eq VAR_RESULT, TRUE, Route116_EventScript_RematchJerry
setvar VAR_0x8004, TRAINER_JERRY_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq Route116_EventScript_TryRegisterJerry
+ goto_if_eq VAR_RESULT, FALSE, Route116_EventScript_TryRegisterJerry
msgbox Route116_Text_JerryPostBattle, MSGBOX_DEFAULT
release
end
@@ -312,12 +293,10 @@ Route116_EventScript_Janice::
Route116_EventScript_Karen::
trainerbattle_single TRAINER_KAREN_1, Route116_Text_KarenIntro, Route116_Text_KarenDefeat, Route116_EventScript_TryRegisterKarenAfterBattle
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route116_EventScript_RematchKaren
+ goto_if_eq VAR_RESULT, TRUE, Route116_EventScript_RematchKaren
setvar VAR_0x8004, TRAINER_KAREN_1
specialvar VAR_RESULT, IsTrainerRegistered
- compare VAR_RESULT, FALSE
- goto_if_eq Route116_EventScript_TryRegisterKaren
+ goto_if_eq VAR_RESULT, FALSE, Route116_EventScript_TryRegisterKaren
msgbox Route116_Text_KarenPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc
index f6ab885917..37d589ce31 100644
--- a/data/maps/Route117/scripts.inc
+++ b/data/maps/Route117/scripts.inc
@@ -41,8 +41,7 @@ Route117_EventScript_DayCareSign::
Route117_EventScript_Isaac::
trainerbattle_single TRAINER_ISAAC_1, Route117_Text_IsaacIntro, Route117_Text_IsaacDefeat, Route117_EventScript_RegisterIsaac
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route117_EventScript_RematchIsaac
+ goto_if_eq VAR_RESULT, TRUE, Route117_EventScript_RematchIsaac
msgbox Route117_Text_IsaacPostBattle, MSGBOX_DEFAULT
release
end
@@ -63,8 +62,7 @@ Route117_EventScript_RematchIsaac::
Route117_EventScript_Lydia::
trainerbattle_single TRAINER_LYDIA_1, Route117_Text_LydiaIntro, Route117_Text_LydiaDefeat, Route117_EventScript_RegisterLydia
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route117_EventScript_RematchLydia
+ goto_if_eq VAR_RESULT, TRUE, Route117_EventScript_RematchLydia
msgbox Route117_Text_LydiaPostBattle, MSGBOX_DEFAULT
release
end
@@ -85,8 +83,7 @@ Route117_EventScript_RematchLydia::
Route117_EventScript_Dylan::
trainerbattle_single TRAINER_DYLAN_1, Route117_Text_DylanIntro, Route117_Text_DylanDefeat, Route117_EventScript_RegisterDylan
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route117_EventScript_RematchDylan
+ goto_if_eq VAR_RESULT, TRUE, Route117_EventScript_RematchDylan
msgbox Route117_Text_DylanPostBattle, MSGBOX_DEFAULT
release
end
@@ -107,8 +104,7 @@ Route117_EventScript_RematchDylan::
Route117_EventScript_Maria::
trainerbattle_single TRAINER_MARIA_1, Route117_Text_MariaIntro, Route117_Text_MariaDefeat, Route117_EventScript_RegisterMaria
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route117_EventScript_RematchMaria
+ goto_if_eq VAR_RESULT, TRUE, Route117_EventScript_RematchMaria
msgbox Route117_Text_MariaPostBattle, MSGBOX_DEFAULT
release
end
@@ -134,8 +130,7 @@ Route117_EventScript_Derek::
Route117_EventScript_Anna::
trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_AnnaIntro, Route117_Text_AnnaDefeat, Route117_Text_AnnaNotEnoughMons, Route117_EventScript_RegisterAnna
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route117_EventScript_RematchAnna
+ goto_if_eq VAR_RESULT, TRUE, Route117_EventScript_RematchAnna
msgbox Route117_Text_AnnaPostBattle, MSGBOX_DEFAULT
release
end
@@ -154,8 +149,7 @@ Route117_EventScript_RematchAnna::
Route117_EventScript_Meg::
trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_MegIntro, Route117_Text_MegDefeat, Route117_Text_MegNotEnoughMons, Route117_EventScript_RegisterMeg
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route117_EventScript_RematchMeg
+ goto_if_eq VAR_RESULT, TRUE, Route117_EventScript_RematchMeg
msgbox Route117_Text_MegPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc
index 5b68804b5b..92dd8847d4 100644
--- a/data/maps/Route118/scripts.inc
+++ b/data/maps/Route118/scripts.inc
@@ -8,19 +8,14 @@ Route118_MapScripts::
Route118_OnTransition:
call GabbyAndTy_EventScript_UpdateLocation
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST
- call_if_eq AbnormalWeather_StartGroudonWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST
- call_if_eq AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST, AbnormalWeather_StartGroudonWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST, AbnormalWeather_StartGroudonWeather
end
Route118_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute118East
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute118West
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_EAST, AbnormalWeather_EventScript_PlaceTilesRoute118East
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_118_WEST, AbnormalWeather_EventScript_PlaceTilesRoute118West
end
Route118_OnFrame:
@@ -32,10 +27,8 @@ Route118_EventScript_GoodRodFisherman::
faceplayer
goto_if_set FLAG_RECEIVED_GOOD_ROD, Route118_EventScript_ReceivedGoodRod
msgbox Route118_Text_YouAgreeGoodRodIsGood, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route118_EventScript_ReceiveGoodRod
- compare VAR_RESULT, NO
- goto_if_eq Route118_EventScript_DeclineGoodRod
+ goto_if_eq VAR_RESULT, YES, Route118_EventScript_ReceiveGoodRod
+ goto_if_eq VAR_RESULT, NO, Route118_EventScript_DeclineGoodRod
end
Route118_EventScript_ReceiveGoodRod::
@@ -103,12 +96,9 @@ Route118_EventScript_StevenTrigger::
delay 30
msgbox Route118_Text_StevenQuestions, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, 0
- call_if_eq Route118_EventScript_StevenExit0
- compare VAR_0x8008, 1
- call_if_eq Route118_EventScript_StevenExit1
- compare VAR_0x8008, 2
- call_if_eq Route118_EventScript_StevenExit2
+ call_if_eq VAR_0x8008, 0, Route118_EventScript_StevenExit0
+ 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
releaseall
@@ -190,8 +180,7 @@ Route118_Movement_StevenExit2:
Route118_EventScript_Rose::
trainerbattle_single TRAINER_ROSE_1, Route118_Text_RoseIntro, Route118_Text_RoseDefeat, Route118_EventScript_RegisterRose
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route118_EventScript_RematchRose
+ goto_if_eq VAR_RESULT, TRUE, Route118_EventScript_RematchRose
msgbox Route118_Text_RosePostBattle, MSGBOX_DEFAULT
release
end
@@ -222,8 +211,7 @@ Route118_EventScript_Wade::
Route118_EventScript_Dalton::
trainerbattle_single TRAINER_DALTON_1, Route118_Text_DaltonIntro, Route118_Text_DaltonDefeat, Route118_EventScript_RegisterDalton
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route118_EventScript_RematchDalton
+ goto_if_eq VAR_RESULT, TRUE, Route118_EventScript_RematchDalton
msgbox Route118_Text_DaltonPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc
index 839f4101ba..94094206c7 100644
--- a/data/maps/Route119/scripts.inc
+++ b/data/maps/Route119/scripts.inc
@@ -13,16 +13,14 @@ Route119_OnResume:
Route119_EventScript_TryRemoveKecleon::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
Route119_OnTransition:
call Common_EventScript_SetupRivalGfxId
call Common_EventScript_SetupRivalOnBikeGfxId
- compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if_eq Route119_EventScript_MoveInstituteWorkersDownstairs
+ call_if_eq VAR_WEATHER_INSTITUTE_STATE, 1, Route119_EventScript_MoveInstituteWorkersDownstairs
special SetRoute119Weather
end
@@ -46,30 +44,22 @@ Route119_EventScript_RivalEncounter::
lockall
addobject LOCALID_RIVAL_ON_BIKE
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq Route119_EventScript_PlayMayMusic
- compare VAR_RESULT, FEMALE
- call_if_eq Route119_EventScript_PlayBrendanMusic
+ call_if_eq VAR_RESULT, MALE, Route119_EventScript_PlayMayMusic
+ call_if_eq VAR_RESULT, FEMALE, Route119_EventScript_PlayBrendanMusic
delay 65
- compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_RivalEnter1
- compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_RivalEnter2
+ 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
waitmovement 0
delay 30
- compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_SetRivalPos1
- compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_SetRivalPos2
+ 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
delay 30
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq Route119_EventScript_BattleMay
- compare VAR_RESULT, FEMALE
- goto_if_eq Route119_EventScript_BattleBrendan
+ goto_if_eq VAR_RESULT, MALE, Route119_EventScript_BattleMay
+ goto_if_eq VAR_RESULT, FEMALE, Route119_EventScript_BattleBrendan
releaseall
end
@@ -148,36 +138,28 @@ Route119_EventScript_GiveFlyHM::
Route119_EventScript_RivalExitScottArrive::
closemessage
- compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_SetRivalPos1
- compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_SetRivalPos2
+ 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
delay 30
- compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_RivalExit1
- compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_RivalExit2
+ 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
setvar VAR_ROUTE119_STATE, 1
savebgm MUS_DUMMY
fadedefaultbgm
delay 60
- compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_SetScottPos1
- compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_SetScottPos2
+ 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
waitmovement 0
addvar VAR_SCOTT_STATE, 1
msgbox Route119_Text_ScottWayToGoBeSeeingYou, MSGBOX_DEFAULT
closemessage
- compare VAR_TEMP_1, 1
- call_if_eq Route119_EventScript_ScottExit1
- compare VAR_TEMP_1, 2
- call_if_eq Route119_EventScript_ScottExit2
+ call_if_eq VAR_TEMP_1, 1, Route119_EventScript_ScottExit1
+ call_if_eq VAR_TEMP_1, 2, Route119_EventScript_ScottExit2
removeobject LOCALID_SCOTT
releaseall
end
@@ -372,8 +354,7 @@ Route119_EventScript_Kent::
Route119_EventScript_Jackson::
trainerbattle_single TRAINER_JACKSON_1, Route119_Text_JacksonIntro, Route119_Text_JacksonDefeat, Route119_EventScript_RegisterJackson
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route119_EventScript_RematchJackson
+ goto_if_eq VAR_RESULT, TRUE, Route119_EventScript_RematchJackson
msgbox Route119_Text_JacksonPostBattle, MSGBOX_DEFAULT
release
end
@@ -394,8 +375,7 @@ Route119_EventScript_RematchJackson::
Route119_EventScript_Catherine::
trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_CatherineIntro, Route119_Text_CatherineDefeat, Route119_EventScript_RegisterCatherine
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route119_EventScript_RematchCatherine
+ goto_if_eq VAR_RESULT, TRUE, Route119_EventScript_RematchCatherine
msgbox Route119_Text_CatherinePostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
index 33ba0b025d..cce41bfb5f 100644
--- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
@@ -5,8 +5,7 @@ Route119_WeatherInstitute_1F_MapScripts::
.byte 0
Route119_WeatherInstitute_1F_OnTransition:
- compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if_eq Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos
+ call_if_eq VAR_WEATHER_INSTITUTE_STATE, 0, Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos
end
Route119_WeatherInstitute_1F_EventScript_SetLittleBoyPos::
@@ -18,8 +17,7 @@ Route119_WeatherInstitute_1F_EventScript_LittleBoy::
lock
faceplayer
special GetPlayerBigGuyGirlString
- compare VAR_WEATHER_INSTITUTE_STATE, 0
- goto_if_eq Route119_WeatherInstitute_1F_EventScript_LittleBoyTeamAquaHere
+ goto_if_eq VAR_WEATHER_INSTITUTE_STATE, 0, Route119_WeatherInstitute_1F_EventScript_LittleBoyTeamAquaHere
msgbox Route119_WeatherInstitute_1F_Text_WowYoureStrong, MSGBOX_DEFAULT
release
end
@@ -36,8 +34,7 @@ Route119_WeatherInstitute_1F_EventScript_InstituteWorker1::
setvar VAR_0x8004, 0
call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated
call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_1F_EventScript_LegendaryDefeated
- compare VAR_0x8004, 2 @ Both defeated
- goto_if_eq Route119_WeatherInstitute_1F_EventScript_StudyingRain
+ goto_if_eq VAR_0x8004, 2, Route119_WeatherInstitute_1F_EventScript_StudyingRain @ Both defeated
msgbox Route119_WeatherInstitute_1F_Text_NoticingAbnormalWeather, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
index 3b94d5cc14..2060cb03c9 100644
--- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
@@ -10,10 +10,8 @@ Route119_WeatherInstitute_2F_MapScripts::
.byte 0
Route119_WeatherInstitute_2F_OnTransition:
- compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if_eq Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere
- compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if_eq Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone
+ call_if_eq VAR_WEATHER_INSTITUTE_STATE, 0, Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaHere
+ call_if_eq VAR_WEATHER_INSTITUTE_STATE, 1, Route119_WeatherInstitute_2F_EventScript_SetScientistPosAquaGone
call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_SetScientistPosGameClear
end
@@ -92,18 +90,15 @@ Route119_WeatherInstitute_2F_EventScript_ReceiveCastform::
msgbox Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon, MSGBOX_DEFAULT
setvar VAR_TEMP_1, SPECIES_CASTFORM
givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER
- compare VAR_RESULT, 0
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty
- compare VAR_RESULT, 1
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC
goto Common_EventScript_NoMoreRoomForPokemon
end
Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty::
call Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_ExplainCastform
+ goto_if_eq VAR_RESULT, NO, Route119_WeatherInstitute_2F_EventScript_ExplainCastform
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto Route119_WeatherInstitute_2F_EventScript_ExplainCastform
@@ -112,8 +107,7 @@ Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty::
Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC::
call Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_SendCastformToPC
+ goto_if_eq VAR_RESULT, NO, Route119_WeatherInstitute_2F_EventScript_SendCastformToPC
call Common_EventScript_NameReceivedBoxMon
goto Route119_WeatherInstitute_2F_EventScript_SendCastformToPC
end
@@ -128,7 +122,7 @@ Route119_WeatherInstitute_2F_EventScript_ReceivedCastformFanfare::
message Route119_WeatherInstitute_2F_Text_PlayerReceivedCastform
waitmessage
waitfanfare
- bufferspeciesname 0, SPECIES_CASTFORM
+ bufferspeciesname STR_VAR_1, SPECIES_CASTFORM
return
Route119_WeatherInstitute_2F_EventScript_ExplainCastform::
@@ -147,12 +141,10 @@ Route119_WeatherInstitute_2F_EventScript_TryStartAbnormalWeather::
setvar VAR_0x8004, 0
call_if_set FLAG_DEFEATED_KYOGRE, Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated
call_if_set FLAG_DEFEATED_GROUDON, Route119_WeatherInstitute_2F_EventScript_LegendaryDefeated
- compare VAR_0x8004, 2 @ Both defeated
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_NoAbnormalWeather
+ goto_if_eq VAR_0x8004, 2, Route119_WeatherInstitute_2F_EventScript_NoAbnormalWeather @ Both defeated
call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_CreateAbnormalWeather
specialvar VAR_RESULT, GetAbnormalWeatherMapNameAndType
- compare VAR_RESULT, 1
- goto_if_eq Route119_WeatherInstitute_2F_EventScript_KyogreWeather
+ goto_if_eq VAR_RESULT, 1, Route119_WeatherInstitute_2F_EventScript_KyogreWeather
msgbox Route119_WeatherInstitute_2F_Text_GroudonWeather, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc
index 588fa17a0a..a0bfbc60c3 100644
--- a/data/maps/Route120/scripts.inc
+++ b/data/maps/Route120/scripts.inc
@@ -13,32 +13,24 @@ Route120_OnResume:
end
Route120_EventScript_RemoveKecleonObject::
- compare VAR_0x8009, 0
- call_if_eq Route120_EventScript_RemoveBridgeKecleon
- compare VAR_0x8009, 1
- call_if_eq Route120_EventScript_RemoveKecleon
- compare VAR_0x8009, 2
- call_if_eq Route120_EventScript_RemoveKecleon
- compare VAR_0x8009, 3
- call_if_eq Route120_EventScript_RemoveKecleon
- compare VAR_0x8009, 4
- call_if_eq Route120_EventScript_RemoveKecleon
- compare VAR_0x8009, 5
- call_if_eq Route120_EventScript_RemoveKecleon
+ call_if_eq VAR_0x8009, 0, Route120_EventScript_RemoveBridgeKecleon
+ call_if_eq VAR_0x8009, 1, Route120_EventScript_RemoveKecleon
+ call_if_eq VAR_0x8009, 2, Route120_EventScript_RemoveKecleon
+ call_if_eq VAR_0x8009, 3, Route120_EventScript_RemoveKecleon
+ call_if_eq VAR_0x8009, 4, Route120_EventScript_RemoveKecleon
+ call_if_eq VAR_0x8009, 5, Route120_EventScript_RemoveKecleon
return
Route120_EventScript_RemoveBridgeKecleon::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_BRIDGE_KECLEON
removeobject LOCALID_BRIDGE_KECLEON_SHADOW
return
Route120_EventScript_RemoveKecleon::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
@@ -49,15 +41,15 @@ Route120_OnLoad:
end
Route120_EventScript_CloseAncientTomb::
- setmetatile 7, 54, METATILE_General_RockWall_RockBase, 1
- setmetatile 7, 55, METATILE_General_RockWall_SandBase, 1
+ setmetatile 7, 54, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 7, 55, METATILE_General_RockWall_SandBase, TRUE
return
Route120_EventScript_SetBridgeClearMetatiles::
- setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, 0
- setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, 0
- setmetatile 12, 17, METATILE_General_ReflectiveWater, 0
- setmetatile 13, 17, METATILE_General_ReflectiveWater, 0
+ setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, FALSE
+ setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, FALSE
+ setmetatile 12, 17, METATILE_General_ReflectiveWater, FALSE
+ setmetatile 13, 17, METATILE_General_ReflectiveWater, FALSE
return
Route120_EventScript_SetBridgeKecleonMovement::
@@ -71,12 +63,9 @@ Route120_OnTransition:
Route120_EventScript_SetWeather::
getplayerxy VAR_TEMP_0, VAR_TEMP_1
- compare VAR_TEMP_1, 14
- goto_if_le Route120_EventScript_SetSunnyWeather
- compare VAR_TEMP_1, 60
- goto_if_le Route120_EventScript_TrySetRainyWeather
- compare VAR_TEMP_1, 61
- goto_if_ge Route120_EventScript_SetCloudyWeather
+ goto_if_le VAR_TEMP_1, 14, Route120_EventScript_SetSunnyWeather
+ goto_if_le VAR_TEMP_1, 60, Route120_EventScript_TrySetRainyWeather
+ goto_if_ge VAR_TEMP_1, 61, Route120_EventScript_SetCloudyWeather
return
Route120_EventScript_SetCloudyWeather::
@@ -88,10 +77,8 @@ Route120_EventScript_SetSunnyWeather::
return
Route120_EventScript_TrySetRainyWeather::
- compare VAR_TEMP_0, 7
- goto_if_le Route120_EventScript_SetRainyWeather
- compare VAR_TEMP_0, 19
- goto_if_le Route120_EventScript_SetSunnyWeather
+ goto_if_le VAR_TEMP_0, 7, Route120_EventScript_SetRainyWeather
+ goto_if_le VAR_TEMP_0, 19, Route120_EventScript_SetSunnyWeather
goto Route120_EventScript_SetRainyWeather
end
@@ -105,10 +92,8 @@ Route120_EventScript_BerryBeauty::
dotimebasedevents
goto_if_set FLAG_DAILY_ROUTE_120_RECEIVED_BERRY, Route120_EventScript_ReceivedBerry
msgbox Route120_Text_BerriesExpressionOfLoveIsntIt, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq Route120_EventScript_BerryLove
- compare VAR_RESULT, NO
- call_if_eq Route120_EventScript_BerryNotLove
+ call_if_eq VAR_RESULT, YES, Route120_EventScript_BerryLove
+ call_if_eq VAR_RESULT, NO, Route120_EventScript_BerryNotLove
specialvar VAR_RESULT, GetPlayerTrainerIdOnesDigit
switch VAR_RESULT
case 0, Route120_EventScript_GiveFigyBerry
@@ -150,8 +135,7 @@ Route120_EventScript_GiveIapapaBerry::
Route120_EventScript_GiveBerry::
giveitem VAR_0x8004
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_ROUTE_120_RECEIVED_BERRY
msgbox Route120_Text_BerryIsRareRaiseItWithCare, MSGBOX_DEFAULT
release
@@ -175,8 +159,7 @@ Route120_EventScript_Steven::
faceplayer
goto_if_set FLAG_NOT_READY_FOR_BATTLE_ROUTE_120, Route120_EventScript_StevenAskReadyForBattle
msgbox Route120_Text_StevenGreeting, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route120_EventScript_StevenNotReady
+ goto_if_eq VAR_RESULT, NO, Route120_EventScript_StevenNotReady
goto Route120_EventScript_StevenBattleKecleon
end
@@ -188,18 +171,15 @@ Route120_EventScript_StevenNotReady::
Route120_EventScript_StevenAskReadyForBattle::
msgbox Route120_Text_StevenReadyForBattle, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route120_EventScript_StevenNotReady
+ goto_if_eq VAR_RESULT, NO, Route120_EventScript_StevenNotReady
goto Route120_EventScript_StevenBattleKecleon
end
Route120_EventScript_StevenBattleKecleon::
msgbox Route120_Text_StevenShowMeYourPower, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq Route120_EventScript_PlayerApproachKecleonNorth
- compare VAR_FACING, DIR_WEST
- call_if_eq Route120_EventScript_PlayerApproachKecleonWest
+ 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
waitmovement 0
delay 20
@@ -213,18 +193,15 @@ Route120_EventScript_StevenBattleKecleon::
playmoncry SPECIES_KECLEON, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
- setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
+ setwildbattle SPECIES_KECLEON, 30
setvar VAR_0x8009, 0
setflag FLAG_SYS_CTRL_OBJ_DELETE
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq Route120_EventScript_RemoveBridgeKecleonPostBattle
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, Route120_EventScript_RemoveBridgeKecleonPostBattle
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, Route120_EventScript_RemoveBridgeKecleonPostBattle
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, Route120_EventScript_RemoveBridgeKecleonPostBattle
goto Route120_EventScript_StevenGiveDeconScope
end
@@ -253,10 +230,10 @@ Route120_EventScript_StevenGiveDeconScope::
delay 15
removeobject LOCALID_STEVEN
waitfieldeffect FLDEFF_NPCFLY_OUT
- setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, 0
- setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, 0
- setmetatile 12, 17, METATILE_General_ReflectiveWater, 0
- setmetatile 13, 17, METATILE_General_ReflectiveWater, 0
+ setmetatile 13, 15, METATILE_Fortree_WoodBridge1_Top, FALSE
+ setmetatile 12, 16, METATILE_Fortree_WoodBridge1_Bottom, FALSE
+ setmetatile 12, 17, METATILE_General_ReflectiveWater, FALSE
+ setmetatile 13, 17, METATILE_General_ReflectiveWater, FALSE
special DrawWholeMapView
release
end
@@ -296,8 +273,7 @@ Route120_EventScript_Colin::
Route120_EventScript_Robert::
trainerbattle_single TRAINER_ROBERT_1, Route120_Text_RobertIntro, Route120_Text_RobertDefeat, Route120_EventScript_RegisterRobert
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route120_EventScript_RematchRobert
+ goto_if_eq VAR_RESULT, TRUE, Route120_EventScript_RematchRobert
msgbox Route120_Text_RobertPostBattle, MSGBOX_DEFAULT
release
end
@@ -328,8 +304,7 @@ Route120_EventScript_Jenna::
Route120_EventScript_Jeffrey::
trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_JeffreyIntro, Route120_Text_JeffreyDefeat, Route120_EventScript_RegisterJeffrey
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route120_EventScript_RematchJeffrey
+ goto_if_eq VAR_RESULT, TRUE, Route120_EventScript_RematchJeffrey
msgbox Route120_Text_JeffreyPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc
index 3bd0a42ee1..317328825c 100644
--- a/data/maps/Route121/scripts.inc
+++ b/data/maps/Route121/scripts.inc
@@ -77,8 +77,7 @@ Route121_EventScript_Vanessa::
Route121_EventScript_Walter::
trainerbattle_single TRAINER_WALTER_1, Route121_Text_WalterIntro, Route121_Text_WalterDefeat, Route121_EventScript_RegisterWalter
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route121_EventScript_RematchWalter
+ goto_if_eq VAR_RESULT, TRUE, Route121_EventScript_RematchWalter
msgbox Route121_Text_WalterPostBattle, MSGBOX_DEFAULT
release
end
@@ -114,8 +113,7 @@ Route121_EventScript_Joy::
Route121_EventScript_Jessica::
trainerbattle_single TRAINER_JESSICA_1, Route121_Text_JessicaIntro, Route121_Text_JessicaDefeat, Route121_EventScript_RegisterJessica
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route121_EventScript_RematchJessica
+ goto_if_eq VAR_RESULT, TRUE, Route121_EventScript_RematchJessica
msgbox Route121_Text_JessicaPostBattle, MSGBOX_DEFAULT
release
end
@@ -156,8 +154,7 @@ Route121_EventScript_Marcel::
Route121_EventScript_Cristin::
trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_CristinIntro, Route121_Text_CristinDefeat, Route121_EventScript_RegisterCristin
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route121_EventScript_RematchCristin
+ goto_if_eq VAR_RESULT, TRUE, Route121_EventScript_RematchCristin
msgbox Route121_Text_CristinPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc
index 8bd5dac04f..92fdc2d0bd 100644
--- a/data/maps/Route121_SafariZoneEntrance/scripts.inc
+++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc
@@ -33,8 +33,7 @@ Route121_SafariZoneEntrance_EventScript_InfoAttendant::
lock
faceplayer
msgbox Route121_SafariZoneEntrance_Text_WelcomeFirstTime, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route121_SafariZoneEntrance_EventScript_FirstTimeInfo
+ goto_if_eq VAR_RESULT, YES, Route121_SafariZoneEntrance_EventScript_FirstTimeInfo
msgbox Route121_SafariZoneEntrance_Text_ComeInAndEnjoy, MSGBOX_DEFAULT
release
end
@@ -48,26 +47,23 @@ Route121_SafariZoneEntrance_EventScript_EntranceCounterTrigger::
lockall
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
- showmoneybox 0, 0, 0
+ showmoneybox 0, 0
msgbox Route121_SafariZoneEntrance_Text_WouldYouLikeToPlay, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone
+ goto_if_eq VAR_RESULT, YES, Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone
msgbox Route121_SafariZoneEntrance_Text_PlayAnotherTime, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter
end
Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone::
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, 0
- goto_if_eq Route121_SafariZoneEntrance_EventScript_NoPokeblockCase
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, 0, Route121_SafariZoneEntrance_EventScript_NoPokeblockCase
call Route121_SafariZoneEntrance_EventScript_CheckHasRoomForPokemon
- checkmoney 500, 0
- compare VAR_RESULT, 0
- goto_if_eq Route121_SafariZoneEntrance_EventScript_NotEnoughMoney
+ checkmoney 500
+ goto_if_eq VAR_RESULT, 0, Route121_SafariZoneEntrance_EventScript_NotEnoughMoney
playse SE_SHOP
msgbox Route121_SafariZoneEntrance_Text_ThatWillBe500Please, MSGBOX_DEFAULT
- removemoney 500, 0
- updatemoneybox 0, 0
+ removemoney 500
+ updatemoneybox
msgbox Route121_SafariZoneEntrance_Text_HereAreYourSafariBalls, MSGBOX_DEFAULT
playfanfare MUS_OBTAIN_ITEM
message Route121_SafariZoneEntrance_Text_Received30SafariBalls
@@ -80,17 +76,15 @@ Route121_SafariZoneEntrance_EventScript_TryEnterSafariZone::
special EnterSafariMode
setvar VAR_SAFARI_ZONE_STATE, 2
clearflag FLAG_GOOD_LUCK_SAFARI_ZONE
- warp MAP_SAFARI_ZONE_SOUTH, 255, 32, 33
+ warp MAP_SAFARI_ZONE_SOUTH, 32, 33
waitstate
end
Route121_SafariZoneEntrance_EventScript_CheckHasRoomForPokemon::
getpartysize
- compare VAR_RESULT, PARTY_SIZE
- goto_if_ne Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon
+ goto_if_ne VAR_RESULT, PARTY_SIZE, Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon
specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace
- compare VAR_RESULT, 1
- goto_if_eq Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon
+ goto_if_eq VAR_RESULT, 1, Route121_SafariZoneEntrance_EventScript_HasRoomForPokemon
msgbox Route121_SafariZoneEntrance_Text_PCIsFull, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_MovePlayerBackFromCounter
end
diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc
index 6ce0de6544..fe63661261 100644
--- a/data/maps/Route123/scripts.inc
+++ b/data/maps/Route123/scripts.inc
@@ -12,12 +12,10 @@ Route123_EventScript_GigaDrainGirl::
goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_ReceivedGigaDrain
msgbox Route123_Text_LoveGrassMonsHaveAny, MSGBOX_DEFAULT
special IsGrassTypeInParty
- compare VAR_RESULT, FALSE
- goto_if_eq Route123_EventScript_NoGrassMons
+ goto_if_eq VAR_RESULT, FALSE, Route123_EventScript_NoGrassMons
msgbox Route123_Text_YouLikeGrassMonsTooHaveThis, MSGBOX_DEFAULT
giveitem ITEM_TM19
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM19
msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT
release
@@ -62,8 +60,7 @@ Route123_EventScript_Violet::
Route123_EventScript_Cameron::
trainerbattle_single TRAINER_CAMERON_1, Route123_Text_CameronIntro, Route123_Text_CameronDefeat, Route123_EventScript_RegisterCameron
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route123_EventScript_RematchCameron
+ goto_if_eq VAR_RESULT, TRUE, Route123_EventScript_RematchCameron
msgbox Route123_Text_CameronPostBattle, MSGBOX_DEFAULT
release
end
@@ -84,8 +81,7 @@ Route123_EventScript_RematchCameron::
Route123_EventScript_Jacki::
trainerbattle_single TRAINER_JACKI_1, Route123_Text_JackiIntro, Route123_Text_JackiDefeat, Route123_EventScript_RegisterJacki
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route123_EventScript_RematchJacki
+ goto_if_eq VAR_RESULT, TRUE, Route123_EventScript_RematchJacki
msgbox Route123_Text_JackiPostBattle, MSGBOX_DEFAULT
release
end
@@ -156,8 +152,7 @@ Route123_EventScript_Davis::
Route123_EventScript_Fernando::
trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_FernandoIntro, Route123_Text_FernandoDefeat, Route123_EventScript_RegisterFernando
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route123_EventScript_RematchFernando
+ goto_if_eq VAR_RESULT, TRUE, Route123_EventScript_RematchFernando
msgbox Route123_Text_FernandoPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc
index a9fbfd9d0a..bdc0b0456b 100644
--- a/data/maps/Route123_BerryMastersHouse/scripts.inc
+++ b/data/maps/Route123_BerryMastersHouse/scripts.inc
@@ -16,16 +16,14 @@ Route123_BerryMastersHouse_EventScript_BerryMaster::
addvar VAR_RESULT, NUM_BERRY_MASTER_BERRIES_SKIPPED
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY
msgbox Route123_BerryMastersHouse_Text_WhyBeStingyTakeAnother, MSGBOX_DEFAULT
random NUM_BERRY_MASTER_BERRIES
addvar VAR_RESULT, NUM_BERRY_MASTER_BERRIES_SKIPPED
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox Route123_BerryMastersHouse_Text_VisitPrettyPetalFlowerShop, MSGBOX_DEFAULT
release
end
@@ -45,10 +43,8 @@ Route123_BerryMastersHouse_EventScript_BerryMastersWife::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, TRUE
- goto_if_eq Route123_BerryMastersHouse_EventScript_GavePhrase
- compare VAR_RESULT, FALSE
- goto_if_eq Route123_BerryMastersHouse_EventScript_CancelPhrase
+ goto_if_eq VAR_RESULT, TRUE, Route123_BerryMastersHouse_EventScript_GavePhrase
+ goto_if_eq VAR_RESULT, FALSE, Route123_BerryMastersHouse_EventScript_CancelPhrase
end
Route123_BerryMastersHouse_EventScript_CancelPhrase::
@@ -58,18 +54,12 @@ Route123_BerryMastersHouse_EventScript_CancelPhrase::
end
Route123_BerryMastersHouse_EventScript_GavePhrase::
- compare VAR_0x8004, NOT_SPECIAL_PHRASE
- goto_if_eq Route123_BerryMastersHouse_EventScript_GiveNormalBerry
- compare VAR_0x8004, PHRASE_GREAT_BATTLE
- goto_if_eq Route123_BerryMastersHouse_EventScript_GiveSpelonBerry
- compare VAR_0x8004, PHRASE_CHALLENGE_CONTEST
- goto_if_eq Route123_BerryMastersHouse_EventScript_GivePamtreBerry
- compare VAR_0x8004, PHRASE_OVERWHELMING_LATIAS
- goto_if_eq Route123_BerryMastersHouse_EventScript_GiveWatmelBerry
- compare VAR_0x8004, PHRASE_COOL_LATIOS
- goto_if_eq Route123_BerryMastersHouse_EventScript_GiveDurinBerry
- compare VAR_0x8004, PHRASE_SUPER_HUSTLE
- goto_if_eq Route123_BerryMastersHouse_EventScript_GiveBelueBerry
+ goto_if_eq VAR_0x8004, NOT_SPECIAL_PHRASE, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
+ goto_if_eq VAR_0x8004, PHRASE_GREAT_BATTLE, Route123_BerryMastersHouse_EventScript_GiveSpelonBerry
+ goto_if_eq VAR_0x8004, PHRASE_CHALLENGE_CONTEST, Route123_BerryMastersHouse_EventScript_GivePamtreBerry
+ goto_if_eq VAR_0x8004, PHRASE_OVERWHELMING_LATIAS, Route123_BerryMastersHouse_EventScript_GiveWatmelBerry
+ goto_if_eq VAR_0x8004, PHRASE_COOL_LATIOS, Route123_BerryMastersHouse_EventScript_GiveDurinBerry
+ goto_if_eq VAR_0x8004, PHRASE_SUPER_HUSTLE, Route123_BerryMastersHouse_EventScript_GiveBelueBerry
end
Route123_BerryMastersHouse_EventScript_GiveNormalBerry::
@@ -77,8 +67,7 @@ Route123_BerryMastersHouse_EventScript_GiveNormalBerry::
random NUM_BERRY_MASTER_WIFE_BERRIES
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
goto Route123_BerryMastersHouse_EventScript_GaveBerry
release
end
@@ -87,8 +76,7 @@ Route123_BerryMastersHouse_EventScript_GiveSpelonBerry::
goto_if_set FLAG_RECEIVED_SPELON_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
giveitem ITEM_SPELON_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SPELON_BERRY
goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
@@ -97,8 +85,7 @@ Route123_BerryMastersHouse_EventScript_GivePamtreBerry::
goto_if_set FLAG_RECEIVED_PAMTRE_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
giveitem ITEM_PAMTRE_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_PAMTRE_BERRY
goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
@@ -107,8 +94,7 @@ Route123_BerryMastersHouse_EventScript_GiveWatmelBerry::
goto_if_set FLAG_RECEIVED_WATMEL_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
giveitem ITEM_WATMEL_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_WATMEL_BERRY
goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
@@ -117,8 +103,7 @@ Route123_BerryMastersHouse_EventScript_GiveDurinBerry::
goto_if_set FLAG_RECEIVED_DURIN_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
giveitem ITEM_DURIN_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_DURIN_BERRY
goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
@@ -127,8 +112,7 @@ Route123_BerryMastersHouse_EventScript_GiveBelueBerry::
goto_if_set FLAG_RECEIVED_BELUE_BERRY, Route123_BerryMastersHouse_EventScript_GiveNormalBerry
msgbox Route123_BerryMastersHouse_Text_InspirationalTakeThis, MSGBOX_DEFAULT
giveitem ITEM_BELUE_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_BELUE_BERRY
goto Route123_BerryMastersHouse_EventScript_GaveBerry
end
diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc
index d1cd8ef8c2..108b915da2 100644
--- a/data/maps/Route124/scripts.inc
+++ b/data/maps/Route124/scripts.inc
@@ -23,8 +23,7 @@ Route124_EventScript_Roland::
Route124_EventScript_Jenny::
trainerbattle_single TRAINER_JENNY_1, Route124_Text_JennyIntro, Route124_Text_JennyDefeat, Route124_EventScript_RegisterJenny
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route124_EventScript_RematchJenny
+ goto_if_eq VAR_RESULT, TRUE, Route124_EventScript_RematchJenny
msgbox Route124_Text_JennyPostBattle, MSGBOX_DEFAULT
release
end
@@ -55,8 +54,7 @@ Route124_EventScript_Chad::
Route124_EventScript_Lila::
trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_LilaIntro, Route124_Text_LilaDefeat, Route124_Text_LilaNotEnoughMons, Route124_EventScript_RegisterLila
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route124_EventScript_RematchLila
+ goto_if_eq VAR_RESULT, TRUE, Route124_EventScript_RematchLila
msgbox Route124_Text_LilaPostBattle, MSGBOX_DEFAULT
release
end
@@ -75,8 +73,7 @@ Route124_EventScript_RematchLila::
Route124_EventScript_Roy::
trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_RoyIntro, Route124_Text_RoyDefeat, Route124_Text_RoyNotEnoughMons, Route124_EventScript_RegisterRoy
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route124_EventScript_RematchRoy
+ goto_if_eq VAR_RESULT, TRUE, Route124_EventScript_RematchRoy
msgbox Route124_Text_RoyPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
index 63bee6ed5b..b100438f55 100644
--- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
@@ -22,25 +22,20 @@ Route124_DivingTreasureHuntersHouse_EventScript_SkipGreeting::
Route124_DivingTreasureHuntersHouse_EventScript_CheckPlayerHasShard::
call Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards
- compare VAR_TEMP_1, 0
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_NoShards
+ goto_if_eq VAR_TEMP_1, 0, Route124_DivingTreasureHuntersHouse_EventScript_NoShards
goto Route124_DivingTreasureHuntersHouse_EventScript_HasShard
end
Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards::
setvar VAR_TEMP_1, 0
- checkitem ITEM_RED_SHARD, 1
- compare VAR_RESULT, TRUE
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard
- checkitem ITEM_YELLOW_SHARD, 1
- compare VAR_RESULT, TRUE
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasYellowShard
- checkitem ITEM_BLUE_SHARD, 1
- compare VAR_RESULT, TRUE
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasBlueShard
- checkitem ITEM_GREEN_SHARD, 1
- compare VAR_RESULT, TRUE
- call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_HasGreenShard
+ checkitem ITEM_RED_SHARD
+ call_if_eq VAR_RESULT, TRUE, Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard
+ checkitem ITEM_YELLOW_SHARD
+ call_if_eq VAR_RESULT, TRUE, Route124_DivingTreasureHuntersHouse_EventScript_HasYellowShard
+ checkitem ITEM_BLUE_SHARD
+ call_if_eq VAR_RESULT, TRUE, Route124_DivingTreasureHuntersHouse_EventScript_HasBlueShard
+ checkitem ITEM_GREEN_SHARD
+ call_if_eq VAR_RESULT, TRUE, Route124_DivingTreasureHuntersHouse_EventScript_HasGreenShard
return
Route124_DivingTreasureHuntersHouse_EventScript_HasRedShard::
@@ -243,17 +238,14 @@ Route124_DivingTreasureHuntersHouse_EventScript_TradeGreenShard::
goto Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard
Route124_DivingTreasureHuntersHouse_EventScript_TryTradeShard::
- bufferitemname 0, VAR_0x8008
- bufferitemname 1, VAR_0x8009
+ bufferitemname STR_VAR_1, VAR_0x8008
+ bufferitemname STR_VAR_2, VAR_0x8009
msgbox Route124_DivingTreasureHuntersHouse_Text_YoullTradeShardForStone, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
- checkitemspace VAR_0x8009, 1
- compare VAR_RESULT, TRUE
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_TradeShard
+ goto_if_eq VAR_RESULT, NO, Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
+ checkitemspace VAR_0x8009
+ goto_if_eq VAR_RESULT, TRUE, Route124_DivingTreasureHuntersHouse_EventScript_TradeShard
checkitem VAR_0x8008, 2
- compare VAR_RESULT, FALSE
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_TradeShard
+ goto_if_eq VAR_RESULT, FALSE, Route124_DivingTreasureHuntersHouse_EventScript_TradeShard
goto Route124_DivingTreasureHuntersHouse_EventScript_BagFull
end
@@ -262,11 +254,9 @@ Route124_DivingTreasureHuntersHouse_EventScript_TradeShard::
giveitem VAR_0x8009
msgbox Route124_DivingTreasureHuntersHouse_Text_ItsADeal, MSGBOX_DEFAULT
call Route124_DivingTreasureHuntersHouse_EventScript_GetPlayersShards
- compare VAR_TEMP_1, 0
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_EndTrade
+ goto_if_eq VAR_TEMP_1, 0, Route124_DivingTreasureHuntersHouse_EventScript_EndTrade
msgbox Route124_DivingTreasureHuntersHouse_Text_TradeSomethingElse, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions
+ goto_if_eq VAR_RESULT, YES, Route124_DivingTreasureHuntersHouse_EventScript_ShowTradeOptions
goto Route124_DivingTreasureHuntersHouse_EventScript_DeclineTrade
end
diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc
index 7a2d3f15fa..cafdf8fbbf 100644
--- a/data/maps/Route125/scripts.inc
+++ b/data/maps/Route125/scripts.inc
@@ -6,19 +6,14 @@ Route125_MapScripts::
Route125_OnTransition:
call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST
- call_if_eq AbnormalWeather_StartKyogreWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST
- call_if_eq AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST, AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST, AbnormalWeather_StartKyogreWeather
end
Route125_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute125West
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute125East
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_WEST, AbnormalWeather_EventScript_PlaceTilesRoute125West
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_125_EAST, AbnormalWeather_EventScript_PlaceTilesRoute125East
end
Route125_OnFrame:
@@ -48,8 +43,7 @@ Route125_EventScript_Sharon::
Route125_EventScript_Ernest::
trainerbattle_single TRAINER_ERNEST_1, Route125_Text_ErnestIntro, Route125_Text_ErnestDefeat, Route125_EventScript_RegisterErnest
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route125_EventScript_RematchErnest
+ goto_if_eq VAR_RESULT, TRUE, Route125_EventScript_RematchErnest
msgbox Route125_Text_ErnestPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc
index 79f5bb11be..752cd2d4d5 100644
--- a/data/maps/Route126/scripts.inc
+++ b/data/maps/Route126/scripts.inc
@@ -44,8 +44,7 @@ Route126_EventScript_Sienna::
Route126_EventScript_Pablo::
trainerbattle_single TRAINER_PABLO_1, Route126_Text_PabloIntro, Route126_Text_PabloDefeat, Route126_EventScript_RegisterPablo
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route126_EventScript_RematchPablo
+ goto_if_eq VAR_RESULT, TRUE, Route126_EventScript_RematchPablo
msgbox Route126_Text_PabloPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc
index 426e814702..05bfb14ffe 100644
--- a/data/maps/Route127/scripts.inc
+++ b/data/maps/Route127/scripts.inc
@@ -6,19 +6,14 @@ Route127_MapScripts::
Route127_OnTransition:
call_if_set FLAG_SYS_WEATHER_CTRL, Common_EventScript_SetAbnormalWeather
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH
- call_if_eq AbnormalWeather_StartKyogreWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH
- call_if_eq AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH, AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH, AbnormalWeather_StartKyogreWeather
end
Route127_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute127North
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute127South
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_NORTH, AbnormalWeather_EventScript_PlaceTilesRoute127North
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_127_SOUTH, AbnormalWeather_EventScript_PlaceTilesRoute127South
end
Route127_OnFrame:
@@ -63,8 +58,7 @@ Route127_EventScript_Athena::
Route127_EventScript_Koji::
trainerbattle_single TRAINER_KOJI_1, Route127_Text_KojiIntro, Route127_Text_KojiDefeat, Route127_EventScript_RegisterKoji
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route127_EventScript_RematchKoji
+ goto_if_eq VAR_RESULT, TRUE, Route127_EventScript_RematchKoji
msgbox Route127_Text_KojiPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc
index e550f2bd12..d08605128a 100644
--- a/data/maps/Route128/scripts.inc
+++ b/data/maps/Route128/scripts.inc
@@ -181,8 +181,7 @@ Route128_Movement_MaxieApproachPlayer:
Route128_EventScript_Isaiah::
trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_IsaiahIntro, Route128_Text_IsaiahDefeat, Route128_EventScript_RegisterIsaiah
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route128_EventScript_RematchIsaiah
+ goto_if_eq VAR_RESULT, TRUE, Route128_EventScript_RematchIsaiah
msgbox Route128_Text_IsaiahPostBattle, MSGBOX_DEFAULT
release
end
@@ -203,8 +202,7 @@ Route128_EventScript_RematchIsaiah::
Route128_EventScript_Katelyn::
trainerbattle_single TRAINER_KATELYN_1, Route128_Text_KatelynIntro, Route128_Text_KatelynDefeat, Route128_EventScript_RegisterKatelyn
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq Route128_EventScript_RematchKatelyn
+ goto_if_eq VAR_RESULT, TRUE, Route128_EventScript_RematchKatelyn
msgbox Route128_Text_KatelynPostBattle, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc
index e996722cc9..7055675a0e 100644
--- a/data/maps/Route129/scripts.inc
+++ b/data/maps/Route129/scripts.inc
@@ -5,21 +5,15 @@ Route129_MapScripts::
.byte 0
Route129_OnLoad:
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute129West
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST
- call_if_eq AbnormalWeather_EventScript_PlaceTilesRoute129East
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST, AbnormalWeather_EventScript_PlaceTilesRoute129West
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST, AbnormalWeather_EventScript_PlaceTilesRoute129East
end
Route129_OnTransition:
- compare VAR_SHOULD_END_ABNORMAL_WEATHER, 1
- call_if_eq AbnormalWeather_EventScript_HideMapNamePopup
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge Route129_EventScript_CheckSetAbnormalWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST
- call_if_eq AbnormalWeather_StartKyogreWeather
- compare VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST
- call_if_eq AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_SHOULD_END_ABNORMAL_WEATHER, 1, AbnormalWeather_EventScript_HideMapNamePopup
+ call_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, Route129_EventScript_CheckSetAbnormalWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_WEST, AbnormalWeather_StartKyogreWeather
+ call_if_eq VAR_ABNORMAL_WEATHER_LOCATION, ABNORMAL_WEATHER_ROUTE_129_EAST, AbnormalWeather_StartKyogreWeather
end
Route129_EventScript_CheckSetAbnormalWeather::
diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc
index fe360a36bb..7e0ecc8bd1 100644
--- a/data/maps/Route130/scripts.inc
+++ b/data/maps/Route130/scripts.inc
@@ -3,11 +3,9 @@ Route130_MapScripts::
.byte 0
Route130_OnTransition:
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge Route130_EventScript_CheckSetAbnormalWeather
+ call_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, Route130_EventScript_CheckSetAbnormalWeather
specialvar VAR_RESULT, IsMirageIslandPresent
- compare VAR_RESULT, TRUE
- goto_if_eq Route130_EventScript_SetMirageIslandLayout
+ goto_if_eq VAR_RESULT, TRUE, Route130_EventScript_SetMirageIslandLayout
setflag FLAG_TEMP_11
setflag FLAG_TEMP_12
setflag FLAG_TEMP_13
diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc
index 846998bfe9..17060c183b 100644
--- a/data/maps/Route131/scripts.inc
+++ b/data/maps/Route131/scripts.inc
@@ -3,8 +3,7 @@ Route131_MapScripts::
.byte 0
Route131_OnTransition:
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge Route131_EventScript_CheckSetAbnormalWeather
+ call_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, Route131_EventScript_CheckSetAbnormalWeather
call Route131_EventScript_SetLayout
end
diff --git a/data/maps/Route134/scripts.inc b/data/maps/Route134/scripts.inc
index 043835373e..226135c1d5 100644
--- a/data/maps/Route134/scripts.inc
+++ b/data/maps/Route134/scripts.inc
@@ -3,7 +3,7 @@ Route134_MapScripts::
.byte 0
Route134_OnResume:
- setdivewarp MAP_UNDERWATER_ROUTE134, 255, 8, 6
+ setdivewarp MAP_UNDERWATER_ROUTE134, 8, 6
end
Route134_EventScript_Jack::
diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc
index 8d286d5de2..28fd389210 100644
--- a/data/maps/RustboroCity/scripts.inc
+++ b/data/maps/RustboroCity/scripts.inc
@@ -13,16 +13,13 @@ RustboroCity_MapScripts::
RustboroCity_OnTransition:
setflag FLAG_VISITED_RUSTBORO_CITY
call Common_EventScript_SetupRivalGfxId
- compare VAR_RUSTBORO_CITY_STATE, 6
- call_if_eq RustboroCity_EventScript_HideMapNamePopup
+ call_if_eq VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_HideMapNamePopup
getplayerxy VAR_TEMP_0, VAR_TEMP_1
- compare VAR_RUSTBORO_CITY_STATE, 6
- goto_if_eq RustboroCity_EventScript_PositionScientistForExit
+ goto_if_eq VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_PositionScientistForExit
end
RustboroCity_EventScript_PositionScientistForExit::
- compare VAR_TEMP_0, 11
- goto_if_eq RustboroCity_EventScript_PositionScientistLeftExit
+ goto_if_eq VAR_TEMP_0, 11, RustboroCity_EventScript_PositionScientistLeftExit
setobjectxyperm LOCALID_SCIENTIST, 12, 15
end
@@ -506,14 +503,10 @@ RustboroCity_EventScript_HelpGetGoodsTrigger3::
end
RustboroCity_EventScript_EmployeeAskToGetGoods::
- compare VAR_TEMP_1, 0
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerUp1
- compare VAR_TEMP_1, 1
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerLeft1
- compare VAR_TEMP_1, 2
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerDown1
- compare VAR_TEMP_1, 3
- call_if_eq RustboroCity_EventScript_EmployeeApproachPlayerDown1
+ call_if_eq VAR_TEMP_1, 0, RustboroCity_EventScript_EmployeeFacePlayerUp1
+ call_if_eq VAR_TEMP_1, 1, RustboroCity_EventScript_EmployeeFacePlayerLeft1
+ call_if_eq VAR_TEMP_1, 2, RustboroCity_EventScript_EmployeeFacePlayerDown1
+ 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
@@ -601,27 +594,21 @@ RustboroCity_EventScript_ReturnGoodsTrigger3::
end
RustboroCity_EventScript_ReturnGoods::
- compare VAR_TEMP_1, 0
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerUp2
- compare VAR_TEMP_1, 1
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerLeft2
- compare VAR_TEMP_1, 2
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerDown2
- compare VAR_TEMP_1, 3
- call_if_eq RustboroCity_EventScript_EmployeeApproachPlayerDown2
- compare VAR_TEMP_1, 4
- call_if_eq RustboroCity_EventScript_EmployeeFacePlayerRight
+ call_if_eq VAR_TEMP_1, 0, RustboroCity_EventScript_EmployeeFacePlayerUp2
+ call_if_eq VAR_TEMP_1, 1, RustboroCity_EventScript_EmployeeFacePlayerLeft2
+ call_if_eq VAR_TEMP_1, 2, RustboroCity_EventScript_EmployeeFacePlayerDown2
+ call_if_eq VAR_TEMP_1, 3, RustboroCity_EventScript_EmployeeApproachPlayerDown2
+ call_if_eq VAR_TEMP_1, 4, RustboroCity_EventScript_EmployeeFacePlayerRight
msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT
giveitem ITEM_GREAT_BALL
- compare VAR_RESULT, FALSE
- call_if_eq RustboroCity_EventScript_BagFull
+ call_if_eq VAR_RESULT, FALSE, RustboroCity_EventScript_BagFull
msgbox RustboroCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT
closemessage
setflag FLAG_RETURNED_DEVON_GOODS
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
setvar VAR_RUSTBORO_CITY_STATE, 5
delay 30
- warp MAP_RUSTBORO_CITY_DEVON_CORP_3F, 255, 2, 2
+ warp MAP_RUSTBORO_CITY_DEVON_CORP_3F, 2, 2
waitstate
releaseall
end
@@ -699,10 +686,8 @@ RustboroCity_EventScript_Rival::
RustboroCity_EventScript_PlayRivalMusic::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq RustboroCity_EventScript_PlayMayMusic
- compare VAR_RESULT, FEMALE
- goto_if_eq RustboroCity_EventScript_PlayBrendanMusic
+ goto_if_eq VAR_RESULT, MALE, RustboroCity_EventScript_PlayMayMusic
+ goto_if_eq VAR_RESULT, FEMALE, RustboroCity_EventScript_PlayBrendanMusic
return
RustboroCity_EventScript_PlayMayMusic::
@@ -843,10 +828,8 @@ RustboroCity_EventScript_RivalTrigger7::
RustboroCity_EventScript_RivalEncounter::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq RustboroCity_EventScript_MayEncounter
- compare VAR_RESULT, FEMALE
- goto_if_eq RustboroCity_EventScript_BrendanEncounter
+ goto_if_eq VAR_RESULT, MALE, RustboroCity_EventScript_MayEncounter
+ goto_if_eq VAR_RESULT, FEMALE, RustboroCity_EventScript_BrendanEncounter
end
RustboroCity_EventScript_MayEncounter::
@@ -866,8 +849,7 @@ RustboroCity_EventScript_MayEncounter::
setvar VAR_ROUTE104_STATE, 2
setvar VAR_0x8008, 0
msgbox RustboroCity_Text_MayPassedBrineyWantToBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq RustboroCity_EventScript_BattleMay
+ goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleMay
msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT
call RustboroCity_EventScript_RestoreBgm
releaseall
@@ -876,8 +858,7 @@ RustboroCity_EventScript_MayEncounter::
RustboroCity_EventScript_MayAskToBattle::
setvar VAR_0x8008, 1
msgbox RustboroCity_Text_MayWantToBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq RustboroCity_EventScript_BattleMay
+ goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleMay
msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT
releaseall
end
@@ -892,8 +873,7 @@ RustboroCity_EventScript_BattleMay::
RustboroCity_EventScript_MayBrineyHint::
msgbox RustboroCity_Text_MayMrBrineyHint, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq RustboroCity_EventScript_RestoreBgm
+ call_if_eq VAR_0x8008, 0, RustboroCity_EventScript_RestoreBgm
releaseall
end
@@ -936,8 +916,7 @@ RustboroCity_EventScript_BrendanEncounter::
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
msgbox RustboroCity_Text_BrendanPassedBrineyWantToBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq RustboroCity_EventScript_BattleBrendan
+ goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleBrendan
msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT
call RustboroCity_EventScript_RestoreBgm
releaseall
@@ -945,8 +924,7 @@ RustboroCity_EventScript_BrendanEncounter::
RustboroCity_EventScript_BrendanAskToBattle::
msgbox RustboroCity_Text_BrendanWantToBattle, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq RustboroCity_EventScript_BattleBrendan
+ goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleBrendan
msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT
releaseall
end
@@ -961,8 +939,7 @@ RustboroCity_EventScript_BattleBrendan::
RustboroCity_EventScript_BrendanBrineyHint::
msgbox RustboroCity_Text_BrendanMrBrineyHint, MSGBOX_DEFAULT
- compare VAR_0x8008, 0
- call_if_eq RustboroCity_EventScript_RestoreBgm
+ call_if_eq VAR_0x8008, 0, RustboroCity_EventScript_RestoreBgm
releaseall
end
diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
index 326cd946e6..747070645c 100644
--- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
@@ -5,8 +5,7 @@ RustboroCity_DevonCorp_2F_MapScripts::
.byte 0
RustboroCity_DevonCorp_2F_OnTransition:
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ call_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
end
RustboroCity_DevonCorp_2F_EventScript_SetFossilReady::
@@ -16,8 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_SetFossilReady::
RustboroCity_DevonCorp_2F_EventScript_TalkToPokemonScientist::
lock
faceplayer
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ call_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
msgbox RustboroCity_DevonCorp_2F_Text_DeviceForTalkingToPokemon, MSGBOX_DEFAULT
release
end
@@ -25,8 +23,7 @@ RustboroCity_DevonCorp_2F_EventScript_TalkToPokemonScientist::
RustboroCity_DevonCorp_2F_EventScript_BallScientist::
lock
faceplayer
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ call_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
goto_if_set FLAG_MET_DEVON_EMPLOYEE, RustboroCity_DevonCorp_2F_EventScript_DevelopedBalls
msgbox RustboroCity_DevonCorp_2F_Text_DevelopingNewBalls, MSGBOX_DEFAULT
release
@@ -40,8 +37,7 @@ RustboroCity_DevonCorp_2F_EventScript_DevelopedBalls::
RustboroCity_DevonCorp_2F_EventScript_PokenavScientist::
lock
faceplayer
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ call_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_DevonCorp_2F_EventScript_HasPokenav
msgbox RustboroCity_DevonCorp_2F_Text_IMadePokenav, MSGBOX_DEFAULT
release
@@ -55,8 +51,7 @@ RustboroCity_DevonCorp_2F_EventScript_HasPokenav::
RustboroCity_DevonCorp_2F_EventScript_PokemonDreamsScientist::
lock
faceplayer
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ call_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
msgbox RustboroCity_DevonCorp_2F_Text_DeviceToVisualizePokemonDreams, MSGBOX_DEFAULT
release
end
@@ -64,17 +59,13 @@ RustboroCity_DevonCorp_2F_EventScript_PokemonDreamsScientist::
RustboroCity_DevonCorp_2F_EventScript_FossilScientist::
lock
faceplayer
- compare VAR_FOSSIL_RESURRECTION_STATE, 2
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FossilMonReady
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_StillRegenerating
+ goto_if_eq VAR_FOSSIL_RESURRECTION_STATE, 2, RustboroCity_DevonCorp_2F_EventScript_FossilMonReady
+ goto_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_StillRegenerating
msgbox RustboroCity_DevonCorp_2F_Text_DevelopDeviceToResurrectFossils, MSGBOX_DEFAULT
- checkitem ITEM_ROOT_FOSSIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil
- checkitem ITEM_CLAW_FOSSIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil
+ checkitem ITEM_ROOT_FOSSIL
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil
+ checkitem ITEM_CLAW_FOSSIL
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil
release
end
@@ -87,16 +78,14 @@ RustboroCity_DevonCorp_2F_EventScript_NoticeRootFossil::
applymovement LOCALID_FOSSIL_SCIENTIST, Common_Movement_Delay48
waitmovement 0
msgbox RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil
- checkitem ITEM_CLAW_FOSSIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ChooseFossil
+ goto_if_eq VAR_RESULT, NO, RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil
+ checkitem ITEM_CLAW_FOSSIL
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_DevonCorp_2F_EventScript_ChooseFossil
goto RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil
end
RustboroCity_DevonCorp_2F_EventScript_GiveRootFossil::
- bufferitemname 0, ITEM_ROOT_FOSSIL
+ bufferitemname STR_VAR_1, ITEM_ROOT_FOSSIL
msgbox RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher, MSGBOX_DEFAULT
removeitem ITEM_ROOT_FOSSIL
setvar VAR_FOSSIL_RESURRECTION_STATE, 1
@@ -112,16 +101,14 @@ RustboroCity_DevonCorp_2F_EventScript_NoticeClawFossil::
applymovement LOCALID_FOSSIL_SCIENTIST, Common_Movement_Delay48
waitmovement 0
msgbox RustboroCity_DevonCorp_2F_Text_WantToBringFossilBackToLife, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil
- checkitem ITEM_ROOT_FOSSIL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ChooseFossil
+ goto_if_eq VAR_RESULT, NO, RustboroCity_DevonCorp_2F_EventScript_DeclineGiveFossil
+ checkitem ITEM_ROOT_FOSSIL
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_DevonCorp_2F_EventScript_ChooseFossil
goto RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil
end
RustboroCity_DevonCorp_2F_EventScript_GiveClawFossil::
- bufferitemname 0, ITEM_CLAW_FOSSIL
+ bufferitemname STR_VAR_1, ITEM_CLAW_FOSSIL
msgbox RustboroCity_DevonCorp_2F_Text_HandedFossilToResearcher, MSGBOX_DEFAULT
removeitem ITEM_CLAW_FOSSIL
setvar VAR_FOSSIL_RESURRECTION_STATE, 1
@@ -140,39 +127,34 @@ RustboroCity_DevonCorp_2F_EventScript_StillRegenerating::
end
RustboroCity_DevonCorp_2F_EventScript_FossilMonReady::
- compare VAR_WHICH_FOSSIL_REVIVED, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_LileepReady
- compare VAR_WHICH_FOSSIL_REVIVED, 2
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_AnorithReady
+ goto_if_eq VAR_WHICH_FOSSIL_REVIVED, 1, RustboroCity_DevonCorp_2F_EventScript_LileepReady
+ goto_if_eq VAR_WHICH_FOSSIL_REVIVED, 2, RustboroCity_DevonCorp_2F_EventScript_AnorithReady
end
RustboroCity_DevonCorp_2F_EventScript_LileepReady::
- bufferspeciesname 1, SPECIES_LILEEP
+ bufferspeciesname STR_VAR_2, SPECIES_LILEEP
msgbox RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife, MSGBOX_DEFAULT
goto RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep
end
RustboroCity_DevonCorp_2F_EventScript_AnorithReady::
- bufferspeciesname 1, SPECIES_ANORITH
+ bufferspeciesname STR_VAR_2, SPECIES_ANORITH
msgbox RustboroCity_DevonCorp_2F_Text_FossilizedMonBroughtBackToLife, MSGBOX_DEFAULT
goto RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith
end
RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep::
setvar VAR_TEMP_1, SPECIES_LILEEP
- givemon SPECIES_LILEEP, 20, ITEM_NONE
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC
+ givemon SPECIES_LILEEP, 20
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC
goto Common_EventScript_NoMoreRoomForPokemon
end
RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty::
call RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep
+ goto_if_eq VAR_RESULT, NO, RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep
@@ -181,8 +163,7 @@ RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty::
RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC::
call RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC
+ goto_if_eq VAR_RESULT, NO, RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC
call Common_EventScript_NameReceivedBoxMon
goto RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC
end
@@ -193,12 +174,12 @@ RustboroCity_DevonCorp_2F_EventScript_TransferLileepToPC::
end
RustboroCity_DevonCorp_2F_EventScript_ReceivedLileepFanfare::
- bufferspeciesname 1, SPECIES_LILEEP
+ bufferspeciesname STR_VAR_2, SPECIES_LILEEP
playfanfare MUS_OBTAIN_ITEM
message RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher
waitmessage
waitfanfare
- bufferspeciesname 0, SPECIES_LILEEP
+ bufferspeciesname STR_VAR_1, SPECIES_LILEEP
return
RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep::
@@ -209,19 +190,16 @@ RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep::
RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith::
setvar VAR_TEMP_1, SPECIES_ANORITH
- givemon SPECIES_ANORITH, 20, ITEM_NONE
- compare VAR_RESULT, 0
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty
- compare VAR_RESULT, 1
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC
+ givemon SPECIES_ANORITH, 20
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty
+ goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC
goto Common_EventScript_NoMoreRoomForPokemon
end
RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty::
call RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith
+ goto_if_eq VAR_RESULT, NO, RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith
call Common_EventScript_GetGiftMonPartySlot
call Common_EventScript_NameReceivedPartyMon
goto RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith
@@ -230,8 +208,7 @@ RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty::
RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC::
call RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare
msgbox gText_NicknameThisPokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC
+ goto_if_eq VAR_RESULT, NO, RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC
call Common_EventScript_NameReceivedBoxMon
goto RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC
end
@@ -242,12 +219,12 @@ RustboroCity_DevonCorp_2F_EventScript_TransferAnorithToPC::
end
RustboroCity_DevonCorp_2F_EventScript_ReceivedAnorithFanfare::
- bufferspeciesname 1, SPECIES_ANORITH
+ bufferspeciesname STR_VAR_2, SPECIES_ANORITH
playfanfare MUS_OBTAIN_ITEM
message RustboroCity_DevonCorp_2F_Text_ReceivedMonFromResearcher
waitmessage
waitfanfare
- bufferspeciesname 0, SPECIES_ANORITH
+ bufferspeciesname STR_VAR_1, SPECIES_ANORITH
return
RustboroCity_DevonCorp_2F_EventScript_FinishReceivingAnorith::
@@ -282,10 +259,8 @@ RustboroCity_DevonCorp_2F_EventScript_CancelFossilSelect::
RustboroCity_DevonCorp_2F_EventScript_MatchCallScientist::
lock
faceplayer
- compare VAR_FOSSIL_RESURRECTION_STATE, 1
- call_if_eq RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
- compare VAR_RUSTBORO_CITY_STATE, 6
- goto_if_ge RustboroCity_DevonCorp_2F_EventScript_WorkOnNext
+ call_if_eq VAR_FOSSIL_RESURRECTION_STATE, 1, RustboroCity_DevonCorp_2F_EventScript_SetFossilReady
+ goto_if_ge VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_DevonCorp_2F_EventScript_WorkOnNext
msgbox RustboroCity_DevonCorp_2F_Text_DevelopNewPokenavFeature, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
index d249cc51f6..ebf9044c54 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
@@ -7,8 +7,7 @@ RustboroCity_DevonCorp_3F_MapScripts::
.byte 0
RustboroCity_DevonCorp_3F_OnTransition:
- compare VAR_DEVON_CORP_3F_STATE, 0
- call_if_eq RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos
+ call_if_eq VAR_DEVON_CORP_3F_STATE, 0, RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos
end
RustboroCity_DevonCorp_3F_EventScript_SetEmployeePos::
@@ -164,8 +163,7 @@ RustboroCity_DevonCorp_3F_EventScript_MrStone::
RustboroCity_DevonCorp_3F_EventScript_GiveExpShare::
msgbox RustboroCity_DevonCorp_3F_Text_ThankYouForDeliveringLetter, MSGBOX_DEFAULT
giveitem ITEM_EXP_SHARE
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_EXP_SHARE
msgbox RustboroCity_DevonCorp_3F_Text_ExplainExpShare, MSGBOX_DEFAULT
closemessage
diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc
index a9d24092f8..8e972182c1 100644
--- a/data/maps/RustboroCity_Flat1_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc
@@ -7,36 +7,28 @@ RustboroCity_Flat1_2F_EventScript_WaldasDad::
lock
faceplayer
specialvar VAR_RESULT, TryBufferWaldaPhrase
- compare VAR_RESULT, FALSE
- goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase
+ goto_if_eq VAR_RESULT, FALSE, RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase
RustboroCity_Flat1_2F_EventScript_GivePhrase::
special DoWaldaNamingScreen
waitstate
- compare VAR_0x8004, 1
- goto_if_eq RustboroCity_Flat1_2F_EventScript_CancelGivePhrase
- compare VAR_0x8004, 2
- goto_if_eq RustboroCity_Flat1_2F_EventScript_CancelGiveFirstPhrase
+ goto_if_eq VAR_0x8004, 1, RustboroCity_Flat1_2F_EventScript_CancelGivePhrase
+ goto_if_eq VAR_0x8004, 2, RustboroCity_Flat1_2F_EventScript_CancelGiveFirstPhrase
specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldaLikesPhrase
- compare VAR_RESULT, FALSE
- goto_if_eq RustboroCity_Flat1_2F_EventScript_WaldaDoesntLikePhrase
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_Flat1_2F_EventScript_WaldaLikesPhrase
+ goto_if_eq VAR_RESULT, FALSE, RustboroCity_Flat1_2F_EventScript_WaldaDoesntLikePhrase
end
RustboroCity_Flat1_2F_EventScript_WaldasDadFirstPhrase::
msgbox RustboroCity_Flat1_2F_Text_HelloDoYouKnowFunnyPhrase, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase
+ goto_if_eq VAR_RESULT, NO, RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase
msgbox RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion, MSGBOX_DEFAULT
goto RustboroCity_Flat1_2F_EventScript_GivePhrase
RustboroCity_Flat1_2F_EventScript_WaldasDadNewPhrase::
msgbox RustboroCity_Flat1_2F_Text_BeenSayingXDoYouKnowBetterPhrase, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase
+ goto_if_eq VAR_RESULT, NO, RustboroCity_Flat1_2F_EventScript_DeclineGivePhrase
msgbox RustboroCity_Flat1_2F_Text_WonderfulLetsHearSuggestion, MSGBOX_DEFAULT
goto RustboroCity_Flat1_2F_EventScript_GivePhrase
diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc
index 29edb7b586..97145ce8f2 100644
--- a/data/maps/RustboroCity_Flat2_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc
@@ -11,8 +11,7 @@ RustboroCity_Flat2_2F_EventScript_NinjaBoy::
goto_if_set FLAG_RECEIVED_PREMIER_BALL_RUSTBORO, RustboroCity_Flat2_2F_EventScript_GavePremierBall
msgbox RustboroCity_Flat2_2F_Text_MyDaddyMadeThisYouCanHaveIt, MSGBOX_DEFAULT
giveitem ITEM_PREMIER_BALL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_PREMIER_BALL_RUSTBORO
release
end
diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc
index 11354fac0a..e1596a9730 100644
--- a/data/maps/RustboroCity_Gym/scripts.inc
+++ b/data/maps/RustboroCity_Gym/scripts.inc
@@ -4,8 +4,7 @@ RustboroCity_Gym_MapScripts::
RustboroCity_Gym_EventScript_Roxanne::
trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxanneIntro, RustboroCity_Gym_Text_RoxanneDefeat, RustboroCity_Gym_EventScript_RoxanneDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq RustboroCity_Gym_EventScript_RoxanneRematch
+ goto_if_eq VAR_RESULT, TRUE, RustboroCity_Gym_EventScript_RoxanneRematch
goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_GiveRockTomb
msgbox RustboroCity_Gym_Text_RoxannePostBattle, MSGBOX_DEFAULT
release
@@ -22,15 +21,13 @@ RustboroCity_Gym_EventScript_RoxanneDefeated::
addvar VAR_PETALBURG_GYM_STATE, 1
setvar VAR_0x8008, 1
call Common_EventScript_SetGymTrainers
- compare VAR_PETALBURG_GYM_STATE, 6
- call_if_eq Common_EventScript_ReadyPetalburgGymForBattle
+ call_if_eq VAR_PETALBURG_GYM_STATE, 6, Common_EventScript_ReadyPetalburgGymForBattle
goto RustboroCity_Gym_EventScript_GiveRockTomb
end
RustboroCity_Gym_EventScript_GiveRockTomb::
giveitem ITEM_TM39
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM39
msgbox RustboroCity_Gym_Text_ExplainRockTomb, MSGBOX_DEFAULT
release
diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc
index 0b7de48bc5..88a33786c0 100644
--- a/data/maps/RustboroCity_House1/scripts.inc
+++ b/data/maps/RustboroCity_House1/scripts.inc
@@ -10,18 +10,15 @@ RustboroCity_House1_EventScript_Trader::
specialvar VAR_RESULT, GetInGameTradeSpeciesInfo
copyvar VAR_0x8009, VAR_RESULT
msgbox RustboroCity_House1_Text_IllTradeIfYouWant, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq RustboroCity_House1_EventScript_DeclineTrade
+ goto_if_eq VAR_RESULT, NO, RustboroCity_House1_EventScript_DeclineTrade
special ChoosePartyMon
waitstate
copyvar VAR_0x800A, VAR_0x8004
- compare VAR_0x8004, 255
- goto_if_eq RustboroCity_House1_EventScript_DeclineTrade
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, RustboroCity_House1_EventScript_DeclineTrade
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, GetTradeSpecies
copyvar VAR_0x800B, VAR_RESULT
- compare VAR_RESULT, VAR_0x8009
- goto_if_ne RustboroCity_House1_EventScript_NotRequestedMon
+ goto_if_ne VAR_RESULT, VAR_0x8009, RustboroCity_House1_EventScript_NotRequestedMon
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special CreateInGameTradePokemon
@@ -38,7 +35,7 @@ RustboroCity_House1_EventScript_DeclineTrade::
end
RustboroCity_House1_EventScript_NotRequestedMon::
- bufferspeciesname 0, VAR_0x8009
+ bufferspeciesname STR_VAR_1, VAR_0x8009
msgbox RustboroCity_House1_Text_DoesntLookLikeMonToMe, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc
index fcc374ddc7..8a409d49b3 100644
--- a/data/maps/RustboroCity_PokemonSchool/scripts.inc
+++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc
@@ -78,14 +78,11 @@ RustboroCity_PokemonSchool_EventScript_Teacher::
lock
faceplayer
goto_if_set FLAG_RECEIVED_QUICK_CLAW, RustboroCity_PokemonSchool_EventScript_GaveQuickClaw
- compare VAR_FACING, DIR_EAST
- call_if_eq RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsEast
- compare VAR_FACING, DIR_WEST
- call_if_eq RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsWest
+ call_if_eq VAR_FACING, DIR_EAST, RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsEast
+ call_if_eq VAR_FACING, DIR_WEST, RustboroCity_PokemonSchool_EventScript_TeacherCheckOnStudentsWest
msgbox RustboroCity_PokemonSchool_Text_StudentsWhoDontStudyGetQuickClaw, MSGBOX_DEFAULT
giveitem ITEM_QUICK_CLAW
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc
index 97a158f22d..e7eee5817a 100644
--- a/data/maps/RusturfTunnel/scripts.inc
+++ b/data/maps/RusturfTunnel/scripts.inc
@@ -15,8 +15,7 @@ RusturfTunnel_OnFrame:
.2byte 0
RusturfTunnel_OnTransition:
- compare VAR_RUSTURF_TUNNEL_STATE, 2
- call_if_eq RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos
+ call_if_eq VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos
end
RusturfTunnel_EventScript_SetAquaGruntAndPeekoPos::
@@ -56,36 +55,25 @@ RusturfTunnel_EventScript_AlreadySpokenTo::
RusturfTunnel_EventScript_ClearTunnelScene::
lockall
- compare VAR_TEMP_1, 1
- call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend1
- compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend2
- compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_FaceWandasBoyfriend3
+ call_if_eq VAR_TEMP_1, 1, RusturfTunnel_EventScript_FaceWandasBoyfriend1
+ call_if_eq VAR_TEMP_1, 2, RusturfTunnel_EventScript_FaceWandasBoyfriend2
+ call_if_eq VAR_TEMP_1, 3, RusturfTunnel_EventScript_FaceWandasBoyfriend3
call RusturfTunnel_EventScript_WandasBoyfriendNotice
msgbox RusturfTunnel_Text_YouShatteredBoulderTakeHM, MSGBOX_DEFAULT
- compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
- compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
+ call_if_eq VAR_TEMP_1, 2, RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
+ call_if_eq VAR_TEMP_1, 3, RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
giveitem ITEM_HM04
setflag FLAG_RECEIVED_HM04
msgbox RusturfTunnel_Text_ExplainStrength, MSGBOX_DEFAULT
closemessage
- compare VAR_TEMP_1, 1
- call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda1
- compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda2
- compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_BoyfriendApproachWanda3
+ call_if_eq VAR_TEMP_1, 1, RusturfTunnel_EventScript_BoyfriendApproachWanda1
+ call_if_eq VAR_TEMP_1, 2, RusturfTunnel_EventScript_BoyfriendApproachWanda2
+ call_if_eq VAR_TEMP_1, 3, RusturfTunnel_EventScript_BoyfriendApproachWanda3
msgbox RusturfTunnel_Text_WandaReunion, MSGBOX_DEFAULT
closemessage
- compare VAR_TEMP_1, 1
- call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit1
- compare VAR_TEMP_1, 2
- call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit
- compare VAR_TEMP_1, 3
- call_if_eq RusturfTunnel_EventScript_WandaAndBoyfriendExit
+ call_if_eq VAR_TEMP_1, 1, RusturfTunnel_EventScript_WandaAndBoyfriendExit1
+ call_if_eq VAR_TEMP_1, 2, RusturfTunnel_EventScript_WandaAndBoyfriendExit
+ call_if_eq VAR_TEMP_1, 3, RusturfTunnel_EventScript_WandaAndBoyfriendExit
call RusturfTunnel_EventScript_SetRusturfTunnelOpen
releaseall
end
diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc
index 4aa94de237..b39b9a4336 100644
--- a/data/maps/SSTidalCorridor/scripts.inc
+++ b/data/maps/SSTidalCorridor/scripts.inc
@@ -45,10 +45,8 @@ SSTidalRooms_EventScript_ArrivedInLilycove::
return
SSTidalCorridor_EventScript_ReachedStepCount::
- compare VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT
- goto_if_eq SSTidalCorridor_EventScript_HalfwayToLilycove
- compare VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT
- goto_if_eq SSTidalCorridor_EventScript_ArrivedInSlateport
+ goto_if_eq VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT, SSTidalCorridor_EventScript_HalfwayToLilycove
+ goto_if_eq VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT, SSTidalCorridor_EventScript_ArrivedInSlateport
end
SSTidalCorridor_EventScript_HalfwayToLilycove::
@@ -117,10 +115,8 @@ SSTidalCorridor_EventScript_Cabin4Sign::
SSTidalCorridor_EventScript_ExitSailor::
lock
faceplayer
- compare VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_LILYCOVE
- goto_if_eq SSTidalCorridor_EventScript_ExitLilycove
- compare VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT
- goto_if_eq SSTidalCorridor_EventScript_ExitSlateport
+ goto_if_eq VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_LILYCOVE, SSTidalCorridor_EventScript_ExitLilycove
+ goto_if_eq VAR_SS_TIDAL_STATE, SS_TIDAL_LAND_SLATEPORT, SSTidalCorridor_EventScript_ExitSlateport
msgbox SSTidalCorridor_Text_CanRestInCabin2, MSGBOX_DEFAULT
release
end
@@ -129,7 +125,7 @@ SSTidalCorridor_EventScript_ExitLilycove::
setrespawn HEAL_LOCATION_LILYCOVE_CITY
msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT
call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver
- warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
+ warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
waitstate
release
end
@@ -138,7 +134,7 @@ SSTidalCorridor_EventScript_ExitSlateport::
setrespawn HEAL_LOCATION_SLATEPORT_CITY
msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT
call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver
- warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
+ warp MAP_SLATEPORT_CITY_HARBOR, 8, 11
waitstate
release
end
@@ -149,10 +145,8 @@ SSTidalCorridor_EventScript_HideSnatchGiver::
SSTidalCorridor_EventScript_Porthole::
lockall
- compare VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT
- goto_if_eq SSTidalCorridor_EventScript_LookThroughPorthole
- compare VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT
- goto_if_eq SSTidalCorridor_EventScript_LookThroughPorthole
+ goto_if_eq VAR_SS_TIDAL_STATE, SS_TIDAL_DEPART_SLATEPORT, SSTidalCorridor_EventScript_LookThroughPorthole
+ goto_if_eq VAR_SS_TIDAL_STATE, SS_TIDAL_HALFWAY_SLATEPORT, SSTidalCorridor_EventScript_LookThroughPorthole
msgbox SSTidalCorridor_Text_HorizonSpreadsBeyondPorthole, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc
index c5cade489e..c3aa8ff8ab 100644
--- a/data/maps/SSTidalRooms/scripts.inc
+++ b/data/maps/SSTidalRooms/scripts.inc
@@ -7,8 +7,7 @@ SSTidalRooms_EventScript_SnatchGiver::
goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_ExplainSnatch
msgbox SSTidalRooms_Text_NotSuspiciousTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM49
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM49
msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT
release
diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc
index 791572fe0c..6b4c774c2b 100644
--- a/data/maps/SafariZone_South/scripts.inc
+++ b/data/maps/SafariZone_South/scripts.inc
@@ -21,8 +21,7 @@ SafariZone_South_EventScript_EnterSafariZone::
end
SafariZone_South_OnTransition:
- compare VAR_SAFARI_ZONE_STATE, 2
- call_if_eq SafariZone_South_EventScript_SetExitAttendantAside
+ call_if_eq VAR_SAFARI_ZONE_STATE, 2, SafariZone_South_EventScript_SetExitAttendantAside
end
SafariZone_South_EventScript_SetExitAttendantAside::
@@ -55,8 +54,7 @@ SafariZone_South_EventScript_ExitAttendant::
faceplayer
goto_if_unset FLAG_GOOD_LUCK_SAFARI_ZONE, SafariZone_South_EventScript_GoodLuck
msgbox SafariZone_South_Text_StillHaveTimeExit, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SafariZone_South_EventScript_ExitEarly
+ goto_if_eq VAR_RESULT, YES, SafariZone_South_EventScript_ExitEarly
msgbox SafariZone_South_Text_EnjoyTheRestOfYourAdventure, MSGBOX_DEFAULT
release
end
@@ -94,7 +92,7 @@ SafariZone_South_EventScript_ExitEarlyEast::
SafariZone_South_EventScript_Exit::
setvar VAR_SAFARI_ZONE_STATE, 1
special ExitSafariMode
- warpdoor MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
+ warpdoor MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 2, 5
waitstate
end
diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc
index a4c621e3e0..eec69e6f80 100644
--- a/data/maps/SeafloorCavern_Entrance/scripts.inc
+++ b/data/maps/SeafloorCavern_Entrance/scripts.inc
@@ -5,14 +5,13 @@ SeafloorCavern_Entrance_MapScripts::
.byte 0
SeafloorCavern_Entrance_OnResume:
- setdivewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5
- setescapewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5
+ setdivewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 6, 5
+ setescapewarp MAP_UNDERWATER_SEAFLOOR_CAVERN, 6, 5
end
SeafloorCavern_Entrance_EventScript_Grunt::
lockall
- compare VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1
- goto_if_eq SeafloorCavern_Entrance_EventScript_GruntSpeechShort
+ 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
@@ -20,12 +19,9 @@ SeafloorCavern_Entrance_EventScript_Grunt::
applymovement LOCALID_GRUNT, Common_Movement_Delay48
waitmovement 0
delay 20
- compare VAR_FACING, DIR_WEST
- call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest
- compare VAR_FACING, DIR_EAST
- call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast
- compare VAR_FACING, DIR_NORTH
- call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth
+ call_if_eq VAR_FACING, DIR_WEST, SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest
+ call_if_eq VAR_FACING, DIR_EAST, SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast
+ 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
@@ -37,12 +33,9 @@ SeafloorCavern_Entrance_EventScript_Grunt::
end
SeafloorCavern_Entrance_EventScript_GruntSpeechShort::
- compare VAR_FACING, DIR_WEST
- call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest
- compare VAR_FACING, DIR_EAST
- call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast
- compare VAR_FACING, DIR_NORTH
- call_if_eq SeafloorCavern_Entrance_EventScript_GruntFacePlayerNorth
+ call_if_eq VAR_FACING, DIR_WEST, SeafloorCavern_Entrance_EventScript_GruntFacePlayerWest
+ call_if_eq VAR_FACING, DIR_EAST, SeafloorCavern_Entrance_EventScript_GruntFacePlayerEast
+ 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
diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc
index 3db2348a4a..63e6baf3c7 100644
--- a/data/maps/SeafloorCavern_Room9/scripts.inc
+++ b/data/maps/SeafloorCavern_Room9/scripts.inc
@@ -145,7 +145,7 @@ SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre::
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE
setflag FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
setflag FLAG_HIDE_MAP_NAME_POPUP
- warp MAP_ROUTE128, 255, 38, 22
+ warp MAP_ROUTE128, 38, 22
waitstate
releaseall
end
diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc
index 7d240535ca..036ab4fb80 100644
--- a/data/maps/SealedChamber_InnerRoom/scripts.inc
+++ b/data/maps/SealedChamber_InnerRoom/scripts.inc
@@ -6,8 +6,7 @@ SealedChamber_InnerRoom_EventScript_BrailleBackWall::
braillemsgbox SealedChamber_InnerRoom_Braille_FirstWailordLastRelicanth
goto_if_set FLAG_REGI_DOORS_OPENED, SealedChamber_InnerRoom_EventScript_NoEffect
specialvar VAR_RESULT, CheckRelicanthWailord
- compare VAR_RESULT, FALSE
- goto_if_eq SealedChamber_InnerRoom_EventScript_NoEffect
+ goto_if_eq VAR_RESULT, FALSE, SealedChamber_InnerRoom_EventScript_NoEffect
fadeoutbgm 0
playse SE_TRUCK_MOVE
special DoSealedChamberShakingEffect_Long
diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc
index 7d57ea5449..bf02c7fe37 100644
--- a/data/maps/SealedChamber_OuterRoom/scripts.inc
+++ b/data/maps/SealedChamber_OuterRoom/scripts.inc
@@ -5,8 +5,8 @@ SealedChamber_OuterRoom_MapScripts::
.byte 0
SealedChamber_OuterRoom_OnResume:
- setdivewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44
- setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 255, 12, 44
+ setdivewarp MAP_UNDERWATER_SEALED_CHAMBER, 12, 44
+ setescapewarp MAP_UNDERWATER_SEALED_CHAMBER, 12, 44
end
SealedChamber_OuterRoom_OnTransition:
@@ -18,12 +18,12 @@ SealedChamber_OuterRoom_OnLoad:
end
SealedChamber_OuterRoom_EventScript_CloseInnerRoomEntrance::
- setmetatile 9, 1, METATILE_Cave_EntranceCover, 1
- setmetatile 10, 1, METATILE_Cave_EntranceCover, 1
- setmetatile 11, 1, METATILE_Cave_EntranceCover, 1
- setmetatile 9, 2, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 10, 2, METATILE_Cave_SealedChamberBraille_Mid, 1
- setmetatile 11, 2, METATILE_Cave_SealedChamberBraille_Mid, 1
+ setmetatile 9, 1, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 10, 1, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 11, 1, METATILE_Cave_EntranceCover, TRUE
+ setmetatile 9, 2, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 10, 2, METATILE_Cave_SealedChamberBraille_Mid, TRUE
+ setmetatile 11, 2, METATILE_Cave_SealedChamberBraille_Mid, TRUE
return
SealedChamber_OuterRoom_EventScript_BrailleABC::
diff --git a/data/maps/SecretBase_BlueCave1/map.json b/data/maps/SecretBase_BlueCave1/map.json
index 3fb6157cca..066cfb3857 100644
--- a/data/maps/SecretBase_BlueCave1/map.json
+++ b/data/maps/SecretBase_BlueCave1/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BlueCave2/map.json b/data/maps/SecretBase_BlueCave2/map.json
index ca15e39f18..b74fa5afb6 100644
--- a/data/maps/SecretBase_BlueCave2/map.json
+++ b/data/maps/SecretBase_BlueCave2/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BlueCave3/map.json b/data/maps/SecretBase_BlueCave3/map.json
index 356b4894d4..dd67e2d546 100644
--- a/data/maps/SecretBase_BlueCave3/map.json
+++ b/data/maps/SecretBase_BlueCave3/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BlueCave4/map.json b/data/maps/SecretBase_BlueCave4/map.json
index 078bada8e6..3c97371f53 100644
--- a/data/maps/SecretBase_BlueCave4/map.json
+++ b/data/maps/SecretBase_BlueCave4/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BrownCave1/map.json b/data/maps/SecretBase_BrownCave1/map.json
index 6f2dc92f24..062eac9f4b 100644
--- a/data/maps/SecretBase_BrownCave1/map.json
+++ b/data/maps/SecretBase_BrownCave1/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BrownCave2/map.json b/data/maps/SecretBase_BrownCave2/map.json
index 11559c12fb..eb04f2a8de 100644
--- a/data/maps/SecretBase_BrownCave2/map.json
+++ b/data/maps/SecretBase_BrownCave2/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BrownCave3/map.json b/data/maps/SecretBase_BrownCave3/map.json
index c2dbb7fc45..1d00ee139a 100644
--- a/data/maps/SecretBase_BrownCave3/map.json
+++ b/data/maps/SecretBase_BrownCave3/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_BrownCave4/map.json b/data/maps/SecretBase_BrownCave4/map.json
index e7147ae85d..f1fb82eb4f 100644
--- a/data/maps/SecretBase_BrownCave4/map.json
+++ b/data/maps/SecretBase_BrownCave4/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_RedCave1/map.json b/data/maps/SecretBase_RedCave1/map.json
index fd264fc6cf..e83458a87a 100644
--- a/data/maps/SecretBase_RedCave1/map.json
+++ b/data/maps/SecretBase_RedCave1/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_RedCave2/map.json b/data/maps/SecretBase_RedCave2/map.json
index b60b3bbff2..9a0ac210f4 100644
--- a/data/maps/SecretBase_RedCave2/map.json
+++ b/data/maps/SecretBase_RedCave2/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_RedCave3/map.json b/data/maps/SecretBase_RedCave3/map.json
index 079837a621..ce405a40ab 100644
--- a/data/maps/SecretBase_RedCave3/map.json
+++ b/data/maps/SecretBase_RedCave3/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_RedCave4/map.json b/data/maps/SecretBase_RedCave4/map.json
index 10fbbfeb0d..2b1ad8c2c9 100644
--- a/data/maps/SecretBase_RedCave4/map.json
+++ b/data/maps/SecretBase_RedCave4/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Shrub1/map.json b/data/maps/SecretBase_Shrub1/map.json
index e0d1015cbb..a028cbe62a 100644
--- a/data/maps/SecretBase_Shrub1/map.json
+++ b/data/maps/SecretBase_Shrub1/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Shrub2/map.json b/data/maps/SecretBase_Shrub2/map.json
index 879b7464e9..60977e70d4 100644
--- a/data/maps/SecretBase_Shrub2/map.json
+++ b/data/maps/SecretBase_Shrub2/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Shrub3/map.json b/data/maps/SecretBase_Shrub3/map.json
index 6751a74147..a513b0bd2b 100644
--- a/data/maps/SecretBase_Shrub3/map.json
+++ b/data/maps/SecretBase_Shrub3/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Shrub4/map.json b/data/maps/SecretBase_Shrub4/map.json
index c193b8348e..6aded553b8 100644
--- a/data/maps/SecretBase_Shrub4/map.json
+++ b/data/maps/SecretBase_Shrub4/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Tree1/map.json b/data/maps/SecretBase_Tree1/map.json
index cd0cad5f08..cd6a0b33af 100644
--- a/data/maps/SecretBase_Tree1/map.json
+++ b/data/maps/SecretBase_Tree1/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Tree2/map.json b/data/maps/SecretBase_Tree2/map.json
index 1ac393a158..3aad151ffe 100644
--- a/data/maps/SecretBase_Tree2/map.json
+++ b/data/maps/SecretBase_Tree2/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Tree3/map.json b/data/maps/SecretBase_Tree3/map.json
index b7eec22440..498852c024 100644
--- a/data/maps/SecretBase_Tree3/map.json
+++ b/data/maps/SecretBase_Tree3/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_Tree4/map.json b/data/maps/SecretBase_Tree4/map.json
index 0e068ec94d..b24d1d8a99 100644
--- a/data/maps/SecretBase_Tree4/map.json
+++ b/data/maps/SecretBase_Tree4/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_YellowCave1/map.json b/data/maps/SecretBase_YellowCave1/map.json
index 1d873bfe29..54916fda32 100644
--- a/data/maps/SecretBase_YellowCave1/map.json
+++ b/data/maps/SecretBase_YellowCave1/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_YellowCave2/map.json b/data/maps/SecretBase_YellowCave2/map.json
index af2e957bc6..f9d9a572be 100644
--- a/data/maps/SecretBase_YellowCave2/map.json
+++ b/data/maps/SecretBase_YellowCave2/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_YellowCave3/map.json b/data/maps/SecretBase_YellowCave3/map.json
index d78aa28628..fdcc94c18b 100644
--- a/data/maps/SecretBase_YellowCave3/map.json
+++ b/data/maps/SecretBase_YellowCave3/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/SecretBase_YellowCave4/map.json b/data/maps/SecretBase_YellowCave4/map.json
index 0ca4bc4d32..246974eaad 100644
--- a/data/maps/SecretBase_YellowCave4/map.json
+++ b/data/maps/SecretBase_YellowCave4/map.json
@@ -26,7 +26,7 @@
"trainer_type": "TRAINER_TYPE_NONE",
"trainer_sight_or_berry_tree_id": "0",
"script": "SecretBase_EventScript_RecordMixTrainer",
- "flag": "FLAG_DECORATION_0"
+ "flag": "FLAG_HIDE_SECRET_BASE_TRAINER"
},
{
"graphics_id": "OBJ_EVENT_GFX_VAR_0",
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
index a1206dfb47..905a9a77a7 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
@@ -21,25 +21,19 @@ ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert::
dotimebasedevents
call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_ResetShoalItems
checkitem ITEM_SHOAL_SALT, 4
- compare VAR_RESULT, FALSE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
+ goto_if_eq VAR_RESULT, FALSE, ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
checkitem ITEM_SHOAL_SHELL, 4
- compare VAR_RESULT, FALSE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
+ goto_if_eq VAR_RESULT, FALSE, ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells
msgbox ShoalCave_LowTideEntranceRoom_Text_WouldYouLikeShellBell, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell
- checkitemspace ITEM_SHELL_BELL, 1
- compare VAR_RESULT, FALSE
- call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed
- compare VAR_RESULT, 2
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell
+ goto_if_eq VAR_RESULT, NO, ShoalCave_LowTideEntranceRoom_EventScript_DeclineShellBell
+ checkitemspace ITEM_SHELL_BELL
+ call_if_eq VAR_RESULT, FALSE, ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed
+ goto_if_eq VAR_RESULT, 2, ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell
msgbox ShoalCave_LowTideEntranceRoom_Text_MakeShellBellRightAway, MSGBOX_DEFAULT
removeitem ITEM_SHOAL_SALT, 4
removeitem ITEM_SHOAL_SHELL, 4
giveitem ITEM_SHELL_BELL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
release
@@ -48,14 +42,12 @@ ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert::
@ If the bag is full, check if a slot will be freed when 4 Shoal Salt or Shells are given
ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreed::
checkitem ITEM_SHOAL_SALT, 5
- compare VAR_RESULT, TRUE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells
+ goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells
return
ShoalCave_LowTideEntranceRoom_EventScript_CheckSpaceWillBeFreedShells::
checkitem ITEM_SHOAL_SHELL, 5
- compare VAR_RESULT, TRUE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed
+ goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed
return
ShoalCave_LowTideEntranceRoom_EventScript_NoSpaceWillBeFreed::
@@ -68,12 +60,10 @@ ShoalCave_LowTideEntranceRoom_EventScript_NoRoomForShellBell::
end
ShoalCave_LowTideEntranceRoom_EventScript_NotEnoughShoalSaltOrShells::
- checkitem ITEM_SHOAL_SALT, 1
- compare VAR_RESULT, TRUE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
- checkitem ITEM_SHOAL_SHELL, 1
- compare VAR_RESULT, TRUE
- goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
+ checkitem ITEM_SHOAL_SALT
+ goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
+ checkitem ITEM_SHOAL_SHELL
+ goto_if_eq VAR_RESULT, TRUE, ShoalCave_LowTideEntranceRoom_EventScript_HasSomeShoalSaltOrShell
msgbox ShoalCave_LowTideEntranceRoom_Text_AreYouPlanningOnGoingInThere, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
index 9692d2f694..17f6a7ca6b 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
@@ -22,38 +22,38 @@ ShoalCave_LowTideInnerRoom_OnLoad:
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles::
goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2
goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2
- setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Large, 1
+ setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Large, TRUE
goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2
end
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles2::
goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3
goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3
- setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Large, 1
+ setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Large, TRUE
goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3
end
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles3::
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4
- setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Large, 1
+ setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Large, TRUE
goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4
end
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles4::
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5
- setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Large, 1
+ setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Large, TRUE
goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5
end
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles5::
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6
- setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Large, 1
+ setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Large, TRUE
goto ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6
end
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatiles6::
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatilesEnd
- setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Large, 1
+ setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Large, TRUE
return
ShoalCave_LowTideInnerRoom_EventScript_SetShoalItemMetatilesEnd::
@@ -63,9 +63,8 @@ ShoalCave_LowTideInnerRoom_EventScript_ShoalShell1::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_1, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
giveitem ITEM_SHOAL_SHELL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 41, 20, METATILE_Cave_ShoalCave_BlueStone_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SHELL_1
releaseall
@@ -80,9 +79,8 @@ ShoalCave_LowTideInnerRoom_EventScript_ShoalShell2::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_2, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
giveitem ITEM_SHOAL_SHELL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 41, 10, METATILE_Cave_ShoalCave_BlueStone_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SHELL_2
releaseall
@@ -92,9 +90,8 @@ ShoalCave_LowTideInnerRoom_EventScript_ShoalShell3::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_3, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
giveitem ITEM_SHOAL_SHELL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 6, 9, METATILE_Cave_ShoalCave_BlueStone_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SHELL_3
releaseall
@@ -104,9 +101,8 @@ ShoalCave_LowTideInnerRoom_EventScript_ShoalShell4::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SHELL_4, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalShell
giveitem ITEM_SHOAL_SHELL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 16, 13, METATILE_Cave_ShoalCave_BlueStone_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SHELL_4
releaseall
@@ -116,9 +112,8 @@ ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt1::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SALT_1, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt
giveitem ITEM_SHOAL_SALT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 31, 8, METATILE_Cave_ShoalCave_DirtPile_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SALT_1
releaseall
@@ -133,9 +128,8 @@ ShoalCave_LowTideInnerRoom_EventScript_ShoalSalt2::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SALT_2, ShoalCave_LowTideInnerRoom_EventScript_ReceivedShoalSalt
giveitem ITEM_SHOAL_SALT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 14, 26, METATILE_Cave_ShoalCave_DirtPile_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SALT_2
releaseall
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
index d7937998ee..a06d46cc2a 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
@@ -8,7 +8,7 @@ ShoalCave_LowTideLowerRoom_OnLoad:
ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatiles::
goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatilesEnd
- setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Large, 1
+ setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Large, TRUE
return
ShoalCave_LowTideLowerRoom_EventScript_SetShoalItemMetatilesEnd::
@@ -18,9 +18,8 @@ ShoalCave_LowTideLowerRoom_EventScript_ShoalSalt4::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SALT_4, ShoalCave_LowTideLowerRoom_EventScript_ReceivedShoalSalt
giveitem ITEM_SHOAL_SALT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 18, 2, METATILE_Cave_ShoalCave_DirtPile_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SALT_4
releaseall
@@ -37,8 +36,7 @@ ShoalCave_LowTideLowerRoom_EventScript_BlackBelt::
goto_if_set FLAG_RECEIVED_FOCUS_BAND, ShoalCave_LowTideLowerRoom_EventScript_ReceivedFocusBand
msgbox ShoalCave_LowTideLowerRoom_Text_CanOvercomeColdWithFocus, MSGBOX_DEFAULT
giveitem ITEM_FOCUS_BAND
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_FOCUS_BAND
release
end
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
index a778a18e11..655711e9c6 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
@@ -8,7 +8,7 @@ ShoalCave_LowTideStairsRoom_OnLoad:
ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatiles::
goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatilesEnd
- setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Large, 1
+ setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Large, TRUE
return
ShoalCave_LowTideStairsRoom_EventScript_SetShoalItemMetatilesEnd::
@@ -18,9 +18,8 @@ ShoalCave_LowTideStairsRoom_EventScript_ShoalSalt3::
lockall
goto_if_set FLAG_RECEIVED_SHOAL_SALT_3, ShoalCave_LowTideStairsRoom_EventScript_ReceivedShoalSalt
giveitem ITEM_SHOAL_SALT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
- setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Small, 0
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
+ setmetatile 11, 11, METATILE_Cave_ShoalCave_DirtPile_Small, FALSE
special DrawWholeMapView
setflag FLAG_RECEIVED_SHOAL_SALT_3
releaseall
diff --git a/data/maps/SkyPillar_1F/scripts.inc b/data/maps/SkyPillar_1F/scripts.inc
index 3ef94b261c..b521b541c1 100644
--- a/data/maps/SkyPillar_1F/scripts.inc
+++ b/data/maps/SkyPillar_1F/scripts.inc
@@ -3,8 +3,7 @@ SkyPillar_1F_MapScripts::
.byte 0
SkyPillar_1F_OnTransition:
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_1F_EventScript_CleanFloor
+ call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_1F_EventScript_CleanFloor
end
SkyPillar_1F_EventScript_CleanFloor::
diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc
index 9990ebba96..bad2488f0b 100644
--- a/data/maps/SkyPillar_2F/scripts.inc
+++ b/data/maps/SkyPillar_2F/scripts.inc
@@ -5,8 +5,7 @@ SkyPillar_2F_MapScripts::
.byte 0
SkyPillar_2F_OnTransition:
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_2F_EventScript_CleanFloor
+ call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_2F_EventScript_CleanFloor
copyvar VAR_ICE_STEP_COUNT, 1
end
@@ -16,6 +15,6 @@ SkyPillar_2F_EventScript_CleanFloor::
SkyPillar_2F_SetHoleWarp:
setstepcallback STEP_CB_CRACKED_FLOOR
- setholewarp MAP_SKY_PILLAR_1F, 255, 0, 0
+ setholewarp MAP_SKY_PILLAR_1F
end
diff --git a/data/maps/SkyPillar_3F/scripts.inc b/data/maps/SkyPillar_3F/scripts.inc
index 681137df08..07ef3bb449 100644
--- a/data/maps/SkyPillar_3F/scripts.inc
+++ b/data/maps/SkyPillar_3F/scripts.inc
@@ -3,8 +3,7 @@ SkyPillar_3F_MapScripts::
.byte 0
SkyPillar_3F_OnTransition:
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_3F_EventScript_CleanFloor
+ call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_3F_EventScript_CleanFloor
end
SkyPillar_3F_EventScript_CleanFloor::
diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc
index bed91a1751..9e8f1e80ea 100644
--- a/data/maps/SkyPillar_4F/scripts.inc
+++ b/data/maps/SkyPillar_4F/scripts.inc
@@ -5,8 +5,7 @@ SkyPillar_4F_MapScripts::
.byte 0
SkyPillar_4F_OnTransition:
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_4F_EventScript_CleanFloor
+ call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_4F_EventScript_CleanFloor
copyvar VAR_ICE_STEP_COUNT, 1
end
@@ -16,6 +15,6 @@ SkyPillar_4F_EventScript_CleanFloor::
SkyPillar_4F_SetHoleWarp:
setstepcallback STEP_CB_CRACKED_FLOOR
- setholewarp MAP_SKY_PILLAR_3F, 255, 0, 0
+ setholewarp MAP_SKY_PILLAR_3F
end
diff --git a/data/maps/SkyPillar_5F/scripts.inc b/data/maps/SkyPillar_5F/scripts.inc
index 12fc72f493..47d02fb61b 100644
--- a/data/maps/SkyPillar_5F/scripts.inc
+++ b/data/maps/SkyPillar_5F/scripts.inc
@@ -3,8 +3,7 @@ SkyPillar_5F_MapScripts::
.byte 0
SkyPillar_5F_OnTransition:
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_5F_EventScript_CleanFloor
+ call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_5F_EventScript_CleanFloor
return
SkyPillar_5F_EventScript_CleanFloor::
diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc
index 9ffcd2de73..f25c82df65 100644
--- a/data/maps/SkyPillar_Outside/scripts.inc
+++ b/data/maps/SkyPillar_Outside/scripts.inc
@@ -7,10 +7,8 @@ SkyPillar_Outside_MapScripts::
.byte 0
SkyPillar_Outside_OnTransition:
- compare VAR_SOOTOPOLIS_CITY_STATE, 3
- call_if_eq SkyPillar_Outside_EventScript_HideMapNamePopup
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_ge SkyPillar_Outside_EventScript_CheckSetAbnormalWeather
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 3, SkyPillar_Outside_EventScript_HideMapNamePopup
+ call_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, SkyPillar_Outside_EventScript_CheckSetAbnormalWeather
end
SkyPillar_Outside_EventScript_HideMapNamePopup::
@@ -26,8 +24,8 @@ SkyPillar_Outside_OnLoad:
end
SkyPillar_Outside_EventScript_OpenDoor::
- setmetatile 14, 4, METATILE_Pacifidlog_SkyPillar_DoorOpen_Top, 0
- setmetatile 14, 5, METATILE_Pacifidlog_SkyPillar_DoorOpen_Bottom, 0
+ setmetatile 14, 4, METATILE_Pacifidlog_SkyPillar_DoorOpen_Top, FALSE
+ setmetatile 14, 5, METATILE_Pacifidlog_SkyPillar_DoorOpen_Bottom, FALSE
return
SkyPillar_Outside_OnFrame:
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index 2b3c021200..7b65d9e257 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -12,16 +12,13 @@ SkyPillar_Top_OnResume:
SkyPillar_Top_EventScript_TryRemoveRayquaza::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject VAR_LAST_TALKED
return
SkyPillar_Top_OnTransition:
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_lt SkyPillar_Top_EventScript_SetCleanLayout
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_ge SkyPillar_Top_EventScript_TryShowRayquaza
+ call_if_lt VAR_SKY_PILLAR_STATE, 2, SkyPillar_Top_EventScript_SetCleanLayout
+ call_if_ge VAR_SKY_PILLAR_STATE, 2, SkyPillar_Top_EventScript_TryShowRayquaza
end
SkyPillar_Top_EventScript_SetCleanLayout::
@@ -51,18 +48,15 @@ SkyPillar_Top_EventScript_Rayquaza::
playmoncry SPECIES_RAYQUAZA, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
- setwildbattle SPECIES_RAYQUAZA, 70, ITEM_NONE
+ setwildbattle SPECIES_RAYQUAZA, 70
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq SkyPillar_Top_EventScript_DefeatedRayquaza
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq SkyPillar_Top_EventScript_RanFromRayquaza
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq SkyPillar_Top_EventScript_RanFromRayquaza
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, SkyPillar_Top_EventScript_DefeatedRayquaza
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, SkyPillar_Top_EventScript_RanFromRayquaza
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, SkyPillar_Top_EventScript_RanFromRayquaza
setflag FLAG_DEFEATED_RAYQUAZA
releaseall
end
@@ -88,7 +82,7 @@ SkyPillar_Top_EventScript_RanFromRayquaza2::
fadescreenswapbuffers FADE_TO_BLACK
removeobject VAR_LAST_TALKED
fadescreenswapbuffers FADE_FROM_BLACK
- bufferspeciesname 0, VAR_0x8004
+ bufferspeciesname STR_VAR_1, VAR_0x8004
msgbox gText_LegendaryFlewAway, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc
index 3e8648531f..653f405c45 100644
--- a/data/maps/SlateportCity/scripts.inc
+++ b/data/maps/SlateportCity/scripts.inc
@@ -19,6 +19,8 @@
.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
@@ -27,10 +29,8 @@ SlateportCity_MapScripts::
SlateportCity_OnTransition:
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0
call SlateportCity_EventScript_EnterSlateport
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_MovePeopleForSternInterview
- compare VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1
- call_if_eq SlateportCity_EventScript_SetReadyForScottScene
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_MovePeopleForSternInterview
+ call_if_eq VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1, SlateportCity_EventScript_SetReadyForScottScene
end
SlateportCity_EventScript_EnterSlateport::
@@ -59,8 +59,7 @@ SlateportCity_EventScript_MovePeopleForSternInterview::
SlateportCity_EventScript_SetReadyForScottScene::
setflag FLAG_HIDE_MAP_NAME_POPUP
getplayerxy VAR_0x8004, VAR_0x8005
- compare VAR_0x8004, 30
- goto_if_eq SlateportCity_EventScript_MoveScottLeft
+ goto_if_eq VAR_0x8004, 30, SlateportCity_EventScript_MoveScottLeft
setobjectxyperm LOCALID_SCOTT, 23, 27
setobjectmovementtype LOCALID_SCOTT, MOVEMENT_TYPE_FACE_RIGHT
return
@@ -162,14 +161,12 @@ SlateportCity_Pokemart_EnergyGuru:
SlateportCity_EventScript_EffortRibbonWoman::
lock
faceplayer
- bufferleadmonspeciesname 0
+ bufferleadmonspeciesname STR_VAR_1
msgbox SlateportCity_Text_OhYourPokemon, MSGBOX_DEFAULT
specialvar VAR_RESULT, LeadMonHasEffortRibbon
- compare VAR_RESULT, TRUE
- call_if_eq SlateportCity_EventScript_MonHasEffortRibbon
+ call_if_eq VAR_RESULT, TRUE, SlateportCity_EventScript_MonHasEffortRibbon
specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut
- compare VAR_RESULT, FALSE
- call_if_eq SlateportCity_EventScript_MonEVsNotMaxed
+ call_if_eq VAR_RESULT, FALSE, SlateportCity_EventScript_MonEVsNotMaxed
msgbox SlateportCity_Text_PleaseGiveItThisEffortRibbon, MSGBOX_DEFAULT
playfanfare MUS_OBTAIN_ITEM
message SlateportCity_Text_ReceivedEffortRibbon
@@ -192,8 +189,7 @@ SlateportCity_EventScript_MonHasEffortRibbon::
SlateportCity_EventScript_Cook::
lock
faceplayer
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_CookSternInterview
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_CookSternInterview
msgbox SlateportCity_Text_SeaweedFullOfLife, MSGBOX_DEFAULT
release
end
@@ -206,8 +202,7 @@ SlateportCity_EventScript_CookSternInterview::
SlateportCity_EventScript_OldWoman::
lock
faceplayer
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_OldWomanSternInterview
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_OldWomanSternInterview
msgbox SlateportCity_Text_HowTownIsBornAndGrows, MSGBOX_DEFAULT
release
end
@@ -220,8 +215,7 @@ SlateportCity_EventScript_OldWomanSternInterview::
SlateportCity_EventScript_Girl::
lock
faceplayer
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_GirlSternInterview
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_GirlSternInterview
goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_GirlSecretBase
msgbox SlateportCity_Text_SlateportWonderfulPlace, MSGBOX_DEFAULT
release
@@ -240,8 +234,7 @@ SlateportCity_EventScript_GirlSecretBase::
SlateportCity_EventScript_RichBoy::
lock
faceplayer
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_RichBoySternInterview
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_RichBoySternInterview
msgbox SlateportCity_Text_GoingToCompeteInBattleTent, MSGBOX_DEFAULT
release
end
@@ -252,8 +245,7 @@ SlateportCity_EventScript_RichBoySternInterview::
end
SlateportCity_EventScript_FatMan::
- compare VAR_SLATEPORT_CITY_STATE, 1
- goto_if_eq SlateportCity_EventScript_FatManSternInterview
+ goto_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_FatManSternInterview
msgbox SlateportCity_Text_BushedHikingFromMauville, MSGBOX_NPC
end
@@ -264,8 +256,7 @@ SlateportCity_EventScript_FatManSternInterview::
SlateportCity_EventScript_Man1::
lock
faceplayer
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_Man1SternInterview
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_Man1SternInterview
msgbox SlateportCity_Text_EveryoneCallsHimCaptStern, MSGBOX_DEFAULT
release
end
@@ -345,8 +336,7 @@ SlateportCity_EventScript_NameRatersHouseSign::
SlateportCity_EventScript_Maniac::
lock
faceplayer
- compare VAR_SLATEPORT_CITY_STATE, 1
- call_if_eq SlateportCity_EventScript_ManiacSternInterview
+ call_if_eq VAR_SLATEPORT_CITY_STATE, 1, SlateportCity_EventScript_ManiacSternInterview
msgbox SlateportCity_Text_GetNameRaterToHelpYou, MSGBOX_DEFAULT
release
end
@@ -635,7 +625,7 @@ SlateportCity_EventScript_CaptStern::
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
setvar VAR_SLATEPORT_CITY_STATE, 2
- warp MAP_SLATEPORT_CITY_HARBOR, 255, 11, 14
+ warp MAP_SLATEPORT_CITY_HARBOR, 11, 14
waitstate
releaseall
end
@@ -758,8 +748,7 @@ SlateportCity_EventScript_BerryPowderClerk::
SlateportCity_EventScript_ReceivedPowderJar::
setvar VAR_0x8004, 1
specialvar VAR_RESULT, HasEnoughBerryPowder
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_EventScript_ExplainBerryPowder
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_EventScript_ExplainBerryPowder
msgbox SlateportCity_Text_BroughtMeSomeBerryPowder, MSGBOX_DEFAULT
special DisplayBerryPowderVendorMenu
goto SlateportCity_EventScript_ChooseBerryPowderItem
@@ -793,77 +782,77 @@ SlateportCity_EventScript_ChooseBerryPowderItem::
end
SlateportCity_EventScript_EnergyPowder::
- bufferitemname 0, ITEM_ENERGY_POWDER
+ bufferitemname STR_VAR_1, ITEM_ENERGY_POWDER
setvar VAR_0x8008, ITEM_ENERGY_POWDER
setvar VAR_0x8009, 50
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_EnergyRoot::
- bufferitemname 0, ITEM_ENERGY_ROOT
+ bufferitemname STR_VAR_1, ITEM_ENERGY_ROOT
setvar VAR_0x8008, ITEM_ENERGY_ROOT
setvar VAR_0x8009, 80
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_HealPowder::
- bufferitemname 0, ITEM_HEAL_POWDER
+ bufferitemname STR_VAR_1, ITEM_HEAL_POWDER
setvar VAR_0x8008, ITEM_HEAL_POWDER
setvar VAR_0x8009, 50
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_RevivalHerb::
- bufferitemname 0, ITEM_REVIVAL_HERB
+ bufferitemname STR_VAR_1, ITEM_REVIVAL_HERB
setvar VAR_0x8008, ITEM_REVIVAL_HERB
setvar VAR_0x8009, 300
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_Protein::
- bufferitemname 0, ITEM_PROTEIN
+ bufferitemname STR_VAR_1, ITEM_PROTEIN
setvar VAR_0x8008, ITEM_PROTEIN
setvar VAR_0x8009, 1000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_Iron::
- bufferitemname 0, ITEM_IRON
+ bufferitemname STR_VAR_1, ITEM_IRON
setvar VAR_0x8008, ITEM_IRON
setvar VAR_0x8009, 1000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_Carbos::
- bufferitemname 0, ITEM_CARBOS
+ bufferitemname STR_VAR_1, ITEM_CARBOS
setvar VAR_0x8008, ITEM_CARBOS
setvar VAR_0x8009, 1000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_Calcium::
- bufferitemname 0, ITEM_CALCIUM
+ bufferitemname STR_VAR_1, ITEM_CALCIUM
setvar VAR_0x8008, ITEM_CALCIUM
setvar VAR_0x8009, 1000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_Zinc::
- bufferitemname 0, ITEM_ZINC
+ bufferitemname STR_VAR_1, ITEM_ZINC
setvar VAR_0x8008, ITEM_ZINC
setvar VAR_0x8009, 1000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_HPUp::
- bufferitemname 0, ITEM_HP_UP
+ bufferitemname STR_VAR_1, ITEM_HP_UP
setvar VAR_0x8008, ITEM_HP_UP
setvar VAR_0x8009, 1000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
end
SlateportCity_EventScript_PPUp::
- bufferitemname 0, ITEM_PP_UP
+ bufferitemname STR_VAR_1, ITEM_PP_UP
setvar VAR_0x8008, ITEM_PP_UP
setvar VAR_0x8009, 3000
goto SlateportCity_EventScript_TryBuyBerryPowderItem
@@ -877,21 +866,17 @@ SlateportCity_EventScript_CancelPowderItemSelect::
SlateportCity_EventScript_TryBuyBerryPowderItem::
msgbox SlateportCity_Text_ExchangeBerryPowderForItem, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_EventScript_ChooseBerryPowderItem
+ goto_if_eq VAR_RESULT, NO, SlateportCity_EventScript_ChooseBerryPowderItem
copyvar VAR_0x8004, VAR_0x8009
specialvar VAR_RESULT, HasEnoughBerryPowder
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_EventScript_NotEnoughBerryPowder
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_EventScript_NotEnoughBerryPowder
giveitem VAR_0x8008
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_EventScript_NoRoomForBerryPowderItem
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_EventScript_NoRoomForBerryPowderItem
copyvar VAR_0x8004, VAR_0x8009
special TakeBerryPowder
special PrintPlayerBerryPowderAmount
msgbox SlateportCity_Text_FineBerryPowderTradeSomethingElse, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_EventScript_ChooseBerryPowderItem
+ goto_if_eq VAR_RESULT, YES, SlateportCity_EventScript_ChooseBerryPowderItem
msgbox SlateportCity_Text_WhenYouGetMoreBringItToMe, MSGBOX_DEFAULT
special RemoveBerryPowderVendorMenu
release
diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
index 06052e1451..53514bb5e9 100644
--- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
@@ -16,10 +16,8 @@ SlateportCity_BattleTentBattleRoom_OnTransition:
SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
SlateportCity_BattleTentBattleRoom_EventScript_SetPlayerGfxMale::
@@ -68,7 +66,7 @@ SlateportCity_BattleTentBattleRoom_EventScript_EnterRoom::
SlateportCity_BattleTent_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
- warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
+ warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 6, 6
waitstate
@ forced stop
@@ -79,14 +77,14 @@ SlateportCity_BattleTentBattleRoom_EventScript_DefeatedOpponent::
switch VAR_RESULT
case 3, SlateportCity_BattleTentBattleRoom_EventScript_WarpToLobbyWon
setvar VAR_0x8006, 1
- warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 3
+ warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 2, 3
waitstate
@ forced stop
SlateportCity_BattleTentBattleRoom_EventScript_WarpToLobbyWon::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
- warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
+ warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 6, 6
waitstate
@ forced stop
diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
index 37b0f6fc88..75156f68f0 100644
--- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
@@ -13,8 +13,7 @@ SlateportCity_BattleTentCorridor_OnWarp:
SlateportCity_BattleTentCorridor_EventScript_SetUpObjects::
setvar VAR_TEMP_1, 1
- compare VAR_0x8006, 1
- goto_if_ne SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth
+ goto_if_ne VAR_0x8006, 1, SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth
setobjectxy LOCALID_ATTENDANT, 2, 2
turnobject LOCALID_ATTENDANT, DIR_SOUTH
SlateportCity_BattleTentCorridor_EventScript_TurnPlayerNorth::
@@ -26,14 +25,12 @@ SlateportCity_BattleTentCorridor_OnFrame:
.2byte 0
SlateportCity_BattleTentCorridor_EventScript_EnterCorridor::
- compare VAR_0x8006, 1
- goto_if_eq SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle
+ 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
waitmovement 0
- compare VAR_0x8006, 2
- goto_if_eq SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge
+ goto_if_eq VAR_0x8006, 2, SlateportCity_BattleTentCorridor_EventScript_ResumeChallenge
slateporttent_generaterentalmons
slateporttent_generateopponentmons
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_HoldMonsChooseFromSelection, MSGBOX_DEFAULT
@@ -52,7 +49,7 @@ SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom::
waitmovement 0
closedoor 2, 1
waitdooranim
- warp MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM, 255, 4, 4
+ warp MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM, 4, 4
waitstate
end
@@ -65,10 +62,8 @@ SlateportCity_BattleTentCorridor_EventScript_ReturnToRoomFromBattle::
special HealPlayerParty
SlateportCity_BattleTentCorridor_EventScript_AskReadyForOpponent::
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 1
- call_if_eq SlateportCity_BattleTentCorridor_EventScript_ReadyFor2ndOpponent
- compare VAR_RESULT, 2
- call_if_eq SlateportCity_BattleTentCorridor_EventScript_ReadyFor3rdOpponent
+ call_if_eq VAR_RESULT, 1, SlateportCity_BattleTentCorridor_EventScript_ReadyFor2ndOpponent
+ call_if_eq VAR_RESULT, 2, SlateportCity_BattleTentCorridor_EventScript_ReadyFor3rdOpponent
multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, SlateportCity_BattleTentCorridor_EventScript_AskSwapMon
@@ -103,8 +98,7 @@ SlateportCity_BattleTentCorridor_EventScript_SwapMons::
fadescreen FADE_TO_BLACK
slateporttent_swapmons
waitstate
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
+ goto_if_eq VAR_RESULT, 1, SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_YourSwapIsComplete, MSGBOX_DEFAULT
goto SlateportCity_BattleTentCorridor_EventScript_EnterBattleRoom
diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
index 8361cdfcc3..0d3fae875f 100644
--- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
@@ -93,8 +93,7 @@ SlateportCity_BattleTentLobby_EventScript_Attendant::
lock
faceplayer
slateporttent_getprize
- compare VAR_RESULT, ITEM_NONE
- goto_if_ne SlateportCity_BattleTentLobby_EventScript_GivePrize
+ goto_if_ne VAR_RESULT, ITEM_NONE, SlateportCity_BattleTentLobby_EventScript_GivePrize
special SavePlayerParty
msgbox SlateportCity_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
SlateportCity_BattleTentLobby_EventScript_AskEnterChallenge::
@@ -127,14 +126,13 @@ SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed
setvar VAR_0x8006, 0
SlateportCity_BattleTentLobby_EventScript_EnterChallenge::
msgbox SlateportCity_BattleTentLobby_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
call SlateportCity_BattleTentLobby_EventScript_WalkToDoor
- warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7
+ warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 2, 7
setvar VAR_TEMP_0, 0
waitstate
end
@@ -204,8 +202,7 @@ SlateportCity_BattleTentLobby_EventScript_TormentGiver::
goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment
msgbox SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe, MSGBOX_DEFAULT
giveitem ITEM_TM41
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM41
msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT
release
diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc
index 58e5978cf0..b2a71f2b7c 100644
--- a/data/maps/SlateportCity_Harbor/scripts.inc
+++ b/data/maps/SlateportCity_Harbor/scripts.inc
@@ -9,10 +9,9 @@ SlateportCity_Harbor_MapScripts::
.byte 0
SlateportCity_Harbor_OnTransition:
- setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13
+ setescapewarp MAP_SLATEPORT_CITY, 28, 13
setvar VAR_TEMP_1, 0
- compare VAR_SLATEPORT_HARBOR_STATE, 1
- call_if_eq SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene
+ call_if_eq VAR_SLATEPORT_HARBOR_STATE, 1, SlateportCity_Harbor_EventScript_ReadyAquaEscapeScene
call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_ShowSSTidal
end
@@ -71,14 +70,10 @@ SlateportCity_Harbor_EventScript_AquaEscapeScene::
setvar VAR_SLATEPORT_HARBOR_STATE, 2
setflag FLAG_MET_TEAM_AQUA_HARBOR
setflag FLAG_HIDE_LILYCOVE_MOTEL_SCOTT
- compare VAR_0x8008, 0
- call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer0
- compare VAR_0x8008, 1
- call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer1
- compare VAR_0x8008, 2
- call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer
- compare VAR_0x8008, 3
- call_if_eq SlateportCity_Harbor_EventScript_SternApproachPlayer
+ call_if_eq VAR_0x8008, 0, SlateportCity_Harbor_EventScript_SternApproachPlayer0
+ call_if_eq VAR_0x8008, 1, SlateportCity_Harbor_EventScript_SternApproachPlayer1
+ call_if_eq VAR_0x8008, 2, SlateportCity_Harbor_EventScript_SternApproachPlayer
+ call_if_eq VAR_0x8008, 3, SlateportCity_Harbor_EventScript_SternApproachPlayer
msgbox SlateportCity_Harbor_Text_CaptSternWhyStealMySubmarine, MSGBOX_DEFAULT
closemessage
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
@@ -206,21 +201,19 @@ SlateportCity_Harbor_EventScript_NoTicket::
SlateportCity_Harbor_EventScript_Lilycove::
msgbox SlateportCity_Harbor_Text_LilycoveItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_Harbor_EventScript_ChooseNewDestination
+ goto_if_eq VAR_RESULT, NO, SlateportCity_Harbor_EventScript_ChooseNewDestination
setvar VAR_SS_TIDAL_STATE, SS_TIDAL_BOARD_SLATEPORT
call SlateportCity_Harbor_EventScript_BoardFerry
- warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
+ warp MAP_SS_TIDAL_CORRIDOR, 1, 10
waitstate
release
end
SlateportCity_Harbor_EventScript_BattleFrontier::
msgbox SlateportCity_Harbor_Text_BattleFrontierItIs, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_Harbor_EventScript_ChooseNewDestination
+ goto_if_eq VAR_RESULT, NO, SlateportCity_Harbor_EventScript_ChooseNewDestination
call SlateportCity_Harbor_EventScript_BoardFerry
- warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
+ warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 19, 67
waitstate
release
end
@@ -238,10 +231,8 @@ SlateportCity_Harbor_EventScript_BoardFerry::
waitmovement 0
delay 30
hideobjectat VAR_LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR
- compare VAR_FACING, DIR_NORTH
- call_if_eq SlateportCity_Harbor_EventScript_BoardFerryNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq SlateportCity_Harbor_EventScript_BoardFerryEast
+ 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
@@ -279,8 +270,7 @@ SlateportCity_Harbor_EventScript_Sailor::
setvar VAR_0x8004, 0
call_if_set FLAG_DEFEATED_KYOGRE, SlateportCity_Harbor_EventScript_CountDefeatedLegendary
call_if_set FLAG_DEFEATED_GROUDON, SlateportCity_Harbor_EventScript_CountDefeatedLegendary
- compare VAR_0x8004, 2 @ Defeated both
- goto_if_eq SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather
+ goto_if_eq VAR_0x8004, 2, SlateportCity_Harbor_EventScript_SailorNoAbnormalWeather @ Defeated both
msgbox SlateportCity_Harbor_Text_AbnormalWeather, MSGBOX_DEFAULT
release
end
@@ -304,8 +294,7 @@ SlateportCity_Harbor_EventScript_CaptStern::
goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_CaptSternFerryOrScannerComment
goto_if_set FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, SlateportCity_Harbor_EventScript_NeedDive
goto_if_set FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, SlateportCity_Harbor_EventScript_TeamAquaLeftNeedDive
- compare VAR_SLATEPORT_HARBOR_STATE, 2
- goto_if_eq SlateportCity_Harbor_EventScript_WhyStealSubmarine
+ goto_if_eq VAR_SLATEPORT_HARBOR_STATE, 2, SlateportCity_Harbor_EventScript_WhyStealSubmarine
msgbox SlateportCity_Harbor_Text_SameThugsTriedToRobAtMuseum, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
@@ -330,11 +319,9 @@ SlateportCity_Harbor_EventScript_NeedDive::
end
SlateportCity_Harbor_EventScript_CaptSternFerryOrScannerComment::
- compare VAR_TEMP_1, 1
- goto_if_eq SlateportCity_Harbor_EventScript_TradedScanner
- checkitem ITEM_SCANNER, 1
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_Harbor_EventScript_AskToTradeScanner
+ goto_if_eq VAR_TEMP_1, 1, SlateportCity_Harbor_EventScript_TradedScanner
+ checkitem ITEM_SCANNER
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_Harbor_EventScript_AskToTradeScanner
goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_FerryFinished
msgbox SlateportCity_Harbor_Text_WontBeLongBeforeWeFinishFerry, MSGBOX_DEFAULT
release
@@ -362,11 +349,9 @@ SlateportCity_Harbor_EventScript_ChooseScannerTrade::
SlateportCity_Harbor_EventScript_DeepSeaTooth::
msgbox SlateportCity_Harbor_Text_TradeForDeepSeaTooth, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_Harbor_EventScript_ChooseDifferentTrade
+ goto_if_eq VAR_RESULT, NO, SlateportCity_Harbor_EventScript_ChooseDifferentTrade
giveitem ITEM_DEEP_SEA_TOOTH
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
removeitem ITEM_SCANNER
msgbox SlateportCity_Harbor_Text_HandedScannerToStern, MSGBOX_DEFAULT
setflag FLAG_EXCHANGED_SCANNER
@@ -375,11 +360,9 @@ SlateportCity_Harbor_EventScript_DeepSeaTooth::
SlateportCity_Harbor_EventScript_DeepSeaScale::
msgbox SlateportCity_Harbor_Text_TradeForDeepSeaScale, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_Harbor_EventScript_ChooseDifferentTrade
+ goto_if_eq VAR_RESULT, NO, SlateportCity_Harbor_EventScript_ChooseDifferentTrade
giveitem ITEM_DEEP_SEA_SCALE
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
removeitem ITEM_SCANNER
msgbox SlateportCity_Harbor_Text_HandedScannerToStern, MSGBOX_DEFAULT
setflag FLAG_EXCHANGED_SCANNER
diff --git a/data/maps/SlateportCity_NameRatersHouse/scripts.inc b/data/maps/SlateportCity_NameRatersHouse/scripts.inc
index 87ed2d07f8..34d788a6aa 100644
--- a/data/maps/SlateportCity_NameRatersHouse/scripts.inc
+++ b/data/maps/SlateportCity_NameRatersHouse/scripts.inc
@@ -5,20 +5,16 @@ SlateportCity_NameRatersHouse_EventScript_NameRater::
lock
faceplayer
msgbox SlateportCity_NameRatersHouse_Text_PleasedToRateMonNickname, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
+ goto_if_eq VAR_RESULT, YES, SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate
+ goto_if_eq VAR_RESULT, NO, SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
end
SlateportCity_NameRatersHouse_EventScript_ChooseMonToRate::
msgbox SlateportCity_NameRatersHouse_Text_CritiqueWhichMonNickname, MSGBOX_DEFAULT
special ChoosePartyMon
waitstate
- compare VAR_0x8004, 255
- goto_if_ne SlateportCity_NameRatersHouse_EventScript_RateMonNickname
- compare VAR_0x8004, 255
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
+ goto_if_ne VAR_0x8004, PARTY_NOTHING_CHOSEN, SlateportCity_NameRatersHouse_EventScript_RateMonNickname
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
end
SlateportCity_NameRatersHouse_EventScript_DeclineNameRate::
@@ -28,21 +24,16 @@ SlateportCity_NameRatersHouse_EventScript_DeclineNameRate::
SlateportCity_NameRatersHouse_EventScript_RateMonNickname::
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
- compare VAR_RESULT, SPECIES_EGG
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_CantRateEgg
+ goto_if_eq VAR_RESULT, SPECIES_EGG, SlateportCity_NameRatersHouse_EventScript_CantRateEgg
special BufferMonNickname
special IsMonOTIDNotPlayers
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT
specialvar VAR_RESULT, MonOTNameNotPlayer
special BufferMonNickname
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_NameRatersHouse_EventScript_PlayerNotMonsOT
msgbox SlateportCity_NameRatersHouse_Text_FineNameSuggestBetterOne, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_ChangeNickname
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
+ goto_if_eq VAR_RESULT, YES, SlateportCity_NameRatersHouse_EventScript_ChangeNickname
+ goto_if_eq VAR_RESULT, NO, SlateportCity_NameRatersHouse_EventScript_DeclineNameRate
end
SlateportCity_NameRatersHouse_EventScript_CantRateEgg::
@@ -60,8 +51,7 @@ SlateportCity_NameRatersHouse_EventScript_ChangeNickname::
call Common_EventScript_NameReceivedPartyMon
specialvar VAR_RESULT, TryPutNameRaterShowOnTheAir
special BufferMonNickname
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_NameRatersHouse_EventScript_NewNameDifferent
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_NameRatersHouse_EventScript_NewNameDifferent
msgbox SlateportCity_NameRatersHouse_Text_NameNoDifferentYetSuperior, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
index cfe547de56..96892f948d 100644
--- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
@@ -22,10 +22,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFeeRight::
end
SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee::
- showmoneybox 0, 0, 0
+ showmoneybox 0, 0
msgbox SlateportCity_OceanicMuseum_1F_Text_WouldYouLikeToEnter, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee
+ goto_if_eq VAR_RESULT, YES, SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee
closemessage
hidemoneybox
applymovement OBJ_EVENT_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_PushPlayerBackFromCounter
@@ -34,12 +33,11 @@ SlateportCity_OceanicMuseum_1F_EventScript_PayEntranceFee::
end
SlateportCity_OceanicMuseum_1F_EventScript_CheckMoneyForFee::
- checkmoney 50, 0
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney
+ checkmoney 50
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_OceanicMuseum_1F_EventScript_NotEnoughMoney
playse SE_SHOP
- removemoney 50, 0
- updatemoneybox 0, 0
+ removemoney 50
+ updatemoneybox
msgbox SlateportCity_OceanicMuseum_1F_Text_PleaseEnjoyYourself, MSGBOX_DEFAULT
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1
hidemoneybox
@@ -154,19 +152,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt::
waitmovement 0
msgbox SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis, MSGBOX_DEFAULT
giveitem ITEM_TM46
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief
+ goto_if_eq VAR_RESULT, 0, SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief
setflag FLAG_RECEIVED_TM46
msgbox SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth
- compare VAR_FACING, DIR_SOUTH
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth
- compare VAR_FACING, DIR_WEST
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast
- compare VAR_FACING, DIR_EAST
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast
+ goto_if_eq VAR_FACING, DIR_NORTH, SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth
+ goto_if_eq VAR_FACING, DIR_SOUTH, SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitSouth
+ goto_if_eq VAR_FACING, DIR_WEST, SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast
+ goto_if_eq VAR_FACING, DIR_EAST, SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitWestEast
end
SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth::
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
index b993c9fab1..59131fd7ee 100644
--- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
@@ -21,22 +21,17 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern::
applymovement LOCALID_GRUNT_1, SlateportCity_OceanicMuseum_2F_Movement_FirstGruntApproach
applymovement LOCALID_GRUNT_2, SlateportCity_OceanicMuseum_2F_Movement_SecondGruntApproach
waitmovement 0
- compare VAR_FACING, DIR_SOUTH
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts
- compare VAR_FACING, DIR_EAST
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts
+ call_if_eq VAR_FACING, DIR_SOUTH, SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts
+ call_if_eq VAR_FACING, DIR_EAST, SlateportCity_OceanicMuseum_2F_EventScript_PlayerFaceGrunts
msgbox SlateportCity_OceanicMuseum_2F_Text_WellTakeThoseParts, MSGBOX_DEFAULT
- compare VAR_FACING, DIR_EAST
- call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts
+ call_if_ne VAR_FACING, DIR_EAST, SlateportCity_OceanicMuseum_2F_EventScript_SternFaceGrunts
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
waitmovement 0
- compare VAR_FACING, DIR_SOUTH
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntSouth
- compare VAR_FACING, DIR_WEST
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_PlayerApproachGruntWest
+ 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
@@ -86,8 +81,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern::
special HealPlayerParty
removeobject LOCALID_CAPT_STERN
setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA
- compare VAR_REGISTER_BIRCH_STATE, 0
- call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch
+ call_if_eq VAR_REGISTER_BIRCH_STATE, 0, SlateportCity_OceanicMuseum_2F_EventScript_ReadyRegisterBirch
setflag FLAG_DELIVERED_DEVON_GOODS
clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
index 96e1a7633d..b97e29a028 100644
--- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc
+++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
@@ -26,10 +26,8 @@ SlateportCity_PokemonFanClub_EventScript_ChairmanTryAssessPokemon::
call_if_set FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
call_if_set FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
call_if_set FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_CountReceivedScarf
- compare VAR_TEMP_2, CONTEST_CATEGORIES_COUNT
- call_if_eq SlateportCity_PokemonFanClub_EventScript_ReceivedAllScarves
- compare VAR_SLATEPORT_FAN_CLUB_STATE, 2
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoMoreScarves
+ call_if_eq VAR_TEMP_2, CONTEST_CATEGORIES_COUNT, SlateportCity_PokemonFanClub_EventScript_ReceivedAllScarves
+ goto_if_eq VAR_SLATEPORT_FAN_CLUB_STATE, 2, SlateportCity_PokemonFanClub_EventScript_NoMoreScarves
msgbox SlateportCity_PokemonFanClub_Text_HowIsYourPokemonGrowing, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon
end
@@ -47,7 +45,7 @@ SlateportCity_PokemonFanClub_EventScript_ChairmanAssessLeadMon::
call_if_unset FLAG_RECEIVED_PINK_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonCute
call_if_unset FLAG_RECEIVED_BLUE_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonBeauty
call_if_unset FLAG_RECEIVED_RED_SCARF, SlateportCity_PokemonFanClub_EventScript_CheckMonCool
- bufferleadmonspeciesname 0
+ bufferleadmonspeciesname STR_VAR_1
switch VAR_TEMP_1
case 0, SlateportCity_PokemonFanClub_EventScript_NoHighConditions
case 1, SlateportCity_PokemonFanClub_EventScript_GiveRedScarf
@@ -72,9 +70,8 @@ SlateportCity_PokemonFanClub_EventScript_NoHighConditions::
end
SlateportCity_PokemonFanClub_EventScript_GiveRedScarf::
- checkitemspace ITEM_RED_SCARF, 1
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ checkitemspace ITEM_RED_SCARF
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_RED_SCARF
giveitem ITEM_RED_SCARF
@@ -83,9 +80,8 @@ SlateportCity_PokemonFanClub_EventScript_GiveRedScarf::
end
SlateportCity_PokemonFanClub_EventScript_GiveBlueScarf::
- checkitemspace ITEM_BLUE_SCARF, 1
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ checkitemspace ITEM_BLUE_SCARF
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_BLUE_SCARF
giveitem ITEM_BLUE_SCARF
@@ -94,9 +90,8 @@ SlateportCity_PokemonFanClub_EventScript_GiveBlueScarf::
end
SlateportCity_PokemonFanClub_EventScript_GivePinkScarf::
- checkitemspace ITEM_PINK_SCARF, 1
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ checkitemspace ITEM_PINK_SCARF
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_PINK_SCARF
giveitem ITEM_PINK_SCARF
@@ -105,9 +100,8 @@ SlateportCity_PokemonFanClub_EventScript_GivePinkScarf::
end
SlateportCity_PokemonFanClub_EventScript_GiveGreenScarf::
- checkitemspace ITEM_GREEN_SCARF, 1
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ checkitemspace ITEM_GREEN_SCARF
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_GREEN_SCARF
giveitem ITEM_GREEN_SCARF
@@ -116,9 +110,8 @@ SlateportCity_PokemonFanClub_EventScript_GiveGreenScarf::
end
SlateportCity_PokemonFanClub_EventScript_GiveYellowScarf::
- checkitemspace ITEM_YELLOW_SCARF, 1
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
+ checkitemspace ITEM_YELLOW_SCARF
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf
msgbox SlateportCity_PokemonFanClub_Text_MonMostImpressiveGiveItThis, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_YELLOW_SCARF
giveitem ITEM_YELLOW_SCARF
@@ -133,8 +126,7 @@ SlateportCity_PokemonFanClub_EventScript_NoRoomForScarf::
SlateportCity_PokemonFanClub_EventScript_CheckMonCool::
specialvar VAR_RESULT, CheckLeadMonCool
- compare VAR_RESULT, TRUE
- call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonCool
+ call_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_SetMonCool
return
SlateportCity_PokemonFanClub_EventScript_SetMonCool::
@@ -143,8 +135,7 @@ SlateportCity_PokemonFanClub_EventScript_SetMonCool::
SlateportCity_PokemonFanClub_EventScript_CheckMonBeauty::
specialvar VAR_RESULT, CheckLeadMonBeauty
- compare VAR_RESULT, TRUE
- call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonBeauty
+ call_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_SetMonBeauty
return
SlateportCity_PokemonFanClub_EventScript_SetMonBeauty::
@@ -153,8 +144,7 @@ SlateportCity_PokemonFanClub_EventScript_SetMonBeauty::
SlateportCity_PokemonFanClub_EventScript_CheckMonCute::
specialvar VAR_RESULT, CheckLeadMonCute
- compare VAR_RESULT, TRUE
- call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonCute
+ call_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_SetMonCute
return
SlateportCity_PokemonFanClub_EventScript_SetMonCute::
@@ -163,8 +153,7 @@ SlateportCity_PokemonFanClub_EventScript_SetMonCute::
SlateportCity_PokemonFanClub_EventScript_CheckMonSmart::
specialvar VAR_RESULT, CheckLeadMonSmart
- compare VAR_RESULT, TRUE
- call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonSmart
+ call_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_SetMonSmart
return
SlateportCity_PokemonFanClub_EventScript_SetMonSmart::
@@ -173,8 +162,7 @@ SlateportCity_PokemonFanClub_EventScript_SetMonSmart::
SlateportCity_PokemonFanClub_EventScript_CheckMonTough::
specialvar VAR_RESULT, CheckLeadMonTough
- compare VAR_RESULT, TRUE
- call_if_eq SlateportCity_PokemonFanClub_EventScript_SetMonTough
+ call_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_SetMonTough
return
SlateportCity_PokemonFanClub_EventScript_SetMonTough::
@@ -204,8 +192,7 @@ SlateportCity_PokemonFanClub_EventScript_SootheBellWoman::
goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell
msgbox SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetLeadMonFriendshipScore
- compare VAR_RESULT, 4
- goto_if_ge SlateportCity_PokemonFanClub_EventScript_GiveSootheBell
+ goto_if_ge VAR_RESULT, 4, SlateportCity_PokemonFanClub_EventScript_GiveSootheBell
release
end
@@ -217,8 +204,7 @@ SlateportCity_PokemonFanClub_EventScript_GiveSootheBell::
waitmovement 0
msgbox SlateportCity_PokemonFanClub_Text_PokemonAdoresYou, MSGBOX_DEFAULT
giveitem ITEM_SOOTHE_BELL
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_SOOTHE_BELL
release
end
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index f3f8ea024a..69f74880ec 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -34,49 +34,37 @@ SootopolisCity_EventScript_LegendariesNotArrived::
end
SootopolisCity_EventScript_LockHouseDoors::
- setmetatile 9, 6, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 9, 17, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 9, 26, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 44, 17, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 8, 35, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 53, 28, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 45, 6, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 48, 25, METATILE_Sootopolis_Door_Closed, 1
- setmetatile 51, 36, METATILE_Sootopolis_Door_Closed, 1
+ setmetatile 9, 6, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 9, 17, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 9, 26, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 44, 17, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 8, 35, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 53, 28, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 45, 6, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 48, 25, METATILE_Sootopolis_Door_Closed, TRUE
+ setmetatile 51, 36, METATILE_Sootopolis_Door_Closed, TRUE
return
SootopolisCity_EventScript_LockGymDoor::
- setmetatile 31, 32, METATILE_Sootopolis_GymDoor_Closed, 1
+ setmetatile 31, 32, METATILE_Sootopolis_GymDoor_Closed, TRUE
return
SootopolisCity_OnTransition:
setflag FLAG_VISITED_SOOTOPOLIS_CITY
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- call_if_eq SootopolisCity_EventScript_HideMapNamePopup
- compare VAR_SKY_PILLAR_STATE, 1
- call_if_eq SootopolisCity_EventScript_HideMapNamePopup
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_HideMapNamePopup
+ call_if_eq VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_HideMapNamePopup
call SootopolisCity_EventScript_SetWeather
call SootopolisCity_EventScript_SetLayout
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- call_if_eq SootopolisCity_EventScript_SetBattleSpectators
- compare VAR_SOOTOPOLIS_CITY_STATE, 2
- call_if_eq SootopolisCity_EventScript_SetBattleSpectators
- compare VAR_SOOTOPOLIS_CITY_STATE, 3
- call_if_eq SootopolisCity_EventScript_SetBattleSpectators
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_eq SootopolisCity_EventScript_SetBattleSpectators
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- call_if_eq SootopolisCity_EventScript_SetBattleSpectators
- compare VAR_SOOTOPOLIS_CITY_STATE, 2
- call_if_eq SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos
- compare VAR_SOOTOPOLIS_CITY_STATE, 3
- call_if_eq SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- call_if_eq SootopolisCity_EventScript_SetExitCaveOfOriginObjPos
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- call_if_eq SootopolisCity_EventScript_SetOutsideGymObjPos
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- call_if_eq SootopolisCity_EventScript_SetExpertBlockCaveEntrance
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_SetBattleSpectators
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_SetBattleSpectators
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 3, SootopolisCity_EventScript_SetBattleSpectators
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_SetBattleSpectators
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_SetBattleSpectators
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 3, SootopolisCity_EventScript_CheckSetEnterCaveOfOriginObjPos
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_SetExitCaveOfOriginObjPos
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_SetOutsideGymObjPos
+ call_if_eq VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_SetExpertBlockCaveEntrance
end
SootopolisCity_EventScript_HideMapNamePopup::
@@ -95,20 +83,13 @@ SootopolisCity_EventScript_SetBattleSpectators::
return
SootopolisCity_EventScript_SetLayout::
- compare VAR_SOOTOPOLIS_CITY_STATE, 0
- goto_if_eq SootopolisCity_EventScript_SetNormalLayout
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_SetNormalLayout
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
- compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
- compare VAR_SOOTOPOLIS_CITY_STATE, 3
- goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_eq SootopolisCity_EventScript_SetLegendariesLayout
- compare VAR_SKY_PILLAR_STATE, 1
- goto_if_le SootopolisCity_EventScript_SetLegendariesLayout
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 0, SootopolisCity_EventScript_SetNormalLayout
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_SetNormalLayout
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_SetLegendariesLayout
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_SetLegendariesLayout
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 3, SootopolisCity_EventScript_SetLegendariesLayout
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_SetLegendariesLayout
+ goto_if_le VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_SetLegendariesLayout
return
SootopolisCity_EventScript_SetNormalLayout::
@@ -119,16 +100,11 @@ SootopolisCity_EventScript_SetLegendariesLayout::
return
SootopolisCity_EventScript_SetWeather::
- compare VAR_SOOTOPOLIS_CITY_STATE, 0
- goto_if_eq SootopolisCity_EventScript_SetNormalWeather
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_SetNormalWeather
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_eq SootopolisCity_EventScript_SetDownpour
- compare VAR_SKY_PILLAR_STATE, 1
- goto_if_eq SootopolisCity_EventScript_SetDownpour
- compare VAR_SKY_PILLAR_STATE, 1
- goto_if_le Common_EventScript_SetAbnormalWeather
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 0, SootopolisCity_EventScript_SetNormalWeather
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_SetNormalWeather
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_SetDownpour
+ goto_if_eq VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_SetDownpour
+ goto_if_le VAR_SKY_PILLAR_STATE, 1, Common_EventScript_SetAbnormalWeather
return
SootopolisCity_EventScript_SetNormalWeather::
@@ -158,12 +134,9 @@ SootopolisCity_EventScript_SetOutsideGymObjPos::
setobjectxyperm LOCALID_STEVEN, 29, 33
setobjectxyperm LOCALID_MAXIE, 33, 35
setobjectxyperm LOCALID_ARCHIE, 34, 35
- compare VAR_SOOTOPOLIS_WALLACE_STATE, 0
- call_if_eq SootopolisCity_EventScript_SetWallaceMiddle
- compare VAR_SOOTOPOLIS_WALLACE_STATE, 1
- call_if_eq SootopolisCity_EventScript_SetWallaceRight
- compare VAR_SOOTOPOLIS_WALLACE_STATE, 2
- call_if_eq SootopolisCity_EventScript_SetWallaceLeft
+ 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::
@@ -190,10 +163,8 @@ SootopolisCity_OnWarp:
.2byte 0
SootopolisCity_EventScript_PlayerFaceLegendaries::
- compare VAR_SKY_PILLAR_STATE, 1
- call_if_eq SootopolisCity_EventScript_PlayerFaceLegendaries1
- compare VAR_SKY_PILLAR_STATE, 2
- call_if_eq SootopolisCity_EventScript_PlayerFaceLegendaries2
+ call_if_eq VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_PlayerFaceLegendaries1
+ call_if_eq VAR_SKY_PILLAR_STATE, 2, SootopolisCity_EventScript_PlayerFaceLegendaries2
end
SootopolisCity_EventScript_PlayerFaceLegendaries1::
@@ -206,7 +177,7 @@ SootopolisCity_EventScript_PlayerFaceLegendaries2::
return
SootopolisCity_OnResume:
- setdivewarp MAP_UNDERWATER_SOOTOPOLIS_CITY, 255, 9, 6
+ setdivewarp MAP_UNDERWATER_SOOTOPOLIS_CITY, 9, 6
end
SootopolisCity_OnFrame:
@@ -218,10 +189,8 @@ SootopolisCity_OnFrame:
SootopolisCity_EventScript_StartLegendariesScene::
lockall
special StorePlayerCoordsInVars
- compare VAR_0x8004, 43
- goto_if_ne SootopolisCity_EventScript_LegendariesSceneFromDive
- compare VAR_0x8005, 32
- goto_if_ne SootopolisCity_EventScript_LegendariesSceneFromDive
+ goto_if_ne VAR_0x8004, 43, SootopolisCity_EventScript_LegendariesSceneFromDive
+ goto_if_ne VAR_0x8005, 32, SootopolisCity_EventScript_LegendariesSceneFromDive
goto SootopolisCity_EventScript_LegendariesSceneFromPokeCenter
end
@@ -509,10 +478,8 @@ SootopolisCity_Movement_GroudonIdle:
SootopolisCity_EventScript_StartRayquazaScene::
lockall
special StorePlayerCoordsInVars
- compare VAR_0x8004, 43
- goto_if_ne SootopolisCity_EventScript_RayquazaSceneFromDive
- compare VAR_0x8005, 32
- goto_if_ne SootopolisCity_EventScript_RayquazaSceneFromDive
+ goto_if_ne VAR_0x8004, 43, SootopolisCity_EventScript_RayquazaSceneFromDive
+ goto_if_ne VAR_0x8005, 32, SootopolisCity_EventScript_RayquazaSceneFromDive
goto SootopolisCity_EventScript_RayquazaSceneFromPokeCenter
end
@@ -565,7 +532,7 @@ SootopolisCity_EventScript_RayquazaSceneFromPokeCenter::
fadenewbgm MUS_SOOTOPOLIS
delay 120
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 43, 32
+ warpwhitefade MAP_SOOTOPOLIS_CITY, 43, 32
waitstate
end
@@ -618,35 +585,35 @@ SootopolisCity_EventScript_RayquazaSceneFromDive::
fadenewbgm MUS_SURF
delay 120
clearflag FLAG_HIDE_MAP_NAME_POPUP
- warpsootopolislegend MAP_SOOTOPOLIS_CITY, 255, 29, 53
+ warpwhitefade MAP_SOOTOPOLIS_CITY, 29, 53
waitstate
end
SootopolisCity_EventScript_SetRoughWater::
- setmetatile 27, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 28, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 29, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 30, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 27, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 28, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 29, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 30, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 27, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 28, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 29, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 30, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 32, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 33, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 34, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 35, 43, METATILE_Sootopolis_RoughWater, 0
- setmetatile 32, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 33, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 34, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 35, 44, METATILE_Sootopolis_RoughWater, 0
- setmetatile 32, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 33, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 34, 45, METATILE_Sootopolis_RoughWater, 0
- setmetatile 35, 45, METATILE_Sootopolis_RoughWater, 0
+ setmetatile 27, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 28, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 29, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 30, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 27, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 28, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 29, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 30, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 27, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 28, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 29, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 30, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 32, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 33, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 34, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 35, 43, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 32, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 33, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 34, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 35, 44, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 32, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 33, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 34, 45, METATILE_Sootopolis_RoughWater, FALSE
+ setmetatile 35, 45, METATILE_Sootopolis_RoughWater, FALSE
return
SootopolisCity_Movement_RayquazaFlyOff:
@@ -717,12 +684,9 @@ SootopolisCity_Movement_UnusedPanBack:
SootopolisCity_EventScript_CaveOfOriginExpert::
lock
faceplayer
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_ExpertPostLegendaries
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_ExpertLegendaries
- compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_ge SootopolisCity_EventScript_ExpertLeadToCave
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_ExpertPostLegendaries
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_ExpertLegendaries
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_ExpertLeadToCave
msgbox SootopolisCity_Text_CaveOfOriginPleaseLeave, MSGBOX_DEFAULT
release
end
@@ -745,12 +709,9 @@ SootopolisCity_EventScript_ExpertLegendaries::
SootopolisCity_EventScript_Kiri::
lock
faceplayer
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_le SootopolisCity_EventScript_KiriGiveBerry
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_KiriGiveBerry
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_KiriRayquaza
+ goto_if_le VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_KiriGiveBerry
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_KiriGiveBerry
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_KiriRayquaza
msgbox SootopolisCity_Text_BigPokemonFighting, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_KIRI, Common_Movement_FaceOriginalDirection
@@ -774,37 +735,31 @@ SootopolisCity_EventScript_KiriGiveBerry::
addvar VAR_RESULT, NUM_KIRI_BERRIES_SKIPPED
addvar VAR_RESULT, FIRST_BERRY_INDEX
giveitem VAR_RESULT
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY
msgbox SootopolisCity_Text_GiveYouThisBerryToo, MSGBOX_DEFAULT
random 2
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_EventScript_GiveFigyBerry
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_EventScript_GiveIapapaBerry
+ goto_if_eq VAR_RESULT, 0, SootopolisCity_EventScript_GiveFigyBerry
+ goto_if_eq VAR_RESULT, 1, SootopolisCity_EventScript_GiveIapapaBerry
end
SootopolisCity_EventScript_GiveFigyBerry::
giveitem ITEM_FIGY_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox SootopolisCity_Text_WhatKindOfWishInYourName, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_GiveIapapaBerry::
giveitem ITEM_IAPAPA_BERRY
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox SootopolisCity_Text_WhatKindOfWishInYourName, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_KiriReceivedBerry::
msgbox SootopolisCity_Text_LikeSeasonBornIn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SootopolisCity_EventScript_KiriLikeSeasonBornIn
+ goto_if_eq VAR_RESULT, YES, SootopolisCity_EventScript_KiriLikeSeasonBornIn
msgbox SootopolisCity_Text_OhDoesntMatter, MSGBOX_DEFAULT
release
end
@@ -818,8 +773,7 @@ SootopolisCity_EventScript_Woman2::
lockall
applymovement LOCALID_WOMAN_2, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_Woman2Rayquaza
+ 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
@@ -835,8 +789,7 @@ SootopolisCity_EventScript_Woman2Rayquaza::
SootopolisCity_EventScript_Man::
lock
faceplayer
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_ManPostLegendaries
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_ManPostLegendaries
msgbox SootopolisCity_Text_NoOrdinaryTourist, MSGBOX_DEFAULT
release
end
@@ -849,12 +802,9 @@ SootopolisCity_EventScript_ManPostLegendaries::
SootopolisCity_EventScript_Woman1::
lock
faceplayer
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_Woman1PostLegendaries
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_Woman1Rayquaza
- compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_ge SootopolisCity_EventScript_Woman1Legendaries
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_Woman1PostLegendaries
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_Woman1Rayquaza
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_Woman1Legendaries
msgbox SootopolisCity_Text_SootopolisSkyBeautiful, MSGBOX_DEFAULT
release
end
@@ -881,12 +831,9 @@ SootopolisCity_EventScript_NinjaBoy::
lockall
applymovement LOCALID_NINJA_BOY, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_NinjaBoyRayquaza
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_NinjaBoyNormal
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_le SootopolisCity_EventScript_NinjaBoyNormal
+ 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
@@ -908,13 +855,10 @@ SootopolisCity_EventScript_Boy1::
lockall
applymovement LOCALID_BOY_1, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_Boy1Rayquaza
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_Boy1Rayquaza
goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_Boy1GameClear
- compare VAR_SOOTOPOLIS_CITY_STATE, 6
- goto_if_ge SootopolisCity_EventScript_Boy1Normal
- compare VAR_SOOTOPOLIS_CITY_STATE, 1
- goto_if_le SootopolisCity_EventScript_Boy1Normal
+ goto_if_ge VAR_SOOTOPOLIS_CITY_STATE, 6, SootopolisCity_EventScript_Boy1Normal
+ 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
@@ -954,12 +898,9 @@ SootopolisCity_EventScript_Steven::
applymovement LOCALID_STEVEN, Common_Movement_FacePlayer
waitmovement 0
call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin
- compare VAR_SOOTOPOLIS_CITY_STATE, 2
- goto_if_eq SootopolisCity_EventScript_StevenHelpWallace
- compare VAR_SOOTOPOLIS_CITY_STATE, 3
- goto_if_eq SootopolisCity_EventScript_StevenHelpedWallace
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_eq SootopolisCity_EventScript_StevenHelpedWallace
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 2, SootopolisCity_EventScript_StevenHelpWallace
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 3, SootopolisCity_EventScript_StevenHelpedWallace
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_StevenHelpedWallace
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_StevenMaxieArchieLeft
msgbox SootopolisCity_Text_SoThatsRayquaza, MSGBOX_DEFAULT
releaseall
@@ -983,10 +924,8 @@ SootopolisCity_EventScript_StevenHelpedWallace::
SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin::
msgbox SootopolisCity_Text_InvolvedWithCrisisComeWithMe, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_WEST
- call_if_eq SootopolisCity_EventScript_StartWalkToCaveOfOriginWest
- compare VAR_FACING, DIR_NORTH
- call_if_eq SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth
+ call_if_eq VAR_FACING, DIR_WEST, SootopolisCity_EventScript_StartWalkToCaveOfOriginWest
+ call_if_eq VAR_FACING, DIR_NORTH, SootopolisCity_EventScript_StartWalkToCaveOfOriginNorth
msgbox SootopolisCity_Text_DoesThisMakeYourFearPokemon, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_STEVEN, SootopolisCity_Movement_StevenWalkToCaveOfOrigin
@@ -1003,7 +942,7 @@ SootopolisCity_EventScript_StevenLeadPlayerCaveOfOrigin::
setflag FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN
applymovement OBJ_EVENT_ID_PLAYER, SootopolisCity_Movement_PlayerEnterCaveOfOrigin
waitmovement 0
- warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20
+ warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 9, 20
waitstate
end
@@ -1287,8 +1226,7 @@ SootopolisCity_EventScript_Boy2::
lockall
applymovement LOCALID_BOY_2, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_Boy2Rayquaza
+ 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
@@ -1304,8 +1242,7 @@ SootopolisCity_EventScript_Boy2Rayquaza::
SootopolisCity_EventScript_BlackBelt::
lockall
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_BlackBeltRayquaza
+ 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
@@ -1328,8 +1265,7 @@ SootopolisCity_EventScript_Girl::
lockall
applymovement LOCALID_GIRL, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_GirlRayquaza
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_GirlRayquaza
msgbox SootopolisCity_Text_SootopolisWillBeWrecked, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_GIRL, Common_Movement_FaceOriginalDirection
@@ -1347,8 +1283,7 @@ SootopolisCity_EventScript_Maniac::
lockall
applymovement LOCALID_MANIAC, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_ManiacRayquaza
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_ManiacRayquaza
msgbox SootopolisCity_Text_SeeingLegendWithOwnEyes, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_MANIAC, Common_Movement_FaceOriginalDirection
@@ -1364,8 +1299,7 @@ SootopolisCity_EventScript_ManiacRayquaza::
SootopolisCity_EventScript_Wallace::
lock
faceplayer
- compare VAR_SOOTOPOLIS_CITY_STATE, 4
- goto_if_eq SootopolisCity_EventScript_GoToSkyPillar
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_GoToSkyPillar
goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_GoToGym
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_GiveWaterfall
msgbox SootopolisCity_Text_AquaMagmaDidntMeanHarm, MSGBOX_DEFAULT
@@ -1378,12 +1312,9 @@ SootopolisCity_EventScript_GiveWaterfall::
setflag FLAG_RECEIVED_HM07
msgbox SootopolisCity_Text_ExplainWaterfallGoToGym, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq SootopolisCity_EventScript_WallaceMoveFromGym
- compare VAR_FACING, DIR_EAST
- call_if_eq SootopolisCity_EventScript_WallaceMoveFromGym
- compare VAR_FACING, DIR_WEST
- call_if_eq SootopolisCity_EventScript_WallaceMoveFromGymWest
+ call_if_eq VAR_FACING, DIR_NORTH, SootopolisCity_EventScript_WallaceMoveFromGym
+ call_if_eq VAR_FACING, DIR_EAST, SootopolisCity_EventScript_WallaceMoveFromGym
+ call_if_eq VAR_FACING, DIR_WEST, SootopolisCity_EventScript_WallaceMoveFromGymWest
release
end
@@ -1423,8 +1354,7 @@ SootopolisCity_Movement_WallaceMoveFromGymWest:
SootopolisCity_EventScript_Maxie::
lockall
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_MaxieRayquaza
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_MaxieRayquaza
msgbox SootopolisCity_Text_GroudonPleaseStop, MSGBOX_DEFAULT
closemessage
releaseall
@@ -1439,8 +1369,7 @@ SootopolisCity_EventScript_MaxieRayquaza::
SootopolisCity_EventScript_Archie::
lockall
- compare VAR_SOOTOPOLIS_CITY_STATE, 5
- goto_if_eq SootopolisCity_EventScript_ArchieRayquaza
+ goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_ArchieRayquaza
msgbox SootopolisCity_Text_KyogreCalmDown, MSGBOX_DEFAULT
closemessage
releaseall
@@ -1460,7 +1389,7 @@ SootopolisCity_EventScript_MaxieArchieLeave::
clearflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE
clearflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE
setvar VAR_MT_PYRE_STATE, 2
- warpsilent MAP_SOOTOPOLIS_CITY, 255, 31, 34
+ warpsilent MAP_SOOTOPOLIS_CITY, 31, 34
waitstate
releaseall
end
diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc
index b20cf78887..7f739935b1 100644
--- a/data/maps/SootopolisCity_Gym_1F/scripts.inc
+++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc
@@ -19,20 +19,17 @@ SootopolisCity_Gym_1F_OnLoad:
end
SootopolisCity_Gym_1F_EventScript_CheckSetStairMetatiles::
- compare VAR_ICE_STEP_COUNT, 8
- goto_if_lt SootopolisCity_Gym_1F_EventScript_StopCheckingStairs @ All stairs ice
- compare VAR_ICE_STEP_COUNT, 28
- goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstStairs
- compare VAR_ICE_STEP_COUNT, 67
- goto_if_lt SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs
- setmetatile 8, 4, METATILE_SootopolisGym_Stairs, 0
- setmetatile 8, 5, METATILE_SootopolisGym_Stairs, 0
+ goto_if_lt VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_StopCheckingStairs @ All stairs ice
+ goto_if_lt VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_OpenFirstStairs
+ goto_if_lt VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs
+ setmetatile 8, 4, METATILE_SootopolisGym_Stairs, FALSE
+ setmetatile 8, 5, METATILE_SootopolisGym_Stairs, FALSE
SootopolisCity_Gym_1F_EventScript_OpenFirstAndSecondStairs::
- setmetatile 8, 10, METATILE_SootopolisGym_Stairs, 0
- setmetatile 8, 11, METATILE_SootopolisGym_Stairs, 0
+ setmetatile 8, 10, METATILE_SootopolisGym_Stairs, FALSE
+ setmetatile 8, 11, METATILE_SootopolisGym_Stairs, FALSE
SootopolisCity_Gym_1F_EventScript_OpenFirstStairs::
- setmetatile 8, 15, METATILE_SootopolisGym_Stairs, 0
- setmetatile 8, 16, METATILE_SootopolisGym_Stairs, 0
+ setmetatile 8, 15, METATILE_SootopolisGym_Stairs, FALSE
+ setmetatile 8, 16, METATILE_SootopolisGym_Stairs, FALSE
SootopolisCity_Gym_1F_EventScript_StopCheckingStairs::
return
@@ -85,8 +82,7 @@ SootopolisCity_Gym_1F_Movement_FallThroughIce:
SootopolisCity_Gym_1F_EventScript_Juan::
trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanIntro, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq SootopolisCity_Gym_1F_EventScript_JuanRematch
+ goto_if_eq VAR_RESULT, TRUE, SootopolisCity_Gym_1F_EventScript_JuanRematch
goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2
goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge
msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT
@@ -121,16 +117,14 @@ SootopolisCity_Gym_1F_EventScript_JuanDefeated::
SootopolisCity_Gym_1F_EventScript_GiveWaterPulse::
giveitem ITEM_TM03
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_BagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM03
return
SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2::
giveitem ITEM_TM03
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_TM03
release
diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc
index 65df8587f3..40f22a9c1f 100644
--- a/data/maps/SootopolisCity_House1/scripts.inc
+++ b/data/maps/SootopolisCity_House1/scripts.inc
@@ -7,8 +7,7 @@ SootopolisCity_House1_EventScript_BrickBreakBlackBelt::
goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_ReceivedBrickBreak
msgbox SootopolisCity_House1_Text_DevelopedThisTM, MSGBOX_DEFAULT
giveitem ITEM_TM31
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM31
msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT
release
diff --git a/data/maps/SootopolisCity_House2/scripts.inc b/data/maps/SootopolisCity_House2/scripts.inc
index a9c2ed255d..68cf96a906 100644
--- a/data/maps/SootopolisCity_House2/scripts.inc
+++ b/data/maps/SootopolisCity_House2/scripts.inc
@@ -5,10 +5,8 @@ SootopolisCity_House2_EventScript_ExpertF::
lock
faceplayer
msgbox SootopolisCity_House2_Text_DidYouKnowAboutMtPyreOrbs, MSGBOX_YESNO
- compare VAR_RESULT, YES
- call_if_eq SootopolisCity_House2_EventScript_KnowAboutOrbs
- compare VAR_RESULT, NO
- call_if_eq SootopolisCity_House2_EventScript_DontKnowAboutOrbs
+ call_if_eq VAR_RESULT, YES, SootopolisCity_House2_EventScript_KnowAboutOrbs
+ call_if_eq VAR_RESULT, NO, SootopolisCity_House2_EventScript_DontKnowAboutOrbs
release
end
diff --git a/data/maps/SootopolisCity_House3/scripts.inc b/data/maps/SootopolisCity_House3/scripts.inc
index 02546968b5..621738c4f1 100644
--- a/data/maps/SootopolisCity_House3/scripts.inc
+++ b/data/maps/SootopolisCity_House3/scripts.inc
@@ -5,8 +5,7 @@ SootopolisCity_House3_EventScript_Woman::
lock
faceplayer
msgbox SootopolisCity_House3_Text_JuanHasManyFansDoYou, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SootopolisCity_House3_EventScript_HaveFans
+ goto_if_eq VAR_RESULT, YES, SootopolisCity_House3_EventScript_HaveFans
msgbox SootopolisCity_House3_Text_LonesomeTryWorkingHarder, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc
index be2dad11f2..35f7acc7b5 100644
--- a/data/maps/SootopolisCity_House6/scripts.inc
+++ b/data/maps/SootopolisCity_House6/scripts.inc
@@ -6,12 +6,10 @@ SootopolisCity_House6_EventScript_Woman::
faceplayer
goto_if_set FLAG_RECEIVED_WAILMER_DOLL, SootopolisCity_House6_EventScript_ReceivedWailmerDoll
msgbox SootopolisCity_House6_Text_FirstGuestInWhileTakeDoll, MSGBOX_YESNO
- compare VAR_RESULT, NO
- call_if_eq SootopolisCity_House6_EventScript_DeclineWailmerDoll
+ call_if_eq VAR_RESULT, NO, SootopolisCity_House6_EventScript_DeclineWailmerDoll
msgbox SootopolisCity_House6_Text_TakeGoodCareOfIt, MSGBOX_DEFAULT
givedecoration DECOR_WAILMER_DOLL
- compare VAR_RESULT, FALSE
- goto_if_eq SootopolisCity_House6_EventScript_NoRoomForWailmerDoll
+ goto_if_eq VAR_RESULT, FALSE, SootopolisCity_House6_EventScript_NoRoomForWailmerDoll
setflag FLAG_RECEIVED_WAILMER_DOLL
release
end
@@ -27,7 +25,7 @@ SootopolisCity_House6_EventScript_ReceivedWailmerDoll::
end
SootopolisCity_House6_EventScript_NoRoomForWailmerDoll::
- bufferdecorationname 1, DECOR_WAILMER_DOLL
+ bufferdecorationname STR_VAR_2, DECOR_WAILMER_DOLL
msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT
msgbox SootopolisCity_House6_Text_IllHoldItForYou, MSGBOX_DEFAULT
release
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
index ab087696e8..52bdf3acee 100644
--- a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
@@ -9,15 +9,11 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_SeedotBrother::
special ChoosePartyMon
waitstate
copyvar VAR_RESULT, VAR_0x8004
- compare VAR_RESULT, 255
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowSeedot
+ goto_if_eq VAR_RESULT, PARTY_NOTHING_CHOSEN, SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowSeedot
special CompareSeedotSize
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NotSeedot
- compare VAR_RESULT, 2
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot
- compare VAR_RESULT, 3
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot
+ goto_if_eq VAR_RESULT, 1, SootopolisCity_LotadAndSeedotHouse_EventScript_NotSeedot
+ goto_if_eq VAR_RESULT, 2, SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot
+ goto_if_eq VAR_RESULT, 3, SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot
release
end
@@ -39,8 +35,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_SmallSeedot::
SootopolisCity_LotadAndSeedotHouse_EventScript_BigSeedot::
msgbox SootopolisCity_LotadAndSeedotHouse_Text_GoshMightBeBiggerThanLotad, MSGBOX_DEFAULT
giveitem ITEM_ELIXIR
- compare VAR_RESULT, FALSE
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir1
+ goto_if_eq VAR_RESULT, FALSE, SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir1
closemessage
release
end
@@ -58,15 +53,11 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_LotadBrother::
special ChoosePartyMon
waitstate
copyvar VAR_RESULT, VAR_0x8004
- compare VAR_RESULT, 255
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowLotad
+ goto_if_eq VAR_RESULT, PARTY_NOTHING_CHOSEN, SootopolisCity_LotadAndSeedotHouse_EventScript_CancelShowLotad
special CompareLotadSize
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NotLotad
- compare VAR_RESULT, 2
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad
- compare VAR_RESULT, 3
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad
+ goto_if_eq VAR_RESULT, 1, SootopolisCity_LotadAndSeedotHouse_EventScript_NotLotad
+ goto_if_eq VAR_RESULT, 2, SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad
+ goto_if_eq VAR_RESULT, 3, SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad
release
end
@@ -88,8 +79,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_SmallLotad::
SootopolisCity_LotadAndSeedotHouse_EventScript_BigLotad::
msgbox SootopolisCity_LotadAndSeedotHouse_Text_WowMightBeBiggerThanSeedot, MSGBOX_DEFAULT
giveitem ITEM_ELIXIR
- compare VAR_RESULT, FALSE
- goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir2
+ goto_if_eq VAR_RESULT, FALSE, SootopolisCity_LotadAndSeedotHouse_EventScript_NoRoomForElixir2
closemessage
release
end
diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc
index 0975abd2b0..3cade5fbc4 100644
--- a/data/maps/SootopolisCity_Mart/scripts.inc
+++ b/data/maps/SootopolisCity_Mart/scripts.inc
@@ -29,8 +29,7 @@ SootopolisCity_Mart_Pokemart:
SootopolisCity_Mart_EventScript_FatMan::
lock
faceplayer
- compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_Mart_EventScript_FatManNoLegendaries
+ goto_if_ge VAR_SKY_PILLAR_STATE, 2, SootopolisCity_Mart_EventScript_FatManNoLegendaries
goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_FatManNoLegendaries
msgbox SootopolisCity_Mart_Text_TooScaryOutside, MSGBOX_DEFAULT
release
@@ -44,8 +43,7 @@ SootopolisCity_Mart_EventScript_FatManNoLegendaries::
SootopolisCity_Mart_EventScript_Gentleman::
lock
faceplayer
- compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_Mart_EventScript_GentlemanNoLegendaries
+ goto_if_ge VAR_SKY_PILLAR_STATE, 2, SootopolisCity_Mart_EventScript_GentlemanNoLegendaries
goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_Mart_EventScript_GentlemanNoLegendaries
msgbox SootopolisCity_Mart_Text_DidSomethingAwaken, MSGBOX_DEFAULT
release
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
index 1fb8a8f723..374adbfc66 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
@@ -7,10 +7,8 @@ SootopolisCity_MysteryEventsHouse_1F_MapScripts::
SootopolisCity_MysteryEventsHouse_1F_OnTransition:
frontier_checkvisittrainer
- compare VAR_RESULT, 0
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout
- compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0
- call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor
+ call_if_eq VAR_RESULT, 0, SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout
+ call_if_ne VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0, SootopolisCity_MysteryEventsHouse_1F_EventScript_MoveOldManToDoor
end
SootopolisCity_MysteryEventsHouse_1F_EventScript_SetTrainerVisitingLayout::
@@ -40,12 +38,9 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_OldManCommentOnBattle::
copyobjectxytoperm LOCALID_OLD_MAN
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
- compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleWonComment
- compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 2
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleLostComment
- compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleTiedComment
+ 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
+ call_if_eq VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_BattleTiedComment
special LoadPlayerParty
setvar VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 0
releaseall
@@ -76,10 +71,8 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_OldMan::
lock
faceplayer
frontier_checkvisittrainer
- compare VAR_RESULT, 1
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer
- compare VAR_TEMP_1, 1
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting
+ goto_if_eq VAR_RESULT, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_InvalidVisitingTrainer
+ goto_if_eq VAR_TEMP_1, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_OnlyAmusementWatchingBattles, MSGBOX_DEFAULT
release
end
@@ -93,29 +86,22 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_TrainerVisiting::
special SavePlayerParty
special BufferEReaderTrainerName
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_ChallengeVisitingTrainer, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
call SootopolisCity_MysteryEventsHouse_1F_EventScript_ChooseParty
- compare VAR_RESULT, 0
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_SaveProgressBeforeBattle, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
special LoadPlayerParty
call Common_EventScript_SaveGame
- compare VAR_RESULT, FALSE
- goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
+ goto_if_eq VAR_RESULT, FALSE, SootopolisCity_MysteryEventsHouse_1F_EventScript_DeclineBattle
special SavePlayerParty
special ReducePlayerPartyToSelectedMons
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_HopeToSeeGoodMatch, MSGBOX_DEFAULT
closemessage
- compare VAR_FACING, DIR_NORTH
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth
- compare VAR_FACING, DIR_EAST
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast
- compare VAR_FACING, DIR_WEST
- call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest
- warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1
+ call_if_eq VAR_FACING, DIR_NORTH, SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementNorth
+ call_if_eq VAR_FACING, DIR_EAST, SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementEast
+ call_if_eq VAR_FACING, DIR_WEST, SootopolisCity_MysteryEventsHouse_1F_EventScript_EnterBasementWest
+ warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 3, 1
waitstate
release
end
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
index f0ebbf516f..533eb7cfa5 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
@@ -22,19 +22,16 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleVisitingTrainer::
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
- compare VAR_RESULT, B_OUTCOME_DREW
- call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleTie
- compare VAR_RESULT, B_OUTCOME_WON
- call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleWon
- compare VAR_RESULT, B_OUTCOME_LOST
- call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleLost
+ call_if_eq VAR_RESULT, B_OUTCOME_DREW, SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleTie
+ call_if_eq VAR_RESULT, B_OUTCOME_WON, SootopolisCity_MysteryEventsHouse_B1F_EventScript_BattleWon
+ 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
waitmovement 0
special LoadPlayerParty
setvar VAR_TEMP_1, 1
- warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F, 255, 3, 1
+ warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F, 3, 1
waitstate
releaseall
end
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
index 9e017861b7..e1e13b35c8 100644
--- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
@@ -20,8 +20,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_Nurse::
SootopolisCity_PokemonCenter_1F_EventScript_Gentleman::
lock
faceplayer
- compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries
+ goto_if_ge VAR_SKY_PILLAR_STATE, 2, SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries
goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries
msgbox SootopolisCity_PokemonCenter_1F_Text_EveryoneTakenRefuge, MSGBOX_DEFAULT
release
@@ -35,8 +34,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_GentlemanNoLegendaries::
SootopolisCity_PokemonCenter_1F_EventScript_Woman::
lock
faceplayer
- compare VAR_SKY_PILLAR_STATE, 2
- goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries
+ goto_if_ge VAR_SKY_PILLAR_STATE, 2, SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries
goto_if_unset FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, SootopolisCity_PokemonCenter_1F_EventScript_WomanNoLegendaries
msgbox SootopolisCity_PokemonCenter_1F_Text_ArentPokemonOurFriends, MSGBOX_DEFAULT
release
diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc
index b491c2f6c5..b393413fe3 100644
--- a/data/maps/SouthernIsland_Exterior/scripts.inc
+++ b/data/maps/SouthernIsland_Exterior/scripts.inc
@@ -13,8 +13,7 @@ SouthernIsland_Exterior_EventScript_Sailor::
lock
faceplayer
msgbox EventTicket_Text_SouthernIslandSailBack, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SouthernIsland_Exterior_EventScript_AsYouLike
+ goto_if_eq VAR_RESULT, NO, SouthernIsland_Exterior_EventScript_AsYouLike
msgbox EventTicket_Text_SailHome, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Common_Movement_WalkInPlaceFasterDown
@@ -23,7 +22,7 @@ SouthernIsland_Exterior_EventScript_Sailor::
hideobjectat LOCALID_SAILOR, MAP_SOUTHERN_ISLAND_EXTERIOR
setvar VAR_0x8004, LOCALID_SS_TIDAL
call Common_EventScript_FerryDepartIsland
- warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
+ warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
waitstate
release
end
diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc
index 4ce90e249f..8486739d93 100644
--- a/data/maps/SouthernIsland_Interior/scripts.inc
+++ b/data/maps/SouthernIsland_Interior/scripts.inc
@@ -11,16 +11,13 @@ SouthernIsland_Interior_OnResume:
SouthernIsland_Interior_EventScript_TryRemoveLati::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_LATI
return
SouthernIsland_Interior_OnTransition:
- compare VAR_ROAMER_POKEMON, 0
- call_if_eq SouthernIsland_Interior_EventScript_SetUpLatios
- compare VAR_ROAMER_POKEMON, 0
- call_if_ne SouthernIsland_Interior_EventScript_SetUpLatias
+ call_if_eq VAR_ROAMER_POKEMON, 0, SouthernIsland_Interior_EventScript_SetUpLatios
+ call_if_ne VAR_ROAMER_POKEMON, 0, SouthernIsland_Interior_EventScript_SetUpLatias
call SouthernIsland_Interior_EventScript_SetUpPlayerGfx
end
@@ -36,10 +33,8 @@ SouthernIsland_Interior_EventScript_SetUpLatias::
SouthernIsland_Interior_EventScript_SetUpPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq SouthernIsland_Interior_EventScript_SetBrendanGfx
- compare VAR_RESULT, FEMALE
- goto_if_eq SouthernIsland_Interior_EventScript_SetMayGfx
+ goto_if_eq VAR_RESULT, MALE, SouthernIsland_Interior_EventScript_SetBrendanGfx
+ goto_if_eq VAR_RESULT, FEMALE, SouthernIsland_Interior_EventScript_SetMayGfx
end
SouthernIsland_Interior_EventScript_SetBrendanGfx::
@@ -52,7 +47,7 @@ SouthernIsland_Interior_EventScript_SetMayGfx::
SouthernIsland_Interior_EventScript_TryLatiEncounter::
lockall
- setvar VAR_0x8008, 12
+ setvar VAR_0x8008, 12 @ Player's Y coordinate. Not read
goto SouthernIsland_Interior_EventScript_Lati
end
@@ -79,21 +74,16 @@ SouthernIsland_Interior_EventScript_Lati::
delay 50
special RemoveCameraObject
setvar VAR_LAST_TALKED, LOCALID_LATI
- compare VAR_ROAMER_POKEMON, 0
- call_if_eq SouthernIsland_Interior_EventScript_SetLatiosBattleVars
- compare VAR_ROAMER_POKEMON, 0
- call_if_ne SouthernIsland_Interior_EventScript_SetLatiasBattleVars
+ 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
special BattleSetup_StartLatiBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq SouthernIsland_Interior_EventScript_LatiDefeated
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq SouthernIsland_Interior_EventScript_RanFromLati
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq SouthernIsland_Interior_EventScript_RanFromLati
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, SouthernIsland_Interior_EventScript_LatiDefeated
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, SouthernIsland_Interior_EventScript_RanFromLati
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, SouthernIsland_Interior_EventScript_RanFromLati
setflag FLAG_CAUGHT_LATIAS_OR_LATIOS
releaseall
end
@@ -115,17 +105,11 @@ SouthernIsland_Interior_EventScript_Sign::
end
SouthernIsland_Interior_EventScript_SetLatiosBattleVars::
- setvar VAR_0x8004, SPECIES_LATIOS
- setvar VAR_0x8005, 50 @ level
- setvar VAR_0x8006, ITEM_SOUL_DEW
- special CreateEventLegalEnemyMon
+ seteventmon SPECIES_LATIOS, 50, ITEM_SOUL_DEW
return
SouthernIsland_Interior_EventScript_SetLatiasBattleVars::
- setvar VAR_0x8004, SPECIES_LATIAS
- setvar VAR_0x8005, 50 @ level
- setvar VAR_0x8006, ITEM_SOUL_DEW
- special CreateEventLegalEnemyMon
+ seteventmon SPECIES_LATIAS, 50, ITEM_SOUL_DEW
return
SouthernIsland_Interior_Movement_CameraPanUp:
diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc
index 0036f33b5a..8b2732d45e 100644
--- a/data/maps/TerraCave_End/scripts.inc
+++ b/data/maps/TerraCave_End/scripts.inc
@@ -11,8 +11,7 @@ TerraCave_End_OnResume:
TerraCave_End_EventScript_TryRemoveGroudon::
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_CAUGHT
- goto_if_ne Common_EventScript_NopReturn
+ goto_if_ne VAR_RESULT, B_OUTCOME_CAUGHT, Common_EventScript_NopReturn
removeobject LOCALID_GROUDON
return
@@ -36,19 +35,16 @@ TerraCave_End_EventScript_Groudon::
delay 40
waitmoncry
setvar VAR_LAST_TALKED, LOCALID_GROUDON
- setwildbattle SPECIES_GROUDON, 70, ITEM_NONE
+ setwildbattle SPECIES_GROUDON, 70
setflag FLAG_SYS_CTRL_OBJ_DELETE
special BattleSetup_StartLegendaryBattle
waitstate
clearflag FLAG_SYS_CTRL_OBJ_DELETE
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq TerraCave_End_EventScript_DefeatedGroudon
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq TerraCave_End_EventScript_RanFromGroudon
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq TerraCave_End_EventScript_RanFromGroudon
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, TerraCave_End_EventScript_DefeatedGroudon
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, TerraCave_End_EventScript_RanFromGroudon
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, TerraCave_End_EventScript_RanFromGroudon
setvar VAR_SHOULD_END_ABNORMAL_WEATHER, 1
setflag FLAG_DEFEATED_GROUDON
releaseall
diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc
index f4ebc7ea91..bec1ffbff1 100644
--- a/data/maps/TrainerHill_Elevator/scripts.inc
+++ b/data/maps/TrainerHill_Elevator/scripts.inc
@@ -15,7 +15,7 @@ TrainerHill_Elevator_EventScript_ExitToRoof::
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevatorToRoof
waitmovement 0
releaseall
- warp MAP_TRAINER_HILL_ROOF, 255, 15, 5
+ warp MAP_TRAINER_HILL_ROOF, 15, 5
waitstate
end
@@ -26,8 +26,7 @@ TrainerHill_Elevator_EventScript_EnterElevator::
waitmovement 0
lockall
msgbox TrainerHill_Elevator_Text_ReturnToReception, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq TrainerHill_Elevator_EventScript_ExitToRoof
+ goto_if_eq VAR_RESULT, NO, TrainerHill_Elevator_EventScript_ExitToRoof
releaseall
applymovement LOCALID_ATTENDANT, TrainerHill_Elevator_Movement_AttendantFaceDown
waitmovement 0
@@ -37,7 +36,7 @@ TrainerHill_Elevator_EventScript_EnterElevator::
delay 25
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Elevator_Movement_PlayerExitElevator
waitmovement 0
- warp MAP_TRAINER_HILL_ENTRANCE, 255, 17, 8
+ warp MAP_TRAINER_HILL_ENTRANCE, 17, 8
waitstate
end
diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc
index af4a4c1235..8989883e47 100644
--- a/data/maps/TrainerHill_Entrance/scripts.inc
+++ b/data/maps/TrainerHill_Entrance/scripts.inc
@@ -24,16 +24,14 @@ TrainerHill_Entrance_OnResume:
trainerhill_resumetimer
setvar VAR_TEMP_0, 0
trainerhill_getusingereader
- compare VAR_RESULT, FALSE @ VAR_RESULT always FALSE here
- goto_if_eq TrainerHill_Entrance_EventScript_TryFaceAttendant
+ 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
end
TrainerHill_Entrance_EventScript_TryFaceAttendant::
trainerhill_getwon
- compare VAR_RESULT, TRUE
- goto_if_eq TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant
+ goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_PlayerDontFaceAttendant
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerFaceAttendant
end
@@ -48,12 +46,11 @@ TrainerHill_Entrance_OnReturn:
end
TrainerHill_Entrance_OnLoad:
- compare VAR_TEMP_D, 17
- call_if_eq TrainerHill_Entrance_EventScript_OpenCounterDoor
+ call_if_eq VAR_TEMP_D, 17, TrainerHill_Entrance_EventScript_OpenCounterDoor
end
TrainerHill_Entrance_EventScript_OpenCounterDoor::
- setmetatile 17, 10, METATILE_TrainerHill_GreenFloorTile, 0
+ setmetatile 17, 10, METATILE_TrainerHill_GreenFloorTile, FALSE
return
TrainerHill_Entrance_OnFrame:
@@ -67,7 +64,7 @@ TrainerHill_Entrance_EventScript_ExitElevator::
lockall
applymovement OBJ_EVENT_ID_PLAYER, TrainerHill_Entrance_Movement_PlayerExitElevator
waitmovement 0
- setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, 1
+ setmetatile 17, 10, METATILE_TrainerHill_CounterDoor, TRUE
special DrawWholeMapView
playse SE_CLICK
waitse
@@ -115,8 +112,7 @@ TrainerHill_Entrance_EventScript_Attendant::
lock
faceplayer
trainerhill_inchallenge
- compare VAR_RESULT, FALSE
- goto_if_eq TrainerHill_Entrance_EventScript_ThanksForPlaying
+ goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_ThanksForPlaying
msgbox TrainerHill_Entrance_Text_HopeYouGiveItYourBest, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_AttendantEnd
@@ -132,11 +128,9 @@ TrainerHill_Entrance_EventScript_EntryTrigger::
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_Closed
msgbox TrainerHill_Entrance_Text_WelcomeToTrainerHill, MSGBOX_DEFAULT
trainerhill_getsaved
- compare VAR_RESULT, FALSE
- call_if_eq TrainerHill_Entrance_EventScript_SaveGame
+ call_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_SaveGame
trainerhill_allfloorsused
- compare VAR_RESULT, TRUE
- goto_if_eq TrainerHill_Entrance_EventScript_AllFloorsUsed
+ goto_if_eq VAR_RESULT, TRUE, TrainerHill_Entrance_EventScript_AllFloorsUsed
msgbox TrainerHill_Entrance_Text_TrainersUpToFloorX, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_AskChallengeTrainers
@@ -186,8 +180,7 @@ TrainerHill_Entrance_EventScript_SaveGame::
trainerhill_setsaved
setvar VAR_TEMP_5, 1
call Common_EventScript_SaveGame
- compare VAR_RESULT, FALSE
- goto_if_eq TrainerHill_Entrance_EventScript_SaveFailed
+ goto_if_eq VAR_RESULT, FALSE, TrainerHill_Entrance_EventScript_SaveFailed
trainerhill_setsaved
return
diff --git a/data/maps/Underwater_MarineCave/scripts.inc b/data/maps/Underwater_MarineCave/scripts.inc
index cbd158e273..6c87628351 100644
--- a/data/maps/Underwater_MarineCave/scripts.inc
+++ b/data/maps/Underwater_MarineCave/scripts.inc
@@ -8,6 +8,6 @@ Underwater_MarineCave_OnTransition:
end
Underwater_MarineCave_OnResume:
- setdivewarp MAP_MARINE_CAVE_ENTRANCE, 255, 10, 17
+ setdivewarp MAP_MARINE_CAVE_ENTRANCE, 10, 17
end
diff --git a/data/maps/Underwater_Route134/scripts.inc b/data/maps/Underwater_Route134/scripts.inc
index 909b2f8b10..b5ab48e26a 100644
--- a/data/maps/Underwater_Route134/scripts.inc
+++ b/data/maps/Underwater_Route134/scripts.inc
@@ -3,6 +3,6 @@ Underwater_Route134_MapScripts::
.byte 0
Underwater_Route134_OnResume:
- setdivewarp MAP_ROUTE134, 255, 60, 31
+ setdivewarp MAP_ROUTE134, 60, 31
end
diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc
index 2e0613c04c..7f1231feff 100644
--- a/data/maps/Underwater_SeafloorCavern/scripts.inc
+++ b/data/maps/Underwater_SeafloorCavern/scripts.inc
@@ -18,22 +18,22 @@ Underwater_SeafloorCavern_OnLoad:
end
Underwater_SeafloorCavern_EventScript_SetSubmarineGoneMetatiles::
- setmetatile 5, 3, METATILE_Underwater_RockWall, 1
- setmetatile 6, 3, METATILE_Underwater_RockWall, 1
- setmetatile 7, 3, METATILE_Underwater_RockWall, 1
- setmetatile 8, 3, METATILE_Underwater_RockWall, 1
- setmetatile 5, 4, METATILE_Underwater_FloorShadow, 0
- setmetatile 6, 4, METATILE_Underwater_FloorShadow, 0
- setmetatile 7, 4, METATILE_Underwater_FloorShadow, 0
- setmetatile 8, 4, METATILE_Underwater_FloorShadow, 0
- setmetatile 5, 5, METATILE_Underwater_FloorShadow, 0
- setmetatile 6, 5, METATILE_Underwater_FloorShadow, 0
- setmetatile 7, 5, METATILE_Underwater_FloorShadow, 0
- setmetatile 8, 5, METATILE_Underwater_FloorShadow, 0
+ setmetatile 5, 3, METATILE_Underwater_RockWall, TRUE
+ setmetatile 6, 3, METATILE_Underwater_RockWall, TRUE
+ setmetatile 7, 3, METATILE_Underwater_RockWall, TRUE
+ setmetatile 8, 3, METATILE_Underwater_RockWall, TRUE
+ setmetatile 5, 4, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 6, 4, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 7, 4, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 8, 4, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 5, 5, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 6, 5, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 7, 5, METATILE_Underwater_FloorShadow, FALSE
+ setmetatile 8, 5, METATILE_Underwater_FloorShadow, FALSE
return
Underwater_SeafloorCavern_OnResume:
- setdivewarp MAP_SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17
+ setdivewarp MAP_SEAFLOOR_CAVERN_ENTRANCE, 10, 17
end
Underwater_SeafloorCavern_EventScript_CheckStolenSub::
diff --git a/data/maps/Underwater_SealedChamber/scripts.inc b/data/maps/Underwater_SealedChamber/scripts.inc
index 2b3fe5e0de..f4f8d8ccb7 100644
--- a/data/maps/Underwater_SealedChamber/scripts.inc
+++ b/data/maps/Underwater_SealedChamber/scripts.inc
@@ -4,18 +4,16 @@ Underwater_SealedChamber_MapScripts::
Underwater_SealedChamber_OnDive:
getplayerxy VAR_0x8004, VAR_0x8005
- compare VAR_0x8004, 12
- goto_if_ne Underwater_SealedChamber_EventScript_SurfaceRoute134
- compare VAR_0x8005, 44
- goto_if_ne Underwater_SealedChamber_EventScript_SurfaceRoute134
+ goto_if_ne VAR_0x8004, 12, Underwater_SealedChamber_EventScript_SurfaceRoute134
+ goto_if_ne VAR_0x8005, 44, Underwater_SealedChamber_EventScript_SurfaceRoute134
goto Underwater_SealedChamber_EventScript_SurfaceSealedChamber
Underwater_SealedChamber_EventScript_SurfaceRoute134::
- setdivewarp MAP_ROUTE134, 255, 60, 31
+ setdivewarp MAP_ROUTE134, 60, 31
end
Underwater_SealedChamber_EventScript_SurfaceSealedChamber::
- setdivewarp MAP_SEALED_CHAMBER_OUTER_ROOM, 255, 10, 19
+ setdivewarp MAP_SEALED_CHAMBER_OUTER_ROOM, 10, 19
end
Underwater_SealedChamber_EventScript_Braille::
diff --git a/data/maps/Underwater_SootopolisCity/scripts.inc b/data/maps/Underwater_SootopolisCity/scripts.inc
index 4346c284fa..8bf30560ca 100644
--- a/data/maps/Underwater_SootopolisCity/scripts.inc
+++ b/data/maps/Underwater_SootopolisCity/scripts.inc
@@ -3,6 +3,6 @@ Underwater_SootopolisCity_MapScripts::
.byte 0
Underwater_SootopolisCity_OnResume:
- setdivewarp MAP_SOOTOPOLIS_CITY, 255, 29, 53
+ setdivewarp MAP_SOOTOPOLIS_CITY, 29, 53
end
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
index b349a395cf..29008b7c0f 100644
--- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
@@ -18,10 +18,8 @@ VerdanturfTown_BattleTentBattleRoom_OnTransition:
VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfx::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
- compare VAR_RESULT, FEMALE
- goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
+ goto_if_eq VAR_RESULT, MALE, VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale
+ goto_if_eq VAR_RESULT, FEMALE, VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxFemale
return
VerdanturfTown_BattleTentBattleRoom_EventScript_SetPlayerGfxMale::
@@ -43,8 +41,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_EnterRoom::
applymovement LOCALID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_PlayerEnter
waitmovement 0
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 0
- goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
+ goto_if_ne VAR_RESULT, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge
VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter::
tower_setopponent
addobject LOCALID_OPPONENT
@@ -59,7 +56,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_NextOpponentEnter::
VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyLost::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
special LoadPlayerParty
- warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 6, 6
waitstate
VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent::
@@ -84,10 +81,8 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_DefeatedOpponent::
VerdanturfTown_BattleTentBattleRoom_EventScript_AskContinueChallenge::
frontier_get FRONTIER_DATA_BATTLE_NUM
- compare VAR_RESULT, 1
- call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
- compare VAR_RESULT, 2
- call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
+ call_if_eq VAR_RESULT, 1, VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor2ndOpponent
+ call_if_eq VAR_RESULT, 2, VerdanturfTown_BattleTentBattleRoom_EventScript_ReadyFor3rdOpponent
multichoice 20, 6, MULTI_GO_ON_REST_RETIRE, TRUE
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge
@@ -120,7 +115,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_ContinueChallenge::
VerdanturfTown_BattleTentBattleRoom_EventScript_WarpToLobbyWon::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_WON
special LoadPlayerParty
- warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 6, 6
waitstate
VerdanturfTown_BattleTentBattleRoom_EventScript_PauseChallenge::
diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
index c2e9dbd6a7..debf1b177f 100644
--- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
@@ -22,7 +22,7 @@ VerdanturfTown_BattleTentCorridor_EventScript_EnterCorridor::
closedoor 2, 1
waitdooranim
setvar VAR_0x8006, 0
- warp MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM, 255, 6, 5
+ warp MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM, 6, 5
waitstate
releaseall
end
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
index dd8f0eaa45..a78a6a78ed 100644
--- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
@@ -107,8 +107,7 @@ VerdanturfTown_BattleTentLobby_EventScript_Attendant::
lock
faceplayer
verdanturftent_getprize
- compare VAR_RESULT, ITEM_NONE
- goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_PrizeWaiting
+ goto_if_ne VAR_RESULT, ITEM_NONE, VerdanturfTown_BattleTentLobby_EventScript_PrizeWaiting
special SavePlayerParty
msgbox VerdanturfTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
VerdanturfTown_BattleTentLobby_EventScript_AskEnterChallenge::
@@ -126,8 +125,7 @@ VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge::
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
setvar VAR_RESULT, 2
frontier_checkineligible
- compare VAR_0x8004, TRUE
- goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMons
+ goto_if_eq VAR_0x8004, TRUE, VerdanturfTown_BattleTentLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
msgbox VerdanturfTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
@@ -135,8 +133,7 @@ VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge::
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
- compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
+ goto_if_eq VAR_RESULT, 0, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
msgbox VerdanturfTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
@@ -154,15 +151,14 @@ VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_0, 255
- compare VAR_RESULT, 0
- goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
+ goto_if_eq VAR_RESULT, 0, VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge::
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox VerdanturfTown_BattleTentLobby_Text_NowFollowMe, MSGBOX_DEFAULT
closemessage
call VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor
- warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
+ warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 2, 7
setvar VAR_TEMP_0, 0
waitstate
end
@@ -232,8 +228,7 @@ VerdanturfTown_BattleTentLobby_EventScript_AttractGiver::
goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract
msgbox VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep, MSGBOX_DEFAULT
giveitem ITEM_TM45
- compare VAR_RESULT, 0
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
setflag FLAG_RECEIVED_TM45
msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT
release
diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc
index e07da7e60d..4bce6b4c1d 100644
--- a/data/maps/VictoryRoad_1F/scripts.inc
+++ b/data/maps/VictoryRoad_1F/scripts.inc
@@ -5,10 +5,8 @@ VictoryRoad_1F_MapScripts::
.byte 0
VictoryRoad_1F_OnTransition:
- compare VAR_VICTORY_ROAD_1F_STATE, 1
- call_if_eq VictoryRoad_1F_EventScript_SetEntranceWallyPos1
- compare VAR_VICTORY_ROAD_1F_STATE, 2
- call_if_eq VictoryRoad_1F_EventScript_SetEntranceWallyPos2
+ call_if_eq VAR_VICTORY_ROAD_1F_STATE, 1, VictoryRoad_1F_EventScript_SetEntranceWallyPos1
+ call_if_eq VAR_VICTORY_ROAD_1F_STATE, 2, VictoryRoad_1F_EventScript_SetEntranceWallyPos2
end
VictoryRoad_1F_EventScript_SetEntranceWallyPos1::
@@ -88,8 +86,7 @@ VictoryRoad_1F_EventScript_EntranceWally::
VictoryRoad_1F_EventScript_ExitWally::
trainerbattle_single TRAINER_WALLY_VR_2, VictoryRoad_1F_Text_WallyIntro, VictoryRoad_1F_Text_WallyDefeat
specialvar VAR_RESULT, ShouldTryRematchBattle
- compare VAR_RESULT, TRUE
- goto_if_eq VictoryRoad_1F_EventScript_RematchWally
+ goto_if_eq VAR_RESULT, TRUE, VictoryRoad_1F_EventScript_RematchWally
msgbox VictoryRoad_1F_Text_WallyPostBattle, MSGBOX_AUTOCLOSE
end
diff --git a/data/mb_berry_fix.gba b/data/mb_berry_fix.gba
new file mode 100755
index 0000000000..0afff07f5d
Binary files /dev/null and b/data/mb_berry_fix.gba differ
diff --git a/data/pokemon_colosseum.mb b/data/mb_colosseum.gba
similarity index 100%
rename from data/pokemon_colosseum.mb
rename to data/mb_colosseum.gba
diff --git a/data/ereader_link_data.bin b/data/mb_ereader.gba
similarity index 100%
rename from data/ereader_link_data.bin
rename to data/mb_ereader.gba
diff --git a/data/multiboot_berry_glitch_fix.s b/data/multiboot_berry_glitch_fix.s
index 7d65c0d4de..d0d54d5502 100644
--- a/data/multiboot_berry_glitch_fix.s
+++ b/data/multiboot_berry_glitch_fix.s
@@ -1,5 +1,5 @@
.section .rodata
gMultiBootProgram_BerryGlitchFix_Start::
- .incbin "berry_fix/berry_fix.gba"
+ .incbin "data/mb_berry_fix.gba"
gMultiBootProgram_BerryGlitchFix_End::
diff --git a/data/multiboot_ereader.s b/data/multiboot_ereader.s
new file mode 100644
index 0000000000..ab97f72799
--- /dev/null
+++ b/data/multiboot_ereader.s
@@ -0,0 +1,6 @@
+ .section .rodata
+
+ .align 2
+gMultiBootProgram_EReader_Start::
+ .incbin "data/mb_ereader.gba"
+gMultiBootProgram_EReader_End::
diff --git a/data/multiboot_pokemon_colosseum.s b/data/multiboot_pokemon_colosseum.s
index 179f8a0671..a5f894908a 100644
--- a/data/multiboot_pokemon_colosseum.s
+++ b/data/multiboot_pokemon_colosseum.s
@@ -1,5 +1,5 @@
.section .rodata
gMultiBootProgram_PokemonColosseum_Start::
- .incbin "data/pokemon_colosseum.mb"
+ .incbin "data/mb_colosseum.gba"
gMultiBootProgram_PokemonColosseum_End::
diff --git a/data/mystery_gift.s b/data/mystery_gift.s
index df0cbd4ac0..86202b95f7 100644
--- a/data/mystery_gift.s
+++ b/data/mystery_gift.s
@@ -8,6 +8,7 @@
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/vars.h"
+#include "constants/wild_encounter.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.include "constants/constants.inc"
diff --git a/data/script_cmd_table.inc b/data/script_cmd_table.inc
index dcc0da9f7f..51b7f966e4 100644
--- a/data/script_cmd_table.inc
+++ b/data/script_cmd_table.inc
@@ -13,12 +13,12 @@ gScriptCmdTable::
.4byte ScrCmd_gotostd_if @ 0x0a
.4byte ScrCmd_callstd_if @ 0x0b
.4byte ScrCmd_returnram @ 0x0c
- .4byte ScrCmd_killscript @ 0x0d
+ .4byte ScrCmd_endram @ 0x0d
.4byte ScrCmd_setmysteryeventstatus @ 0x0e
.4byte ScrCmd_loadword @ 0x0f
.4byte ScrCmd_loadbyte @ 0x10
- .4byte ScrCmd_writebytetoaddr @ 0x11
- .4byte ScrCmd_loadbytefromaddr @ 0x12
+ .4byte ScrCmd_setptr @ 0x11
+ .4byte ScrCmd_loadbytefromptr @ 0x12
.4byte ScrCmd_setptrbyte @ 0x13
.4byte ScrCmd_copylocal @ 0x14
.4byte ScrCmd_copybyte @ 0x15
@@ -29,10 +29,10 @@ gScriptCmdTable::
.4byte ScrCmd_setorcopyvar @ 0x1a
.4byte ScrCmd_compare_local_to_local @ 0x1b
.4byte ScrCmd_compare_local_to_value @ 0x1c
- .4byte ScrCmd_compare_local_to_addr @ 0x1d
- .4byte ScrCmd_compare_addr_to_local @ 0x1e
- .4byte ScrCmd_compare_addr_to_value @ 0x1f
- .4byte ScrCmd_compare_addr_to_addr @ 0x20
+ .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
@@ -80,16 +80,16 @@ gScriptCmdTable::
.4byte ScrCmd_checkdecor @ 0x4d
.4byte ScrCmd_checkdecorspace @ 0x4e
.4byte ScrCmd_applymovement @ 0x4f
- .4byte ScrCmd_applymovement_at @ 0x50
+ .4byte ScrCmd_applymovementat @ 0x50
.4byte ScrCmd_waitmovement @ 0x51
- .4byte ScrCmd_waitmovement_at @ 0x52
+ .4byte ScrCmd_waitmovementat @ 0x52
.4byte ScrCmd_removeobject @ 0x53
- .4byte ScrCmd_removeobject_at @ 0x54
+ .4byte ScrCmd_removeobjectat @ 0x54
.4byte ScrCmd_addobject @ 0x55
- .4byte ScrCmd_addobject_at @ 0x56
+ .4byte ScrCmd_addobjectat @ 0x56
.4byte ScrCmd_setobjectxy @ 0x57
- .4byte ScrCmd_showobject_at @ 0x58
- .4byte ScrCmd_hideobject_at @ 0x59
+ .4byte ScrCmd_showobjectat @ 0x58
+ .4byte ScrCmd_hideobjectat @ 0x59
.4byte ScrCmd_faceplayer @ 0x5a
.4byte ScrCmd_turnobject @ 0x5b
.4byte ScrCmd_trainerbattle @ 0x5c
@@ -150,14 +150,14 @@ gScriptCmdTable::
.4byte ScrCmd_showmoneybox @ 0x93
.4byte ScrCmd_hidemoneybox @ 0x94
.4byte ScrCmd_updatemoneybox @ 0x95
- .4byte ScrCmd_getpricereduction @ 0x96
+ .4byte ScrCmd_getpokenewsactive @ 0x96
.4byte ScrCmd_fadescreen @ 0x97
.4byte ScrCmd_fadescreenspeed @ 0x98
- .4byte ScrCmd_setflashradius @ 0x99
+ .4byte ScrCmd_setflashlevel @ 0x99
.4byte ScrCmd_animateflash @ 0x9a
.4byte ScrCmd_messageautoscroll @ 0x9b
.4byte ScrCmd_dofieldeffect @ 0x9c
- .4byte ScrCmd_setfieldeffectarg @ 0x9d
+ .4byte ScrCmd_setfieldeffectargument @ 0x9d
.4byte ScrCmd_waitfieldeffect @ 0x9e
.4byte ScrCmd_setrespawn @ 0x9f
.4byte ScrCmd_checkplayergender @ 0xa0
@@ -168,8 +168,8 @@ gScriptCmdTable::
.4byte ScrCmd_doweather @ 0xa5
.4byte ScrCmd_setstepcallback @ 0xa6
.4byte ScrCmd_setmaplayoutindex @ 0xa7
- .4byte ScrCmd_setobjectpriority @ 0xa8
- .4byte ScrCmd_resetobjectpriority @ 0xa9
+ .4byte ScrCmd_setobjectsubpriority @ 0xa8
+ .4byte ScrCmd_resetobjectsubpriority @ 0xa9
.4byte ScrCmd_createvobject @ 0xaa
.4byte ScrCmd_turnvobject @ 0xab
.4byte ScrCmd_opendoor @ 0xac
@@ -190,7 +190,7 @@ gScriptCmdTable::
.4byte ScrCmd_vgoto_if @ 0xbb
.4byte ScrCmd_vcall_if @ 0xbc
.4byte ScrCmd_vmessage @ 0xbd
- .4byte ScrCmd_vloadword @ 0xbe
+ .4byte ScrCmd_vbuffermessage @ 0xbe
.4byte ScrCmd_vbufferstring @ 0xbf
.4byte ScrCmd_showcoinsbox @ 0xc0
.4byte ScrCmd_hidecoinsbox @ 0xc1
@@ -207,7 +207,7 @@ gScriptCmdTable::
.4byte ScrCmd_nop1 @ 0xcc
.4byte ScrCmd_setmoneventlegal @ 0xcd
.4byte ScrCmd_checkmoneventlegal @ 0xce
- .4byte ScrCmd_gotoram @ 0xcf
+ .4byte ScrCmd_trywondercardscript @ 0xcf
.4byte ScrCmd_nop1 @ 0xd0
.4byte ScrCmd_warpspinenter @ 0xd1
.4byte ScrCmd_setmonmetlocation @ 0xd2
@@ -224,8 +224,8 @@ gScriptCmdTable::
.4byte ScrCmd_buffertrainerclassname @ 0xdd
.4byte ScrCmd_buffertrainername @ 0xde
.4byte ScrCmd_pokenavcall @ 0xdf
- .4byte ScrCmd_warpsootopolislegend @ 0xe0
- .4byte ScrCmd_buffercontesttype @ 0xe1
+ .4byte ScrCmd_warpwhitefade @ 0xe0
+ .4byte ScrCmd_buffercontestname @ 0xe1
.4byte ScrCmd_bufferitemnameplural @ 0xe2
gScriptCmdTableEnd::
diff --git a/data/scripts/abnormal_weather.inc b/data/scripts/abnormal_weather.inc
index 9af24c45d5..c5b03a9704 100644
--- a/data/scripts/abnormal_weather.inc
+++ b/data/scripts/abnormal_weather.inc
@@ -1,161 +1,161 @@
AbnormalWeather_EventScript_PlaceTilesRoute114North::
- setmetatile 7, 3, METATILE_Fallarbor_RedCaveEntrance_Top, 1
- setmetatile 7, 4, METATILE_Fallarbor_RedCaveEntrance_Bottom, 0
+ setmetatile 7, 3, METATILE_Fallarbor_RedCaveEntrance_Top, TRUE
+ setmetatile 7, 4, METATILE_Fallarbor_RedCaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute114South::
- setmetatile 6, 45, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
- setmetatile 6, 46, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
+ setmetatile 6, 45, METATILE_Fallarbor_BrownCaveEntrance_Top, TRUE
+ setmetatile 6, 46, METATILE_Fallarbor_BrownCaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute115West::
- setmetatile 21, 5, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
- setmetatile 21, 6, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
+ setmetatile 21, 5, METATILE_Fallarbor_BrownCaveEntrance_Top, TRUE
+ setmetatile 21, 6, METATILE_Fallarbor_BrownCaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute115East::
- setmetatile 36, 9, METATILE_Fallarbor_BrownCaveEntrance_Top, 1
- setmetatile 36, 10, METATILE_Fallarbor_BrownCaveEntrance_Bottom, 0
+ setmetatile 36, 9, METATILE_Fallarbor_BrownCaveEntrance_Top, TRUE
+ setmetatile 36, 10, METATILE_Fallarbor_BrownCaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute116North::
- setmetatile 59, 12, METATILE_General_CaveEntrance_Top, 1
- setmetatile 59, 13, METATILE_General_CaveEntrance_Bottom, 0
+ setmetatile 59, 12, METATILE_General_CaveEntrance_Top, TRUE
+ setmetatile 59, 13, METATILE_General_CaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute116South::
- setmetatile 79, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 79, 6, METATILE_General_CaveEntrance_Bottom, 0
+ setmetatile 79, 5, METATILE_General_CaveEntrance_Top, TRUE
+ setmetatile 79, 6, METATILE_General_CaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute118East::
- setmetatile 42, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 42, 6, METATILE_General_CaveEntrance_Bottom, 0
+ setmetatile 42, 5, METATILE_General_CaveEntrance_Top, TRUE
+ setmetatile 42, 6, METATILE_General_CaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute118West::
- setmetatile 9, 5, METATILE_General_CaveEntrance_Top, 1
- setmetatile 9, 6, METATILE_General_CaveEntrance_Bottom, 0
+ setmetatile 9, 5, METATILE_General_CaveEntrance_Top, TRUE
+ setmetatile 9, 6, METATILE_General_CaveEntrance_Bottom, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute105North::
- setmetatile 10, 28, METATILE_General_RoughWater, 0
- setmetatile 11, 28, METATILE_General_RoughWater, 0
- setmetatile 9, 29, METATILE_General_RoughWater, 0
- setmetatile 10, 29, METATILE_General_RoughDeepWater, 0
- setmetatile 11, 29, METATILE_General_RoughDeepWater, 0
- setmetatile 12, 29, METATILE_General_RoughWater, 0
- setmetatile 9, 30, METATILE_General_RoughWater, 0
- setmetatile 10, 30, METATILE_General_RoughDeepWater, 0
- setmetatile 11, 30, METATILE_General_RoughDeepWater, 0
- setmetatile 12, 30, METATILE_General_RoughWater, 0
- setmetatile 10, 31, METATILE_General_RoughWater, 0
- setmetatile 11, 31, METATILE_General_RoughWater, 0
+ setmetatile 10, 28, METATILE_General_RoughWater, FALSE
+ setmetatile 11, 28, METATILE_General_RoughWater, FALSE
+ setmetatile 9, 29, METATILE_General_RoughWater, FALSE
+ setmetatile 10, 29, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 11, 29, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 12, 29, METATILE_General_RoughWater, FALSE
+ setmetatile 9, 30, METATILE_General_RoughWater, FALSE
+ setmetatile 10, 30, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 11, 30, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 12, 30, METATILE_General_RoughWater, FALSE
+ setmetatile 10, 31, METATILE_General_RoughWater, FALSE
+ setmetatile 11, 31, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute105South::
- setmetatile 20, 53, METATILE_General_RoughWater, 0
- setmetatile 21, 53, METATILE_General_RoughWater, 0
- setmetatile 19, 54, METATILE_General_RoughWater, 0
- setmetatile 20, 54, METATILE_General_RoughDeepWater, 0
- setmetatile 21, 54, METATILE_General_RoughDeepWater, 0
- setmetatile 22, 54, METATILE_General_RoughWater, 0
- setmetatile 19, 55, METATILE_General_RoughWater, 0
- setmetatile 20, 55, METATILE_General_RoughDeepWater, 0
- setmetatile 21, 55, METATILE_General_RoughDeepWater, 0
- setmetatile 22, 55, METATILE_General_RoughWater, 0
- setmetatile 20, 56, METATILE_General_RoughWater, 0
- setmetatile 21, 56, METATILE_General_RoughWater, 0
+ setmetatile 20, 53, METATILE_General_RoughWater, FALSE
+ setmetatile 21, 53, METATILE_General_RoughWater, FALSE
+ setmetatile 19, 54, METATILE_General_RoughWater, FALSE
+ setmetatile 20, 54, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 21, 54, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 22, 54, METATILE_General_RoughWater, FALSE
+ setmetatile 19, 55, METATILE_General_RoughWater, FALSE
+ setmetatile 20, 55, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 21, 55, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 22, 55, METATILE_General_RoughWater, FALSE
+ setmetatile 20, 56, METATILE_General_RoughWater, FALSE
+ setmetatile 21, 56, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute125West::
- setmetatile 8, 16, METATILE_General_RoughWater, 0
- setmetatile 9, 16, METATILE_General_RoughWater, 0
- setmetatile 7, 17, METATILE_General_RoughWater, 0
- setmetatile 8, 17, METATILE_General_RoughDeepWater, 0
- setmetatile 9, 17, METATILE_General_RoughDeepWater, 0
- setmetatile 10, 17, METATILE_General_RoughWater, 0
- setmetatile 7, 18, METATILE_General_RoughWater, 0
- setmetatile 8, 18, METATILE_General_RoughDeepWater, 0
- setmetatile 9, 18, METATILE_General_RoughDeepWater, 0
- setmetatile 10, 18, METATILE_General_RoughWater, 0
- setmetatile 8, 19, METATILE_General_RoughWater, 0
- setmetatile 9, 19, METATILE_General_RoughWater, 0
+ setmetatile 8, 16, METATILE_General_RoughWater, FALSE
+ setmetatile 9, 16, METATILE_General_RoughWater, FALSE
+ setmetatile 7, 17, METATILE_General_RoughWater, FALSE
+ setmetatile 8, 17, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 9, 17, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 10, 17, METATILE_General_RoughWater, FALSE
+ setmetatile 7, 18, METATILE_General_RoughWater, FALSE
+ setmetatile 8, 18, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 9, 18, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 10, 18, METATILE_General_RoughWater, FALSE
+ setmetatile 8, 19, METATILE_General_RoughWater, FALSE
+ setmetatile 9, 19, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute125East::
- setmetatile 53, 18, METATILE_General_RoughWater, 0
- setmetatile 54, 18, METATILE_General_RoughWater, 0
- setmetatile 52, 19, METATILE_General_RoughWater, 0
- setmetatile 53, 19, METATILE_General_RoughDeepWater, 0
- setmetatile 54, 19, METATILE_General_RoughDeepWater, 0
- setmetatile 55, 19, METATILE_General_RoughWater, 0
- setmetatile 52, 20, METATILE_General_RoughWater, 0
- setmetatile 53, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 54, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 55, 20, METATILE_General_RoughWater, 0
- setmetatile 53, 21, METATILE_General_RoughWater, 0
- setmetatile 54, 21, METATILE_General_RoughWater, 0
+ setmetatile 53, 18, METATILE_General_RoughWater, FALSE
+ setmetatile 54, 18, METATILE_General_RoughWater, FALSE
+ setmetatile 52, 19, METATILE_General_RoughWater, FALSE
+ setmetatile 53, 19, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 54, 19, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 55, 19, METATILE_General_RoughWater, FALSE
+ setmetatile 52, 20, METATILE_General_RoughWater, FALSE
+ setmetatile 53, 20, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 54, 20, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 55, 20, METATILE_General_RoughWater, FALSE
+ setmetatile 53, 21, METATILE_General_RoughWater, FALSE
+ setmetatile 54, 21, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute127North::
- setmetatile 57, 9, METATILE_General_RoughWater, 0
- setmetatile 58, 9, METATILE_General_RoughWater, 0
- setmetatile 56, 10, METATILE_General_RoughWater, 0
- setmetatile 57, 10, METATILE_General_RoughDeepWater, 0
- setmetatile 58, 10, METATILE_General_RoughDeepWater, 0
- setmetatile 59, 10, METATILE_General_RoughWater, 0
- setmetatile 56, 11, METATILE_General_RoughWater, 0
- setmetatile 57, 11, METATILE_General_RoughDeepWater, 0
- setmetatile 58, 11, METATILE_General_RoughDeepWater, 0
- setmetatile 59, 11, METATILE_General_RoughWater, 0
- setmetatile 57, 12, METATILE_General_RoughWater, 0
- setmetatile 58, 12, METATILE_General_RoughWater, 0
+ setmetatile 57, 9, METATILE_General_RoughWater, FALSE
+ setmetatile 58, 9, METATILE_General_RoughWater, FALSE
+ setmetatile 56, 10, METATILE_General_RoughWater, FALSE
+ setmetatile 57, 10, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 58, 10, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 59, 10, METATILE_General_RoughWater, FALSE
+ setmetatile 56, 11, METATILE_General_RoughWater, FALSE
+ setmetatile 57, 11, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 58, 11, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 59, 11, METATILE_General_RoughWater, FALSE
+ setmetatile 57, 12, METATILE_General_RoughWater, FALSE
+ setmetatile 58, 12, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute127South::
- setmetatile 61, 30, METATILE_General_RoughWater, 0
- setmetatile 62, 30, METATILE_General_RoughWater, 0
- setmetatile 60, 31, METATILE_General_RoughWater, 0
- setmetatile 61, 31, METATILE_General_RoughDeepWater, 0
- setmetatile 62, 31, METATILE_General_RoughDeepWater, 0
- setmetatile 63, 31, METATILE_General_RoughWater, 0
- setmetatile 60, 32, METATILE_General_RoughWater, 0
- setmetatile 61, 32, METATILE_General_RoughDeepWater, 0
- setmetatile 62, 32, METATILE_General_RoughDeepWater, 0
- setmetatile 63, 32, METATILE_General_RoughWater, 0
- setmetatile 61, 33, METATILE_General_RoughWater, 0
- setmetatile 62, 33, METATILE_General_RoughWater, 0
+ setmetatile 61, 30, METATILE_General_RoughWater, FALSE
+ setmetatile 62, 30, METATILE_General_RoughWater, FALSE
+ setmetatile 60, 31, METATILE_General_RoughWater, FALSE
+ setmetatile 61, 31, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 62, 31, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 63, 31, METATILE_General_RoughWater, FALSE
+ setmetatile 60, 32, METATILE_General_RoughWater, FALSE
+ setmetatile 61, 32, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 62, 32, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 63, 32, METATILE_General_RoughWater, FALSE
+ setmetatile 61, 33, METATILE_General_RoughWater, FALSE
+ setmetatile 62, 33, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute129West::
- setmetatile 16, 14, METATILE_General_RoughWater, 0
- setmetatile 17, 14, METATILE_General_RoughWater, 0
- setmetatile 15, 15, METATILE_General_RoughWater, 0
- setmetatile 16, 15, METATILE_General_RoughDeepWater, 0
- setmetatile 17, 15, METATILE_General_RoughDeepWater, 0
- setmetatile 18, 15, METATILE_General_RoughWater, 0
- setmetatile 15, 16, METATILE_General_RoughWater, 0
- setmetatile 16, 16, METATILE_General_RoughDeepWater, 0
- setmetatile 17, 16, METATILE_General_RoughDeepWater, 0
- setmetatile 18, 16, METATILE_General_RoughWater, 0
- setmetatile 16, 17, METATILE_General_RoughWater, 0
- setmetatile 17, 17, METATILE_General_RoughWater, 0
+ setmetatile 16, 14, METATILE_General_RoughWater, FALSE
+ setmetatile 17, 14, METATILE_General_RoughWater, FALSE
+ setmetatile 15, 15, METATILE_General_RoughWater, FALSE
+ setmetatile 16, 15, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 17, 15, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 18, 15, METATILE_General_RoughWater, FALSE
+ setmetatile 15, 16, METATILE_General_RoughWater, FALSE
+ setmetatile 16, 16, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 17, 16, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 18, 16, METATILE_General_RoughWater, FALSE
+ setmetatile 16, 17, METATILE_General_RoughWater, FALSE
+ setmetatile 17, 17, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_PlaceTilesRoute129East::
- setmetatile 42, 19, METATILE_General_RoughWater, 0
- setmetatile 43, 19, METATILE_General_RoughWater, 0
- setmetatile 41, 20, METATILE_General_RoughWater, 0
- setmetatile 42, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 43, 20, METATILE_General_RoughDeepWater, 0
- setmetatile 44, 20, METATILE_General_RoughWater, 0
- setmetatile 41, 21, METATILE_General_RoughWater, 0
- setmetatile 42, 21, METATILE_General_RoughDeepWater, 0
- setmetatile 43, 21, METATILE_General_RoughDeepWater, 0
- setmetatile 44, 21, METATILE_General_RoughWater, 0
- setmetatile 42, 22, METATILE_General_RoughWater, 0
- setmetatile 43, 22, METATILE_General_RoughWater, 0
+ setmetatile 42, 19, METATILE_General_RoughWater, FALSE
+ setmetatile 43, 19, METATILE_General_RoughWater, FALSE
+ setmetatile 41, 20, METATILE_General_RoughWater, FALSE
+ setmetatile 42, 20, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 43, 20, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 44, 20, METATILE_General_RoughWater, FALSE
+ setmetatile 41, 21, METATILE_General_RoughWater, FALSE
+ setmetatile 42, 21, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 43, 21, METATILE_General_RoughDeepWater, FALSE
+ setmetatile 44, 21, METATILE_General_RoughWater, FALSE
+ setmetatile 42, 22, METATILE_General_RoughWater, FALSE
+ setmetatile 43, 22, METATILE_General_RoughWater, FALSE
return
AbnormalWeather_EventScript_HideMapNamePopup::
@@ -172,8 +172,7 @@ AbnormalWeather_StartGroudonWeather::
AbnormalWeather_EventScript_EndEventAndCleanup_1::
lockall
- compare VAR_ABNORMAL_WEATHER_LOCATION, MARINE_CAVE_LOCATIONS_START
- goto_if_ge AbnormalWeather_EventScript_ShowRainEndedMessage
+ goto_if_ge VAR_ABNORMAL_WEATHER_LOCATION, MARINE_CAVE_LOCATIONS_START, AbnormalWeather_EventScript_ShowRainEndedMessage
goto AbnormalWeather_EventScript_ShowSunEndedMessage
end
@@ -222,163 +221,163 @@ AbnormalWeather_EventScript_CleanupMapTiles::
return
AbnormalWeather_EventScript_CleanupRoute114North::
- setmetatile 7, 3, METATILE_Fallarbor_RedRockWall, 1
- setmetatile 7, 4, METATILE_Fallarbor_RedRockWall, 1
+ setmetatile 7, 3, METATILE_Fallarbor_RedRockWall, TRUE
+ setmetatile 7, 4, METATILE_Fallarbor_RedRockWall, TRUE
return
AbnormalWeather_EventScript_CleanupRoute114South::
- setmetatile 6, 45, METATILE_Fallarbor_BrownRockWall, 1
- setmetatile 6, 46, METATILE_Fallarbor_BrownRockWall, 1
+ setmetatile 6, 45, METATILE_Fallarbor_BrownRockWall, TRUE
+ setmetatile 6, 46, METATILE_Fallarbor_BrownRockWall, TRUE
return
AbnormalWeather_EventScript_CleanupRoute115West::
- setmetatile 21, 5, METATILE_Fallarbor_BrownRockWall, 1
- setmetatile 21, 6, METATILE_Fallarbor_BrownRockWall, 1
+ setmetatile 21, 5, METATILE_Fallarbor_BrownRockWall, TRUE
+ setmetatile 21, 6, METATILE_Fallarbor_BrownRockWall, TRUE
return
AbnormalWeather_EventScript_CleanupRoute115East::
- setmetatile 36, 9, METATILE_Fallarbor_BrownRockWall, 1
- setmetatile 36, 10, METATILE_Fallarbor_BrownRockWall, 1
+ setmetatile 36, 9, METATILE_Fallarbor_BrownRockWall, TRUE
+ setmetatile 36, 10, METATILE_Fallarbor_BrownRockWall, TRUE
return
AbnormalWeather_EventScript_CleanupRoute116North::
- setmetatile 59, 12, METATILE_General_RockWall_RockBase, 1
- setmetatile 59, 13, METATILE_General_RockWall_RockBase, 1
+ setmetatile 59, 12, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 59, 13, METATILE_General_RockWall_RockBase, TRUE
return
AbnormalWeather_EventScript_CleanupRoute116South::
- setmetatile 79, 5, METATILE_General_RockWall_RockBase, 1
- setmetatile 79, 6, METATILE_General_RockWall_RockBase, 1
+ setmetatile 79, 5, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 79, 6, METATILE_General_RockWall_RockBase, TRUE
return
AbnormalWeather_EventScript_CleanupRoute118East::
- setmetatile 42, 5, METATILE_General_RockWall_RockBase, 1
- setmetatile 42, 6, METATILE_General_RockWall_GrassBase, 1
+ setmetatile 42, 5, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 42, 6, METATILE_General_RockWall_GrassBase, TRUE
return
AbnormalWeather_EventScript_CleanupRoute118West::
- setmetatile 9, 5, METATILE_General_RockWall_RockBase, 1
- setmetatile 9, 6, METATILE_General_RockWall_GrassBase, 1
+ setmetatile 9, 5, METATILE_General_RockWall_RockBase, TRUE
+ setmetatile 9, 6, METATILE_General_RockWall_GrassBase, TRUE
return
AbnormalWeather_EventScript_CleanupRoute105North::
- setmetatile 10, 28, METATILE_General_CalmWater, 0
- setmetatile 11, 28, METATILE_General_CalmWater, 0
- setmetatile 9, 29, METATILE_General_CalmWater, 0
- setmetatile 10, 29, METATILE_General_CalmWater, 0
- setmetatile 11, 29, METATILE_General_CalmWater, 0
- setmetatile 12, 29, METATILE_General_CalmWater, 0
- setmetatile 9, 30, METATILE_General_CalmWater, 0
- setmetatile 10, 30, METATILE_General_CalmWater, 0
- setmetatile 11, 30, METATILE_General_CalmWater, 0
- setmetatile 12, 30, METATILE_General_CalmWater, 0
- setmetatile 10, 31, METATILE_General_CalmWater, 0
- setmetatile 11, 31, METATILE_General_CalmWater, 0
+ setmetatile 10, 28, METATILE_General_CalmWater, FALSE
+ setmetatile 11, 28, METATILE_General_CalmWater, FALSE
+ setmetatile 9, 29, METATILE_General_CalmWater, FALSE
+ setmetatile 10, 29, METATILE_General_CalmWater, FALSE
+ setmetatile 11, 29, METATILE_General_CalmWater, FALSE
+ setmetatile 12, 29, METATILE_General_CalmWater, FALSE
+ setmetatile 9, 30, METATILE_General_CalmWater, FALSE
+ setmetatile 10, 30, METATILE_General_CalmWater, FALSE
+ setmetatile 11, 30, METATILE_General_CalmWater, FALSE
+ setmetatile 12, 30, METATILE_General_CalmWater, FALSE
+ setmetatile 10, 31, METATILE_General_CalmWater, FALSE
+ setmetatile 11, 31, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute105South::
- setmetatile 20, 53, METATILE_General_CalmWater, 0
- setmetatile 21, 53, METATILE_General_CalmWater, 0
- setmetatile 19, 54, METATILE_General_CalmWater, 0
- setmetatile 20, 54, METATILE_General_CalmWater, 0
- setmetatile 21, 54, METATILE_General_CalmWater, 0
- setmetatile 22, 54, METATILE_General_CalmWater, 0
- setmetatile 19, 55, METATILE_General_CalmWater, 0
- setmetatile 20, 55, METATILE_General_CalmWater, 0
- setmetatile 21, 55, METATILE_General_CalmWater, 0
- setmetatile 22, 55, METATILE_General_CalmWater, 0
- setmetatile 20, 56, METATILE_General_CalmWater, 0
- setmetatile 21, 56, METATILE_General_CalmWater, 0
+ setmetatile 20, 53, METATILE_General_CalmWater, FALSE
+ setmetatile 21, 53, METATILE_General_CalmWater, FALSE
+ setmetatile 19, 54, METATILE_General_CalmWater, FALSE
+ setmetatile 20, 54, METATILE_General_CalmWater, FALSE
+ setmetatile 21, 54, METATILE_General_CalmWater, FALSE
+ setmetatile 22, 54, METATILE_General_CalmWater, FALSE
+ setmetatile 19, 55, METATILE_General_CalmWater, FALSE
+ setmetatile 20, 55, METATILE_General_CalmWater, FALSE
+ setmetatile 21, 55, METATILE_General_CalmWater, FALSE
+ setmetatile 22, 55, METATILE_General_CalmWater, FALSE
+ setmetatile 20, 56, METATILE_General_CalmWater, FALSE
+ setmetatile 21, 56, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute125West::
- setmetatile 8, 16, METATILE_General_CalmWater, 0
- setmetatile 9, 16, METATILE_General_CalmWater, 0
- setmetatile 7, 17, METATILE_General_CalmWater, 0
- setmetatile 8, 17, METATILE_General_CalmWater, 0
- setmetatile 9, 17, METATILE_General_CalmWater, 0
- setmetatile 10, 17, METATILE_General_CalmWater, 0
- setmetatile 7, 18, METATILE_General_CalmWater, 0
- setmetatile 8, 18, METATILE_General_CalmWater, 0
- setmetatile 9, 18, METATILE_General_CalmWater, 0
- setmetatile 10, 18, METATILE_General_CalmWater, 0
- setmetatile 8, 19, METATILE_General_CalmWater, 0
- setmetatile 9, 19, METATILE_General_CalmWater, 0
+ setmetatile 8, 16, METATILE_General_CalmWater, FALSE
+ setmetatile 9, 16, METATILE_General_CalmWater, FALSE
+ setmetatile 7, 17, METATILE_General_CalmWater, FALSE
+ setmetatile 8, 17, METATILE_General_CalmWater, FALSE
+ setmetatile 9, 17, METATILE_General_CalmWater, FALSE
+ setmetatile 10, 17, METATILE_General_CalmWater, FALSE
+ setmetatile 7, 18, METATILE_General_CalmWater, FALSE
+ setmetatile 8, 18, METATILE_General_CalmWater, FALSE
+ setmetatile 9, 18, METATILE_General_CalmWater, FALSE
+ setmetatile 10, 18, METATILE_General_CalmWater, FALSE
+ setmetatile 8, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 9, 19, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute125East::
- setmetatile 53, 18, METATILE_General_CalmWater, 0
- setmetatile 54, 18, METATILE_General_CalmWater, 0
- setmetatile 52, 19, METATILE_General_CalmWater, 0
- setmetatile 53, 19, METATILE_General_CalmWater, 0
- setmetatile 54, 19, METATILE_General_CalmWater, 0
- setmetatile 55, 19, METATILE_General_CalmWater, 0
- setmetatile 52, 20, METATILE_General_CalmWater, 0
- setmetatile 53, 20, METATILE_General_CalmWater, 0
- setmetatile 54, 20, METATILE_General_CalmWater, 0
- setmetatile 55, 20, METATILE_General_CalmWater, 0
- setmetatile 53, 21, METATILE_General_CalmWater, 0
- setmetatile 54, 21, METATILE_General_CalmWater, 0
+ setmetatile 53, 18, METATILE_General_CalmWater, FALSE
+ setmetatile 54, 18, METATILE_General_CalmWater, FALSE
+ setmetatile 52, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 53, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 54, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 55, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 52, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 53, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 54, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 55, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 53, 21, METATILE_General_CalmWater, FALSE
+ setmetatile 54, 21, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute127North::
- setmetatile 57, 9, METATILE_General_CalmWater, 0
- setmetatile 58, 9, METATILE_General_CalmWater, 0
- setmetatile 56, 10, METATILE_General_CalmWater, 0
- setmetatile 57, 10, METATILE_General_CalmWater, 0
- setmetatile 58, 10, METATILE_General_CalmWater, 0
- setmetatile 59, 10, METATILE_General_CalmWater, 0
- setmetatile 56, 11, METATILE_General_CalmWater, 0
- setmetatile 57, 11, METATILE_General_CalmWater, 0
- setmetatile 58, 11, METATILE_General_CalmWater, 0
- setmetatile 59, 11, METATILE_General_CalmWater, 0
- setmetatile 57, 12, METATILE_General_CalmWater, 0
- setmetatile 58, 12, METATILE_General_CalmWater, 0
+ setmetatile 57, 9, METATILE_General_CalmWater, FALSE
+ setmetatile 58, 9, METATILE_General_CalmWater, FALSE
+ setmetatile 56, 10, METATILE_General_CalmWater, FALSE
+ setmetatile 57, 10, METATILE_General_CalmWater, FALSE
+ setmetatile 58, 10, METATILE_General_CalmWater, FALSE
+ setmetatile 59, 10, METATILE_General_CalmWater, FALSE
+ setmetatile 56, 11, METATILE_General_CalmWater, FALSE
+ setmetatile 57, 11, METATILE_General_CalmWater, FALSE
+ setmetatile 58, 11, METATILE_General_CalmWater, FALSE
+ setmetatile 59, 11, METATILE_General_CalmWater, FALSE
+ setmetatile 57, 12, METATILE_General_CalmWater, FALSE
+ setmetatile 58, 12, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute127South::
- setmetatile 61, 30, METATILE_General_CalmWater, 0
- setmetatile 62, 30, METATILE_General_CalmWater, 0
- setmetatile 60, 31, METATILE_General_CalmWater, 0
- setmetatile 61, 31, METATILE_General_CalmWater, 0
- setmetatile 62, 31, METATILE_General_CalmWater, 0
- setmetatile 63, 31, METATILE_General_CalmWater, 0
- setmetatile 60, 32, METATILE_General_CalmWater, 0
- setmetatile 61, 32, METATILE_General_CalmWater, 0
- setmetatile 62, 32, METATILE_General_CalmWater, 0
- setmetatile 63, 32, METATILE_General_CalmWater, 0
- setmetatile 61, 33, METATILE_General_CalmWater, 0
- setmetatile 62, 33, METATILE_General_CalmWater, 0
+ setmetatile 61, 30, METATILE_General_CalmWater, FALSE
+ setmetatile 62, 30, METATILE_General_CalmWater, FALSE
+ setmetatile 60, 31, METATILE_General_CalmWater, FALSE
+ setmetatile 61, 31, METATILE_General_CalmWater, FALSE
+ setmetatile 62, 31, METATILE_General_CalmWater, FALSE
+ setmetatile 63, 31, METATILE_General_CalmWater, FALSE
+ setmetatile 60, 32, METATILE_General_CalmWater, FALSE
+ setmetatile 61, 32, METATILE_General_CalmWater, FALSE
+ setmetatile 62, 32, METATILE_General_CalmWater, FALSE
+ setmetatile 63, 32, METATILE_General_CalmWater, FALSE
+ setmetatile 61, 33, METATILE_General_CalmWater, FALSE
+ setmetatile 62, 33, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute129West::
- setmetatile 16, 14, METATILE_General_CalmWater, 0
- setmetatile 17, 14, METATILE_General_CalmWater, 0
- setmetatile 15, 15, METATILE_General_CalmWater, 0
- setmetatile 16, 15, METATILE_General_CalmWater, 0
- setmetatile 17, 15, METATILE_General_CalmWater, 0
- setmetatile 18, 15, METATILE_General_CalmWater, 0
- setmetatile 15, 16, METATILE_General_CalmWater, 0
- setmetatile 16, 16, METATILE_General_CalmWater, 0
- setmetatile 17, 16, METATILE_General_CalmWater, 0
- setmetatile 18, 16, METATILE_General_CalmWater, 0
- setmetatile 16, 17, METATILE_General_CalmWater, 0
- setmetatile 17, 17, METATILE_General_CalmWater, 0
+ setmetatile 16, 14, METATILE_General_CalmWater, FALSE
+ setmetatile 17, 14, METATILE_General_CalmWater, FALSE
+ setmetatile 15, 15, METATILE_General_CalmWater, FALSE
+ setmetatile 16, 15, METATILE_General_CalmWater, FALSE
+ setmetatile 17, 15, METATILE_General_CalmWater, FALSE
+ setmetatile 18, 15, METATILE_General_CalmWater, FALSE
+ setmetatile 15, 16, METATILE_General_CalmWater, FALSE
+ setmetatile 16, 16, METATILE_General_CalmWater, FALSE
+ setmetatile 17, 16, METATILE_General_CalmWater, FALSE
+ setmetatile 18, 16, METATILE_General_CalmWater, FALSE
+ setmetatile 16, 17, METATILE_General_CalmWater, FALSE
+ setmetatile 17, 17, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_EventScript_CleanupRoute129East::
- setmetatile 42, 19, METATILE_General_CalmWater, 0
- setmetatile 43, 19, METATILE_General_CalmWater, 0
- setmetatile 41, 20, METATILE_General_CalmWater, 0
- setmetatile 42, 20, METATILE_General_CalmWater, 0
- setmetatile 43, 20, METATILE_General_CalmWater, 0
- setmetatile 44, 20, METATILE_General_CalmWater, 0
- setmetatile 41, 21, METATILE_General_CalmWater, 0
- setmetatile 42, 21, METATILE_General_CalmWater, 0
- setmetatile 43, 21, METATILE_General_CalmWater, 0
- setmetatile 44, 21, METATILE_General_CalmWater, 0
- setmetatile 42, 22, METATILE_General_CalmWater, 0
- setmetatile 43, 22, METATILE_General_CalmWater, 0
+ setmetatile 42, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 43, 19, METATILE_General_CalmWater, FALSE
+ setmetatile 41, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 42, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 43, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 44, 20, METATILE_General_CalmWater, FALSE
+ setmetatile 41, 21, METATILE_General_CalmWater, FALSE
+ setmetatile 42, 21, METATILE_General_CalmWater, FALSE
+ setmetatile 43, 21, METATILE_General_CalmWater, FALSE
+ setmetatile 44, 21, METATILE_General_CalmWater, FALSE
+ setmetatile 42, 22, METATILE_General_CalmWater, FALSE
+ setmetatile 43, 22, METATILE_General_CalmWater, FALSE
return
AbnormalWeather_Underwater_SetupEscapeWarp::
@@ -394,33 +393,33 @@ AbnormalWeather_Underwater_SetupEscapeWarp::
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute105North::
- setescapewarp MAP_ROUTE105, 255, 11, 29
+ setescapewarp MAP_ROUTE105, 11, 29
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute105South::
- setescapewarp MAP_ROUTE105, 255, 21, 54
+ setescapewarp MAP_ROUTE105, 21, 54
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute125West::
- setescapewarp MAP_ROUTE125, 255, 9, 17
+ setescapewarp MAP_ROUTE125, 9, 17
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute125East::
- setescapewarp MAP_ROUTE125, 255, 54, 19
+ setescapewarp MAP_ROUTE125, 54, 19
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute127North::
- setescapewarp MAP_ROUTE127, 255, 58, 10
+ setescapewarp MAP_ROUTE127, 58, 10
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute127South::
- setescapewarp MAP_ROUTE127, 255, 62, 31
+ setescapewarp MAP_ROUTE127, 62, 31
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute129West::
- setescapewarp MAP_ROUTE129, 255, 17, 15
+ setescapewarp MAP_ROUTE129, 17, 15
return
AbnormalWeather_Underwater_SetupEscapeWarpRoute129East::
- setescapewarp MAP_ROUTE129, 255, 43, 20
+ setescapewarp MAP_ROUTE129, 43, 20
return
diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc
index 2a6772a5dc..6b3a99e728 100644
--- a/data/scripts/apprentice.inc
+++ b/data/scripts/apprentice.inc
@@ -4,40 +4,32 @@ BattleFrontier_BattleTowerLobby_EventScript_Apprentice::
lock
faceplayer
apprentice_gavelvlmode
- compare VAR_RESULT, FALSE
- goto_if_eq Apprentice_EventScript_FirstMeeting
+ goto_if_eq VAR_RESULT, FALSE, Apprentice_EventScript_FirstMeeting
apprentice_shouldcheckgone
- compare VAR_0x8004, FALSE @ Always TRUE here
- goto_if_eq Apprentice_EventScript_AskQuestion
+ goto_if_eq VAR_0x8004, FALSE, Apprentice_EventScript_AskQuestion @ VAR_0x8004 always TRUE here
goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Apprentice_EventScript_Gone
Apprentice_EventScript_AskQuestion:
apprentice_getquestion
- compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MON
- goto_if_eq Apprentice_EventScript_UseWhichMon
- compare VAR_RESULT, APPRENTICE_QUESTION_WHAT_ITEM
- goto_if_eq Apprentice_EventScript_UseWhatHeldItem
- compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MOVE
- goto_if_eq Apprentice_EventScript_UseWhichMove
- compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_FIRST
- goto_if_eq Apprentice_EventScript_PutWhichMonFirst
- compare VAR_RESULT, APPRENTICE_QUESTION_WIN_SPEECH
- goto_if_eq Apprentice_EventScript_PickWinSpeech
+ goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHICH_MON, Apprentice_EventScript_UseWhichMon
+ goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHAT_ITEM, Apprentice_EventScript_UseWhatHeldItem
+ goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHICH_MOVE, Apprentice_EventScript_UseWhichMove
+ goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHICH_FIRST, Apprentice_EventScript_PutWhichMonFirst
+ goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WIN_SPEECH, Apprentice_EventScript_PickWinSpeech
release
releaseall
end
Apprentice_EventScript_FirstMeeting:
- apprentice_buff 0, APPRENTICE_BUFF_NAME
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_NAME
apprentice_msg FALSE, APPRENTICE_MSG_PLEASE_TEACH
Apprentice_EventScript_WhichLvlMode:
apprentice_menu APPRENTICE_ASK_YES_NO
- compare VAR_RESULT, 1
- goto_if_eq Apprentice_EventScript_RejectTeach
+ goto_if_eq VAR_RESULT, 1, Apprentice_EventScript_RejectTeach
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_LVL_MODE
apprentice_menu APPRENTICE_ASK_WHICH_LEVEL
apprentice_setlvlmode VAR_RESULT
apprentice_shufflespecies
- apprentice_buff 0, APPRENTICE_BUFF_LEVEL
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_LEVEL
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_LVL_MODE
call Apprentice_EventScript_SetHideFlags
release
@@ -54,22 +46,19 @@ Apprentice_EventScript_RejectTeach:
Apprentice_EventScript_UseWhichMon:
apprentice_initquestion APPRENTICE_QUESTION_WHICH_MON
- apprentice_buff 0, APPRENTICE_BUFF_SPECIES1
- apprentice_buff 1, APPRENTICE_BUFF_SPECIES2
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES1
+ apprentice_buff STR_VAR_2, APPRENTICE_BUFF_SPECIES2
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON
apprentice_menu APPRENTICE_ASK_2SPECIES
copyvar VAR_0x8005, VAR_RESULT
- compare VAR_0x8005, 0
- call_if_eq Apprentice_EventScript_ChoseFirstMon
- compare VAR_0x8005, 1
- call_if_eq Apprentice_EventScript_ChoseSecondMon
+ call_if_eq VAR_0x8005, 0, Apprentice_EventScript_ChoseFirstMon
+ call_if_eq VAR_0x8005, 1, Apprentice_EventScript_ChoseSecondMon
apprentice_getnumpartymons
apprentice_setpartymon VAR_RESULT
apprentice_answeredquestion
apprentice_getnumpartymons
- compare VAR_RESULT, MULTI_PARTY_SIZE
- call_if_eq Apprentice_EventScript_LastMonSelected
- apprentice_buff 0, VAR_0x8007
+ call_if_eq VAR_RESULT, MULTI_PARTY_SIZE, Apprentice_EventScript_LastMonSelected
+ apprentice_buff STR_VAR_1, VAR_0x8007
apprentice_freequestion
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON
call Apprentice_EventScript_SetHideFlags
@@ -94,19 +83,17 @@ Apprentice_EventScript_LastMonSelected:
Apprentice_EventScript_UseWhatHeldItem:
apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
- apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES3
apprentice_msg TRUE, APPRENTICE_MSG_WHAT_HELD_ITEM
apprentice_freequestion
Apprentice_EventScript_ChooseHoldItem:
fadescreen FADE_TO_BLACK
setvar VAR_RESULT, 0
apprentice_openbag
- compare VAR_RESULT, FALSE
- goto_if_eq Apprentice_EventScript_ConfirmHoldNothing
+ goto_if_eq VAR_RESULT, FALSE, Apprentice_EventScript_ConfirmHoldNothing
apprentice_trysetitem
- compare VAR_RESULT, FALSE
- goto_if_eq Apprentice_EventScript_AlreadySuggestedItem
- apprentice_buff 0, APPRENTICE_BUFF_ITEM
+ goto_if_eq VAR_RESULT, FALSE, Apprentice_EventScript_AlreadySuggestedItem
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_ITEM
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_HELD_ITEM
apprentice_answeredquestion
call Apprentice_EventScript_SetHideFlags
@@ -119,12 +106,11 @@ Apprentice_EventScript_ChooseHoldItem:
Apprentice_EventScript_ConfirmHoldNothing:
apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
- apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES3
apprentice_msg FALSE, APPRENTICE_MSG_HOLD_NOTHING
apprentice_menu APPRENTICE_ASK_GIVE
apprentice_freequestion
- compare VAR_RESULT, 0
- goto_if_eq Apprentice_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, 0, Apprentice_EventScript_ChooseHoldItem
Apprentice_EventScript_HoldNothing:
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_NO_HELD_ITEM
apprentice_answeredquestion
@@ -140,31 +126,28 @@ Apprentice_EventScript_HoldNothing:
@ different item if theyve already told the Apprentice to use it for another mon
Apprentice_EventScript_AlreadySuggestedItem:
apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
- apprentice_buff 0, APPRENTICE_BUFF_ITEM
- apprentice_buff 1, APPRENTICE_BUFF_SPECIES3
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_ITEM
+ apprentice_buff STR_VAR_2, APPRENTICE_BUFF_SPECIES3
apprentice_msg FALSE, APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED
apprentice_menu APPRENTICE_ASK_GIVE
apprentice_freequestion
- compare VAR_RESULT, 0
- goto_if_eq Apprentice_EventScript_ChooseHoldItem
+ goto_if_eq VAR_RESULT, 0, Apprentice_EventScript_ChooseHoldItem
goto Apprentice_EventScript_HoldNothing
end
Apprentice_EventScript_UseWhichMove:
apprentice_initquestion APPRENTICE_QUESTION_WHICH_MOVE
- apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
- apprentice_buff 1, APPRENTICE_BUFF_MOVE1
- apprentice_buff 2, APPRENTICE_BUFF_MOVE2
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES3
+ apprentice_buff STR_VAR_2, APPRENTICE_BUFF_MOVE1
+ apprentice_buff STR_VAR_3, APPRENTICE_BUFF_MOVE2
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MOVE
apprentice_menu APPRENTICE_ASK_MOVES
copyvar VAR_0x8005, VAR_RESULT
- compare VAR_0x8005, 0
- call_if_eq Apprentice_EventScript_ChoseMove1
- compare VAR_0x8005, 1
- call_if_eq Apprentice_EventScript_ChoseMove2
+ call_if_eq VAR_0x8005, 0, Apprentice_EventScript_ChoseMove1
+ call_if_eq VAR_0x8005, 1, Apprentice_EventScript_ChoseMove2
apprentice_setmove
apprentice_answeredquestion
- apprentice_buff 0, VAR_0x8007
+ apprentice_buff STR_VAR_1, VAR_0x8007
apprentice_freequestion
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MOVE
call Apprentice_EventScript_SetHideFlags
@@ -188,7 +171,7 @@ Apprentice_EventScript_PutWhichMonFirst:
apprentice_menu APPRENTICE_ASK_3SPECIES
apprentice_setleadmon VAR_RESULT
apprentice_answeredquestion
- apprentice_buff 0, APPRENTICE_BUFF_LEAD_MON_SPECIES
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_LEAD_MON_SPECIES
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON_FIRST
call Apprentice_EventScript_SetHideFlags
release
@@ -207,7 +190,7 @@ Apprentice_EventScript_PickWinSpeech:
lock
faceplayer
apprentice_save
- apprentice_buff 0, APPRENTICE_BUFF_WIN_SPEECH
+ apprentice_buff STR_VAR_1, APPRENTICE_BUFF_WIN_SPEECH
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_WIN_SPEECH
apprentice_reset
call Apprentice_EventScript_SetHideFlags
@@ -225,16 +208,14 @@ Apprentice_EventScript_SetHideFlags:
Apprentice_EventScript_LeaveNorth:
apprentice_shouldleave
- compare VAR_0x8004, FALSE @ Always TRUE here
- goto_if_eq Apprentice_EventScript_DontMove
+ goto_if_eq VAR_0x8004, FALSE, Apprentice_EventScript_DontMove @ VAR_0x8004 always TRUE here
applymovement LOCALID_APPRENTICE, Apprentice_Movement_LeaveNorth
waitmovement 0
end
Apprentice_EventScript_Leave:
apprentice_shouldleave
- compare VAR_0x8004, FALSE @ Always TRUE here
- goto_if_eq Apprentice_EventScript_DontMove
+ goto_if_eq VAR_0x8004, FALSE, Apprentice_EventScript_DontMove @ VAR_0x8004 always TRUE here
applymovement LOCALID_APPRENTICE, Apprentice_Movement_Leave
waitmovement 0
end
diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc
index 3260bcfd82..8ca7f5b1af 100644
--- a/data/scripts/battle_pike.inc
+++ b/data/scripts/battle_pike.inc
@@ -50,14 +50,10 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects::
setvar VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_LINK_RECEPTIONIST
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_LINK_RECEPTIONIST
pike_getroomtype
- compare VAR_RESULT, PIKE_ROOM_STATUS
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
- compare VAR_RESULT, PIKE_ROOM_HARD_BATTLE
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
- compare VAR_RESULT, PIKE_ROOM_DOUBLE_BATTLE
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
- compare VAR_RESULT, PIKE_ROOM_BRAIN
- goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects
+ goto_if_eq VAR_RESULT, PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ 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
setvar VAR_TEMP_4, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
@@ -114,7 +110,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom::
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 255, 4, 7
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 4, 7
waitstate
end
@@ -122,7 +118,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom::
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 255, 4, 19
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 4, 19
waitstate
end
@@ -154,10 +150,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack::
BattleFrontier_BattlePikeRoomNormal_EventScript_Exit::
pike_ispartyfullhealth
- compare VAR_RESULT, TRUE
- call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
- compare VAR_RESULT, TRUE
- call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
+ call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
+ call_if_ne VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
pike_get PIKE_DATA_WIN_STREAK
addvar VAR_RESULT, 1
pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
@@ -165,10 +159,8 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_Exit::
addvar VAR_RESULT, 1
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
pike_isfinalroom
- compare VAR_RESULT, TRUE
- call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
- compare VAR_RESULT, FALSE
- call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
+ call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ call_if_eq VAR_RESULT, FALSE, BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
waitstate
end
@@ -184,23 +176,21 @@ BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom::
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 255, 2, 7
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 2, 7
return
BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom::
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
- warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 6, 10
return
BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit::
pike_exitwildmonroom
pike_ispartyfullhealth
- compare VAR_RESULT, TRUE
- call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
- compare VAR_RESULT, TRUE
- call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
+ call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
+ call_if_ne VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
pike_get PIKE_DATA_WIN_STREAK
addvar VAR_RESULT, 1
pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
@@ -208,10 +198,8 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit::
addvar VAR_RESULT, 1
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
pike_isfinalroom
- compare VAR_RESULT, TRUE
- call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
- compare VAR_RESULT, FALSE
- call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
+ call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ call_if_eq VAR_RESULT, FALSE, BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
waitstate
end
@@ -230,17 +218,15 @@ BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack::
BattleFrontier_BattlePike_EventScript_Retire::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS CHALLENGE_STATUS_LOST
- warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 5, 6
waitstate
end
BattleFrontier_BattlePikeRoom_OnResume:
setorcopyvar VAR_0x8006, VAR_RESULT @ Save VAR_RESULT from being overwritten
frontier_get FRONTIER_DATA_CHALLENGE_STATUS
- compare VAR_RESULT, CHALLENGE_STATUS_PAUSED
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
- compare VAR_RESULT, CHALLENGE_STATUS_SAVING
- goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
+ goto_if_eq VAR_RESULT, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
+ goto_if_eq VAR_RESULT, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume::
setorcopyvar VAR_RESULT, VAR_0x8006
diff --git a/data/scripts/berry_blender.inc b/data/scripts/berry_blender.inc
index 1d833f470c..f860ef066c 100644
--- a/data/scripts/berry_blender.inc
+++ b/data/scripts/berry_blender.inc
@@ -249,8 +249,7 @@ BerryBlender_EventScript_BerryBlender1::
applymovement LOCALID_EXPERT_M, BerryBlender_Movement_BlendLeaderWalkInPlace
waitmovement 0
msgbox BerryBlender_Text_WantToMakePokeblocks, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_TryUseBerryBlender1
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryUseBerryBlender1
goto BerryBlender_EventScript_DeclineBlender1
end
@@ -280,8 +279,7 @@ BerryBlender_EventScript_Blender1GiveSpareBerry:
BerryBlender_EventScript_UseBerryBlender1:
msgbox BerryBlender_Text_KnowHowToMakePokeblocks, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_StartBlender1
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_StartBlender1
goto BerryBlender_EventScript_ExplainBlending1
end
@@ -296,15 +294,12 @@ BerryBlender_EventScript_ExplainBlending1:
end
BerryBlender_EventScript_TryUseBerryBlender1:
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_Blender1NoCase
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_Blender1NoCase
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_eq BerryBlender_EventScript_Blender1CaseFull
+ goto_if_eq VAR_RESULT, 65535, BerryBlender_EventScript_Blender1CaseFull
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_Blender1NoBerries
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_Blender1NoBerries
msgbox BerryBlender_Text_Excellent, MSGBOX_DEFAULT
goto BerryBlender_EventScript_UseBerryBlender1
end
@@ -334,8 +329,7 @@ BerryBlender_EventScript_BerryBlender2::
applymovement LOCALID_MAN, BerryBlender_Movement_BlendLeaderWalkInPlace
waitmovement 0
msgbox BerryBlender_Text_WantToBlendPokeblocksWithUs, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_TryUseBerryBlender2
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryUseBerryBlender2
goto BerryBlender_EventScript_DeclineBlender2
end
@@ -351,8 +345,7 @@ BerryBlender_EventScript_Blender2NoBerries:
BerryBlender_EventScript_UseBerryBlender2:
msgbox BerryBlender_Text_KnowHowToMakePokeblocks2, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_StartBlender2
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_StartBlender2
goto BerryBlender_EventScript_ExplainBlending2
end
@@ -368,17 +361,13 @@ BerryBlender_EventScript_ExplainBlending2:
BerryBlender_EventScript_TryUseBerryBlender2:
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_Blender2NoBerries
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_Blender2NoCase
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_Blender2NoBerries
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_Blender2NoCase
msgbox BerryBlender_Text_Okay, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne BerryBlender_EventScript_UseBerryBlender2
- compare VAR_RESULT, 65535
- goto_if_eq BerryBlender_EventScript_Blender2CaseFull
+ goto_if_ne VAR_RESULT, 65535, BerryBlender_EventScript_UseBerryBlender2
+ goto_if_eq VAR_RESULT, 65535, BerryBlender_EventScript_Blender2CaseFull
end
BerryBlender_EventScript_Blender2CaseFull:
@@ -400,8 +389,7 @@ BerryBlender_EventScript_BerryBlender3::
applymovement VAR_0x8008, BerryBlender_Movement_BlendLeaderWalkInPlace
waitmovement 0
msgbox BerryBlender_Text_LookGoodAtBlendingJoinUs, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_TryUseBlender3
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryUseBlender3
goto BerryBlender_EventScript_DeclineBlender3
end
@@ -417,8 +405,7 @@ BerryBlender_EventScript_Blender3NoBerries:
BerryBlender_EventScript_UseBerryBlender3:
msgbox BerryBlender_Text_KnowHowToMakePokeblocks3, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_StartBlender3
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_StartBlender3
goto BerryBlender_EventScript_ExplainBlending3
end
@@ -434,17 +421,13 @@ BerryBlender_EventScript_ExplainBlending3:
BerryBlender_EventScript_TryUseBlender3:
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_Blender3NoBerries
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_Blender3NoCase
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_Blender3NoBerries
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_Blender3NoCase
msgbox BerryBlender_Text_OhDear, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne BerryBlender_EventScript_UseBerryBlender3
- compare VAR_RESULT, 65535
- goto_if_eq BerryBlender_EventScript_Blender3CaseFull
+ goto_if_ne VAR_RESULT, 65535, BerryBlender_EventScript_UseBerryBlender3
+ goto_if_eq VAR_RESULT, 65535, BerryBlender_EventScript_Blender3CaseFull
end
BerryBlender_EventScript_Blender3CaseFull:
@@ -461,8 +444,7 @@ BerryBlender_EventScript_BlendMasterPresent:
lockall
setvar NUM_OPPONENTS, 1
msgbox BerryBlender_Text_SeeMyMasteryInAction, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_TryBlendWithBlendMaster
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryBlendWithBlendMaster
msgbox BerryBlender_Text_TooBusyNowIsee, MSGBOX_DEFAULT
releaseall
end
@@ -473,23 +455,18 @@ BerryBlender_EventScript_BlendMasterNoBerries:
end
BerryBlender_EventScript_TryBlendWithBlendMaster:
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_BlendMasterNoCase
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_BlendMasterNoCase
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_BlendMasterNoBerries
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_BlendMasterNoBerries
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne BerryBlender_EventScript_BlendWithBlendMaster
- compare VAR_RESULT, 65535
- goto_if_eq BerryBlender_EventScript_BlendMasterCaseFull
+ goto_if_ne VAR_RESULT, 65535, BerryBlender_EventScript_BlendWithBlendMaster
+ goto_if_eq VAR_RESULT, 65535, BerryBlender_EventScript_BlendMasterCaseFull
end
BerryBlender_EventScript_BlendWithBlendMaster:
msgbox BerryBlender_Text_BlendMasterKnowHowToMakePokeblocks, MSGBOX_YESNO
- compare VAR_RESULT, NO
- call_if_eq BerryBlender_EventScript_BlendMasterExplainBlending
+ call_if_eq VAR_RESULT, NO, BerryBlender_EventScript_BlendMasterExplainBlending
msgbox BerryBlender_Text_BlendMasterLetsBerryBlender, MSGBOX_DEFAULT
goto BerryBlender_EventScript_DoBerryBlending
end
@@ -530,10 +507,8 @@ BerryBlender_EventScript_ExpertMCheckGiveBerry:
faceplayer
msgbox BerryBlender_Text_LoveMakingPokeblocks, MSGBOX_DEFAULT
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, TRUE
- goto_if_eq BerryBlender_EventScript_ExpertMPlayerHasBerries
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_ExpertMNoBerries
+ goto_if_eq VAR_RESULT, TRUE, BerryBlender_EventScript_ExpertMPlayerHasBerries
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_ExpertMNoBerries
end
BerryBlender_EventScript_ExpertMPlayerHasBerries:
@@ -542,12 +517,10 @@ BerryBlender_EventScript_ExpertMPlayerHasBerries:
end
BerryBlender_EventScript_ExpertMNoBerries:
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_ExpertMNoSpareBerries
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_ExpertMNoSpareBerries
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_eq BerryBlender_EventScript_ExpertMNoSpareBerries
+ goto_if_eq VAR_RESULT, 65535, BerryBlender_EventScript_ExpertMNoSpareBerries
dotimebasedevents
goto_if_set FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY, BerryBlender_EventScript_ExpertMNoSpareBerries
goto BerryBlender_EventScript_ExpertMGiveBerry
@@ -573,24 +546,18 @@ BerryBlender_Movement_BlendLeaderWalkInPlace:
BerryBlender_EventScript_BerryBlenderLink::
lockall
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_LinkBlenderNoBerries
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_LinkBlenderNoCase
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_LinkBlenderNoBerries
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_LinkBlenderNoCase
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
- compare VAR_RESULT, 65535
- goto_if_ne BerryBlender_EventScript_LinkBlenderSaveGame
- compare VAR_RESULT, 65535
- goto_if_eq BerryBlender_EventScript_LinkBlenderCaseFull
+ goto_if_ne VAR_RESULT, 65535, BerryBlender_EventScript_LinkBlenderSaveGame
+ goto_if_eq VAR_RESULT, 65535, BerryBlender_EventScript_LinkBlenderCaseFull
end
BerryBlender_EventScript_LinkBlenderSaveGame:
msgbox BerryBlender_Text_SaveGameBeforeBerryBlenderLink, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryBlender_EventScript_TryDoLinkBlender
- compare VAR_RESULT, NO
- goto_if_eq BerryBlender_EventScript_CancelLinkBlender
+ goto_if_eq VAR_RESULT, YES, BerryBlender_EventScript_TryDoLinkBlender
+ goto_if_eq VAR_RESULT, NO, BerryBlender_EventScript_CancelLinkBlender
end
BerryBlender_EventScript_LinkBlenderNoBerries:
@@ -600,25 +567,18 @@ BerryBlender_EventScript_LinkBlenderNoBerries:
BerryBlender_EventScript_TryDoLinkBlender:
call Common_EventScript_SaveGame
- compare VAR_RESULT, FALSE
- goto_if_eq BerryBlender_EventScript_CancelLinkBlender
+ goto_if_eq VAR_RESULT, FALSE, BerryBlender_EventScript_CancelLinkBlender
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, TRUE
- goto_if_eq BerryBlender_EventScript_StartDecideLinkLeader
+ goto_if_eq VAR_RESULT, TRUE, BerryBlender_EventScript_StartDecideLinkLeader
message BerryBlender_Text_SearchingForFriends
waitmessage
special TryBerryBlenderLinkup
waitstate
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq BerryBlender_EventScript_SpawnLinkPartners
- compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
- goto_if_eq BerryBlender_EventScript_CloseLinkNotReady
- compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
- goto_if_eq BerryBlender_EventScript_CloseLinkDifferentSelections
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq BerryBlender_EventScript_CloseLink
- compare VAR_RESULT, LINKUP_CONNECTION_ERROR
- goto_if_eq BerryBlender_EventScript_LinkError
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BerryBlender_EventScript_SpawnLinkPartners
+ goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, BerryBlender_EventScript_CloseLinkNotReady
+ goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, BerryBlender_EventScript_CloseLinkDifferentSelections
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, BerryBlender_EventScript_CloseLink
+ goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, BerryBlender_EventScript_LinkError
end
BerryBlender_EventScript_TwoPlayerLink:
@@ -721,23 +681,17 @@ BerryBlender_EventScript_DecideLinkLeader:
BerryBlender_EventScript_TryLeadGroup:
call BerryBlender_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq BerryBlender_EventScript_LinkLeaderDecided
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq BerryBlender_EventScript_DecideLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq BerryBlender_EventScript_TryLeadGroup
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BerryBlender_EventScript_LinkLeaderDecided
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, BerryBlender_EventScript_DecideLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, BerryBlender_EventScript_TryLeadGroup
release
end
BerryBlender_EventScript_TryJoinGroup:
call BerryBlender_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq BerryBlender_EventScript_LinkLeaderDecided
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq BerryBlender_EventScript_DecideLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq BerryBlender_EventScript_TryJoinGroup
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, BerryBlender_EventScript_LinkLeaderDecided
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, BerryBlender_EventScript_DecideLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, BerryBlender_EventScript_TryJoinGroup
release
end
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index e415d0c657..8ad300df52 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -22,8 +22,7 @@ BerryTree_EventScript_CheckSoil::
lock
faceplayer
specialvar VAR_RESULT, PlayerHasBerries
- compare VAR_RESULT, TRUE
- goto_if_eq BerryTree_EventScript_WantToPlant
+ goto_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_WantToPlant
message BerryTree_Text_ItsSoftLoamySoil
waitmessage
waitbuttonpress
@@ -32,10 +31,8 @@ BerryTree_EventScript_CheckSoil::
BerryTree_EventScript_WantToPlant::
msgbox BerryTree_Text_WantToPlant, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryTree_EventScript_ChooseBerryToPlant
- compare VAR_RESULT, NO
- goto_if_eq BerryTree_EventScript_CancelPlanting
+ goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_ChooseBerryToPlant
+ goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_CancelPlanting
end
BerryTree_EventScript_ChooseBerryToPlant::
@@ -43,8 +40,7 @@ BerryTree_EventScript_ChooseBerryToPlant::
closemessage
special Bag_ChooseBerry
waitstate
- compare VAR_ITEM_ID, 0
- goto_if_eq BerryTree_EventScript_CancelPlanting
+ goto_if_eq VAR_ITEM_ID, 0, BerryTree_EventScript_CancelPlanting
removeitem VAR_ITEM_ID
call BerryTree_EventScript_PlantBerry
@@ -88,37 +84,32 @@ BerryTree_EventScript_CheckBerryStage4::
@ VAR_0x8005 here is the number of times watered
@ Buffered by ObjectEventInteractionGetBerryTreeData
BerryTree_EventScript_GetCareAdverb::
- compare VAR_0x8005, 0
- goto_if_eq BerryTree_EventScript_SetAdverbPoor
- compare VAR_0x8005, 4
- goto_if_eq BerryTree_EventScript_SetAdverbGreat
- bufferstring 1, BerryTree_Text_CareAdverbGood
+ goto_if_eq VAR_0x8005, 0, BerryTree_EventScript_SetAdverbPoor
+ goto_if_eq VAR_0x8005, 4, BerryTree_EventScript_SetAdverbGreat
+ bufferstring STR_VAR_2, BerryTree_Text_CareAdverbGood
return
BerryTree_EventScript_SetAdverbGreat::
- bufferstring 1, BerryTree_Text_CareAdverbGreat
+ bufferstring STR_VAR_2, BerryTree_Text_CareAdverbGreat
return
BerryTree_EventScript_SetAdverbPoor::
- bufferstring 1, BerryTree_Text_CareAdverbPoor
+ bufferstring STR_VAR_2, BerryTree_Text_CareAdverbPoor
return
@ VAR_0x8006 here is the number of berries
BerryTree_EventScript_CheckBerryFullyGrown::
- buffernumberstring 1, VAR_0x8006
+ buffernumberstring STR_VAR_2, VAR_0x8006
lock
faceplayer
special ObjectEventInteractionGetBerryCountString
msgbox BerryTree_Text_WantToPick, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryTree_EventScript_PickBerry
- compare VAR_RESULT, NO
- goto_if_eq BerryTree_EventScript_CancelPickingBerry
+ goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_PickBerry
+ goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_CancelPickingBerry
BerryTree_EventScript_PickBerry::
special ObjectEventInteractionPickBerryTree
- compare VAR_0x8004, 0
- goto_if_eq BerryTree_EventScript_BerryPocketFull
+ goto_if_eq VAR_0x8004, 0, BerryTree_EventScript_BerryPocketFull
special IncrementDailyPickedBerries
special ObjectEventInteractionRemoveBerryTree
message BerryTree_Text_PickedTheBerry
@@ -154,15 +145,12 @@ BerryTree_EventScript_ItemUsePlantBerry::
end
BerryTree_EventScript_WantToWater::
- checkitem ITEM_WAILMER_PAIL, 1
- compare VAR_RESULT, 0
- goto_if_eq BerryTree_EventScript_DontWater
+ checkitem ITEM_WAILMER_PAIL
+ goto_if_eq VAR_RESULT, FALSE, BerryTree_EventScript_DontWater
special ObjectEventInteractionGetBerryName
msgbox BerryTree_Text_WantToWater, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BerryTree_EventScript_WaterBerry
- compare VAR_RESULT, NO
- goto_if_eq BerryTree_EventScript_DontWater
+ goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_WaterBerry
+ goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_DontWater
BerryTree_EventScript_DontWater::
releaseall
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index d6ea1a707e..0ab93c4037 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -4,11 +4,9 @@ CableClub_OnTransition:
CableClub_EventScript_HideOrShowMysteryGiftMan::
specialvar VAR_RESULT, ShouldDistributeEonTicket
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_ShowMysteryGiftMan
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_ShowMysteryGiftMan
specialvar VAR_RESULT, ValidateSavedWonderCard
- compare VAR_RESULT, FALSE
- goto_if_eq CableClub_EventScript_HideMysteryGiftMan
+ goto_if_eq VAR_RESULT, FALSE, CableClub_EventScript_HideMysteryGiftMan
goto CableClub_EventScript_ShowMysteryGiftMan
end
@@ -22,24 +20,20 @@ CableClub_EventScript_HideMysteryGiftMan::
CableClub_EventScript_MysteryGiftMan::
specialvar VAR_RESULT, ShouldDistributeEonTicket
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_DistributeEonTicket
- goto CableClub_EventScript_AlreadyGotEonTicket
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_DistributeEonTicket
+ goto CableClub_EventScript_TryWonderCardScript
end
-CableClub_EventScript_AlreadyGotEonTicket::
- gotoram
-
-@ Unused?
+CableClub_EventScript_TryWonderCardScript::
+ trywondercardscript
CableClub_EventScript_MysteryGiftThankYou::
msgbox gText_ThankYouForAccessingMysteryGift, MSGBOX_NPC
end
CableClub_EventScript_DistributeEonTicket::
- checkitem ITEM_EON_TICKET, 1
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_AlreadyGotEonTicket
- goto_if_set FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, CableClub_EventScript_AlreadyGotEonTicket
+ checkitem ITEM_EON_TICKET
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_TryWonderCardScript
+ goto_if_set FLAG_ENABLE_SHIP_SOUTHERN_ISLAND, CableClub_EventScript_TryWonderCardScript
msgbox MysteryGift_Text_TheresATicketForYou, MSGBOX_DEFAULT
giveitem ITEM_EON_TICKET
setflag FLAG_ENABLE_SHIP_SOUTHERN_ISLAND
@@ -66,29 +60,20 @@ CableClub_OnWarp:
.2byte 0
CableClub_EventScript_CheckTurnAttendant::
- compare VAR_0x8007, 0
- goto_if_eq CableClub_EventScript_DontTurnAttendant
+ goto_if_eq VAR_0x8007, 0, CableClub_EventScript_DontTurnAttendant
turnobject VAR_0x8007, DIR_WEST
CableClub_EventScript_DontTurnAttendant::
end
CableClub_OnLoad:
- compare VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE
- goto_if_eq CableClub_EventScript_OnLoadFromColosseum
- compare VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE
- goto_if_eq CableClub_EventScript_OnLoadFromColosseum
- compare VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE
- goto_if_eq CableClub_EventScript_OnLoadFromColosseum
- compare VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER
- goto_if_eq CableClub_EventScript_OnLoadFromTradeCenter
- compare VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER
- goto_if_eq CableClub_EventScript_OnLoadFromRecordCorner
- compare VAR_CABLE_CLUB_STATE, USING_UNION_ROOM
- goto_if_eq CableClub_EventScript_OnLoadFromUnionRoom
- compare VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH
- goto_if_eq CableClub_EventScript_OnLoadFromBerryCrush
- compare VAR_CABLE_CLUB_STATE, USING_MINIGAME
- goto_if_eq CableClub_EventScript_OnLoadFromGameCorner
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_SINGLE_BATTLE, CableClub_EventScript_OnLoadFromColosseum
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_DOUBLE_BATTLE, CableClub_EventScript_OnLoadFromColosseum
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_MULTI_BATTLE, CableClub_EventScript_OnLoadFromColosseum
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_TRADE_CENTER, CableClub_EventScript_OnLoadFromTradeCenter
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_RECORD_CORNER, CableClub_EventScript_OnLoadFromRecordCorner
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_UNION_ROOM, CableClub_EventScript_OnLoadFromUnionRoom
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_BERRY_CRUSH, CableClub_EventScript_OnLoadFromBerryCrush
+ goto_if_eq VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_OnLoadFromGameCorner
end
CableClub_EventScript_OnLoadFromColosseum::
@@ -150,8 +135,7 @@ CableClub_EventScript_ExitMinigameRoom::
CableClub_EventScript_CloseLinkAndExitLinkRoom::
special CloseLink
setvar VAR_CABLE_CLUB_STATE, 0
- compare VAR_0x8007, 0
- goto_if_eq CableClub_EventScript_PlayerExitLinkRoom
+ goto_if_eq VAR_0x8007, 0, CableClub_EventScript_PlayerExitLinkRoom
applymovement VAR_0x8007, Movement_AttendantFaceLeft
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerExitLinkRoom
@@ -173,8 +157,7 @@ CableClub_EventScript_ExitTradeCenter::
CableClub_EventScript_PlayerExitTradeCenter::
special CloseLink
setvar VAR_CABLE_CLUB_STATE, 0
- compare VAR_0x8007, 0
- goto_if_eq CableClub_EventScript_PlayerExitLinkRoom
+ goto_if_eq VAR_0x8007, 0, CableClub_EventScript_PlayerExitLinkRoom
applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerFaceAttendantRight
waitmovement 0
applymovement VAR_0x8007, Movement_AttendantFaceLeft
@@ -197,8 +180,7 @@ CableClub_EventScript_PlayerExitRecordCorner::
setvar VAR_CABLE_CLUB_STATE, 0
applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerExitLinkRoom
waitmovement 0
- compare VAR_0x8007, 0
- goto_if_eq CableClub_EventScript_ExitRecordCornerRet
+ goto_if_eq VAR_0x8007, 0, CableClub_EventScript_ExitRecordCornerRet
applymovement VAR_0x8007, Movement_AttendantFaceDown
waitmovement 0
CableClub_EventScript_ExitRecordCornerRet::
@@ -216,8 +198,7 @@ CableClub_EventScript_ExitUnionRoom::
CableClub_EventScript_PlayerExitUnionRoom::
setvar VAR_CABLE_CLUB_STATE, 0
- compare VAR_0x8007, 0
- goto_if_eq CableClub_EventScript_PlayerExitLinkRoom
+ goto_if_eq VAR_0x8007, 0, CableClub_EventScript_PlayerExitLinkRoom
applymovement OBJ_EVENT_ID_PLAYER, Movement_PlayerFaceAttendantRight
waitmovement 0
applymovement VAR_0x8007, Movement_AttendantFaceLeft
@@ -325,8 +306,7 @@ CableClub_EventScript_SingleBattleMode::
CableClub_EventScript_DoubleBattleMode::
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
- goto_if_ne CableClub_EventScript_NeedTwoMonsForDoubleBattle
+ goto_if_ne VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS, CableClub_EventScript_NeedTwoMonsForDoubleBattle
setvar VAR_0x8004, USING_DOUBLE_BATTLE
goto CableClub_EventScript_TryEnterColosseum
end
@@ -343,24 +323,17 @@ CableClub_EventScript_MultiBattleMode::
CableClub_EventScript_TryEnterColosseum::
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
message gText_PleaseWaitForLink
waitmessage
special TryBattleLinkup
waitstate
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterColosseum
- compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
- goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
- compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
- goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
- compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
- goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_AbortLink
- compare VAR_RESULT, LINKUP_CONNECTION_ERROR
- goto_if_eq CableClub_EventScript_AbortLinkConnectionError
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterColosseum
+ goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
+ goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, CableClub_EventScript_AbortLinkDifferentSelections
+ goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, CableClub_EventScript_AbortLinkIncorrectNumberOfBattlers
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
end
CableClub_EventScript_EnterColosseum::
@@ -387,10 +360,9 @@ CableClub_EventScript_EnterColosseum::
closedoor 9, 1
waitdooranim
release
- compare VAR_0x8004, USING_MULTI_BATTLE
- goto_if_eq CableClub_EventScript_WarpTo4PColosseum
+ goto_if_eq VAR_0x8004, USING_MULTI_BATTLE, CableClub_EventScript_WarpTo4PColosseum
special SetCableClubWarp
- warp MAP_BATTLE_COLOSSEUM_2P, 255, 6, 8
+ warp MAP_BATTLE_COLOSSEUM_2P, 6, 8
special DoCableClubWarp
waitstate
end
@@ -403,7 +375,7 @@ CableClub_EventScript_PlayerApproachLinkRoomRight::
CableClub_EventScript_WarpTo4PColosseum::
special SetCableClubWarp
- warp MAP_BATTLE_COLOSSEUM_4P, 255, 5, 8
+ warp MAP_BATTLE_COLOSSEUM_4P, 5, 8
special DoCableClubWarp
waitstate
end
@@ -443,31 +415,21 @@ CableClub_EventScript_ConfirmNumberAndRestart::
CableClub_EventScript_TradeCenter::
copyvar VAR_0x8007, VAR_LAST_TALKED
call CableClub_EventScript_CheckPartyTradeRequirements
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
message gText_PleaseWaitForLink
waitmessage
special TryTradeLinkup
waitstate
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterTradeCenter
- compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
- goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
- compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
- goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
- compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
- goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_AbortLink
- compare VAR_RESULT, LINKUP_CONNECTION_ERROR
- goto_if_eq CableClub_EventScript_AbortLinkConnectionError
- compare VAR_RESULT, LINKUP_PLAYER_NOT_READY
- goto_if_eq CableClub_EventScript_AbortLinkPlayerNotReady
- compare VAR_RESULT, LINKUP_PARTNER_NOT_READY
- goto_if_eq CableClub_EventScript_AbortLinkOtherTrainerNotReady
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterTradeCenter
+ goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
+ goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, CableClub_EventScript_AbortLinkDifferentSelections
+ goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
+ goto_if_eq VAR_RESULT, LINKUP_PLAYER_NOT_READY, CableClub_EventScript_AbortLinkPlayerNotReady
+ goto_if_eq VAR_RESULT, LINKUP_PARTNER_NOT_READY, CableClub_EventScript_AbortLinkOtherTrainerNotReady
end
CableClub_EventScript_EnterTradeCenter::
@@ -493,18 +455,16 @@ CableClub_EventScript_EnterTradeCenter::
waitdooranim
release
special SetCableClubWarp
- setwarp MAP_TRADE_CENTER, 255, 5, 8
+ setwarp MAP_TRADE_CENTER, 5, 8
special DoCableClubWarp
waitstate
end
CableClub_EventScript_CheckPartyTradeRequirements::
specialvar VAR_RESULT, CalculatePlayerPartyCount
- compare VAR_RESULT, 2
- goto_if_lt CableClub_EventScript_NeedTwoMonsToTrade
+ goto_if_lt VAR_RESULT, 2, CableClub_EventScript_NeedTwoMonsToTrade
specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_CantTradeEnigmaBerry
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_CantTradeEnigmaBerry
setvar VAR_RESULT, 1
return
@@ -521,28 +481,20 @@ CableClub_EventScript_CantTradeEnigmaBerry::
CableClub_EventScript_RecordCorner::
copyvar VAR_0x8007, VAR_LAST_TALKED
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
message gText_PleaseWaitForLink
waitmessage
special TryRecordMixLinkup
waitstate
special ValidateMixingGameLanguage
waitstate
- compare VAR_RESULT, LINKUP_FOREIGN_GAME
- goto_if_eq CableClub_EventScript_AbortLinkForeignGame
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterRecordCorner
- compare VAR_RESULT, LINKUP_SOMEONE_NOT_READY
- goto_if_eq CableClub_EventScript_AbortLinkSomeoneNotReady
- compare VAR_RESULT, LINKUP_DIFF_SELECTIONS
- goto_if_eq CableClub_EventScript_AbortLinkDifferentSelections
- compare VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS
- goto_if_eq CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_AbortLink
- compare VAR_RESULT, LINKUP_CONNECTION_ERROR
- goto_if_eq CableClub_EventScript_AbortLinkConnectionError
+ goto_if_eq VAR_RESULT, LINKUP_FOREIGN_GAME, CableClub_EventScript_AbortLinkForeignGame
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterRecordCorner
+ goto_if_eq VAR_RESULT, LINKUP_SOMEONE_NOT_READY, CableClub_EventScript_AbortLinkSomeoneNotReady
+ goto_if_eq VAR_RESULT, LINKUP_DIFF_SELECTIONS, CableClub_EventScript_AbortLinkDifferentSelections
+ goto_if_eq VAR_RESULT, LINKUP_WRONG_NUM_PLAYERS, CableClub_EventScript_AbortLinkIncorrectNumberOfParticipants
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, LINKUP_CONNECTION_ERROR, CableClub_EventScript_AbortLinkConnectionError
end
CableClub_EventScript_EnterRecordCorner::
@@ -568,7 +520,7 @@ CableClub_EventScript_EnterRecordCorner::
waitdooranim
release
special SetCableClubWarp
- setwarp MAP_RECORD_CORNER, 255, 8, 9
+ setwarp MAP_RECORD_CORNER, 8, 9
special DoCableClubWarp
waitstate
end
@@ -726,8 +678,7 @@ EventScript_BattleColosseum_4P_PlayerSpot0::
fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
- compare VAR_RESULT, 0
- goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
+ goto_if_eq VAR_RESULT, 0, EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 0
special ColosseumPlayerSpotTriggered
waitstate
@@ -737,8 +688,7 @@ EventScript_BattleColosseum_4P_PlayerSpot1::
fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
- compare VAR_RESULT, 0
- goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
+ goto_if_eq VAR_RESULT, 0, EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 1
special ColosseumPlayerSpotTriggered
waitstate
@@ -748,8 +698,7 @@ EventScript_BattleColosseum_4P_PlayerSpot2::
fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
- compare VAR_RESULT, 0
- goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
+ goto_if_eq VAR_RESULT, 0, EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 2
special ColosseumPlayerSpotTriggered
waitstate
@@ -759,8 +708,7 @@ EventScript_BattleColosseum_4P_PlayerSpot3::
fadescreen FADE_TO_BLACK
special ChooseHalfPartyForBattle
waitstate
- compare VAR_RESULT, 0
- goto_if_eq EventScript_BattleColosseum_4P_CancelSpotTrigger
+ goto_if_eq VAR_RESULT, 0, EventScript_BattleColosseum_4P_CancelSpotTrigger
setvar VAR_0x8005, 3
special ColosseumPlayerSpotTriggered
waitstate
@@ -800,36 +748,32 @@ EventScript_RecordCenter_Spot0::
setvar VAR_0x8005, 0
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, ITEM_NONE
- goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
+ goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
end
EventScript_RecordCenter_Spot1::
setvar VAR_0x8005, 1
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, ITEM_NONE
- goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
+ goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
end
EventScript_RecordCenter_Spot2::
setvar VAR_0x8005, 2
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, ITEM_NONE
- goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
+ goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
end
EventScript_RecordCenter_Spot3::
setvar VAR_0x8005, 3
special RecordMixingPlayerSpotTriggered
waitstate
- compare VAR_TEMP_1, ITEM_NONE
- goto_if_ne RecordCorner_EventScript_ReceivedGiftItem
+ goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
end
RecordCorner_EventScript_ReceivedGiftItem::
- bufferitemname 1, VAR_TEMP_1
+ bufferitemname STR_VAR_2, VAR_TEMP_1
message RecordCorner_Text_PlayerSentOverOneX
waitmessage
waitbuttonpress
@@ -870,8 +814,7 @@ TradeCenter_EventScript_Attendant::
end
RecordCorner_EventScript_Attendant::
- compare VAR_TEMP_0, 0
- goto_if_ne RecordCorner_EventScript_AlreadyMixed
+ goto_if_ne VAR_TEMP_0, 0, RecordCorner_EventScript_AlreadyMixed
special Script_FacePlayer
message RecordCorner_Text_TakeSeatAndWait
waitmessage
@@ -891,8 +834,7 @@ RecordCorner_EventScript_AlreadyMixed::
EventScript_ConfirmLeaveCableClubRoom::
msgbox Text_TerminateLinkConfirmation, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq EventScript_TerminateLink
+ goto_if_eq VAR_RESULT, YES, EventScript_TerminateLink
erasebox 0, 0, 29, 19
releaseall
end
@@ -915,12 +857,10 @@ CableClub_EventScript_UnionRoomAttendant::
setvar VAR_FRONTIER_FACILITY, FACILITY_UNION_ROOM
goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements
specialvar VAR_RESULT, IsBadEggInParty
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_AbortLinkPlayerHasBadEgg
copyvar VAR_0x8007, VAR_LAST_TALKED
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, FALSE
- goto_if_eq CableClub_EventScript_UnionRoomAdapterNotConnected
+ goto_if_eq VAR_RESULT, FALSE, CableClub_EventScript_UnionRoomAdapterNotConnected
message CableClub_Text_WelcomeUnionRoomEnter
waitmessage
goto CableClub_EventScript_UnionRoomSelect
@@ -943,11 +883,9 @@ CableClub_EventScript_UnionRoomInfo::
CableClub_EventScript_EnterUnionRoom::
call CableClub_EventScript_CheckPartyUnionRoomRequirements
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
msgbox CableClub_Text_EnjoyUnionRoom, MSGBOX_DEFAULT
closemessage
special HealPlayerParty
@@ -970,7 +908,7 @@ CableClub_EventScript_EnterUnionRoom::
waitdooranim
special Script_ResetUnionRoomTrade
special SetCableClubWarp
- warpteleport2 MAP_UNION_ROOM, 255, 7, 11
+ warpspinenter MAP_UNION_ROOM, 7, 11
waitstate
special RunUnionRoom
waitstate
@@ -978,11 +916,9 @@ CableClub_EventScript_EnterUnionRoom::
CableClub_EventScript_CheckPartyUnionRoomRequirements::
specialvar VAR_RESULT, CountPartyNonEggMons
- compare VAR_RESULT, 2
- goto_if_lt CableClub_EventScript_NeedTwoMonsForUnionRoom
+ goto_if_lt VAR_RESULT, 2, CableClub_EventScript_NeedTwoMonsForUnionRoom
specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_NoEnigmaBerryInUnionRoom
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_NoEnigmaBerryInUnionRoom
setvar VAR_RESULT, 1
return
@@ -1006,8 +942,7 @@ CableClub_EventScript_WirelessClubAttendant::
faceplayer
goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements
msgbox CableClub_Text_AskAboutLinking, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq CableClub_EventScript_DontAskAboutLinking
+ goto_if_eq VAR_RESULT, NO, CableClub_EventScript_DontAskAboutLinking
msgbox CableClub_Text_ExplainWirelessClub, MSGBOX_DEFAULT
release
return
@@ -1023,11 +958,9 @@ CableClub_EventScript_DirectCornerAttendant::
setvar VAR_FRONTIER_FACILITY, FACILITY_MULTI_OR_EREADER @ Set preemptively for multi battles, ignored otherwise
goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements
specialvar VAR_RESULT, IsBadEggInParty
- compare VAR_RESULT, TRUE
- goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg
+ goto_if_eq VAR_RESULT, TRUE, CableClub_EventScript_AbortLinkPlayerHasBadEgg
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, FALSE
- goto_if_eq CableClub_EventScript_WelcomeToCableClub
+ goto_if_eq VAR_RESULT, FALSE, CableClub_EventScript_WelcomeToCableClub
message CableClub_Text_WelcomeWhichDirectCornerRoom
waitmessage
delay 28
@@ -1035,9 +968,8 @@ CableClub_EventScript_DirectCornerAttendant::
end
CableClub_EventScript_DirectCornerSelectService::
- checkitem ITEM_POWDER_JAR, 1
- compare VAR_RESULT, FALSE
- goto_if_eq CableClub_EventScript_DirectCornerNoBerry
+ checkitem ITEM_POWDER_JAR
+ goto_if_eq VAR_RESULT, FALSE, CableClub_EventScript_DirectCornerNoBerry
goto_if_set FLAG_VISITED_MAUVILLE_CITY, CableClub_EventScript_DirectCornerSelectAllServices
multichoice 0, 0, MULTI_WIRELESS_NO_RECORD, FALSE
switch VAR_RESULT
@@ -1081,11 +1013,9 @@ CableClub_EventScript_DirectCornerHasRecordMix::
CableClub_EventScript_WirelessTrade::
msgbox CableClub_Text_TradePokemon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, NO, CableClub_EventScript_AbortLink
call CableClub_EventScript_CheckPartyTradeRequirements
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
setvar VAR_0x8004, LINK_GROUP_TRADE
goto CableClub_EventScript_SaveAndChooseLinkLeader
end
@@ -1110,8 +1040,7 @@ CableClub_EventScript_WirelessSingleBattle::
CableClub_EventScript_WirelessDoubleBattle::
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
- goto_if_ne CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle
+ goto_if_ne VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS, CableClub_EventScript_TwoMonsNeededForWirelessDoubleBattle
setvar VAR_0x8004, LINK_GROUP_DOUBLE_BATTLE
goto CableClub_EventScript_SaveAndChooseLinkLeader
end
@@ -1133,19 +1062,16 @@ CableClub_EventScript_WirelessBattleInfo::
CableClub_EventScript_WirelessRecordMix::
msgbox CableClub_Text_AccessRecordCorner, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, NO, CableClub_EventScript_AbortLink
setvar VAR_0x8004, LINK_GROUP_RECORD_CORNER
goto CableClub_EventScript_SaveAndChooseLinkLeader
end
CableClub_EventScript_WirelessBerryCrush::
msgbox CableClub_Text_UseBerryCrush, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, NO, CableClub_EventScript_AbortLink
special HasAtLeastOneBerry
- compare VAR_RESULT, FALSE
- goto_if_eq CableClub_EventScript_NeedBerryForBerryCrush
+ goto_if_eq VAR_RESULT, FALSE, CableClub_EventScript_NeedBerryForBerryCrush
setvar VAR_0x8004, LINK_GROUP_BERRY_CRUSH
goto CableClub_EventScript_SaveAndChooseLinkLeader
end
@@ -1157,8 +1083,7 @@ CableClub_EventScript_NeedBerryForBerryCrush::
CableClub_EventScript_SaveAndChooseLinkLeader::
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq CableClub_EventScript_AbortLink
+ goto_if_eq VAR_RESULT, 0, CableClub_EventScript_AbortLink
switch VAR_0x8004
case LINK_GROUP_TRADE, CableClub_EventScript_ChooseLinkLeaderFrom2
case LINK_GROUP_SINGLE_BATTLE, CableClub_EventScript_ChooseLinkLeaderFrom2
@@ -1181,23 +1106,17 @@ CableClub_EventScript_ChooseLinkLeaderFrom2::
CableClub_EventScript_TryLeadGroup2Players::
call CableClub_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq CableClub_EventScript_TryLeadGroup2Players
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom2
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryLeadGroup2Players
release
return
CableClub_EventScript_TryJoinGroup2Players::
call CableClub_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom2
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq CableClub_EventScript_TryJoinGroup2Players
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom2
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinGroup2Players
release
return
@@ -1214,23 +1133,17 @@ CableClub_EventScript_ChooseLinkLeaderFrom4::
CableClub_EventScript_TryLeadGroup4Players::
call CableClub_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq CableClub_EventScript_TryLeadGroup4Players
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom4
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryLeadGroup4Players
release
return
CableClub_EventScript_TryJoinGroup4Players::
call CableClub_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_ChooseLinkLeaderFrom4
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq CableClub_EventScript_TryJoinGroup4Players
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeaderFrom4
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinGroup4Players
release
return
@@ -1247,23 +1160,17 @@ CableClub_EventScript_ChooseLinkLeader::
CableClub_EventScript_TryLeadGroupXPlayers::
call CableClub_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_ChooseLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq CableClub_EventScript_TryLeadGroupXPlayers
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryLeadGroupXPlayers
release
return
CableClub_EventScript_TryJoinGroupXPlayers::
call CableClub_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq CableClub_EventScript_EnterWirelessLinkRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq CableClub_EventScript_ChooseLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq CableClub_EventScript_TryJoinGroupXPlayers
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, CableClub_EventScript_EnterWirelessLinkRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, CableClub_EventScript_ChooseLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, CableClub_EventScript_TryJoinGroupXPlayers
release
return
@@ -1307,8 +1214,7 @@ EventScript_WirelessBoxResults::
lockall
goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_NotReadyYet
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, FALSE
- goto_if_eq CableClub_EventScript_AdapterNotConnected
+ goto_if_eq VAR_RESULT, FALSE, CableClub_EventScript_AdapterNotConnected
fadescreen FADE_TO_BLACK
special ShowWirelessCommunicationScreen
waitstate
@@ -1322,33 +1228,33 @@ CableClub_EventScript_AdapterNotConnected::
end
CableClub_EventScript_OpenUnionRoomBarrier::
- setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0
- setmetatile 5, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0
+ setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, FALSE
+ setmetatile 5, 3, METATILE_PokemonCenter_Floor_Plain_Alt, FALSE
return
CableClub_EventScript_CloseUnionRoomBarrier::
- setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1
- setmetatile 5, 3, METATILE_PokemonCenter_CounterBarrier, 1
+ setmetatile 5, 2, METATILE_PokemonCenter_Floor_ShadowTop, TRUE
+ setmetatile 5, 3, METATILE_PokemonCenter_CounterBarrier, TRUE
return
CableClub_EventScript_OpenDirectCornerBarrier::
- setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, 0
- setmetatile 9, 3, METATILE_PokemonCenter_Floor_Plain_Alt, 0
+ setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop_Alt, FALSE
+ setmetatile 9, 3, METATILE_PokemonCenter_Floor_Plain_Alt, FALSE
return
CableClub_EventScript_CloseDirectCornerBarrier::
- setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop, 1
- setmetatile 9, 3, METATILE_PokemonCenter_CounterBarrier, 1
+ setmetatile 9, 2, METATILE_PokemonCenter_Floor_ShadowTop, TRUE
+ setmetatile 9, 3, METATILE_PokemonCenter_CounterBarrier, TRUE
return
EventScript_OpenMossdeepGameCornerBarrier::
- setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterOpen_Top, 0
- setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterOpen_Bottom, 0
+ setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterOpen_Top, FALSE
+ setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterOpen_Bottom, FALSE
return
EventScript_CloseMossdeepGameCornerBarrier::
- setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterClosed_Top, 1
- setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterClosed_Bottom, 1
+ setmetatile 5, 2, METATILE_MossdeepGameCorner_CounterClosed_Top, TRUE
+ setmetatile 5, 3, METATILE_MossdeepGameCorner_CounterClosed_Bottom, TRUE
return
CableClub_OnResume:
@@ -1389,8 +1295,7 @@ MossdeepCity_GameCorner_1F_EventScript_OldMan2::
message MossdeepCity_GameCorner_1F_Text_WelcomeCanYouWait
waitmessage
specialvar VAR_RESULT, IsWirelessAdapterConnected
- compare VAR_RESULT, FALSE
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected
+ goto_if_eq VAR_RESULT, FALSE, MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected
delay 60
message MossdeepCity_GameCorner_1F_Text_PlayWhichGame
waitmessage
@@ -1405,18 +1310,15 @@ MossdeepCity_GameCorner_1F_EventScript_OldMan2::
MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump::
setvar VAR_0x8005, 0
special IsPokemonJumpSpeciesInParty
- compare VAR_RESULT, FALSE
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon
+ goto_if_eq VAR_RESULT, FALSE, MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon
msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
setvar VAR_0x8005, 0
special ChooseMonForWirelessMinigame
waitstate
- compare VAR_0x8004, PARTY_SIZE
- goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ goto_if_ge VAR_0x8004, PARTY_SIZE, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ goto_if_eq VAR_RESULT, 0, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
setvar VAR_0x8004, LINK_GROUP_POKEMON_JUMP
goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
end
@@ -1424,18 +1326,15 @@ MossdeepCity_GameCorner_1F_EventScript_PlayPokemonJump::
MossdeepCity_GameCorner_1F_EventScript_PlayDodrioBerryPicking::
setvar VAR_0x8005, 1
special IsDodrioInParty
- compare VAR_RESULT, FALSE
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon
+ goto_if_eq VAR_RESULT, FALSE, MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon
msgbox MossdeepCity_GameCorner_1F_Text_EnterWhichPokemon, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
setvar VAR_0x8005, 1
special ChooseMonForWirelessMinigame
waitstate
- compare VAR_0x8004, PARTY_SIZE
- goto_if_ge MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ goto_if_ge VAR_0x8004, PARTY_SIZE, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ goto_if_eq VAR_RESULT, 0, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
setvar VAR_0x8004, LINK_GROUP_BERRY_PICKING
goto MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
end
@@ -1453,23 +1352,17 @@ MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader::
MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader::
call CableClub_EventScript_TryBecomeLinkLeader
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, MossdeepCity_GameCorner_1F_EventScript_TryBecomeLinkLeader
release
return
MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup::
call CableClub_EventScript_TryJoinLinkGroup
- compare VAR_RESULT, LINKUP_SUCCESS
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
- compare VAR_RESULT, LINKUP_FAILED
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
- compare VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup
+ goto_if_eq VAR_RESULT, LINKUP_SUCCESS, MossdeepCity_GameCorner_1F_EventScript_EnterMinigameRoom
+ goto_if_eq VAR_RESULT, LINKUP_FAILED, MossdeepCity_GameCorner_1F_EventScript_ChooseLinkLeader
+ goto_if_eq VAR_RESULT, LINKUP_RETRY_ROLE_ASSIGN, MossdeepCity_GameCorner_1F_EventScript_TryJoinLinkGroup
release
return
@@ -1501,12 +1394,9 @@ MossdeepCity_GameCorner_1F_EventScript_AdapterNotConnected::
MossdeepCity_GameCorner_1F_EventScript_DontHaveRequiredMon::
msgbox MossdeepCity_GameCorner_1F_Text_ExplainRequiredMon, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
- compare VAR_0x8005, 0
- call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements
- compare VAR_0x8005, 1
- call_if_eq MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements
+ goto_if_eq VAR_RESULT, NO, MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
+ call_if_eq VAR_0x8005, 0, MossdeepCity_GameCorner_1F_EventScript_ExplainPokemonJumpRequirements
+ call_if_eq VAR_0x8005, 1, MossdeepCity_GameCorner_1F_EventScript_ExplainDodrioBerryPickingRequirements
goto MossdeepCity_GameCorner_1F_EventScript_AbortMinigame
end
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index 17364559bb..04c62a6de3 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -18,8 +18,7 @@
LilycoveCity_ContestLobby_EventScript_SpeakToContestReceptionist::
lock
faceplayer
- compare VAR_CONTEST_PRIZE_PICKUP, 0
- goto_if_ne LilycoveCity_ContestLobby_EventScript_PickUpPrize
+ goto_if_ne VAR_CONTEST_PRIZE_PICKUP, 0, LilycoveCity_ContestLobby_EventScript_PickUpPrize
call_if_set FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_ReceptionWelcome
call_if_unset FLAG_RECEIVED_POKEBLOCK_CASE, LilycoveCity_ContestLobby_EventScript_GivePokeblockCase
goto LilycoveCity_ContestLobby_EventScript_AskEnterContest
@@ -44,8 +43,7 @@ LilycoveCity_ContestLobby_EventScript_PickUpPrize::
LilycoveCity_ContestLobby_EventScript_GiveLuxuryBallAtCounter::
giveitem ITEM_LUXURY_BALL
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_ContestLobby_EventScript_NoRoomForLuxuryBallAtCounter
setvar VAR_CONTEST_PRIZE_PICKUP, 0
closemessage
release
@@ -103,19 +101,13 @@ LilycoveCity_ContestLobby_EventScript_CancelEnterContest::
LilycoveCity_ContestLobby_EventScript_ChooseContestMon::
msgbox LilycoveCity_ContestLobby_Text_EnterWhichPokemon1, MSGBOX_DEFAULT
choosecontestmon
- compare VAR_0x8004, 255
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CancelEnterContest
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, LilycoveCity_ContestLobby_EventScript_CancelEnterContest
special TryEnterContestMon
- compare VAR_RESULT, CANT_ENTER_CONTEST
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterLowRank
- compare VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK
- goto_if_eq LilycoveCity_ContestLobby_EventScript_EnterMon
- compare VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK
- goto_if_eq LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon
- compare VAR_RESULT, CANT_ENTER_CONTEST_EGG
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterEgg
- compare VAR_RESULT, CANT_ENTER_CONTEST_FAINTED
- goto_if_eq LilycoveCity_ContestLobby_EventScript_CantEnterFainted
+ goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST, LilycoveCity_ContestLobby_EventScript_CantEnterLowRank
+ goto_if_eq VAR_RESULT, CAN_ENTER_CONTEST_EQUAL_RANK, LilycoveCity_ContestLobby_EventScript_EnterMon
+ goto_if_eq VAR_RESULT, CAN_ENTER_CONTEST_HIGH_RANK, LilycoveCity_ContestLobby_EventScript_ConfirmEntryAlreadyWon
+ goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST_EGG, LilycoveCity_ContestLobby_EventScript_CantEnterEgg
+ goto_if_eq VAR_RESULT, CANT_ENTER_CONTEST_FAINTED, LilycoveCity_ContestLobby_EventScript_CantEnterFainted
end
LilycoveCity_ContestLobby_EventScript_ChooseContestRank::
@@ -283,8 +275,8 @@ ContestHall_EventScript_GetCategoryTough::
return
ContestHall_EventScript_ContestGettingStarted::
- buffercontesttypestring 1, VAR_0x8008
- bufferstdstring 2, VAR_0x8009
+ buffercontestname STR_VAR_2, VAR_0x8008
+ bufferstdstring STR_VAR_3, VAR_0x8009
call ContestHall_EventScript_GettingStarted
lockall
applymovement LOCALID_MC, ContestHall_Movement_MCBackUp
@@ -293,8 +285,7 @@ ContestHall_EventScript_ContestGettingStarted::
return
ContestHall_EventScript_GettingStarted::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_GettingStartedLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_GettingStartedLink
lockall
msgbox ContestHall_Text_GettingStartedParticipantsAsFollows, MSGBOX_DEFAULT
releaseall
@@ -302,8 +293,7 @@ ContestHall_EventScript_GettingStarted::
ContestHall_EventScript_GettingStartedLink::
specialvar VAR_RESULT, IsWirelessContest
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_GettingStartedWireless
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_GettingStartedWireless
messageautoscroll ContestHall_Text_GettingStartedParticipantsAsFollowsLink
waitmessage
return
@@ -326,16 +316,14 @@ ContestHall_EventScript_ShowContestMons::
call ContestHall_EventScript_TryWaitForLink
call ContestHall_EventScript_TryWaitForLink
addvar VAR_0x8006, 1
- compare VAR_0x8006, CONTESTANT_COUNT
- goto_if_ne ContestHall_EventScript_ShowContestMons
+ goto_if_ne VAR_0x8006, CONTESTANT_COUNT, ContestHall_EventScript_ShowContestMons
call ContestHall_EventScript_AudienceVote
setvar VAR_TEMP_1, 6
return
ContestHall_EventScript_TryWaitForLink::
specialvar VAR_RESULT, IsWirelessContest
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_WaitForLink
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_WaitForLink
return
ContestHall_EventScript_WaitForLink::
@@ -344,14 +332,10 @@ ContestHall_EventScript_WaitForLink::
return
ContestHall_EventScript_ContestantWalkToCenter::
- compare VAR_0x8006, 0
- goto_if_eq ContestHall_EventScript_Player1WalkToCenter
- compare VAR_0x8006, 1
- goto_if_eq ContestHall_EventScript_Player2WalkToCenter
- compare VAR_0x8006, 2
- goto_if_eq ContestHall_EventScript_Player3WalkToCenter
- compare VAR_0x8006, 3
- goto_if_eq ContestHall_EventScript_Player4WalkToCenter
+ goto_if_eq VAR_0x8006, 0, ContestHall_EventScript_Player1WalkToCenter
+ goto_if_eq VAR_0x8006, 1, ContestHall_EventScript_Player2WalkToCenter
+ goto_if_eq VAR_0x8006, 2, ContestHall_EventScript_Player3WalkToCenter
+ goto_if_eq VAR_0x8006, 3, ContestHall_EventScript_Player4WalkToCenter
return
ContestHall_EventScript_Player1WalkToCenter::
@@ -393,7 +377,7 @@ ContestHall_EventScript_Player4WalkToCenter::
ContestHall_EventScript_ShowContestMonPic::
special BufferContestTrainerAndMonNames
addvar VAR_0x8006, 1
- buffernumberstring 1, VAR_0x8006
+ buffernumberstring STR_VAR_2, VAR_0x8006
lockall
applymovement VAR_0x800B, ContestHall_Movement_ContestantDelay32
waitmovement 0
@@ -413,8 +397,7 @@ ContestHall_EventScript_ShowContestMonPic::
return
ContestHall_EventScript_EntryXTrainersMon::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_EntryXTrainersMonLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_EntryXTrainersMonLink
message ContestHall_Text_EntryXTrainersMon
waitmessage
return
@@ -441,15 +424,13 @@ ContestHall_EventScript_AudienceVote::
return
ContestHall_EventScript_AudienceWillVote::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_AudienceWillVoteLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_AudienceWillVoteLink
msgbox ContestHall_Text_SeenContestantsAudienceWillVote, MSGBOX_DEFAULT
return
ContestHall_EventScript_AudienceWillVoteLink::
specialvar VAR_RESULT, IsWirelessContest
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_AudienceWillVoteWireless
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_AudienceWillVoteWireless
messageautoscroll ContestHall_Text_SeenContestantsAudienceWillVote
waitmessage
return
@@ -467,8 +448,7 @@ ContestHall_EventScript_AudienceWillVoteWireless::
return
ContestHall_EventScript_VotingUnderWay::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_VotingUnderWayLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_VotingUnderWayLink
message ContestHall_Text_VotingUnderWay
return
@@ -510,16 +490,11 @@ ContestHall_EventScript_AudienceReactToContestant::
@ and are set to 9 if they havent displayed a heart yet, and 1 if they have
ContestHall_EventScript_AudienceHeartEmotes::
special GetContestMonCondition
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL
- call_if_eq ContestHall_EventScript_GetNumberOfHeartsNormal
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER
- call_if_eq ContestHall_EventScript_GetNumberOfHeartsSuper
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER
- call_if_eq ContestHall_EventScript_GetNumberOfHeartsHyper
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER
- call_if_eq ContestHall_EventScript_GetNumberOfHeartsMaster
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- call_if_eq ContestHall_EventScript_GetNumberOfHeartsLink
+ call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL, ContestHall_EventScript_GetNumberOfHeartsNormal
+ call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_GetNumberOfHeartsSuper
+ call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_HYPER, ContestHall_EventScript_GetNumberOfHeartsHyper
+ call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_MASTER, ContestHall_EventScript_GetNumberOfHeartsMaster
+ call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_GetNumberOfHeartsLink
setvar VAR_TEMP_1, 9
setvar VAR_TEMP_2, 9
setvar VAR_TEMP_3, 9
@@ -528,8 +503,7 @@ ContestHall_EventScript_AudienceHeartEmotes::
setvar VAR_TEMP_6, 9
setvar VAR_TEMP_7, 9
setvar VAR_TEMP_8, 9
- compare VAR_TEMP_0, 0
- call_if_gt ContestHall_EventScript_DisplayHearts
+ call_if_gt VAR_TEMP_0, 0, ContestHall_EventScript_DisplayHearts
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
@@ -543,124 +517,75 @@ ContestHall_EventScript_AudienceHeartEmotes::
ContestHall_EventScript_DisplayHearts::
setvar VAR_RESULT, 8
special GenerateContestRand
- compare VAR_RESULT, 0
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember1
- compare VAR_RESULT, 1
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember2
- compare VAR_RESULT, 2
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember3
- compare VAR_RESULT, 3
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember4
- compare VAR_RESULT, 4
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember5
- compare VAR_RESULT, 5
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember6
- compare VAR_RESULT, 6
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember7
- compare VAR_RESULT, 7
- call_if_eq ContestHall_EventScript_TryDisplayHeartAudienceMember8
- compare VAR_TEMP_0, 0 @ Still more hearts to display
- goto_if_gt ContestHall_EventScript_DisplayHearts
+ call_if_eq VAR_RESULT, 0, ContestHall_EventScript_TryDisplayHeartAudienceMember1
+ call_if_eq VAR_RESULT, 1, ContestHall_EventScript_TryDisplayHeartAudienceMember2
+ call_if_eq VAR_RESULT, 2, ContestHall_EventScript_TryDisplayHeartAudienceMember3
+ call_if_eq VAR_RESULT, 3, ContestHall_EventScript_TryDisplayHeartAudienceMember4
+ call_if_eq VAR_RESULT, 4, ContestHall_EventScript_TryDisplayHeartAudienceMember5
+ call_if_eq VAR_RESULT, 5, ContestHall_EventScript_TryDisplayHeartAudienceMember6
+ call_if_eq VAR_RESULT, 6, ContestHall_EventScript_TryDisplayHeartAudienceMember7
+ call_if_eq VAR_RESULT, 7, ContestHall_EventScript_TryDisplayHeartAudienceMember8
+ goto_if_gt VAR_TEMP_0, 0, ContestHall_EventScript_DisplayHearts @ Still more hearts to display
waitmovement 0
return
ContestHall_EventScript_GetNumberOfHeartsNormal::
- compare VAR_0x8004, 80
- goto_if_gt ContestHall_EventScript_Set8Hearts
- compare VAR_0x8004, 70
- goto_if_gt ContestHall_EventScript_Set7Hearts
- compare VAR_0x8004, 60
- goto_if_gt ContestHall_EventScript_Set6Hearts
- compare VAR_0x8004, 50
- goto_if_gt ContestHall_EventScript_Set5Hearts
- compare VAR_0x8004, 40
- goto_if_gt ContestHall_EventScript_Set4Hearts
- compare VAR_0x8004, 30
- goto_if_gt ContestHall_EventScript_Set3Hearts
- compare VAR_0x8004, 20
- goto_if_gt ContestHall_EventScript_Set2Hearts
- compare VAR_0x8004, 10
- goto_if_gt ContestHall_EventScript_Set1Heart
+ goto_if_gt VAR_0x8004, 80, ContestHall_EventScript_Set8Hearts
+ goto_if_gt VAR_0x8004, 70, ContestHall_EventScript_Set7Hearts
+ goto_if_gt VAR_0x8004, 60, ContestHall_EventScript_Set6Hearts
+ goto_if_gt VAR_0x8004, 50, ContestHall_EventScript_Set5Hearts
+ goto_if_gt VAR_0x8004, 40, ContestHall_EventScript_Set4Hearts
+ goto_if_gt VAR_0x8004, 30, ContestHall_EventScript_Set3Hearts
+ goto_if_gt VAR_0x8004, 20, ContestHall_EventScript_Set2Hearts
+ goto_if_gt VAR_0x8004, 10, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsSuper::
- compare VAR_0x8004, 230
- goto_if_gt ContestHall_EventScript_Set8Hearts
- compare VAR_0x8004, 210
- goto_if_gt ContestHall_EventScript_Set7Hearts
- compare VAR_0x8004, 190
- goto_if_gt ContestHall_EventScript_Set6Hearts
- compare VAR_0x8004, 170
- goto_if_gt ContestHall_EventScript_Set5Hearts
- compare VAR_0x8004, 150
- goto_if_gt ContestHall_EventScript_Set4Hearts
- compare VAR_0x8004, 130
- goto_if_gt ContestHall_EventScript_Set3Hearts
- compare VAR_0x8004, 110
- goto_if_gt ContestHall_EventScript_Set2Hearts
- compare VAR_0x8004, 90
- goto_if_gt ContestHall_EventScript_Set1Heart
+ goto_if_gt VAR_0x8004, 230, ContestHall_EventScript_Set8Hearts
+ goto_if_gt VAR_0x8004, 210, ContestHall_EventScript_Set7Hearts
+ goto_if_gt VAR_0x8004, 190, ContestHall_EventScript_Set6Hearts
+ goto_if_gt VAR_0x8004, 170, ContestHall_EventScript_Set5Hearts
+ goto_if_gt VAR_0x8004, 150, ContestHall_EventScript_Set4Hearts
+ goto_if_gt VAR_0x8004, 130, ContestHall_EventScript_Set3Hearts
+ goto_if_gt VAR_0x8004, 110, ContestHall_EventScript_Set2Hearts
+ goto_if_gt VAR_0x8004, 90, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsHyper::
- compare VAR_0x8004, 380
- goto_if_gt ContestHall_EventScript_Set8Hearts
- compare VAR_0x8004, 350
- goto_if_gt ContestHall_EventScript_Set7Hearts
- compare VAR_0x8004, 320
- goto_if_gt ContestHall_EventScript_Set6Hearts
- compare VAR_0x8004, 290
- goto_if_gt ContestHall_EventScript_Set5Hearts
- compare VAR_0x8004, 260
- goto_if_gt ContestHall_EventScript_Set4Hearts
- compare VAR_0x8004, 230
- goto_if_gt ContestHall_EventScript_Set3Hearts
- compare VAR_0x8004, 200
- goto_if_gt ContestHall_EventScript_Set2Hearts
- compare VAR_0x8004, 170
- goto_if_gt ContestHall_EventScript_Set1Heart
+ goto_if_gt VAR_0x8004, 380, ContestHall_EventScript_Set8Hearts
+ goto_if_gt VAR_0x8004, 350, ContestHall_EventScript_Set7Hearts
+ goto_if_gt VAR_0x8004, 320, ContestHall_EventScript_Set6Hearts
+ goto_if_gt VAR_0x8004, 290, ContestHall_EventScript_Set5Hearts
+ goto_if_gt VAR_0x8004, 260, ContestHall_EventScript_Set4Hearts
+ goto_if_gt VAR_0x8004, 230, ContestHall_EventScript_Set3Hearts
+ goto_if_gt VAR_0x8004, 200, ContestHall_EventScript_Set2Hearts
+ goto_if_gt VAR_0x8004, 170, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsMaster::
- compare VAR_0x8004, 600
- goto_if_gt ContestHall_EventScript_Set8Hearts
- compare VAR_0x8004, 560
- goto_if_gt ContestHall_EventScript_Set7Hearts
- compare VAR_0x8004, 520
- goto_if_gt ContestHall_EventScript_Set6Hearts
- compare VAR_0x8004, 480
- goto_if_gt ContestHall_EventScript_Set5Hearts
- compare VAR_0x8004, 440
- goto_if_gt ContestHall_EventScript_Set4Hearts
- compare VAR_0x8004, 400
- goto_if_gt ContestHall_EventScript_Set3Hearts
- compare VAR_0x8004, 360
- goto_if_gt ContestHall_EventScript_Set2Hearts
- compare VAR_0x8004, 320
- goto_if_gt ContestHall_EventScript_Set1Heart
+ goto_if_gt VAR_0x8004, 600, ContestHall_EventScript_Set8Hearts
+ goto_if_gt VAR_0x8004, 560, ContestHall_EventScript_Set7Hearts
+ goto_if_gt VAR_0x8004, 520, ContestHall_EventScript_Set6Hearts
+ goto_if_gt VAR_0x8004, 480, ContestHall_EventScript_Set5Hearts
+ goto_if_gt VAR_0x8004, 440, ContestHall_EventScript_Set4Hearts
+ goto_if_gt VAR_0x8004, 400, ContestHall_EventScript_Set3Hearts
+ goto_if_gt VAR_0x8004, 360, ContestHall_EventScript_Set2Hearts
+ goto_if_gt VAR_0x8004, 320, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
ContestHall_EventScript_GetNumberOfHeartsLink::
- compare VAR_0x8004, 600
- goto_if_gt ContestHall_EventScript_Set8Hearts
- compare VAR_0x8004, 550
- goto_if_gt ContestHall_EventScript_Set7Hearts
- compare VAR_0x8004, 500
- goto_if_gt ContestHall_EventScript_Set6Hearts
- compare VAR_0x8004, 450
- goto_if_gt ContestHall_EventScript_Set5Hearts
- compare VAR_0x8004, 400
- goto_if_gt ContestHall_EventScript_Set4Hearts
- compare VAR_0x8004, 300
- goto_if_gt ContestHall_EventScript_Set3Hearts
- compare VAR_0x8004, 200
- goto_if_gt ContestHall_EventScript_Set2Hearts
- compare VAR_0x8004, 100
- goto_if_gt ContestHall_EventScript_Set1Heart
+ goto_if_gt VAR_0x8004, 600, ContestHall_EventScript_Set8Hearts
+ goto_if_gt VAR_0x8004, 550, ContestHall_EventScript_Set7Hearts
+ goto_if_gt VAR_0x8004, 500, ContestHall_EventScript_Set6Hearts
+ goto_if_gt VAR_0x8004, 450, ContestHall_EventScript_Set5Hearts
+ goto_if_gt VAR_0x8004, 400, ContestHall_EventScript_Set4Hearts
+ goto_if_gt VAR_0x8004, 300, ContestHall_EventScript_Set3Hearts
+ goto_if_gt VAR_0x8004, 200, ContestHall_EventScript_Set2Hearts
+ goto_if_gt VAR_0x8004, 100, ContestHall_EventScript_Set1Heart
setvar VAR_TEMP_0, 0
return
@@ -697,8 +622,7 @@ ContestHall_EventScript_Set8Hearts::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember1::
- compare VAR_TEMP_1, 1
- goto_if_eq ContestHall_EventScript_AudienceMember1AlreadyEmoted
+ goto_if_eq VAR_TEMP_1, 1, ContestHall_EventScript_AudienceMember1AlreadyEmoted
applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -710,8 +634,7 @@ ContestHall_EventScript_AudienceMember1AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember2::
- compare VAR_TEMP_2, 1
- goto_if_eq ContestHall_EventScript_AudienceMember2AlreadyEmoted
+ goto_if_eq VAR_TEMP_2, 1, ContestHall_EventScript_AudienceMember2AlreadyEmoted
applymovement LOCALID_AUDIENCE_2, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -723,8 +646,7 @@ ContestHall_EventScript_AudienceMember2AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember3::
- compare VAR_TEMP_3, 1
- goto_if_eq ContestHall_EventScript_AudienceMember3AlreadyEmoted
+ goto_if_eq VAR_TEMP_3, 1, ContestHall_EventScript_AudienceMember3AlreadyEmoted
applymovement LOCALID_AUDIENCE_3, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -736,8 +658,7 @@ ContestHall_EventScript_AudienceMember3AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember4::
- compare VAR_TEMP_4, 1
- goto_if_eq ContestHall_EventScript_Audience4MemberAlreadyEmoted
+ goto_if_eq VAR_TEMP_4, 1, ContestHall_EventScript_Audience4MemberAlreadyEmoted
applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -749,8 +670,7 @@ ContestHall_EventScript_Audience4MemberAlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember5::
- compare VAR_TEMP_5, 1
- goto_if_eq ContestHall_EventScript_AudienceMember5AlreadyEmoted
+ goto_if_eq VAR_TEMP_5, 1, ContestHall_EventScript_AudienceMember5AlreadyEmoted
applymovement LOCALID_AUDIENCE_5, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -762,8 +682,7 @@ ContestHall_EventScript_AudienceMember5AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember6::
- compare VAR_TEMP_6, 1
- goto_if_eq ContestHall_EventScript_AudienceMember6AlreadyEmoted
+ goto_if_eq VAR_TEMP_6, 1, ContestHall_EventScript_AudienceMember6AlreadyEmoted
applymovement LOCALID_AUDIENCE_6, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -775,8 +694,7 @@ ContestHall_EventScript_AudienceMember6AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember7::
- compare VAR_TEMP_7, 1
- goto_if_eq ContestHall_EventScript_AudienceMember7AlreadyEmoted
+ goto_if_eq VAR_TEMP_7, 1, ContestHall_EventScript_AudienceMember7AlreadyEmoted
applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -788,8 +706,7 @@ ContestHall_EventScript_AudienceMember7AlreadyEmoted::
return
ContestHall_EventScript_TryDisplayHeartAudienceMember8::
- compare VAR_TEMP_8, 1
- goto_if_eq ContestHall_EventScript_AudienceMember8AlreadyEmoted
+ goto_if_eq VAR_TEMP_8, 1, ContestHall_EventScript_AudienceMember8AlreadyEmoted
applymovement LOCALID_ARTIST, ContestHall_Movement_Heart
playse SE_PIN
delay 14
@@ -870,15 +787,13 @@ ContestHall_EventScript_DoContestAppeals::
return
ContestHall_EventScript_LetsAppeal::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_LetsAppealLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_LetsAppealLink
msgbox ContestHall_Text_VotingCompleteLetsAppeal, MSGBOX_DEFAULT
return
ContestHall_EventScript_LetsAppealLink::
specialvar VAR_RESULT, IsWirelessContest
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_LetsAppealWireless
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_LetsAppealWireless
messageautoscroll ContestHall_Text_VotingCompleteLetsAppeal
waitmessage
return
@@ -920,8 +835,7 @@ ContestHall_EventScript_ContestResults::
return
ContestHall_EventScript_ThatsItForJudging::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_ThatsItForJudgingLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_ThatsItForJudgingLink
msgbox ContestHall_Text_ThatsItForJudging, MSGBOX_DEFAULT
return
@@ -933,8 +847,7 @@ ContestHall_EventScript_ThatsItForJudgingLink::
return
ContestHall_EventScript_ThankYouForAppeals::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_ThankYouForAppealsLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_ThankYouForAppealsLink
msgbox ContestHall_Text_ThankYouForAppeals, MSGBOX_DEFAULT
return
@@ -946,8 +859,7 @@ ContestHall_EventScript_ThankYouForAppealsLink::
return
ContestHall_EventScript_JudgeLooksReady::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_JudgeLooksReadyLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_JudgeLooksReadyLink
msgbox ContestHall_Text_JudgeLooksReady, MSGBOX_DEFAULT
return
@@ -959,8 +871,7 @@ ContestHall_EventScript_JudgeLooksReadyLink::
return
ContestHall_EventScript_WeWillDeclareWinner::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_WeWillDeclareWinnerLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_WeWillDeclareWinnerLink
msgbox ContestHall_Text_WeWillNowDeclareWinner, MSGBOX_DEFAULT
return
@@ -1000,7 +911,7 @@ ContestHall_EventScript_CongratulateWinner::
special BufferContestWinnerTrainerName
special BufferContestWinnerMonName
addvar VAR_0x8005, 1
- buffernumberstring 1, VAR_0x8005
+ buffernumberstring STR_VAR_2, VAR_0x8005
addvar VAR_0x8005, -1
call ContestHall_EventScript_CongratsWinner
applymovement VAR_TEMP_3, ContestHall_Movement_WinningPlayerWalkUp
@@ -1010,8 +921,7 @@ ContestHall_EventScript_CongratulateWinner::
return
ContestHall_EventScript_CongratsWinner::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_CongratsWinnerLink
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_CongratsWinnerLink
msgbox ContestHall_Text_CongratsTrainerXandMon, MSGBOX_DEFAULT
return
@@ -1023,8 +933,7 @@ ContestHall_EventScript_CongratsWinnerLink::
ContestHall_EventScript_AudienceLookAround::
addvar VAR_TEMP_1, 1
lockall
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_NORMAL
- call_if_gt ContestHall_EventScript_VObjectAudienceLookAround
+ 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
@@ -1033,8 +942,7 @@ ContestHall_EventScript_AudienceLookAround::
applymovement LOCALID_AUDIENCE_7, ContestHall_Movement_AudienceMemberLookDown
applymovement LOCALID_AUDIENCE_1, ContestHall_Movement_AudienceMemberLookUp
applymovement LOCALID_AUDIENCE_4, ContestHall_Movement_AudienceMemberLookLeft
- compare VAR_TEMP_1, 4
- goto_if_ne ContestHall_EventScript_AudienceLookAround
+ goto_if_ne VAR_TEMP_1, 4, ContestHall_EventScript_AudienceLookAround
delay 30
return
@@ -1108,8 +1016,7 @@ ContestHall_EventScript_VObjectAudienceLookAround::
return
ContestHall_EventScript_GiveWinnerPrize::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_LINK
- goto_if_eq ContestHall_EventScript_EndLinkContest
+ goto_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_LINK, ContestHall_EventScript_EndLinkContest
call ContestHall_EventScript_CheckShouldSkipPrize
goto_if_set FLAG_TEMP_2, ContestHall_EventScript_SkipPrize
lockall
@@ -1122,8 +1029,7 @@ ContestHall_EventScript_GiveWinnerPrize::
call ContestHall_EventScript_AudienceLookAround
delay 30
special ShouldReadyContestArtist
- compare VAR_0x8004, TRUE
- goto_if_eq ContestHall_EventScript_SetReadyForContestArtist
+ goto_if_eq VAR_0x8004, TRUE, ContestHall_EventScript_SetReadyForContestArtist
return
ContestHall_EventScript_SkipPrize::
@@ -1132,25 +1038,21 @@ ContestHall_EventScript_SkipPrize::
releaseall
delay 90
special ShouldReadyContestArtist
- compare VAR_0x8004, TRUE
- goto_if_eq ContestHall_EventScript_SetReadyForContestArtist
+ goto_if_eq VAR_0x8004, TRUE, ContestHall_EventScript_SetReadyForContestArtist
return
ContestHall_EventScript_CheckShouldSkipPrize::
specialvar VAR_RESULT, HasMonWonThisContestBefore
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_CheckPlayerWon
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_CheckPlayerWon
return
ContestHall_EventScript_CheckPlayerWon::
special GetContestWinnerId
- compare VAR_0x8005, 3
- goto_if_eq ContestHall_EventScript_CheckRankIsMaster
+ goto_if_eq VAR_0x8005, 3, ContestHall_EventScript_CheckRankIsMaster
return
ContestHall_EventScript_CheckRankIsMaster::
- compare VAR_CONTEST_RANK, CONTEST_RANK_MASTER
- goto_if_eq ContestHall_EventScript_DontSkipPrize
+ goto_if_eq VAR_CONTEST_RANK, CONTEST_RANK_MASTER, ContestHall_EventScript_DontSkipPrize
setflag FLAG_TEMP_2
return
@@ -1171,8 +1073,7 @@ ContestHall_EventScript_EndLinkContest::
special GetContestPlayerId
special GetContestWinnerId
special ShouldReadyContestArtist
- compare VAR_0x8004, TRUE
- goto_if_eq ContestHall_EventScript_SetReadyForLinkContestArtist
+ goto_if_eq VAR_0x8004, TRUE, ContestHall_EventScript_SetReadyForLinkContestArtist
closemessage
return
@@ -1223,21 +1124,17 @@ ContestHall_EventScript_Player4ApproachForPrize::
@ In NPC Contests, the player is always entry 4 (id number 3)
ContestHall_EventScript_GivePrizeIfWinner::
special GetContestWinnerId
- compare VAR_0x8005, 3
- goto_if_eq ContestHall_EventScript_GiveContestPrizes
+ goto_if_eq VAR_0x8005, 3, ContestHall_EventScript_GiveContestPrizes
lockall
msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
return
ContestHall_EventScript_GiveContestPrizes::
- compare VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER
- call_if_eq ContestHall_EventScript_SetSketchFlag
+ call_if_eq VAR_CONTEST_TYPE, CONTEST_TYPE_NPC_SUPER, ContestHall_EventScript_SetSketchFlag
specialvar VAR_RESULT, HasMonWonThisContestBefore
- compare VAR_RESULT, FALSE
- goto_if_eq ContestHall_EventScript_ReceiveContestRibbon
- compare VAR_CONTEST_RANK, CONTEST_RANK_MASTER
- goto_if_eq ContestHall_EventScript_GiveLuxuryBall
+ goto_if_eq VAR_RESULT, FALSE, ContestHall_EventScript_ReceiveContestRibbon
+ goto_if_eq VAR_CONTEST_RANK, CONTEST_RANK_MASTER, ContestHall_EventScript_GiveLuxuryBall
lockall
msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
@@ -1253,8 +1150,7 @@ ContestHall_EventScript_NoRoomForLuxuryBall::
ContestHall_EventScript_GiveLuxuryBall::
giveitem ITEM_LUXURY_BALL
- compare VAR_RESULT, FALSE
- goto_if_eq ContestHall_EventScript_NoRoomForLuxuryBall
+ goto_if_eq VAR_RESULT, FALSE, ContestHall_EventScript_NoRoomForLuxuryBall
lockall
msgbox ContestHall_Text_CongratsPleaseCompeteAgain, MSGBOX_DEFAULT
releaseall
@@ -1460,8 +1356,7 @@ ContestHall_Movement_Player2ApproachForPrize:
@ IsContestWithRSPlayer has no side effect, so this is nop
ContestHall_EventScript_CheckIfContestWithRSPlayer::
specialvar VAR_RESULT, IsContestWithRSPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq ContestHall_EventScript_RetRSPlayer
+ goto_if_eq VAR_RESULT, TRUE, ContestHall_EventScript_RetRSPlayer
return
ContestHall_EventScript_RetRSPlayer::
@@ -1469,8 +1364,7 @@ ContestHall_EventScript_RetRSPlayer::
LilycoveCity_ContestLobby_EventScript_DelayIfContestWithRSPlayer::
specialvar VAR_RESULT, IsContestWithRSPlayer
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer
return
LilycoveCity_ContestLobby_EventScript_DelayForRSPlayer::
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index 8d529d5e10..cb053f2c40 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -5,23 +5,18 @@ Route117_EventScript_DaycareMan::
faceplayer
special GetDaycareMonNicknames
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, DAYCARE_EGG_WAITING
- goto_if_eq Route117_EventScript_DaycareEggWaiting
- compare VAR_RESULT, DAYCARE_ONE_MON
- goto_if_eq Route117_EventScript_CheckOnOneMon
- compare VAR_RESULT, DAYCARE_TWO_MONS
- goto_if_eq Route117_EventScript_CheckOnTwoMons
+ goto_if_eq VAR_RESULT, DAYCARE_EGG_WAITING, Route117_EventScript_DaycareEggWaiting
+ goto_if_eq VAR_RESULT, DAYCARE_ONE_MON, Route117_EventScript_CheckOnOneMon
+ goto_if_eq VAR_RESULT, DAYCARE_TWO_MONS, Route117_EventScript_CheckOnTwoMons
msgbox Route117_Text_SeeWifeIfYoudLikeMeToRaiseMon, MSGBOX_DEFAULT
release
end
Route117_EventScript_DaycareEggWaiting::
msgbox Route117_Text_DoYouWantEgg, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_EventScript_DaycareAcceptEgg
+ goto_if_eq VAR_RESULT, YES, Route117_EventScript_DaycareAcceptEgg
msgbox Route117_Text_IWillKeepDoYouWantIt, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_EventScript_DaycareAcceptEgg
+ goto_if_eq VAR_RESULT, YES, Route117_EventScript_DaycareAcceptEgg
msgbox Route117_Text_IllKeepIt, MSGBOX_DEFAULT
clearflag FLAG_PENDING_DAYCARE_EGG
special RejectEggFromDayCare
@@ -30,8 +25,7 @@ Route117_EventScript_DaycareEggWaiting::
Route117_EventScript_DaycareAcceptEgg::
specialvar VAR_RESULT, CalculatePlayerPartyCount
- compare VAR_RESULT, PARTY_SIZE
- goto_if_ne Route117_EventScript_DaycareReceiveEgg
+ goto_if_ne VAR_RESULT, PARTY_SIZE, Route117_EventScript_DaycareReceiveEgg
msgbox Route117_Text_YouHaveNoRoomForIt, MSGBOX_DEFAULT
release
end
@@ -49,8 +43,7 @@ Route117_EventScript_DaycareReceiveEgg::
Route117_EventScript_CheckMonReceivedMail::
specialvar VAR_RESULT, CheckDaycareMonReceivedMail
- compare VAR_RESULT, 1
- call_if_eq Route117_EventScript_MonReceivedMail
+ call_if_eq VAR_RESULT, 1, Route117_EventScript_MonReceivedMail
return
Route117_EventScript_MonReceivedMail::
@@ -83,35 +76,27 @@ Route117_PokemonDayCare_EventScript_DaycareWoman::
lock
faceplayer
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, DAYCARE_EGG_WAITING
- goto_if_eq Route117_PokemonDayCare_EventScript_EggWaiting
- compare VAR_RESULT, DAYCARE_ONE_MON
- goto_if_eq Route117_PokemonDayCare_EventScript_OneMonInDaycare
- compare VAR_RESULT, DAYCARE_TWO_MONS
- goto_if_eq Route117_PokemonDayCare_EventScript_TwoMonsInDaycare
+ goto_if_eq VAR_RESULT, DAYCARE_EGG_WAITING, Route117_PokemonDayCare_EventScript_EggWaiting
+ goto_if_eq VAR_RESULT, DAYCARE_ONE_MON, Route117_PokemonDayCare_EventScript_OneMonInDaycare
+ goto_if_eq VAR_RESULT, DAYCARE_TWO_MONS, Route117_PokemonDayCare_EventScript_TwoMonsInDaycare
msgbox Route117_PokemonDayCare_Text_WouldYouLikeUsToRaiseAMon, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_GiveMonToRaise
msgbox Route117_PokemonDayCare_Text_FineThenComeAgain, MSGBOX_DEFAULT
release
end
Route117_PokemonDayCare_EventScript_GiveMonToRaise::
specialvar VAR_RESULT, CountPartyNonEggMons
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneMon
+ goto_if_eq VAR_RESULT, 1, Route117_PokemonDayCare_EventScript_OnlyOneMon
specialvar VAR_RESULT, CountPartyAliveNonEggMons
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_OnlyTwoAliveMons
+ goto_if_eq VAR_RESULT, 2, Route117_PokemonDayCare_EventScript_OnlyTwoAliveMons
msgbox Route117_PokemonDayCare_Text_WhichMonShouldWeRaise, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
special ChooseSendDaycareMon
waitstate
- compare VAR_0x8004, 255
- goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain
+ goto_if_eq VAR_0x8004, PARTY_NOTHING_CHOSEN, Route117_PokemonDayCare_EventScript_ComeAgain
specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
- compare VAR_RESULT, 0
- goto_if_eq Route117_PokemonDayCare_EventScript_OnlyOneAliveMon
+ goto_if_eq VAR_RESULT, 0, Route117_PokemonDayCare_EventScript_OnlyOneAliveMon
specialvar VAR_0x8005, GetSelectedMonNicknameAndSpecies
waitse
playmoncry VAR_0x8005, CRY_MODE_NORMAL
@@ -120,8 +105,7 @@ Route117_PokemonDayCare_EventScript_GiveMonToRaise::
special StoreSelectedPokemonInDaycare
incrementgamestat GAME_STAT_USED_DAYCARE
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, DAYCARE_ONE_MON
- goto_if_eq Route117_PokemonDayCare_EventScript_CanRaiseOneMore
+ goto_if_eq VAR_RESULT, DAYCARE_ONE_MON, Route117_PokemonDayCare_EventScript_CanRaiseOneMore
release
end
@@ -132,8 +116,7 @@ Route117_PokemonDayCare_EventScript_ComeAgain::
Route117_PokemonDayCare_EventScript_CanRaiseOneMore::
msgbox Route117_PokemonDayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_GiveMonToRaise
goto Route117_PokemonDayCare_EventScript_ComeAgain
end
@@ -163,8 +146,7 @@ Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels::
Route117_PokemonDayCare_EventScript_DisplayLevelsGained::
specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare
- compare VAR_RESULT, 0
- call_if_ne Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels
+ call_if_ne VAR_RESULT, 0, Route117_PokemonDayCare_EventScript_YourMonHasGrownXLevels
return
Route117_PokemonDayCare_EventScript_OneMonInDaycare::
@@ -172,42 +154,35 @@ Route117_PokemonDayCare_EventScript_OneMonInDaycare::
setvar VAR_0x8004, 0
call Route117_PokemonDayCare_EventScript_DisplayLevelsGained
msgbox Route117_PokemonDayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_GiveMonToRaise
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_GiveMonToRaise
msgbox Route117_PokemonDayCare_Text_TakeYourMonBack, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_TryRetrieveMon
goto Route117_PokemonDayCare_EventScript_ComeAgain
end
Route117_PokemonDayCare_EventScript_TryRetrieveMon::
specialvar VAR_RESULT, CalculatePlayerPartyCount
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq Route117_PokemonDayCare_EventScript_NoRoom
+ goto_if_eq VAR_RESULT, PARTY_SIZE, Route117_PokemonDayCare_EventScript_NoRoom
specialvar VAR_RESULT, GetDaycareState
setvar VAR_0x8004, 0
- compare VAR_RESULT, DAYCARE_ONE_MON
- goto_if_eq Route117_PokemonDayCare_EventScript_CostPrompt
+ goto_if_eq VAR_RESULT, DAYCARE_ONE_MON, Route117_PokemonDayCare_EventScript_CostPrompt
special ShowDaycareLevelMenu
waitstate
copyvar VAR_0x8004, VAR_RESULT
- compare VAR_RESULT, DAYCARE_EXITED_LEVEL_MENU
- goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain
+ goto_if_eq VAR_RESULT, DAYCARE_EXITED_LEVEL_MENU, Route117_PokemonDayCare_EventScript_ComeAgain
goto Route117_PokemonDayCare_EventScript_CostPrompt
end
Route117_PokemonDayCare_EventScript_CostPrompt::
special GetDaycareCost
msgbox Route117_PokemonDayCare_Text_ItWillCostX, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_CheckEnoughMoney
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_CheckEnoughMoney
goto Route117_PokemonDayCare_EventScript_ComeAgain
end
Route117_PokemonDayCare_EventScript_CheckEnoughMoney::
specialvar VAR_RESULT, IsEnoughForCostInVar0x8005
- compare VAR_RESULT, 1
- goto_if_eq Route117_PokemonDayCare_EventScript_RetrieveMon
+ goto_if_eq VAR_RESULT, 1, Route117_PokemonDayCare_EventScript_RetrieveMon
msgbox Route117_PokemonDayCare_Text_NotEnoughMoney, MSGBOX_DEFAULT
release
end
@@ -224,15 +199,13 @@ Route117_PokemonDayCare_EventScript_RetrieveMon::
msgbox Route117_PokemonDayCare_Text_TookBackMon, MSGBOX_DEFAULT
waitmoncry
specialvar VAR_RESULT, GetDaycareState
- compare VAR_RESULT, DAYCARE_ONE_MON
- goto_if_eq Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon
+ goto_if_eq VAR_RESULT, DAYCARE_ONE_MON, Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon
goto Route117_PokemonDayCare_EventScript_ComeAgain
end
Route117_PokemonDayCare_EventScript_AskRetrieveOtherMon::
msgbox Route117_PokemonDayCare_Text_TakeOtherOneBackToo, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_TryRetrieveMon
goto Route117_PokemonDayCare_EventScript_ComeAgain
end
@@ -274,8 +247,7 @@ Route117_PokemonDayCare_EventScript_TwoMonsInDaycare::
setvar VAR_0x8004, 1
call Route117_PokemonDayCare_EventScript_DisplayLevelsGained
msgbox Route117_PokemonDayCare_Text_TakeYourMonBack, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route117_PokemonDayCare_EventScript_TryRetrieveMon
+ goto_if_eq VAR_RESULT, YES, Route117_PokemonDayCare_EventScript_TryRetrieveMon
msgbox Route117_PokemonDayCare_Text_ComeAgain, MSGBOX_DEFAULT
release
end
@@ -284,8 +256,7 @@ Route117_PokemonDayCare_EventScript_TwoMonsInDaycare::
Route117_PokemonDayCare_EventScript_UnusedRetrieveMon::
special ShowDaycareLevelMenu
waitstate
- compare VAR_RESULT, 2
- goto_if_eq Route117_PokemonDayCare_EventScript_ComeAgain
+ goto_if_eq VAR_RESULT, 2, Route117_PokemonDayCare_EventScript_ComeAgain
copyvar VAR_0x8004, VAR_RESULT
specialvar VAR_RESULT, TakePokemonFromDaycare
msgbox Route117_PokemonDayCare_Text_HeresYourMon, MSGBOX_DEFAULT
diff --git a/data/scripts/elite_four.inc b/data/scripts/elite_four.inc
index 0ae319061a..97d7f41314 100644
--- a/data/scripts/elite_four.inc
+++ b/data/scripts/elite_four.inc
@@ -2,18 +2,18 @@ PokemonLeague_EliteFour_SetAdvanceToNextRoomMetatiles::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_Delay32
waitmovement 0
playse SE_DOOR
- setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0
- setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0
- setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, FALSE
+ setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, FALSE
+ setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
special DrawWholeMapView
return
@@ -21,42 +21,42 @@ PokemonLeague_EliteFour_EventScript_WalkInCloseDoor::
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkUp6
waitmovement 0
playse SE_TRUCK_DOOR
- setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
special DrawWholeMapView
return
@ Essentially unused, only necessary when re-entering an Elite Four room after defeating the member, which isnt normally possible
PokemonLeague_EliteFour_EventScript_ResetAdvanceToNextRoom::
- setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, 0
- setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, 0
- setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, 1
- setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, 1
- setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, 1
+ setmetatile 6, 1, METATILE_EliteFour_OpenDoor_Frame, FALSE
+ setmetatile 6, 2, METATILE_EliteFour_OpenDoor_Opening, FALSE
+ setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 0, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 1, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 2, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 3, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 4, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 8, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 9, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 10, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
+ setmetatile 11, 2, METATILE_EliteFour_RightSpotlightOff, TRUE
+ setmetatile 12, 2, METATILE_EliteFour_LeftSpotlightOff, TRUE
return
PokemonLeague_EliteFour_EventScript_CloseDoor::
- setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, 1
- setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
- setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, 1
+ setmetatile 5, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 6, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 7, 12, METATILE_EliteFour_EntryDoor_ClosedTop, TRUE
+ setmetatile 5, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 6, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
+ setmetatile 7, 13, METATILE_EliteFour_EntryDoor_ClosedBottom, TRUE
return
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
index b81ca21dd1..3e99fc08e2 100644
--- a/data/scripts/field_move_scripts.inc
+++ b/data/scripts/field_move_scripts.inc
@@ -3,14 +3,12 @@ EventScript_CutTree::
lockall
goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
checkpartymove MOVE_CUT
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_CheckTreeCantCut
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
- bufferpartymonnick 0, VAR_RESULT
- buffermovename 1, MOVE_CUT
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
+ buffermovename STR_VAR_2, MOVE_CUT
msgbox Text_WantToCut, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_CancelCut
+ goto_if_eq VAR_RESULT, NO, EventScript_CancelCut
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_CUT_ON_TREE
@@ -64,14 +62,12 @@ EventScript_RockSmash::
lockall
goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
checkpartymove MOVE_ROCK_SMASH
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_CantSmashRock
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
- bufferpartymonnick 0, VAR_RESULT
- buffermovename 1, MOVE_ROCK_SMASH
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
+ buffermovename STR_VAR_2, MOVE_ROCK_SMASH
msgbox Text_WantToSmash, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_CancelSmash
+ goto_if_eq VAR_RESULT, NO, EventScript_CancelSmash
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_ROCK_SMASH
@@ -92,11 +88,9 @@ EventScript_SmashRock::
waitmovement 0
removeobject VAR_LAST_TALKED
specialvar VAR_RESULT, TryUpdateRusturfTunnelState
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_EndSmash
+ goto_if_eq VAR_RESULT, TRUE, EventScript_EndSmash
special RockSmashWildEncounter
- compare VAR_RESULT, FALSE
- goto_if_eq EventScript_EndSmash
+ goto_if_eq VAR_RESULT, FALSE, EventScript_EndSmash
waitstate
releaseall
end
@@ -132,12 +126,10 @@ EventScript_StrengthBoulder::
goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_CantStrength
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToStrength, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_CancelStrength
+ goto_if_eq VAR_RESULT, NO, EventScript_CancelStrength
closemessage
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
@@ -193,13 +185,11 @@ Text_StrengthActivated:
EventScript_UseWaterfall::
lockall
checkpartymove MOVE_WATERFALL
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_CantWaterfall
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantWaterfall
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToWaterfall, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_EndWaterfall
+ goto_if_eq VAR_RESULT, NO, EventScript_EndWaterfall
msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_WATERFALL
goto EventScript_EndWaterfall
@@ -228,14 +218,12 @@ Text_MonUsedWaterfall:
EventScript_UseDive::
lockall
checkpartymove MOVE_DIVE
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_CantDive
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantDive
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToDive, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_EndDive
+ goto_if_eq VAR_RESULT, NO, EventScript_EndDive
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndDive
@@ -253,14 +241,12 @@ EventScript_EndDive::
EventScript_UseDiveUnderwater::
lockall
checkpartymove MOVE_DIVE
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_CantSurface
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSurface
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToSurface, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_EndSurface
+ goto_if_eq VAR_RESULT, NO, EventScript_EndSurface
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndSurface
diff --git a/data/scripts/field_poison.inc b/data/scripts/field_poison.inc
index a4f9b90b6b..ddda34ebaa 100644
--- a/data/scripts/field_poison.inc
+++ b/data/scripts/field_poison.inc
@@ -2,10 +2,8 @@ EventScript_FieldPoison::
lockall
special TryFieldPoisonWhiteOut
waitstate
- compare VAR_RESULT, FLDPSN_WHITEOUT
- goto_if_eq EventScript_FieldWhiteOut
- compare VAR_RESULT, FLDPSN_FRONTIER_WHITEOUT
- goto_if_eq EventScript_FrontierFieldWhiteOut
+ goto_if_eq VAR_RESULT, FLDPSN_WHITEOUT, EventScript_FieldWhiteOut
+ goto_if_eq VAR_RESULT, FLDPSN_FRONTIER_WHITEOUT, EventScript_FrontierFieldWhiteOut
releaseall
end
@@ -30,16 +28,12 @@ EventScript_FrontierFieldWhiteOut::
waitmessage
waitbuttonpress
pike_inchallenge
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattlePike_EventScript_Retire
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePike_EventScript_Retire
pyramid_inchallenge
- compare VAR_RESULT, 1 @ On Pyramid floor
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
- compare VAR_RESULT, 2 @ On Pyramid peak
- goto_if_eq BattleFrontier_BattlePyramid_EventScript_WarpToLobbyLost
+ 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
trainerhill_inchallenge
- compare VAR_RESULT, TRUE
- goto_if_eq TrainerHill_1F_EventScript_Lost
+ goto_if_eq VAR_RESULT, TRUE, TrainerHill_1F_EventScript_Lost
special Script_FadeOutMapMusic
waitstate
fadescreen FADE_TO_BLACK
diff --git a/data/scripts/flash.inc b/data/scripts/flash.inc
index a69975a165..dbfec2314d 100644
--- a/data/scripts/flash.inc
+++ b/data/scripts/flash.inc
@@ -1,4 +1,4 @@
EventScript_UseFlash::
animateflash 1
- setflashradius 1
+ setflashlevel 1
end
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index 68be27a028..e3dbdfd665 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -199,12 +199,9 @@ GabbyAndTy_EventScript_TyBattle6::
GabbyAndTy_EventScript_FirstInterview::
special GabbyAndTyBeforeInterview
special GetGabbyAndTyLocalIds
- compare VAR_FACING, DIR_NORTH
- call_if_eq GabbyAndTy_EventScript_FacePlayerNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq GabbyAndTy_EventScript_FacePlayerSouth
- compare VAR_FACING, DIR_EAST
- call_if_eq GabbyAndTy_EventScript_FacePlayerEast
+ call_if_eq VAR_FACING, DIR_NORTH, GabbyAndTy_EventScript_FacePlayerNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, GabbyAndTy_EventScript_FacePlayerSouth
+ call_if_eq VAR_FACING, DIR_EAST, GabbyAndTy_EventScript_FacePlayerEast
goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
msgbox GabbyAndTy_Text_WhoAreYouInterview, MSGBOX_YESNO
goto GabbyAndTy_EventScript_Interview
@@ -230,16 +227,12 @@ GabbyAndTy_EventScript_FacePlayerEast::
GabbyAndTy_EventScript_RequestInterview::
special GabbyAndTyBeforeInterview
special GetGabbyAndTyLocalIds
- compare VAR_FACING, DIR_NORTH
- call_if_eq GabbyAndTy_EventScript_FacePlayerNorth
- compare VAR_FACING, DIR_SOUTH
- call_if_eq GabbyAndTy_EventScript_FacePlayerSouth
- compare VAR_FACING, DIR_EAST
- call_if_eq GabbyAndTy_EventScript_FacePlayerEast
+ call_if_eq VAR_FACING, DIR_NORTH, GabbyAndTy_EventScript_FacePlayerNorth
+ call_if_eq VAR_FACING, DIR_SOUTH, GabbyAndTy_EventScript_FacePlayerSouth
+ call_if_eq VAR_FACING, DIR_EAST, GabbyAndTy_EventScript_FacePlayerEast
goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
specialvar VAR_RESULT, GabbyAndTyGetLastQuote
- compare VAR_RESULT, 0
- goto_if_eq GabbyAndTy_EventScript_DidntInterviewLastTime
+ goto_if_eq VAR_RESULT, 0, GabbyAndTy_EventScript_DidntInterviewLastTime
msgbox GabbyAndTy_Text_QuoteFromLastInterview, MSGBOX_DEFAULT
specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia
switch VAR_RESULT
@@ -293,15 +286,13 @@ GabbyAndTy_EventScript_RequestInterviewLostAMon::
end
GabbyAndTy_EventScript_Interview::
- compare VAR_RESULT, NO
- goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
+ goto_if_eq VAR_RESULT, NO, GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
msgbox GabbyAndTy_Text_DescribeYourFeelings, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_GABBY_AND_TY
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
+ goto_if_eq VAR_RESULT, 0, GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
msgbox GabbyAndTy_Text_PerfectWellBeSeeingYou, MSGBOX_DEFAULT
special GabbyAndTyAfterInterview
setflag FLAG_TEMP_1
diff --git a/data/scripts/gift_altering_cave.inc b/data/scripts/gift_altering_cave.inc
index 8761b5fa40..65ff87068a 100644
--- a/data/scripts/gift_altering_cave.inc
+++ b/data/scripts/gift_altering_cave.inc
@@ -1,8 +1,7 @@
MysteryGiftScript_AlteringCave::
setvaddress MysteryGiftScript_AlteringCave
addvar VAR_ALTERING_CAVE_WILD_SET, 1
- compare VAR_ALTERING_CAVE_WILD_SET, 10
- vgoto_if_ne MysteryGiftScript_AlteringCave_
+ vgoto_if_ne VAR_ALTERING_CAVE_WILD_SET, (NUM_ALTERING_CAVE_TABLES + 1), MysteryGiftScript_AlteringCave_
setvar VAR_ALTERING_CAVE_WILD_SET, 0
MysteryGiftScript_AlteringCave_:
lock
diff --git a/data/scripts/gift_aurora_ticket.inc b/data/scripts/gift_aurora_ticket.inc
index c9250b9f93..0cadf804a7 100644
--- a/data/scripts/gift_aurora_ticket.inc
+++ b/data/scripts/gift_aurora_ticket.inc
@@ -4,15 +4,13 @@ MysteryGiftScript_AuroraTicket::
faceplayer
vgoto_if_set FLAG_RECEIVED_AURORA_TICKET, AuroraTicket_Obtained
vgoto_if_set FLAG_BATTLED_DEOXYS, AuroraTicket_Obtained
- checkitem ITEM_AURORA_TICKET, 1
- compare VAR_RESULT, TRUE
- vgoto_if_eq AuroraTicket_Obtained
+ checkitem ITEM_AURORA_TICKET
+ vgoto_if_eq VAR_RESULT, TRUE, AuroraTicket_Obtained
vmessage sText_AuroraTicketForYou
waitmessage
waitbuttonpress
- checkitemspace ITEM_AURORA_TICKET, 1
- compare VAR_RESULT, FALSE
- vgoto_if_eq AuroraTicket_NoBagSpace
+ checkitemspace ITEM_AURORA_TICKET
+ vgoto_if_eq VAR_RESULT, FALSE, AuroraTicket_NoBagSpace
giveitem ITEM_AURORA_TICKET
setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND
setflag FLAG_RECEIVED_AURORA_TICKET
diff --git a/data/scripts/gift_battle_card.inc b/data/scripts/gift_battle_card.inc
index 80b4ba26eb..95e55e1b95 100644
--- a/data/scripts/gift_battle_card.inc
+++ b/data/scripts/gift_battle_card.inc
@@ -3,8 +3,7 @@ MysteryGiftScript_BattleCard::
vgoto_if_set FLAG_MYSTERY_GIFT_DONE, MysteryGiftScript_BattleCardInfo
setorcopyvar VAR_RESULT, GET_CARD_BATTLES_WON
specialvar VAR_0x8008, GetMysteryGiftCardStat
- compare VAR_0x8008, REQUIRED_CARD_BATTLES
- vgoto_if_ne MysteryGiftScript_BattleCardInfo
+ vgoto_if_ne VAR_0x8008, REQUIRED_CARD_BATTLES, MysteryGiftScript_BattleCardInfo
lock
faceplayer
vmessage sText_MysteryGiftBattleCountCard_WonPrize
diff --git a/data/scripts/gift_mystic_ticket.inc b/data/scripts/gift_mystic_ticket.inc
index 29c325f72d..3ed8aa6bcf 100644
--- a/data/scripts/gift_mystic_ticket.inc
+++ b/data/scripts/gift_mystic_ticket.inc
@@ -5,15 +5,13 @@ MysteryGiftScript_MysticTicket::
vgoto_if_set FLAG_RECEIVED_MYSTIC_TICKET, MysticTicket_Obtained
vgoto_if_set FLAG_CAUGHT_LUGIA, MysticTicket_Obtained
vgoto_if_set FLAG_CAUGHT_HO_OH, MysticTicket_Obtained
- checkitem ITEM_MYSTIC_TICKET, 1
- compare VAR_RESULT, TRUE
- vgoto_if_eq MysticTicket_Obtained
+ checkitem ITEM_MYSTIC_TICKET
+ vgoto_if_eq VAR_RESULT, TRUE, MysticTicket_Obtained
vmessage sText_MysticTicketForYou
waitmessage
waitbuttonpress
- checkitemspace ITEM_MYSTIC_TICKET, 1
- compare VAR_RESULT, FALSE
- vgoto_if_eq MysticTicket_NoBagSpace
+ checkitemspace ITEM_MYSTIC_TICKET
+ vgoto_if_eq VAR_RESULT, FALSE, MysticTicket_NoBagSpace
giveitem ITEM_MYSTIC_TICKET
setflag FLAG_ENABLE_SHIP_NAVEL_ROCK
setflag FLAG_RECEIVED_MYSTIC_TICKET
diff --git a/data/scripts/gift_old_sea_map.inc b/data/scripts/gift_old_sea_map.inc
index 5e47a10df1..06435492e4 100644
--- a/data/scripts/gift_old_sea_map.inc
+++ b/data/scripts/gift_old_sea_map.inc
@@ -4,15 +4,13 @@ MysteryGiftScript_OldSeaMap::
faceplayer
vgoto_if_set FLAG_RECEIVED_OLD_SEA_MAP, OldSeaMap_Obtained
vgoto_if_set FLAG_CAUGHT_MEW, OldSeaMap_Obtained
- checkitem ITEM_OLD_SEA_MAP, 1
- compare VAR_RESULT, TRUE
- vgoto_if_eq OldSeaMap_Obtained
+ checkitem ITEM_OLD_SEA_MAP
+ vgoto_if_eq VAR_RESULT, TRUE, OldSeaMap_Obtained
vmessage sText_MysteryGiftOldSeaMapForYou
waitmessage
waitbuttonpress
- checkitemspace ITEM_OLD_SEA_MAP, 1
- compare VAR_RESULT, FALSE
- vgoto_if_eq OldSeaMap_NoBagSpace
+ checkitemspace ITEM_OLD_SEA_MAP
+ vgoto_if_eq VAR_RESULT, FALSE, OldSeaMap_NoBagSpace
giveitem ITEM_OLD_SEA_MAP
setflag FLAG_ENABLE_SHIP_FARAWAY_ISLAND
setflag FLAG_RECEIVED_OLD_SEA_MAP
diff --git a/data/scripts/gift_pichu.inc b/data/scripts/gift_pichu.inc
index e62fc4536e..d2cd381b53 100644
--- a/data/scripts/gift_pichu.inc
+++ b/data/scripts/gift_pichu.inc
@@ -5,8 +5,7 @@ MysteryGiftScript_SurfPichu::
SurfPichu_GiveIfPossible:
specialvar VAR_GIFT_PICHU_SLOT, CalculatePlayerPartyCount
- compare VAR_GIFT_PICHU_SLOT, PARTY_SIZE
- vgoto_if_eq SurfPichu_FullParty
+ vgoto_if_eq VAR_GIFT_PICHU_SLOT, PARTY_SIZE, SurfPichu_FullParty
setflag FLAG_MYSTERY_GIFT_DONE
vcall SurfPichu_GiveEgg
lock
@@ -32,16 +31,11 @@ SurfPichu_GiveEgg:
giveegg SPECIES_PICHU
setmoneventlegal VAR_GIFT_PICHU_SLOT
setmonmetlocation VAR_GIFT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER
- compare VAR_GIFT_PICHU_SLOT, 1
- vgoto_if_eq SurfPichu_Slot1
- compare VAR_GIFT_PICHU_SLOT, 2
- vgoto_if_eq SurfPichu_Slot2
- compare VAR_GIFT_PICHU_SLOT, 3
- vgoto_if_eq SurfPichu_Slot3
- compare VAR_GIFT_PICHU_SLOT, 4
- vgoto_if_eq SurfPichu_Slot4
- compare VAR_GIFT_PICHU_SLOT, 5
- vgoto_if_eq SurfPichu_Slot5
+ vgoto_if_eq VAR_GIFT_PICHU_SLOT, 1, SurfPichu_Slot1
+ vgoto_if_eq VAR_GIFT_PICHU_SLOT, 2, SurfPichu_Slot2
+ vgoto_if_eq VAR_GIFT_PICHU_SLOT, 3, SurfPichu_Slot3
+ vgoto_if_eq VAR_GIFT_PICHU_SLOT, 4, SurfPichu_Slot4
+ vgoto_if_eq VAR_GIFT_PICHU_SLOT, 5, SurfPichu_Slot5
return
SurfPichu_Slot1:
diff --git a/data/scripts/gift_stamp_card.inc b/data/scripts/gift_stamp_card.inc
index f6e1eb7c7c..4ac399bec5 100644
--- a/data/scripts/gift_stamp_card.inc
+++ b/data/scripts/gift_stamp_card.inc
@@ -5,7 +5,7 @@ MysteryGiftScript_StampCard::
setorcopyvar VAR_RESULT, GET_NUM_STAMPS
specialvar VAR_0x8009, GetMysteryGiftCardStat
subvar VAR_0x8008, VAR_0x8009
- buffernumberstring 0, VAR_0x8008
+ buffernumberstring STR_VAR_1, VAR_0x8008
lock
faceplayer
vmessage sText_MysteryGiftStampCard
diff --git a/data/scripts/gift_trainer.inc b/data/scripts/gift_trainer.inc
index 2dbc86d53e..b927809058 100644
--- a/data/scripts/gift_trainer.inc
+++ b/data/scripts/gift_trainer.inc
@@ -1,8 +1,7 @@
MysteryGiftScript_VisitingTrainer::
setvaddress MysteryGiftScript_VisitingTrainer
special ValidateEReaderTrainer
- compare VAR_RESULT, 0
- vgoto_if_eq MysteryGiftScript_VisitingTrainerArrived
+ vgoto_if_eq VAR_RESULT, 0, MysteryGiftScript_VisitingTrainerArrived
lock
faceplayer
vmessage sText_MysteryGiftVisitingTrainerInstructions
diff --git a/data/scripts/hall_of_fame.inc b/data/scripts/hall_of_fame.inc
index 9b730de317..fc082870f7 100644
--- a/data/scripts/hall_of_fame.inc
+++ b/data/scripts/hall_of_fame.inc
@@ -2,8 +2,7 @@ EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags::
special SetChampionSaveWarp
setflag FLAG_IS_CHAMPION
call EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries
- compare VAR_FOSSIL_MANIAC_STATE, 0
- call_if_eq EverGrandeCity_HallOfFame_EventScript_SetDesertUnderpassCommentReady
+ call_if_eq VAR_FOSSIL_MANIAC_STATE, 0, EverGrandeCity_HallOfFame_EventScript_SetDesertUnderpassCommentReady
clearflag FLAG_HIDE_LILYCOVE_MOTEL_GAME_DESIGNERS
call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
@@ -22,8 +21,7 @@ EverGrandeCity_HallOfFame_EventScript_SetGameClearFlags::
call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_ShowStevensHouseBeldum
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
- compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0
- call_if_eq EverGrandeCity_HallOfFame_EventScript_ReadyDexUpgradeEvent
+ call_if_eq VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0, EverGrandeCity_HallOfFame_EventScript_ReadyDexUpgradeEvent
return
EverGrandeCity_HallOfFame_EventScript_ResetDefeatedEventLegendaries::
diff --git a/data/scripts/interview.inc b/data/scripts/interview.inc
index 90fceb9d18..e102bf889c 100644
--- a/data/scripts/interview.inc
+++ b/data/scripts/interview.inc
@@ -8,14 +8,11 @@ Interview_EventScript_EndInterview::
SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname::
setvar VAR_0x8005, TVSHOW_FAN_CLUB_LETTER
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed2
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed2
copyvar VAR_0x8009, VAR_0x8006
msgbox SlateportCity_PokemonFanClub_Text_InterviewRequest, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_AcceptInterview2
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview2
+ goto_if_eq VAR_RESULT, YES, SlateportCity_PokemonFanClub_EventScript_AcceptInterview2
+ goto_if_eq VAR_RESULT, NO, SlateportCity_PokemonFanClub_EventScript_DeclineInterview2
end
SlateportCity_PokemonFanClub_EventScript_AcceptInterview2::
@@ -26,10 +23,8 @@ SlateportCity_PokemonFanClub_EventScript_AcceptInterview2::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_SubmitResponse2
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview2
+ goto_if_eq VAR_RESULT, 1, SlateportCity_PokemonFanClub_EventScript_SubmitResponse2
+ goto_if_eq VAR_RESULT, 0, SlateportCity_PokemonFanClub_EventScript_DeclineInterview2
end
SlateportCity_PokemonFanClub_EventScript_DeclineInterview2::
@@ -53,24 +48,19 @@ SlateportCity_OceanicMuseum_1F_EventScript_Reporter::
faceplayer
setvar VAR_0x8005, TVSHOW_RECENT_HAPPENINGS
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AlreadyInterviewed
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_OceanicMuseum_1F_EventScript_AlreadyInterviewed
copyvar VAR_0x8009, VAR_0x8006
goto_if_set FLAG_OCEANIC_MUSEUM_MET_REPORTER, SlateportCity_OceanicMuseum_1F_EventScript_RequestInterviewShort
setflag FLAG_OCEANIC_MUSEUM_MET_REPORTER
msgbox SlateportCity_OceanicMuseum_1F_Text_InterviewRequest, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, YES, SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview
+ goto_if_eq VAR_RESULT, NO, SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
end
SlateportCity_OceanicMuseum_1F_EventScript_RequestInterviewShort::
msgbox SlateportCity_OceanicMuseum_1F_Text_InterviewRequestShort, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, YES, SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview
+ goto_if_eq VAR_RESULT, NO, SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
end
SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview::
@@ -81,10 +71,8 @@ SlateportCity_OceanicMuseum_1F_EventScript_AcceptInterview::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_SubmitResponse
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, 1, SlateportCity_OceanicMuseum_1F_EventScript_SubmitResponse
+ goto_if_eq VAR_RESULT, 0, SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview
end
SlateportCity_OceanicMuseum_1F_EventScript_DeclineInterview::
@@ -107,18 +95,14 @@ SlateportCity_PokemonFanClub_EventScript_Reporter::
lock
faceplayer
specialvar VAR_RESULT, IsLeadMonNicknamedOrNotEnglish
- compare VAR_RESULT, FALSE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname
+ goto_if_eq VAR_RESULT, FALSE, SlateportCity_PokemonFanClub_EventScript_ReporterNoNickname
setvar VAR_0x8005, TVSHOW_PKMN_FAN_CLUB_OPINIONS
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed
+ goto_if_eq VAR_RESULT, TRUE, SlateportCity_PokemonFanClub_EventScript_AlreadyInterviewed
copyvar VAR_0x8009, VAR_0x8006
msgbox SlateportCity_PokemonFanClub_Text_InterviewRequestHasName, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_AcceptInterview
- compare VAR_RESULT, NO
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, YES, SlateportCity_PokemonFanClub_EventScript_AcceptInterview
+ goto_if_eq VAR_RESULT, NO, SlateportCity_PokemonFanClub_EventScript_DeclineInterview
end
SlateportCity_PokemonFanClub_EventScript_AcceptInterview::
@@ -153,15 +137,13 @@ SlateportCity_PokemonFanClub_EventScript_ContinueInterview::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, 0, SlateportCity_PokemonFanClub_EventScript_DeclineInterview
msgbox SlateportCity_PokemonFanClub_Text_WhatDoPokemonMeanToYou, MSGBOX_DEFAULT
setvar VAR_0x8006, 1
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq SlateportCity_PokemonFanClub_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, 0, SlateportCity_PokemonFanClub_EventScript_DeclineInterview
msgbox SlateportCity_PokemonFanClub_Text_ThatsAllForInterview, MSGBOX_DEFAULT
copyvar VAR_0x8007, VAR_0x800A
setvar VAR_0x8005, TVSHOW_PKMN_FAN_CLUB_OPINIONS
@@ -184,14 +166,11 @@ LilycoveCity_ContestLobby_EventScript_Reporter::
goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed
setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed
copyvar VAR_0x8009, VAR_0x8006
msgbox LilycoveCity_ContestLobby_Text_InterviewRequest, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_ContestLobby_EventScript_AcceptInterview
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_ContestLobby_EventScript_AcceptInterview
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_ContestLobby_EventScript_DeclineInterview
end
LilycoveCity_ContestLobby_EventScript_AcceptInterview::
@@ -202,10 +181,8 @@ LilycoveCity_ContestLobby_EventScript_AcceptInterview::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_ContestLobby_EventScript_SubmitResponse
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_ContestLobby_EventScript_SubmitResponse
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_ContestLobby_EventScript_DeclineInterview
end
LilycoveCity_ContestLobby_EventScript_DeclineInterview::
@@ -223,8 +200,7 @@ LilycoveCity_ContestLobby_EventScript_SubmitResponse::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_ContestLobby_EventScript_DeclineInterview
msgbox LilycoveCity_ContestLobby_Text_ThatsAllForInterview, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE
@@ -237,12 +213,10 @@ LilycoveCity_ContestLobby_EventScript_AlreadyInterviewed::
end
LilycoveCity_ContestLobby_EventScript_TryShowContestReporter::
- compare VAR_CONTEST_HALL_STATE, 2
- goto_if_ne LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
+ goto_if_ne VAR_CONTEST_HALL_STATE, 2, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
switch VAR_CONTEST_TYPE
case 0, LilycoveCity_ContestLobby_EventScript_DontShowContestReporter
case 2, LilycoveCity_ContestLobby_EventScript_ShowContestReporter
@@ -265,14 +239,11 @@ BattleFrontier_BattleTowerLobby_EventScript_Reporter::
goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed
setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed
copyvar VAR_0x8009, VAR_0x8006
msgbox BattleFrontier_BattleTowerLobby_Text_InterviewRequest, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview
- compare VAR_RESULT, NO
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview
+ goto_if_eq VAR_RESULT, YES, BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview
+ goto_if_eq VAR_RESULT, NO, BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview
end
BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview::
@@ -280,20 +251,16 @@ BattleFrontier_BattleTowerLobby_EventScript_AcceptInterview::
waitmessage
multichoice 20, 8, MULTI_SATISFACTION, TRUE
copyvar VAR_0x8008, VAR_RESULT
- compare VAR_RESULT, 0
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_Satisfied
- compare VAR_RESULT, 1
- call_if_eq BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied
+ call_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_Satisfied
+ call_if_eq VAR_RESULT, 1, BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied
msgbox BattleFrontier_BattleTowerLobby_Text_DescribeYourBattle, MSGBOX_DEFAULT
setvar VAR_0x8004, EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW
copyvar VAR_0x8005, VAR_0x8009
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 1
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelInterview
+ goto_if_eq VAR_RESULT, 1, BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelInterview
end
BattleFrontier_BattleTowerLobby_EventScript_DeclineInterview::
@@ -310,8 +277,7 @@ BattleFrontier_BattleTowerLobby_EventScript_Dissatisfied::
return
BattleFrontier_BattleTowerLobby_EventScript_SubmitResponse::
- compare VAR_RESULT, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_CancelInterview
+ goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelInterview
msgbox BattleFrontier_BattleTowerLobby_Text_ThatsGreatLine, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
copyvar VAR_0x8004, VAR_0x8008
@@ -330,12 +296,10 @@ BattleFrontier_BattleTowerLobby_EventScript_AlreadyInterviewed::
end
BattleFrontier_BattleTowerLobby_EventScript_ShowOrHideReporter::
- compare VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_HideReporter
+ goto_if_eq VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0, BattleFrontier_BattleTowerLobby_EventScript_HideReporter
setvar VAR_0x8005, TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_HideReporter
+ goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleTowerLobby_EventScript_HideReporter
clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER
return
@@ -347,8 +311,7 @@ BattleFrontier_BattleTowerLobby_EventScript_HideReporter::
EventScript_ContestLiveInterview::
setvar VAR_0x8005, TVSHOW_CONTEST_LIVE_UPDATES
special InterviewBefore
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_ContestLiveInterviewEnd
+ goto_if_eq VAR_RESULT, TRUE, EventScript_ContestLiveInterviewEnd
setvar VAR_0x8005, TVSHOW_CONTEST_LIVE_UPDATES
special InterviewAfter
return
diff --git a/data/scripts/kecleon.inc b/data/scripts/kecleon.inc
index 82eca777d5..6345519026 100644
--- a/data/scripts/kecleon.inc
+++ b/data/scripts/kecleon.inc
@@ -48,17 +48,15 @@ Route119_EventScript_Kecleon2::
end
EventScript_Kecleon::
- checkitem ITEM_DEVON_SCOPE, 1
- compare VAR_RESULT, 1
- goto_if_eq EventScript_AskUseDevonScope
+ checkitem ITEM_DEVON_SCOPE
+ goto_if_eq VAR_RESULT, TRUE, EventScript_AskUseDevonScope
msgbox Kecleon_Text_SomethingUnseeable, MSGBOX_DEFAULT
release
end
EventScript_AskUseDevonScope::
msgbox Kecleon_Text_WantToUseDevonScope, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq EventScript_BattleKecleon
+ goto_if_eq VAR_RESULT, YES, EventScript_BattleKecleon
release
end
@@ -73,17 +71,14 @@ EventScript_BattleKecleon::
playmoncry SPECIES_KECLEON, CRY_MODE_ENCOUNTER
delay 40
waitmoncry
- setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
+ setwildbattle SPECIES_KECLEON, 30
setflag FLAG_SYS_CTRL_OBJ_DELETE
dowildbattle
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
- compare VAR_RESULT, B_OUTCOME_WON
- goto_if_eq EventScript_RemoveKecleon
- compare VAR_RESULT, B_OUTCOME_RAN
- goto_if_eq EventScript_RemoveKecleon
- compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED
- goto_if_eq EventScript_RemoveKecleon
+ goto_if_eq VAR_RESULT, B_OUTCOME_WON, EventScript_RemoveKecleon
+ goto_if_eq VAR_RESULT, B_OUTCOME_RAN, EventScript_RemoveKecleon
+ goto_if_eq VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED, EventScript_RemoveKecleon
release
end
diff --git a/data/scripts/lilycove_lady.inc b/data/scripts/lilycove_lady.inc
index 576fa28ade..5519de9791 100644
--- a/data/scripts/lilycove_lady.inc
+++ b/data/scripts/lilycove_lady.inc
@@ -2,858 +2,789 @@
.set LOCALID_LADYS_MON, 5
LilycoveCity_PokemonCenter_1F_EventScript_LilycoveLady::
- special Script_GetLilycoveLadyId
- switch VAR_RESULT
- case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_QuizLady
- case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_FavorLady
- case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_ContestLady
- end
+ special Script_GetLilycoveLadyId
+ switch VAR_RESULT
+ case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_QuizLady
+ case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_FavorLady
+ case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_ContestLady
+ end
LilycoveCity_PokemonCenter_1F_EventScript_FavorLady::
- lock
- faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady, MSGBOX_DEFAULT
- specialvar VAR_RESULT, GetFavorLadyState
- compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady
- compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted
- compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize
- end
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, GetFavorLadyState
+ goto_if_eq VAR_RESULT, LILYCOVE_LADY_STATE_READY, LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady
+ goto_if_eq VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED, LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted
+ goto_if_eq VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE, LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyCompleted::
- msgbox LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyReady::
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing, MSGBOX_DEFAULT
- specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem
- end
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_TellAboutPlayersItem::
- special BufferFavorLadyItemName
- special BufferFavorLadyPlayerName
- specialvar VAR_RESULT, DidFavorLadyLikeItem
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing
- end
+ special BufferFavorLadyItemName
+ special BufferFavorLadyPlayerName
+ specialvar VAR_RESULT, DidFavorLadyLikeItem
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing
+ end
LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveBadThing::
- msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_PlayerGaveGreatThing::
- msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_RequestItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_RequestItem::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor
+ end
LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor::
- msgbox LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AcceptFavor::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem::
- fadescreen FADE_TO_BLACK
- setvar VAR_RESULT, 0
- special Script_FavorLadyOpenBagMenu
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem
- end
+ fadescreen FADE_TO_BLACK
+ setvar VAR_RESULT, 0
+ special Script_FavorLadyOpenBagMenu
+ waitstate
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChooseFavorItem::
- msgbox LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_DeclineFavor
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_ChooseFavorItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GiveFavorItem::
- specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem
- end
+ specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_DidntLikeFavorItem::
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt, MSGBOX_DEFAULT
- release
- end
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_CheckLovedItem::
- specialvar VAR_RESULT, IsFavorLadyThresholdMet
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem
- end
+ specialvar VAR_RESULT, IsFavorLadyThresholdMet
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem
+ end
LilycoveCity_PokemonCenter_1F_EventScript_LikedFavorItem::
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis, MSGBOX_DEFAULT
- release
- end
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_LovedFavorItem::
- special BufferFavorLadyRequest
- msgbox LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize
- end
+ special BufferFavorLadyRequest
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_FavorLadyPrize::
- setvar VAR_0x8004, 0
- specialvar VAR_0x8004, FavorLadyGetPrize
- msgbox LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn, MSGBOX_DEFAULT
- giveitem VAR_0x8004
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize
- end
+ setvar VAR_0x8004, 0
+ specialvar VAR_0x8004, FavorLadyGetPrize
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn, MSGBOX_DEFAULT
+ giveitem VAR_0x8004
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_NoRoomForFavorPrize::
- msgbox LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_ReceivedFavorPrize::
- special SetFavorLadyState_Complete
- release
- end
+ special SetFavorLadyState_Complete
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_QuizLady::
- lock
- faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady, MSGBOX_DEFAULT
- specialvar VAR_RESULT, GetQuizLadyState
- compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz
- compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz
- compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize
- end
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, GetQuizLadyState
+ goto_if_eq VAR_RESULT, LILYCOVE_LADY_STATE_READY, LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz
+ goto_if_eq VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED, LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz
+ goto_if_eq VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE, LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_HasQuiz::
- specialvar VAR_RESULT, GetQuizAuthor
- compare VAR_RESULT, QUIZ_AUTHOR_PLAYER
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz
- compare VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady
- compare VAR_RESULT, QUIZ_AUTHOR_LADY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady
- end
+ specialvar VAR_RESULT, GetQuizAuthor
+ goto_if_eq VAR_RESULT, QUIZ_AUTHOR_PLAYER, LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz
+ goto_if_eq VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER, LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady
+ goto_if_eq VAR_RESULT, QUIZ_AUTHOR_LADY, LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady
+ end
LilycoveCity_PokemonCenter_1F_EventScript_CheckMadeQuiz::
- specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz
- end
+ specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_WaitingToTakeYourQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_PlayerQuizReady::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_LadyQuizReady::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskTakeQuiz::
- setvar VAR_0x8004, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz
- end
+ setvar VAR_0x8004, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_DeclineQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_HowBoringBye, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_HowBoringBye, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz::
- special ClearQuizLadyPlayerAnswer
- compare VAR_0x8004, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion
- compare VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer
+ special ClearQuizLadyPlayerAnswer
+ goto_if_eq VAR_0x8004, 0, LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion
+ goto_if_eq VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER, LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer
LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState::
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse
- end
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse
+ end
LilycoveCity_PokemonCenter_1F_EventScript_ShowQuestion::
- special QuizLadyShowQuizQuestion
- waitstate
- goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState
- end
+ special QuizLadyShowQuizQuestion
+ waitstate
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GetAnswer::
- special QuizLadyGetPlayerAnswer
- waitstate
- goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState
- end
+ special QuizLadyGetPlayerAnswer
+ waitstate
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckQuizTakingState
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskQuitQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_TakeQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_QuitTakingQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_SubmitQuizResponse::
- special SetQuizLadyState_Complete
- msgbox LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer, MSGBOX_DEFAULT
- specialvar VAR_RESULT, IsQuizAnswerCorrect
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse
- end
+ special SetQuizLadyState_Complete
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, IsQuizAnswerCorrect
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse
+ end
LilycoveCity_PokemonCenter_1F_EventScript_CorrectResponse::
- playse SE_SUCCESS
- delay 10
- playse SE_SUCCESS
- msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRight, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize
- end
+ playse SE_SUCCESS
+ delay 10
+ playse SE_SUCCESS
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRight, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_IncorrectResponse::
- special BufferQuizCorrectAnswer
- special BufferQuizPrizeName
- playse SE_FAILURE
- delay 10
- playse SE_FAILURE
- msgbox LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs, MSGBOX_DEFAULT
- msgbox LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
- end
+ special BufferQuizCorrectAnswer
+ special BufferQuizPrizeName
+ playse SE_FAILURE
+ delay 10
+ playse SE_FAILURE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs, MSGBOX_DEFAULT
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
+ end
@ VAR_RESULT is essentially ignored, both jumps are identical
LilycoveCity_PokemonCenter_1F_EventScript_ReadyGivePrize::
- specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0
- end
+ specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GivePrize1::
- msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GivePrize0::
- msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_GivePrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GivePrize::
- setvar VAR_0x8005, 0
- special BufferQuizPrizeItem
- special SetQuizLadyState_Complete
- giveitem VAR_0x8005
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize
- goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
- end
+ setvar VAR_0x8005, 0
+ special BufferQuizPrizeItem
+ special SetQuizLadyState_Complete
+ giveitem VAR_0x8005
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize
+ goto LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_NoSpaceForQuizPrize::
- msgbox LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp, MSGBOX_DEFAULT
- special SetQuizLadyState_GivePrize
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp, MSGBOX_DEFAULT
+ special SetQuizLadyState_GivePrize
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskMakeQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz::
- special QuizLadyPickNewQuestion
- msgbox LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime, MSGBOX_DEFAULT
- release
- end
+ special QuizLadyPickNewQuestion
+ msgbox LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_MakeQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_PickYourPrize, MSGBOX_DEFAULT
+ msgbox LilycoveCity_PokemonCenter_1F_Text_PickYourPrize, MSGBOX_DEFAULT
LilycoveCity_PokemonCenter_1F_EventScript_PickPrize::
- fadescreen FADE_TO_BLACK
- setvar VAR_RESULT, 0
- special Script_QuizLadyOpenBagMenu
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz
- end
+ fadescreen FADE_TO_BLACK
+ setvar VAR_RESULT, 0
+ special Script_QuizLadyOpenBagMenu
+ waitstate
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskQuitChoosingPrize::
- msgbox LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_PickPrize
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_PickPrize
+ end
LilycoveCity_PokemonCenter_1F_EventScript_WriteQuiz::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz, MSGBOX_DEFAULT
- special ClearQuizLadyQuestionAndAnswer
- special ClearQuizLadyPlayerAnswer
- setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz, MSGBOX_DEFAULT
+ special ClearQuizLadyQuestionAndAnswer
+ special ClearQuizLadyPlayerAnswer
+ setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION
LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion::
- fadescreen FADE_TO_BLACK
- special QuizLadySetCustomQuestion
- waitstate
- compare VAR_RESULT, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion
- goto LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz
- end
+ fadescreen FADE_TO_BLACK
+ special QuizLadySetCustomQuestion
+ waitstate
+ goto_if_eq VAR_RESULT, 0, LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskQuitWritingQuizQuestion::
- msgbox LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_DeclineMakeQuiz
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_WriteQuizQuestion
+ end
LilycoveCity_PokemonCenter_1F_EventScript_FinishMakingQuiz::
- special QuizLadyTakePrizeForCustomQuiz
- special QuizLadyRecordCustomQuizData
- special QuizLadySetWaitingForChallenger
- msgbox LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger, MSGBOX_DEFAULT
- release
- end
+ special QuizLadyTakePrizeForCustomQuiz
+ special QuizLadyRecordCustomQuizData
+ special QuizLadySetWaitingForChallenger
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_ContestLady::
- lock
- faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady, MSGBOX_DEFAULT
- specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock
- end
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady, MSGBOX_DEFAULT
+ specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock
+ end
@ Redundant with above script, VAR_RESULT will always be FALSE here
LilycoveCity_PokemonCenter_1F_EventScript_NotGivenPokeblock::
- specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock
- compare VAR_RESULT, TRUE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock
- end
+ specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock
+ goto_if_eq VAR_RESULT, TRUE, LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GivenPokeblock::
- msgbox LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskForPokeblock::
- special Script_BufferContestLadyCategoryAndMonName
- msgbox LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality, MSGBOX_DEFAULT
- checkitem ITEM_POKEBLOCK_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase
- msgbox LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock
- end
+ special Script_BufferContestLadyCategoryAndMonName
+ msgbox LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality, MSGBOX_DEFAULT
+ checkitem ITEM_POKEBLOCK_CASE
+ goto_if_eq VAR_RESULT, FALSE, LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase
+ msgbox LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock
+ end
LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock::
- msgbox LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock::
- fadescreen FADE_TO_BLACK
- special OpenPokeblockCaseForContestLady
- waitstate
- compare VAR_RESULT, 0xFFFF
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock
- compare VAR_RESULT, 0xFFFF
- goto_if_ne LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock
- end
+ fadescreen FADE_TO_BLACK
+ special OpenPokeblockCaseForContestLady
+ waitstate
+ goto_if_eq VAR_RESULT, 0xFFFF, LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock
+ goto_if_ne VAR_RESULT, 0xFFFF, LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AskQuitGivingPokeblock::
- msgbox LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock
- compare VAR_RESULT, NO
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, LilycoveCity_PokemonCenter_1F_EventScript_DeclineGivePokeblock
+ goto_if_eq VAR_RESULT, NO, LilycoveCity_PokemonCenter_1F_EventScript_ChoosePokeblock
+ end
LilycoveCity_PokemonCenter_1F_EventScript_GivePokeblock::
- msgbox LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock, MSGBOX_DEFAULT
- special SetContestLadyGivenPokeblock
- special GetContestLadyMonSpecies
- goto LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock, MSGBOX_DEFAULT
+ special SetContestLadyGivenPokeblock
+ special GetContestLadyMonSpecies
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FeedPokeblock
+ end
@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
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
- waitmovement 0
- delay 60
- waitse
- playmoncry VAR_0x8005, CRY_MODE_NORMAL
- delay 120
- waitmoncry
- compare VAR_0x8004, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock
- goto LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock
- end
+ applymovement LOCALID_LILYCOVE_LADY, LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon
+ waitmovement 0
+ delay 60
+ applymovement LOCALID_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady
+ waitmovement 0
+ delay 60
+ waitse
+ playmoncry VAR_0x8005, CRY_MODE_NORMAL
+ delay 120
+ waitmoncry
+ goto_if_eq VAR_0x8004, 1, LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock
+ goto LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock
+ end
@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
LilycoveCity_PokemonCenter_1F_EventScript_MonEnjoyPokeblock::
- applymovement LOCALID_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonJump
- waitmovement 0
- delay 60
+ applymovement LOCALID_LADYS_MON, LilycoveCity_PokemonCenter_1F_Movement_MonJump
+ waitmovement 0
+ delay 60
LilycoveCity_PokemonCenter_1F_EventScript_FinishFeedPokeblock::
- applymovement LOCALID_LILYCOVE_LADY, LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer
- waitmovement 0
- delay 60
- compare VAR_0x8004, 0
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock
- compare VAR_0x8004, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock
- end
+ applymovement LOCALID_LILYCOVE_LADY, LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer
+ waitmovement 0
+ delay 60
+ goto_if_eq VAR_0x8004, 0, LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock
+ goto_if_eq VAR_0x8004, 1, LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock
+ end
LilycoveCity_PokemonCenter_1F_EventScript_MonDislikedPokeblock::
- msgbox LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow
+ end
LilycoveCity_PokemonCenter_1F_EventScript_MonLikedPokeblock::
- special Script_BufferContestLadyCategoryAndMonName
- msgbox LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks, MSGBOX_DEFAULT
- goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow
- end
+ special Script_BufferContestLadyCategoryAndMonName
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks, MSGBOX_DEFAULT
+ goto LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow
+ end
LilycoveCity_PokemonCenter_1F_EventScript_CheckAirContestLadyShow::
- specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
- compare VAR_RESULT, 1
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow
- release
- end
+ specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
+ goto_if_eq VAR_RESULT, 1, LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_AirContestLadyShow::
- msgbox LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests, MSGBOX_DEFAULT
- special PutLilycoveContestLadyShowOnTheAir
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests, MSGBOX_DEFAULT
+ special PutLilycoveContestLadyShowOnTheAir
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_NoPokeblockCase::
- msgbox LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase, MSGBOX_DEFAULT
- release
- end
+ msgbox LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase, MSGBOX_DEFAULT
+ release
+ end
LilycoveCity_PokemonCenter_1F_Movement_LadyFaceMon:
- face_right
- delay_8
- step_end
+ face_right
+ delay_8
+ step_end
LilycoveCity_PokemonCenter_1F_Movement_MonFaceLady:
- face_left
- delay_8
- step_end
+ face_left
+ delay_8
+ step_end
@ Unused
LilycoveCity_PokemonCenter_1F_Movement_MonFaceDown:
- face_down
- step_end
+ face_down
+ step_end
LilycoveCity_PokemonCenter_1F_Movement_LadyFacePlayer:
- face_player
- step_end
+ face_player
+ step_end
LilycoveCity_PokemonCenter_1F_Movement_MonJump:
- disable_jump_landing_ground_effect
- jump_in_place_left
- disable_jump_landing_ground_effect
- jump_in_place_left
- step_end
+ disable_jump_landing_ground_effect
+ jump_in_place_left
+ disable_jump_landing_ground_effect
+ jump_in_place_left
+ step_end
LilycoveCity_PokemonCenter_1F_EventScript_ContestLadyMon::
- specialvar VAR_RESULT, GetContestLadyCategory
- special Script_BufferContestLadyCategoryAndMonName
- special GetContestLadyMonSpecies
- compare VAR_RESULT, CONTEST_CATEGORY_COOL
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon
- compare VAR_RESULT, CONTEST_CATEGORY_BEAUTY
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Skitty
- compare VAR_RESULT, CONTEST_CATEGORY_CUTE
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Poochyena
- compare VAR_RESULT, CONTEST_CATEGORY_SMART
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Kecleon
- compare VAR_RESULT, CONTEST_CATEGORY_TOUGH
- goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_Pikachu
- end
+ specialvar VAR_RESULT, GetContestLadyCategory
+ special Script_BufferContestLadyCategoryAndMonName
+ special GetContestLadyMonSpecies
+ goto_if_eq VAR_RESULT, CONTEST_CATEGORY_COOL, LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon
+ goto_if_eq VAR_RESULT, CONTEST_CATEGORY_BEAUTY, LilycoveCity_PokemonCenter_1F_EventScript_Skitty
+ goto_if_eq VAR_RESULT, CONTEST_CATEGORY_CUTE, LilycoveCity_PokemonCenter_1F_EventScript_Poochyena
+ goto_if_eq VAR_RESULT, CONTEST_CATEGORY_SMART, LilycoveCity_PokemonCenter_1F_EventScript_Kecleon
+ goto_if_eq VAR_RESULT, CONTEST_CATEGORY_TOUGH, LilycoveCity_PokemonCenter_1F_EventScript_Pikachu
+ end
LilycoveCity_PokemonCenter_1F_EventScript_Zigzagoon::
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, CRY_MODE_NORMAL
- msgbox LilycoveCity_PokemonCenter_1F_Text_Zigzagoon, MSGBOX_DEFAULT
- waitmoncry
- release
- end
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, CRY_MODE_NORMAL
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Zigzagoon, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_Skitty::
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, CRY_MODE_NORMAL
- msgbox LilycoveCity_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT
- waitmoncry
- release
- end
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, CRY_MODE_NORMAL
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Skitty, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_Poochyena::
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, CRY_MODE_NORMAL
- msgbox LilycoveCity_PokemonCenter_1F_Text_Poochyena, MSGBOX_DEFAULT
- waitmoncry
- release
- end
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, CRY_MODE_NORMAL
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Poochyena, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_Kecleon::
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, CRY_MODE_NORMAL
- msgbox LilycoveCity_PokemonCenter_1F_Text_Kecleon, MSGBOX_DEFAULT
- waitmoncry
- release
- end
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, CRY_MODE_NORMAL
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Kecleon, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
LilycoveCity_PokemonCenter_1F_EventScript_Pikachu::
- lock
- faceplayer
- waitse
- playmoncry VAR_0x8005, CRY_MODE_NORMAL
- msgbox LilycoveCity_PokemonCenter_1F_Text_Pikachu, MSGBOX_DEFAULT
- waitmoncry
- release
- end
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, CRY_MODE_NORMAL
+ msgbox LilycoveCity_PokemonCenter_1F_Text_Pikachu, MSGBOX_DEFAULT
+ waitmoncry
+ release
+ end
LilycoveCity_PokemonCenter_1F_Text_ImTheFavorLady:
- .string "I'm the FAVOR LADY…$"
+ .string "I'm the FAVOR LADY…$"
LilycoveCity_PokemonCenter_1F_Text_ObsessedWithThing:
- .string "I've recently developed an obsession\n"
- .string "for {STR_VAR_1} things…$"
+ .string "I've recently developed an obsession\n"
+ .string "for {STR_VAR_1} things…$"
LilycoveCity_PokemonCenter_1F_Text_ThankYouForLastTime:
- .string "Oh…\n"
- .string "Thank you for last time…$"
+ .string "Oh…\n"
+ .string "Thank you for last time…$"
LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeBadThing:
- .string "Before, I think it was {STR_VAR_3}…\p"
- .string "{STR_VAR_3} gave me one {STR_VAR_2},\n"
- .string "saying it was {STR_VAR_1}.\p"
- .string "But it wasn't {STR_VAR_1}.\n"
- .string "Not in the least bit.$"
+ .string "Before, I think it was {STR_VAR_3}…\p"
+ .string "{STR_VAR_3} gave me one {STR_VAR_2},\n"
+ .string "saying it was {STR_VAR_1}.\p"
+ .string "But it wasn't {STR_VAR_1}.\n"
+ .string "Not in the least bit.$"
LilycoveCity_PokemonCenter_1F_Text_PlayerGaveMeGreatThing:
- .string "Before, {STR_VAR_3} gave me a very\n"
- .string "{STR_VAR_1} {STR_VAR_2}.\p"
- .string "I cherish it now.$"
+ .string "Before, {STR_VAR_3} gave me a very\n"
+ .string "{STR_VAR_1} {STR_VAR_2}.\p"
+ .string "I cherish it now.$"
LilycoveCity_PokemonCenter_1F_Text_WillYouShareThing:
- .string "Listen, if you have anything that\n"
- .string "is {STR_VAR_1}, will you share it\l"
- .string "with me?$"
+ .string "Listen, if you have anything that\n"
+ .string "is {STR_VAR_1}, will you share it\l"
+ .string "with me?$"
LilycoveCity_PokemonCenter_1F_Text_WhatWillYouGiveMe:
- .string "…Really?\n"
- .string "What will you give me?$"
+ .string "…Really?\n"
+ .string "What will you give me?$"
LilycoveCity_PokemonCenter_1F_Text_IsThatSoGoodbye:
- .string "Is that so?\n"
- .string "Then, it's good-bye…$"
+ .string "Is that so?\n"
+ .string "Then, it's good-bye…$"
LilycoveCity_PokemonCenter_1F_Text_NotWillingToShare:
- .string "Oh…\n"
- .string "You're not willing to share?$"
+ .string "Oh…\n"
+ .string "You're not willing to share?$"
LilycoveCity_PokemonCenter_1F_Text_IllTryToCherishIt:
- .string "Oh?\n"
- .string "That {STR_VAR_2} is {STR_VAR_1}?\p"
- .string "…Oh, is that right?\p"
- .string "Well, I owe you a thanks anyway.\n"
- .string "I'll try to cherish it…$"
+ .string "Oh?\n"
+ .string "That {STR_VAR_2} is {STR_VAR_1}?\p"
+ .string "…Oh, is that right?\p"
+ .string "Well, I owe you a thanks anyway.\n"
+ .string "I'll try to cherish it…$"
LilycoveCity_PokemonCenter_1F_Text_IWillCherishThis:
- .string "Oh…\p"
- .string "That's a quite {STR_VAR_1}\n"
- .string "{STR_VAR_2}…\p"
- .string "Isn't it nice?\n"
- .string "It's so dreamy…\p"
- .string "Thank you…\n"
- .string "I will cherish this…$"
+ .string "Oh…\p"
+ .string "That's a quite {STR_VAR_1}\n"
+ .string "{STR_VAR_2}…\p"
+ .string "Isn't it nice?\n"
+ .string "It's so dreamy…\p"
+ .string "Thank you…\n"
+ .string "I will cherish this…$"
LilycoveCity_PokemonCenter_1F_Text_IWillTreasureThis:
- .string "…Oh, oh, oh…\p"
- .string "This is amazing!\n"
- .string "This really is {STR_VAR_1}!\p"
- .string "I never knew that one {STR_VAR_2}\n"
- .string "could be this {STR_VAR_1}!\p"
- .string "Thank you!\p"
- .string "I will treasure this for the rest\n"
- .string "of my life!$"
+ .string "…Oh, oh, oh…\p"
+ .string "This is amazing!\n"
+ .string "This really is {STR_VAR_1}!\p"
+ .string "I never knew that one {STR_VAR_2}\n"
+ .string "could be this {STR_VAR_1}!\p"
+ .string "Thank you!\p"
+ .string "I will treasure this for the rest\n"
+ .string "of my life!$"
LilycoveCity_PokemonCenter_1F_Text_IllGiveYouThisInReturn:
- .string "I'll give you this wonderful item in\n"
- .string "return for your fabulous gift.\p"
- .string "I hope you will cherish it…$"
+ .string "I'll give you this wonderful item in\n"
+ .string "return for your fabulous gift.\p"
+ .string "I hope you will cherish it…$"
LilycoveCity_PokemonCenter_1F_Text_YouDontHaveSpaceForIt:
- .string "Oh, you can't have it if you don't have\n"
- .string "the space for it.\p"
- .string "Please come see me when you get\n"
- .string "your BAG organized…$"
+ .string "Oh, you can't have it if you don't have\n"
+ .string "the space for it.\p"
+ .string "Please come see me when you get\n"
+ .string "your BAG organized…$"
LilycoveCity_PokemonCenter_1F_Text_ImTheQuizLady:
- .string "I'm the QUIZ LADY!\n"
- .string "I love quizzes!$"
+ .string "I'm the QUIZ LADY!\n"
+ .string "I love quizzes!$"
LilycoveCity_PokemonCenter_1F_Text_WaitingToTakeYourQuiz:
- .string "Oh?\p"
- .string "I'm waiting for a challenger to answer\n"
- .string "the quiz you made.\p"
- .string "We can chat another time, okay?$"
+ .string "Oh?\p"
+ .string "I'm waiting for a challenger to answer\n"
+ .string "the quiz you made.\p"
+ .string "We can chat another time, okay?$"
LilycoveCity_PokemonCenter_1F_Text_WaitingForChallenger:
- .string "I'm waiting for someone to challenge\n"
- .string "a quiz this {STR_VAR_1} thought up!$"
+ .string "I'm waiting for someone to challenge\n"
+ .string "a quiz this {STR_VAR_1} thought up!$"
LilycoveCity_PokemonCenter_1F_Text_TakeQuizChallenge:
- .string "If you answer correctly, you can win\n"
- .string "fabulous prizes!\p"
- .string "Would you like to take the quiz\n"
- .string "challenge?$"
+ .string "If you answer correctly, you can win\n"
+ .string "fabulous prizes!\p"
+ .string "Would you like to take the quiz\n"
+ .string "challenge?$"
LilycoveCity_PokemonCenter_1F_Text_WaitForAnswer:
- .string "… … … … … …\n"
- .string "… … … … … …$"
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
LilycoveCity_PokemonCenter_1F_Text_HowBoringBye:
- .string "Oh, how boring!\n"
- .string "Bye-bye!$"
+ .string "Oh, how boring!\n"
+ .string "Bye-bye!$"
LilycoveCity_PokemonCenter_1F_Text_YoureGoingToQuit:
- .string "Awww!\n"
- .string "You're going to quit?$"
+ .string "Awww!\n"
+ .string "You're going to quit?$"
LilycoveCity_PokemonCenter_1F_Text_TakeTheQuizAnotherTime:
- .string "Please take the quiz challenge\n"
- .string "another time!$"
+ .string "Please take the quiz challenge\n"
+ .string "another time!$"
LilycoveCity_PokemonCenter_1F_Text_YouGotItRight:
- .string "You're amazing! You've got it right!\n"
- .string "You're one sharp customer!$"
+ .string "You're amazing! You've got it right!\n"
+ .string "You're one sharp customer!$"
LilycoveCity_PokemonCenter_1F_Text_YouGotItRightYouveWonPersonsPrize:
- .string "Congratulations!\n"
- .string "You've got the quiz right!\p"
- .string "You've won a prize provided by\n"
- .string "{STR_VAR_1}!$"
+ .string "Congratulations!\n"
+ .string "You've got the quiz right!\p"
+ .string "You've won a prize provided by\n"
+ .string "{STR_VAR_1}!$"
@ Unused
LilycoveCity_PokemonCenter_1F_Text_XReceivedOneY:
- .string "{STR_VAR_1} received\n"
- .string "one {STR_VAR_2}!$"
+ .string "{STR_VAR_1} received\n"
+ .string "one {STR_VAR_2}!$"
LilycoveCity_PokemonCenter_1F_Text_YourBagIsFilledUp:
- .string "Oh? Your BAG is filled up!\n"
- .string "Come see me when you have room.$"
+ .string "Oh? Your BAG is filled up!\n"
+ .string "Come see me when you have room.$"
LilycoveCity_PokemonCenter_1F_Text_WrongTheCorrectAnswerIs:
- .string "Hmm… Wrong!\n"
- .string "The correct answer is “{STR_VAR_3}”!$"
+ .string "Hmm… Wrong!\n"
+ .string "The correct answer is “{STR_VAR_3}”!$"
LilycoveCity_PokemonCenter_1F_Text_IGetToKeepPrize:
- .string "Too bad!\p"
- .string "I get to keep the quiz prize\n"
- .string "{STR_VAR_1} now!$"
+ .string "Too bad!\p"
+ .string "I get to keep the quiz prize\n"
+ .string "{STR_VAR_1} now!$"
LilycoveCity_PokemonCenter_1F_Text_MakeYourOwnQuiz:
- .string "Listen, listen!\n"
- .string "Would you like to make your own quiz?$"
+ .string "Listen, listen!\n"
+ .string "Would you like to make your own quiz?$"
LilycoveCity_PokemonCenter_1F_Text_MaybeNextTime:
- .string "Oh, I see…\n"
- .string "Well, maybe next time!$"
+ .string "Oh, I see…\n"
+ .string "Well, maybe next time!$"
LilycoveCity_PokemonCenter_1F_Text_PickYourPrize:
- .string "Okay, the first thing you have to do\n"
- .string "is pick the prize for the person that\l"
- .string "answers your quiz correctly.\p"
- .string "But beware, if the person taking\n"
- .string "the quiz can't get it right, I get to\l"
- .string "keep the prize!$"
+ .string "Okay, the first thing you have to do\n"
+ .string "is pick the prize for the person that\l"
+ .string "answers your quiz correctly.\p"
+ .string "But beware, if the person taking\n"
+ .string "the quiz can't get it right, I get to\l"
+ .string "keep the prize!$"
LilycoveCity_PokemonCenter_1F_Text_QuitChoosingPrize:
- .string "If you don't choose a prize,\n"
- .string "your quiz can't be made.\p"
- .string "Are you going to quit making\n"
- .string "your quiz?$"
+ .string "If you don't choose a prize,\n"
+ .string "your quiz can't be made.\p"
+ .string "Are you going to quit making\n"
+ .string "your quiz?$"
LilycoveCity_PokemonCenter_1F_Text_WriteYourQuiz:
- .string "Oh, how nice!\n"
- .string "That's a wonderful prize!\p"
- .string "Next, you need to write your quiz\n"
- .string "question and its answer.$"
+ .string "Oh, how nice!\n"
+ .string "That's a wonderful prize!\p"
+ .string "Next, you need to write your quiz\n"
+ .string "question and its answer.$"
LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizQuestion:
- .string "Are you going to quit writing\n"
- .string "your quiz question?$"
+ .string "Are you going to quit writing\n"
+ .string "your quiz question?$"
@ Unused
LilycoveCity_PokemonCenter_1F_Text_QuitWritingQuizAnswer:
- .string "Are you going to quit choosing\n"
- .string "your quiz answer?$"
+ .string "Are you going to quit choosing\n"
+ .string "your quiz answer?$"
LilycoveCity_PokemonCenter_1F_Text_IllLookForAChallenger:
- .string "Thank you!\n"
- .string "You've put together a nice quiz.\p"
- .string "I'll go look for someone who'll take\n"
- .string "your quiz challenge right away.$"
+ .string "Thank you!\n"
+ .string "You've put together a nice quiz.\p"
+ .string "I'll go look for someone who'll take\n"
+ .string "your quiz challenge right away.$"
LilycoveCity_PokemonCenter_1F_Text_ImTheContestLady:
- .string "I'm the CONTEST LADY!\n"
- .string "I sure do love CONTESTS!$"
+ .string "I'm the CONTEST LADY!\n"
+ .string "I sure do love CONTESTS!$"
LilycoveCity_PokemonCenter_1F_Text_ThankForPokeblock:
- .string "Thanks for your {POKEBLOCK} before!$"
+ .string "Thanks for your {POKEBLOCK} before!$"
LilycoveCity_PokemonCenter_1F_Text_MyFriendDisplaysQuality:
- .string "This is my friend {STR_VAR_1}!\n"
- .string "It's the epitome of {STR_VAR_2}!\p"
- .string "But I think that it will display\n"
- .string "even more {STR_VAR_2}!$"
+ .string "This is my friend {STR_VAR_1}!\n"
+ .string "It's the epitome of {STR_VAR_2}!\p"
+ .string "But I think that it will display\n"
+ .string "even more {STR_VAR_2}!$"
LilycoveCity_PokemonCenter_1F_Text_DontHaveAPokeblockCase:
- .string "So, I need your help!\p"
- .string "Please, may I have one {POKEBLOCK}?\n"
- .string "All I'm asking for is one!\p"
- .string "…Oh, but…\n"
- .string "Don't you have a {POKEBLOCK} CASE?\l"
- .string "That's no good. Next time, then!$"
+ .string "So, I need your help!\p"
+ .string "Please, may I have one {POKEBLOCK}?\n"
+ .string "All I'm asking for is one!\p"
+ .string "…Oh, but…\n"
+ .string "Don't you have a {POKEBLOCK} CASE?\l"
+ .string "That's no good. Next time, then!$"
LilycoveCity_PokemonCenter_1F_Text_AskingForOnePokeblock:
- .string "So, I need your help!\p"
- .string "Please, may I have one {POKEBLOCK}?\n"
- .string "All I'm asking for is one!$"
+ .string "So, I need your help!\p"
+ .string "Please, may I have one {POKEBLOCK}?\n"
+ .string "All I'm asking for is one!$"
LilycoveCity_PokemonCenter_1F_Text_ICantHaveOnePokeblock:
- .string "Awww!\n"
- .string "I can't have one {POKEBLOCK}?!$"
+ .string "Awww!\n"
+ .string "I can't have one {POKEBLOCK}?!$"
LilycoveCity_PokemonCenter_1F_Text_WhatACheapskate:
- .string "Sheesh!\n"
- .string "What a cheapskate!$"
+ .string "Sheesh!\n"
+ .string "What a cheapskate!$"
LilycoveCity_PokemonCenter_1F_Text_IllUseYourPokeblock:
- .string "Yay!\n"
- .string "Thank you!\p"
- .string "I'll feed my POKéMON your {POKEBLOCK}\n"
- .string "right away.$"
+ .string "Yay!\n"
+ .string "Thank you!\p"
+ .string "I'll feed my POKéMON your {POKEBLOCK}\n"
+ .string "right away.$"
LilycoveCity_PokemonCenter_1F_Text_NoChangeThanks:
- .string "…It doesn't seem to have changed\n"
- .string "in any way at all…\p"
- .string "Hmm…\p"
- .string "Oh, well!\n"
- .string "Thank you very much!$"
+ .string "…It doesn't seem to have changed\n"
+ .string "in any way at all…\p"
+ .string "Hmm…\p"
+ .string "Oh, well!\n"
+ .string "Thank you very much!$"
LilycoveCity_PokemonCenter_1F_Text_ReallyImprovedThanks:
- .string "Oh, yay!\n"
- .string "It's really delighted!\p"
- .string "I think it really improved {STR_VAR_1}'s\n"
- .string "{STR_VAR_2} quality, too.\p"
- .string "Thank you so much!$"
+ .string "Oh, yay!\n"
+ .string "It's really delighted!\p"
+ .string "I think it really improved {STR_VAR_1}'s\n"
+ .string "{STR_VAR_2} quality, too.\p"
+ .string "Thank you so much!$"
LilycoveCity_PokemonCenter_1F_Text_ReadyToEnterContests:
- .string "Hmm…\p"
- .string "I think we may be ready to enter\n"
- .string "some CONTESTS.\p"
- .string "If you see us in one somewhere,\n"
- .string "I hope you'll cheer for us.$"
+ .string "Hmm…\p"
+ .string "I think we may be ready to enter\n"
+ .string "some CONTESTS.\p"
+ .string "If you see us in one somewhere,\n"
+ .string "I hope you'll cheer for us.$"
LilycoveCity_PokemonCenter_1F_Text_Zigzagoon:
- .string "{STR_VAR_1}: Guguuh!$"
+ .string "{STR_VAR_1}: Guguuh!$"
LilycoveCity_PokemonCenter_1F_Text_Kecleon:
- .string "{STR_VAR_1}: Igigigiiih!$"
+ .string "{STR_VAR_1}: Igigigiiih!$"
LilycoveCity_PokemonCenter_1F_Text_Poochyena:
- .string "{STR_VAR_1}: Baaarun…$"
+ .string "{STR_VAR_1}: Baaarun…$"
LilycoveCity_PokemonCenter_1F_Text_Pikachu:
- .string "{STR_VAR_1}: Pikka!$"
+ .string "{STR_VAR_1}: Pikka!$"
LilycoveCity_PokemonCenter_1F_Text_Skitty:
- .string "{STR_VAR_1}: Umyaaaan!$"
+ .string "{STR_VAR_1}: Umyaaaan!$"
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
index b34f84e8e2..e1fa3d1799 100644
--- a/data/scripts/mauville_man.inc
+++ b/data/scripts/mauville_man.inc
@@ -13,10 +13,8 @@ MauvilleCity_PokemonCenter_1F_EventScript_Bard::
lock
faceplayer
msgbox MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToHearMySong, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PlaySong
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_PokemonCenter_1F_EventScript_PlaySong
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong
end
MauvilleCity_PokemonCenter_1F_EventScript_PlaySong::
@@ -24,8 +22,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_PlaySong::
special PlayBardSong
delay 60
special HasBardSongBeenChanged
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics
msgbox MauvilleCity_PokemonCenter_1F_Text_WishICouldPlaySongForOthers, MSGBOX_DEFAULT
release
end
@@ -37,10 +34,8 @@ MauvilleCity_PokemonCenter_1F_EventScript_DeclineSong::
MauvilleCity_PokemonCenter_1F_EventScript_AskToWriteLyrics::
msgbox MauvilleCity_PokemonCenter_1F_Text_WouldYouLikeToWriteSomeLyrics, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics
end
MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics::
@@ -48,15 +43,13 @@ MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics
+ goto_if_eq VAR_RESULT, 0, MauvilleCity_PokemonCenter_1F_EventScript_DeclineWritingLyrics
msgbox MauvilleCity_PokemonCenter_1F_Text_LetMeSingItForYou, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
special PlayBardSong
delay 60
msgbox MauvilleCity_PokemonCenter_1F_Text_ThatHowYouWantedSongToGo, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_WriteLyrics
special SaveBardSongLyrics
msgbox MauvilleCity_PokemonCenter_1F_Text_IllSingThisSongForAWhile, MSGBOX_DEFAULT
release
@@ -74,16 +67,14 @@ MauvilleCity_PokemonCenter_1F_EventScript_Hipster::
setflag FLAG_SYS_HIPSTER_MEET
msgbox MauvilleCity_PokemonCenter_1F_Text_TeachWhatsHipAndHappening, MSGBOX_DEFAULT
special GetHipsterSpokenFlag
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord
msgbox MauvilleCity_PokemonCenter_1F_Text_IAlreadyTaughtYou, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_TryTeachWord::
special HipsterTryTeachWord
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TeachWord
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_TeachWord
msgbox MauvilleCity_PokemonCenter_1F_Text_IveGotNothingNewToTeach, MSGBOX_DEFAULT
release
end
@@ -158,11 +149,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_Trader::
lock
faceplayer
msgbox MauvilleCity_PokemonCenter_1F_Text_WantToTradeDecor, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineTrade
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_DeclineTrade
special GetTraderTradedFlag
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded
message MauvilleCity_PokemonCenter_1F_Text_PickADecorItem
waitmessage
goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive
@@ -181,16 +170,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_AlreadyTraded::
MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToReceive::
special TraderMenuGetDecoration
waitstate
- compare VAR_0x8004, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelPickDecor
- compare VAR_0x8004, 0xFFFF
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_InvalidDecor
+ goto_if_eq VAR_0x8004, 0, MauvilleCity_PokemonCenter_1F_EventScript_CancelPickDecor
+ goto_if_eq VAR_0x8004, 0xFFFF, MauvilleCity_PokemonCenter_1F_EventScript_InvalidDecor
msgbox MauvilleCity_PokemonCenter_1F_Text_OnceBelongedToPlayerDoYouWantIt, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PickDifferentDecor
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_PickDifferentDecor
special DoesPlayerHaveNoDecorations
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DontHaveAnyDecor
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_DontHaveAnyDecor
goto MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive
end
@@ -220,16 +205,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive::
msgbox MauvilleCity_PokemonCenter_1F_Text_PickTheDecorToTrade, MSGBOX_DEFAULT
special TraderShowDecorationMenu
waitstate
- compare VAR_0x8006, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelGiveDecor
- compare VAR_0x8006, 0xFFFF
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DecorInUse
+ goto_if_eq VAR_0x8006, 0, MauvilleCity_PokemonCenter_1F_EventScript_CancelGiveDecor
+ goto_if_eq VAR_0x8006, 0xFFFF, MauvilleCity_PokemonCenter_1F_EventScript_DecorInUse
special IsDecorationCategoryFull
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_NoRoomForDecor
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_NoRoomForDecor
msgbox MauvilleCity_PokemonCenter_1F_Text_SoWellTradeTheseDecor, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_PickDecorToGive
special TraderDoDecorationTrade
msgbox MauvilleCity_PokemonCenter_1F_Text_SendDecorToYourPC, MSGBOX_DEFAULT
release
@@ -816,24 +797,20 @@ MauvilleCity_PokemonCenter_1F_EventScript_Storyteller::
setvar VAR_0x800A, 0
setvar VAR_0x800B, 0
msgbox MauvilleCity_PokemonCenter_1F_Text_WillYouHearMyTale, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
specialvar VAR_RESULT, StorytellerGetFreeStorySlot
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales
+ goto_if_eq VAR_RESULT, 0, MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales
message MauvilleCity_PokemonCenter_1F_Text_WhichTaleToTell
waitmessage
special StorytellerStoryListMenu
waitstate
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection
+ goto_if_eq VAR_RESULT, 0, MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection
setvar VAR_0x8008, 1
special Script_StorytellerDisplayStory
waitmessage
waitbuttonpress
specialvar VAR_RESULT, StorytellerUpdateStat
- compare VAR_RESULT, 0
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales
+ goto_if_eq VAR_RESULT, 0, MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales
goto MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale
MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection::
@@ -843,19 +820,16 @@ MauvilleCity_PokemonCenter_1F_EventScript_CancelStorySelection::
MauvilleCity_PokemonCenter_1F_EventScript_AreThereOtherTales::
msgbox MauvilleCity_PokemonCenter_1F_Text_CouldThereBeOtherLegends, MSGBOX_DEFAULT
specialvar VAR_RESULT, HasStorytellerAlreadyRecorded
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_StorytellerEnd
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_StorytellerEnd
goto MauvilleCity_PokemonCenter_1F_EventScript_DoYouHaveAnyTales
MauvilleCity_PokemonCenter_1F_EventScript_KnowNoTales::
msgbox MauvilleCity_PokemonCenter_1F_Text_IKnowNoTales, MSGBOX_DEFAULT
MauvilleCity_PokemonCenter_1F_EventScript_DoYouHaveAnyTales::
msgbox MauvilleCity_PokemonCenter_1F_Text_HaveYouAnyLegendaryTales, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_DeclineStoryteller
specialvar VAR_RESULT, Script_StorytellerInitializeRandomStat
- compare VAR_RESULT, 1
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale
+ goto_if_eq VAR_RESULT, 1, MauvilleCity_PokemonCenter_1F_EventScript_TellPlayersTale
msgbox MauvilleCity_PokemonCenter_1F_Text_NotWorthyOfLegend, MSGBOX_DEFAULT
release
end
@@ -902,26 +876,20 @@ MauvilleCity_PokemonCenter_1F_EventScript_Giddy::
lock
faceplayer
msgbox MauvilleCity_PokemonCenter_1F_Text_HearMyStory, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy
end
MauvilleCity_PokemonCenter_1F_EventScript_TryTellTale::
special GiddyShouldTellAnotherTale
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales
end
MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale::
special GiddyShouldTellAnotherTale
- compare VAR_RESULT, TRUE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales
+ goto_if_eq VAR_RESULT, TRUE, MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_PokemonCenter_1F_EventScript_ToldEnoughTales
end
MauvilleCity_PokemonCenter_1F_EventScript_GiddyStartNewTale::
@@ -936,10 +904,8 @@ MauvilleCity_PokemonCenter_1F_EventScript_GiddyTellTale::
special ShowFieldMessageStringVar4
waitmessage
yesnobox 20, 8
- compare VAR_RESULT, YES
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale
- compare VAR_RESULT, NO
- goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale
+ goto_if_eq VAR_RESULT, YES, MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale
+ goto_if_eq VAR_RESULT, NO, MauvilleCity_PokemonCenter_1F_EventScript_TryTellNewTale
end
MauvilleCity_PokemonCenter_1F_EventScript_DeclineGiddy::
diff --git a/data/scripts/move_tutors.inc b/data/scripts/move_tutors.inc
index cc952749d4..4155969a02 100644
--- a/data/scripts/move_tutors.inc
+++ b/data/scripts/move_tutors.inc
@@ -3,16 +3,13 @@ SlateportCity_PokemonFanClub_EventScript_SwaggerTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SWAGGER, MoveTutor_EventScript_SwaggerTaught
msgbox MoveTutor_Text_SwaggerTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_SwaggerDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SwaggerDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_SwaggerDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SwaggerDeclined
msgbox MoveTutor_Text_SwaggerWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_SWAGGER
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_SwaggerDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SwaggerDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER
goto MoveTutor_EventScript_SwaggerTaught
end
@@ -32,16 +29,13 @@ MauvilleCity_EventScript_RolloutTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT, MoveTutor_EventScript_RolloutTaught
msgbox MoveTutor_Text_RolloutTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_RolloutDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_RolloutDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_RolloutDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_RolloutDeclined
msgbox MoveTutor_Text_RolloutWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_ROLLOUT
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_RolloutDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_RolloutDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT
goto MoveTutor_EventScript_RolloutTaught
end
@@ -61,16 +55,13 @@ VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER, MoveTutor_EventScript_FuryCutterTaught
msgbox MoveTutor_Text_FuryCutterTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_FuryCutterDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_FuryCutterDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_FuryCutterDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_FuryCutterDeclined
msgbox MoveTutor_Text_FuryCutterWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_FURY_CUTTER
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_FuryCutterDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_FuryCutterDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER
goto MoveTutor_EventScript_FuryCutterTaught
end
@@ -90,16 +81,13 @@ LavaridgeTown_House_EventScript_MimicTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_MIMIC, MoveTutor_EventScript_MimicTaught
msgbox MoveTutor_MimicTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_MimicDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MimicDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_MimicDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MimicDeclined
msgbox MoveTutor_Text_MimicWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_MIMIC
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_MimicDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_MimicDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC
goto MoveTutor_EventScript_MimicTaught
end
@@ -119,16 +107,13 @@ FallarborTown_Mart_EventScript_MetronomeTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_METRONOME, MoveTutor_EventScript_MetronomeTaught
msgbox MoveTutor_Text_MetronomeTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_MetronomeDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MetronomeDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_MetronomeDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MetronomeDeclined
msgbox MoveTutor_Text_MetronomeWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_METRONOME
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_MetronomeDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_MetronomeDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME
goto MoveTutor_EventScript_MetronomeTaught
end
@@ -148,16 +133,13 @@ FortreeCity_House2_EventScript_SleepTalkTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK, MoveTutor_EventScript_SleepTalkTaught
msgbox MoveTutor_Text_SleepTalkTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_SleepTalkDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SleepTalkDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_SleepTalkDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SleepTalkDeclined
msgbox MoveTutor_Text_SleepTalkWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_SLEEP_TALK
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_SleepTalkDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SleepTalkDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK
goto MoveTutor_EventScript_SleepTalkTaught
end
@@ -177,16 +159,13 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE, MoveTutor_EventScript_SubstituteTaught
msgbox MoveTutor_Text_SubstituteTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_SubstituteDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SubstituteDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_SubstituteDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SubstituteDeclined
msgbox MoveTutor_Text_SubstituteWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_SUBSTITUTE
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_SubstituteDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SubstituteDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE
goto MoveTutor_EventScript_SubstituteTaught
end
@@ -206,16 +185,13 @@ MossdeepCity_EventScript_DynamicPunchTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH, MoveTutor_EventScript_DynamicPunchTaught
msgbox MoveTutor_Text_DynamicPunchTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DynamicPunchDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DynamicPunchDeclined
msgbox MoveTutor_Text_DynamicPunchWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_DYNAMIC_PUNCH
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_DynamicPunchDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_DynamicPunchDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH
goto MoveTutor_EventScript_DynamicPunchTaught
end
@@ -235,16 +211,13 @@ SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE, MoveTutor_EventScript_DoubleEdgeTaught
msgbox MoveTutor_Text_DoubleEdgeTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DoubleEdgeDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DoubleEdgeDeclined
msgbox MoveTutor_Text_DoubleEdgeWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_DOUBLE_EDGE
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_DoubleEdgeDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_DoubleEdgeDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE
goto MoveTutor_EventScript_DoubleEdgeTaught
end
@@ -264,16 +237,13 @@ PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor::
faceplayer
goto_if_set FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION, MoveTutor_EventScript_ExplosionTaught
msgbox MoveTutor_Text_ExplosionTeach, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_ExplosionDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_ExplosionDeclined
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
- compare VAR_RESULT, NO
- goto_if_eq MoveTutor_EventScript_ExplosionDeclined
+ goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_ExplosionDeclined
msgbox MoveTutor_Text_ExplosionWhichMon, MSGBOX_DEFAULT
setvar VAR_0x8005, TUTOR_MOVE_EXPLOSION
call MoveTutor_EventScript_OpenPartyMenu
- compare VAR_RESULT, 0
- goto_if_eq MoveTutor_EventScript_ExplosionDeclined
+ goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_ExplosionDeclined
setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION
goto MoveTutor_EventScript_ExplosionTaught
end
diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc
index 382f5ce320..e982858e7b 100644
--- a/data/scripts/obtain_item.inc
+++ b/data/scripts/obtain_item.inc
@@ -1,67 +1,63 @@
+.set ITEMID, VAR_0x8000
+.set AMOUNT, VAR_0x8001
+
Std_ObtainItem::
- additem VAR_0x8000, VAR_0x8001
+ additem ITEMID, AMOUNT
copyvar VAR_0x8007, VAR_RESULT
call EventScript_ObtainItemMessage
return
EventScript_ObtainItemMessage::
- bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
- checkitemtype VAR_0x8000
+ bufferitemnameplural STR_VAR_2, ITEMID, AMOUNT
+ checkitemtype ITEMID
call EventScript_BufferPocketNameAndTryFanfare
- compare VAR_0x8007, 1
- call_if_eq EventScript_ObtainedItem
- compare VAR_0x8007, 0
- call_if_eq EventScript_NoRoomForItem
+ call_if_eq VAR_0x8007, TRUE, EventScript_ObtainedItem
+ call_if_eq VAR_0x8007, FALSE, EventScript_NoRoomForItem
return
EventScript_BufferPocketNameAndTryFanfare::
switch VAR_RESULT
- case POCKET_ITEMS, EventScript_BufferItemsPocket
- case POCKET_KEY_ITEMS, EventScript_BufferKeyItemsPocket
+ case POCKET_ITEMS, EventScript_BufferItemsPocket
+ case POCKET_KEY_ITEMS, EventScript_BufferKeyItemsPocket
case POCKET_POKE_BALLS, EventScript_BufferPokeballsPocket
- case POCKET_TM_HM, EventScript_BufferTMHMsPocket
- case POCKET_BERRIES, EventScript_BufferBerriesPocket
+ case POCKET_TM_HM, EventScript_BufferTMHMsPocket
+ case POCKET_BERRIES, EventScript_BufferBerriesPocket
end
EventScript_BufferItemsPocket::
- bufferstdstring 2, STDSTRING_ITEMS
- compare VAR_0x8007, 1
- call_if_eq EventScript_PlayFanfareObtainedItem
+ bufferstdstring STR_VAR_3, STDSTRING_ITEMS
+ call_if_eq VAR_0x8007, TRUE, EventScript_PlayFanfareObtainedItem
return
EventScript_BufferKeyItemsPocket::
- bufferstdstring 2, STDSTRING_KEYITEMS
- compare VAR_0x8007, 1
- call_if_eq EventScript_PlayFanfareObtainedItem
+ bufferstdstring STR_VAR_3, STDSTRING_KEYITEMS
+ call_if_eq VAR_0x8007, TRUE, EventScript_PlayFanfareObtainedItem
return
EventScript_BufferPokeballsPocket::
- bufferstdstring 2, STDSTRING_POKEBALLS
- compare VAR_0x8007, 1
- call_if_eq EventScript_PlayFanfareObtainedItem
+ bufferstdstring STR_VAR_3, STDSTRING_POKEBALLS
+ call_if_eq VAR_0x8007, TRUE, EventScript_PlayFanfareObtainedItem
return
EventScript_BufferTMHMsPocket::
- bufferstdstring 2, STDSTRING_TMHMS
- compare VAR_0x8007, 1
- call_if_eq EventScript_PlayFanfareObtainedTMHM
+ bufferstdstring STR_VAR_3, STDSTRING_TMHMS
+ call_if_eq VAR_0x8007, TRUE, EventScript_PlayFanfareObtainedTMHM
return
EventScript_BufferBerriesPocket::
- bufferstdstring 2, STDSTRING_BERRIES
- compare VAR_0x8007, 1
- call_if_eq EventScript_PlayFanfareObtainedItem
+ bufferstdstring STR_VAR_3, STDSTRING_BERRIES
+ call_if_eq VAR_0x8007, TRUE, EventScript_PlayFanfareObtainedItem
return
EventScript_ObtainedItem::
message gText_ObtainedTheItem
waitfanfare
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
- setvar VAR_RESULT, 1
+ setvar VAR_RESULT, TRUE
return
EventScript_NoRoomForItem::
- setvar VAR_RESULT, 0
+ setvar VAR_RESULT, FALSE
return
EventScript_PlayFanfareObtainedItem::
@@ -73,17 +69,15 @@ EventScript_PlayFanfareObtainedTMHM::
return
Std_ObtainDecoration::
- adddecoration VAR_0x8000
+ adddecoration ITEMID
copyvar VAR_0x8007, VAR_RESULT
call EventScript_ObtainDecorationMessage
return
EventScript_ObtainDecorationMessage::
- bufferdecorationname 1, VAR_0x8000
- compare VAR_0x8007, 1
- call_if_eq EventScript_ObtainedDecor
- compare VAR_0x8007, 0
- call_if_eq EventScript_NoRoomForDecor
+ bufferdecorationname STR_VAR_2, ITEMID
+ call_if_eq VAR_0x8007, TRUE, EventScript_ObtainedDecor
+ call_if_eq VAR_0x8007, FALSE, EventScript_NoRoomForDecor
return
EventScript_ObtainedDecor::
@@ -91,28 +85,26 @@ EventScript_ObtainedDecor::
message gText_ObtainedTheDecor
waitfanfare
msgbox gText_TheDecorWasTransferredToThePC, MSGBOX_DEFAULT
- setvar VAR_RESULT, 1
+ setvar VAR_RESULT, TRUE
return
EventScript_NoRoomForDecor::
- setvar VAR_RESULT, 0
+ setvar VAR_RESULT, FALSE
return
Std_FindItem::
lock
faceplayer
waitse
- copyvar VAR_0x8004, VAR_0x8000
- copyvar VAR_0x8005, VAR_0x8001
- checkitemspace VAR_0x8000, VAR_0x8001
+ copyvar VAR_0x8004, ITEMID
+ copyvar VAR_0x8005, AMOUNT
+ checkitemspace ITEMID, AMOUNT
copyvar VAR_0x8007, VAR_RESULT
- bufferitemnameplural 1, VAR_0x8000, VAR_0x8001
- checkitemtype VAR_0x8000
+ bufferitemnameplural STR_VAR_2, ITEMID, AMOUNT
+ checkitemtype ITEMID
call EventScript_BufferPocketNameAndTryFanfare
- compare VAR_0x8007, 1
- call_if_eq EventScript_PickUpItem
- compare VAR_0x8007, 0
- call_if_eq EventScript_NoRoomToPickUpItem
+ call_if_eq VAR_0x8007, TRUE, EventScript_PickUpItem
+ call_if_eq VAR_0x8007, FALSE, EventScript_NoRoomToPickUpItem
release
return
@@ -121,16 +113,13 @@ EventScript_PickUpItem::
additem VAR_0x8004, VAR_0x8005
specialvar VAR_RESULT, BufferTMHMMoveName
copyvar VAR_0x8008, VAR_RESULT
- compare VAR_0x8008, 1
- call_if_eq EventScript_FoundTMHM
- compare VAR_0x8008, 0
- call_if_eq EventScript_FoundItem
+ call_if_eq VAR_0x8008, TRUE, EventScript_FoundTMHM
+ call_if_eq VAR_0x8008, FALSE, EventScript_FoundItem
waitfanfare
waitmessage
- bufferitemnameplural 1, VAR_0x8004, VAR_0x8005
+ bufferitemnameplural STR_VAR_2, VAR_0x8004, VAR_0x8005
pyramid_inchallenge
- compare VAR_RESULT, 1
- goto_if_eq EventScript_PutBattlePyramidItemInBag
+ goto_if_eq VAR_RESULT, TRUE, EventScript_PutBattlePyramidItemInBag
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
return
@@ -139,7 +128,7 @@ EventScript_PutBattlePyramidItemInBag::
return
EventScript_FoundTMHM::
- bufferitemnameplural 0, VAR_0x8004, VAR_0x8005
+ bufferitemnameplural STR_VAR_1, VAR_0x8004, VAR_0x8005
message gText_PlayerFoundOneTMHM
return
@@ -150,7 +139,7 @@ EventScript_FoundItem::
EventScript_NoRoomToPickUpItem::
msgbox gText_ObtainedTheItem, MSGBOX_DEFAULT
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
- setvar VAR_RESULT, 0
+ setvar VAR_RESULT, FALSE
return
EventScript_HiddenItemScript::
@@ -158,27 +147,23 @@ EventScript_HiddenItemScript::
waitse
additem VAR_0x8005
copyvar VAR_0x8007, VAR_RESULT
- bufferitemnameplural 1, VAR_0x8005, 1
+ bufferitemnameplural STR_VAR_2, VAR_0x8005, 1
checkitemtype VAR_0x8005
call EventScript_BufferPocketNameAndTryFanfare
- compare VAR_0x8007, 1
- goto_if_eq EventScript_PickUpHiddenItem
- compare VAR_0x8007, 0
- goto_if_eq EventScript_NoRoomForHiddenItem
+ goto_if_eq VAR_0x8007, TRUE, EventScript_PickUpHiddenItem
+ goto_if_eq VAR_0x8007, FALSE, EventScript_NoRoomForHiddenItem
end
EventScript_PickUpHiddenItem::
copyvar VAR_0x8008, VAR_0x8004
copyvar VAR_0x8004, VAR_0x8005
specialvar VAR_RESULT, BufferTMHMMoveName
- compare VAR_RESULT, 1
- goto_if_eq EventScript_FoundHiddenTMHM
- compare VAR_RESULT, 0
- goto_if_eq EventScript_FoundHiddenItem
+ goto_if_eq VAR_RESULT, TRUE, EventScript_FoundHiddenTMHM
+ goto_if_eq VAR_RESULT, FALSE, EventScript_FoundHiddenItem
end
EventScript_FoundHiddenTMHM::
- bufferitemnameplural 0, VAR_0x8004, 1
+ bufferitemnameplural STR_VAR_1, VAR_0x8004, 1
message gText_PlayerFoundOneTMHM
goto EventScript_PutHiddenItemInPocket
end
@@ -191,7 +176,7 @@ EventScript_FoundHiddenItem::
EventScript_PutHiddenItemInPocket::
waitmessage
waitfanfare
- bufferitemnameplural 1, VAR_0x8004, 1
+ bufferitemnameplural STR_VAR_2, VAR_0x8004, 1
copyvar VAR_0x8004, VAR_0x8008
msgbox gText_PutItemInPocket, MSGBOX_DEFAULT
special TryPutTreasureInvestigatorsOnAir
diff --git a/data/scripts/pc.inc b/data/scripts/pc.inc
index 43c0bca0d7..1993aaf63f 100644
--- a/data/scripts/pc.inc
+++ b/data/scripts/pc.inc
@@ -1,6 +1,6 @@
EventScript_PC::
lockall
- setvar VAR_0x8004, 0
+ setvar VAR_0x8004, PC_LOCATION_OTHER
special DoPCTurnOnEffect
playse SE_PC_ON
msgbox Text_BootUpPC, MSGBOX_DEFAULT
@@ -51,7 +51,7 @@ EventScript_AccessLanettesPC::
return
EventScript_TurnOffPC::
- setvar VAR_0x8004, 0
+ setvar VAR_0x8004, PC_LOCATION_OTHER
playse SE_PC_OFF
special DoPCTurnOffEffect
releaseall
diff --git a/data/scripts/pc_transfer.inc b/data/scripts/pc_transfer.inc
index 1fe575d551..1204bece36 100644
--- a/data/scripts/pc_transfer.inc
+++ b/data/scripts/pc_transfer.inc
@@ -14,35 +14,33 @@ Common_EventScript_NameReceivedBoxMon::
return
Common_EventScript_TransferredToPC::
- bufferboxname 0, VAR_PC_BOX_TO_SEND_MON
- bufferspeciesname 1, VAR_TEMP_1
+ bufferboxname STR_VAR_1, VAR_PC_BOX_TO_SEND_MON
+ bufferspeciesname STR_VAR_2, VAR_TEMP_1
call_if_unset FLAG_SYS_PC_LANETTE, EventScript_TransferredSomeonesPC
call_if_set FLAG_SYS_PC_LANETTE, EventScript_TransferredLanettesPC
return
EventScript_TransferredSomeonesPC::
specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
- compare VAR_RESULT, 1
- goto_if_eq EventScript_SomeonesPCBoxFull
+ goto_if_eq VAR_RESULT, TRUE, EventScript_SomeonesPCBoxFull
msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT
return
EventScript_SomeonesPCBoxFull::
specialvar VAR_RESULT, GetPCBoxToSendMon
- bufferboxname 2, VAR_RESULT
+ bufferboxname STR_VAR_3, VAR_RESULT
msgbox gText_PkmnTransferredSomeonesPCBoxFull, MSGBOX_DEFAULT
return
EventScript_TransferredLanettesPC::
specialvar VAR_RESULT, ShouldShowBoxWasFullMessage
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_LanettesPCBoxFull
+ goto_if_eq VAR_RESULT, TRUE, EventScript_LanettesPCBoxFull
msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT
return
EventScript_LanettesPCBoxFull::
specialvar VAR_RESULT, GetPCBoxToSendMon
- bufferboxname 2, VAR_RESULT
+ bufferboxname STR_VAR_3, VAR_RESULT
msgbox gText_PkmnTransferredLanettesPCBoxFull, MSGBOX_DEFAULT
return
diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc
index 21f2abe0a2..64ccdfa77e 100644
--- a/data/scripts/pkmn_center_nurse.inc
+++ b/data/scripts/pkmn_center_nurse.inc
@@ -1,135 +1,122 @@
Common_EventScript_PkmnCenterNurse::
- lock
- faceplayer
- setvar VAR_0x8004, 0
- specialvar VAR_RESULT, CountPlayerTrainerStars
- compare VAR_RESULT, 4
- goto_if_eq EventScript_PkmnCenterNurse_GoldCard
- msgbox gText_WouldYouLikeToRestYourPkmn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq EventScript_PkmnCenterNurse_HealPkmn
- compare VAR_RESULT, NO
- goto_if_eq EventScript_PkmnCenterNurse_Goodbye
- end
+ lock
+ faceplayer
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, CountPlayerTrainerStars
+ goto_if_eq VAR_RESULT, 4, EventScript_PkmnCenterNurse_GoldCard
+ msgbox gText_WouldYouLikeToRestYourPkmn, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, EventScript_PkmnCenterNurse_HealPkmn
+ goto_if_eq VAR_RESULT, NO, EventScript_PkmnCenterNurse_Goodbye
+ end
EventScript_PkmnCenterNurse_Goodbye::
- message gText_WeHopeToSeeYouAgain
- return
+ message gText_WeHopeToSeeYouAgain
+ return
@ VAR_0x8004 is 1 when player has Gold Card; jumps are identical
EventScript_PkmnCenterNurse_HealPkmn::
- incrementgamestat GAME_STAT_USED_POKECENTER
- compare VAR_0x8004, 0
- call_if_eq EventScript_PkmnCenterNurse_IllTakeYourPkmn
- compare VAR_0x8004, 1
- call_if_eq EventScript_PkmnCenterNurse_IllTakeYourPkmn2
- waitmessage
- call EventScript_PkmnCenterNurse_TakeAndHealPkmn
- goto_if_unset FLAG_POKERUS_EXPLAINED, EventScript_PkmnCenterNurse_CheckPokerus
- goto EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
- end
+ incrementgamestat GAME_STAT_USED_POKECENTER
+ call_if_eq VAR_0x8004, 0, EventScript_PkmnCenterNurse_IllTakeYourPkmn
+ call_if_eq VAR_0x8004, 1, EventScript_PkmnCenterNurse_IllTakeYourPkmn2
+ waitmessage
+ call EventScript_PkmnCenterNurse_TakeAndHealPkmn
+ goto_if_unset FLAG_POKERUS_EXPLAINED, EventScript_PkmnCenterNurse_CheckPokerus
+ goto EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
+ end
EventScript_PkmnCenterNurse_IllTakeYourPkmn::
- message gText_IllTakeYourPkmn
- return
+ message gText_IllTakeYourPkmn
+ return
EventScript_PkmnCenterNurse_IllTakeYourPkmn2::
- message gText_IllTakeYourPkmn2
- return
+ message gText_IllTakeYourPkmn2
+ return
EventScript_PkmnCenterNurse_TakeAndHealPkmn::
- applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterLeft
- waitmovement 0
- dofieldeffect FLDEFF_POKECENTER_HEAL
- waitfieldeffect FLDEFF_POKECENTER_HEAL
- applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterDown
- waitmovement 0
- special HealPlayerParty
- return
+ applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterLeft
+ waitmovement 0
+ dofieldeffect FLDEFF_POKECENTER_HEAL
+ waitfieldeffect FLDEFF_POKECENTER_HEAL
+ applymovement VAR_0x800B, Common_Movement_WalkInPlaceFasterDown
+ waitmovement 0
+ special HealPlayerParty
+ return
EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom::
- specialvar VAR_RESULT, PlayerNotAtTrainerHillEntrance
- compare VAR_RESULT, 0
- goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn
- specialvar VAR_RESULT, BufferUnionRoomPlayerName
- copyvar VAR_0x8008, VAR_RESULT
- compare VAR_0x8008, 0
- goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn
- compare VAR_0x8008, 1
- goto_if_eq EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom
- end
+ specialvar VAR_RESULT, PlayerNotAtTrainerHillEntrance
+ goto_if_eq VAR_RESULT, 0, EventScript_PkmnCenterNurse_ReturnPkmn
+ specialvar VAR_RESULT, BufferUnionRoomPlayerName
+ copyvar VAR_0x8008, VAR_RESULT
+ goto_if_eq VAR_0x8008, 0, EventScript_PkmnCenterNurse_ReturnPkmn
+ goto_if_eq VAR_0x8008, 1, EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom
+ end
@ VAR_0x8004 is 1 when player has Gold Card
EventScript_PkmnCenterNurse_ReturnPkmn::
- compare VAR_0x8004, 1
- goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn2
- message gText_RestoredPkmnToFullHealth
- waitmessage
- applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
- waitmovement 0
- message gText_WeHopeToSeeYouAgain
- return
+ goto_if_eq VAR_0x8004, 1, EventScript_PkmnCenterNurse_ReturnPkmn2
+ message gText_RestoredPkmnToFullHealth
+ waitmessage
+ applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
+ waitmovement 0
+ message gText_WeHopeToSeeYouAgain
+ return
EventScript_PkmnCenterNurse_ReturnPkmn2::
- message gText_ThankYouForWaiting
- waitmessage
- applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
- waitmovement 0
- message gText_WeHopeToSeeYouAgain2
- return
+ message gText_ThankYouForWaiting
+ waitmessage
+ applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
+ waitmovement 0
+ message gText_WeHopeToSeeYouAgain2
+ return
EventScript_PkmnCenterNurse_PlayerWaitingInUnionRoom::
- goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, EventScript_PkmnCenterNurse_ReturnPkmn
- msgbox gText_RestoredPkmnToFullHealth, MSGBOX_DEFAULT
- setflag FLAG_NURSE_UNION_ROOM_REMINDER
- message CableClub_Text_PlayerIsWaiting
- waitmessage
- applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
- waitmovement 0
- message gText_WeHopeToSeeYouAgain
- return
+ goto_if_set FLAG_NURSE_UNION_ROOM_REMINDER, EventScript_PkmnCenterNurse_ReturnPkmn
+ msgbox gText_RestoredPkmnToFullHealth, MSGBOX_DEFAULT
+ setflag FLAG_NURSE_UNION_ROOM_REMINDER
+ message CableClub_Text_PlayerIsWaiting
+ waitmessage
+ applymovement VAR_0x800B, Movement_PkmnCenterNurse_Bow
+ waitmovement 0
+ message gText_WeHopeToSeeYouAgain
+ return
EventScript_PkmnCenterNurse_CheckPokerus::
- specialvar VAR_RESULT, IsPokerusInParty
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_PkmnCenterNurse_ExplainPokerus
- compare VAR_RESULT, FALSE
- goto_if_eq EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
- end
+ specialvar VAR_RESULT, IsPokerusInParty
+ goto_if_eq VAR_RESULT, TRUE, EventScript_PkmnCenterNurse_ExplainPokerus
+ goto_if_eq VAR_RESULT, FALSE, EventScript_PkmnCenterNurse_CheckTrainerHillAndUnionRoom
+ end
EventScript_PkmnCenterNurse_ExplainPokerus::
- message gText_PokerusExplanation
- setflag FLAG_POKERUS_EXPLAINED
- return
+ message gText_PokerusExplanation
+ setflag FLAG_POKERUS_EXPLAINED
+ return
EventScript_PkmnCenterNurse_GoldCard::
- goto_if_set FLAG_NURSE_MENTIONS_GOLD_CARD, EventScript_PkmnCenterNurse_AskForUsual
- setflag FLAG_NURSE_MENTIONS_GOLD_CARD
- msgbox gText_WelcomeCutShort, MSGBOX_DEFAULT
- playse SE_PIN
- applymovement VAR_0x800B, Common_Movement_ExclamationMark
- waitmovement 0
- applymovement VAR_0x800B, Common_Movement_Delay48
- waitmovement 0
- msgbox gText_NoticesGoldCard, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq EventScript_PkmnCenterNurse_GoldCardHealPkmn
- message gText_WeHopeToSeeYouAgain2
- return
+ goto_if_set FLAG_NURSE_MENTIONS_GOLD_CARD, EventScript_PkmnCenterNurse_AskForUsual
+ setflag FLAG_NURSE_MENTIONS_GOLD_CARD
+ msgbox gText_WelcomeCutShort, MSGBOX_DEFAULT
+ playse SE_PIN
+ applymovement VAR_0x800B, Common_Movement_ExclamationMark
+ waitmovement 0
+ applymovement VAR_0x800B, Common_Movement_Delay48
+ waitmovement 0
+ msgbox gText_NoticesGoldCard, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, EventScript_PkmnCenterNurse_GoldCardHealPkmn
+ message gText_WeHopeToSeeYouAgain2
+ return
EventScript_PkmnCenterNurse_AskForUsual::
- msgbox gText_YouWantTheUsual, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq EventScript_PkmnCenterNurse_GoldCardHealPkmn
- message gText_WeHopeToSeeYouAgain2
- return
+ msgbox gText_YouWantTheUsual, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, YES, EventScript_PkmnCenterNurse_GoldCardHealPkmn
+ message gText_WeHopeToSeeYouAgain2
+ return
EventScript_PkmnCenterNurse_GoldCardHealPkmn::
- setvar VAR_0x8004, 1
- goto EventScript_PkmnCenterNurse_HealPkmn
- end
+ setvar VAR_0x8004, 1
+ goto EventScript_PkmnCenterNurse_HealPkmn
+ end
Movement_PkmnCenterNurse_Bow:
- nurse_joy_bow
- delay_4
- step_end
+ nurse_joy_bow
+ delay_4
+ step_end
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index e2e985a7a1..caa4e69551 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -11,10 +11,8 @@ PlayersHouse_1F_EventScript_EnterHouseMovingIn::
msgbox PlayersHouse_1F_Text_IsntItNiceInHere, MSGBOX_DEFAULT
applymovement VAR_0x8004, Common_Movement_FacePlayer
waitmovement 0
- compare VAR_0x8005, MALE
- call_if_eq PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale
- compare VAR_0x8005, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale
+ call_if_eq VAR_0x8005, MALE, PlayersHouse_1F_EventScript_MomFacePlayerMovingInMale
+ call_if_eq VAR_0x8005, FEMALE, PlayersHouse_1F_EventScript_MomFacePlayerMovingInFemale
msgbox PlayersHouse_1F_Text_MoversPokemonGoSetClock, MSGBOX_DEFAULT
closemessage
setvar VAR_LITTLEROOT_INTRO_STATE, 4
@@ -69,10 +67,8 @@ PlayersHouse_2F_EventScript_WallClock::
setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1
setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq PlayersHouse_2F_EventScript_MomComesUpstairsMale
- compare VAR_RESULT, FEMALE
- call_if_eq PlayersHouse_2F_EventScript_MomComesUpstairsFemale
+ call_if_eq VAR_RESULT, MALE, PlayersHouse_2F_EventScript_MomComesUpstairsMale
+ call_if_eq VAR_RESULT, FEMALE, PlayersHouse_2F_EventScript_MomComesUpstairsFemale
playse SE_EXIT
removeobject VAR_0x8008
releaseall
@@ -310,16 +306,12 @@ PlayersHouse_1F_Movement_MomReturnToSeatFemale:
PlayersHouse_1F_EventScript_Mom::
lock
faceplayer
- compare VAR_LITTLEROOT_HOUSES_STATE_MAY, 4
- goto_if_eq PlayersHouse_1F_EventScript_DontPushYourselfTooHard
- compare VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4
- goto_if_eq PlayersHouse_1F_EventScript_DontPushYourselfTooHard
+ goto_if_eq VAR_LITTLEROOT_HOUSES_STATE_MAY, 4, PlayersHouse_1F_EventScript_DontPushYourselfTooHard
+ goto_if_eq VAR_LITTLEROOT_HOUSES_STATE_BRENDAN, 4, PlayersHouse_1F_EventScript_DontPushYourselfTooHard
goto_if_set FLAG_HAS_MATCH_CALL, PlayersHouse_1F_EventScript_TryRegisterMom
goto_if_set FLAG_RESCUED_BIRCH, PlayersHouse_1F_EventScript_MomHealsParty
- compare VAR_TEMP_1, 1
- goto_if_eq PlayersHouse_1F_EventScript_SeeYouHoney
- compare VAR_LITTLEROOT_INTRO_STATE, 7
- goto_if_eq PlayersHouse_1F_EventScript_DidYouMeetProfBirch
+ goto_if_eq VAR_TEMP_1, 1, PlayersHouse_1F_EventScript_SeeYouHoney
+ goto_if_eq VAR_LITTLEROOT_INTRO_STATE, 7, PlayersHouse_1F_EventScript_DidYouMeetProfBirch
msgbox PlayersHouse_1F_Text_IsntItNiceInHere, MSGBOX_DEFAULT
release
end
@@ -351,8 +343,7 @@ PlayersHouse_1F_EventScript_TryGiveAmuletCoin::
goto_if_set FLAG_RECEIVED_AMULET_COIN, PlayersHouse_1F_EventScript_MomHealsParty
msgbox PlayersHouse_1F_Text_GotDadsBadgeHeresSomethingFromMom, MSGBOX_DEFAULT
giveitem ITEM_AMULET_COIN
- compare VAR_RESULT, FALSE
- goto_if_eq Common_EventScript_ShowBagIsFull
+ goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
msgbox PlayersHouse_1F_Text_DontPushYourselfTooHard, MSGBOX_DEFAULT
setflag FLAG_RECEIVED_AMULET_COIN
release
@@ -432,14 +423,10 @@ PlayersHouse_1F_Movement_MovePlayerAwayFromDoor:
PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV::
lockall
checkplayergender
- compare VAR_RESULT, MALE
- call_if_eq PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale
- compare VAR_RESULT, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_PlayerEnterRoomMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_PlayerEnterRoomFemale
+ call_if_eq VAR_RESULT, MALE, PlayersHouse_1F_EventScript_SetUpObjectEventVarsMale
+ call_if_eq VAR_RESULT, FEMALE, PlayersHouse_1F_EventScript_SetUpObjectEventVarsFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_PlayerEnterRoomMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_PlayerEnterRoomFemale
applymovement VAR_0x8009, Common_Movement_FacePlayer
waitmovement 0
playse SE_PIN
@@ -448,58 +435,44 @@ PlayersHouse_1F_EventScript_GetSSTicketAndSeeLatiTV::
applymovement VAR_0x8009, Common_Movement_Delay48
waitmovement 0
delay 20
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_DadApproachPlayerMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_DadApproachPlayerFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_DadApproachPlayerMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_DadApproachPlayerFemale
msgbox PlayersHouse_1F_Text_TicketFromBrineyCameForYou, MSGBOX_DEFAULT
giveitem ITEM_SS_TICKET
msgbox PlayersHouse_1F_Text_PortsInSlateportLilycove, MSGBOX_DEFAULT
closemessage
delay 20
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_MomApproachDadMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_MomApproachDadFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_MomApproachDadMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_MomApproachDadFemale
msgbox PlayersHouse_1F_Text_BetterGetBackToGym, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_DadExitsMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_DadExitsFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_DadExitsMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_DadExitsFemale
playse SE_DOOR
removeobject VAR_0x8009
setflag FLAG_RECEIVED_SS_TICKET
delay 30
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_MomApproachPlayerMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_MomApproachPlayerFemale
delay 20
msgbox PlayersHouse_1F_Text_DadShouldStayLonger, MSGBOX_DEFAULT
closemessage
setflag FLAG_SYS_TV_LATIAS_LATIOS
special TurnOnTVScreen
delay 60
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_MomNoticesLatiBroadcastFemale
msgbox PlayersHouse_1F_Text_IsThatABreakingStory, MSGBOX_DEFAULT
closemessage
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_PlayerApproachTVForLatiMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_PlayerApproachTVForLatiFemale
msgbox PlayersHouse_1F_Text_LatiEmergencyNewsFlash, MSGBOX_DEFAULT
closemessage
clearflag FLAG_SYS_TV_LATIAS_LATIOS
setflag FLAG_LATIOS_OR_LATIAS_ROAMING
special TurnOffTVScreen
- compare VAR_0x8008, MALE
- call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale
- compare VAR_0x8008, FEMALE
- call_if_eq PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale
+ call_if_eq VAR_0x8008, MALE, PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVMale
+ call_if_eq VAR_0x8008, FEMALE, PlayersHouse_1F_EventScript_MomApproachPlayerAfterTVFemale
msgbox PlayersHouse_1F_Text_WhatColorDidTheySay, MSGBOX_DEFAULT
multichoice 22, 8, MULTI_TV_LATI, TRUE
copyvar VAR_0x8004, VAR_RESULT
diff --git a/data/scripts/prof_birch.inc b/data/scripts/prof_birch.inc
index 7eb1730fcd..38a5dfec32 100644
--- a/data/scripts/prof_birch.inc
+++ b/data/scripts/prof_birch.inc
@@ -1,23 +1,14 @@
ProfBirch_EventScript_UpdateLocation::
- compare VAR_PETALBURG_GYM_STATE, 0
- goto_if_eq Common_EventScript_NopReturn
+ goto_if_eq VAR_PETALBURG_GYM_STATE, 0, Common_EventScript_NopReturn
goto_if_set FLAG_SYS_GAME_CLEAR, ProfBirch_EventScript_MoveToLab
- compare VAR_BIRCH_STATE, 0
- call_if_eq ProfBirch_EventScript_MoveToLab
- compare VAR_BIRCH_STATE, 1
- call_if_eq ProfBirch_EventScript_MoveToLab
- compare VAR_BIRCH_STATE, 2
- call_if_eq ProfBirch_EventScript_MoveToRoute101
- compare VAR_BIRCH_STATE, 3
- call_if_eq ProfBirch_EventScript_MoveToRoute101
- compare VAR_BIRCH_STATE, 4
- call_if_eq ProfBirch_EventScript_MoveToRoute103
- compare VAR_BIRCH_STATE, 5
- call_if_eq ProfBirch_EventScript_MoveToRoute103
- compare VAR_BIRCH_STATE, 6
- call_if_eq ProfBirch_EventScript_MoveToLab
- compare VAR_BIRCH_STATE, 7
- call_if_eq ProfBirch_EventScript_MoveToLab
+ call_if_eq VAR_BIRCH_STATE, 0, ProfBirch_EventScript_MoveToLab
+ call_if_eq VAR_BIRCH_STATE, 1, ProfBirch_EventScript_MoveToLab
+ call_if_eq VAR_BIRCH_STATE, 2, ProfBirch_EventScript_MoveToRoute101
+ call_if_eq VAR_BIRCH_STATE, 3, ProfBirch_EventScript_MoveToRoute101
+ call_if_eq VAR_BIRCH_STATE, 4, ProfBirch_EventScript_MoveToRoute103
+ call_if_eq VAR_BIRCH_STATE, 5, ProfBirch_EventScript_MoveToRoute103
+ call_if_eq VAR_BIRCH_STATE, 6, ProfBirch_EventScript_MoveToLab
+ call_if_eq VAR_BIRCH_STATE, 7, ProfBirch_EventScript_MoveToLab
return
ProfBirch_EventScript_MoveToLab::
@@ -49,8 +40,7 @@ ProfBirch_EventScript_RatePokedexOrRegister::
ProfBirch_EventScript_AskRatePokedex::
msgbox gBirchDexRatingText_AreYouCurious, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq ProfBirch_EventScript_DeclineRating
+ goto_if_eq VAR_RESULT, NO, ProfBirch_EventScript_DeclineRating
call ProfBirch_EventScript_RatePokedex
release
end
@@ -73,17 +63,16 @@ ProfBirch_EventScript_RatePokedex::
copyvar VAR_0x8008, VAR_0x8005
copyvar VAR_0x8009, VAR_0x8006
copyvar VAR_0x800A, VAR_RESULT
- buffernumberstring 0, VAR_0x8008 @ Num Hoenn seen
- buffernumberstring 1, VAR_0x8009 @ Num Hoenn caught
+ buffernumberstring STR_VAR_1, VAR_0x8008 @ Num Hoenn seen
+ buffernumberstring STR_VAR_2, VAR_0x8009 @ Num Hoenn caught
msgbox gBirchDexRatingText_SoYouveSeenAndCaught, MSGBOX_DEFAULT
call ProfBirch_EventScript_ShowRatingMessage
- compare VAR_0x800A, 0
- goto_if_eq Common_EventScript_NopReturn @ National dex not enabled
+ goto_if_eq VAR_0x800A, 0, Common_EventScript_NopReturn @ National dex not enabled
setvar VAR_0x8004, 1
specialvar VAR_RESULT, ScriptGetPokedexInfo
copyvar VAR_0x8008, VAR_0x8005
copyvar VAR_0x8009, VAR_0x8006
- buffernumberstring 0, VAR_0x8008 @ Num National seen
- buffernumberstring 1, VAR_0x8009 @ Num National caught
+ buffernumberstring STR_VAR_1, VAR_0x8008 @ Num National seen
+ buffernumberstring STR_VAR_2, VAR_0x8009 @ Num National caught
msgbox gBirchDexRatingText_OnANationwideBasis, MSGBOX_DEFAULT
return
diff --git a/data/scripts/profile_man.inc b/data/scripts/profile_man.inc
index 2c5b16122c..4acf049bd8 100644
--- a/data/scripts/profile_man.inc
+++ b/data/scripts/profile_man.inc
@@ -28,10 +28,8 @@ ProfileMan_EventScript_CreateProfile::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq ProfileMan_EventScript_CancelShowProfile
- compare VAR_RESULT, 1
- goto_if_eq ProfileMan_EventScript_ShowProfile
+ goto_if_eq VAR_RESULT, 0, ProfileMan_EventScript_CancelShowProfile
+ goto_if_eq VAR_RESULT, 1, ProfileMan_EventScript_ShowProfile
end
ProfileMan_EventScript_CancelShowProfile::
@@ -80,10 +78,8 @@ ProfileMan_EventScript_CreateNewProfile::
call Common_ShowEasyChatScreen
lock
faceplayer
- compare VAR_RESULT, 0
- goto_if_eq ProfileMan_EventScript_CancelShowProfile
- compare VAR_RESULT, 1
- goto_if_eq ProfileMan_EventScript_ShowProfile
+ goto_if_eq VAR_RESULT, 0, ProfileMan_EventScript_CancelShowProfile
+ goto_if_eq VAR_RESULT, 1, ProfileMan_EventScript_ShowProfile
end
ProfileMan_EventScript_DeclineNewProfile::
diff --git a/data/scripts/questionnaire.inc b/data/scripts/questionnaire.inc
index 62e149bb78..849b25a46a 100644
--- a/data/scripts/questionnaire.inc
+++ b/data/scripts/questionnaire.inc
@@ -1,21 +1,16 @@
EventScript_Questionnaire::
lockall
msgbox Questionnaire_Text_FillOut, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq Questionnaire_EventScript_Release
+ goto_if_eq VAR_RESULT, NO, Questionnaire_EventScript_Release
setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE
call Common_ShowEasyChatScreen
lock
faceplayer
specialvar VAR_0x8008, GetMartEmployeeObjectEventId
- compare VAR_0x8004, 1
- goto_if_eq Questionnaire_EventScript_PlayerInputMysteryEventPhrase
- compare VAR_0x8004, 2
- goto_if_eq Questionnaire_EventScript_PlayerInputMysteryGiftPhrase
- compare VAR_RESULT, 0
- goto_if_eq Questionnaire_EventScript_Release
- compare VAR_RESULT, 1
- goto_if_eq Questionnaire_EventScript_ThankYou
+ goto_if_eq VAR_0x8004, 1, Questionnaire_EventScript_PlayerInputMysteryEventPhrase
+ goto_if_eq VAR_0x8004, 2, Questionnaire_EventScript_PlayerInputMysteryGiftPhrase
+ goto_if_eq VAR_RESULT, 0, Questionnaire_EventScript_Release
+ goto_if_eq VAR_RESULT, 1, Questionnaire_EventScript_ThankYou
end
Questionnaire_EventScript_PlayerInputMysteryEventPhrase::
diff --git a/data/scripts/record_mix.inc b/data/scripts/record_mix.inc
index d1ad84d3a7..109fde2a80 100644
--- a/data/scripts/record_mix.inc
+++ b/data/scripts/record_mix.inc
@@ -3,10 +3,8 @@ EventScript_MixRecordsPrompt::
lock
faceplayer
msgbox Text_WouldYouLikeToMixRecords, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq EventScript_MixRecords
- compare VAR_RESULT, NO
- goto_if_eq EventScript_EndMixRecords
+ goto_if_eq VAR_RESULT, YES, EventScript_MixRecords
+ goto_if_eq VAR_RESULT, NO, EventScript_EndMixRecords
goto EventScript_EndMixRecords
EventScript_MixRecords::
diff --git a/data/scripts/rival_graphics.inc b/data/scripts/rival_graphics.inc
index a0fb15f0e4..26a5c8fbcf 100644
--- a/data/scripts/rival_graphics.inc
+++ b/data/scripts/rival_graphics.inc
@@ -1,9 +1,7 @@
Common_EventScript_SetupRivalGfxId::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq EventScript_SetupRivalGfxIdFemale
- compare VAR_RESULT, FEMALE
- goto_if_eq EventScript_SetupRivalGfxIdMale
+ goto_if_eq VAR_RESULT, MALE, EventScript_SetupRivalGfxIdFemale
+ goto_if_eq VAR_RESULT, FEMALE, EventScript_SetupRivalGfxIdMale
end
EventScript_SetupRivalGfxIdFemale::
@@ -16,10 +14,8 @@ EventScript_SetupRivalGfxIdMale::
Common_EventScript_SetupRivalOnBikeGfxId::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq EventScript_SetupRivalOnBikeGfxIdFemale
- compare VAR_RESULT, FEMALE
- goto_if_eq EventScript_SetupRivalOnBikeGfxIdMale
+ goto_if_eq VAR_RESULT, MALE, EventScript_SetupRivalOnBikeGfxIdFemale
+ goto_if_eq VAR_RESULT, FEMALE, EventScript_SetupRivalOnBikeGfxIdMale
end
EventScript_SetupRivalOnBikeGfxIdFemale::
@@ -33,10 +29,8 @@ EventScript_SetupRivalOnBikeGfxIdMale::
@ Unused
Common_EventScript_SetupRivalGfxIdSameGender::
checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq EventScript_SetupRivalGfxIdMale2
- compare VAR_RESULT, FEMALE
- goto_if_eq EventScript_SetupRivalGfxIdFemale2
+ goto_if_eq VAR_RESULT, MALE, EventScript_SetupRivalGfxIdMale2
+ goto_if_eq VAR_RESULT, FEMALE, EventScript_SetupRivalGfxIdFemale2
end
EventScript_SetupRivalGfxIdMale2::
diff --git a/data/scripts/roulette.inc b/data/scripts/roulette.inc
index 1167a765bd..7163a449aa 100644
--- a/data/scripts/roulette.inc
+++ b/data/scripts/roulette.inc
@@ -1,23 +1,19 @@
Roulette_EventScript_Table1::
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 0
- getpricereduction POKENEWS_GAME_CORNER
- compare VAR_RESULT, FALSE
- goto_if_eq Roulette_EventScript_Play
+ getpokenewsactive POKENEWS_GAME_CORNER
+ goto_if_eq VAR_RESULT, FALSE, Roulette_EventScript_Play
addvar VAR_0x8004, ROULETTE_SPECIAL_RATE
goto Roulette_EventScript_Play
end
Roulette_EventScript_Table2::
- checkitem ITEM_COIN_CASE, 1
- compare VAR_RESULT, FALSE
- goto_if_eq MauvilleCity_GameCorner_EventScript_NoCoinCase
+ checkitem ITEM_COIN_CASE
+ goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoCoinCase
setvar VAR_0x8004, 1
- getpricereduction POKENEWS_GAME_CORNER
- compare VAR_RESULT, FALSE
- goto_if_eq Roulette_EventScript_Play
+ getpokenewsactive POKENEWS_GAME_CORNER
+ goto_if_eq VAR_RESULT, FALSE, Roulette_EventScript_Play
addvar VAR_0x8004, ROULETTE_SPECIAL_RATE
goto Roulette_EventScript_Play
end
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index 6dd0767f0c..eb6a90abdf 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -1,21 +1,20 @@
SafariZone_EventScript_OutOfBallsMidBattle::
setvar VAR_SAFARI_ZONE_STATE, 1
special ExitSafariMode
- setwarp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
+ setwarp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 2, 5
end
SafariZone_EventScript_Exit::
setvar VAR_SAFARI_ZONE_STATE, 1
special ExitSafariMode
- warp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
+ warp MAP_ROUTE121_SAFARI_ZONE_ENTRANCE, 2, 5
waitstate
end
SafariZone_EventScript_RetirePrompt::
lockall
msgbox SafariZone_Text_WouldYouLikeToExit, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SafariZone_EventScript_Retire
+ goto_if_eq VAR_RESULT, YES, SafariZone_EventScript_Retire
releaseall
end
@@ -43,11 +42,9 @@ SafariZone_EventScript_OutOfBalls::
EventScript_PokeBlockFeeder::
lockall
special GetPokeblockFeederInFront
- compare VAR_RESULT, 0xFFFF
- goto_if_ne SafariZone_EventScript_PokeblockPresent
+ goto_if_ne VAR_RESULT, 0xFFFF, SafariZone_EventScript_PokeblockPresent
msgbox SafariZone_Text_PlacePokeblockOnFeeder, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SafariZone_EventScript_ChoosePokeblock
+ goto_if_eq VAR_RESULT, YES, SafariZone_EventScript_ChoosePokeblock
releaseall
end
@@ -55,8 +52,7 @@ SafariZone_EventScript_ChoosePokeblock::
fadescreen FADE_TO_BLACK
special OpenPokeblockCaseOnFeeder
waitstate
- compare VAR_RESULT, 0xFFFF
- goto_if_ne SafariZone_EventScript_PokeblockPlaced
+ goto_if_ne VAR_RESULT, 0xFFFF, SafariZone_EventScript_PokeblockPlaced
end
SafariZone_EventScript_PokeblockPlaced::
diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc
index ae802cdfd2..918a9d6301 100644
--- a/data/scripts/secret_base.inc
+++ b/data/scripts/secret_base.inc
@@ -27,33 +27,24 @@ SecretBase_Text_DiscoveredSmallEntrance:
SecretBase_EventScript_CheckEntrance::
special GetSecretBaseTypeInFrontOfPlayer
special CheckPlayerHasSecretBase
- compare VAR_RESULT, TRUE
- goto_if_eq SecretBase_EventScript_AlreadyHasSecretBase
+ goto_if_eq VAR_RESULT, TRUE, SecretBase_EventScript_AlreadyHasSecretBase
checkpartymove MOVE_SECRET_POWER
setfieldeffectargument 0, VAR_RESULT
- buffermovename 1, MOVE_SECRET_POWER
- compare VAR_0x8007, SECRET_BASE_RED_CAVE
- goto_if_eq SecretBase_EventScript_Cave
- compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
- goto_if_eq SecretBase_EventScript_Cave
- compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
- goto_if_eq SecretBase_EventScript_Cave
- compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
- goto_if_eq SecretBase_EventScript_Cave
- compare VAR_0x8007, SECRET_BASE_TREE
- goto_if_eq SecretBase_EventScript_Tree
- compare VAR_0x8007, SECRET_BASE_SHRUB
- goto_if_eq SecretBase_EventScript_Shrub
+ buffermovename STR_VAR_2, MOVE_SECRET_POWER
+ goto_if_eq VAR_0x8007, SECRET_BASE_RED_CAVE, SecretBase_EventScript_Cave
+ goto_if_eq VAR_0x8007, SECRET_BASE_BROWN_CAVE, SecretBase_EventScript_Cave
+ goto_if_eq VAR_0x8007, SECRET_BASE_BLUE_CAVE, SecretBase_EventScript_Cave
+ goto_if_eq VAR_0x8007, SECRET_BASE_YELLOW_CAVE, SecretBase_EventScript_Cave
+ goto_if_eq VAR_0x8007, SECRET_BASE_TREE, SecretBase_EventScript_Tree
+ goto_if_eq VAR_0x8007, SECRET_BASE_SHRUB, SecretBase_EventScript_Shrub
end
SecretBase_EventScript_Cave::
lockall
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq SecretBase_EventScript_CaveNoSecretPower
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, SecretBase_EventScript_CaveNoSecretPower
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
msgbox SecretBase_Text_IndentUseSecretPower, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_CancelOnEntrance
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
@@ -80,12 +71,10 @@ SecretBase_EventScript_CaveEnter::
SecretBase_EventScript_Tree::
lockall
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq SecretBase_EventScript_TreeNoSecretPower
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, SecretBase_EventScript_TreeNoSecretPower
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
msgbox SecretBase_Text_TreeUseSecretPower, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_CancelOnEntrance
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
@@ -112,12 +101,10 @@ SecretBase_EventScript_TreeEnter::
SecretBase_EventScript_Shrub::
lockall
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq SecretBase_EventScript_ShrubNoSecretPower
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, SecretBase_EventScript_ShrubNoSecretPower
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
msgbox SecretBase_Text_ClumpUseSecretPower, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_CancelOnEntrance
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
@@ -146,7 +133,7 @@ SecretBase_EventScript_InitSecretBase::
closemessage
playse SE_EXIT
setvar VAR_INIT_SECRET_BASE, 0
- setflag FLAG_DECORATION_0
+ setflag FLAG_HIDE_SECRET_BASE_TRAINER
special SetPlayerSecretBase
special EnterSecretBase
setvar VAR_0x8004, 0
@@ -161,8 +148,7 @@ SecretBase_EventScript_FirstEntrance::
waitmovement 0
setvar VAR_INIT_SECRET_BASE, 1
msgbox SecretBase_Text_WantToMakeYourSecretBaseHere, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq SecretBase_EventScript_SetAsBase
+ goto_if_eq VAR_RESULT, YES, SecretBase_EventScript_SetAsBase
closemessage
playse SE_EXIT
special ClearAndLeaveSecretBase
@@ -185,16 +171,15 @@ SecretBase_EventScript_Enter::
setvar VAR_INIT_SECRET_BASE, 1
playse SE_EXIT
special IsCurSecretBaseOwnedByAnotherPlayer
- compare VAR_RESULT, FALSE
- goto_if_eq SecretBase_EventScript_EnterPlayersBase
- clearflag FLAG_DECORATION_0
+ goto_if_eq VAR_RESULT, FALSE, SecretBase_EventScript_EnterPlayersBase
+ clearflag FLAG_HIDE_SECRET_BASE_TRAINER
special EnterSecretBase
setvar VAR_SECRET_BASE_INITIALIZED, 0
waitstate
end
SecretBase_EventScript_EnterPlayersBase::
- setflag FLAG_DECORATION_0
+ setflag FLAG_HIDE_SECRET_BASE_TRAINER
special EnterSecretBase
setvar VAR_SECRET_BASE_INITIALIZED, 0
waitstate
@@ -202,59 +187,43 @@ SecretBase_EventScript_EnterPlayersBase::
SecretBase_EventScript_AlreadyHasSecretBase::
checkpartymove MOVE_SECRET_POWER
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq SecretBase_EventScript_NoSecretPower
+ goto_if_eq VAR_RESULT, PARTY_SIZE, SecretBase_EventScript_NoSecretPower
setfieldeffectargument 0, VAR_RESULT
setorcopyvar VAR_0x8004, VAR_RESULT
lockall
special GetSecretBaseNearbyMapName
msgbox SecretBase_Text_WouldYouLikeToMoveBases, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_CancelOnEntrance
msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_CancelOnEntrance
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_CancelOnEntrance
fadescreenswapbuffers FADE_TO_BLACK
special MoveOutOfSecretBaseFromOutside
closemessage
fadescreenswapbuffers FADE_FROM_BLACK
msgbox SecretBase_Text_MovingCompletedUseSecretPower, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_CancelOnEntrance
- bufferpartymonnick 0, VAR_0x8004
- buffermovename 1, MOVE_SECRET_POWER
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_CancelOnEntrance
+ bufferpartymonnick STR_VAR_1, VAR_0x8004
+ buffermovename STR_VAR_2, MOVE_SECRET_POWER
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
closemessage
- compare VAR_0x8007, SECRET_BASE_RED_CAVE
- goto_if_eq SecretBase_EventScript_CaveUseSecretPower
- compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
- goto_if_eq SecretBase_EventScript_CaveUseSecretPower
- compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
- goto_if_eq SecretBase_EventScript_CaveUseSecretPower
- compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
- goto_if_eq SecretBase_EventScript_CaveUseSecretPower
- compare VAR_0x8007, SECRET_BASE_TREE
- goto_if_eq SecretBase_EventScript_TreeUseSecretPower
- compare VAR_0x8007, SECRET_BASE_SHRUB
- goto_if_eq SecretBase_EventScript_ShrubUseSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_RED_CAVE, SecretBase_EventScript_CaveUseSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_BROWN_CAVE, SecretBase_EventScript_CaveUseSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_BLUE_CAVE, SecretBase_EventScript_CaveUseSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_YELLOW_CAVE, SecretBase_EventScript_CaveUseSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_TREE, SecretBase_EventScript_TreeUseSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_SHRUB, SecretBase_EventScript_ShrubUseSecretPower
releaseall
end
SecretBase_EventScript_NoSecretPower::
lockall
- compare VAR_0x8007, SECRET_BASE_RED_CAVE
- goto_if_eq SecretBase_EventScript_CaveNoSecretPower
- compare VAR_0x8007, SECRET_BASE_BROWN_CAVE
- goto_if_eq SecretBase_EventScript_CaveNoSecretPower
- compare VAR_0x8007, SECRET_BASE_BLUE_CAVE
- goto_if_eq SecretBase_EventScript_CaveNoSecretPower
- compare VAR_0x8007, SECRET_BASE_YELLOW_CAVE
- goto_if_eq SecretBase_EventScript_CaveNoSecretPower
- compare VAR_0x8007, SECRET_BASE_TREE
- goto_if_eq SecretBase_EventScript_TreeNoSecretPower
- compare VAR_0x8007, SECRET_BASE_SHRUB
- goto_if_eq SecretBase_EventScript_ShrubNoSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_RED_CAVE, SecretBase_EventScript_CaveNoSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_BROWN_CAVE, SecretBase_EventScript_CaveNoSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_BLUE_CAVE, SecretBase_EventScript_CaveNoSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_YELLOW_CAVE, SecretBase_EventScript_CaveNoSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_TREE, SecretBase_EventScript_TreeNoSecretPower
+ goto_if_eq VAR_0x8007, SECRET_BASE_SHRUB, SecretBase_EventScript_ShrubNoSecretPower
end
SecretBase_EventScript_CancelOnEntrance::
@@ -302,11 +271,9 @@ SecretBase_EventScript_PutAwayDecoration::
SecretBase_EventScript_PutAwayDecorationLoop::
special PutAwayDecorationIteration
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_PutAwayDecorationEnd
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_PutAwayDecorationEnd
addvar VAR_0x8004, 1
- compare VAR_0x8005, 0
- goto_if_eq SecretBase_EventScript_PutAwayDecorationLoop
+ goto_if_eq VAR_0x8005, 0, SecretBase_EventScript_PutAwayDecorationLoop
removeobject VAR_0x8006
setflag VAR_0x8005 @ UB: VAR_0x8005 is set to a flag by PutAwayDecorationIteration, but ScrCmd_setflag doesn't use VarGet
goto SecretBase_EventScript_PutAwayDecorationLoop
@@ -317,26 +284,16 @@ SecretBase_EventScript_PutAwayDecorationEnd::
SecretBase_EventScript_RecordMixTrainer::
special GetSecretBaseOwnerAndState
- compare VAR_0x8004, 0
- goto_if_eq SecretBase_EventScript_Trainer0
- compare VAR_0x8004, 1
- goto_if_eq SecretBase_EventScript_Trainer1
- compare VAR_0x8004, 2
- goto_if_eq SecretBase_EventScript_Trainer2
- compare VAR_0x8004, 3
- goto_if_eq SecretBase_EventScript_Trainer3
- compare VAR_0x8004, 4
- goto_if_eq SecretBase_EventScript_Trainer4
- compare VAR_0x8004, 5
- goto_if_eq SecretBase_EventScript_Trainer5
- compare VAR_0x8004, 6
- goto_if_eq SecretBase_EventScript_Trainer6
- compare VAR_0x8004, 7
- goto_if_eq SecretBase_EventScript_Trainer7
- compare VAR_0x8004, 8
- goto_if_eq SecretBase_EventScript_Trainer8
- compare VAR_0x8004, 9
- goto_if_eq SecretBase_EventScript_Trainer9
+ goto_if_eq VAR_0x8004, 0, SecretBase_EventScript_Trainer0
+ goto_if_eq VAR_0x8004, 1, SecretBase_EventScript_Trainer1
+ goto_if_eq VAR_0x8004, 2, SecretBase_EventScript_Trainer2
+ goto_if_eq VAR_0x8004, 3, SecretBase_EventScript_Trainer3
+ goto_if_eq VAR_0x8004, 4, SecretBase_EventScript_Trainer4
+ goto_if_eq VAR_0x8004, 5, SecretBase_EventScript_Trainer5
+ goto_if_eq VAR_0x8004, 6, SecretBase_EventScript_Trainer6
+ goto_if_eq VAR_0x8004, 7, SecretBase_EventScript_Trainer7
+ goto_if_eq VAR_0x8004, 8, SecretBase_EventScript_Trainer8
+ goto_if_eq VAR_0x8004, 9, SecretBase_EventScript_Trainer9
end
@ VAR_RESULT is initially set by GetSecretBaseOwnerAndState
@@ -344,16 +301,13 @@ SecretBase_EventScript_Trainer0::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer0PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer0PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer0PostBattle
msgbox SecretBase_Text_Trainer0Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer0DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer0DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer0DeclineBattle
msgbox SecretBase_Text_Trainer0AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -381,16 +335,13 @@ SecretBase_EventScript_Trainer1::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer1PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer1PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer1PostBattle
msgbox SecretBase_Text_Trainer1Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer1DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer1DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer1DeclineBattle
msgbox SecretBase_Text_Trainer1AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -418,16 +369,13 @@ SecretBase_EventScript_Trainer2::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer2PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer2PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer2PostBattle
msgbox SecretBase_Text_Trainer2Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer2DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer2DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer2DeclineBattle
msgbox SecretBase_Text_Trainer2AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -455,16 +403,13 @@ SecretBase_EventScript_Trainer3::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer3PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer3PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer3PostBattle
msgbox SecretBase_Text_Trainer3Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer3DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer3DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer3DeclineBattle
msgbox SecretBase_Text_Trainer3AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -492,16 +437,13 @@ SecretBase_EventScript_Trainer4::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer4PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer4PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer4PostBattle
msgbox SecretBase_Text_Trainer4Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer4DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer4DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer4DeclineBattle
msgbox SecretBase_Text_Trainer4AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -529,16 +471,13 @@ SecretBase_EventScript_Trainer5::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer5PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer5PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer5PostBattle
msgbox SecretBase_Text_Trainer5Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer5DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer5DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer5DeclineBattle
msgbox SecretBase_Text_Trainer5AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -566,16 +505,13 @@ SecretBase_EventScript_Trainer6::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer6PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer6PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer6PostBattle
msgbox SecretBase_Text_Trainer6Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer6DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer6DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer6DeclineBattle
msgbox SecretBase_Text_Trainer6AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -603,16 +539,13 @@ SecretBase_EventScript_Trainer7::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer7PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer7PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer7PostBattle
msgbox SecretBase_Text_Trainer7Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer7DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer7DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer7DeclineBattle
msgbox SecretBase_Text_Trainer7AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -640,16 +573,13 @@ SecretBase_EventScript_Trainer8::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer8PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer8PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer8PostBattle
msgbox SecretBase_Text_Trainer8Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer8DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer8DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer8DeclineBattle
msgbox SecretBase_Text_Trainer8AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -677,16 +607,13 @@ SecretBase_EventScript_Trainer9::
lock
faceplayer
goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_EventScript_Trainer9PreChampion
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_Trainer9PostBattle
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_Trainer9PostBattle
msgbox SecretBase_Text_Trainer9Intro, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_Trainer9DeclineBattle
setvar VAR_RESULT, 1
special SetBattledOwnerFromResult
call Common_EventScript_SaveGame
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_Trainer9DeclineBattle
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_Trainer9DeclineBattle
msgbox SecretBase_Text_Trainer9AcceptBattle, MSGBOX_DEFAULT
goto SecretBase_EventScript_BattleTrainer
end
@@ -715,12 +642,9 @@ SecretBase_EventScript_BattleTrainer::
setvar VAR_0x8005, 0
special DoSpecialTrainerBattle
waitstate
- compare VAR_RESULT, B_OUTCOME_DREW
- call_if_eq SecretBase_EventScript_DrewSecretBaseBattle
- compare VAR_RESULT, B_OUTCOME_WON
- call_if_eq SecretBase_EventScript_WonSecretBaseBattle
- compare VAR_RESULT, B_OUTCOME_LOST
- call_if_eq SecretBase_EventScript_LostSecretBaseBattle
+ call_if_eq VAR_RESULT, B_OUTCOME_DREW, SecretBase_EventScript_DrewSecretBaseBattle
+ call_if_eq VAR_RESULT, B_OUTCOME_WON, SecretBase_EventScript_WonSecretBaseBattle
+ call_if_eq VAR_RESULT, B_OUTCOME_LOST, SecretBase_EventScript_LostSecretBaseBattle
special HealPlayerParty
release
end
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index 41c21e1004..11a5d5b668 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -37,26 +37,21 @@ Route111_EventScript_SecretPowerMan::
lock
faceplayer
msgbox Route111_Text_MakingRoomUseTMToMakeYourOwn, MSGBOX_YESNO
- compare VAR_RESULT, YES
- goto_if_eq Route111_EventScript_GiveSecretPower
+ goto_if_eq VAR_RESULT, YES, Route111_EventScript_GiveSecretPower
msgbox Route111_Text_DontWantThis, MSGBOX_DEFAULT
release
end
Route111_EventScript_GiveSecretPower::
giveitem ITEM_TM43
- compare VAR_RESULT, FALSE
- goto_if_eq Route111_EventScript_NoRoomForSecretPower
+ goto_if_eq VAR_RESULT, FALSE, Route111_EventScript_NoRoomForSecretPower
msgbox Route111_Text_ExplainSecretPower, MSGBOX_DEFAULT
closemessage
setflag FLAG_RECEIVED_SECRET_POWER
clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
- compare VAR_FACING, DIR_WEST
- call_if_eq Route111_EventScript_SecretPowerManExit
- compare VAR_FACING, DIR_EAST
- call_if_eq Route111_EventScript_SecretPowerManExit
- compare VAR_FACING, DIR_NORTH
- call_if_eq Route111_EventScript_SecretPowerManExitNorth
+ call_if_eq VAR_FACING, DIR_WEST, Route111_EventScript_SecretPowerManExit
+ call_if_eq VAR_FACING, DIR_EAST, Route111_EventScript_SecretPowerManExit
+ call_if_eq VAR_FACING, DIR_NORTH, Route111_EventScript_SecretPowerManExitNorth
removeobject VAR_LAST_TALKED
release
end
diff --git a/data/scripts/shared_secret_base.inc b/data/scripts/shared_secret_base.inc
index ef389d3fce..576e939211 100644
--- a/data/scripts/shared_secret_base.inc
+++ b/data/scripts/shared_secret_base.inc
@@ -1,224 +1,215 @@
SecretBase_MapScripts::
- map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_OnWarp
- map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_OnTransition
- map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_OnFrame
- map_script MAP_SCRIPT_ON_RESUME, SecretBase_OnResume
- .byte 0
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, SecretBase_OnWarp
+ map_script MAP_SCRIPT_ON_TRANSITION, SecretBase_OnTransition
+ map_script MAP_SCRIPT_ON_FRAME_TABLE, SecretBase_OnFrame
+ map_script MAP_SCRIPT_ON_RESUME, SecretBase_OnResume
+ .byte 0
SecretBase_OnWarp:
- map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, SecretBase_EventScript_InitDecorations
- .2byte 0
+ map_script_2 VAR_SECRET_BASE_INITIALIZED, 0, SecretBase_EventScript_InitDecorations
+ .2byte 0
SecretBase_OnTransition:
- call SecretBase_EventScript_SetDecorationFlags
- special SetSecretBaseOwnerGfxId
- special InitSecretBaseVars
- end
+ call SecretBase_EventScript_SetDecorationFlags
+ special SetSecretBaseOwnerGfxId
+ special InitSecretBaseVars
+ end
SecretBase_OnFrame:
- map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_EventScript_FirstEntrance
- .2byte 0
+ map_script_2 VAR_INIT_SECRET_BASE, 0, SecretBase_EventScript_FirstEntrance
+ .2byte 0
SecretBase_OnResume:
- setstepcallback STEP_CB_SECRET_BASE
- end
+ setstepcallback STEP_CB_SECRET_BASE
+ end
SecretBase_EventScript_PC::
- lockall
- playse SE_PC_LOGIN
- message SecretBase_Text_BootUpPC
- dofieldeffect FLDEFF_PCTURN_ON
- waitstate
- waitmessage
- waitbuttonpress
- playse SE_SELECT
- goto SecretBase_EventScript_PCShowMainMenu
- end
+ lockall
+ playse SE_PC_LOGIN
+ message SecretBase_Text_BootUpPC
+ dofieldeffect FLDEFF_PCTURN_ON
+ waitstate
+ waitmessage
+ waitbuttonpress
+ playse SE_SELECT
+ goto SecretBase_EventScript_PCShowMainMenu
+ end
SecretBase_EventScript_PCShowMainMenu::
- message SecretBase_Text_WhatWouldYouLikeToDo
- waitmessage
- goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, SecretBase_EventScript_PCMainMenuWithRegister
- goto SecretBase_EventScript_PCMainMenuWithoutRegister
- end
+ message SecretBase_Text_WhatWouldYouLikeToDo
+ waitmessage
+ goto_if_set FLAG_SECRET_BASE_REGISTRY_ENABLED, SecretBase_EventScript_PCMainMenuWithRegister
+ goto SecretBase_EventScript_PCMainMenuWithoutRegister
+ end
SecretBase_EventScript_PCCancel::
- lockall
- goto SecretBase_EventScript_PCShowMainMenu
- end
+ lockall
+ goto SecretBase_EventScript_PCShowMainMenu
+ end
SecretBase_EventScript_PCMainMenuWithRegister::
- multichoice 0, 0, MULTI_BASE_PC_WITH_REGISTRY, FALSE
- switch VAR_RESULT
- case 0, SecretBase_EventScript_PCDecorationMenu
- case 1, SecretBase_EventScript_PCPackUp
- case 2, SecretBase_EventScript_PCRegistryMenu
- case 3, SecretBase_EventScript_PCTurnOff
- case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
- end
+ multichoice 0, 0, MULTI_BASE_PC_WITH_REGISTRY, FALSE
+ switch VAR_RESULT
+ case 0, SecretBase_EventScript_PCDecorationMenu
+ case 1, SecretBase_EventScript_PCPackUp
+ case 2, SecretBase_EventScript_PCRegistryMenu
+ case 3, SecretBase_EventScript_PCTurnOff
+ case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
+ end
SecretBase_EventScript_PCMainMenuWithoutRegister::
- multichoice 0, 0, MULTI_BASE_PC_NO_REGISTRY, FALSE
- switch VAR_RESULT
- case 0, SecretBase_EventScript_PCDecorationMenu
- case 1, SecretBase_EventScript_PCPackUp
- case 2, SecretBase_EventScript_PCTurnOff
- case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
- end
+ multichoice 0, 0, MULTI_BASE_PC_NO_REGISTRY, FALSE
+ switch VAR_RESULT
+ case 0, SecretBase_EventScript_PCDecorationMenu
+ case 1, SecretBase_EventScript_PCPackUp
+ case 2, SecretBase_EventScript_PCTurnOff
+ case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
+ end
SecretBase_EventScript_PCPackUp::
- msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_PCShowMainMenu
- closemessage
- special MoveOutOfSecretBase
- releaseall
- end
+ msgbox SecretBase_Text_AllDecorationsWillBeReturned, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_PCShowMainMenu
+ closemessage
+ special MoveOutOfSecretBase
+ releaseall
+ end
SecretBase_EventScript_PCDecorationMenu::
- special ShowSecretBaseDecorationMenu
- end
+ special ShowSecretBaseDecorationMenu
+ end
SecretBase_EventScript_PCRegistryMenu::
- special ShowSecretBaseRegistryMenu
- end
+ special ShowSecretBaseRegistryMenu
+ end
SecretBase_EventScript_RecordMixingPC::
- lockall
- message SecretBase_Text_BootUpPC
- playse SE_PC_LOGIN
- dofieldeffect FLDEFF_PCTURN_ON
- waitstate
- waitmessage
- waitbuttonpress
- playse SE_SELECT
- goto SecretBase_EventScript_PCRegisterMenu
- end
+ lockall
+ message SecretBase_Text_BootUpPC
+ playse SE_PC_LOGIN
+ dofieldeffect FLDEFF_PCTURN_ON
+ waitstate
+ waitmessage
+ waitbuttonpress
+ playse SE_SELECT
+ goto SecretBase_EventScript_PCRegisterMenu
+ end
SecretBase_EventScript_PCRegisterMenu::
- message SecretBase_Text_WhatWouldYouLikeToDo
- waitmessage
- multichoice 0, 0, MULTI_REGISTER_MENU, FALSE
- switch VAR_RESULT
- case 0, SecretBase_EventScript_PCRegister
- case 1, SecretBase_EventScript_PCRegistryMenu
- case 2, SecretBase_EventScript_PCRegistryInfo
- case 3, SecretBase_EventScript_PCTurnOff
- case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
- end
+ message SecretBase_Text_WhatWouldYouLikeToDo
+ waitmessage
+ multichoice 0, 0, MULTI_REGISTER_MENU, FALSE
+ switch VAR_RESULT
+ case 0, SecretBase_EventScript_PCRegister
+ case 1, SecretBase_EventScript_PCRegistryMenu
+ case 2, SecretBase_EventScript_PCRegistryInfo
+ case 3, SecretBase_EventScript_PCTurnOff
+ case MULTI_B_PRESSED, SecretBase_EventScript_PCTurnOff
+ end
SecretBase_EventScript_ShowRegisterMenu::
- lockall
- goto SecretBase_EventScript_PCRegisterMenu
- end
+ lockall
+ goto SecretBase_EventScript_PCRegisterMenu
+ end
SecretBase_EventScript_PCRegister::
- special GetCurSecretBaseRegistrationValidity
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_AlreadyRegistered
- compare VAR_RESULT, 2
- goto_if_eq SecretBase_EventScript_CantRegisterTooManyBases
- special CopyCurSecretBaseOwnerName_StrVar1
- msgbox SecretBase_Text_WantToRegisterSecretBase, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_PCRegisterMenu
- msgbox SecretBase_Text_RegistrationCompleted, MSGBOX_SIGN
- special ToggleCurSecretBaseRegistry
- special DoSecretBasePCTurnOffEffect
- releaseall
- end
+ special GetCurSecretBaseRegistrationValidity
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_AlreadyRegistered
+ goto_if_eq VAR_RESULT, 2, SecretBase_EventScript_CantRegisterTooManyBases
+ special CopyCurSecretBaseOwnerName_StrVar1
+ msgbox SecretBase_Text_WantToRegisterSecretBase, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_PCRegisterMenu
+ msgbox SecretBase_Text_RegistrationCompleted, MSGBOX_SIGN
+ special ToggleCurSecretBaseRegistry
+ special DoSecretBasePCTurnOffEffect
+ releaseall
+ end
SecretBase_EventScript_AlreadyRegistered::
- msgbox SecretBase_Text_AlreadyRegisteredDelete, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq SecretBase_EventScript_PCRegisterMenu
- msgbox SecretBase_Text_DataUnregistered, MSGBOX_SIGN
- special ToggleCurSecretBaseRegistry
- special DoSecretBasePCTurnOffEffect
- releaseall
- end
+ msgbox SecretBase_Text_AlreadyRegisteredDelete, MSGBOX_YESNO
+ goto_if_eq VAR_RESULT, NO, SecretBase_EventScript_PCRegisterMenu
+ msgbox SecretBase_Text_DataUnregistered, MSGBOX_SIGN
+ special ToggleCurSecretBaseRegistry
+ special DoSecretBasePCTurnOffEffect
+ releaseall
+ end
SecretBase_EventScript_CantRegisterTooManyBases::
- msgbox SecretBase_Text_TooManyBasesDeleteSome, MSGBOX_SIGN
- special DoSecretBasePCTurnOffEffect
- closemessage
- releaseall
- end
+ msgbox SecretBase_Text_TooManyBasesDeleteSome, MSGBOX_SIGN
+ special DoSecretBasePCTurnOffEffect
+ closemessage
+ releaseall
+ end
SecretBase_EventScript_PCRegistryInfo::
- msgbox SecretBase_Text_RegistryInfo, MSGBOX_DEFAULT
- goto SecretBase_EventScript_PCRegisterMenu
- end
+ msgbox SecretBase_Text_RegistryInfo, MSGBOX_DEFAULT
+ goto SecretBase_EventScript_PCRegisterMenu
+ end
SecretBase_EventScript_PCTurnOff::
- special DoSecretBasePCTurnOffEffect
- closemessage
- releaseall
- end
+ special DoSecretBasePCTurnOffEffect
+ closemessage
+ releaseall
+ end
@ Unused
SecretBase_EventScript_Poster::
- special CheckInteractedWithFriendsPosterDecor
- end
+ special CheckInteractedWithFriendsPosterDecor
+ end
@ Unused
SecretBase_EventScript_FurnitureBottom::
- special CheckInteractedWithFriendsFurnitureBottom
- end
+ special CheckInteractedWithFriendsFurnitureBottom
+ end
@ Unused
SecretBase_EventScript_FurnitureMiddle::
- special CheckInteractedWithFriendsFurnitureMiddle
- end
+ special CheckInteractedWithFriendsFurnitureMiddle
+ end
@ Unused
SecretBase_EventScript_FurnitureTop::
- special CheckInteractedWithFriendsFurnitureTop
- end
+ special CheckInteractedWithFriendsFurnitureTop
+ end
SecretBase_EventScript_SandOrnament::
- special CheckInteractedWithFriendsSandOrnament
- dofieldeffect FLDEFF_SAND_PILLAR
- waitstate
- end
+ special CheckInteractedWithFriendsSandOrnament
+ dofieldeffect FLDEFF_SAND_PILLAR
+ waitstate
+ end
SecretBase_EventScript_ShieldOrToyTV::
- special InteractWithShieldOrTVDecoration
- compare VAR_RESULT, 0
- goto_if_eq SecretBase_EventScript_BattleTowerShield
- compare VAR_RESULT, 1
- goto_if_eq SecretBase_EventScript_ToyTV
- compare VAR_RESULT, 2
- goto_if_eq SecretBase_EventScript_SeedotTV
- compare VAR_RESULT, 3
- goto_if_eq SecretBase_EventScript_SkittyTV
- end
+ special InteractWithShieldOrTVDecoration
+ goto_if_eq VAR_RESULT, 0, SecretBase_EventScript_BattleTowerShield
+ goto_if_eq VAR_RESULT, 1, SecretBase_EventScript_ToyTV
+ goto_if_eq VAR_RESULT, 2, SecretBase_EventScript_SeedotTV
+ goto_if_eq VAR_RESULT, 3, SecretBase_EventScript_SkittyTV
+ end
SecretBase_EventScript_BattleTowerShield::
- msgbox SecretBase_Text_BattleTowerShield, MSGBOX_SIGN
- end
+ msgbox SecretBase_Text_BattleTowerShield, MSGBOX_SIGN
+ end
SecretBase_EventScript_ToyTV::
- msgbox SecretBase_Text_ToyTV, MSGBOX_SIGN
- end
+ msgbox SecretBase_Text_ToyTV, MSGBOX_SIGN
+ end
SecretBase_EventScript_SeedotTV::
- msgbox SecretBase_Text_SeedotTV, MSGBOX_SIGN
- end
+ msgbox SecretBase_Text_SeedotTV, MSGBOX_SIGN
+ end
SecretBase_EventScript_SkittyTV::
- msgbox SecretBase_Text_SkittyTV, MSGBOX_SIGN
- end
+ msgbox SecretBase_Text_SkittyTV, MSGBOX_SIGN
+ end
SecretBase_Text_SmallIndentInWall::
- .string "There's a small indent in the wall.$"
+ .string "There's a small indent in the wall.$"
SecretBase_Text_IndentUseSecretPower::
- .string "There's a small indent in the wall.\p"
- .string "Use the SECRET POWER?$"
+ .string "There's a small indent in the wall.\p"
+ .string "Use the SECRET POWER?$"
SecretBase_Text_DiscoveredSmallCavern::
- .string "Discovered a small cavern!$"
+ .string "Discovered a small cavern!$"
SecretBase_Text_WantToMakeYourSecretBaseHere:
- .string "Want to make your SECRET BASE here?$"
+ .string "Want to make your SECRET BASE here?$"
diff --git a/data/scripts/std_msgbox.inc b/data/scripts/std_msgbox.inc
index 941cc0e961..c46da56cbf 100644
--- a/data/scripts/std_msgbox.inc
+++ b/data/scripts/std_msgbox.inc
@@ -1,7 +1,7 @@
Std_MsgboxNPC:
lock
faceplayer
- message 0x0
+ message NULL
waitmessage
waitbuttonpress
release
@@ -9,33 +9,34 @@ Std_MsgboxNPC:
Std_MsgboxSign:
lockall
- message 0x0
+ message NULL
waitmessage
waitbuttonpress
releaseall
return
Std_MsgboxDefault:
- message 0x0
+ message NULL
waitmessage
waitbuttonpress
return
Std_MsgboxYesNo:
- message 0x0
+ message NULL
waitmessage
yesnobox 20, 8
return
Std_MsgboxGetPoints:
- message 0x0
+ message NULL
playfanfare MUS_OBTAIN_B_POINTS
waitfanfare
waitmessage
return
-Std_10:
- pokenavcall 0x0
+@ Never used, pokenavcall is always used directly instead
+Std_MsgboxPokenav:
+ pokenavcall NULL
waitmessage
return
diff --git a/data/scripts/surf.inc b/data/scripts/surf.inc
index 91580422e1..edb116f991 100644
--- a/data/scripts/surf.inc
+++ b/data/scripts/surf.inc
@@ -1,13 +1,11 @@
EventScript_UseSurf::
checkpartymove MOVE_SURF
- compare VAR_RESULT, PARTY_SIZE
- goto_if_eq EventScript_EndUseSurf
- bufferpartymonnick 0, VAR_RESULT
+ goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_EndUseSurf
+ bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
lockall
msgbox gText_WantToUseSurf, MSGBOX_YESNO
- compare VAR_RESULT, NO
- goto_if_eq EventScript_ReleaseUseSurf
+ goto_if_eq VAR_RESULT, NO, EventScript_ReleaseUseSurf
msgbox gText_PlayerUsedSurf, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_SURF
EventScript_ReleaseUseSurf::
diff --git a/data/scripts/trainer_battle.inc b/data/scripts/trainer_battle.inc
index a59b58a6f7..bbbcaf3ba3 100644
--- a/data/scripts/trainer_battle.inc
+++ b/data/scripts/trainer_battle.inc
@@ -13,8 +13,7 @@ EventScript_TryDoNormalTrainerBattle::
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
specialvar VAR_RESULT, GetTrainerFlag
- compare VAR_RESULT, FALSE
- goto_if_ne EventScript_NoNormalTrainerBattle
+ goto_if_ne VAR_RESULT, FALSE, EventScript_NoNormalTrainerBattle
special PlayTrainerEncounterMusic
special SetTrainerFacingDirection
goto EventScript_ShowTrainerIntroMsg
@@ -27,11 +26,9 @@ EventScript_TryDoDoubleTrainerBattle::
faceplayer
call EventScript_RevealTrainer
specialvar VAR_RESULT, GetTrainerFlag
- compare VAR_RESULT, FALSE
- goto_if_ne EventScript_NoDoubleTrainerBattle
+ goto_if_ne VAR_RESULT, FALSE, EventScript_NoDoubleTrainerBattle
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
- goto_if_ne EventScript_NotEnoughMonsForDoubleBattle
+ goto_if_ne VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS, EventScript_NotEnoughMonsForDoubleBattle
special PlayTrainerEncounterMusic
special SetTrainerFacingDirection
goto EventScript_ShowTrainerIntroMsg
@@ -50,14 +47,13 @@ EventScript_DoNoIntroTrainerBattle::
applymovement VAR_LAST_TALKED, Movement_RevealTrainer
waitmovement 0
special PlayTrainerEncounterMusic
- trainerbattlebegin
+ dotrainerbattle
gotopostbattlescript
EventScript_TryDoRematchBattle::
call EventScript_RevealTrainer
specialvar VAR_RESULT, IsTrainerReadyForRematch
- compare VAR_RESULT, FALSE
- goto_if_eq EventScript_NoRematchTrainerBattle
+ goto_if_eq VAR_RESULT, FALSE, EventScript_NoRematchTrainerBattle
special PlayTrainerEncounterMusic
special SetTrainerFacingDirection
special ShowTrainerIntroSpeech
@@ -73,11 +69,9 @@ EventScript_NoRematchTrainerBattle::
EventScript_TryDoDoubleRematchBattle::
specialvar VAR_RESULT, IsTrainerReadyForRematch
- compare VAR_RESULT, FALSE
- goto_if_eq EventScript_NoDoubleRematchTrainerBattle
+ goto_if_eq VAR_RESULT, FALSE, EventScript_NoDoubleRematchTrainerBattle
special HasEnoughMonsForDoubleBattle
- compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS
- goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle
+ goto_if_ne VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS, EventScript_NotEnoughMonsForDoubleRematchBattle
special PlayTrainerEncounterMusic
special SetTrainerFacingDirection
special ShowTrainerIntroSpeech
@@ -112,31 +106,25 @@ EventScript_ShowTrainerIntroMsg::
waitmessage
waitbuttonpress
special TryPrepareSecondApproachingTrainer
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_TrainerApproach
+ goto_if_eq VAR_RESULT, TRUE, EventScript_TrainerApproach
goto EventScript_DoTrainerBattle
EventScript_DoTrainerBattle::
- trainerbattlebegin
+ dotrainerbattle
@ Below battle mode check only needed in FRLG
specialvar VAR_RESULT, GetTrainerBattleMode
- compare VAR_RESULT, TRAINER_BATTLE_SINGLE
- goto_if_eq EventScript_EndTrainerBattle
- compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT
- goto_if_eq EventScript_EndTrainerBattle
- compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC
- goto_if_eq EventScript_EndTrainerBattle
- compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE
- goto_if_eq EventScript_EndTrainerBattle
- compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
- goto_if_eq EventScript_EndTrainerBattle
+ goto_if_eq VAR_RESULT, TRAINER_BATTLE_SINGLE, EventScript_EndTrainerBattle
+ goto_if_eq VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT, EventScript_EndTrainerBattle
+ goto_if_eq VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, EventScript_EndTrainerBattle
+ goto_if_eq VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, EventScript_EndTrainerBattle
+ goto_if_eq VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, EventScript_EndTrainerBattle
EventScript_EndTrainerBattle::
gotobeatenscript
releaseall
end
Std_MsgboxAutoclose::
- message 0x0
+ message NULL
waitmessage
waitbuttonpress
release
diff --git a/data/scripts/trainer_hill.inc b/data/scripts/trainer_hill.inc
index f3ba5f035a..b7f8153514 100644
--- a/data/scripts/trainer_hill.inc
+++ b/data/scripts/trainer_hill.inc
@@ -2,12 +2,9 @@ TrainerHill_OnResume:
setvar VAR_TEMP_2, 0
trainerhill_resumetimer
frontier_get FRONTIER_DATA_BATTLE_OUTCOME
- compare VAR_RESULT, B_OUTCOME_LOST
- goto_if_eq TrainerHill_1F_EventScript_Lost
- compare VAR_RESULT, B_OUTCOME_DREW
- goto_if_eq TrainerHill_1F_EventScript_Lost
- compare VAR_RESULT, B_OUTCOME_FORFEITED
- goto_if_eq TrainerHill_1F_EventScript_Lost
+ goto_if_eq VAR_RESULT, B_OUTCOME_LOST, TrainerHill_1F_EventScript_Lost
+ goto_if_eq VAR_RESULT, B_OUTCOME_DREW, TrainerHill_1F_EventScript_Lost
+ goto_if_eq VAR_RESULT, B_OUTCOME_FORFEITED, TrainerHill_1F_EventScript_Lost
end
TrainerHill_OnWarp:
@@ -35,13 +32,12 @@ EventScript_TrainerHillTimer::
TrainerHill_1F_EventScript_DummyWarpToEntranceCounter::
setvar VAR_TEMP_2, 1
trainerhill_getusingereader
- compare VAR_RESULT, TRUE @ VAR_RESULT always FALSE here
- goto_if_eq TrainerHill_1F_EventScript_WarpSilentToEntranceCounter
+ goto_if_eq VAR_RESULT, TRUE, TrainerHill_1F_EventScript_WarpSilentToEntranceCounter @ VAR_RESULT always FALSE here
end
@ Never reached
TrainerHill_1F_EventScript_WarpSilentToEntranceCounter::
- warpsilent MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6
+ warpsilent MAP_TRAINER_HILL_ENTRANCE, 9, 6
waitstate
end
@@ -53,7 +49,7 @@ TrainerHill_1F_EventScript_Lost::
TrainerHill_EventScript_WarpToEntranceCounter::
setvar VAR_TEMP_1, 0
- warp MAP_TRAINER_HILL_ENTRANCE, 255, 9, 6
+ warp MAP_TRAINER_HILL_ENTRANCE, 9, 6
waitstate
end
diff --git a/data/scripts/trainer_script.inc b/data/scripts/trainer_script.inc
index 2a2384c667..c0998aef8e 100644
--- a/data/scripts/trainer_script.inc
+++ b/data/scripts/trainer_script.inc
@@ -1,6 +1,6 @@
Std_RegisteredInMatchCall::
- buffertrainerclassname 0, VAR_0x8000
- buffertrainername 1, VAR_0x8000
+ buffertrainerclassname STR_VAR_1, VAR_0x8000
+ buffertrainername STR_VAR_2, VAR_0x8000
closemessage
delay 30
playfanfare MUS_REGISTER_MATCH_CALL
@@ -12,8 +12,7 @@ Std_RegisteredInMatchCall::
EventScript_TryGetTrainerScript::
special ShouldTryGetTrainerScript
- compare VAR_RESULT, 1
- goto_if_eq EventScript_GotoTrainerScript
+ goto_if_eq VAR_RESULT, TRUE, EventScript_GotoTrainerScript
releaseall
end
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index 14f3ade48d..a5a093226f 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -3,29 +3,23 @@ EventScript_TV::
incrementgamestat GAME_STAT_WATCHED_TV
special ResetTVShowState
specialvar VAR_RESULT, CheckForPlayersHouseNews
- compare VAR_RESULT, PLAYERS_HOUSE_TV_MOVIE
- goto_if_eq EventScript_PlayersHouseMovie
- compare VAR_RESULT, PLAYERS_HOUSE_TV_LATI
- goto_if_eq EventScript_PlayersHouseLatiNewsFlash
+ goto_if_eq VAR_RESULT, PLAYERS_HOUSE_TV_MOVIE, EventScript_PlayersHouseMovie
+ goto_if_eq VAR_RESULT, PLAYERS_HOUSE_TV_LATI, EventScript_PlayersHouseLatiNewsFlash
goto_if_unset FLAG_SYS_TV_START, EventScript_MomDadMightLikeThis1
goto_if_set FLAG_SYS_TV_WATCH, EventScript_MomDadMightLikeThis1
specialvar VAR_RESULT, IsGabbyAndTyShowOnTheAir
- compare VAR_RESULT, TRUE
- goto_if_eq EventScript_DoInSearchOfTrainers
+ goto_if_eq VAR_RESULT, TRUE, EventScript_DoInSearchOfTrainers
goto EventScript_TryDoPokeNews
end
EventScript_TryDoTVShow::
specialvar VAR_0x8004, GetRandomActiveShowIdx
- compare VAR_0x8004, 255
- goto_if_eq EventScript_MomDadMightLikeThis2
+ goto_if_eq VAR_0x8004, 255, EventScript_MomDadMightLikeThis2
specialvar VAR_RESULT, GetNextActiveShowIfMassOutbreak
- compare VAR_RESULT, 255
- goto_if_eq EventScript_MomDadMightLikeThis2
+ goto_if_eq VAR_RESULT, 255, EventScript_MomDadMightLikeThis2
copyvar VAR_0x8004, VAR_RESULT
specialvar VAR_RESULT, GetSelectedTVShow
- compare VAR_RESULT, 0
- goto_if_ne EventScript_DoTVShow
+ goto_if_ne VAR_RESULT, 0, EventScript_DoTVShow
end
EventScript_MomDadMightLikeThis1::
@@ -52,12 +46,13 @@ EventScript_PlayersHouseLatiNewsFlash::
releaseall
end
+@ The following is a loop for the TV show messages
+@ VAR_RESULT is set to TRUE when the show has printed its final message
EventScript_DoTVShow::
special DoTVShow
waitmessage
waitbuttonpress
- compare VAR_RESULT, 1
- goto_if_ne EventScript_DoTVShow
+ goto_if_ne VAR_RESULT, TRUE, EventScript_DoTVShow
goto EventScript_TurnOffTV
end
@@ -75,8 +70,7 @@ EventScript_MomDadMightLikeThis2::
EventScript_TryDoPokeNews::
special DoPokeNews
- compare VAR_RESULT, FALSE
- goto_if_eq EventScript_TryDoTVShow
+ goto_if_eq VAR_RESULT, FALSE, EventScript_TryDoTVShow
waitmessage
waitbuttonpress
goto EventScript_TurnOffTV
@@ -86,7 +80,6 @@ EventScript_DoInSearchOfTrainers::
special DoTVShowInSearchOfTrainers
waitmessage
waitbuttonpress
- compare VAR_RESULT, 0
- goto_if_eq EventScript_DoInSearchOfTrainers
+ goto_if_eq VAR_RESULT, 0, EventScript_DoInSearchOfTrainers
goto EventScript_TurnOffTV
end
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.png
index b5621be76e..1de3fe7c3d 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.png and b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/0.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/1.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/1.png
index 56a46ce92a..b9f80f08df 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/1.png and b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/1.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.png
index e51f5b5312..a03c965a87 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.png and b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/2.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.png
index 3ec6ff703c..5bdf19a359 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.png and b/data/tilesets/secondary/battle_frontier_outside_east/anim/flag/3.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.png
index b5621be76e..1de3fe7c3d 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.png and b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/0.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/1.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/1.png
index 56a46ce92a..b9f80f08df 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/1.png and b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/1.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.png
index e51f5b5312..a03c965a87 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.png and b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/2.png differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.png
index 3ec6ff703c..5bdf19a359 100644
Binary files a/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.png and b/data/tilesets/secondary/battle_frontier_outside_west/anim/flag/3.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/0.png b/data/tilesets/secondary/ever_grande/anim/flowers/0.png
index 6493e2e821..ae91986451 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/0.png and b/data/tilesets/secondary/ever_grande/anim/flowers/0.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/1.png b/data/tilesets/secondary/ever_grande/anim/flowers/1.png
index 6493e2e821..ae91986451 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/1.png and b/data/tilesets/secondary/ever_grande/anim/flowers/1.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/2.png b/data/tilesets/secondary/ever_grande/anim/flowers/2.png
index 0b1f568cbf..05b9796370 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/2.png and b/data/tilesets/secondary/ever_grande/anim/flowers/2.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/3.png b/data/tilesets/secondary/ever_grande/anim/flowers/3.png
index edc7220b8f..a4cea04e63 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/3.png and b/data/tilesets/secondary/ever_grande/anim/flowers/3.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/4.png b/data/tilesets/secondary/ever_grande/anim/flowers/4.png
index 6493e2e821..ae91986451 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/4.png and b/data/tilesets/secondary/ever_grande/anim/flowers/4.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/5.png b/data/tilesets/secondary/ever_grande/anim/flowers/5.png
index 6493e2e821..ae91986451 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/5.png and b/data/tilesets/secondary/ever_grande/anim/flowers/5.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/6.png b/data/tilesets/secondary/ever_grande/anim/flowers/6.png
index 4d43dfd0a9..c45b6188cf 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/6.png and b/data/tilesets/secondary/ever_grande/anim/flowers/6.png differ
diff --git a/data/tilesets/secondary/ever_grande/anim/flowers/7.png b/data/tilesets/secondary/ever_grande/anim/flowers/7.png
index 4d43dfd0a9..c45b6188cf 100644
Binary files a/data/tilesets/secondary/ever_grande/anim/flowers/7.png and b/data/tilesets/secondary/ever_grande/anim/flowers/7.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_1/0.png b/data/tilesets/secondary/mauville/anim/flower_1/0.png
index 263dba0700..d17b8ca906 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_1/0.png and b/data/tilesets/secondary/mauville/anim/flower_1/0.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_1/1.png b/data/tilesets/secondary/mauville/anim/flower_1/1.png
index 66179f13dd..2a30d57804 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_1/1.png and b/data/tilesets/secondary/mauville/anim/flower_1/1.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_1/2.png b/data/tilesets/secondary/mauville/anim/flower_1/2.png
index 63250e7b03..69cacfda67 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_1/2.png and b/data/tilesets/secondary/mauville/anim/flower_1/2.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_1/3.png b/data/tilesets/secondary/mauville/anim/flower_1/3.png
index b1015d370b..60cf30bb43 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_1/3.png and b/data/tilesets/secondary/mauville/anim/flower_1/3.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_1/4.png b/data/tilesets/secondary/mauville/anim/flower_1/4.png
index 1e8cb84afe..01162ac5c4 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_1/4.png and b/data/tilesets/secondary/mauville/anim/flower_1/4.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_2/0.png b/data/tilesets/secondary/mauville/anim/flower_2/0.png
index 263dba0700..be6b131cf3 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_2/0.png and b/data/tilesets/secondary/mauville/anim/flower_2/0.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_2/1.png b/data/tilesets/secondary/mauville/anim/flower_2/1.png
index 66179f13dd..715205f649 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_2/1.png and b/data/tilesets/secondary/mauville/anim/flower_2/1.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_2/2.png b/data/tilesets/secondary/mauville/anim/flower_2/2.png
index 63250e7b03..6a5ccf7309 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_2/2.png and b/data/tilesets/secondary/mauville/anim/flower_2/2.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_2/3.png b/data/tilesets/secondary/mauville/anim/flower_2/3.png
index b1015d370b..26a621fe13 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_2/3.png and b/data/tilesets/secondary/mauville/anim/flower_2/3.png differ
diff --git a/data/tilesets/secondary/mauville/anim/flower_2/4.png b/data/tilesets/secondary/mauville/anim/flower_2/4.png
index 1e8cb84afe..03603068ec 100644
Binary files a/data/tilesets/secondary/mauville/anim/flower_2/4.png and b/data/tilesets/secondary/mauville/anim/flower_2/4.png differ
diff --git a/gflib/bg.c b/gflib/bg.c
index c3a4be1d46..6e97be2073 100644
--- a/gflib/bg.c
+++ b/gflib/bg.c
@@ -776,75 +776,75 @@ void SetBgAffine(u8 bg, s32 srcCenterX, s32 srcCenterY, s16 dispCenterX, s16 dis
SetBgAffineInternal(bg, srcCenterX, srcCenterY, dispCenterX, dispCenterY, scaleX, scaleY, rotationAngle);
}
-u8 Unused_AdjustBgMosaic(u8 a1, u8 a2)
+u8 Unused_AdjustBgMosaic(u8 val, u8 mode)
{
- u16 result = GetGpuReg(REG_OFFSET_MOSAIC);
- s16 test1 = result & 0xF;
- s16 test2 = (result >> 4) & 0xF;
+ u16 mosaic = GetGpuReg(REG_OFFSET_MOSAIC);
+ s16 bgH = mosaic & 0xF;
+ s16 bgV = (mosaic >> 4) & 0xF;
- result &= 0xFF00;
+ mosaic &= 0xFF00; // clear background mosaic sizes
- switch (a2)
+ switch (mode)
{
- case 0:
+ case BG_MOSAIC_SET_HV:
default:
- test1 = a1 & 0xF;
- test2 = a1 >> 0x4;
+ bgH = val & 0xF;
+ bgV = val >> 0x4;
break;
- case 1:
- test1 = a1 & 0xF;
+ case BG_MOSAIC_SET_H:
+ bgH = val & 0xF;
break;
- case 2:
- if ((test1 + a1) > 0xF)
+ case BG_MOSAIC_ADD_H:
+ if ((bgH + val) > 0xF)
{
- test1 = 0xF;
+ bgH = 0xF;
}
else
{
- test1 += a1;
+ bgH += val;
}
break;
- case 3:
- if ((test1 - a1) < 0)
+ case BG_MOSAIC_SUB_H:
+ if ((bgH - val) < 0)
{
- test1 = 0x0;
+ bgH = 0x0;
}
else
{
- test1 -= a1;
+ bgH -= val;
}
break;
- case 4:
- test2 = a1 & 0xF;
+ case BG_MOSAIC_SET_V:
+ bgV = val & 0xF;
break;
- case 5:
- if ((test2 + a1) > 0xF)
+ case BG_MOSAIC_ADD_V:
+ if ((bgV + val) > 0xF)
{
- test2 = 0xF;
+ bgV = 0xF;
}
else
{
- test2 += a1;
+ bgV += val;
}
break;
- case 6:
- if ((test2 - a1) < 0)
+ case BG_MOSAIC_SUB_V:
+ if ((bgV - val) < 0)
{
- test2 = 0x0;
+ bgV = 0x0;
}
else
{
- test2 -= a1;
+ bgV -= val;
}
break;
}
- result |= ((test2 << 0x4) & 0xF0);
- result |= (test1 & 0xF);
+ mosaic |= ((bgV << 0x4) & 0xF0);
+ mosaic |= (bgH & 0xF);
- SetGpuReg(REG_OFFSET_MOSAIC, result);
+ SetGpuReg(REG_OFFSET_MOSAIC, mosaic);
- return result;
+ return mosaic;
}
void SetBgTilemapBuffer(u8 bg, void *tilemap)
@@ -1053,7 +1053,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
for (x16 = x; x16 < (x + width); x16++)
{
CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
- firstTileNum = (firstTileNum & (METATILE_COLLISION_MASK | METATILE_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & METATILE_ID_MASK);
+ firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK);
}
}
break;
@@ -1064,7 +1064,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
for (x16 = x; x16 < (x + width); x16++)
{
((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
- firstTileNum = (firstTileNum & (METATILE_COLLISION_MASK | METATILE_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & METATILE_ID_MASK);
+ firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK);
}
}
break;
diff --git a/gflib/bg.h b/gflib/bg.h
index 3a0bf3bf90..d8b5a54043 100644
--- a/gflib/bg.h
+++ b/gflib/bg.h
@@ -28,6 +28,17 @@ enum {
BG_COORD_SUB,
};
+// Modes for Unused_AdjustBgMosaic
+enum {
+ BG_MOSAIC_SET_HV,
+ BG_MOSAIC_SET_H,
+ BG_MOSAIC_ADD_H,
+ BG_MOSAIC_SUB_H,
+ BG_MOSAIC_SET_V,
+ BG_MOSAIC_ADD_V,
+ BG_MOSAIC_SUB_V,
+};
+
struct BgTemplate
{
u16 bg:2; // 0x1, 0x2 -> 0x3
diff --git a/gflib/malloc.c b/gflib/malloc.c
index 38fc8939e4..d0b9497635 100644
--- a/gflib/malloc.c
+++ b/gflib/malloc.c
@@ -2,7 +2,6 @@
static void *sHeapStart;
static u32 sHeapSize;
-static u32 sFiller; // needed to align dma3_manager.o(.bss)
#define MALLOC_SYSTEM_ID 0xA3A3
diff --git a/gflib/sprite.h b/gflib/sprite.h
index 595ecd7dbd..e53737981b 100644
--- a/gflib/sprite.h
+++ b/gflib/sprite.h
@@ -281,7 +281,6 @@ void FreeSpriteTiles(struct Sprite *sprite);
void FreeSpritePalette(struct Sprite *sprite);
void FreeSpriteOamMatrix(struct Sprite *sprite);
void DestroySpriteAndFreeResources(struct Sprite *sprite);
-void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5);
void AnimateSprite(struct Sprite *sprite);
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y);
void StartSpriteAnim(struct Sprite *sprite, u8 animNum);
diff --git a/gflib/string_util.c b/gflib/string_util.c
index 9463b4a7b4..bc6f976c71 100644
--- a/gflib/string_util.c
+++ b/gflib/string_util.c
@@ -25,10 +25,10 @@ static const s32 sPowersOfTen[] =
1000000000,
};
-u8 *StringCopy10(u8 *dest, const u8 *src)
+u8 *StringCopy_Nickname(u8 *dest, const u8 *src)
{
u8 i;
- u32 limit = 10;
+ u32 limit = POKEMON_NAME_LENGTH;
for (i = 0; i < limit; i++)
{
@@ -42,10 +42,10 @@ u8 *StringCopy10(u8 *dest, const u8 *src)
return &dest[i];
}
-u8 *StringGetEnd10(u8 *str)
+u8 *StringGet_Nickname(u8 *str)
{
u8 i;
- u32 limit = 10;
+ u32 limit = POKEMON_NAME_LENGTH;
for (i = 0; i < limit; i++)
if (str[i] == EOS)
@@ -55,10 +55,10 @@ u8 *StringGetEnd10(u8 *str)
return &str[i];
}
-u8 *StringCopy7(u8 *dest, const u8 *src)
+u8 *StringCopy_PlayerName(u8 *dest, const u8 *src)
{
s32 i;
- s32 limit = 7;
+ s32 limit = PLAYER_NAME_LENGTH;
for (i = 0; i < limit; i++)
{
diff --git a/gflib/string_util.h b/gflib/string_util.h
index 7f3b64add8..0a8a99fb98 100644
--- a/gflib/string_util.h
+++ b/gflib/string_util.h
@@ -13,9 +13,9 @@ enum StringConvertMode
STR_CONV_MODE_LEADING_ZEROS
};
-u8 *StringCopy10(u8 *dest, const u8 *src);
-u8 *StringGetEnd10(u8 *str);
-u8 *StringCopy7(u8 *dest, const u8 *src);
+u8 *StringCopy_Nickname(u8 *dest, const u8 *src);
+u8 *StringGet_Nickname(u8 *str);
+u8 *StringCopy_PlayerName(u8 *dest, const u8 *src);
u8 *StringCopy(u8 *dest, const u8 *src);
u8 *StringAppend(u8 *dest, const u8 *src);
u8 *StringCopyN(u8 *dest, const u8 *src, u8 n);
diff --git a/graphics/misc/bag.pal b/graphics/bag/bag.pal
similarity index 100%
rename from graphics/misc/bag.pal
rename to graphics/bag/bag.pal
diff --git a/graphics/misc/bag_female.png b/graphics/bag/bag_female.png
similarity index 100%
rename from graphics/misc/bag_female.png
rename to graphics/bag/bag_female.png
diff --git a/graphics/misc/bag_male.png b/graphics/bag/bag_male.png
similarity index 100%
rename from graphics/misc/bag_male.png
rename to graphics/bag/bag_male.png
diff --git a/graphics/interface/bag_pyramid.pal b/graphics/bag/bag_pyramid.pal
similarity index 100%
rename from graphics/interface/bag_pyramid.pal
rename to graphics/bag/bag_pyramid.pal
diff --git a/graphics/interface/bag_pyramid.png b/graphics/bag/bag_pyramid.png
similarity index 100%
rename from graphics/interface/bag_pyramid.png
rename to graphics/bag/bag_pyramid.png
diff --git a/graphics/interface/berry_tag.bin b/graphics/bag/berry_tag.bin
similarity index 100%
rename from graphics/interface/berry_tag.bin
rename to graphics/bag/berry_tag.bin
diff --git a/graphics/interface/berry_tag_screen.pal b/graphics/bag/berry_tag_screen.pal
similarity index 100%
rename from graphics/interface/berry_tag_screen.pal
rename to graphics/bag/berry_tag_screen.pal
diff --git a/graphics/interface/berry_tag_title.bin b/graphics/bag/berry_tag_title.bin
similarity index 100%
rename from graphics/interface/berry_tag_title.bin
rename to graphics/bag/berry_tag_title.bin
diff --git a/graphics/interface/check_berry.pal b/graphics/bag/check_berry.pal
similarity index 100%
rename from graphics/interface/check_berry.pal
rename to graphics/bag/check_berry.pal
diff --git a/graphics/interface/check_berry.png b/graphics/bag/check_berry.png
similarity index 100%
rename from graphics/interface/check_berry.png
rename to graphics/bag/check_berry.png
diff --git a/graphics/interface/check_berry_circle.png b/graphics/bag/check_berry_circle.png
similarity index 100%
rename from graphics/interface/check_berry_circle.png
rename to graphics/bag/check_berry_circle.png
diff --git a/graphics/interface/hm.png b/graphics/bag/hm.png
similarity index 100%
rename from graphics/interface/hm.png
rename to graphics/bag/hm.png
diff --git a/graphics/interface/bag_screen_tilemap.bin b/graphics/bag/menu.bin
similarity index 100%
rename from graphics/interface/bag_screen_tilemap.bin
rename to graphics/bag/menu.bin
diff --git a/graphics/interface/bag_screen.png b/graphics/bag/menu.png
similarity index 100%
rename from graphics/interface/bag_screen.png
rename to graphics/bag/menu.png
diff --git a/graphics/interface/bag_screen_female.pal b/graphics/bag/menu_female.pal
similarity index 100%
rename from graphics/interface/bag_screen_female.pal
rename to graphics/bag/menu_female.pal
diff --git a/graphics/interface/bag_screen_male.pal b/graphics/bag/menu_male.pal
similarity index 100%
rename from graphics/interface/bag_screen_male.pal
rename to graphics/bag/menu_male.pal
diff --git a/graphics/interface/bag_pyramid_tilemap.bin b/graphics/bag/menu_pyramid.bin
similarity index 100%
rename from graphics/interface/bag_pyramid_tilemap.bin
rename to graphics/bag/menu_pyramid.bin
diff --git a/graphics/interface/bag_pyramid_interface.pal b/graphics/bag/menu_pyramid.pal
similarity index 100%
rename from graphics/interface/bag_pyramid_interface.pal
rename to graphics/bag/menu_pyramid.pal
diff --git a/graphics/interface/bag_spinner.png b/graphics/bag/rotating_ball.png
similarity index 100%
rename from graphics/interface/bag_spinner.png
rename to graphics/bag/rotating_ball.png
diff --git a/graphics/interface/select_button.png b/graphics/bag/select_button.png
similarity index 100%
rename from graphics/interface/select_button.png
rename to graphics/bag/select_button.png
diff --git a/graphics/interface/ball/dive.png b/graphics/balls/dive.png
similarity index 100%
rename from graphics/interface/ball/dive.png
rename to graphics/balls/dive.png
diff --git a/graphics/interface/ball/great.png b/graphics/balls/great.png
similarity index 100%
rename from graphics/interface/ball/great.png
rename to graphics/balls/great.png
diff --git a/graphics/interface/ball/luxury.png b/graphics/balls/luxury.png
similarity index 100%
rename from graphics/interface/ball/luxury.png
rename to graphics/balls/luxury.png
diff --git a/graphics/interface/ball/master.png b/graphics/balls/master.png
similarity index 100%
rename from graphics/interface/ball/master.png
rename to graphics/balls/master.png
diff --git a/graphics/interface/ball/nest.png b/graphics/balls/nest.png
similarity index 100%
rename from graphics/interface/ball/nest.png
rename to graphics/balls/nest.png
diff --git a/graphics/interface/ball/net.png b/graphics/balls/net.png
similarity index 100%
rename from graphics/interface/ball/net.png
rename to graphics/balls/net.png
diff --git a/graphics/interface/ball_open.png b/graphics/balls/open.png
similarity index 100%
rename from graphics/interface/ball_open.png
rename to graphics/balls/open.png
diff --git a/graphics/interface/ball/poke.png b/graphics/balls/poke.png
similarity index 100%
rename from graphics/interface/ball/poke.png
rename to graphics/balls/poke.png
diff --git a/graphics/interface/ball/premier.png b/graphics/balls/premier.png
similarity index 100%
rename from graphics/interface/ball/premier.png
rename to graphics/balls/premier.png
diff --git a/graphics/interface/ball/repeat.png b/graphics/balls/repeat.png
similarity index 100%
rename from graphics/interface/ball/repeat.png
rename to graphics/balls/repeat.png
diff --git a/graphics/interface/ball/safari.png b/graphics/balls/safari.png
similarity index 100%
rename from graphics/interface/ball/safari.png
rename to graphics/balls/safari.png
diff --git a/graphics/interface/ball/timer.png b/graphics/balls/timer.png
similarity index 100%
rename from graphics/interface/ball/timer.png
rename to graphics/balls/timer.png
diff --git a/graphics/interface/ball/ultra.png b/graphics/balls/ultra.png
similarity index 100%
rename from graphics/interface/ball/ultra.png
rename to graphics/balls/ultra.png
diff --git a/graphics/battle_frontier/tourney_line_mask_map.bin b/graphics/battle_frontier/tourney_tree.bin
similarity index 100%
rename from graphics/battle_frontier/tourney_line_mask_map.bin
rename to graphics/battle_frontier/tourney_tree.bin
diff --git a/graphics/battle_frontier/tourney_bg.png b/graphics/battle_frontier/tourney_tree.png
similarity index 100%
rename from graphics/battle_frontier/tourney_bg.png
rename to graphics/battle_frontier/tourney_tree.png
diff --git a/graphics/interface/hpbar_anim.png b/graphics/battle_interface/hpbar_anim_unused.png
similarity index 100%
rename from graphics/interface/hpbar_anim.png
rename to graphics/battle_interface/hpbar_anim_unused.png
diff --git a/graphics/interface/party_menu_hpbar.png b/graphics/battle_interface/hpbar_unused.png
similarity index 100%
rename from graphics/interface/party_menu_hpbar.png
rename to graphics/battle_interface/hpbar_unused.png
diff --git a/graphics/interface/numbers1.png b/graphics/battle_interface/numbers1.png
similarity index 100%
rename from graphics/interface/numbers1.png
rename to graphics/battle_interface/numbers1.png
diff --git a/graphics/interface/numbers2.png b/graphics/battle_interface/numbers2.png
similarity index 100%
rename from graphics/interface/numbers2.png
rename to graphics/battle_interface/numbers2.png
diff --git a/graphics/battle_frontier/text_pp.pal b/graphics/battle_interface/text_pp.pal
similarity index 100%
rename from graphics/battle_frontier/text_pp.pal
rename to graphics/battle_interface/text_pp.pal
diff --git a/graphics/berry_crush/crusher.bin b/graphics/berry_crush/text_windows.bin
similarity index 100%
rename from graphics/berry_crush/crusher.bin
rename to graphics/berry_crush/text_windows.bin
diff --git a/graphics/unused/intro_birch_beauty.png b/graphics/birch_speech/unused_beauty.png
similarity index 100%
rename from graphics/unused/intro_birch_beauty.png
rename to graphics/birch_speech/unused_beauty.png
diff --git a/graphics/misc/cave_transition_black.pal b/graphics/cave_transition/black.pal
similarity index 100%
rename from graphics/misc/cave_transition_black.pal
rename to graphics/cave_transition/black.pal
diff --git a/graphics/misc/cave_transition_enter.pal b/graphics/cave_transition/enter.pal
similarity index 100%
rename from graphics/misc/cave_transition_enter.pal
rename to graphics/cave_transition/enter.pal
diff --git a/graphics/misc/cave_transition_exit.pal b/graphics/cave_transition/exit.pal
similarity index 100%
rename from graphics/misc/cave_transition_exit.pal
rename to graphics/cave_transition/exit.pal
diff --git a/graphics/misc/cave_transition_map.bin b/graphics/cave_transition/tilemap.bin
similarity index 100%
rename from graphics/misc/cave_transition_map.bin
rename to graphics/cave_transition/tilemap.bin
diff --git a/graphics/misc/cave_transition.png b/graphics/cave_transition/tiles.png
similarity index 100%
rename from graphics/misc/cave_transition.png
rename to graphics/cave_transition/tiles.png
diff --git a/graphics/misc/cave_transition_white.pal b/graphics/cave_transition/white.pal
similarity index 100%
rename from graphics/misc/cave_transition_white.pal
rename to graphics/cave_transition/white.pal
diff --git a/graphics/contest/unused_tilemap_2.bin b/graphics/contest/japanese/audience.bin
similarity index 100%
rename from graphics/contest/unused_tilemap_2.bin
rename to graphics/contest/japanese/audience.bin
diff --git a/graphics/contest/japanese/tilemap_1.bin b/graphics/contest/japanese/bg.bin
similarity index 100%
rename from graphics/contest/japanese/tilemap_1.bin
rename to graphics/contest/japanese/bg.bin
diff --git a/graphics/contest/unused_tilemap_1.bin b/graphics/contest/japanese/interface.bin
similarity index 100%
rename from graphics/contest/unused_tilemap_1.bin
rename to graphics/contest/japanese/interface.bin
diff --git a/graphics/contest/japanese/tilemap_2.bin b/graphics/contest/japanese/windows.bin
similarity index 100%
rename from graphics/contest/japanese/tilemap_2.bin
rename to graphics/contest/japanese/windows.bin
diff --git a/graphics/misc/decoration_putting_away_cursor.png b/graphics/decorations/put_away_cursor.png
similarity index 100%
rename from graphics/misc/decoration_putting_away_cursor.png
rename to graphics/decorations/put_away_cursor.png
diff --git a/graphics/misc/diploma_hoenn.pal b/graphics/diploma/hoenn.pal
similarity index 100%
rename from graphics/misc/diploma_hoenn.pal
rename to graphics/diploma/hoenn.pal
diff --git a/graphics/misc/diploma_national.pal b/graphics/diploma/national.pal
similarity index 100%
rename from graphics/misc/diploma_national.pal
rename to graphics/diploma/national.pal
diff --git a/graphics/misc/diploma_map.bin b/graphics/diploma/tilemap.bin
similarity index 100%
rename from graphics/misc/diploma_map.bin
rename to graphics/diploma/tilemap.bin
diff --git a/graphics/misc/diploma.png b/graphics/diploma/tiles.png
similarity index 100%
rename from graphics/misc/diploma.png
rename to graphics/diploma/tiles.png
diff --git a/graphics/misc/deoxys1.pal b/graphics/field_effects/palettes/deoxys_rock_1.pal
similarity index 100%
rename from graphics/misc/deoxys1.pal
rename to graphics/field_effects/palettes/deoxys_rock_1.pal
diff --git a/graphics/misc/deoxys10.pal b/graphics/field_effects/palettes/deoxys_rock_10.pal
similarity index 100%
rename from graphics/misc/deoxys10.pal
rename to graphics/field_effects/palettes/deoxys_rock_10.pal
diff --git a/graphics/misc/deoxys11.pal b/graphics/field_effects/palettes/deoxys_rock_11.pal
similarity index 100%
rename from graphics/misc/deoxys11.pal
rename to graphics/field_effects/palettes/deoxys_rock_11.pal
diff --git a/graphics/misc/deoxys2.pal b/graphics/field_effects/palettes/deoxys_rock_2.pal
similarity index 100%
rename from graphics/misc/deoxys2.pal
rename to graphics/field_effects/palettes/deoxys_rock_2.pal
diff --git a/graphics/misc/deoxys3.pal b/graphics/field_effects/palettes/deoxys_rock_3.pal
similarity index 100%
rename from graphics/misc/deoxys3.pal
rename to graphics/field_effects/palettes/deoxys_rock_3.pal
diff --git a/graphics/misc/deoxys4.pal b/graphics/field_effects/palettes/deoxys_rock_4.pal
similarity index 100%
rename from graphics/misc/deoxys4.pal
rename to graphics/field_effects/palettes/deoxys_rock_4.pal
diff --git a/graphics/misc/deoxys5.pal b/graphics/field_effects/palettes/deoxys_rock_5.pal
similarity index 100%
rename from graphics/misc/deoxys5.pal
rename to graphics/field_effects/palettes/deoxys_rock_5.pal
diff --git a/graphics/misc/deoxys6.pal b/graphics/field_effects/palettes/deoxys_rock_6.pal
similarity index 100%
rename from graphics/misc/deoxys6.pal
rename to graphics/field_effects/palettes/deoxys_rock_6.pal
diff --git a/graphics/misc/deoxys7.pal b/graphics/field_effects/palettes/deoxys_rock_7.pal
similarity index 100%
rename from graphics/misc/deoxys7.pal
rename to graphics/field_effects/palettes/deoxys_rock_7.pal
diff --git a/graphics/misc/deoxys8.pal b/graphics/field_effects/palettes/deoxys_rock_8.pal
similarity index 100%
rename from graphics/misc/deoxys8.pal
rename to graphics/field_effects/palettes/deoxys_rock_8.pal
diff --git a/graphics/misc/deoxys9.pal b/graphics/field_effects/palettes/deoxys_rock_9.pal
similarity index 100%
rename from graphics/misc/deoxys9.pal
rename to graphics/field_effects/palettes/deoxys_rock_9.pal
diff --git a/graphics/field_effects/pics/deoxys_rock_fragment_bottom_left.png b/graphics/field_effects/pics/deoxys_rock_fragment_bottom_left.png
new file mode 100644
index 0000000000..bc4f27a40d
Binary files /dev/null and b/graphics/field_effects/pics/deoxys_rock_fragment_bottom_left.png differ
diff --git a/graphics/field_effects/pics/deoxys_rock_fragment_bottom_right.png b/graphics/field_effects/pics/deoxys_rock_fragment_bottom_right.png
new file mode 100644
index 0000000000..48cd43d973
Binary files /dev/null and b/graphics/field_effects/pics/deoxys_rock_fragment_bottom_right.png differ
diff --git a/graphics/field_effects/pics/deoxys_rock_fragment_top_left.png b/graphics/field_effects/pics/deoxys_rock_fragment_top_left.png
new file mode 100644
index 0000000000..f0eb9c0cb9
Binary files /dev/null and b/graphics/field_effects/pics/deoxys_rock_fragment_top_left.png differ
diff --git a/graphics/field_effects/pics/deoxys_rock_fragment_top_right.png b/graphics/field_effects/pics/deoxys_rock_fragment_top_right.png
new file mode 100644
index 0000000000..1fac486c90
Binary files /dev/null and b/graphics/field_effects/pics/deoxys_rock_fragment_top_right.png differ
diff --git a/graphics/field_effects/pics/emotion_exclamation.png b/graphics/field_effects/pics/emotion_exclamation.png
new file mode 100644
index 0000000000..798b830923
Binary files /dev/null and b/graphics/field_effects/pics/emotion_exclamation.png differ
diff --git a/graphics/field_effects/pics/emotion_heart.png b/graphics/field_effects/pics/emotion_heart.png
new file mode 100644
index 0000000000..783a1e3bd6
Binary files /dev/null and b/graphics/field_effects/pics/emotion_heart.png differ
diff --git a/graphics/field_effects/pics/emotion_question.png b/graphics/field_effects/pics/emotion_question.png
new file mode 100644
index 0000000000..4907f14b7f
Binary files /dev/null and b/graphics/field_effects/pics/emotion_question.png differ
diff --git a/graphics/misc/field_move_streaks_map.bin b/graphics/field_effects/pics/field_move_streaks.bin
similarity index 100%
rename from graphics/misc/field_move_streaks_map.bin
rename to graphics/field_effects/pics/field_move_streaks.bin
diff --git a/graphics/misc/field_move_streaks.png b/graphics/field_effects/pics/field_move_streaks.png
similarity index 100%
rename from graphics/misc/field_move_streaks.png
rename to graphics/field_effects/pics/field_move_streaks.png
diff --git a/graphics/misc/darkness_field_move_streaks_map.bin b/graphics/field_effects/pics/field_move_streaks_indoors.bin
similarity index 100%
rename from graphics/misc/darkness_field_move_streaks_map.bin
rename to graphics/field_effects/pics/field_move_streaks_indoors.bin
diff --git a/graphics/misc/darkness_field_move_streaks.png b/graphics/field_effects/pics/field_move_streaks_indoors.png
similarity index 100%
rename from graphics/misc/darkness_field_move_streaks.png
rename to graphics/field_effects/pics/field_move_streaks_indoors.png
diff --git a/graphics/field_effects/pics/hof_monitor_big.png b/graphics/field_effects/pics/hof_monitor_big.png
new file mode 100644
index 0000000000..c70046ad71
Binary files /dev/null and b/graphics/field_effects/pics/hof_monitor_big.png differ
diff --git a/graphics/field_effects/pics/hof_monitor_small.png b/graphics/field_effects/pics/hof_monitor_small.png
new file mode 100644
index 0000000000..368bbfce42
Binary files /dev/null and b/graphics/field_effects/pics/hof_monitor_small.png differ
diff --git a/graphics/field_effects/pics/unknown_16.png b/graphics/field_effects/pics/jump_long_grass.png
similarity index 100%
rename from graphics/field_effects/pics/unknown_16.png
rename to graphics/field_effects/pics/jump_long_grass.png
diff --git a/graphics/field_effects/pics/pokeball_glow.png b/graphics/field_effects/pics/pokeball_glow.png
new file mode 100644
index 0000000000..6e074afc3f
Binary files /dev/null and b/graphics/field_effects/pics/pokeball_glow.png differ
diff --git a/graphics/misc/pokecenter_monitor/0.png b/graphics/field_effects/pics/pokecenter_monitor/0.png
similarity index 100%
rename from graphics/misc/pokecenter_monitor/0.png
rename to graphics/field_effects/pics/pokecenter_monitor/0.png
diff --git a/graphics/misc/pokecenter_monitor/1.png b/graphics/field_effects/pics/pokecenter_monitor/1.png
similarity index 100%
rename from graphics/misc/pokecenter_monitor/1.png
rename to graphics/field_effects/pics/pokecenter_monitor/1.png
diff --git a/graphics/misc/spotlight.png b/graphics/field_effects/pics/spotlight.png
similarity index 100%
rename from graphics/misc/spotlight.png
rename to graphics/field_effects/pics/spotlight.png
diff --git a/graphics/frontier_pass/unused.bin b/graphics/frontier_pass/card_ball_filled.bin
similarity index 100%
rename from graphics/frontier_pass/unused.bin
rename to graphics/frontier_pass/card_ball_filled.bin
diff --git a/graphics/misc/main_menu_bg.pal b/graphics/interface/main_menu_bg.pal
similarity index 100%
rename from graphics/misc/main_menu_bg.pal
rename to graphics/interface/main_menu_bg.pal
diff --git a/graphics/misc/main_menu_text.pal b/graphics/interface/main_menu_text.pal
similarity index 100%
rename from graphics/misc/main_menu_text.pal
rename to graphics/interface/main_menu_text.pal
diff --git a/graphics/misc/mon_markings.png b/graphics/interface/mon_markings.png
similarity index 100%
rename from graphics/misc/mon_markings.png
rename to graphics/interface/mon_markings.png
diff --git a/graphics/misc/mon_markings_menu.png b/graphics/interface/mon_markings_menu.png
similarity index 100%
rename from graphics/misc/mon_markings_menu.png
rename to graphics/interface/mon_markings_menu.png
diff --git a/graphics/misc/option_menu_equals_sign.png b/graphics/interface/option_menu_equals_sign.png
similarity index 100%
rename from graphics/misc/option_menu_equals_sign.png
rename to graphics/interface/option_menu_equals_sign.png
diff --git a/graphics/misc/option_menu_text.pal b/graphics/interface/option_menu_text.pal
similarity index 100%
rename from graphics/misc/option_menu_text.pal
rename to graphics/interface/option_menu_text.pal
diff --git a/graphics/interface/bag_swap.png b/graphics/interface/swap_line.png
similarity index 100%
rename from graphics/interface/bag_swap.png
rename to graphics/interface/swap_line.png
diff --git a/graphics/minigame_countdown/321start.png b/graphics/link/321start.png
similarity index 100%
rename from graphics/minigame_countdown/321start.png
rename to graphics/link/321start.png
diff --git a/graphics/minigame_countdown/321start_static.png b/graphics/link/321start_static.png
similarity index 100%
rename from graphics/minigame_countdown/321start_static.png
rename to graphics/link/321start_static.png
diff --git a/graphics/interface/comm_error_bg.png b/graphics/link/comm_error_bg.png
similarity index 100%
rename from graphics/interface/comm_error_bg.png
rename to graphics/link/comm_error_bg.png
diff --git a/graphics/interface/link_test_digits.png b/graphics/link/test_digits.png
similarity index 100%
rename from graphics/interface/link_test_digits.png
rename to graphics/link/test_digits.png
diff --git a/graphics/interface/wireless_link_display.bin b/graphics/link/wireless_display.bin
similarity index 100%
rename from graphics/interface/wireless_link_display.bin
rename to graphics/link/wireless_display.bin
diff --git a/graphics/interface/wireless_link_display.png b/graphics/link/wireless_display.png
similarity index 100%
rename from graphics/interface/wireless_link_display.png
rename to graphics/link/wireless_display.png
diff --git a/graphics/interface/wireless_link_icon.png b/graphics/link/wireless_icon.png
similarity index 100%
rename from graphics/interface/wireless_link_icon.png
rename to graphics/link/wireless_icon.png
diff --git a/graphics/interface/wireless_info_screen.bin b/graphics/link/wireless_info_screen.bin
similarity index 100%
rename from graphics/interface/wireless_info_screen.bin
rename to graphics/link/wireless_info_screen.bin
diff --git a/graphics/interface/wireless_info_screen.pal b/graphics/link/wireless_info_screen.pal
similarity index 100%
rename from graphics/interface/wireless_info_screen.pal
rename to graphics/link/wireless_info_screen.pal
diff --git a/graphics/interface/wireless_info_screen.png b/graphics/link/wireless_info_screen.png
similarity index 100%
rename from graphics/interface/wireless_info_screen.png
rename to graphics/link/wireless_info_screen.png
diff --git a/graphics/interface/map_popup/brick.png b/graphics/map_popup/brick.png
similarity index 100%
rename from graphics/interface/map_popup/brick.png
rename to graphics/map_popup/brick.png
diff --git a/graphics/interface/map_popup/brick_outline.png b/graphics/map_popup/brick_outline.png
similarity index 100%
rename from graphics/interface/map_popup/brick_outline.png
rename to graphics/map_popup/brick_outline.png
diff --git a/graphics/interface/map_popup/marble.png b/graphics/map_popup/marble.png
similarity index 100%
rename from graphics/interface/map_popup/marble.png
rename to graphics/map_popup/marble.png
diff --git a/graphics/interface/map_popup/marble_outline.png b/graphics/map_popup/marble_outline.png
similarity index 100%
rename from graphics/interface/map_popup/marble_outline.png
rename to graphics/map_popup/marble_outline.png
diff --git a/graphics/interface/map_popup/stone.png b/graphics/map_popup/stone.png
similarity index 100%
rename from graphics/interface/map_popup/stone.png
rename to graphics/map_popup/stone.png
diff --git a/graphics/interface/map_popup/stone2.png b/graphics/map_popup/stone2.png
similarity index 100%
rename from graphics/interface/map_popup/stone2.png
rename to graphics/map_popup/stone2.png
diff --git a/graphics/interface/map_popup/stone2_outline.png b/graphics/map_popup/stone2_outline.png
similarity index 100%
rename from graphics/interface/map_popup/stone2_outline.png
rename to graphics/map_popup/stone2_outline.png
diff --git a/graphics/interface/map_popup/stone_outline.png b/graphics/map_popup/stone_outline.png
similarity index 100%
rename from graphics/interface/map_popup/stone_outline.png
rename to graphics/map_popup/stone_outline.png
diff --git a/graphics/interface/map_popup/underwater.pal b/graphics/map_popup/underwater.pal
similarity index 100%
rename from graphics/interface/map_popup/underwater.pal
rename to graphics/map_popup/underwater.pal
diff --git a/graphics/interface/map_popup/underwater.png b/graphics/map_popup/underwater.png
similarity index 100%
rename from graphics/interface/map_popup/underwater.png
rename to graphics/map_popup/underwater.png
diff --git a/graphics/interface/map_popup/underwater_outline.png b/graphics/map_popup/underwater_outline.png
similarity index 100%
rename from graphics/interface/map_popup/underwater_outline.png
rename to graphics/map_popup/underwater_outline.png
diff --git a/graphics/interface/map_popup/wood.png b/graphics/map_popup/wood.png
similarity index 100%
rename from graphics/interface/map_popup/wood.png
rename to graphics/map_popup/wood.png
diff --git a/graphics/interface/map_popup/wood_outline.png b/graphics/map_popup/wood_outline.png
similarity index 100%
rename from graphics/interface/map_popup/wood_outline.png
rename to graphics/map_popup/wood_outline.png
diff --git a/graphics/misc/deoxys_rock_fragment_bottom_left.png b/graphics/misc/deoxys_rock_fragment_bottom_left.png
deleted file mode 100644
index 3f5b8d5c39..0000000000
Binary files a/graphics/misc/deoxys_rock_fragment_bottom_left.png and /dev/null differ
diff --git a/graphics/misc/deoxys_rock_fragment_bottom_right.png b/graphics/misc/deoxys_rock_fragment_bottom_right.png
deleted file mode 100644
index 7684451e49..0000000000
Binary files a/graphics/misc/deoxys_rock_fragment_bottom_right.png and /dev/null differ
diff --git a/graphics/misc/deoxys_rock_fragment_top_left.png b/graphics/misc/deoxys_rock_fragment_top_left.png
deleted file mode 100644
index d601cb6e54..0000000000
Binary files a/graphics/misc/deoxys_rock_fragment_top_left.png and /dev/null differ
diff --git a/graphics/misc/deoxys_rock_fragment_top_right.png b/graphics/misc/deoxys_rock_fragment_top_right.png
deleted file mode 100644
index 01f10cd07b..0000000000
Binary files a/graphics/misc/deoxys_rock_fragment_top_right.png and /dev/null differ
diff --git a/graphics/misc/emotion_exclamation.png b/graphics/misc/emotion_exclamation.png
deleted file mode 100644
index 595566d2fe..0000000000
Binary files a/graphics/misc/emotion_exclamation.png and /dev/null differ
diff --git a/graphics/misc/emotion_heart.png b/graphics/misc/emotion_heart.png
deleted file mode 100644
index 9995984b4c..0000000000
Binary files a/graphics/misc/emotion_heart.png and /dev/null differ
diff --git a/graphics/misc/emotion_question.png b/graphics/misc/emotion_question.png
deleted file mode 100644
index 7376fd058e..0000000000
Binary files a/graphics/misc/emotion_question.png and /dev/null differ
diff --git a/graphics/misc/hof_monitor_big.png b/graphics/misc/hof_monitor_big.png
deleted file mode 100644
index 510e6a232d..0000000000
Binary files a/graphics/misc/hof_monitor_big.png and /dev/null differ
diff --git a/graphics/misc/hof_monitor_small.png b/graphics/misc/hof_monitor_small.png
deleted file mode 100644
index dcff330952..0000000000
Binary files a/graphics/misc/hof_monitor_small.png and /dev/null differ
diff --git a/graphics/misc/pokeball_glow.png b/graphics/misc/pokeball_glow.png
deleted file mode 100644
index 1c1133b769..0000000000
Binary files a/graphics/misc/pokeball_glow.png and /dev/null differ
diff --git a/graphics/interface/party_menu_bg.bin b/graphics/party_menu/bg.bin
similarity index 100%
rename from graphics/interface/party_menu_bg.bin
rename to graphics/party_menu/bg.bin
diff --git a/graphics/interface/party_menu_bg.pal b/graphics/party_menu/bg.pal
similarity index 100%
rename from graphics/interface/party_menu_bg.pal
rename to graphics/party_menu/bg.pal
diff --git a/graphics/interface/party_menu_bg.png b/graphics/party_menu/bg.png
similarity index 100%
rename from graphics/interface/party_menu_bg.png
rename to graphics/party_menu/bg.png
diff --git a/graphics/interface/party_menu_cancel_button.bin b/graphics/party_menu/cancel_button.bin
similarity index 100%
rename from graphics/interface/party_menu_cancel_button.bin
rename to graphics/party_menu/cancel_button.bin
diff --git a/graphics/interface/party_menu_confirm_button.bin b/graphics/party_menu/confirm_button.bin
similarity index 100%
rename from graphics/interface/party_menu_confirm_button.bin
rename to graphics/party_menu/confirm_button.bin
diff --git a/graphics/interface/hold_icons.png b/graphics/party_menu/hold_icons.png
similarity index 100%
rename from graphics/interface/hold_icons.png
rename to graphics/party_menu/hold_icons.png
diff --git a/graphics/interface/party_menu_pokeball.png b/graphics/party_menu/pokeball.png
similarity index 100%
rename from graphics/interface/party_menu_pokeball.png
rename to graphics/party_menu/pokeball.png
diff --git a/graphics/interface/party_menu_pokeball_small.png b/graphics/party_menu/pokeball_small.png
similarity index 100%
rename from graphics/interface/party_menu_pokeball_small.png
rename to graphics/party_menu/pokeball_small.png
diff --git a/graphics/party_menu/slot_main.bin b/graphics/party_menu/slot_main.bin
new file mode 100755
index 0000000000..2f3e729f6d
Binary files /dev/null and b/graphics/party_menu/slot_main.bin differ
diff --git a/graphics/party_menu/slot_main_no_hp.bin b/graphics/party_menu/slot_main_no_hp.bin
new file mode 100755
index 0000000000..653ad1a64b
Binary files /dev/null and b/graphics/party_menu/slot_main_no_hp.bin differ
diff --git a/graphics/party_menu/slot_wide.bin b/graphics/party_menu/slot_wide.bin
new file mode 100755
index 0000000000..c88b73bf78
Binary files /dev/null and b/graphics/party_menu/slot_wide.bin differ
diff --git a/graphics/party_menu/slot_wide_empty.bin b/graphics/party_menu/slot_wide_empty.bin
new file mode 100755
index 0000000000..3592178b3f
Binary files /dev/null and b/graphics/party_menu/slot_wide_empty.bin differ
diff --git a/graphics/party_menu/slot_wide_no_hp.bin b/graphics/party_menu/slot_wide_no_hp.bin
new file mode 100755
index 0000000000..8f662da0ae
Binary files /dev/null and b/graphics/party_menu/slot_wide_no_hp.bin differ
diff --git a/graphics/interface/pokeblock_device.png b/graphics/pokeblock/device.png
similarity index 100%
rename from graphics/interface/pokeblock_device.png
rename to graphics/pokeblock/device.png
diff --git a/graphics/interface/pokeblock_feeding_bg_map.bin b/graphics/pokeblock/feeding_bg.bin
similarity index 100%
rename from graphics/interface/pokeblock_feeding_bg_map.bin
rename to graphics/pokeblock/feeding_bg.bin
diff --git a/graphics/interface/pokeblock.bin b/graphics/pokeblock/menu.bin
similarity index 100%
rename from graphics/interface/pokeblock.bin
rename to graphics/pokeblock/menu.bin
diff --git a/graphics/interface/pokeblock_case_frame.pal b/graphics/pokeblock/menu.pal
similarity index 100%
rename from graphics/interface/pokeblock_case_frame.pal
rename to graphics/pokeblock/menu.pal
diff --git a/graphics/interface/pokeblock_case_frame.png b/graphics/pokeblock/menu.png
similarity index 100%
rename from graphics/interface/pokeblock_case_frame.png
rename to graphics/pokeblock/menu.png
diff --git a/graphics/interface/region_map.bin b/graphics/pokedex/region_map.bin
similarity index 100%
rename from graphics/interface/region_map.bin
rename to graphics/pokedex/region_map.bin
diff --git a/graphics/interface/region_map.pal b/graphics/pokedex/region_map.pal
similarity index 100%
rename from graphics/interface/region_map.pal
rename to graphics/pokedex/region_map.pal
diff --git a/graphics/interface/region_map.png b/graphics/pokedex/region_map.png
similarity index 100%
rename from graphics/interface/region_map.png
rename to graphics/pokedex/region_map.png
diff --git a/graphics/interface/region_map_affine.bin b/graphics/pokedex/region_map_affine.bin
similarity index 100%
rename from graphics/interface/region_map_affine.bin
rename to graphics/pokedex/region_map_affine.bin
diff --git a/graphics/interface/region_map_affine.png b/graphics/pokedex/region_map_affine.png
similarity index 100%
rename from graphics/interface/region_map_affine.png
rename to graphics/pokedex/region_map_affine.png
diff --git a/graphics/misc/egg_hatch.png b/graphics/pokemon/egg/hatch.png
similarity index 100%
rename from graphics/misc/egg_hatch.png
rename to graphics/pokemon/egg/hatch.png
diff --git a/graphics/misc/egg_shard.png b/graphics/pokemon/egg/shard.png
similarity index 100%
rename from graphics/misc/egg_shard.png
rename to graphics/pokemon/egg/shard.png
diff --git a/graphics/pokemon_storage/close_box_button.bin b/graphics/pokemon_storage/close_box_button.bin
new file mode 100755
index 0000000000..8b130a4818
Binary files /dev/null and b/graphics/pokemon_storage/close_box_button.bin differ
diff --git a/graphics/pokemon_storage/party_slot_empty.bin b/graphics/pokemon_storage/party_slot_empty.bin
new file mode 100755
index 0000000000..991c232f73
Binary files /dev/null and b/graphics/pokemon_storage/party_slot_empty.bin differ
diff --git a/graphics/pokemon_storage/party_slot_filled.bin b/graphics/pokemon_storage/party_slot_filled.bin
new file mode 100755
index 0000000000..c0b93bf145
Binary files /dev/null and b/graphics/pokemon_storage/party_slot_filled.bin differ
diff --git a/graphics/pokemon_storage/pkmn_data.bin b/graphics/pokemon_storage/pkmn_data.bin
new file mode 100755
index 0000000000..3336797aac
Binary files /dev/null and b/graphics/pokemon_storage/pkmn_data.bin differ
diff --git a/graphics/pokemon_storage/unknown.pal b/graphics/pokemon_storage/text_windows.pal
similarity index 100%
rename from graphics/pokemon_storage/unknown.pal
rename to graphics/pokemon_storage/text_windows.pal
diff --git a/graphics/misc/rotating_gate_1.png b/graphics/rotating_gates/l1.png
similarity index 100%
rename from graphics/misc/rotating_gate_1.png
rename to graphics/rotating_gates/l1.png
diff --git a/graphics/misc/rotating_gate_2.png b/graphics/rotating_gates/l2.png
similarity index 100%
rename from graphics/misc/rotating_gate_2.png
rename to graphics/rotating_gates/l2.png
diff --git a/graphics/misc/rotating_gate_3.png b/graphics/rotating_gates/l3.png
similarity index 100%
rename from graphics/misc/rotating_gate_3.png
rename to graphics/rotating_gates/l3.png
diff --git a/graphics/misc/rotating_gate_4.png b/graphics/rotating_gates/l4.png
similarity index 100%
rename from graphics/misc/rotating_gate_4.png
rename to graphics/rotating_gates/l4.png
diff --git a/graphics/misc/rotating_gate_5.png b/graphics/rotating_gates/t1.png
similarity index 100%
rename from graphics/misc/rotating_gate_5.png
rename to graphics/rotating_gates/t1.png
diff --git a/graphics/misc/rotating_gate_6.png b/graphics/rotating_gates/t2.png
similarity index 100%
rename from graphics/misc/rotating_gate_6.png
rename to graphics/rotating_gates/t2.png
diff --git a/graphics/misc/rotating_gate_7.png b/graphics/rotating_gates/t3.png
similarity index 100%
rename from graphics/misc/rotating_gate_7.png
rename to graphics/rotating_gates/t3.png
diff --git a/graphics/misc/rotating_gate_8.png b/graphics/rotating_gates/t4.png
similarity index 100%
rename from graphics/misc/rotating_gate_8.png
rename to graphics/rotating_gates/t4.png
diff --git a/graphics/interface/mart_frame.bin b/graphics/shop/menu.bin
similarity index 100%
rename from graphics/interface/mart_frame.bin
rename to graphics/shop/menu.bin
diff --git a/graphics/interface/mart_frame.png b/graphics/shop/menu.png
similarity index 100%
rename from graphics/interface/mart_frame.png
rename to graphics/shop/menu.png
diff --git a/graphics/interface/money.png b/graphics/shop/money.png
similarity index 100%
rename from graphics/interface/money.png
rename to graphics/shop/money.png
diff --git a/graphics/slot_machine/85A8524.bin b/graphics/slot_machine/85A8524.bin
deleted file mode 100644
index 0325642780..0000000000
Binary files a/graphics/slot_machine/85A8524.bin and /dev/null differ
diff --git a/graphics/misc/birch_bag_map.bin b/graphics/starter_choose/birch_bag.bin
similarity index 100%
rename from graphics/misc/birch_bag_map.bin
rename to graphics/starter_choose/birch_bag.bin
diff --git a/graphics/misc/birch_bag.png b/graphics/starter_choose/birch_bag.png
similarity index 100%
rename from graphics/misc/birch_bag.png
rename to graphics/starter_choose/birch_bag.png
diff --git a/graphics/misc/birch_grass_map.bin b/graphics/starter_choose/birch_grass.bin
similarity index 100%
rename from graphics/misc/birch_grass_map.bin
rename to graphics/starter_choose/birch_grass.bin
diff --git a/graphics/misc/birch_grass.png b/graphics/starter_choose/birch_grass.png
similarity index 100%
rename from graphics/misc/birch_grass.png
rename to graphics/starter_choose/birch_grass.png
diff --git a/graphics/misc/pokeball_selection.png b/graphics/starter_choose/pokeball_selection.png
similarity index 100%
rename from graphics/misc/pokeball_selection.png
rename to graphics/starter_choose/pokeball_selection.png
diff --git a/graphics/misc/starter_circle.png b/graphics/starter_choose/starter_circle.png
similarity index 100%
rename from graphics/misc/starter_circle.png
rename to graphics/starter_choose/starter_circle.png
diff --git a/graphics/interface/summary_a_button.png b/graphics/summary_screen/a_button.png
similarity index 100%
rename from graphics/interface/summary_a_button.png
rename to graphics/summary_screen/a_button.png
diff --git a/graphics/interface/summary_b_button.png b/graphics/summary_screen/b_button.png
similarity index 100%
rename from graphics/interface/summary_b_button.png
rename to graphics/summary_screen/b_button.png
diff --git a/graphics/interface/powacc_tilemap.bin b/graphics/summary_screen/effect_battle.bin
similarity index 100%
rename from graphics/interface/powacc_tilemap.bin
rename to graphics/summary_screen/effect_battle.bin
diff --git a/graphics/interface/summary.bin b/graphics/summary_screen/effect_cancel.bin
similarity index 100%
rename from graphics/interface/summary.bin
rename to graphics/summary_screen/effect_cancel.bin
diff --git a/graphics/interface/appealjam_tilemap.bin b/graphics/summary_screen/effect_contest.bin
similarity index 100%
rename from graphics/interface/appealjam_tilemap.bin
rename to graphics/summary_screen/effect_contest.bin
diff --git a/graphics/interface/summary_markings.pal b/graphics/summary_screen/markings.pal
similarity index 100%
rename from graphics/interface/summary_markings.pal
rename to graphics/summary_screen/markings.pal
diff --git a/graphics/interface/summary_frames.png b/graphics/summary_screen/move_select.png
similarity index 100%
rename from graphics/interface/summary_frames.png
rename to graphics/summary_screen/move_select.png
diff --git a/graphics/interface/summary_page_battle_moves.bin b/graphics/summary_screen/page_battle_moves.bin
similarity index 100%
rename from graphics/interface/summary_page_battle_moves.bin
rename to graphics/summary_screen/page_battle_moves.bin
diff --git a/graphics/interface/summary_page_contest_moves.bin b/graphics/summary_screen/page_contest_moves.bin
similarity index 100%
rename from graphics/interface/summary_page_contest_moves.bin
rename to graphics/summary_screen/page_contest_moves.bin
diff --git a/graphics/interface/summary_page_info.bin b/graphics/summary_screen/page_info.bin
similarity index 100%
rename from graphics/interface/summary_page_info.bin
rename to graphics/summary_screen/page_info.bin
diff --git a/graphics/interface/summary_page_info_copy.bin b/graphics/summary_screen/page_info_egg.bin
similarity index 100%
rename from graphics/interface/summary_page_info_copy.bin
rename to graphics/summary_screen/page_info_egg.bin
diff --git a/graphics/interface/summary_page_skills.bin b/graphics/summary_screen/page_skills.bin
similarity index 100%
rename from graphics/interface/summary_page_skills.bin
rename to graphics/summary_screen/page_skills.bin
diff --git a/graphics/interface/status_tilemap.bin b/graphics/summary_screen/status_tilemap.bin
similarity index 100%
rename from graphics/interface/status_tilemap.bin
rename to graphics/summary_screen/status_tilemap.bin
diff --git a/graphics/interface/summary_screen.pal b/graphics/summary_screen/tiles.pal
similarity index 100%
rename from graphics/interface/summary_screen.pal
rename to graphics/summary_screen/tiles.pal
diff --git a/graphics/interface/summary_screen.png b/graphics/summary_screen/tiles.png
similarity index 100%
rename from graphics/interface/summary_screen.png
rename to graphics/summary_screen/tiles.png
diff --git a/graphics/title_screen/title_screen1.bin b/graphics/title_screen/clouds.bin
similarity index 100%
rename from graphics/title_screen/title_screen1.bin
rename to graphics/title_screen/clouds.bin
diff --git a/graphics/title_screen/title_screen2.bin b/graphics/title_screen/pokemon_logo.bin
similarity index 100%
rename from graphics/title_screen/title_screen2.bin
rename to graphics/title_screen/pokemon_logo.bin
diff --git a/graphics/title_screen/unk_853EF78.pal b/graphics/title_screen/unused.pal
similarity index 100%
rename from graphics/title_screen/unk_853EF78.pal
rename to graphics/title_screen/unused.pal
diff --git a/graphics/link/gba.png b/graphics/trade/gba.png
similarity index 100%
rename from graphics/link/gba.png
rename to graphics/trade/gba.png
diff --git a/graphics/link/gba_pal2.pal b/graphics/trade/gba_pal2.pal
similarity index 100%
rename from graphics/link/gba_pal2.pal
rename to graphics/trade/gba_pal2.pal
diff --git a/graphics/misc/trainer_hill_ereader.pal b/graphics/trainer_hill/ereader.pal
similarity index 100%
rename from graphics/misc/trainer_hill_ereader.pal
rename to graphics/trainer_hill/ereader.pal
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index eb36d4255f..9e5c191930 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -18,6 +18,8 @@ WALLPAPERGFXDIR := graphics/pokemon_storage/wallpapers
OBJEVENTGFXDIR := graphics/object_events
MISCGFXDIR := graphics/misc
JPCONTESTGFXDIR := graphics/contest/japanese
+POKEDEXGFXDIR := graphics/pokedex
+STARTERGFXDIR := graphics/starter_choose
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
@@ -370,9 +372,9 @@ $(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \
$(UNUSEDGFXDIR)/old_battle_interface_3.4bpp
@cat $^ >$@
-$(INTERFACEGFXDIR)/battle_bar.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \
- $(INTERFACEGFXDIR)/numbers1.4bpp \
- $(INTERFACEGFXDIR)/numbers2.4bpp
+$(BATINTGFXDIR)/battle_bar.4bpp: $(BATINTGFXDIR)/hpbar_anim_unused.4bpp \
+ $(BATINTGFXDIR)/numbers1.4bpp \
+ $(BATINTGFXDIR)/numbers2.4bpp
@cat $^ >$@
$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \
@@ -428,7 +430,7 @@ $(MASKSGFXDIR)/unused_level_up.4bpp: %.4bpp: %.png
$(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 16
-$(INTERFACEGFXDIR)/party_menu_bg.4bpp: %.4bpp: %.png
+graphics/party_menu/bg.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 62
$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp)
@@ -439,7 +441,7 @@ $(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \
$(TYPESGFXDIR)/move_types_3.gbapal
@cat $^ >$@
-$(INTERFACEGFXDIR)/bag_screen.4bpp: %.4bpp: %.png
+graphics/bag/menu.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 53
$(RAYQUAZAGFXDIR)/scene_2/rayquaza.8bpp: %.8bpp: %.png
@@ -500,7 +502,7 @@ $(SLOTMACHINEGFXDIR)/reel_time_gfx.4bpp: $(SLOTMACHINEGFXDIR)/reel_time_pikachu.
$(SLOTMACHINEGFXDIR)/reel_time_machine.4bpp
@cat $^ >$@
-$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png
+graphics/birch_speech/unused_beauty.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 822
@@ -700,11 +702,11 @@ $(PKNAVGFXDIR)/device_outline.4bpp: %.4bpp: %.png
$(PKNAVGFXDIR)/match_call/ui.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 13
-$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png
+$(POKEDEXGFXDIR)/region_map.8bpp: %.8bpp: %.png
$(GFX) $< $@ -num_tiles 232
-$(INTERFACEGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png
+$(POKEDEXGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png
$(GFX) $< $@ -num_tiles 233
-$(MISCGFXDIR)/birch_help.4bpp: $(MISCGFXDIR)/birch_bag.4bpp $(MISCGFXDIR)/birch_grass.4bpp
+$(STARTERGFXDIR)/birch_help.4bpp: $(STARTERGFXDIR)/birch_bag.4bpp $(STARTERGFXDIR)/birch_grass.4bpp
@cat $^ >$@
diff --git a/include/battle.h b/include/battle.h
index 9434b9aa88..9656bab8d4 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -57,7 +57,7 @@
struct ResourceFlags
{
- u32 flags[4];
+ u32 flags[MAX_BATTLERS_COUNT];
};
#define RESOURCE_FLAG_FLASH_FIRE 1
@@ -590,8 +590,8 @@ struct MonSpritesGfx
{
void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon
union {
- void* ptr[MAX_BATTLERS_COUNT];
- u8* byte[MAX_BATTLERS_COUNT];
+ void* ptr[MAX_BATTLERS_COUNT];
+ u8* byte[MAX_BATTLERS_COUNT];
} sprites;
struct SpriteTemplate templates[MAX_BATTLERS_COUNT];
struct SpriteFrameImage frameImages[MAX_BATTLERS_COUNT][4];
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 8745b0d264..d8b2cd4dbc 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -112,7 +112,6 @@ void GetBattleAnimBg1Data(struct BattleAnimBgData*);
void GetBattleAnimBgData(struct BattleAnimBgData*, u32 arg1);
u8 GetBattlerSpriteSubpriority(u8 battlerId);
bool8 TranslateAnimHorizontalArc(struct Sprite *sprite);
-void sub_80A6630(struct Sprite *sprite);
void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite);
void ResetSpriteRotScale(u8 spriteId);
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
@@ -129,7 +128,6 @@ void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData*, const vo
void AnimLoadCompressedBgGfx(u32, const u32*, u32);
void UpdateAnimBg3ScreenSize(bool8);
void TranslateSpriteInGrowingCircle(struct Sprite *);
-void sub_80A653C(struct Sprite *);
void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
void PrepareEruptAnimTaskData(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7);
u8 UpdateEruptAnimTask(struct Task *task);
diff --git a/include/battle_arena.h b/include/battle_arena.h
index c9a18ef618..cc0e72c0c1 100644
--- a/include/battle_arena.h
+++ b/include/battle_arena.h
@@ -6,7 +6,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state);
void BattleArena_InitPoints(void);
void BattleArena_AddMindPoints(u8 battler);
void BattleArena_AddSkillPoints(u8 battler);
-void BattleArena_DeductMindPoints(u8 battler, u16 stringId);
+void BattleArena_DeductSkillPoints(u8 battler, u16 stringId);
void DrawArenaRefereeTextBox(void);
void EraseArenaRefereeTextBox(void);
diff --git a/include/battle_factory.h b/include/battle_factory.h
index 5606d60d1e..d414bdb3b1 100644
--- a/include/battle_factory.h
+++ b/include/battle_factory.h
@@ -3,7 +3,7 @@
void CallBattleFactoryFunction(void);
bool8 InBattleFactory(void);
-u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1);
+u8 GetFactoryMonFixedIV(u8 challengeNum, bool8 isLastBattle);
void FillFactoryBrainParty(void);
u8 GetNumPastRentalsRank(u8 battleMode, u8 lvlMode);
u32 GetAiScriptsInBattleFactory(void);
diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h
index c4a72095f0..62320358b6 100644
--- a/include/battle_pyramid.h
+++ b/include/battle_pyramid.h
@@ -14,7 +14,7 @@ void SoftResetInBattlePyramid(void);
void CopyPyramidTrainerSpeechBefore(u16 trainerId);
void CopyPyramidTrainerWinSpeech(u16 trainerId);
void CopyPyramidTrainerLoseSpeech(u16 trainerId);
-u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId);
+u8 GetTrainerEncounterMusicIdInBattlePyramid(u16 trainerId);
void GenerateBattlePyramidFloorLayout(u16 *mapArg, bool8 setPlayerPosition);
void LoadBattlePyramidObjectEventTemplates(void);
void LoadBattlePyramidFloorObjectEventScripts(void);
diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h
index cb81ad8124..ed90d787f0 100644
--- a/include/battle_script_commands.h
+++ b/include/battle_script_commands.h
@@ -1,7 +1,6 @@
#ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H
#define GUARD_BATTLE_SCRIPT_COMMANDS_H
-#include "constants/pokemon.h"
#include "constants/battle_script_commands.h"
// Arguments for 'flags' in HandleBattleWindow
diff --git a/include/bike.h b/include/bike.h
index afe773d42e..00f11aefe3 100644
--- a/include/bike.h
+++ b/include/bike.h
@@ -17,11 +17,11 @@ struct BikeHistoryInputInfo
// Player speeds
enum
{
- BIKE_SPEED_STANDING,
- BIKE_SPEED_NORMAL,
- BIKE_SPEED_FAST,
- BIKE_SPEED_FASTER,
- BIKE_SPEED_FASTEST,
+ PLAYER_SPEED_STANDING,
+ PLAYER_SPEED_NORMAL,
+ PLAYER_SPEED_FAST,
+ PLAYER_SPEED_FASTER,
+ PLAYER_SPEED_FASTEST,
};
// mach bike transitions enum
diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h
index c8d37aac61..d5d0698b91 100644
--- a/include/constants/battle_string_ids.h
+++ b/include/constants/battle_string_ids.h
@@ -1,10 +1,6 @@
#ifndef GUARD_CONSTANTS_BATTLE_STRING_IDS_H
#define GUARD_CONSTANTS_BATTLE_STRING_IDS_H
-#define BATTLESTRINGS_COUNT 369
-
-#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved
-
#define STRINGID_INTROMSG 0
#define STRINGID_INTROSENDOUT 1
#define STRINGID_RETURNMON 2
@@ -383,6 +379,12 @@
#define STRINGID_TRAINER1WINTEXT 379
#define STRINGID_TRAINER2WINTEXT 380
+#define BATTLESTRINGS_COUNT 381
+
+// This is the string id that gBattleStringsTable starts with.
+// String ids before this (e.g. STRINGID_INTROMSG) are not in the table,
+// and are instead handled explicitly by BufferStringBattle.
+#define BATTLESTRINGS_TABLE_START STRINGID_TRAINER1LOSETEXT
// The below IDs are all indexes into battle message tables,
// used to determine which of a set of messages to print.
diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h
index 2c42735248..a9d59935ec 100755
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -273,14 +273,14 @@
#define ANIM_RUN_WEST (ANIM_STD_COUNT + 2)
#define ANIM_RUN_EAST (ANIM_STD_COUNT + 3)
-#define ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 0)
-#define ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 1)
-#define ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST (ANIM_STD_COUNT + 2)
-#define ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST (ANIM_STD_COUNT + 3)
-#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 4)
-#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 5)
-#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 6)
-#define ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 7)
+#define ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 0)
+#define ANIM_BUNNY_HOP_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 1)
+#define ANIM_BUNNY_HOP_BACK_WHEEL_WEST (ANIM_STD_COUNT + 2)
+#define ANIM_BUNNY_HOP_BACK_WHEEL_EAST (ANIM_STD_COUNT + 3)
+#define ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 4)
+#define ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 5)
+#define ANIM_BUNNY_HOP_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 6)
+#define ANIM_BUNNY_HOP_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 7)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 8)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 9)
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST (ANIM_STD_COUNT + 10)
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
index 1958c792e1..6b99f19bd4 100644
--- a/include/constants/event_objects.h
+++ b/include/constants/event_objects.h
@@ -311,5 +311,6 @@
#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
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index cab8b51e5f..ba04f8f96e 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -190,7 +190,7 @@
#define FLAG_RECEIVED_TM40 0xAA
#define FLAG_RECEIVED_TM04 0xAB
#define FLAG_RECEIVED_TM03 0xAC
-#define FLAG_DECORATION_0 0xAD
+#define FLAG_HIDE_SECRET_BASE_TRAINER 0xAD
#define FLAG_DECORATION_1 0xAE
#define FLAG_DECORATION_2 0xAF
#define FLAG_DECORATION_3 0xB0
diff --git a/include/constants/global.h b/include/constants/global.h
index ef7861e9ed..096094220d 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -29,11 +29,20 @@
#define GAME_VERSION (VERSION_EMERALD)
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
+// party sizes
+#define PARTY_SIZE 6
+#define MULTI_PARTY_SIZE (PARTY_SIZE / 2)
+#define FRONTIER_PARTY_SIZE 3
+#define FRONTIER_DOUBLES_PARTY_SIZE 4
+#define FRONTIER_MULTI_PARTY_SIZE 2
+#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE
+#define UNION_ROOM_PARTY_SIZE 2
+
// capacities of various saveblock objects
#define DAYCARE_MON_COUNT 2
#define POKEBLOCKS_COUNT 40
#define OBJECT_EVENTS_COUNT 16
-#define MAIL_COUNT 16
+#define MAIL_COUNT (10 + PARTY_SIZE)
#define SECRET_BASES_COUNT 20
#define TV_SHOWS_COUNT 25
#define POKE_NEWS_COUNT 16
@@ -70,7 +79,6 @@
#define TRAINER_ID_LENGTH 4
#define MAX_MON_MOVES 4
-#define NUM_STATS 6
#define CONTESTANT_COUNT 4
#define CONTEST_CATEGORY_COOL 0
@@ -80,15 +88,6 @@
#define CONTEST_CATEGORY_TOUGH 4
#define CONTEST_CATEGORIES_COUNT 5
-// party sizes
-#define PARTY_SIZE 6
-#define MULTI_PARTY_SIZE (PARTY_SIZE / 2)
-#define FRONTIER_PARTY_SIZE 3
-#define FRONTIER_DOUBLES_PARTY_SIZE 4
-#define FRONTIER_MULTI_PARTY_SIZE 2
-#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE
-#define UNION_ROOM_PARTY_SIZE 2
-
// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
@@ -139,4 +138,13 @@
#define DIR_NORTHWEST 7
#define DIR_NORTHEAST 8
+#define CONNECTION_INVALID -1
+#define CONNECTION_NONE 0
+#define CONNECTION_SOUTH 1
+#define CONNECTION_NORTH 2
+#define CONNECTION_WEST 3
+#define CONNECTION_EAST 4
+#define CONNECTION_DIVE 5
+#define CONNECTION_EMERGE 6
+
#endif // GUARD_CONSTANTS_GLOBAL_H
diff --git a/include/constants/maps.h b/include/constants/maps.h
index b849749a95..2ad4ea8df5 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -9,10 +9,16 @@
#define MAP_GROUP(map) (MAP_##map >> 8)
#define MAP_NUM(map) (MAP_##map & 0xFF)
-// These groups are used by pokedex_area_screen.c to find wild
-// pokemon locations.
-#define MAP_GROUP_OVERWORLD_MONS MAP_GROUP(PETALBURG_CITY)
-#define MAP_GROUP_SPECIAL_MONS_1 MAP_GROUP(METEOR_FALLS_1F_1R)
-#define MAP_GROUP_SPECIAL_MONS_2 MAP_GROUP(SAFARI_ZONE_NORTHWEST)
+// 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_NONE is used to indicate that a
+// dynamic warp should be used, at which point the warp id is ignored. It can be passed to
+// SetDynamicWarp/SetDynamicWarpWithCoords as the first argument, but this argument is unused.
+// As only one dynamic warp is saved at a time there's no need to distinguish between them.
+#define WARP_ID_SECRET_BASE 0x7E
+#define WARP_ID_DYNAMIC 0x7F
+
+// Used to indicate an invalid warp id, for dummy warps or when a warp should
+// use the given coordinates rather than the coordinates of a target warp.
+#define WARP_ID_NONE (-1)
#endif // GUARD_CONSTANTS_MAPS_H
diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h
index dde8213587..86f35ce50d 100755
--- a/include/constants/metatile_behaviors.h
+++ b/include/constants/metatile_behaviors.h
@@ -9,7 +9,7 @@
#define MB_UNUSED_05 0x05
#define MB_DEEP_SAND 0x06
#define MB_SHORT_GRASS 0x07
-#define MB_UNUSED_CAVE 0x08
+#define MB_CAVE 0x08
#define MB_LONG_GRASS_SOUTH_EDGE 0x09
#define MB_NO_RUNNING 0x0A
#define MB_INDOOR_ENCOUNTER 0x0B
@@ -117,10 +117,10 @@
#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_1 0x74
-#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75
-#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76
-#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77
+#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
@@ -179,8 +179,8 @@
#define MB_UNUSED_AF 0xAF
#define MB_SECRET_BASE_PC 0xB0
#define MB_SECRET_BASE_REGISTER_PC 0xB1
-#define MB_SECRET_BASE_UNUSED 0xB2
-#define MB_BLOCK_DECORATION 0xB3
+#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
@@ -241,6 +241,9 @@
#define MB_UNUSED_ED 0xED
#define MB_UNUSED_EE 0xEE
#define MB_UNUSED_EF 0xEF
+
+#define NUM_METATILE_BEHAVIORS 0xF0
+
#define MB_INVALID 0xFF
#endif // GUARD_METATILE_BEHAVIORS_H
diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h
index 5191200828..3c484e39a2 100644
--- a/include/constants/metatile_labels.h
+++ b/include/constants/metatile_labels.h
@@ -182,22 +182,22 @@
#define METATILE_Cave_ShoalCave_BlueStone_Small 0x35B
// gTileset_Pacifidlog
-#define METATILE_Pacifidlog_Door 0x21A
-#define METATILE_Pacifidlog_FloatingLogs_Horizontal0 0x250
-#define METATILE_Pacifidlog_FloatingLogs_Horizontal1 0x251
-#define METATILE_Pacifidlog_HalfSubmergedLogs_Horizontal0 0x252
-#define METATILE_Pacifidlog_HalfSubmergedLogs_Horizontal1 0x253
-#define METATILE_Pacifidlog_SubmergedLogs_Horizontal0 0x254
-#define METATILE_Pacifidlog_SubmergedLogs_Horizontal1 0x255
-#define METATILE_Pacifidlog_FloatingLogs_Vertical0 0x258
-#define METATILE_Pacifidlog_FloatingLogs_Vertical1 0x260
-#define METATILE_Pacifidlog_HalfSubmergedLogs_Vertical0 0x259
-#define METATILE_Pacifidlog_HalfSubmergedLogs_Vertical1 0x261
-#define METATILE_Pacifidlog_SubmergedLogs_Vertical0 0x25A
-#define METATILE_Pacifidlog_SubmergedLogs_Vertical1 0x262
-#define METATILE_Pacifidlog_SkyPillar_CrackedFloor_Hole 0x237
-#define METATILE_Pacifidlog_SkyPillar_DoorOpen_Top 0x2AA
-#define METATILE_Pacifidlog_SkyPillar_DoorOpen_Bottom 0x2B2
+#define METATILE_Pacifidlog_Door 0x21A
+#define METATILE_Pacifidlog_FloatingLogs_HorizontalLeft 0x250
+#define METATILE_Pacifidlog_FloatingLogs_HorizontalRight 0x251
+#define METATILE_Pacifidlog_HalfSubmergedLogs_HorizontalLeft 0x252
+#define METATILE_Pacifidlog_HalfSubmergedLogs_HorizontalRight 0x253
+#define METATILE_Pacifidlog_SubmergedLogs_HorizontalLeft 0x254
+#define METATILE_Pacifidlog_SubmergedLogs_HorizontalRight 0x255
+#define METATILE_Pacifidlog_FloatingLogs_VerticalTop 0x258
+#define METATILE_Pacifidlog_FloatingLogs_VerticalBottom 0x260
+#define METATILE_Pacifidlog_HalfSubmergedLogs_VerticalTop 0x259
+#define METATILE_Pacifidlog_HalfSubmergedLogs_VerticalBottom 0x261
+#define METATILE_Pacifidlog_SubmergedLogs_VerticalTop 0x25A
+#define METATILE_Pacifidlog_SubmergedLogs_VerticalBottom 0x262
+#define METATILE_Pacifidlog_SkyPillar_CrackedFloor_Hole 0x237
+#define METATILE_Pacifidlog_SkyPillar_DoorOpen_Top 0x2AA
+#define METATILE_Pacifidlog_SkyPillar_DoorOpen_Bottom 0x2B2
// gTileset_Fortree
#define METATILE_Fortree_LongGrass_Root 0x208
diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h
index e31debb49b..f95bfa90ff 100644
--- a/include/constants/party_menu.h
+++ b/include/constants/party_menu.h
@@ -1,6 +1,8 @@
#ifndef GUARD_CONSTANTS_PARTY_MENU_H
#define GUARD_CONSTANTS_PARTY_MENU_H
+#define PARTY_NOTHING_CHOSEN 0xFF
+
#define AILMENT_NONE 0
#define AILMENT_PSN 1
#define AILMENT_PRZ 2
diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h
new file mode 100644
index 0000000000..7ee1b3760e
--- /dev/null
+++ b/include/constants/pokedex.h
@@ -0,0 +1,848 @@
+#ifndef GUARD_CONSTANTS_POKEDEX_H
+#define GUARD_CONSTANTS_POKEDEX_H
+
+// National Pokedex order
+enum {
+ NATIONAL_DEX_NONE,
+ // Kanto
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_MEW,
+ // Johto
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_CELEBI,
+ // Hoenn
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_DEOXYS,
+ // Old Unown
+ NATIONAL_DEX_OLD_UNOWN_B,
+ NATIONAL_DEX_OLD_UNOWN_C,
+ NATIONAL_DEX_OLD_UNOWN_D,
+ NATIONAL_DEX_OLD_UNOWN_E,
+ NATIONAL_DEX_OLD_UNOWN_F,
+ NATIONAL_DEX_OLD_UNOWN_G,
+ NATIONAL_DEX_OLD_UNOWN_H,
+ NATIONAL_DEX_OLD_UNOWN_I,
+ NATIONAL_DEX_OLD_UNOWN_J,
+ NATIONAL_DEX_OLD_UNOWN_K,
+ NATIONAL_DEX_OLD_UNOWN_L,
+ NATIONAL_DEX_OLD_UNOWN_M,
+ NATIONAL_DEX_OLD_UNOWN_N,
+ NATIONAL_DEX_OLD_UNOWN_O,
+ NATIONAL_DEX_OLD_UNOWN_P,
+ NATIONAL_DEX_OLD_UNOWN_Q,
+ NATIONAL_DEX_OLD_UNOWN_R,
+ NATIONAL_DEX_OLD_UNOWN_S,
+ NATIONAL_DEX_OLD_UNOWN_T,
+ NATIONAL_DEX_OLD_UNOWN_U,
+ NATIONAL_DEX_OLD_UNOWN_V,
+ NATIONAL_DEX_OLD_UNOWN_W,
+ NATIONAL_DEX_OLD_UNOWN_X,
+ NATIONAL_DEX_OLD_UNOWN_Y,
+ NATIONAL_DEX_OLD_UNOWN_Z,
+};
+
+#define KANTO_DEX_COUNT NATIONAL_DEX_MEW
+#define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI
+#define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS
+
+// Hoenn Pokedex order
+enum {
+ HOENN_DEX_NONE,
+ HOENN_DEX_TREECKO,
+ HOENN_DEX_GROVYLE,
+ HOENN_DEX_SCEPTILE,
+ HOENN_DEX_TORCHIC,
+ HOENN_DEX_COMBUSKEN,
+ HOENN_DEX_BLAZIKEN,
+ HOENN_DEX_MUDKIP,
+ HOENN_DEX_MARSHTOMP,
+ HOENN_DEX_SWAMPERT,
+ HOENN_DEX_POOCHYENA,
+ HOENN_DEX_MIGHTYENA,
+ HOENN_DEX_ZIGZAGOON,
+ HOENN_DEX_LINOONE,
+ HOENN_DEX_WURMPLE,
+ HOENN_DEX_SILCOON,
+ HOENN_DEX_BEAUTIFLY,
+ HOENN_DEX_CASCOON,
+ HOENN_DEX_DUSTOX,
+ HOENN_DEX_LOTAD,
+ HOENN_DEX_LOMBRE,
+ HOENN_DEX_LUDICOLO,
+ HOENN_DEX_SEEDOT,
+ HOENN_DEX_NUZLEAF,
+ HOENN_DEX_SHIFTRY,
+ HOENN_DEX_TAILLOW,
+ HOENN_DEX_SWELLOW,
+ HOENN_DEX_WINGULL,
+ HOENN_DEX_PELIPPER,
+ HOENN_DEX_RALTS,
+ HOENN_DEX_KIRLIA,
+ HOENN_DEX_GARDEVOIR,
+ HOENN_DEX_SURSKIT,
+ HOENN_DEX_MASQUERAIN,
+ HOENN_DEX_SHROOMISH,
+ HOENN_DEX_BRELOOM,
+ HOENN_DEX_SLAKOTH,
+ HOENN_DEX_VIGOROTH,
+ HOENN_DEX_SLAKING,
+ HOENN_DEX_ABRA,
+ HOENN_DEX_KADABRA,
+ HOENN_DEX_ALAKAZAM,
+ HOENN_DEX_NINCADA,
+ HOENN_DEX_NINJASK,
+ HOENN_DEX_SHEDINJA,
+ HOENN_DEX_WHISMUR,
+ HOENN_DEX_LOUDRED,
+ HOENN_DEX_EXPLOUD,
+ HOENN_DEX_MAKUHITA,
+ HOENN_DEX_HARIYAMA,
+ HOENN_DEX_GOLDEEN,
+ HOENN_DEX_SEAKING,
+ HOENN_DEX_MAGIKARP,
+ HOENN_DEX_GYARADOS,
+ HOENN_DEX_AZURILL,
+ HOENN_DEX_MARILL,
+ HOENN_DEX_AZUMARILL,
+ HOENN_DEX_GEODUDE,
+ HOENN_DEX_GRAVELER,
+ HOENN_DEX_GOLEM,
+ HOENN_DEX_NOSEPASS,
+ HOENN_DEX_SKITTY,
+ HOENN_DEX_DELCATTY,
+ HOENN_DEX_ZUBAT,
+ HOENN_DEX_GOLBAT,
+ HOENN_DEX_CROBAT,
+ HOENN_DEX_TENTACOOL,
+ HOENN_DEX_TENTACRUEL,
+ HOENN_DEX_SABLEYE,
+ HOENN_DEX_MAWILE,
+ HOENN_DEX_ARON,
+ HOENN_DEX_LAIRON,
+ HOENN_DEX_AGGRON,
+ HOENN_DEX_MACHOP,
+ HOENN_DEX_MACHOKE,
+ HOENN_DEX_MACHAMP,
+ HOENN_DEX_MEDITITE,
+ HOENN_DEX_MEDICHAM,
+ HOENN_DEX_ELECTRIKE,
+ HOENN_DEX_MANECTRIC,
+ HOENN_DEX_PLUSLE,
+ HOENN_DEX_MINUN,
+ HOENN_DEX_MAGNEMITE,
+ HOENN_DEX_MAGNETON,
+ HOENN_DEX_VOLTORB,
+ HOENN_DEX_ELECTRODE,
+ HOENN_DEX_VOLBEAT,
+ HOENN_DEX_ILLUMISE,
+ HOENN_DEX_ODDISH,
+ HOENN_DEX_GLOOM,
+ HOENN_DEX_VILEPLUME,
+ HOENN_DEX_BELLOSSOM,
+ HOENN_DEX_DODUO,
+ HOENN_DEX_DODRIO,
+ HOENN_DEX_ROSELIA,
+ HOENN_DEX_GULPIN,
+ HOENN_DEX_SWALOT,
+ HOENN_DEX_CARVANHA,
+ HOENN_DEX_SHARPEDO,
+ HOENN_DEX_WAILMER,
+ HOENN_DEX_WAILORD,
+ HOENN_DEX_NUMEL,
+ HOENN_DEX_CAMERUPT,
+ HOENN_DEX_SLUGMA,
+ HOENN_DEX_MAGCARGO,
+ HOENN_DEX_TORKOAL,
+ HOENN_DEX_GRIMER,
+ HOENN_DEX_MUK,
+ HOENN_DEX_KOFFING,
+ HOENN_DEX_WEEZING,
+ HOENN_DEX_SPOINK,
+ HOENN_DEX_GRUMPIG,
+ HOENN_DEX_SANDSHREW,
+ HOENN_DEX_SANDSLASH,
+ HOENN_DEX_SPINDA,
+ HOENN_DEX_SKARMORY,
+ HOENN_DEX_TRAPINCH,
+ HOENN_DEX_VIBRAVA,
+ HOENN_DEX_FLYGON,
+ HOENN_DEX_CACNEA,
+ HOENN_DEX_CACTURNE,
+ HOENN_DEX_SWABLU,
+ HOENN_DEX_ALTARIA,
+ HOENN_DEX_ZANGOOSE,
+ HOENN_DEX_SEVIPER,
+ HOENN_DEX_LUNATONE,
+ HOENN_DEX_SOLROCK,
+ HOENN_DEX_BARBOACH,
+ HOENN_DEX_WHISCASH,
+ HOENN_DEX_CORPHISH,
+ HOENN_DEX_CRAWDAUNT,
+ HOENN_DEX_BALTOY,
+ HOENN_DEX_CLAYDOL,
+ HOENN_DEX_LILEEP,
+ HOENN_DEX_CRADILY,
+ HOENN_DEX_ANORITH,
+ HOENN_DEX_ARMALDO,
+ HOENN_DEX_IGGLYBUFF,
+ HOENN_DEX_JIGGLYPUFF,
+ HOENN_DEX_WIGGLYTUFF,
+ HOENN_DEX_FEEBAS,
+ HOENN_DEX_MILOTIC,
+ HOENN_DEX_CASTFORM,
+ HOENN_DEX_STARYU,
+ HOENN_DEX_STARMIE,
+ HOENN_DEX_KECLEON,
+ HOENN_DEX_SHUPPET,
+ HOENN_DEX_BANETTE,
+ HOENN_DEX_DUSKULL,
+ HOENN_DEX_DUSCLOPS,
+ HOENN_DEX_TROPIUS,
+ HOENN_DEX_CHIMECHO,
+ HOENN_DEX_ABSOL,
+ HOENN_DEX_VULPIX,
+ HOENN_DEX_NINETALES,
+ HOENN_DEX_PICHU,
+ HOENN_DEX_PIKACHU,
+ HOENN_DEX_RAICHU,
+ HOENN_DEX_PSYDUCK,
+ HOENN_DEX_GOLDUCK,
+ HOENN_DEX_WYNAUT,
+ HOENN_DEX_WOBBUFFET,
+ HOENN_DEX_NATU,
+ HOENN_DEX_XATU,
+ HOENN_DEX_GIRAFARIG,
+ HOENN_DEX_PHANPY,
+ HOENN_DEX_DONPHAN,
+ HOENN_DEX_PINSIR,
+ HOENN_DEX_HERACROSS,
+ HOENN_DEX_RHYHORN,
+ HOENN_DEX_RHYDON,
+ HOENN_DEX_SNORUNT,
+ HOENN_DEX_GLALIE,
+ HOENN_DEX_SPHEAL,
+ HOENN_DEX_SEALEO,
+ HOENN_DEX_WALREIN,
+ HOENN_DEX_CLAMPERL,
+ HOENN_DEX_HUNTAIL,
+ HOENN_DEX_GOREBYSS,
+ HOENN_DEX_RELICANTH,
+ HOENN_DEX_CORSOLA,
+ HOENN_DEX_CHINCHOU,
+ HOENN_DEX_LANTURN,
+ HOENN_DEX_LUVDISC,
+ HOENN_DEX_HORSEA,
+ HOENN_DEX_SEADRA,
+ HOENN_DEX_KINGDRA,
+ HOENN_DEX_BAGON,
+ HOENN_DEX_SHELGON,
+ HOENN_DEX_SALAMENCE,
+ HOENN_DEX_BELDUM,
+ HOENN_DEX_METANG,
+ HOENN_DEX_METAGROSS,
+ HOENN_DEX_REGIROCK,
+ HOENN_DEX_REGICE,
+ HOENN_DEX_REGISTEEL,
+ HOENN_DEX_LATIAS,
+ HOENN_DEX_LATIOS,
+ HOENN_DEX_KYOGRE,
+ HOENN_DEX_GROUDON,
+ HOENN_DEX_RAYQUAZA,
+ HOENN_DEX_JIRACHI,
+ HOENN_DEX_DEOXYS,
+ // End of Hoenn Dex (see HOENN_DEX_COUNT)
+ // Here below have values but are excluded from the Pokedex
+ HOENN_DEX_BULBASAUR,
+ HOENN_DEX_IVYSAUR,
+ HOENN_DEX_VENUSAUR,
+ HOENN_DEX_CHARMANDER,
+ HOENN_DEX_CHARMELEON,
+ HOENN_DEX_CHARIZARD,
+ HOENN_DEX_SQUIRTLE,
+ HOENN_DEX_WARTORTLE,
+ HOENN_DEX_BLASTOISE,
+ HOENN_DEX_CATERPIE,
+ HOENN_DEX_METAPOD,
+ HOENN_DEX_BUTTERFREE,
+ HOENN_DEX_WEEDLE,
+ HOENN_DEX_KAKUNA,
+ HOENN_DEX_BEEDRILL,
+ HOENN_DEX_PIDGEY,
+ HOENN_DEX_PIDGEOTTO,
+ HOENN_DEX_PIDGEOT,
+ HOENN_DEX_RATTATA,
+ HOENN_DEX_RATICATE,
+ HOENN_DEX_SPEAROW,
+ HOENN_DEX_FEAROW,
+ HOENN_DEX_EKANS,
+ HOENN_DEX_ARBOK,
+ HOENN_DEX_NIDORAN_F,
+ HOENN_DEX_NIDORINA,
+ HOENN_DEX_NIDOQUEEN,
+ HOENN_DEX_NIDORAN_M,
+ HOENN_DEX_NIDORINO,
+ HOENN_DEX_NIDOKING,
+ HOENN_DEX_CLEFAIRY,
+ HOENN_DEX_CLEFABLE,
+ HOENN_DEX_PARAS,
+ HOENN_DEX_PARASECT,
+ HOENN_DEX_VENONAT,
+ HOENN_DEX_VENOMOTH,
+ HOENN_DEX_DIGLETT,
+ HOENN_DEX_DUGTRIO,
+ HOENN_DEX_MEOWTH,
+ HOENN_DEX_PERSIAN,
+ HOENN_DEX_MANKEY,
+ HOENN_DEX_PRIMEAPE,
+ HOENN_DEX_GROWLITHE,
+ HOENN_DEX_ARCANINE,
+ HOENN_DEX_POLIWAG,
+ HOENN_DEX_POLIWHIRL,
+ HOENN_DEX_POLIWRATH,
+ HOENN_DEX_BELLSPROUT,
+ HOENN_DEX_WEEPINBELL,
+ HOENN_DEX_VICTREEBEL,
+ HOENN_DEX_PONYTA,
+ HOENN_DEX_RAPIDASH,
+ HOENN_DEX_SLOWPOKE,
+ HOENN_DEX_SLOWBRO,
+ HOENN_DEX_FARFETCHD,
+ HOENN_DEX_SEEL,
+ HOENN_DEX_DEWGONG,
+ HOENN_DEX_SHELLDER,
+ HOENN_DEX_CLOYSTER,
+ HOENN_DEX_GASTLY,
+ HOENN_DEX_HAUNTER,
+ HOENN_DEX_GENGAR,
+ HOENN_DEX_ONIX,
+ HOENN_DEX_DROWZEE,
+ HOENN_DEX_HYPNO,
+ HOENN_DEX_KRABBY,
+ HOENN_DEX_KINGLER,
+ HOENN_DEX_EXEGGCUTE,
+ HOENN_DEX_EXEGGUTOR,
+ HOENN_DEX_CUBONE,
+ HOENN_DEX_MAROWAK,
+ HOENN_DEX_HITMONLEE,
+ HOENN_DEX_HITMONCHAN,
+ HOENN_DEX_LICKITUNG,
+ HOENN_DEX_CHANSEY,
+ HOENN_DEX_TANGELA,
+ HOENN_DEX_KANGASKHAN,
+ HOENN_DEX_MR_MIME,
+ HOENN_DEX_SCYTHER,
+ HOENN_DEX_JYNX,
+ HOENN_DEX_ELECTABUZZ,
+ HOENN_DEX_MAGMAR,
+ HOENN_DEX_TAUROS,
+ HOENN_DEX_LAPRAS,
+ HOENN_DEX_DITTO,
+ HOENN_DEX_EEVEE,
+ HOENN_DEX_VAPOREON,
+ HOENN_DEX_JOLTEON,
+ HOENN_DEX_FLAREON,
+ HOENN_DEX_PORYGON,
+ HOENN_DEX_OMANYTE,
+ HOENN_DEX_OMASTAR,
+ HOENN_DEX_KABUTO,
+ HOENN_DEX_KABUTOPS,
+ HOENN_DEX_AERODACTYL,
+ HOENN_DEX_SNORLAX,
+ HOENN_DEX_ARTICUNO,
+ HOENN_DEX_ZAPDOS,
+ HOENN_DEX_MOLTRES,
+ HOENN_DEX_DRATINI,
+ HOENN_DEX_DRAGONAIR,
+ HOENN_DEX_DRAGONITE,
+ HOENN_DEX_MEWTWO,
+ HOENN_DEX_MEW,
+ HOENN_DEX_CHIKORITA,
+ HOENN_DEX_BAYLEEF,
+ HOENN_DEX_MEGANIUM,
+ HOENN_DEX_CYNDAQUIL,
+ HOENN_DEX_QUILAVA,
+ HOENN_DEX_TYPHLOSION,
+ HOENN_DEX_TOTODILE,
+ HOENN_DEX_CROCONAW,
+ HOENN_DEX_FERALIGATR,
+ HOENN_DEX_SENTRET,
+ HOENN_DEX_FURRET,
+ HOENN_DEX_HOOTHOOT,
+ HOENN_DEX_NOCTOWL,
+ HOENN_DEX_LEDYBA,
+ HOENN_DEX_LEDIAN,
+ HOENN_DEX_SPINARAK,
+ HOENN_DEX_ARIADOS,
+ HOENN_DEX_CLEFFA,
+ HOENN_DEX_TOGEPI,
+ HOENN_DEX_TOGETIC,
+ HOENN_DEX_MAREEP,
+ HOENN_DEX_FLAAFFY,
+ HOENN_DEX_AMPHAROS,
+ HOENN_DEX_SUDOWOODO,
+ HOENN_DEX_POLITOED,
+ HOENN_DEX_HOPPIP,
+ HOENN_DEX_SKIPLOOM,
+ HOENN_DEX_JUMPLUFF,
+ HOENN_DEX_AIPOM,
+ HOENN_DEX_SUNKERN,
+ HOENN_DEX_SUNFLORA,
+ HOENN_DEX_YANMA,
+ HOENN_DEX_WOOPER,
+ HOENN_DEX_QUAGSIRE,
+ HOENN_DEX_ESPEON,
+ HOENN_DEX_UMBREON,
+ HOENN_DEX_MURKROW,
+ HOENN_DEX_SLOWKING,
+ HOENN_DEX_MISDREAVUS,
+ HOENN_DEX_UNOWN,
+ HOENN_DEX_PINECO,
+ HOENN_DEX_FORRETRESS,
+ HOENN_DEX_DUNSPARCE,
+ HOENN_DEX_GLIGAR,
+ HOENN_DEX_STEELIX,
+ HOENN_DEX_SNUBBULL,
+ HOENN_DEX_GRANBULL,
+ HOENN_DEX_QWILFISH,
+ HOENN_DEX_SCIZOR,
+ HOENN_DEX_SHUCKLE,
+ HOENN_DEX_SNEASEL,
+ HOENN_DEX_TEDDIURSA,
+ HOENN_DEX_URSARING,
+ HOENN_DEX_SWINUB,
+ HOENN_DEX_PILOSWINE,
+ HOENN_DEX_REMORAID,
+ HOENN_DEX_OCTILLERY,
+ HOENN_DEX_DELIBIRD,
+ HOENN_DEX_MANTINE,
+ HOENN_DEX_HOUNDOUR,
+ HOENN_DEX_HOUNDOOM,
+ HOENN_DEX_PORYGON2,
+ HOENN_DEX_STANTLER,
+ HOENN_DEX_SMEARGLE,
+ HOENN_DEX_TYROGUE,
+ HOENN_DEX_HITMONTOP,
+ HOENN_DEX_SMOOCHUM,
+ HOENN_DEX_ELEKID,
+ HOENN_DEX_MAGBY,
+ HOENN_DEX_MILTANK,
+ HOENN_DEX_BLISSEY,
+ HOENN_DEX_RAIKOU,
+ HOENN_DEX_ENTEI,
+ HOENN_DEX_SUICUNE,
+ HOENN_DEX_LARVITAR,
+ HOENN_DEX_PUPITAR,
+ HOENN_DEX_TYRANITAR,
+ HOENN_DEX_LUGIA,
+ HOENN_DEX_HO_OH,
+ HOENN_DEX_CELEBI,
+ HOENN_DEX_OLD_UNOWN_B,
+ HOENN_DEX_OLD_UNOWN_C,
+ HOENN_DEX_OLD_UNOWN_D,
+ HOENN_DEX_OLD_UNOWN_E,
+ HOENN_DEX_OLD_UNOWN_F,
+ HOENN_DEX_OLD_UNOWN_G,
+ HOENN_DEX_OLD_UNOWN_H,
+ HOENN_DEX_OLD_UNOWN_I,
+ HOENN_DEX_OLD_UNOWN_J,
+ HOENN_DEX_OLD_UNOWN_K,
+ HOENN_DEX_OLD_UNOWN_L,
+ HOENN_DEX_OLD_UNOWN_M,
+ HOENN_DEX_OLD_UNOWN_N,
+ HOENN_DEX_OLD_UNOWN_O,
+ HOENN_DEX_OLD_UNOWN_P,
+ HOENN_DEX_OLD_UNOWN_Q,
+ HOENN_DEX_OLD_UNOWN_R,
+ HOENN_DEX_OLD_UNOWN_S,
+ HOENN_DEX_OLD_UNOWN_T,
+ HOENN_DEX_OLD_UNOWN_U,
+ HOENN_DEX_OLD_UNOWN_V,
+ HOENN_DEX_OLD_UNOWN_W,
+ HOENN_DEX_OLD_UNOWN_X,
+ HOENN_DEX_OLD_UNOWN_Y,
+ HOENN_DEX_OLD_UNOWN_Z,
+};
+
+#define HOENN_DEX_COUNT HOENN_DEX_DEOXYS
+
+#endif // GUARD_CONSTANTS_POKEDEX_H
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index 9fa023cd57..0a74e751eb 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -78,11 +78,13 @@
#define STAT_SPEED 3
#define STAT_SPATK 4
#define STAT_SPDEF 5
+#define NUM_STATS 6
+
#define STAT_ACC 6 // Only in battles.
#define STAT_EVASION 7 // Only in battles.
-#define NUM_NATURE_STATS NUM_STATS - 1 // excludes HP
-#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion
+#define NUM_NATURE_STATS (NUM_STATS - 1) // excludes HP
+#define NUM_BATTLE_STATS (NUM_STATS + 2) // includes Accuracy and Evasion
#define MIN_STAT_STAGE 0
#define DEFAULT_STAT_STAGE 6
diff --git a/include/constants/slot_machine.h b/include/constants/slot_machine.h
index 81848f2084..865d7e5d0b 100644
--- a/include/constants/slot_machine.h
+++ b/include/constants/slot_machine.h
@@ -3,4 +3,13 @@
#define SLOT_MACHINE_COUNT 12
+// Slot machine IDs
+#define SLOT_MACHINE_UNLUCKIEST 0
+#define SLOT_MACHINE_UNLUCKIER 1
+#define SLOT_MACHINE_UNLUCKY 2
+#define SLOT_MACHINE_LUCKY 3
+#define SLOT_MACHINE_LUCKIER 4
+#define SLOT_MACHINE_LUCKIEST 5
+#define NUM_SLOT_MACHINE_IDS 6
+
#endif // GUARD_CONSTANTS_SLOT_MACHINE_H
diff --git a/include/constants/species.h b/include/constants/species.h
index 983e1a7964..ec60c142ed 100644
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -447,847 +447,4 @@
#define SPECIES_UNOWN_EMARK (SPECIES_UNOWN_B + 25)
#define SPECIES_UNOWN_QMARK (SPECIES_UNOWN_B + 26)
-// National Dex Index Defines
-
-#define NATIONAL_DEX_NONE 0
-#define NATIONAL_DEX_BULBASAUR 1
-#define NATIONAL_DEX_IVYSAUR 2
-#define NATIONAL_DEX_VENUSAUR 3
-#define NATIONAL_DEX_CHARMANDER 4
-#define NATIONAL_DEX_CHARMELEON 5
-#define NATIONAL_DEX_CHARIZARD 6
-#define NATIONAL_DEX_SQUIRTLE 7
-#define NATIONAL_DEX_WARTORTLE 8
-#define NATIONAL_DEX_BLASTOISE 9
-#define NATIONAL_DEX_CATERPIE 10
-#define NATIONAL_DEX_METAPOD 11
-#define NATIONAL_DEX_BUTTERFREE 12
-#define NATIONAL_DEX_WEEDLE 13
-#define NATIONAL_DEX_KAKUNA 14
-#define NATIONAL_DEX_BEEDRILL 15
-#define NATIONAL_DEX_PIDGEY 16
-#define NATIONAL_DEX_PIDGEOTTO 17
-#define NATIONAL_DEX_PIDGEOT 18
-#define NATIONAL_DEX_RATTATA 19
-#define NATIONAL_DEX_RATICATE 20
-#define NATIONAL_DEX_SPEAROW 21
-#define NATIONAL_DEX_FEAROW 22
-#define NATIONAL_DEX_EKANS 23
-#define NATIONAL_DEX_ARBOK 24
-#define NATIONAL_DEX_PIKACHU 25
-#define NATIONAL_DEX_RAICHU 26
-#define NATIONAL_DEX_SANDSHREW 27
-#define NATIONAL_DEX_SANDSLASH 28
-#define NATIONAL_DEX_NIDORAN_F 29
-#define NATIONAL_DEX_NIDORINA 30
-#define NATIONAL_DEX_NIDOQUEEN 31
-#define NATIONAL_DEX_NIDORAN_M 32
-#define NATIONAL_DEX_NIDORINO 33
-#define NATIONAL_DEX_NIDOKING 34
-#define NATIONAL_DEX_CLEFAIRY 35
-#define NATIONAL_DEX_CLEFABLE 36
-#define NATIONAL_DEX_VULPIX 37
-#define NATIONAL_DEX_NINETALES 38
-#define NATIONAL_DEX_JIGGLYPUFF 39
-#define NATIONAL_DEX_WIGGLYTUFF 40
-#define NATIONAL_DEX_ZUBAT 41
-#define NATIONAL_DEX_GOLBAT 42
-#define NATIONAL_DEX_ODDISH 43
-#define NATIONAL_DEX_GLOOM 44
-#define NATIONAL_DEX_VILEPLUME 45
-#define NATIONAL_DEX_PARAS 46
-#define NATIONAL_DEX_PARASECT 47
-#define NATIONAL_DEX_VENONAT 48
-#define NATIONAL_DEX_VENOMOTH 49
-#define NATIONAL_DEX_DIGLETT 50
-#define NATIONAL_DEX_DUGTRIO 51
-#define NATIONAL_DEX_MEOWTH 52
-#define NATIONAL_DEX_PERSIAN 53
-#define NATIONAL_DEX_PSYDUCK 54
-#define NATIONAL_DEX_GOLDUCK 55
-#define NATIONAL_DEX_MANKEY 56
-#define NATIONAL_DEX_PRIMEAPE 57
-#define NATIONAL_DEX_GROWLITHE 58
-#define NATIONAL_DEX_ARCANINE 59
-#define NATIONAL_DEX_POLIWAG 60
-#define NATIONAL_DEX_POLIWHIRL 61
-#define NATIONAL_DEX_POLIWRATH 62
-#define NATIONAL_DEX_ABRA 63
-#define NATIONAL_DEX_KADABRA 64
-#define NATIONAL_DEX_ALAKAZAM 65
-#define NATIONAL_DEX_MACHOP 66
-#define NATIONAL_DEX_MACHOKE 67
-#define NATIONAL_DEX_MACHAMP 68
-#define NATIONAL_DEX_BELLSPROUT 69
-#define NATIONAL_DEX_WEEPINBELL 70
-#define NATIONAL_DEX_VICTREEBEL 71
-#define NATIONAL_DEX_TENTACOOL 72
-#define NATIONAL_DEX_TENTACRUEL 73
-#define NATIONAL_DEX_GEODUDE 74
-#define NATIONAL_DEX_GRAVELER 75
-#define NATIONAL_DEX_GOLEM 76
-#define NATIONAL_DEX_PONYTA 77
-#define NATIONAL_DEX_RAPIDASH 78
-#define NATIONAL_DEX_SLOWPOKE 79
-#define NATIONAL_DEX_SLOWBRO 80
-#define NATIONAL_DEX_MAGNEMITE 81
-#define NATIONAL_DEX_MAGNETON 82
-#define NATIONAL_DEX_FARFETCHD 83
-#define NATIONAL_DEX_DODUO 84
-#define NATIONAL_DEX_DODRIO 85
-#define NATIONAL_DEX_SEEL 86
-#define NATIONAL_DEX_DEWGONG 87
-#define NATIONAL_DEX_GRIMER 88
-#define NATIONAL_DEX_MUK 89
-#define NATIONAL_DEX_SHELLDER 90
-#define NATIONAL_DEX_CLOYSTER 91
-#define NATIONAL_DEX_GASTLY 92
-#define NATIONAL_DEX_HAUNTER 93
-#define NATIONAL_DEX_GENGAR 94
-#define NATIONAL_DEX_ONIX 95
-#define NATIONAL_DEX_DROWZEE 96
-#define NATIONAL_DEX_HYPNO 97
-#define NATIONAL_DEX_KRABBY 98
-#define NATIONAL_DEX_KINGLER 99
-#define NATIONAL_DEX_VOLTORB 100
-#define NATIONAL_DEX_ELECTRODE 101
-#define NATIONAL_DEX_EXEGGCUTE 102
-#define NATIONAL_DEX_EXEGGUTOR 103
-#define NATIONAL_DEX_CUBONE 104
-#define NATIONAL_DEX_MAROWAK 105
-#define NATIONAL_DEX_HITMONLEE 106
-#define NATIONAL_DEX_HITMONCHAN 107
-#define NATIONAL_DEX_LICKITUNG 108
-#define NATIONAL_DEX_KOFFING 109
-#define NATIONAL_DEX_WEEZING 110
-#define NATIONAL_DEX_RHYHORN 111
-#define NATIONAL_DEX_RHYDON 112
-#define NATIONAL_DEX_CHANSEY 113
-#define NATIONAL_DEX_TANGELA 114
-#define NATIONAL_DEX_KANGASKHAN 115
-#define NATIONAL_DEX_HORSEA 116
-#define NATIONAL_DEX_SEADRA 117
-#define NATIONAL_DEX_GOLDEEN 118
-#define NATIONAL_DEX_SEAKING 119
-#define NATIONAL_DEX_STARYU 120
-#define NATIONAL_DEX_STARMIE 121
-#define NATIONAL_DEX_MR_MIME 122
-#define NATIONAL_DEX_SCYTHER 123
-#define NATIONAL_DEX_JYNX 124
-#define NATIONAL_DEX_ELECTABUZZ 125
-#define NATIONAL_DEX_MAGMAR 126
-#define NATIONAL_DEX_PINSIR 127
-#define NATIONAL_DEX_TAUROS 128
-#define NATIONAL_DEX_MAGIKARP 129
-#define NATIONAL_DEX_GYARADOS 130
-#define NATIONAL_DEX_LAPRAS 131
-#define NATIONAL_DEX_DITTO 132
-#define NATIONAL_DEX_EEVEE 133
-#define NATIONAL_DEX_VAPOREON 134
-#define NATIONAL_DEX_JOLTEON 135
-#define NATIONAL_DEX_FLAREON 136
-#define NATIONAL_DEX_PORYGON 137
-#define NATIONAL_DEX_OMANYTE 138
-#define NATIONAL_DEX_OMASTAR 139
-#define NATIONAL_DEX_KABUTO 140
-#define NATIONAL_DEX_KABUTOPS 141
-#define NATIONAL_DEX_AERODACTYL 142
-#define NATIONAL_DEX_SNORLAX 143
-#define NATIONAL_DEX_ARTICUNO 144
-#define NATIONAL_DEX_ZAPDOS 145
-#define NATIONAL_DEX_MOLTRES 146
-#define NATIONAL_DEX_DRATINI 147
-#define NATIONAL_DEX_DRAGONAIR 148
-#define NATIONAL_DEX_DRAGONITE 149
-#define NATIONAL_DEX_MEWTWO 150
-#define NATIONAL_DEX_MEW 151
-
-#define KANTO_DEX_COUNT NATIONAL_DEX_MEW
-
-#define NATIONAL_DEX_CHIKORITA 152
-#define NATIONAL_DEX_BAYLEEF 153
-#define NATIONAL_DEX_MEGANIUM 154
-#define NATIONAL_DEX_CYNDAQUIL 155
-#define NATIONAL_DEX_QUILAVA 156
-#define NATIONAL_DEX_TYPHLOSION 157
-#define NATIONAL_DEX_TOTODILE 158
-#define NATIONAL_DEX_CROCONAW 159
-#define NATIONAL_DEX_FERALIGATR 160
-#define NATIONAL_DEX_SENTRET 161
-#define NATIONAL_DEX_FURRET 162
-#define NATIONAL_DEX_HOOTHOOT 163
-#define NATIONAL_DEX_NOCTOWL 164
-#define NATIONAL_DEX_LEDYBA 165
-#define NATIONAL_DEX_LEDIAN 166
-#define NATIONAL_DEX_SPINARAK 167
-#define NATIONAL_DEX_ARIADOS 168
-#define NATIONAL_DEX_CROBAT 169
-#define NATIONAL_DEX_CHINCHOU 170
-#define NATIONAL_DEX_LANTURN 171
-#define NATIONAL_DEX_PICHU 172
-#define NATIONAL_DEX_CLEFFA 173
-#define NATIONAL_DEX_IGGLYBUFF 174
-#define NATIONAL_DEX_TOGEPI 175
-#define NATIONAL_DEX_TOGETIC 176
-#define NATIONAL_DEX_NATU 177
-#define NATIONAL_DEX_XATU 178
-#define NATIONAL_DEX_MAREEP 179
-#define NATIONAL_DEX_FLAAFFY 180
-#define NATIONAL_DEX_AMPHAROS 181
-#define NATIONAL_DEX_BELLOSSOM 182
-#define NATIONAL_DEX_MARILL 183
-#define NATIONAL_DEX_AZUMARILL 184
-#define NATIONAL_DEX_SUDOWOODO 185
-#define NATIONAL_DEX_POLITOED 186
-#define NATIONAL_DEX_HOPPIP 187
-#define NATIONAL_DEX_SKIPLOOM 188
-#define NATIONAL_DEX_JUMPLUFF 189
-#define NATIONAL_DEX_AIPOM 190
-#define NATIONAL_DEX_SUNKERN 191
-#define NATIONAL_DEX_SUNFLORA 192
-#define NATIONAL_DEX_YANMA 193
-#define NATIONAL_DEX_WOOPER 194
-#define NATIONAL_DEX_QUAGSIRE 195
-#define NATIONAL_DEX_ESPEON 196
-#define NATIONAL_DEX_UMBREON 197
-#define NATIONAL_DEX_MURKROW 198
-#define NATIONAL_DEX_SLOWKING 199
-#define NATIONAL_DEX_MISDREAVUS 200
-#define NATIONAL_DEX_UNOWN 201
-#define NATIONAL_DEX_WOBBUFFET 202
-#define NATIONAL_DEX_GIRAFARIG 203
-#define NATIONAL_DEX_PINECO 204
-#define NATIONAL_DEX_FORRETRESS 205
-#define NATIONAL_DEX_DUNSPARCE 206
-#define NATIONAL_DEX_GLIGAR 207
-#define NATIONAL_DEX_STEELIX 208
-#define NATIONAL_DEX_SNUBBULL 209
-#define NATIONAL_DEX_GRANBULL 210
-#define NATIONAL_DEX_QWILFISH 211
-#define NATIONAL_DEX_SCIZOR 212
-#define NATIONAL_DEX_SHUCKLE 213
-#define NATIONAL_DEX_HERACROSS 214
-#define NATIONAL_DEX_SNEASEL 215
-#define NATIONAL_DEX_TEDDIURSA 216
-#define NATIONAL_DEX_URSARING 217
-#define NATIONAL_DEX_SLUGMA 218
-#define NATIONAL_DEX_MAGCARGO 219
-#define NATIONAL_DEX_SWINUB 220
-#define NATIONAL_DEX_PILOSWINE 221
-#define NATIONAL_DEX_CORSOLA 222
-#define NATIONAL_DEX_REMORAID 223
-#define NATIONAL_DEX_OCTILLERY 224
-#define NATIONAL_DEX_DELIBIRD 225
-#define NATIONAL_DEX_MANTINE 226
-#define NATIONAL_DEX_SKARMORY 227
-#define NATIONAL_DEX_HOUNDOUR 228
-#define NATIONAL_DEX_HOUNDOOM 229
-#define NATIONAL_DEX_KINGDRA 230
-#define NATIONAL_DEX_PHANPY 231
-#define NATIONAL_DEX_DONPHAN 232
-#define NATIONAL_DEX_PORYGON2 233
-#define NATIONAL_DEX_STANTLER 234
-#define NATIONAL_DEX_SMEARGLE 235
-#define NATIONAL_DEX_TYROGUE 236
-#define NATIONAL_DEX_HITMONTOP 237
-#define NATIONAL_DEX_SMOOCHUM 238
-#define NATIONAL_DEX_ELEKID 239
-#define NATIONAL_DEX_MAGBY 240
-#define NATIONAL_DEX_MILTANK 241
-#define NATIONAL_DEX_BLISSEY 242
-#define NATIONAL_DEX_RAIKOU 243
-#define NATIONAL_DEX_ENTEI 244
-#define NATIONAL_DEX_SUICUNE 245
-#define NATIONAL_DEX_LARVITAR 246
-#define NATIONAL_DEX_PUPITAR 247
-#define NATIONAL_DEX_TYRANITAR 248
-#define NATIONAL_DEX_LUGIA 249
-#define NATIONAL_DEX_HO_OH 250
-#define NATIONAL_DEX_CELEBI 251
-
-#define JOHTO_DEX_COUNT NATIONAL_DEX_CELEBI
-
-#define NATIONAL_DEX_TREECKO 252
-#define NATIONAL_DEX_GROVYLE 253
-#define NATIONAL_DEX_SCEPTILE 254
-#define NATIONAL_DEX_TORCHIC 255
-#define NATIONAL_DEX_COMBUSKEN 256
-#define NATIONAL_DEX_BLAZIKEN 257
-#define NATIONAL_DEX_MUDKIP 258
-#define NATIONAL_DEX_MARSHTOMP 259
-#define NATIONAL_DEX_SWAMPERT 260
-#define NATIONAL_DEX_POOCHYENA 261
-#define NATIONAL_DEX_MIGHTYENA 262
-#define NATIONAL_DEX_ZIGZAGOON 263
-#define NATIONAL_DEX_LINOONE 264
-#define NATIONAL_DEX_WURMPLE 265
-#define NATIONAL_DEX_SILCOON 266
-#define NATIONAL_DEX_BEAUTIFLY 267
-#define NATIONAL_DEX_CASCOON 268
-#define NATIONAL_DEX_DUSTOX 269
-#define NATIONAL_DEX_LOTAD 270
-#define NATIONAL_DEX_LOMBRE 271
-#define NATIONAL_DEX_LUDICOLO 272
-#define NATIONAL_DEX_SEEDOT 273
-#define NATIONAL_DEX_NUZLEAF 274
-#define NATIONAL_DEX_SHIFTRY 275
-#define NATIONAL_DEX_TAILLOW 276
-#define NATIONAL_DEX_SWELLOW 277
-#define NATIONAL_DEX_WINGULL 278
-#define NATIONAL_DEX_PELIPPER 279
-#define NATIONAL_DEX_RALTS 280
-#define NATIONAL_DEX_KIRLIA 281
-#define NATIONAL_DEX_GARDEVOIR 282
-#define NATIONAL_DEX_SURSKIT 283
-#define NATIONAL_DEX_MASQUERAIN 284
-#define NATIONAL_DEX_SHROOMISH 285
-#define NATIONAL_DEX_BRELOOM 286
-#define NATIONAL_DEX_SLAKOTH 287
-#define NATIONAL_DEX_VIGOROTH 288
-#define NATIONAL_DEX_SLAKING 289
-#define NATIONAL_DEX_NINCADA 290
-#define NATIONAL_DEX_NINJASK 291
-#define NATIONAL_DEX_SHEDINJA 292
-#define NATIONAL_DEX_WHISMUR 293
-#define NATIONAL_DEX_LOUDRED 294
-#define NATIONAL_DEX_EXPLOUD 295
-#define NATIONAL_DEX_MAKUHITA 296
-#define NATIONAL_DEX_HARIYAMA 297
-#define NATIONAL_DEX_AZURILL 298
-#define NATIONAL_DEX_NOSEPASS 299
-#define NATIONAL_DEX_SKITTY 300
-#define NATIONAL_DEX_DELCATTY 301
-#define NATIONAL_DEX_SABLEYE 302
-#define NATIONAL_DEX_MAWILE 303
-#define NATIONAL_DEX_ARON 304
-#define NATIONAL_DEX_LAIRON 305
-#define NATIONAL_DEX_AGGRON 306
-#define NATIONAL_DEX_MEDITITE 307
-#define NATIONAL_DEX_MEDICHAM 308
-#define NATIONAL_DEX_ELECTRIKE 309
-#define NATIONAL_DEX_MANECTRIC 310
-#define NATIONAL_DEX_PLUSLE 311
-#define NATIONAL_DEX_MINUN 312
-#define NATIONAL_DEX_VOLBEAT 313
-#define NATIONAL_DEX_ILLUMISE 314
-#define NATIONAL_DEX_ROSELIA 315
-#define NATIONAL_DEX_GULPIN 316
-#define NATIONAL_DEX_SWALOT 317
-#define NATIONAL_DEX_CARVANHA 318
-#define NATIONAL_DEX_SHARPEDO 319
-#define NATIONAL_DEX_WAILMER 320
-#define NATIONAL_DEX_WAILORD 321
-#define NATIONAL_DEX_NUMEL 322
-#define NATIONAL_DEX_CAMERUPT 323
-#define NATIONAL_DEX_TORKOAL 324
-#define NATIONAL_DEX_SPOINK 325
-#define NATIONAL_DEX_GRUMPIG 326
-#define NATIONAL_DEX_SPINDA 327
-#define NATIONAL_DEX_TRAPINCH 328
-#define NATIONAL_DEX_VIBRAVA 329
-#define NATIONAL_DEX_FLYGON 330
-#define NATIONAL_DEX_CACNEA 331
-#define NATIONAL_DEX_CACTURNE 332
-#define NATIONAL_DEX_SWABLU 333
-#define NATIONAL_DEX_ALTARIA 334
-#define NATIONAL_DEX_ZANGOOSE 335
-#define NATIONAL_DEX_SEVIPER 336
-#define NATIONAL_DEX_LUNATONE 337
-#define NATIONAL_DEX_SOLROCK 338
-#define NATIONAL_DEX_BARBOACH 339
-#define NATIONAL_DEX_WHISCASH 340
-#define NATIONAL_DEX_CORPHISH 341
-#define NATIONAL_DEX_CRAWDAUNT 342
-#define NATIONAL_DEX_BALTOY 343
-#define NATIONAL_DEX_CLAYDOL 344
-#define NATIONAL_DEX_LILEEP 345
-#define NATIONAL_DEX_CRADILY 346
-#define NATIONAL_DEX_ANORITH 347
-#define NATIONAL_DEX_ARMALDO 348
-#define NATIONAL_DEX_FEEBAS 349
-#define NATIONAL_DEX_MILOTIC 350
-#define NATIONAL_DEX_CASTFORM 351
-#define NATIONAL_DEX_KECLEON 352
-#define NATIONAL_DEX_SHUPPET 353
-#define NATIONAL_DEX_BANETTE 354
-#define NATIONAL_DEX_DUSKULL 355
-#define NATIONAL_DEX_DUSCLOPS 356
-#define NATIONAL_DEX_TROPIUS 357
-#define NATIONAL_DEX_CHIMECHO 358
-#define NATIONAL_DEX_ABSOL 359
-#define NATIONAL_DEX_WYNAUT 360
-#define NATIONAL_DEX_SNORUNT 361
-#define NATIONAL_DEX_GLALIE 362
-#define NATIONAL_DEX_SPHEAL 363
-#define NATIONAL_DEX_SEALEO 364
-#define NATIONAL_DEX_WALREIN 365
-#define NATIONAL_DEX_CLAMPERL 366
-#define NATIONAL_DEX_HUNTAIL 367
-#define NATIONAL_DEX_GOREBYSS 368
-#define NATIONAL_DEX_RELICANTH 369
-#define NATIONAL_DEX_LUVDISC 370
-#define NATIONAL_DEX_BAGON 371
-#define NATIONAL_DEX_SHELGON 372
-#define NATIONAL_DEX_SALAMENCE 373
-#define NATIONAL_DEX_BELDUM 374
-#define NATIONAL_DEX_METANG 375
-#define NATIONAL_DEX_METAGROSS 376
-#define NATIONAL_DEX_REGIROCK 377
-#define NATIONAL_DEX_REGICE 378
-#define NATIONAL_DEX_REGISTEEL 379
-#define NATIONAL_DEX_LATIAS 380
-#define NATIONAL_DEX_LATIOS 381
-#define NATIONAL_DEX_KYOGRE 382
-#define NATIONAL_DEX_GROUDON 383
-#define NATIONAL_DEX_RAYQUAZA 384
-#define NATIONAL_DEX_JIRACHI 385
-#define NATIONAL_DEX_DEOXYS 386
-
-#define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS
-
-#define NATIONAL_DEX_OLD_UNOWN_B (NATIONAL_DEX_COUNT + 1)
-#define NATIONAL_DEX_OLD_UNOWN_C (NATIONAL_DEX_OLD_UNOWN_B + 1)
-#define NATIONAL_DEX_OLD_UNOWN_D (NATIONAL_DEX_OLD_UNOWN_B + 2)
-#define NATIONAL_DEX_OLD_UNOWN_E (NATIONAL_DEX_OLD_UNOWN_B + 3)
-#define NATIONAL_DEX_OLD_UNOWN_F (NATIONAL_DEX_OLD_UNOWN_B + 4)
-#define NATIONAL_DEX_OLD_UNOWN_G (NATIONAL_DEX_OLD_UNOWN_B + 5)
-#define NATIONAL_DEX_OLD_UNOWN_H (NATIONAL_DEX_OLD_UNOWN_B + 6)
-#define NATIONAL_DEX_OLD_UNOWN_I (NATIONAL_DEX_OLD_UNOWN_B + 7)
-#define NATIONAL_DEX_OLD_UNOWN_J (NATIONAL_DEX_OLD_UNOWN_B + 8)
-#define NATIONAL_DEX_OLD_UNOWN_K (NATIONAL_DEX_OLD_UNOWN_B + 9)
-#define NATIONAL_DEX_OLD_UNOWN_L (NATIONAL_DEX_OLD_UNOWN_B + 10)
-#define NATIONAL_DEX_OLD_UNOWN_M (NATIONAL_DEX_OLD_UNOWN_B + 11)
-#define NATIONAL_DEX_OLD_UNOWN_N (NATIONAL_DEX_OLD_UNOWN_B + 12)
-#define NATIONAL_DEX_OLD_UNOWN_O (NATIONAL_DEX_OLD_UNOWN_B + 13)
-#define NATIONAL_DEX_OLD_UNOWN_P (NATIONAL_DEX_OLD_UNOWN_B + 14)
-#define NATIONAL_DEX_OLD_UNOWN_Q (NATIONAL_DEX_OLD_UNOWN_B + 15)
-#define NATIONAL_DEX_OLD_UNOWN_R (NATIONAL_DEX_OLD_UNOWN_B + 16)
-#define NATIONAL_DEX_OLD_UNOWN_S (NATIONAL_DEX_OLD_UNOWN_B + 17)
-#define NATIONAL_DEX_OLD_UNOWN_T (NATIONAL_DEX_OLD_UNOWN_B + 18)
-#define NATIONAL_DEX_OLD_UNOWN_U (NATIONAL_DEX_OLD_UNOWN_B + 19)
-#define NATIONAL_DEX_OLD_UNOWN_V (NATIONAL_DEX_OLD_UNOWN_B + 20)
-#define NATIONAL_DEX_OLD_UNOWN_W (NATIONAL_DEX_OLD_UNOWN_B + 21)
-#define NATIONAL_DEX_OLD_UNOWN_X (NATIONAL_DEX_OLD_UNOWN_B + 22)
-#define NATIONAL_DEX_OLD_UNOWN_Y (NATIONAL_DEX_OLD_UNOWN_B + 23)
-#define NATIONAL_DEX_OLD_UNOWN_Z (NATIONAL_DEX_OLD_UNOWN_B + 24)
-
-// Hoenn Dex Index Defines
-
-#define HOENN_DEX_NONE 0
-#define HOENN_DEX_TREECKO 1
-#define HOENN_DEX_GROVYLE 2
-#define HOENN_DEX_SCEPTILE 3
-#define HOENN_DEX_TORCHIC 4
-#define HOENN_DEX_COMBUSKEN 5
-#define HOENN_DEX_BLAZIKEN 6
-#define HOENN_DEX_MUDKIP 7
-#define HOENN_DEX_MARSHTOMP 8
-#define HOENN_DEX_SWAMPERT 9
-#define HOENN_DEX_POOCHYENA 10
-#define HOENN_DEX_MIGHTYENA 11
-#define HOENN_DEX_ZIGZAGOON 12
-#define HOENN_DEX_LINOONE 13
-#define HOENN_DEX_WURMPLE 14
-#define HOENN_DEX_SILCOON 15
-#define HOENN_DEX_BEAUTIFLY 16
-#define HOENN_DEX_CASCOON 17
-#define HOENN_DEX_DUSTOX 18
-#define HOENN_DEX_LOTAD 19
-#define HOENN_DEX_LOMBRE 20
-#define HOENN_DEX_LUDICOLO 21
-#define HOENN_DEX_SEEDOT 22
-#define HOENN_DEX_NUZLEAF 23
-#define HOENN_DEX_SHIFTRY 24
-#define HOENN_DEX_TAILLOW 25
-#define HOENN_DEX_SWELLOW 26
-#define HOENN_DEX_WINGULL 27
-#define HOENN_DEX_PELIPPER 28
-#define HOENN_DEX_RALTS 29
-#define HOENN_DEX_KIRLIA 30
-#define HOENN_DEX_GARDEVOIR 31
-#define HOENN_DEX_SURSKIT 32
-#define HOENN_DEX_MASQUERAIN 33
-#define HOENN_DEX_SHROOMISH 34
-#define HOENN_DEX_BRELOOM 35
-#define HOENN_DEX_SLAKOTH 36
-#define HOENN_DEX_VIGOROTH 37
-#define HOENN_DEX_SLAKING 38
-#define HOENN_DEX_ABRA 39
-#define HOENN_DEX_KADABRA 40
-#define HOENN_DEX_ALAKAZAM 41
-#define HOENN_DEX_NINCADA 42
-#define HOENN_DEX_NINJASK 43
-#define HOENN_DEX_SHEDINJA 44
-#define HOENN_DEX_WHISMUR 45
-#define HOENN_DEX_LOUDRED 46
-#define HOENN_DEX_EXPLOUD 47
-#define HOENN_DEX_MAKUHITA 48
-#define HOENN_DEX_HARIYAMA 49
-#define HOENN_DEX_GOLDEEN 50
-#define HOENN_DEX_SEAKING 51
-#define HOENN_DEX_MAGIKARP 52
-#define HOENN_DEX_GYARADOS 53
-#define HOENN_DEX_AZURILL 54
-#define HOENN_DEX_MARILL 55
-#define HOENN_DEX_AZUMARILL 56
-#define HOENN_DEX_GEODUDE 57
-#define HOENN_DEX_GRAVELER 58
-#define HOENN_DEX_GOLEM 59
-#define HOENN_DEX_NOSEPASS 60
-#define HOENN_DEX_SKITTY 61
-#define HOENN_DEX_DELCATTY 62
-#define HOENN_DEX_ZUBAT 63
-#define HOENN_DEX_GOLBAT 64
-#define HOENN_DEX_CROBAT 65
-#define HOENN_DEX_TENTACOOL 66
-#define HOENN_DEX_TENTACRUEL 67
-#define HOENN_DEX_SABLEYE 68
-#define HOENN_DEX_MAWILE 69
-#define HOENN_DEX_ARON 70
-#define HOENN_DEX_LAIRON 71
-#define HOENN_DEX_AGGRON 72
-#define HOENN_DEX_MACHOP 73
-#define HOENN_DEX_MACHOKE 74
-#define HOENN_DEX_MACHAMP 75
-#define HOENN_DEX_MEDITITE 76
-#define HOENN_DEX_MEDICHAM 77
-#define HOENN_DEX_ELECTRIKE 78
-#define HOENN_DEX_MANECTRIC 79
-#define HOENN_DEX_PLUSLE 80
-#define HOENN_DEX_MINUN 81
-#define HOENN_DEX_MAGNEMITE 82
-#define HOENN_DEX_MAGNETON 83
-#define HOENN_DEX_VOLTORB 84
-#define HOENN_DEX_ELECTRODE 85
-#define HOENN_DEX_VOLBEAT 86
-#define HOENN_DEX_ILLUMISE 87
-#define HOENN_DEX_ODDISH 88
-#define HOENN_DEX_GLOOM 89
-#define HOENN_DEX_VILEPLUME 90
-#define HOENN_DEX_BELLOSSOM 91
-#define HOENN_DEX_DODUO 92
-#define HOENN_DEX_DODRIO 93
-#define HOENN_DEX_ROSELIA 94
-#define HOENN_DEX_GULPIN 95
-#define HOENN_DEX_SWALOT 96
-#define HOENN_DEX_CARVANHA 97
-#define HOENN_DEX_SHARPEDO 98
-#define HOENN_DEX_WAILMER 99
-#define HOENN_DEX_WAILORD 100
-#define HOENN_DEX_NUMEL 101
-#define HOENN_DEX_CAMERUPT 102
-#define HOENN_DEX_SLUGMA 103
-#define HOENN_DEX_MAGCARGO 104
-#define HOENN_DEX_TORKOAL 105
-#define HOENN_DEX_GRIMER 106
-#define HOENN_DEX_MUK 107
-#define HOENN_DEX_KOFFING 108
-#define HOENN_DEX_WEEZING 109
-#define HOENN_DEX_SPOINK 110
-#define HOENN_DEX_GRUMPIG 111
-#define HOENN_DEX_SANDSHREW 112
-#define HOENN_DEX_SANDSLASH 113
-#define HOENN_DEX_SPINDA 114
-#define HOENN_DEX_SKARMORY 115
-#define HOENN_DEX_TRAPINCH 116
-#define HOENN_DEX_VIBRAVA 117
-#define HOENN_DEX_FLYGON 118
-#define HOENN_DEX_CACNEA 119
-#define HOENN_DEX_CACTURNE 120
-#define HOENN_DEX_SWABLU 121
-#define HOENN_DEX_ALTARIA 122
-#define HOENN_DEX_ZANGOOSE 123
-#define HOENN_DEX_SEVIPER 124
-#define HOENN_DEX_LUNATONE 125
-#define HOENN_DEX_SOLROCK 126
-#define HOENN_DEX_BARBOACH 127
-#define HOENN_DEX_WHISCASH 128
-#define HOENN_DEX_CORPHISH 129
-#define HOENN_DEX_CRAWDAUNT 130
-#define HOENN_DEX_BALTOY 131
-#define HOENN_DEX_CLAYDOL 132
-#define HOENN_DEX_LILEEP 133
-#define HOENN_DEX_CRADILY 134
-#define HOENN_DEX_ANORITH 135
-#define HOENN_DEX_ARMALDO 136
-#define HOENN_DEX_IGGLYBUFF 137
-#define HOENN_DEX_JIGGLYPUFF 138
-#define HOENN_DEX_WIGGLYTUFF 139
-#define HOENN_DEX_FEEBAS 140
-#define HOENN_DEX_MILOTIC 141
-#define HOENN_DEX_CASTFORM 142
-#define HOENN_DEX_STARYU 143
-#define HOENN_DEX_STARMIE 144
-#define HOENN_DEX_KECLEON 145
-#define HOENN_DEX_SHUPPET 146
-#define HOENN_DEX_BANETTE 147
-#define HOENN_DEX_DUSKULL 148
-#define HOENN_DEX_DUSCLOPS 149
-#define HOENN_DEX_TROPIUS 150
-#define HOENN_DEX_CHIMECHO 151
-#define HOENN_DEX_ABSOL 152
-#define HOENN_DEX_VULPIX 153
-#define HOENN_DEX_NINETALES 154
-#define HOENN_DEX_PICHU 155
-#define HOENN_DEX_PIKACHU 156
-#define HOENN_DEX_RAICHU 157
-#define HOENN_DEX_PSYDUCK 158
-#define HOENN_DEX_GOLDUCK 159
-#define HOENN_DEX_WYNAUT 160
-#define HOENN_DEX_WOBBUFFET 161
-#define HOENN_DEX_NATU 162
-#define HOENN_DEX_XATU 163
-#define HOENN_DEX_GIRAFARIG 164
-#define HOENN_DEX_PHANPY 165
-#define HOENN_DEX_DONPHAN 166
-#define HOENN_DEX_PINSIR 167
-#define HOENN_DEX_HERACROSS 168
-#define HOENN_DEX_RHYHORN 169
-#define HOENN_DEX_RHYDON 170
-#define HOENN_DEX_SNORUNT 171
-#define HOENN_DEX_GLALIE 172
-#define HOENN_DEX_SPHEAL 173
-#define HOENN_DEX_SEALEO 174
-#define HOENN_DEX_WALREIN 175
-#define HOENN_DEX_CLAMPERL 176
-#define HOENN_DEX_HUNTAIL 177
-#define HOENN_DEX_GOREBYSS 178
-#define HOENN_DEX_RELICANTH 179
-#define HOENN_DEX_CORSOLA 180
-#define HOENN_DEX_CHINCHOU 181
-#define HOENN_DEX_LANTURN 182
-#define HOENN_DEX_LUVDISC 183
-#define HOENN_DEX_HORSEA 184
-#define HOENN_DEX_SEADRA 185
-#define HOENN_DEX_KINGDRA 186
-#define HOENN_DEX_BAGON 187
-#define HOENN_DEX_SHELGON 188
-#define HOENN_DEX_SALAMENCE 189
-#define HOENN_DEX_BELDUM 190
-#define HOENN_DEX_METANG 191
-#define HOENN_DEX_METAGROSS 192
-#define HOENN_DEX_REGIROCK 193
-#define HOENN_DEX_REGICE 194
-#define HOENN_DEX_REGISTEEL 195
-#define HOENN_DEX_LATIAS 196
-#define HOENN_DEX_LATIOS 197
-#define HOENN_DEX_KYOGRE 198
-#define HOENN_DEX_GROUDON 199
-#define HOENN_DEX_RAYQUAZA 200
-#define HOENN_DEX_JIRACHI 201
-#define HOENN_DEX_DEOXYS 202
-
-#define HOENN_DEX_COUNT HOENN_DEX_DEOXYS
-
-#define HOENN_DEX_BULBASAUR 203
-#define HOENN_DEX_IVYSAUR 204
-#define HOENN_DEX_VENUSAUR 205
-#define HOENN_DEX_CHARMANDER 206
-#define HOENN_DEX_CHARMELEON 207
-#define HOENN_DEX_CHARIZARD 208
-#define HOENN_DEX_SQUIRTLE 209
-#define HOENN_DEX_WARTORTLE 210
-#define HOENN_DEX_BLASTOISE 211
-#define HOENN_DEX_CATERPIE 212
-#define HOENN_DEX_METAPOD 213
-#define HOENN_DEX_BUTTERFREE 214
-#define HOENN_DEX_WEEDLE 215
-#define HOENN_DEX_KAKUNA 216
-#define HOENN_DEX_BEEDRILL 217
-#define HOENN_DEX_PIDGEY 218
-#define HOENN_DEX_PIDGEOTTO 219
-#define HOENN_DEX_PIDGEOT 220
-#define HOENN_DEX_RATTATA 221
-#define HOENN_DEX_RATICATE 222
-#define HOENN_DEX_SPEAROW 223
-#define HOENN_DEX_FEAROW 224
-#define HOENN_DEX_EKANS 225
-#define HOENN_DEX_ARBOK 226
-#define HOENN_DEX_NIDORAN_F 227
-#define HOENN_DEX_NIDORINA 228
-#define HOENN_DEX_NIDOQUEEN 229
-#define HOENN_DEX_NIDORAN_M 230
-#define HOENN_DEX_NIDORINO 231
-#define HOENN_DEX_NIDOKING 232
-#define HOENN_DEX_CLEFAIRY 233
-#define HOENN_DEX_CLEFABLE 234
-#define HOENN_DEX_PARAS 235
-#define HOENN_DEX_PARASECT 236
-#define HOENN_DEX_VENONAT 237
-#define HOENN_DEX_VENOMOTH 238
-#define HOENN_DEX_DIGLETT 239
-#define HOENN_DEX_DUGTRIO 240
-#define HOENN_DEX_MEOWTH 241
-#define HOENN_DEX_PERSIAN 242
-#define HOENN_DEX_MANKEY 243
-#define HOENN_DEX_PRIMEAPE 244
-#define HOENN_DEX_GROWLITHE 245
-#define HOENN_DEX_ARCANINE 246
-#define HOENN_DEX_POLIWAG 247
-#define HOENN_DEX_POLIWHIRL 248
-#define HOENN_DEX_POLIWRATH 249
-#define HOENN_DEX_BELLSPROUT 250
-#define HOENN_DEX_WEEPINBELL 251
-#define HOENN_DEX_VICTREEBEL 252
-#define HOENN_DEX_PONYTA 253
-#define HOENN_DEX_RAPIDASH 254
-#define HOENN_DEX_SLOWPOKE 255
-#define HOENN_DEX_SLOWBRO 256
-#define HOENN_DEX_FARFETCHD 257
-#define HOENN_DEX_SEEL 258
-#define HOENN_DEX_DEWGONG 259
-#define HOENN_DEX_SHELLDER 260
-#define HOENN_DEX_CLOYSTER 261
-#define HOENN_DEX_GASTLY 262
-#define HOENN_DEX_HAUNTER 263
-#define HOENN_DEX_GENGAR 264
-#define HOENN_DEX_ONIX 265
-#define HOENN_DEX_DROWZEE 266
-#define HOENN_DEX_HYPNO 267
-#define HOENN_DEX_KRABBY 268
-#define HOENN_DEX_KINGLER 269
-#define HOENN_DEX_EXEGGCUTE 270
-#define HOENN_DEX_EXEGGUTOR 271
-#define HOENN_DEX_CUBONE 272
-#define HOENN_DEX_MAROWAK 273
-#define HOENN_DEX_HITMONLEE 274
-#define HOENN_DEX_HITMONCHAN 275
-#define HOENN_DEX_LICKITUNG 276
-#define HOENN_DEX_CHANSEY 277
-#define HOENN_DEX_TANGELA 278
-#define HOENN_DEX_KANGASKHAN 279
-#define HOENN_DEX_MR_MIME 280
-#define HOENN_DEX_SCYTHER 281
-#define HOENN_DEX_JYNX 282
-#define HOENN_DEX_ELECTABUZZ 283
-#define HOENN_DEX_MAGMAR 284
-#define HOENN_DEX_TAUROS 285
-#define HOENN_DEX_LAPRAS 286
-#define HOENN_DEX_DITTO 287
-#define HOENN_DEX_EEVEE 288
-#define HOENN_DEX_VAPOREON 289
-#define HOENN_DEX_JOLTEON 290
-#define HOENN_DEX_FLAREON 291
-#define HOENN_DEX_PORYGON 292
-#define HOENN_DEX_OMANYTE 293
-#define HOENN_DEX_OMASTAR 294
-#define HOENN_DEX_KABUTO 295
-#define HOENN_DEX_KABUTOPS 296
-#define HOENN_DEX_AERODACTYL 297
-#define HOENN_DEX_SNORLAX 298
-#define HOENN_DEX_ARTICUNO 299
-#define HOENN_DEX_ZAPDOS 300
-#define HOENN_DEX_MOLTRES 301
-#define HOENN_DEX_DRATINI 302
-#define HOENN_DEX_DRAGONAIR 303
-#define HOENN_DEX_DRAGONITE 304
-#define HOENN_DEX_MEWTWO 305
-#define HOENN_DEX_MEW 306
-#define HOENN_DEX_CHIKORITA 307
-#define HOENN_DEX_BAYLEEF 308
-#define HOENN_DEX_MEGANIUM 309
-#define HOENN_DEX_CYNDAQUIL 310
-#define HOENN_DEX_QUILAVA 311
-#define HOENN_DEX_TYPHLOSION 312
-#define HOENN_DEX_TOTODILE 313
-#define HOENN_DEX_CROCONAW 314
-#define HOENN_DEX_FERALIGATR 315
-#define HOENN_DEX_SENTRET 316
-#define HOENN_DEX_FURRET 317
-#define HOENN_DEX_HOOTHOOT 318
-#define HOENN_DEX_NOCTOWL 319
-#define HOENN_DEX_LEDYBA 320
-#define HOENN_DEX_LEDIAN 321
-#define HOENN_DEX_SPINARAK 322
-#define HOENN_DEX_ARIADOS 323
-#define HOENN_DEX_CLEFFA 324
-#define HOENN_DEX_TOGEPI 325
-#define HOENN_DEX_TOGETIC 326
-#define HOENN_DEX_MAREEP 327
-#define HOENN_DEX_FLAAFFY 328
-#define HOENN_DEX_AMPHAROS 329
-#define HOENN_DEX_SUDOWOODO 330
-#define HOENN_DEX_POLITOED 331
-#define HOENN_DEX_HOPPIP 332
-#define HOENN_DEX_SKIPLOOM 333
-#define HOENN_DEX_JUMPLUFF 334
-#define HOENN_DEX_AIPOM 335
-#define HOENN_DEX_SUNKERN 336
-#define HOENN_DEX_SUNFLORA 337
-#define HOENN_DEX_YANMA 338
-#define HOENN_DEX_WOOPER 339
-#define HOENN_DEX_QUAGSIRE 340
-#define HOENN_DEX_ESPEON 341
-#define HOENN_DEX_UMBREON 342
-#define HOENN_DEX_MURKROW 343
-#define HOENN_DEX_SLOWKING 344
-#define HOENN_DEX_MISDREAVUS 345
-#define HOENN_DEX_UNOWN 346
-#define HOENN_DEX_PINECO 347
-#define HOENN_DEX_FORRETRESS 348
-#define HOENN_DEX_DUNSPARCE 349
-#define HOENN_DEX_GLIGAR 350
-#define HOENN_DEX_STEELIX 351
-#define HOENN_DEX_SNUBBULL 352
-#define HOENN_DEX_GRANBULL 353
-#define HOENN_DEX_QWILFISH 354
-#define HOENN_DEX_SCIZOR 355
-#define HOENN_DEX_SHUCKLE 356
-#define HOENN_DEX_SNEASEL 357
-#define HOENN_DEX_TEDDIURSA 358
-#define HOENN_DEX_URSARING 359
-#define HOENN_DEX_SWINUB 360
-#define HOENN_DEX_PILOSWINE 361
-#define HOENN_DEX_REMORAID 362
-#define HOENN_DEX_OCTILLERY 363
-#define HOENN_DEX_DELIBIRD 364
-#define HOENN_DEX_MANTINE 365
-#define HOENN_DEX_HOUNDOUR 366
-#define HOENN_DEX_HOUNDOOM 367
-#define HOENN_DEX_PORYGON2 368
-#define HOENN_DEX_STANTLER 369
-#define HOENN_DEX_SMEARGLE 370
-#define HOENN_DEX_TYROGUE 371
-#define HOENN_DEX_HITMONTOP 372
-#define HOENN_DEX_SMOOCHUM 373
-#define HOENN_DEX_ELEKID 374
-#define HOENN_DEX_MAGBY 375
-#define HOENN_DEX_MILTANK 376
-#define HOENN_DEX_BLISSEY 377
-#define HOENN_DEX_RAIKOU 378
-#define HOENN_DEX_ENTEI 379
-#define HOENN_DEX_SUICUNE 380
-#define HOENN_DEX_LARVITAR 381
-#define HOENN_DEX_PUPITAR 382
-#define HOENN_DEX_TYRANITAR 383
-#define HOENN_DEX_LUGIA 384
-#define HOENN_DEX_HO_OH 385
-#define HOENN_DEX_CELEBI 386
-
-#define HOENN_DEX_OLD_UNOWN_B (HOENN_DEX_CELEBI + 1)
-#define HOENN_DEX_OLD_UNOWN_C (HOENN_DEX_OLD_UNOWN_B + 1)
-#define HOENN_DEX_OLD_UNOWN_D (HOENN_DEX_OLD_UNOWN_B + 2)
-#define HOENN_DEX_OLD_UNOWN_E (HOENN_DEX_OLD_UNOWN_B + 3)
-#define HOENN_DEX_OLD_UNOWN_F (HOENN_DEX_OLD_UNOWN_B + 4)
-#define HOENN_DEX_OLD_UNOWN_G (HOENN_DEX_OLD_UNOWN_B + 5)
-#define HOENN_DEX_OLD_UNOWN_H (HOENN_DEX_OLD_UNOWN_B + 6)
-#define HOENN_DEX_OLD_UNOWN_I (HOENN_DEX_OLD_UNOWN_B + 7)
-#define HOENN_DEX_OLD_UNOWN_J (HOENN_DEX_OLD_UNOWN_B + 8)
-#define HOENN_DEX_OLD_UNOWN_K (HOENN_DEX_OLD_UNOWN_B + 9)
-#define HOENN_DEX_OLD_UNOWN_L (HOENN_DEX_OLD_UNOWN_B + 10)
-#define HOENN_DEX_OLD_UNOWN_M (HOENN_DEX_OLD_UNOWN_B + 11)
-#define HOENN_DEX_OLD_UNOWN_N (HOENN_DEX_OLD_UNOWN_B + 12)
-#define HOENN_DEX_OLD_UNOWN_O (HOENN_DEX_OLD_UNOWN_B + 13)
-#define HOENN_DEX_OLD_UNOWN_P (HOENN_DEX_OLD_UNOWN_B + 14)
-#define HOENN_DEX_OLD_UNOWN_Q (HOENN_DEX_OLD_UNOWN_B + 15)
-#define HOENN_DEX_OLD_UNOWN_R (HOENN_DEX_OLD_UNOWN_B + 16)
-#define HOENN_DEX_OLD_UNOWN_S (HOENN_DEX_OLD_UNOWN_B + 17)
-#define HOENN_DEX_OLD_UNOWN_T (HOENN_DEX_OLD_UNOWN_B + 18)
-#define HOENN_DEX_OLD_UNOWN_U (HOENN_DEX_OLD_UNOWN_B + 19)
-#define HOENN_DEX_OLD_UNOWN_V (HOENN_DEX_OLD_UNOWN_B + 20)
-#define HOENN_DEX_OLD_UNOWN_W (HOENN_DEX_OLD_UNOWN_B + 21)
-#define HOENN_DEX_OLD_UNOWN_X (HOENN_DEX_OLD_UNOWN_B + 22)
-#define HOENN_DEX_OLD_UNOWN_Y (HOENN_DEX_OLD_UNOWN_B + 23)
-#define HOENN_DEX_OLD_UNOWN_Z (HOENN_DEX_OLD_UNOWN_B + 24)
-
#endif // GUARD_CONSTANTS_SPECIES_H
diff --git a/include/constants/tv.h b/include/constants/tv.h
index 3fe6c57b24..4c8dd4fa83 100644
--- a/include/constants/tv.h
+++ b/include/constants/tv.h
@@ -8,6 +8,14 @@
#define POKENEWS_BLENDMASTER 4
#define NUM_POKENEWS_TYPES 4 // Excludes NONE
+#define POKENEWS_STATE_INACTIVE 0
+#define POKENEWS_STATE_UPCOMING 1
+#define POKENEWS_STATE_ACTIVE 2
+
+// Number of days to count down until the news event occurs.
+// Nothing is aired on TV the first day
+#define POKENEWS_COUNTDOWN 4
+
// TV shows are categorized as being in one of 3 groups
// - TVGROUP_NORMAL, TV shows that can appear without Record Mixing
// - TVGROUP_RECORD_MIX, TV shows that can only appear via Record Mixing
diff --git a/include/constants/wild_encounter.h b/include/constants/wild_encounter.h
new file mode 100644
index 0000000000..a78cd126f3
--- /dev/null
+++ b/include/constants/wild_encounter.h
@@ -0,0 +1,11 @@
+#ifndef GUARD_CONSTANTS_WILD_ENCOUNTER_H
+#define GUARD_CONSTANTS_WILD_ENCOUNTER_H
+
+#define LAND_WILD_COUNT 12
+#define WATER_WILD_COUNT 5
+#define ROCK_WILD_COUNT 5
+#define FISH_WILD_COUNT 10
+
+#define NUM_ALTERING_CAVE_TABLES 9
+
+#endif // GUARD_CONSTANTS_WILD_ENCOUNTER_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 4d2bc7c983..c9ef4428f7 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -2,7 +2,6 @@
#define GUARD_EASYCHAT_H
#include "main.h"
-#include "constants/easy_chat.h"
struct EasyChatScreenTemplate
{
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 6ad4b55e4f..d31802a67f 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -96,10 +96,9 @@ void SetSpritePosToOffsetMapCoords(s16 *, s16 *, s16, s16);
void ObjectEventClearHeldMovement(struct ObjectEvent *);
void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *);
void TrySpawnObjectEvents(s16, s16);
-u8 CreateObjectSprite(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
-u8 AddPseudoObjectEvent(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
+u8 CreateObjectGraphicsSprite(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
u8 TrySpawnObjectEvent(u8, u8, u8);
-u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z);
+u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation);
u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void);
@@ -110,8 +109,8 @@ const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId);
void SetObjectInvisibility(u8, u8, u8, bool8);
void FreeAndReserveObjectSpritePalettes(void);
void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
-void ResetObjectPriority(u8, u8, u8);
-void SetObjectPriority(u8, u8, u8, u8);
+void ResetObjectSubpriority(u8, u8, u8);
+void SetObjectSubpriority(u8, u8, u8, u8);
void AllowObjectAtPosTriggerGroundEffects(s16, s16);
void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup);
void ShiftObjectEventCoords(struct ObjectEvent *, s16, s16);
@@ -129,7 +128,7 @@ u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32);
void MoveCoords(u8, s16 *, s16 *);
bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *);
u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *);
-u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z);
+u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation);
void SetTrainerMovementType(struct ObjectEvent *objectEvent, u8 movementType);
u8 GetTrainerFacingDirectionMovementType(u8 direction);
const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId);
@@ -163,24 +162,21 @@ u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent);
u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *objectEvent);
void TryOverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent, u8 movementType);
void OverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent);
-void ShiftStillObjectEventCoords(struct ObjectEvent *pObject);
-void ObjectEventMoveDestCoords(struct ObjectEvent *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
+void ShiftStillObjectEventCoords(struct ObjectEvent *objEvent);
+void ObjectEventMoveDestCoords(struct ObjectEvent *objEvent, u32 direction, s16 *x, s16 *y);
u8 AddCameraObject(u8 linkedSpriteId);
void UpdateObjectEventsForCameraUpdate(s16 x, s16 y);
u8 GetWalkSlowMovementAction(u32);
u8 GetJumpMovementAction(u32);
-bool8 AreZCoordsCompatible(u8, u8);
-u8 ZCoordToPriority(u8);
-void ObjectEventUpdateZCoord(struct ObjectEvent *pObject);
-void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
-bool8 IsZCoordMismatchAt(u8, s16, s16);
+u8 ElevationToPriority(u8);
+void ObjectEventUpdateElevation(struct ObjectEvent *objEvent);
+void SetObjectSubpriorityByElevation(u8, struct Sprite *, u8);
void UnfreezeObjectEvent(struct ObjectEvent *);
u8 FindLockedObjectEventIndex(struct ObjectEvent *);
void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
bool8 SpriteAnimEnded(struct Sprite *);
void UnfreezeObjectEvents(void);
void FreezeObjectEventsExceptOne(u8 objectEventId);
-void TurnObjectEventSprite(u8, u8);
void FreezeObjectEventsExceptTwo(u8 objectEventId1, u8 objectEventId2);
void FreezeObjectEvents(void);
bool8 FreezeObjectEvent(struct ObjectEvent *objectEvent);
@@ -414,10 +410,13 @@ 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 *);
-void SetObjectEventSpriteInvisibility(u8 objectEventId, bool32 invisible);
-bool32 IsObjectEventSpriteInvisible(u8 objectEventId);
-void SetObjectEventSpriteGraphics(u8 objectEventId, u8 graphicsId);
-void SetObjectEventSpriteAnim(u8 objectEventId, u8 animNum);
-bool32 IsObjectEventSpriteAnimating(u8 objectEventId);
+
+u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction);
+void TurnVirtualObject(u8 virtualObjId, u8 direction);
+void SetVirtualObjectGraphics(u8 virtualObjId, u8 graphicsId);
+void SetVirtualObjectInvisibility(u8 virtualObjId, bool32 invisible);
+bool32 IsVirtualObjectInvisible(u8 virtualObjId);
+void SetVirtualObjectSpriteAnim(u8 virtualObjId, u8 animNum);
+bool32 IsVirtualObjectAnimating(u8 virtualObjId);
#endif //GUARD_EVENT_OBJECT_MOVEMENT_H
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index 17e5afb63e..e02fcd5afe 100644
--- a/include/field_control_avatar.h
+++ b/include/field_control_avatar.h
@@ -25,15 +25,9 @@ struct FieldInput
void FieldClearPlayerInput(struct FieldInput *pStruct);
void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);
int ProcessPlayerFieldInput(struct FieldInput *pStruct);
-u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void);
void RestartWildEncounterImmunitySteps(void);
-u8 *sub_8068E24(struct MapPosition *);
const u8 *GetObjectEventScriptPointerPlayerFacing(void);
-bool8 sub_8068870(u16 a);
-bool8 sub_8068894(void);
-bool8 sub_8068A64(struct MapPosition *, u16);
-u8 sub_8068F18(void);
bool8 TryDoDiveWarp(struct MapPosition *position, u16 b);
int SetCableClubWarp(void);
u8 TrySetDiveWarp(void);
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 823564f226..d382de08c8 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -30,7 +30,7 @@ void PlayerSetAnimId(u8 a, u8 b);
bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction);
void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction);
u8 CheckForObjectEventCollision(struct ObjectEvent *a, s16 b, s16 c, u8 d, u8 e);
-u8 PlayerGetZCoord(void);
+u8 PlayerGetElevation(void);
void SetPlayerAvatarTransitionFlags(u16 a);
void CancelPlayerForcedMovement(void);
void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 d);
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index 4e4725041a..6dc9b077d2 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -22,7 +22,7 @@ void FieldCB_ReturnToFieldNoScript(void);
void FieldCB_ReturnToFieldNoScriptCheckMusic(void);
void DoWarp(void);
void DoDiveWarp(void);
-void DoSootopolisLegendWarp(void);
+void DoWhiteFadeWarp(void);
void DoDoorWarp(void);
void DoFallWarp(void);
void DoEscalatorWarp(u8 metatileBehavior);
@@ -33,13 +33,12 @@ void DoMossdeepGymWarp(void);
void DoPortholeWarp(void);
void DoCableClubWarp(void);
void DoContestHallWarp(void);
-void AnimateFlash(u8 flashLevel);
+void AnimateFlash(u8 newFlashLevel);
void WriteBattlePyramidViewScanlineEffectBuffer(void);
void DoSpinEnterWarp(void);
void DoSpinExitWarp(void);
void DoOrbEffect(void);
void FadeOutOrbEffect(void);
-void sub_80B05B4(void);
void WriteFlashScanlineEffectBuffer(u8 flashLevel);
bool8 IsPlayerStandingStill(void);
diff --git a/include/field_special_scene.h b/include/field_special_scene.h
index a54b344d9b..3f701f41bf 100644
--- a/include/field_special_scene.h
+++ b/include/field_special_scene.h
@@ -9,7 +9,6 @@ void Task_Truck3(u8 taskId);
void Task_HandleTruckSequence(u8 taskId);
void ExecuteTruckSequence(void);
void EndTruckSequence(u8);
-void sub_80C791C(void);
void FieldCB_ShowPortholeView(void);
#endif // GUARD_FIELD_SPECIAL_SCENE_H
diff --git a/include/field_weather.h b/include/field_weather.h
index 72a56ab6ec..1d8cfe4220 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -221,9 +221,9 @@ void Bubbles_Main(void);
void Bubbles_InitAll(void);
bool8 Bubbles_Finish(void);
-u8 GetSav1Weather(void);
-void SetSav1Weather(u32 weather);
-void SetSav1WeatherFromCurrMapHeader(void);
+u8 GetSavedWeather(void);
+void SetSavedWeather(u32 weather);
+void SetSavedWeatherFromCurrMapHeader(void);
void SetWeather(u32 weather);
void DoCurrentWeather(void);
void UpdateWeatherPerDay(u16 increment);
diff --git a/include/fieldmap.h b/include/fieldmap.h
index 28da8da2a3..e7497f7bd4 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -7,7 +7,7 @@
#define NUM_METATILES_TOTAL 1024
#define NUM_PALS_IN_PRIMARY 6
#define NUM_PALS_TOTAL 13
-#define MAX_MAP_DATA_SIZE 0x2800
+#define MAX_MAP_DATA_SIZE 10240
// Map coordinates are offset by 7 when using the map
// buffer because it needs to load sufficient border
@@ -29,10 +29,10 @@ void GetCameraCoords(u16*, u16*);
bool8 MapGridIsImpassableAt(int, int);
int GetMapBorderIdAt(int x, int y);
bool32 CanCameraMoveInDirection(int direction);
-u16 GetBehaviorByMetatileId(u16 metatileId);
+u16 GetMetatileAttributesById(u16 metatileId);
void GetCameraFocusCoords(u16 *x, u16 *y);
u8 MapGridGetMetatileLayerTypeAt(int x, int y);
-u8 MapGridGetZCoordAt(int x, int y);
+u8 MapGridGetElevationAt(int x, int y);
bool8 CameraMove(int deltaX, int deltaY);
void SaveMapView(void);
void SetCameraFocusCoords(u16 x, u16 y);
diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h
index eeb79391b5..a057c2da61 100644
--- a/include/gba/m4a_internal.h
+++ b/include/gba/m4a_internal.h
@@ -349,7 +349,7 @@ struct MusicPlayer
{
struct MusicPlayerInfo *info;
struct MusicPlayerTrack *track;
- u8 unk_8;
+ u8 numTracks;
u16 unk_A;
};
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 33be942c80..974fa3382b 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -1,13 +1,30 @@
#ifndef GUARD_GLOBAL_FIELDMAP_H
#define GUARD_GLOBAL_FIELDMAP_H
-#define METATILE_BEHAVIOR_MASK 0x00FF
-#define METATILE_COLLISION_MASK 0x0C00
-#define METATILE_ID_MASK 0x03FF
-#define METATILE_ID_UNDEFINED 0x03FF
-#define METATILE_ELEVATION_SHIFT 12
-#define METATILE_COLLISION_SHIFT 10
-#define METATILE_ELEVATION_MASK 0xF000
+// Masks/shifts for blocks in the map grid
+// Map grid blocks consist of a 10 bit metatile id, a 2 bit collision value, and a 4 bit elevation value
+// This is the data stored in each data/layouts/*/map.bin file
+#define MAPGRID_METATILE_ID_MASK 0x03FF // Bits 1-10
+#define MAPGRID_COLLISION_MASK 0x0C00 // Bits 11-12
+#define MAPGRID_ELEVATION_MASK 0xF000 // Bits 13-16
+#define MAPGRID_COLLISION_SHIFT 10
+#define MAPGRID_ELEVATION_SHIFT 12
+
+// An undefined map grid block has all metatile id bits set and nothing else
+#define MAPGRID_UNDEFINED MAPGRID_METATILE_ID_MASK
+
+// Masks/shifts for metatile attributes
+// Metatile attributes consist of an 8 bit behavior value, 4 unused bits, and a 4 bit layer type value
+// This is the data stored in each data/tilesets/*/*/metatile_attributes.bin file
+#define METATILE_ATTR_BEHAVIOR_MASK 0x00FF // Bits 1-8
+#define METATILE_ATTR_LAYER_MASK 0xF000 // Bits 13-16
+#define METATILE_ATTR_LAYER_SHIFT 12
+
+enum {
+ METATILE_LAYER_TYPE_NORMAL, // Metatile uses middle and top bg layers
+ METATILE_LAYER_TYPE_COVERED, // Metatile uses bottom and middle bg layers
+ METATILE_LAYER_TYPE_SPLIT, // Metatile uses bottom and top bg layers
+};
#define METATILE_ID(tileset, name) (METATILE_##tileset##_##name)
@@ -16,18 +33,6 @@
// for constructing large tiles, such as the Battle Pike's curtain tile.
#define METATILE_ROW_WIDTH 8
-enum
-{
- CONNECTION_INVALID = -1,
- CONNECTION_NONE,
- CONNECTION_SOUTH,
- CONNECTION_NORTH,
- CONNECTION_WEST,
- CONNECTION_EAST,
- CONNECTION_DIVE,
- CONNECTION_EMERGE
-};
-
typedef void (*TilesetCB)(void);
struct Tileset
diff --git a/include/global.h b/include/global.h
index 53e9ba1341..0122ecd5c4 100644
--- a/include/global.h
+++ b/include/global.h
@@ -9,7 +9,11 @@
#include "constants/flags.h"
#include "constants/vars.h"
#include "constants/species.h"
+#include "constants/pokedex.h"
#include "constants/berry.h"
+#include "constants/maps.h"
+#include "constants/pokemon.h"
+#include "constants/easy_chat.h"
// Prevent cross-jump optimization.
#define BLOCK_CROSS_JUMP asm("");
@@ -124,8 +128,11 @@
#define ROUND_BITS_TO_BYTES(numBits) DIV_ROUND_UP(numBits, 8)
-#define DEX_FLAGS_NO ROUND_BITS_TO_BYTES(NUM_SPECIES)
+// 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.
+#define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(NUM_SPECIES)
#define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT)
+#define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES)
struct Coords8
{
@@ -180,8 +187,8 @@ struct Pokedex
/*0x04*/ u32 unownPersonality; // set when you first see Unown
/*0x08*/ u32 spindaPersonality; // set when you first see Spinda
/*0x0C*/ u32 unknown3;
- /*0x10*/ u8 owned[DEX_FLAGS_NO];
- /*0x44*/ u8 seen[DEX_FLAGS_NO];
+ /*0x10*/ u8 owned[NUM_DEX_FLAG_BYTES];
+ /*0x44*/ u8 seen[NUM_DEX_FLAG_BYTES];
};
struct PokemonJumpRecords
@@ -943,7 +950,7 @@ struct SaveBlock1
/*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
/*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
- /*0x988*/ u8 seen1[DEX_FLAGS_NO];
+ /*0x988*/ u8 seen1[NUM_DEX_FLAG_BYTES];
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 unused_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
@@ -971,10 +978,10 @@ struct SaveBlock1
/*0x2B92*/ u8 outbreakLocationMapNum;
/*0x2B93*/ u8 outbreakLocationMapGroup;
/*0x2B94*/ u8 outbreakPokemonLevel;
- /*0x2B95*/ u8 outbreakUnk1;
- /*0x2B96*/ u16 outbreakUnk2;
+ /*0x2B95*/ u8 outbreakUnused1;
+ /*0x2B96*/ u16 outbreakUnused2;
/*0x2B98*/ u16 outbreakPokemonMoves[MAX_MON_MOVES];
- /*0x2BA0*/ u8 outbreakUnk4;
+ /*0x2BA0*/ u8 outbreakUnused3;
/*0x2BA1*/ u8 outbreakPokemonProbability;
/*0x2BA2*/ u16 outbreakDaysLeft;
/*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData;
@@ -983,7 +990,7 @@ struct SaveBlock1
/*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BE0*/ struct Mail mail[MAIL_COUNT];
- /*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system
+ /*0x2E20*/ u8 additionalPhrases[NUM_ADDITIONAL_PHRASE_BYTES]; // bitfield for 33 additional phrases in easy chat system
/*0x2E28*/ OldMan oldMan;
/*0x2e64*/ struct DewfordTrend dewfordTrends[SAVED_TRENDS_COUNT];
/*0x2e90*/ struct ContestWinner contestWinners[NUM_CONTEST_WINNERS]; // see CONTEST_WINNER_*
@@ -999,7 +1006,7 @@ struct SaveBlock1
/*0x3718*/ u32 trainerHillTimes[4];
/*0x3728*/ struct RamScript ramScript;
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
- /*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
+ /*0x3B24*/ u8 seen2[NUM_DEX_FLAG_BYTES];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B98*/ struct TrainerNameRecord trainerNameRecords[20];
/*0x3C88*/ u8 registeredTexts[UNION_ROOM_KB_ROW_COUNT][21];
@@ -1015,7 +1022,7 @@ struct MapPosition
{
s16 x;
s16 y;
- s8 height;
+ s8 elevation;
};
#endif // GUARD_GLOBAL_H
diff --git a/include/global.tv.h b/include/global.tv.h
index 2bc7dda998..e24ead3f21 100644
--- a/include/global.tv.h
+++ b/include/global.tv.h
@@ -61,7 +61,7 @@ typedef union // size = 0x24
/*0x0F*/ u8 filler_0F[1];
/*0x10*/ u8 nickname[PLAYER_NAME_LENGTH + 1];
/*0x18*/ u16 words18[2];
- /*0x1C*/ u16 words[4];
+ /*0x1C*/ u16 words[2];
} fanclubOpinions;
// TVSHOW_DUMMY
@@ -334,7 +334,7 @@ typedef union // size = 0x24
/*0x00*/ u8 kind;
/*0x01*/ bool8 active;
/*0x02*/ u8 avgLevel;
- /*0x03*/ u8 nDecorations;
+ /*0x03*/ u8 numDecorations;
/*0x04*/ u8 decorations[4];
/*0x08*/ u16 species;
/*0x0a*/ u16 move;
@@ -437,8 +437,8 @@ typedef union // size = 0x24
struct {
/*0x00*/ u8 kind;
/*0x01*/ bool8 active;
- /*0x02*/ u8 nMonsCaught;
- /*0x03*/ u8 nPkblkUsed;
+ /*0x02*/ u8 monsCaught;
+ /*0x03*/ u8 pokeblocksUsed;
/*0x04*/ u8 language;
/*0x05*/ u8 filler_05[14];
/*0x13*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
@@ -449,27 +449,27 @@ typedef union // size = 0x24
struct {
/*0x00*/ u8 kind;
/*0x01*/ bool8 active;
- /*0x02*/ u8 var02;
- /*0x03*/ u8 var03;
+ /*0x02*/ u8 unused1;
+ /*0x03*/ u8 unused3;
/*0x04*/ u16 moves[MAX_MON_MOVES];
/*0x0C*/ u16 species;
- /*0x0E*/ u16 var0E;
+ /*0x0E*/ u16 unused2;
/*0x10*/ u8 locationMapNum;
/*0x11*/ u8 locationMapGroup;
- /*0x12*/ u8 var12;
+ /*0x12*/ u8 unused4;
/*0x13*/ u8 probability;
/*0x14*/ u8 level;
- /*0x15*/ u8 var15;
+ /*0x15*/ u8 unused5;
/*0x16*/ u16 daysLeft;
/*0x18*/ u8 language;
} massOutbreak;
} TVShow;
-typedef struct // 2b50
+typedef struct
{
u8 kind;
u8 state;
- u16 days;
+ u16 dayCountdown;
} PokeNews;
struct GabbyAndTyData
diff --git a/include/graphics.h b/include/graphics.h
index e2fe5cf778..0972743c5f 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -5,31 +5,31 @@
extern const u32 gMessageBox_Gfx[];
extern const u16 gMessageBox_Pal[];
-// interface pokeballs
-extern const u32 gInterfaceGfx_PokeBall[];
-extern const u32 gInterfacePal_PokeBall[];
-extern const u32 gInterfaceGfx_GreatBall[];
-extern const u32 gInterfacePal_GreatBall[];
-extern const u32 gInterfaceGfx_SafariBall[];
-extern const u32 gInterfacePal_SafariBall[];
-extern const u32 gInterfaceGfx_UltraBall[];
-extern const u32 gInterfacePal_UltraBall[];
-extern const u32 gInterfaceGfx_MasterBall[];
-extern const u32 gInterfacePal_MasterBall[];
-extern const u32 gInterfaceGfx_NetBall[];
-extern const u32 gInterfacePal_NetBall[];
-extern const u32 gInterfaceGfx_DiveBall[];
-extern const u32 gInterfacePal_DiveBall[];
-extern const u32 gInterfaceGfx_NestBall[];
-extern const u32 gInterfacePal_NestBall[];
-extern const u32 gInterfaceGfx_RepeatBall[];
-extern const u32 gInterfacePal_RepeatBall[];
-extern const u32 gInterfaceGfx_TimerBall[];
-extern const u32 gInterfacePal_TimerBall[];
-extern const u32 gInterfaceGfx_LuxuryBall[];
-extern const u32 gInterfacePal_LuxuryBall[];
-extern const u32 gInterfaceGfx_PremierBall[];
-extern const u32 gInterfacePal_PremierBall[];
+// pokeballs
+extern const u32 gBallGfx_Poke[];
+extern const u32 gBallPal_Poke[];
+extern const u32 gBallGfx_Great[];
+extern const u32 gBallPal_Great[];
+extern const u32 gBallGfx_Safari[];
+extern const u32 gBallPal_Safari[];
+extern const u32 gBallGfx_Ultra[];
+extern const u32 gBallPal_Ultra[];
+extern const u32 gBallGfx_Master[];
+extern const u32 gBallPal_Master[];
+extern const u32 gBallGfx_Net[];
+extern const u32 gBallPal_Net[];
+extern const u32 gBallGfx_Dive[];
+extern const u32 gBallPal_Dive[];
+extern const u32 gBallGfx_Nest[];
+extern const u32 gBallPal_Nest[];
+extern const u32 gBallGfx_Repeat[];
+extern const u32 gBallPal_Repeat[];
+extern const u32 gBallGfx_Timer[];
+extern const u32 gBallPal_Timer[];
+extern const u32 gBallGfx_Luxury[];
+extern const u32 gBallPal_Luxury[];
+extern const u32 gBallGfx_Premier[];
+extern const u32 gBallPal_Premier[];
extern const u32 gOpenPokeballGfx[];
// pokemon gfx
@@ -4035,16 +4035,16 @@ extern const u32 gPokenavRibbonsSummaryBg_Tilemap[];
extern const u32 gSummaryScreen_Gfx[];
extern const u32 gSummaryScreen_Pal[];
extern const u32 gSummaryPage_Info_Tilemap[];
-extern const u32 gSummaryPage_InfoCopy_Tilemap[];
+extern const u32 gSummaryPage_InfoEgg_Tilemap[];
extern const u32 gSummaryPage_Skills_Tilemap[];
extern const u32 gSummaryPage_BattleMoves_Tilemap[];
extern const u32 gSummaryPage_ContestMoves_Tilemap[];
extern const u16 gPPTextPalette[];
-extern const u16 gSummaryScreenWindow_Tilemap[];
extern const u32 gMoveTypes_Pal[];
-extern const u16 gSummaryScreenPowAcc_Tilemap[];
-extern const u16 gSummaryScreenAppealJam_Tilemap[];
+extern const u16 gSummaryScreen_MoveEffect_Battle_Tilemap[];
+extern const u16 gSummaryScreen_MoveEffect_Contest_Tilemap[];
+extern const u16 gSummaryScreen_MoveEffect_Cancel_Tilemap[];
extern const u32 gMoveTypes_Gfx[];
extern const u32 gSummaryMoveSelect_Gfx[];
@@ -4052,10 +4052,10 @@ extern const u32 gSummaryMoveSelect_Pal[];
extern const u32 gStatusGfx_Icons[];
extern const u32 gStatusPal_Icons[];
-extern const u32 gBuyMenuFrame_Gfx[];
-extern const u32 gBuyMenuFrame_Tilemap[];
-extern const u32 gMenuMoneyGfx[];
-extern const u32 gMenuMoneyPal[];
+extern const u32 gShopMenu_Gfx[];
+extern const u32 gShopMenu_Tilemap[];
+extern const u32 gShopMenu_Pal[];
+extern const u32 gShopMenuMoney_Gfx[];
extern const u32 gBattleInterface_BallStatusBarGfx[];
extern const u8 gBattleInterface_BallDisplayGfx[];
@@ -4094,8 +4094,8 @@ extern const u32 gBlankGfxCompressed[];
extern const u16 gBattleInterface_BallStatusBarPal[];
extern const u16 gBattleInterface_BallDisplayPal[];
-extern const u32 gBagSwapLineGfx[];
-extern const u32 gBagSwapLinePal[];
+extern const u32 gSwapLineGfx[];
+extern const u32 gSwapLinePal[];
extern const u32 gBattlePyramidBag_Gfx[];
extern const u32 gBattlePyramidBag_Pal[];
@@ -4121,11 +4121,11 @@ extern const u32 gDomeTourneyInfoCardBg_Tilemap[];
extern const u32 gDomeTourneyTree_Pal[];
extern const u32 gDomeTourneyTreeButtons_Pal[];
extern const u32 gDomeTourneyMatchCardBg_Pal[];
-extern const u32 gDomeTourneyBg_Gfx[];
+extern const u32 gDomeTourneyTree_Gfx[];
extern const u32 gDomeTourneyLine_Gfx[];
extern const u32 gDomeTourneyLineDown_Tilemap[];
extern const u32 gDomeTourneyLineUp_Tilemap[];
-extern const u32 gDomeTourneyLineMask_Tilemap[];
+extern const u32 gDomeTourneyTree_Tilemap[];
extern const u32 gDomeTourneyTreeButtons_Gfx[];
extern const u16 gTilesetAnims_BattleDomePals0_0[];
extern const u16 gTilesetAnims_BattleDomePals0_1[];
@@ -5002,7 +5002,7 @@ extern const u16 gUsePokeblockCondition_Pal[];
// Berry Crush
extern const u32 gBerryCrush_Crusher_Gfx[];
extern const u16 gBerryCrush_Crusher_Pal[];
-extern const u32 gBerryCrush_Crusher_Tilemap[];
+extern const u32 gBerryCrush_TextWindows_Tilemap[];
// Pokenav
extern const u32 gPokenavMessageBox_Gfx[];
diff --git a/include/item.h b/include/item.h
index ceca83bd5f..bcd9178e54 100644
--- a/include/item.h
+++ b/include/item.h
@@ -14,7 +14,7 @@ struct Item
u8 holdEffectParam;
const u8 *description;
u8 importance;
- u8 unk19;
+ bool8 registrability; // unused
u8 pocket;
u8 type;
ItemUseFunc fieldUseFunc;
@@ -68,7 +68,7 @@ u8 ItemId_GetHoldEffect(u16 itemId);
u8 ItemId_GetHoldEffectParam(u16 itemId);
const u8 *ItemId_GetDescription(u16 itemId);
u8 ItemId_GetImportance(u16 itemId);
-u8 ItemId_GetUnknownValue(u16 itemId);
+u8 ItemId_GetRegistrability(u16 itemId);
u8 ItemId_GetPocket(u16 itemId);
u8 ItemId_GetType(u16 itemId);
ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
diff --git a/include/mail.h b/include/mail.h
index 8236811cbd..68c532b310 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -27,7 +27,7 @@ u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
u8 GiveMailToMon(struct Pokemon *mon, struct Mail *mail);
void TakeMailFromMon(struct Pokemon *mon);
void ClearMailItemId(u8 mailId);
-u8 TakeMailFromMon2(struct Pokemon *mon);
+u8 TakeMailFromMonAndSave(struct Pokemon *mon);
bool8 ItemIsMail(u16 itemId);
#endif // GUARD_MAIL_H
diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h
index 23a3cabfb4..b22294f1be 100644
--- a/include/mauville_old_man.h
+++ b/include/mauville_old_man.h
@@ -6,9 +6,7 @@ extern struct BardSong gBardSong;
void SetMauvilleOldMan(void);
u8 GetCurrentMauvilleOldMan(void);
void SetMauvilleOldManObjEventGfx(void);
-u8 sub_81201C8(void);
void SanitizeMauvilleOldManForRuby(OldMan *dest);
-void sub_8120670(void);
void SanitizeReceivedRubyOldMan(union OldMan * oldMan, u32 r1, u32 r6);
void SanitizeReceivedEmeraldOldMan(union OldMan * oldMan, u32 unused, u32 a2);
void ResetMauvilleOldManFlag(void);
diff --git a/include/menu.h b/include/menu.h
index 69000d4089..bf3f56aeab 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -4,7 +4,6 @@
#include "task.h"
#include "text.h"
#include "window.h"
-#include "constants/pokemon.h"
#define MENU_NOTHING_CHOSEN -2
#define MENU_B_PRESSED -1
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index 23c84dffb1..c2d0d23ee3 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -57,7 +57,7 @@ bool8 MetatileBehavior_IsSecretBaseTree(u8);
bool8 MetatileBehavior_IsSecretBaseShrub(u8);
bool8 MetatileBehavior_IsSecretBasePC(u8);
bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8);
-bool8 MetatileBehavior_IsBlockDecoration(u8);
+bool8 MetatileBehavior_IsSecretBaseTrainerSpot(u8);
bool8 MetatileBehavior_IsSecretBaseImpassable(u8);
bool8 MetatileBehavior_IsSecretBaseDecorationBase(u8);
bool8 MetatileBehavior_IsSecretBasePoster(u8);
@@ -102,10 +102,10 @@ bool8 MetatileBehavior_IsShortGrass(u8);
bool8 MetatileBehavior_IsHotSprings(u8);
bool8 MetatileBehavior_IsWaterfall(u8);
bool8 MetatileBehavior_IsFortreeBridge(u8);
-bool8 MetatileBehavior_IsPacifidlogVerticalLog1(u8);
-bool8 MetatileBehavior_IsPacifidlogVerticalLog2(u8);
-bool8 MetatileBehavior_IsPacifidlogHorizontalLog1(u8);
-bool8 MetatileBehavior_IsPacifidlogHorizontalLog2(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);
diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h
index 32b9f009f6..198a07e857 100644
--- a/include/mystery_event_script.h
+++ b/include/mystery_event_script.h
@@ -1,8 +1,16 @@
#ifndef GUARD_MYSTERY_EVENT_SCRIPT_H
#define GUARD_MYSTERY_EVENT_SCRIPT_H
+enum {
+ MEVENT_STATUS_LOAD_OK,
+ MEVENT_STATUS_LOAD_ERROR,
+ MEVENT_STATUS_SUCCESS,
+ MEVENT_STATUS_FAILURE,
+ MEVENT_STATUS_FF = 0xFF
+};
+
void InitMysteryEventScriptContext(u8 *script);
-bool32 RunMysteryEventScriptContextCommand(u32 *script);
+bool32 RunMysteryEventScriptContextCommand(u32 *status);
u32 RunMysteryEventScript(u8 *script);
void SetMysteryEventScriptStatus(u32 val);
u16 GetRecordMixingGift(void);
diff --git a/include/overworld.h b/include/overworld.h
index e1cf100db5..b8794ea70f 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -40,20 +40,18 @@ struct LinkPlayerObjectEvent
u8 movementMode;
};
-// Exported RAM declarations
extern struct WarpData gLastUsedWarp;
extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4];
-extern u16 *gBGTilemapBuffers1;
-extern u16 *gBGTilemapBuffers2;
-extern u16 *gBGTilemapBuffers3;
+extern u16 *gOverworldTilemapBuffer_Bg2;
+extern u16 *gOverworldTilemapBuffer_Bg1;
+extern u16 *gOverworldTilemapBuffer_Bg3;
extern u16 gHeldKeyCodeToSend;
extern void (*gFieldCallback)(void);
extern bool8 (*gFieldCallback2)(void);
extern u8 gLocalLinkPlayerId;
extern u8 gFieldLinkPlayerCount;
-// Exported ROM declarations
extern const struct UCoords32 gDirectionToVectors[];
void DoWhiteOut(void);
@@ -67,8 +65,8 @@ void SetGameStat(u8 index, u32 value);
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
void LoadObjEventTemplatesFromHeader(void);
void LoadSaveblockObjEventScripts(void);
-void Overworld_SetObjEventTemplateCoords(u8 localId, s16 x, s16 y);
-void Overworld_SetObjEventTemplateMovementType(u8 localId, u8 movementType);
+void SetObjEventTemplateCoords(u8 localId, s16 x, s16 y);
+void SetObjEventTemplateMovementType(u8 localId, u8 movementType);
const struct MapLayout *GetMapLayout(void);
void ApplyCurrentWarp(void);
struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
@@ -98,8 +96,8 @@ void ResetInitialPlayerAvatarState(void);
void StoreInitialPlayerAvatarState(void);
bool32 Overworld_IsBikingAllowed(void);
void SetDefaultFlashLevel(void);
-void Overworld_SetFlashLevel(s32 flashLevel);
-u8 Overworld_GetFlashLevel(void);
+void SetFlashLevel(s32 flashLevel);
+u8 GetFlashLevel(void);
void SetCurrentMapLayout(u16 mapLayoutId);
void SetObjectEventLoadFlag(u8 var);
u16 GetLocationMusic(struct WarpData *warp);
diff --git a/include/pokeblock.h b/include/pokeblock.h
index 9e01614951..24e6ea8569 100644
--- a/include/pokeblock.h
+++ b/include/pokeblock.h
@@ -1,9 +1,6 @@
#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
-#include "constants/berry.h"
-#include "constants/pokemon.h"
-
#define TAG_POKEBLOCK 14818
enum
diff --git a/include/pokemon.h b/include/pokemon.h
index f3f7586888..c17cd2ddfc 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -1,7 +1,6 @@
#ifndef GUARD_POKEMON_H
#define GUARD_POKEMON_H
-#include "constants/pokemon.h"
#include "sprite.h"
struct PokemonSubstruct0
@@ -240,10 +239,13 @@ struct BattleMove
u8 flags;
};
+#define SPINDA_SPOT_WIDTH 16
+#define SPINDA_SPOT_HEIGHT 16
+
struct SpindaSpot
{
u8 x, y;
- u16 image[16];
+ u16 image[SPINDA_SPOT_HEIGHT];
};
struct __attribute__((packed)) LevelUpMove
diff --git a/include/save.h b/include/save.h
index be7961136e..89fc9ad33e 100644
--- a/include/save.h
+++ b/include/save.h
@@ -52,8 +52,7 @@ enum
{
SAVE_NORMAL,
SAVE_LINK, // Link / Battle Frontier
- //EREADER_SAVE, // deprecated in Emerald
- SAVE_LINK2, // unknown 2nd link save
+ SAVE_EREADER, // deprecated in Emerald
SAVE_HALL_OF_FAME,
SAVE_OVERWRITE_DIFFERENT_FILE,
SAVE_HALL_OF_FAME_ERASE_BEFORE // unused
diff --git a/include/script_menu.h b/include/script_menu.h
index 086ad147f0..a690ef8b8b 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -8,7 +8,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8
bool8 ScriptMenu_YesNo(u8 left, u8 top);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y);
-bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
+bool8 (*ScriptMenu_HidePokemonPic(void))(void);
int ConvertPixelWidthToTileWidth(int width);
u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height);
void ClearToTransparentAndRemoveWindow(u8 windowId);
diff --git a/include/tv.h b/include/tv.h
index 30cd133265..31c8fcc50f 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -19,7 +19,7 @@ void HideBattleTowerReporter(void);
void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx);
void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx);
u32 GetPlayerIDAsU32(void);
-bool8 GetPriceReduction(u8 newsKind);
+bool8 IsPokeNewsActive(u8 newsKind);
void SanitizeTVShowLocationsForRuby(TVShow *shows);
size_t CountDigits(int value);
u8 GetRibbonCount(struct Pokemon *pokemon);
diff --git a/include/wild_encounter.h b/include/wild_encounter.h
index 09525beff9..8608ec5b16 100644
--- a/include/wild_encounter.h
+++ b/include/wild_encounter.h
@@ -1,10 +1,7 @@
#ifndef GUARD_WILD_ENCOUNTER_H
#define GUARD_WILD_ENCOUNTER_H
-#define LAND_WILD_COUNT 12
-#define WATER_WILD_COUNT 5
-#define ROCK_WILD_COUNT 5
-#define FISH_WILD_COUNT 10
+#include "constants/wild_encounter.h"
struct WildPokemon
{
diff --git a/ld_script.txt b/ld_script.txt
index 8951475df9..b5a35963a4 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -20,7 +20,9 @@ SECTIONS {
. = 0x1C000;
INCLUDE "sym_ewram.ld"
-
+ *libc.a:impure.o(.data);
+ *libc.a:locale.o(.data);
+ *libc.a:mallocr.o(.data);
. = 0x40000;
}
@@ -463,6 +465,7 @@ SECTIONS {
src/mystery_gift_server.o(.rodata);
src/mystery_gift_client.o(.rodata);
src/mystery_gift_scripts.o(.rodata);
+ src/wonder_news.o(.rodata);
src/union_room_chat.o(.rodata);
src/berry_crush.o(.rodata);
src/berry_powder.o(.rodata);
@@ -1247,16 +1250,50 @@ SECTIONS {
src/librfu_sio32id.o(.rodata);
*libgcc.a:_divdi3.o(.rodata);
*libgcc.a:_udivdi3.o(.rodata);
- *libc.a(.rodata);
- *libc.a(.data);
+ *libc.a:memcpy.o(.rodata);
+ *libc.a:memset.o(.rodata);
+ *libc.a:strcmp.o(.rodata);
+ *libc.a:strcpy.o(.rodata);
+ *libc.a:impure.o(.rodata);
+ *libc.a:vsprintf.o(.rodata);
+ *libc.a:vfprintf.o(.rodata);
+ *libc.a:wsetup.o(.rodata);
+ *libc.a:dtoa.o(.rodata);
+ *libc.a:fflush.o(.rodata);
+ *libc.a:findfp.o(.rodata);
+ *libc.a:freer.o(.rodata);
+ *libc.a:mtrim.o(.rodata);
+ *libc.a:fvwrite.o(.rodata);
+ *libc.a:fwalk.o(.rodata);
+ *libc.a:locale.o(.rodata);
+ *libc.a:makebuf.o(.rodata);
+ *libc.a:mallocr.o(.rodata);
+ *libc.a:mbtowc_r.o(.rodata);
+ *libc.a:memchr.o(.rodata);
+ *libc.a:memmove.o(.rodata);
+ *libc.a:mlock.o(.rodata);
+ *libc.a:mprec.o(.rodata);
+ *libc.a:s_isinf.o(.rodata);
+ *libc.a:s_isnan.o(.rodata);
+ *libc.a:sbrkr.o(.rodata);
+ *libc.a:stdio.o(.rodata);
+ *libc.a:strlen.o(.rodata);
*libc.a:syscalls.o(.rodata);
+ *libc.a:writer.o(.rodata);
+ *libc.a:callocr.o(.rodata);
+ *libc.a:closer.o(.rodata);
+ *libc.a:errno.o(.rodata);
+ *libc.a:fstatr.o(.rodata);
+ *libc.a:libcfunc.o(.rodata);
+ *libc.a:lseekr.o(.rodata);
+ *libc.a:readr.o(.rodata);
src/libisagbprn.o(.rodata);
} =0
- other_data :
+ multiboot_data :
ALIGN(4)
{
- data/ereader_link_data.o(.rodata);
+ data/multiboot_ereader.o(.rodata);
data/multiboot_berry_glitch_fix.o(.rodata);
data/multiboot_pokemon_colosseum.o(.rodata);
} =0
diff --git a/ld_script_modern.txt b/ld_script_modern.txt
index ac62abe276..a988fe0cd5 100644
--- a/ld_script_modern.txt
+++ b/ld_script_modern.txt
@@ -27,6 +27,7 @@ SECTIONS {
/* .bss starts at 0x3000000 */
src/*.o(.bss);
gflib/*.o(.bss);
+ data/*.o(.bss);
*libc.a:*.o(.bss*);
*libnosys.a:*.o(.bss*);
@@ -111,10 +112,10 @@ SECTIONS {
src/libisagbprn.o(.rodata);
} =0
- other_data :
+ multiboot_data :
ALIGN(4)
{
- data/ereader_link_data.o(.rodata);
+ data/multiboot_ereader.o(.rodata);
data/multiboot_berry_glitch_fix.o(.rodata);
data/multiboot_pokemon_colosseum.o(.rodata);
} =0
diff --git a/sound/MPlayDef.s b/sound/MPlayDef.s
index f5dd6484d9..95a788e85e 100644
--- a/sound/MPlayDef.s
+++ b/sound/MPlayDef.s
@@ -333,7 +333,7 @@
.equ v066, 66 @
.equ v067, 67 @
.equ v068, 68 @
- .equ v069, 79 @
+ .equ v069, 69 @
.equ v070, 70 @
.equ v071, 71 @
.equ v072, 72 @
diff --git a/sound/music_player_table.inc b/sound/music_player_table.inc
index 6c74a13528..5981a4d037 100644
--- a/sound/music_player_table.inc
+++ b/sound/music_player_table.inc
@@ -1,6 +1,32 @@
+ .equiv TRACK_SIZE, 0x50
+ .equiv NUM_TRACKS_BGM, 10
+ .equiv NUM_TRACKS_SE1, 3
+ .equiv NUM_TRACKS_SE2, 9
+ .equiv NUM_TRACKS_SE3, 1
+
+ .bss
+
+gMPlayTrack_BGM::
+ .space TRACK_SIZE * NUM_TRACKS_BGM
+ .size gMPlayTrack_BGM, .-gMPlayTrack_BGM
+
+gMPlayTrack_SE1::
+ .space TRACK_SIZE * NUM_TRACKS_SE1
+ .size gMPlayTrack_SE1, .-gMPlayTrack_SE1
+
+gMPlayTrack_SE2::
+ .space TRACK_SIZE * NUM_TRACKS_SE2
+ .size gMPlayTrack_SE2, .-gMPlayTrack_SE2
+
+gMPlayTrack_SE3::
+ .space TRACK_SIZE * NUM_TRACKS_SE3
+ .size gMPlayTrack_SE3, .-gMPlayTrack_SE3
+
+ .section .rodata
+
.align 2
gMPlayTable::
- music_player gMPlayInfo_BGM, gMPlayTrack_BGM, 10, 0
- music_player gMPlayInfo_SE1, gMPlayTrack_SE1, 3, 1
- music_player gMPlayInfo_SE2, gMPlayTrack_SE2, 9, 1
- music_player gMPlayInfo_SE3, gMPlayTrack_SE3, 1, 0
+ music_player gMPlayInfo_BGM, gMPlayTrack_BGM, NUM_TRACKS_BGM, 0
+ music_player gMPlayInfo_SE1, gMPlayTrack_SE1, NUM_TRACKS_SE1, 1
+ music_player gMPlayInfo_SE2, gMPlayTrack_SE2, NUM_TRACKS_SE2, 1
+ music_player gMPlayInfo_SE3, gMPlayTrack_SE3, NUM_TRACKS_SE3, 0
diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk
index ae79719602..9fb184638a 100644
--- a/spritesheet_rules.mk
+++ b/spritesheet_rules.mk
@@ -636,7 +636,7 @@ $(FLDEFFGFXDIR)/tall_grass.4bpp: %.4bpp: %.png
$(FLDEFFGFXDIR)/tree_disguise.4bpp: %.4bpp: %.png
$(GFX) $< $@ -mwidth 2 -mheight 4
-$(FLDEFFGFXDIR)/unknown_16.4bpp: %.4bpp: %.png
+$(FLDEFFGFXDIR)/jump_long_grass.4bpp: %.4bpp: %.png
$(GFX) $< $@ -mwidth 2 -mheight 2
$(FLDEFFGFXDIR)/unknown_17.4bpp: %.4bpp: %.png
diff --git a/src/apprentice.c b/src/apprentice.c
index 6255b9215a..591ab79e4d 100644
--- a/src/apprentice.c
+++ b/src/apprentice.c
@@ -23,9 +23,7 @@
#include "task.h"
#include "text.h"
#include "constants/battle_frontier.h"
-#include "constants/easy_chat.h"
#include "constants/items.h"
-#include "constants/pokemon.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "constants/moves.h"
@@ -127,7 +125,7 @@ void BufferApprenticeChallengeText(u8 saveApprenticeId)
for (i = 0; num != 0 && i < APPRENTICE_COUNT; num /= 10, i++)
;
- StringCopy7(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].playerName);
+ StringCopy_PlayerName(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].playerName);
ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[saveApprenticeId].language);
ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[saveApprenticeId].number, STR_CONV_MODE_RIGHT_ALIGN, i);
challengeText = sApprenticeChallengeTexts[gSaveBlock2Ptr->apprentices[saveApprenticeId].id];
diff --git a/src/bard_music.c b/src/bard_music.c
index 114f1cf42f..bdc5ac808a 100644
--- a/src/bard_music.c
+++ b/src/bard_music.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "bard_music.h"
-#include "constants/easy_chat.h"
#include "easy_chat.h"
#include "data/bard_music/bard_sounds.h"
diff --git a/src/battle_anim_smokescreen.c b/src/battle_anim_smokescreen.c
index 9844f50077..0819796d27 100644
--- a/src/battle_anim_smokescreen.c
+++ b/src/battle_anim_smokescreen.c
@@ -5,7 +5,6 @@
#include "graphics.h"
#include "sprite.h"
#include "util.h"
-#include "constants/pokemon.h"
#include "constants/battle_palace.h"
static void SmokescreenImpact_Callback(struct Sprite *);
diff --git a/src/battle_arena.c b/src/battle_arena.c
index 8a993f770f..a7c74366b5 100644
--- a/src/battle_arena.c
+++ b/src/battle_arena.c
@@ -741,7 +741,7 @@ void BattleArena_AddSkillPoints(u8 battler)
}
}
-void BattleArena_DeductMindPoints(u8 battler, u16 stringId)
+void BattleArena_DeductSkillPoints(u8 battler, u16 stringId)
{
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
@@ -798,7 +798,7 @@ static void InitArenaChallenge(void)
if (!isCurrent)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
gTrainerBattleOpponent_A = 0;
}
diff --git a/src/battle_bg.c b/src/battle_bg.c
index 0e4370485c..f739a002f6 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -598,7 +598,7 @@ const struct WindowTemplate * const gBattleWindowTemplates[] =
[B_WIN_TYPE_ARENA] = gBattleArenaWindowTemplates,
};
-static const struct BattleBackground gBattleTerrainTable[] =
+static const struct BattleBackground sBattleTerrainTable[] =
{
[BATTLE_TERRAIN_GRASS] =
{
@@ -807,9 +807,9 @@ void DrawMainBattleBackground(void)
{
default:
case MAP_BATTLE_SCENE_NORMAL:
- LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2)));
- LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26)));
- LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60);
+ LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2)));
+ LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26)));
+ LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_GYM:
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2)));
@@ -1194,8 +1194,8 @@ void DrawBattleEntryBackground(void)
if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL)
{
- LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTileset, (void*)(BG_CHAR_ADDR(1)));
- LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void*)(BG_SCREEN_ADDR(28)));
+ LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTileset, (void*)(BG_CHAR_ADDR(1)));
+ LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTilemap, (void*)(BG_SCREEN_ADDR(28)));
}
else
{
@@ -1251,7 +1251,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
{
default:
case MAP_BATTLE_SCENE_NORMAL:
- LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2)));
+ LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void*)(BG_CHAR_ADDR(2)));
break;
case MAP_BATTLE_SCENE_GYM:
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2)));
@@ -1313,7 +1313,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
{
default:
case MAP_BATTLE_SCENE_NORMAL:
- LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26)));
+ LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26)));
break;
case MAP_BATTLE_SCENE_GYM:
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26)));
@@ -1375,7 +1375,7 @@ bool8 LoadChosenBattleElement(u8 caseId)
{
default:
case MAP_BATTLE_SCENE_NORMAL:
- LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60);
+ LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_GYM:
LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60);
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 2ec2e61dc0..668dd01b42 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -602,7 +602,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID);
GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gEnemyParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 0fa156a437..14d806576a 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -489,7 +489,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 8e1a8327a0..ead5a8768a 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -602,7 +602,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID);
GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gEnemyParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
@@ -1523,7 +1523,7 @@ static void OpponentHandlePrintString(void)
BufferStringBattle(*stringId);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
- BattleArena_DeductMindPoints(gActiveBattler, *stringId);
+ BattleArena_DeductSkillPoints(gActiveBattler, *stringId);
}
static void OpponentHandlePrintSelectionString(void)
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index ff5591e55b..5b69030dfc 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -1647,7 +1647,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
@@ -2551,7 +2551,7 @@ static void PlayerHandlePrintString(void)
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2;
BattleTv_SetDataBasedOnString(*stringId);
- BattleArena_DeductMindPoints(gActiveBattler, *stringId);
+ BattleArena_DeductSkillPoints(gActiveBattler, *stringId);
}
static void PlayerHandlePrintSelectionString(void)
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 2c90982713..c2ff08a239 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -673,7 +673,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index 54156da35b..4a35ef723d 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -585,7 +585,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID);
GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gEnemyParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index a28e87a423..e25482fb57 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -564,7 +564,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index f7c3312577..c4c0c11a9e 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -491,7 +491,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst)
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
- StringCopy10(battleMon.nickname, nickname);
+ StringCopy_Nickname(battleMon.nickname, nickname);
GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName);
src = (u8 *)&battleMon;
for (size = 0; size < sizeof(battleMon); size++)
diff --git a/src/battle_dome.c b/src/battle_dome.c
index 1b067924ff..aadd85afd6 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -34,7 +34,6 @@
#include "constants/battle_dome.h"
#include "constants/frontier_util.h"
#include "constants/moves.h"
-#include "constants/pokemon.h"
#include "constants/trainers.h"
#include "constants/abilities.h"
#include "constants/songs.h"
@@ -2099,7 +2098,7 @@ static void InitDomeChallenge(void)
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
gTrainerBattleOpponent_A = 0;
}
@@ -5305,10 +5304,10 @@ static void Task_ShowTourneyTree(u8 taskId)
break;
case 2:
sTilemapBuffer = AllocZeroed(BG_SCREEN_SIZE);
- LZDecompressWram(gDomeTourneyLineMask_Tilemap, sTilemapBuffer);
+ LZDecompressWram(gDomeTourneyTree_Tilemap, sTilemapBuffer);
SetBgTilemapBuffer(1, sTilemapBuffer);
CopyBgTilemapBufferToVram(1);
- DecompressAndLoadBgGfxUsingHeap(1, gDomeTourneyBg_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(1, gDomeTourneyTree_Gfx, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLine_Gfx, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLineDown_Tilemap, 0x2000, 0, 1);
DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyLineUp_Tilemap, 0x2000, 0, 1);
diff --git a/src/battle_factory.c b/src/battle_factory.c
index 8f1001e9ca..d88ed37f95 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -217,7 +217,7 @@ static void InitFactoryChallenge(void)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
gFrontierTempParty[i] = 0xFFFF;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
gTrainerBattleOpponent_A = 0;
}
@@ -720,17 +720,25 @@ static void RestorePlayerPartyHeldItems(void)
}
}
-u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1)
+// Get the IV to use for the opponent's pokémon.
+// The IVs get higher for each subsequent challenge and for
+// the last trainer in each challenge. Noland is an exception
+// to this, as he uses the IVs that would be used by the regular
+// trainers 2 challenges ahead of the current one.
+// Due to a mistake in FillFactoryFrontierTrainerParty, the
+// challenge number used to determine the IVs for regular trainers
+// is Battle Tower's instead of Battle Factory's.
+u8 GetFactoryMonFixedIV(u8 challengeNum, bool8 isLastBattle)
{
- u8 a1;
- u8 a2 = (arg1 != 0) ? 1 : 0;
+ u8 ivSet;
+ bool8 useHigherIV = isLastBattle ? TRUE : FALSE;
- if (arg0 > 8)
- a1 = 7;
+ if (challengeNum > 8)
+ ivSet = 7;
else
- a1 = arg0;
+ ivSet = challengeNum;
- return sFixedIVTable[a1][a2];
+ return sFixedIVTable[ivSet][useHigherIV];
}
void FillFactoryBrainParty(void)
@@ -746,7 +754,7 @@ void FillFactoryBrainParty(void)
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
- fixedIV = GetFactoryMonFixedIV(challengeNum + 2, 0);
+ fixedIV = GetFactoryMonFixedIV(challengeNum + 2, FALSE);
monLevel = SetFacilityPtrsGetLevel();
i = 0;
otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index 247b8712fe..787dc47406 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -2509,7 +2509,7 @@ static void Swap_Task_HandleYesNo(u8 taskId)
}
}
-static void Swap_HandleQuitSwappingResposne(u8 taskId)
+static void Swap_HandleQuitSwappingResponse(u8 taskId)
{
if (gTasks[taskId].tSaidYes == TRUE)
{
@@ -2533,8 +2533,8 @@ static void Swap_AskQuitSwapping(u8 taskId)
Swap_PrintOnInfoWindow(gText_QuitSwapping);
sFactorySwapScreen->monSwapped = FALSE;
gTasks[taskId].tState = STATE_YESNO_SHOW;
- gTasks[taskId].tFollowUpTaskPtrHi = (u32)(Swap_HandleQuitSwappingResposne) >> 16;
- gTasks[taskId].tFollowUpTaskPtrLo = (u32)(Swap_HandleQuitSwappingResposne);
+ gTasks[taskId].tFollowUpTaskPtrHi = (u32)(Swap_HandleQuitSwappingResponse) >> 16;
+ gTasks[taskId].tFollowUpTaskPtrLo = (u32)(Swap_HandleQuitSwappingResponse);
gTasks[taskId].func = Swap_Task_HandleYesNo;
}
}
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 96bab7f90b..26209fe2d7 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -1893,7 +1893,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
StringCopy(gDisplayedStringBattle, gText_HealthboxNickname);
GetMonData(mon, MON_DATA_NICKNAME, nickname);
- StringGetEnd10(nickname);
+ StringGet_Nickname(nickname);
ptr = StringAppend(gDisplayedStringBattle, nickname);
gender = GetMonGender(mon);
diff --git a/src/battle_message.c b/src/battle_message.c
index b88eedfb37..9d1b88ba7f 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -514,377 +514,377 @@ static const u8 sText_Trainer2WinText[];
static const u8 sText_TwoInGameTrainersDefeated[];
static const u8 sText_Trainer2LoseText[];
-const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
+const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] =
{
- [STRINGID_TRAINER1LOSETEXT - 12] = sText_Trainer1LoseText,
- [STRINGID_PKMNGAINEDEXP - 12] = sText_PkmnGainedEXP,
- [STRINGID_PKMNGREWTOLV - 12] = sText_PkmnGrewToLv,
- [STRINGID_PKMNLEARNEDMOVE - 12] = sText_PkmnLearnedMove,
- [STRINGID_TRYTOLEARNMOVE1 - 12] = sText_TryToLearnMove1,
- [STRINGID_TRYTOLEARNMOVE2 - 12] = sText_TryToLearnMove2,
- [STRINGID_TRYTOLEARNMOVE3 - 12] = sText_TryToLearnMove3,
- [STRINGID_PKMNFORGOTMOVE - 12] = sText_PkmnForgotMove,
- [STRINGID_STOPLEARNINGMOVE - 12] = sText_StopLearningMove,
- [STRINGID_DIDNOTLEARNMOVE - 12] = sText_DidNotLearnMove,
- [STRINGID_PKMNLEARNEDMOVE2 - 12] = sText_PkmnLearnedMove2,
- [STRINGID_ATTACKMISSED - 12] = sText_AttackMissed,
- [STRINGID_PKMNPROTECTEDITSELF - 12] = sText_PkmnProtectedItself,
- [STRINGID_STATSWONTINCREASE2 - 12] = sText_StatsWontIncrease2,
- [STRINGID_AVOIDEDDAMAGE - 12] = sText_AvoidedDamage,
- [STRINGID_ITDOESNTAFFECT - 12] = sText_ItDoesntAffect,
- [STRINGID_ATTACKERFAINTED - 12] = sText_AttackerFainted,
- [STRINGID_TARGETFAINTED - 12] = sText_TargetFainted,
- [STRINGID_PLAYERGOTMONEY - 12] = sText_PlayerGotMoney,
- [STRINGID_PLAYERWHITEOUT - 12] = sText_PlayerWhiteout,
- [STRINGID_PLAYERWHITEOUT2 - 12] = sText_PlayerWhiteout2,
- [STRINGID_PREVENTSESCAPE - 12] = sText_PreventsEscape,
- [STRINGID_HITXTIMES - 12] = sText_HitXTimes,
- [STRINGID_PKMNFELLASLEEP - 12] = sText_PkmnFellAsleep,
- [STRINGID_PKMNMADESLEEP - 12] = sText_PkmnMadeSleep,
- [STRINGID_PKMNALREADYASLEEP - 12] = sText_PkmnAlreadyAsleep,
- [STRINGID_PKMNALREADYASLEEP2 - 12] = sText_PkmnAlreadyAsleep2,
- [STRINGID_PKMNWASNTAFFECTED - 12] = sText_PkmnWasntAffected,
- [STRINGID_PKMNWASPOISONED - 12] = sText_PkmnWasPoisoned,
- [STRINGID_PKMNPOISONEDBY - 12] = sText_PkmnPoisonedBy,
- [STRINGID_PKMNHURTBYPOISON - 12] = sText_PkmnHurtByPoison,
- [STRINGID_PKMNALREADYPOISONED - 12] = sText_PkmnAlreadyPoisoned,
- [STRINGID_PKMNBADLYPOISONED - 12] = sText_PkmnBadlyPoisoned,
- [STRINGID_PKMNENERGYDRAINED - 12] = sText_PkmnEnergyDrained,
- [STRINGID_PKMNWASBURNED - 12] = sText_PkmnWasBurned,
- [STRINGID_PKMNBURNEDBY - 12] = sText_PkmnBurnedBy,
- [STRINGID_PKMNHURTBYBURN - 12] = sText_PkmnHurtByBurn,
- [STRINGID_PKMNWASFROZEN - 12] = sText_PkmnWasFrozen,
- [STRINGID_PKMNFROZENBY - 12] = sText_PkmnFrozenBy,
- [STRINGID_PKMNISFROZEN - 12] = sText_PkmnIsFrozen,
- [STRINGID_PKMNWASDEFROSTED - 12] = sText_PkmnWasDefrosted,
- [STRINGID_PKMNWASDEFROSTED2 - 12] = sText_PkmnWasDefrosted2,
- [STRINGID_PKMNWASDEFROSTEDBY - 12] = sText_PkmnWasDefrostedBy,
- [STRINGID_PKMNWASPARALYZED - 12] = sText_PkmnWasParalyzed,
- [STRINGID_PKMNWASPARALYZEDBY - 12] = sText_PkmnWasParalyzedBy,
- [STRINGID_PKMNISPARALYZED - 12] = sText_PkmnIsParalyzed,
- [STRINGID_PKMNISALREADYPARALYZED - 12] = sText_PkmnIsAlreadyParalyzed,
- [STRINGID_PKMNHEALEDPARALYSIS - 12] = sText_PkmnHealedParalysis,
- [STRINGID_PKMNDREAMEATEN - 12] = sText_PkmnDreamEaten,
- [STRINGID_STATSWONTINCREASE - 12] = sText_StatsWontIncrease,
- [STRINGID_STATSWONTDECREASE - 12] = sText_StatsWontDecrease,
- [STRINGID_TEAMSTOPPEDWORKING - 12] = sText_TeamStoppedWorking,
- [STRINGID_FOESTOPPEDWORKING - 12] = sText_FoeStoppedWorking,
- [STRINGID_PKMNISCONFUSED - 12] = sText_PkmnIsConfused,
- [STRINGID_PKMNHEALEDCONFUSION - 12] = sText_PkmnHealedConfusion,
- [STRINGID_PKMNWASCONFUSED - 12] = sText_PkmnWasConfused,
- [STRINGID_PKMNALREADYCONFUSED - 12] = sText_PkmnAlreadyConfused,
- [STRINGID_PKMNFELLINLOVE - 12] = sText_PkmnFellInLove,
- [STRINGID_PKMNINLOVE - 12] = sText_PkmnInLove,
- [STRINGID_PKMNIMMOBILIZEDBYLOVE - 12] = sText_PkmnImmobilizedByLove,
- [STRINGID_PKMNBLOWNAWAY - 12] = sText_PkmnBlownAway,
- [STRINGID_PKMNCHANGEDTYPE - 12] = sText_PkmnChangedType,
- [STRINGID_PKMNFLINCHED - 12] = sText_PkmnFlinched,
- [STRINGID_PKMNREGAINEDHEALTH - 12] = sText_PkmnRegainedHealth,
- [STRINGID_PKMNHPFULL - 12] = sText_PkmnHPFull,
- [STRINGID_PKMNRAISEDSPDEF - 12] = sText_PkmnRaisedSpDef,
- [STRINGID_PKMNRAISEDDEF - 12] = sText_PkmnRaisedDef,
- [STRINGID_PKMNCOVEREDBYVEIL - 12] = sText_PkmnCoveredByVeil,
- [STRINGID_PKMNUSEDSAFEGUARD - 12] = sText_PkmnUsedSafeguard,
- [STRINGID_PKMNSAFEGUARDEXPIRED - 12] = sText_PkmnSafeguardExpired,
- [STRINGID_PKMNWENTTOSLEEP - 12] = sText_PkmnWentToSleep,
- [STRINGID_PKMNSLEPTHEALTHY - 12] = sText_PkmnSleptHealthy,
- [STRINGID_PKMNWHIPPEDWHIRLWIND - 12] = sText_PkmnWhippedWhirlwind,
- [STRINGID_PKMNTOOKSUNLIGHT - 12] = sText_PkmnTookSunlight,
- [STRINGID_PKMNLOWEREDHEAD - 12] = sText_PkmnLoweredHead,
- [STRINGID_PKMNISGLOWING - 12] = sText_PkmnIsGlowing,
- [STRINGID_PKMNFLEWHIGH - 12] = sText_PkmnFlewHigh,
- [STRINGID_PKMNDUGHOLE - 12] = sText_PkmnDugHole,
- [STRINGID_PKMNSQUEEZEDBYBIND - 12] = sText_PkmnSqueezedByBind,
- [STRINGID_PKMNTRAPPEDINVORTEX - 12] = sText_PkmnTrappedInVortex,
- [STRINGID_PKMNWRAPPEDBY - 12] = sText_PkmnWrappedBy,
- [STRINGID_PKMNCLAMPED - 12] = sText_PkmnClamped,
- [STRINGID_PKMNHURTBY - 12] = sText_PkmnHurtBy,
- [STRINGID_PKMNFREEDFROM - 12] = sText_PkmnFreedFrom,
- [STRINGID_PKMNCRASHED - 12] = sText_PkmnCrashed,
- [STRINGID_PKMNSHROUDEDINMIST - 12] = gText_PkmnShroudedInMist,
- [STRINGID_PKMNPROTECTEDBYMIST - 12] = sText_PkmnProtectedByMist,
- [STRINGID_PKMNGETTINGPUMPED - 12] = gText_PkmnGettingPumped,
- [STRINGID_PKMNHITWITHRECOIL - 12] = sText_PkmnHitWithRecoil,
- [STRINGID_PKMNPROTECTEDITSELF2 - 12] = sText_PkmnProtectedItself2,
- [STRINGID_PKMNBUFFETEDBYSANDSTORM - 12] = sText_PkmnBuffetedBySandstorm,
- [STRINGID_PKMNPELTEDBYHAIL - 12] = sText_PkmnPeltedByHail,
- [STRINGID_PKMNSEEDED - 12] = sText_PkmnSeeded,
- [STRINGID_PKMNEVADEDATTACK - 12] = sText_PkmnEvadedAttack,
- [STRINGID_PKMNSAPPEDBYLEECHSEED - 12] = sText_PkmnSappedByLeechSeed,
- [STRINGID_PKMNFASTASLEEP - 12] = sText_PkmnFastAsleep,
- [STRINGID_PKMNWOKEUP - 12] = sText_PkmnWokeUp,
- [STRINGID_PKMNUPROARKEPTAWAKE - 12] = sText_PkmnUproarKeptAwake,
- [STRINGID_PKMNWOKEUPINUPROAR - 12] = sText_PkmnWokeUpInUproar,
- [STRINGID_PKMNCAUSEDUPROAR - 12] = sText_PkmnCausedUproar,
- [STRINGID_PKMNMAKINGUPROAR - 12] = sText_PkmnMakingUproar,
- [STRINGID_PKMNCALMEDDOWN - 12] = sText_PkmnCalmedDown,
- [STRINGID_PKMNCANTSLEEPINUPROAR - 12] = sText_PkmnCantSleepInUproar,
- [STRINGID_PKMNSTOCKPILED - 12] = sText_PkmnStockpiled,
- [STRINGID_PKMNCANTSTOCKPILE - 12] = sText_PkmnCantStockpile,
- [STRINGID_PKMNCANTSLEEPINUPROAR2 - 12] = sText_PkmnCantSleepInUproar2,
- [STRINGID_UPROARKEPTPKMNAWAKE - 12] = sText_UproarKeptPkmnAwake,
- [STRINGID_PKMNSTAYEDAWAKEUSING - 12] = sText_PkmnStayedAwakeUsing,
- [STRINGID_PKMNSTORINGENERGY - 12] = sText_PkmnStoringEnergy,
- [STRINGID_PKMNUNLEASHEDENERGY - 12] = sText_PkmnUnleashedEnergy,
- [STRINGID_PKMNFATIGUECONFUSION - 12] = sText_PkmnFatigueConfusion,
- [STRINGID_PLAYERPICKEDUPMONEY - 12] = sText_PlayerPickedUpMoney,
- [STRINGID_PKMNUNAFFECTED - 12] = sText_PkmnUnaffected,
- [STRINGID_PKMNTRANSFORMEDINTO - 12] = sText_PkmnTransformedInto,
- [STRINGID_PKMNMADESUBSTITUTE - 12] = sText_PkmnMadeSubstitute,
- [STRINGID_PKMNHASSUBSTITUTE - 12] = sText_PkmnHasSubstitute,
- [STRINGID_SUBSTITUTEDAMAGED - 12] = sText_SubstituteDamaged,
- [STRINGID_PKMNSUBSTITUTEFADED - 12] = sText_PkmnSubstituteFaded,
- [STRINGID_PKMNMUSTRECHARGE - 12] = sText_PkmnMustRecharge,
- [STRINGID_PKMNRAGEBUILDING - 12] = sText_PkmnRageBuilding,
- [STRINGID_PKMNMOVEWASDISABLED - 12] = sText_PkmnMoveWasDisabled,
- [STRINGID_PKMNMOVEISDISABLED - 12] = sText_PkmnMoveIsDisabled,
- [STRINGID_PKMNMOVEDISABLEDNOMORE - 12] = sText_PkmnMoveDisabledNoMore,
- [STRINGID_PKMNGOTENCORE - 12] = sText_PkmnGotEncore,
- [STRINGID_PKMNENCOREENDED - 12] = sText_PkmnEncoreEnded,
- [STRINGID_PKMNTOOKAIM - 12] = sText_PkmnTookAim,
- [STRINGID_PKMNSKETCHEDMOVE - 12] = sText_PkmnSketchedMove,
- [STRINGID_PKMNTRYINGTOTAKEFOE - 12] = sText_PkmnTryingToTakeFoe,
- [STRINGID_PKMNTOOKFOE - 12] = sText_PkmnTookFoe,
- [STRINGID_PKMNREDUCEDPP - 12] = sText_PkmnReducedPP,
- [STRINGID_PKMNSTOLEITEM - 12] = sText_PkmnStoleItem,
- [STRINGID_TARGETCANTESCAPENOW - 12] = sText_TargetCantEscapeNow,
- [STRINGID_PKMNFELLINTONIGHTMARE - 12] = sText_PkmnFellIntoNightmare,
- [STRINGID_PKMNLOCKEDINNIGHTMARE - 12] = sText_PkmnLockedInNightmare,
- [STRINGID_PKMNLAIDCURSE - 12] = sText_PkmnLaidCurse,
- [STRINGID_PKMNAFFLICTEDBYCURSE - 12] = sText_PkmnAfflictedByCurse,
- [STRINGID_SPIKESSCATTERED - 12] = sText_SpikesScattered,
- [STRINGID_PKMNHURTBYSPIKES - 12] = sText_PkmnHurtBySpikes,
- [STRINGID_PKMNIDENTIFIED - 12] = sText_PkmnIdentified,
- [STRINGID_PKMNPERISHCOUNTFELL - 12] = sText_PkmnPerishCountFell,
- [STRINGID_PKMNBRACEDITSELF - 12] = sText_PkmnBracedItself,
- [STRINGID_PKMNENDUREDHIT - 12] = sText_PkmnEnduredHit,
- [STRINGID_MAGNITUDESTRENGTH - 12] = sText_MagnitudeStrength,
- [STRINGID_PKMNCUTHPMAXEDATTACK - 12] = sText_PkmnCutHPMaxedAttack,
- [STRINGID_PKMNCOPIEDSTATCHANGES - 12] = sText_PkmnCopiedStatChanges,
- [STRINGID_PKMNGOTFREE - 12] = sText_PkmnGotFree,
- [STRINGID_PKMNSHEDLEECHSEED - 12] = sText_PkmnShedLeechSeed,
- [STRINGID_PKMNBLEWAWAYSPIKES - 12] = sText_PkmnBlewAwaySpikes,
- [STRINGID_PKMNFLEDFROMBATTLE - 12] = sText_PkmnFledFromBattle,
- [STRINGID_PKMNFORESAWATTACK - 12] = sText_PkmnForesawAttack,
- [STRINGID_PKMNTOOKATTACK - 12] = sText_PkmnTookAttack,
- [STRINGID_PKMNATTACK - 12] = sText_PkmnAttack,
- [STRINGID_PKMNCENTERATTENTION - 12] = sText_PkmnCenterAttention,
- [STRINGID_PKMNCHARGINGPOWER - 12] = sText_PkmnChargingPower,
- [STRINGID_NATUREPOWERTURNEDINTO - 12] = sText_NaturePowerTurnedInto,
- [STRINGID_PKMNSTATUSNORMAL - 12] = sText_PkmnStatusNormal,
- [STRINGID_PKMNHASNOMOVESLEFT - 12] = sText_PkmnHasNoMovesLeft,
- [STRINGID_PKMNSUBJECTEDTOTORMENT - 12] = sText_PkmnSubjectedToTorment,
- [STRINGID_PKMNCANTUSEMOVETORMENT - 12] = sText_PkmnCantUseMoveTorment,
- [STRINGID_PKMNTIGHTENINGFOCUS - 12] = sText_PkmnTighteningFocus,
- [STRINGID_PKMNFELLFORTAUNT - 12] = sText_PkmnFellForTaunt,
- [STRINGID_PKMNCANTUSEMOVETAUNT - 12] = sText_PkmnCantUseMoveTaunt,
- [STRINGID_PKMNREADYTOHELP - 12] = sText_PkmnReadyToHelp,
- [STRINGID_PKMNSWITCHEDITEMS - 12] = sText_PkmnSwitchedItems,
- [STRINGID_PKMNCOPIEDFOE - 12] = sText_PkmnCopiedFoe,
- [STRINGID_PKMNMADEWISH - 12] = sText_PkmnMadeWish,
- [STRINGID_PKMNWISHCAMETRUE - 12] = sText_PkmnWishCameTrue,
- [STRINGID_PKMNPLANTEDROOTS - 12] = sText_PkmnPlantedRoots,
- [STRINGID_PKMNABSORBEDNUTRIENTS - 12] = sText_PkmnAbsorbedNutrients,
- [STRINGID_PKMNANCHOREDITSELF - 12] = sText_PkmnAnchoredItself,
- [STRINGID_PKMNWASMADEDROWSY - 12] = sText_PkmnWasMadeDrowsy,
- [STRINGID_PKMNKNOCKEDOFF - 12] = sText_PkmnKnockedOff,
- [STRINGID_PKMNSWAPPEDABILITIES - 12] = sText_PkmnSwappedAbilities,
- [STRINGID_PKMNSEALEDOPPONENTMOVE - 12] = sText_PkmnSealedOpponentMove,
- [STRINGID_PKMNCANTUSEMOVESEALED - 12] = sText_PkmnCantUseMoveSealed,
- [STRINGID_PKMNWANTSGRUDGE - 12] = sText_PkmnWantsGrudge,
- [STRINGID_PKMNLOSTPPGRUDGE - 12] = sText_PkmnLostPPGrudge,
- [STRINGID_PKMNSHROUDEDITSELF - 12] = sText_PkmnShroudedItself,
- [STRINGID_PKMNMOVEBOUNCED - 12] = sText_PkmnMoveBounced,
- [STRINGID_PKMNWAITSFORTARGET - 12] = sText_PkmnWaitsForTarget,
- [STRINGID_PKMNSNATCHEDMOVE - 12] = sText_PkmnSnatchedMove,
- [STRINGID_PKMNMADEITRAIN - 12] = sText_PkmnMadeItRain,
- [STRINGID_PKMNRAISEDSPEED - 12] = sText_PkmnRaisedSpeed,
- [STRINGID_PKMNPROTECTEDBY - 12] = sText_PkmnProtectedBy,
- [STRINGID_PKMNPREVENTSUSAGE - 12] = sText_PkmnPreventsUsage,
- [STRINGID_PKMNRESTOREDHPUSING - 12] = sText_PkmnRestoredHPUsing,
- [STRINGID_PKMNCHANGEDTYPEWITH - 12] = sText_PkmnChangedTypeWith,
- [STRINGID_PKMNPREVENTSPARALYSISWITH - 12] = sText_PkmnPreventsParalysisWith,
- [STRINGID_PKMNPREVENTSROMANCEWITH - 12] = sText_PkmnPreventsRomanceWith,
- [STRINGID_PKMNPREVENTSPOISONINGWITH - 12] = sText_PkmnPreventsPoisoningWith,
- [STRINGID_PKMNPREVENTSCONFUSIONWITH - 12] = sText_PkmnPreventsConfusionWith,
- [STRINGID_PKMNRAISEDFIREPOWERWITH - 12] = sText_PkmnRaisedFirePowerWith,
- [STRINGID_PKMNANCHORSITSELFWITH - 12] = sText_PkmnAnchorsItselfWith,
- [STRINGID_PKMNCUTSATTACKWITH - 12] = sText_PkmnCutsAttackWith,
- [STRINGID_PKMNPREVENTSSTATLOSSWITH - 12] = sText_PkmnPreventsStatLossWith,
- [STRINGID_PKMNHURTSWITH - 12] = sText_PkmnHurtsWith,
- [STRINGID_PKMNTRACED - 12] = sText_PkmnTraced,
- [STRINGID_STATSHARPLY - 12] = sText_StatSharply,
- [STRINGID_STATROSE - 12] = gText_StatRose,
- [STRINGID_STATHARSHLY - 12] = sText_StatHarshly,
- [STRINGID_STATFELL - 12] = sText_StatFell,
- [STRINGID_ATTACKERSSTATROSE - 12] = sText_AttackersStatRose,
- [STRINGID_DEFENDERSSTATROSE - 12] = gText_DefendersStatRose,
- [STRINGID_ATTACKERSSTATFELL - 12] = sText_AttackersStatFell,
- [STRINGID_DEFENDERSSTATFELL - 12] = sText_DefendersStatFell,
- [STRINGID_CRITICALHIT - 12] = sText_CriticalHit,
- [STRINGID_ONEHITKO - 12] = sText_OneHitKO,
- [STRINGID_123POOF - 12] = sText_123Poof,
- [STRINGID_ANDELLIPSIS - 12] = sText_AndEllipsis,
- [STRINGID_NOTVERYEFFECTIVE - 12] = sText_NotVeryEffective,
- [STRINGID_SUPEREFFECTIVE - 12] = sText_SuperEffective,
- [STRINGID_GOTAWAYSAFELY - 12] = sText_GotAwaySafely,
- [STRINGID_WILDPKMNFLED - 12] = sText_WildPkmnFled,
- [STRINGID_NORUNNINGFROMTRAINERS - 12] = sText_NoRunningFromTrainers,
- [STRINGID_CANTESCAPE - 12] = sText_CantEscape,
- [STRINGID_DONTLEAVEBIRCH - 12] = sText_DontLeaveBirch,
- [STRINGID_BUTNOTHINGHAPPENED - 12] = sText_ButNothingHappened,
- [STRINGID_BUTITFAILED - 12] = sText_ButItFailed,
- [STRINGID_ITHURTCONFUSION - 12] = sText_ItHurtConfusion,
- [STRINGID_MIRRORMOVEFAILED - 12] = sText_MirrorMoveFailed,
- [STRINGID_STARTEDTORAIN - 12] = sText_StartedToRain,
- [STRINGID_DOWNPOURSTARTED - 12] = sText_DownpourStarted,
- [STRINGID_RAINCONTINUES - 12] = sText_RainContinues,
- [STRINGID_DOWNPOURCONTINUES - 12] = sText_DownpourContinues,
- [STRINGID_RAINSTOPPED - 12] = sText_RainStopped,
- [STRINGID_SANDSTORMBREWED - 12] = sText_SandstormBrewed,
- [STRINGID_SANDSTORMRAGES - 12] = sText_SandstormRages,
- [STRINGID_SANDSTORMSUBSIDED - 12] = sText_SandstormSubsided,
- [STRINGID_SUNLIGHTGOTBRIGHT - 12] = sText_SunlightGotBright,
- [STRINGID_SUNLIGHTSTRONG - 12] = sText_SunlightStrong,
- [STRINGID_SUNLIGHTFADED - 12] = sText_SunlightFaded,
- [STRINGID_STARTEDHAIL - 12] = sText_StartedHail,
- [STRINGID_HAILCONTINUES - 12] = sText_HailContinues,
- [STRINGID_HAILSTOPPED - 12] = sText_HailStopped,
- [STRINGID_FAILEDTOSPITUP - 12] = sText_FailedToSpitUp,
- [STRINGID_FAILEDTOSWALLOW - 12] = sText_FailedToSwallow,
- [STRINGID_WINDBECAMEHEATWAVE - 12] = sText_WindBecameHeatWave,
- [STRINGID_STATCHANGESGONE - 12] = sText_StatChangesGone,
- [STRINGID_COINSSCATTERED - 12] = sText_CoinsScattered,
- [STRINGID_TOOWEAKFORSUBSTITUTE - 12] = sText_TooWeakForSubstitute,
- [STRINGID_SHAREDPAIN - 12] = sText_SharedPain,
- [STRINGID_BELLCHIMED - 12] = sText_BellChimed,
- [STRINGID_FAINTINTHREE - 12] = sText_FaintInThree,
- [STRINGID_NOPPLEFT - 12] = sText_NoPPLeft,
- [STRINGID_BUTNOPPLEFT - 12] = sText_ButNoPPLeft,
- [STRINGID_PLAYERUSEDITEM - 12] = sText_PlayerUsedItem,
- [STRINGID_WALLYUSEDITEM - 12] = sText_WallyUsedItem,
- [STRINGID_TRAINERBLOCKEDBALL - 12] = sText_TrainerBlockedBall,
- [STRINGID_DONTBEATHIEF - 12] = sText_DontBeAThief,
- [STRINGID_ITDODGEDBALL - 12] = sText_ItDodgedBall,
- [STRINGID_YOUMISSEDPKMN - 12] = sText_YouMissedPkmn,
- [STRINGID_PKMNBROKEFREE - 12] = sText_PkmnBrokeFree,
- [STRINGID_ITAPPEAREDCAUGHT - 12] = sText_ItAppearedCaught,
- [STRINGID_AARGHALMOSTHADIT - 12] = sText_AarghAlmostHadIt,
- [STRINGID_SHOOTSOCLOSE - 12] = sText_ShootSoClose,
- [STRINGID_GOTCHAPKMNCAUGHT - 12] = sText_GotchaPkmnCaught,
- [STRINGID_GOTCHAPKMNCAUGHT2 - 12] = sText_GotchaPkmnCaught2,
- [STRINGID_GIVENICKNAMECAPTURED - 12] = sText_GiveNicknameCaptured,
- [STRINGID_PKMNSENTTOPC - 12] = sText_PkmnSentToPC,
- [STRINGID_PKMNDATAADDEDTODEX - 12] = sText_PkmnDataAddedToDex,
- [STRINGID_ITISRAINING - 12] = sText_ItIsRaining,
- [STRINGID_SANDSTORMISRAGING - 12] = sText_SandstormIsRaging,
- [STRINGID_CANTESCAPE2 - 12] = sText_CantEscape2,
- [STRINGID_PKMNIGNORESASLEEP - 12] = sText_PkmnIgnoresAsleep,
- [STRINGID_PKMNIGNOREDORDERS - 12] = sText_PkmnIgnoredOrders,
- [STRINGID_PKMNBEGANTONAP - 12] = sText_PkmnBeganToNap,
- [STRINGID_PKMNLOAFING - 12] = sText_PkmnLoafing,
- [STRINGID_PKMNWONTOBEY - 12] = sText_PkmnWontObey,
- [STRINGID_PKMNTURNEDAWAY - 12] = sText_PkmnTurnedAway,
- [STRINGID_PKMNPRETENDNOTNOTICE - 12] = sText_PkmnPretendNotNotice,
- [STRINGID_ENEMYABOUTTOSWITCHPKMN - 12] = sText_EnemyAboutToSwitchPkmn,
- [STRINGID_CREPTCLOSER - 12] = sText_CreptCloser,
- [STRINGID_CANTGETCLOSER - 12] = sText_CantGetCloser,
- [STRINGID_PKMNWATCHINGCAREFULLY - 12] = sText_PkmnWatchingCarefully,
- [STRINGID_PKMNCURIOUSABOUTX - 12] = sText_PkmnCuriousAboutX,
- [STRINGID_PKMNENTHRALLEDBYX - 12] = sText_PkmnEnthralledByX,
- [STRINGID_PKMNIGNOREDX - 12] = sText_PkmnIgnoredX,
- [STRINGID_THREWPOKEBLOCKATPKMN - 12] = sText_ThrewPokeblockAtPkmn,
- [STRINGID_OUTOFSAFARIBALLS - 12] = sText_OutOfSafariBalls,
- [STRINGID_PKMNSITEMCUREDPARALYSIS - 12] = sText_PkmnsItemCuredParalysis,
- [STRINGID_PKMNSITEMCUREDPOISON - 12] = sText_PkmnsItemCuredPoison,
- [STRINGID_PKMNSITEMHEALEDBURN - 12] = sText_PkmnsItemHealedBurn,
- [STRINGID_PKMNSITEMDEFROSTEDIT - 12] = sText_PkmnsItemDefrostedIt,
- [STRINGID_PKMNSITEMWOKEIT - 12] = sText_PkmnsItemWokeIt,
- [STRINGID_PKMNSITEMSNAPPEDOUT - 12] = sText_PkmnsItemSnappedOut,
- [STRINGID_PKMNSITEMCUREDPROBLEM - 12] = sText_PkmnsItemCuredProblem,
- [STRINGID_PKMNSITEMRESTOREDHEALTH - 12] = sText_PkmnsItemRestoredHealth,
- [STRINGID_PKMNSITEMRESTOREDPP - 12] = sText_PkmnsItemRestoredPP,
- [STRINGID_PKMNSITEMRESTOREDSTATUS - 12] = sText_PkmnsItemRestoredStatus,
- [STRINGID_PKMNSITEMRESTOREDHPALITTLE - 12] = sText_PkmnsItemRestoredHPALittle,
- [STRINGID_ITEMALLOWSONLYYMOVE - 12] = sText_ItemAllowsOnlyYMove,
- [STRINGID_PKMNHUNGONWITHX - 12] = sText_PkmnHungOnWithX,
- [STRINGID_EMPTYSTRING3 - 12] = gText_EmptyString3,
- [STRINGID_PKMNSXPREVENTSBURNS - 12] = sText_PkmnsXPreventsBurns,
- [STRINGID_PKMNSXBLOCKSY - 12] = sText_PkmnsXBlocksY,
- [STRINGID_PKMNSXRESTOREDHPALITTLE2 - 12] = sText_PkmnsXRestoredHPALittle2,
- [STRINGID_PKMNSXWHIPPEDUPSANDSTORM - 12] = sText_PkmnsXWhippedUpSandstorm,
- [STRINGID_PKMNSXPREVENTSYLOSS - 12] = sText_PkmnsXPreventsYLoss,
- [STRINGID_PKMNSXINFATUATEDY - 12] = sText_PkmnsXInfatuatedY,
- [STRINGID_PKMNSXMADEYINEFFECTIVE - 12] = sText_PkmnsXMadeYIneffective,
- [STRINGID_PKMNSXCUREDYPROBLEM - 12] = sText_PkmnsXCuredYProblem,
- [STRINGID_ITSUCKEDLIQUIDOOZE - 12] = sText_ItSuckedLiquidOoze,
- [STRINGID_PKMNTRANSFORMED - 12] = sText_PkmnTransformed,
- [STRINGID_ELECTRICITYWEAKENED - 12] = sText_ElectricityWeakened,
- [STRINGID_FIREWEAKENED - 12] = sText_FireWeakened,
- [STRINGID_PKMNHIDUNDERWATER - 12] = sText_PkmnHidUnderwater,
- [STRINGID_PKMNSPRANGUP - 12] = sText_PkmnSprangUp,
- [STRINGID_HMMOVESCANTBEFORGOTTEN - 12] = sText_HMMovesCantBeForgotten,
- [STRINGID_XFOUNDONEY - 12] = sText_XFoundOneY,
- [STRINGID_PLAYERDEFEATEDTRAINER1 - 12] = sText_PlayerDefeatedLinkTrainerTrainer1,
- [STRINGID_SOOTHINGAROMA - 12] = sText_SoothingAroma,
- [STRINGID_ITEMSCANTBEUSEDNOW - 12] = sText_ItemsCantBeUsedNow,
- [STRINGID_FORXCOMMAYZ - 12] = sText_ForXCommaYZ,
- [STRINGID_USINGITEMSTATOFPKMNROSE - 12] = sText_UsingItemTheStatOfPkmnRose,
- [STRINGID_PKMNUSEDXTOGETPUMPED - 12] = sText_PkmnUsedXToGetPumped,
- [STRINGID_PKMNSXMADEYUSELESS - 12] = sText_PkmnsXMadeYUseless,
- [STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = sText_PkmnTrappedBySandTomb,
- [STRINGID_EMPTYSTRING4 - 12] = sText_EmptyString4,
- [STRINGID_ABOOSTED - 12] = sText_ABoosted,
- [STRINGID_PKMNSXINTENSIFIEDSUN - 12] = sText_PkmnsXIntensifiedSun,
- [STRINGID_PKMNMAKESGROUNDMISS - 12] = sText_PkmnMakesGroundMiss,
- [STRINGID_YOUTHROWABALLNOWRIGHT - 12] = sText_YouThrowABallNowRight,
- [STRINGID_PKMNSXTOOKATTACK - 12] = sText_PkmnsXTookAttack,
- [STRINGID_PKMNCHOSEXASDESTINY - 12] = sText_PkmnChoseXAsDestiny,
- [STRINGID_PKMNLOSTFOCUS - 12] = sText_PkmnLostFocus,
- [STRINGID_USENEXTPKMN - 12] = sText_UseNextPkmn,
- [STRINGID_PKMNFLEDUSINGITS - 12] = sText_PkmnFledUsingIts,
- [STRINGID_PKMNFLEDUSING - 12] = sText_PkmnFledUsing,
- [STRINGID_PKMNWASDRAGGEDOUT - 12] = sText_PkmnWasDraggedOut,
- [STRINGID_PREVENTEDFROMWORKING - 12] = sText_PreventedFromWorking,
- [STRINGID_PKMNSITEMNORMALIZEDSTATUS - 12] = sText_PkmnsItemNormalizedStatus,
- [STRINGID_TRAINER1USEDITEM - 12] = sText_Trainer1UsedItem,
- [STRINGID_BOXISFULL - 12] = sText_BoxIsFull,
- [STRINGID_PKMNAVOIDEDATTACK - 12] = sText_PkmnAvoidedAttack,
- [STRINGID_PKMNSXMADEITINEFFECTIVE - 12] = sText_PkmnsXMadeItIneffective,
- [STRINGID_PKMNSXPREVENTSFLINCHING - 12] = sText_PkmnsXPreventsFlinching,
- [STRINGID_PKMNALREADYHASBURN - 12] = sText_PkmnAlreadyHasBurn,
- [STRINGID_STATSWONTDECREASE2 - 12] = sText_StatsWontDecrease2,
- [STRINGID_PKMNSXBLOCKSY2 - 12] = sText_PkmnsXBlocksY2,
- [STRINGID_PKMNSXWOREOFF - 12] = sText_PkmnsXWoreOff,
- [STRINGID_PKMNRAISEDDEFALITTLE - 12] = sText_PkmnRaisedDefALittle,
- [STRINGID_PKMNRAISEDSPDEFALITTLE - 12] = sText_PkmnRaisedSpDefALittle,
- [STRINGID_THEWALLSHATTERED - 12] = sText_TheWallShattered,
- [STRINGID_PKMNSXPREVENTSYSZ - 12] = sText_PkmnsXPreventsYsZ,
- [STRINGID_PKMNSXCUREDITSYPROBLEM - 12] = sText_PkmnsXCuredItsYProblem,
- [STRINGID_ATTACKERCANTESCAPE - 12] = sText_AttackerCantEscape,
- [STRINGID_PKMNOBTAINEDX - 12] = sText_PkmnObtainedX,
- [STRINGID_PKMNOBTAINEDX2 - 12] = sText_PkmnObtainedX2,
- [STRINGID_PKMNOBTAINEDXYOBTAINEDZ - 12] = sText_PkmnObtainedXYObtainedZ,
- [STRINGID_BUTNOEFFECT - 12] = sText_ButNoEffect,
- [STRINGID_PKMNSXHADNOEFFECTONY - 12] = sText_PkmnsXHadNoEffectOnY,
- [STRINGID_TWOENEMIESDEFEATED - 12] = sText_TwoInGameTrainersDefeated,
- [STRINGID_TRAINER2LOSETEXT - 12] = sText_Trainer2LoseText,
- [STRINGID_PKMNINCAPABLEOFPOWER - 12] = sText_PkmnIncapableOfPower,
- [STRINGID_GLINTAPPEARSINEYE - 12] = sText_GlintAppearsInEye,
- [STRINGID_PKMNGETTINGINTOPOSITION - 12] = sText_PkmnGettingIntoPosition,
- [STRINGID_PKMNBEGANGROWLINGDEEPLY - 12] = sText_PkmnBeganGrowlingDeeply,
- [STRINGID_PKMNEAGERFORMORE - 12] = sText_PkmnEagerForMore,
- [STRINGID_DEFEATEDOPPONENTBYREFEREE - 12] = sText_DefeatedOpponentByReferee,
- [STRINGID_LOSTTOOPPONENTBYREFEREE - 12] = sText_LostToOpponentByReferee,
- [STRINGID_TIEDOPPONENTBYREFEREE - 12] = sText_TiedOpponentByReferee,
- [STRINGID_QUESTIONFORFEITMATCH - 12] = sText_QuestionForfeitMatch,
- [STRINGID_FORFEITEDMATCH - 12] = sText_ForfeitedMatch,
- [STRINGID_PKMNTRANSFERREDSOMEONESPC - 12] = gText_PkmnTransferredSomeonesPC,
- [STRINGID_PKMNTRANSFERREDLANETTESPC - 12] = gText_PkmnTransferredLanettesPC,
- [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = gText_PkmnTransferredSomeonesPCBoxFull,
- [STRINGID_PKMNBOXLANETTESPCFULL - 12] = gText_PkmnTransferredLanettesPCBoxFull,
- [STRINGID_TRAINER1WINTEXT - 12] = sText_Trainer1WinText,
- [STRINGID_TRAINER2WINTEXT - 12] = sText_Trainer2WinText,
+ [STRINGID_TRAINER1LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1LoseText,
+ [STRINGID_PKMNGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_PkmnGainedEXP,
+ [STRINGID_PKMNGREWTOLV - BATTLESTRINGS_TABLE_START] = sText_PkmnGrewToLv,
+ [STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnLearnedMove,
+ [STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START] = sText_TryToLearnMove1,
+ [STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START] = sText_TryToLearnMove2,
+ [STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START] = sText_TryToLearnMove3,
+ [STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnForgotMove,
+ [STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START] = sText_StopLearningMove,
+ [STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START] = sText_DidNotLearnMove,
+ [STRINGID_PKMNLEARNEDMOVE2 - BATTLESTRINGS_TABLE_START] = sText_PkmnLearnedMove2,
+ [STRINGID_ATTACKMISSED - BATTLESTRINGS_TABLE_START] = sText_AttackMissed,
+ [STRINGID_PKMNPROTECTEDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedItself,
+ [STRINGID_STATSWONTINCREASE2 - BATTLESTRINGS_TABLE_START] = sText_StatsWontIncrease2,
+ [STRINGID_AVOIDEDDAMAGE - BATTLESTRINGS_TABLE_START] = sText_AvoidedDamage,
+ [STRINGID_ITDOESNTAFFECT - BATTLESTRINGS_TABLE_START] = sText_ItDoesntAffect,
+ [STRINGID_ATTACKERFAINTED - BATTLESTRINGS_TABLE_START] = sText_AttackerFainted,
+ [STRINGID_TARGETFAINTED - BATTLESTRINGS_TABLE_START] = sText_TargetFainted,
+ [STRINGID_PLAYERGOTMONEY - BATTLESTRINGS_TABLE_START] = sText_PlayerGotMoney,
+ [STRINGID_PLAYERWHITEOUT - BATTLESTRINGS_TABLE_START] = sText_PlayerWhiteout,
+ [STRINGID_PLAYERWHITEOUT2 - BATTLESTRINGS_TABLE_START] = sText_PlayerWhiteout2,
+ [STRINGID_PREVENTSESCAPE - BATTLESTRINGS_TABLE_START] = sText_PreventsEscape,
+ [STRINGID_HITXTIMES - BATTLESTRINGS_TABLE_START] = sText_HitXTimes,
+ [STRINGID_PKMNFELLASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnFellAsleep,
+ [STRINGID_PKMNMADESLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeSleep,
+ [STRINGID_PKMNALREADYASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyAsleep,
+ [STRINGID_PKMNALREADYASLEEP2 - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyAsleep2,
+ [STRINGID_PKMNWASNTAFFECTED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasntAffected,
+ [STRINGID_PKMNWASPOISONED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasPoisoned,
+ [STRINGID_PKMNPOISONEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnPoisonedBy,
+ [STRINGID_PKMNHURTBYPOISON - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByPoison,
+ [STRINGID_PKMNALREADYPOISONED - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyPoisoned,
+ [STRINGID_PKMNBADLYPOISONED - BATTLESTRINGS_TABLE_START] = sText_PkmnBadlyPoisoned,
+ [STRINGID_PKMNENERGYDRAINED - BATTLESTRINGS_TABLE_START] = sText_PkmnEnergyDrained,
+ [STRINGID_PKMNWASBURNED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasBurned,
+ [STRINGID_PKMNBURNEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnBurnedBy,
+ [STRINGID_PKMNHURTBYBURN - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtByBurn,
+ [STRINGID_PKMNWASFROZEN - BATTLESTRINGS_TABLE_START] = sText_PkmnWasFrozen,
+ [STRINGID_PKMNFROZENBY - BATTLESTRINGS_TABLE_START] = sText_PkmnFrozenBy,
+ [STRINGID_PKMNISFROZEN - BATTLESTRINGS_TABLE_START] = sText_PkmnIsFrozen,
+ [STRINGID_PKMNWASDEFROSTED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDefrosted,
+ [STRINGID_PKMNWASDEFROSTED2 - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDefrosted2,
+ [STRINGID_PKMNWASDEFROSTEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDefrostedBy,
+ [STRINGID_PKMNWASPARALYZED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasParalyzed,
+ [STRINGID_PKMNWASPARALYZEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnWasParalyzedBy,
+ [STRINGID_PKMNISPARALYZED - BATTLESTRINGS_TABLE_START] = sText_PkmnIsParalyzed,
+ [STRINGID_PKMNISALREADYPARALYZED - BATTLESTRINGS_TABLE_START] = sText_PkmnIsAlreadyParalyzed,
+ [STRINGID_PKMNHEALEDPARALYSIS - BATTLESTRINGS_TABLE_START] = sText_PkmnHealedParalysis,
+ [STRINGID_PKMNDREAMEATEN - BATTLESTRINGS_TABLE_START] = sText_PkmnDreamEaten,
+ [STRINGID_STATSWONTINCREASE - BATTLESTRINGS_TABLE_START] = sText_StatsWontIncrease,
+ [STRINGID_STATSWONTDECREASE - BATTLESTRINGS_TABLE_START] = sText_StatsWontDecrease,
+ [STRINGID_TEAMSTOPPEDWORKING - BATTLESTRINGS_TABLE_START] = sText_TeamStoppedWorking,
+ [STRINGID_FOESTOPPEDWORKING - BATTLESTRINGS_TABLE_START] = sText_FoeStoppedWorking,
+ [STRINGID_PKMNISCONFUSED - BATTLESTRINGS_TABLE_START] = sText_PkmnIsConfused,
+ [STRINGID_PKMNHEALEDCONFUSION - BATTLESTRINGS_TABLE_START] = sText_PkmnHealedConfusion,
+ [STRINGID_PKMNWASCONFUSED - BATTLESTRINGS_TABLE_START] = sText_PkmnWasConfused,
+ [STRINGID_PKMNALREADYCONFUSED - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyConfused,
+ [STRINGID_PKMNFELLINLOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnFellInLove,
+ [STRINGID_PKMNINLOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnInLove,
+ [STRINGID_PKMNIMMOBILIZEDBYLOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnImmobilizedByLove,
+ [STRINGID_PKMNBLOWNAWAY - BATTLESTRINGS_TABLE_START] = sText_PkmnBlownAway,
+ [STRINGID_PKMNCHANGEDTYPE - BATTLESTRINGS_TABLE_START] = sText_PkmnChangedType,
+ [STRINGID_PKMNFLINCHED - BATTLESTRINGS_TABLE_START] = sText_PkmnFlinched,
+ [STRINGID_PKMNREGAINEDHEALTH - BATTLESTRINGS_TABLE_START] = sText_PkmnRegainedHealth,
+ [STRINGID_PKMNHPFULL - BATTLESTRINGS_TABLE_START] = sText_PkmnHPFull,
+ [STRINGID_PKMNRAISEDSPDEF - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedSpDef,
+ [STRINGID_PKMNRAISEDDEF - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedDef,
+ [STRINGID_PKMNCOVEREDBYVEIL - BATTLESTRINGS_TABLE_START] = sText_PkmnCoveredByVeil,
+ [STRINGID_PKMNUSEDSAFEGUARD - BATTLESTRINGS_TABLE_START] = sText_PkmnUsedSafeguard,
+ [STRINGID_PKMNSAFEGUARDEXPIRED - BATTLESTRINGS_TABLE_START] = sText_PkmnSafeguardExpired,
+ [STRINGID_PKMNWENTTOSLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnWentToSleep,
+ [STRINGID_PKMNSLEPTHEALTHY - BATTLESTRINGS_TABLE_START] = sText_PkmnSleptHealthy,
+ [STRINGID_PKMNWHIPPEDWHIRLWIND - BATTLESTRINGS_TABLE_START] = sText_PkmnWhippedWhirlwind,
+ [STRINGID_PKMNTOOKSUNLIGHT - BATTLESTRINGS_TABLE_START] = sText_PkmnTookSunlight,
+ [STRINGID_PKMNLOWEREDHEAD - BATTLESTRINGS_TABLE_START] = sText_PkmnLoweredHead,
+ [STRINGID_PKMNISGLOWING - BATTLESTRINGS_TABLE_START] = sText_PkmnIsGlowing,
+ [STRINGID_PKMNFLEWHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnFlewHigh,
+ [STRINGID_PKMNDUGHOLE - BATTLESTRINGS_TABLE_START] = sText_PkmnDugHole,
+ [STRINGID_PKMNSQUEEZEDBYBIND - BATTLESTRINGS_TABLE_START] = sText_PkmnSqueezedByBind,
+ [STRINGID_PKMNTRAPPEDINVORTEX - BATTLESTRINGS_TABLE_START] = sText_PkmnTrappedInVortex,
+ [STRINGID_PKMNWRAPPEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnWrappedBy,
+ [STRINGID_PKMNCLAMPED - BATTLESTRINGS_TABLE_START] = sText_PkmnClamped,
+ [STRINGID_PKMNHURTBY - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtBy,
+ [STRINGID_PKMNFREEDFROM - BATTLESTRINGS_TABLE_START] = sText_PkmnFreedFrom,
+ [STRINGID_PKMNCRASHED - BATTLESTRINGS_TABLE_START] = sText_PkmnCrashed,
+ [STRINGID_PKMNSHROUDEDINMIST - BATTLESTRINGS_TABLE_START] = gText_PkmnShroudedInMist,
+ [STRINGID_PKMNPROTECTEDBYMIST - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedByMist,
+ [STRINGID_PKMNGETTINGPUMPED - BATTLESTRINGS_TABLE_START] = gText_PkmnGettingPumped,
+ [STRINGID_PKMNHITWITHRECOIL - BATTLESTRINGS_TABLE_START] = sText_PkmnHitWithRecoil,
+ [STRINGID_PKMNPROTECTEDITSELF2 - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedItself2,
+ [STRINGID_PKMNBUFFETEDBYSANDSTORM - BATTLESTRINGS_TABLE_START] = sText_PkmnBuffetedBySandstorm,
+ [STRINGID_PKMNPELTEDBYHAIL - BATTLESTRINGS_TABLE_START] = sText_PkmnPeltedByHail,
+ [STRINGID_PKMNSEEDED - BATTLESTRINGS_TABLE_START] = sText_PkmnSeeded,
+ [STRINGID_PKMNEVADEDATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnEvadedAttack,
+ [STRINGID_PKMNSAPPEDBYLEECHSEED - BATTLESTRINGS_TABLE_START] = sText_PkmnSappedByLeechSeed,
+ [STRINGID_PKMNFASTASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnFastAsleep,
+ [STRINGID_PKMNWOKEUP - BATTLESTRINGS_TABLE_START] = sText_PkmnWokeUp,
+ [STRINGID_PKMNUPROARKEPTAWAKE - BATTLESTRINGS_TABLE_START] = sText_PkmnUproarKeptAwake,
+ [STRINGID_PKMNWOKEUPINUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnWokeUpInUproar,
+ [STRINGID_PKMNCAUSEDUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnCausedUproar,
+ [STRINGID_PKMNMAKINGUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnMakingUproar,
+ [STRINGID_PKMNCALMEDDOWN - BATTLESTRINGS_TABLE_START] = sText_PkmnCalmedDown,
+ [STRINGID_PKMNCANTSLEEPINUPROAR - BATTLESTRINGS_TABLE_START] = sText_PkmnCantSleepInUproar,
+ [STRINGID_PKMNSTOCKPILED - BATTLESTRINGS_TABLE_START] = sText_PkmnStockpiled,
+ [STRINGID_PKMNCANTSTOCKPILE - BATTLESTRINGS_TABLE_START] = sText_PkmnCantStockpile,
+ [STRINGID_PKMNCANTSLEEPINUPROAR2 - BATTLESTRINGS_TABLE_START] = sText_PkmnCantSleepInUproar2,
+ [STRINGID_UPROARKEPTPKMNAWAKE - BATTLESTRINGS_TABLE_START] = sText_UproarKeptPkmnAwake,
+ [STRINGID_PKMNSTAYEDAWAKEUSING - BATTLESTRINGS_TABLE_START] = sText_PkmnStayedAwakeUsing,
+ [STRINGID_PKMNSTORINGENERGY - BATTLESTRINGS_TABLE_START] = sText_PkmnStoringEnergy,
+ [STRINGID_PKMNUNLEASHEDENERGY - BATTLESTRINGS_TABLE_START] = sText_PkmnUnleashedEnergy,
+ [STRINGID_PKMNFATIGUECONFUSION - BATTLESTRINGS_TABLE_START] = sText_PkmnFatigueConfusion,
+ [STRINGID_PLAYERPICKEDUPMONEY - BATTLESTRINGS_TABLE_START] = sText_PlayerPickedUpMoney,
+ [STRINGID_PKMNUNAFFECTED - BATTLESTRINGS_TABLE_START] = sText_PkmnUnaffected,
+ [STRINGID_PKMNTRANSFORMEDINTO - BATTLESTRINGS_TABLE_START] = sText_PkmnTransformedInto,
+ [STRINGID_PKMNMADESUBSTITUTE - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeSubstitute,
+ [STRINGID_PKMNHASSUBSTITUTE - BATTLESTRINGS_TABLE_START] = sText_PkmnHasSubstitute,
+ [STRINGID_SUBSTITUTEDAMAGED - BATTLESTRINGS_TABLE_START] = sText_SubstituteDamaged,
+ [STRINGID_PKMNSUBSTITUTEFADED - BATTLESTRINGS_TABLE_START] = sText_PkmnSubstituteFaded,
+ [STRINGID_PKMNMUSTRECHARGE - BATTLESTRINGS_TABLE_START] = sText_PkmnMustRecharge,
+ [STRINGID_PKMNRAGEBUILDING - BATTLESTRINGS_TABLE_START] = sText_PkmnRageBuilding,
+ [STRINGID_PKMNMOVEWASDISABLED - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveWasDisabled,
+ [STRINGID_PKMNMOVEISDISABLED - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveIsDisabled,
+ [STRINGID_PKMNMOVEDISABLEDNOMORE - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveDisabledNoMore,
+ [STRINGID_PKMNGOTENCORE - BATTLESTRINGS_TABLE_START] = sText_PkmnGotEncore,
+ [STRINGID_PKMNENCOREENDED - BATTLESTRINGS_TABLE_START] = sText_PkmnEncoreEnded,
+ [STRINGID_PKMNTOOKAIM - BATTLESTRINGS_TABLE_START] = sText_PkmnTookAim,
+ [STRINGID_PKMNSKETCHEDMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnSketchedMove,
+ [STRINGID_PKMNTRYINGTOTAKEFOE - BATTLESTRINGS_TABLE_START] = sText_PkmnTryingToTakeFoe,
+ [STRINGID_PKMNTOOKFOE - BATTLESTRINGS_TABLE_START] = sText_PkmnTookFoe,
+ [STRINGID_PKMNREDUCEDPP - BATTLESTRINGS_TABLE_START] = sText_PkmnReducedPP,
+ [STRINGID_PKMNSTOLEITEM - BATTLESTRINGS_TABLE_START] = sText_PkmnStoleItem,
+ [STRINGID_TARGETCANTESCAPENOW - BATTLESTRINGS_TABLE_START] = sText_TargetCantEscapeNow,
+ [STRINGID_PKMNFELLINTONIGHTMARE - BATTLESTRINGS_TABLE_START] = sText_PkmnFellIntoNightmare,
+ [STRINGID_PKMNLOCKEDINNIGHTMARE - BATTLESTRINGS_TABLE_START] = sText_PkmnLockedInNightmare,
+ [STRINGID_PKMNLAIDCURSE - BATTLESTRINGS_TABLE_START] = sText_PkmnLaidCurse,
+ [STRINGID_PKMNAFFLICTEDBYCURSE - BATTLESTRINGS_TABLE_START] = sText_PkmnAfflictedByCurse,
+ [STRINGID_SPIKESSCATTERED - BATTLESTRINGS_TABLE_START] = sText_SpikesScattered,
+ [STRINGID_PKMNHURTBYSPIKES - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtBySpikes,
+ [STRINGID_PKMNIDENTIFIED - BATTLESTRINGS_TABLE_START] = sText_PkmnIdentified,
+ [STRINGID_PKMNPERISHCOUNTFELL - BATTLESTRINGS_TABLE_START] = sText_PkmnPerishCountFell,
+ [STRINGID_PKMNBRACEDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnBracedItself,
+ [STRINGID_PKMNENDUREDHIT - BATTLESTRINGS_TABLE_START] = sText_PkmnEnduredHit,
+ [STRINGID_MAGNITUDESTRENGTH - BATTLESTRINGS_TABLE_START] = sText_MagnitudeStrength,
+ [STRINGID_PKMNCUTHPMAXEDATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnCutHPMaxedAttack,
+ [STRINGID_PKMNCOPIEDSTATCHANGES - BATTLESTRINGS_TABLE_START] = sText_PkmnCopiedStatChanges,
+ [STRINGID_PKMNGOTFREE - BATTLESTRINGS_TABLE_START] = sText_PkmnGotFree,
+ [STRINGID_PKMNSHEDLEECHSEED - BATTLESTRINGS_TABLE_START] = sText_PkmnShedLeechSeed,
+ [STRINGID_PKMNBLEWAWAYSPIKES - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwaySpikes,
+ [STRINGID_PKMNFLEDFROMBATTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnFledFromBattle,
+ [STRINGID_PKMNFORESAWATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnForesawAttack,
+ [STRINGID_PKMNTOOKATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnTookAttack,
+ [STRINGID_PKMNATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnAttack,
+ [STRINGID_PKMNCENTERATTENTION - BATTLESTRINGS_TABLE_START] = sText_PkmnCenterAttention,
+ [STRINGID_PKMNCHARGINGPOWER - BATTLESTRINGS_TABLE_START] = sText_PkmnChargingPower,
+ [STRINGID_NATUREPOWERTURNEDINTO - BATTLESTRINGS_TABLE_START] = sText_NaturePowerTurnedInto,
+ [STRINGID_PKMNSTATUSNORMAL - BATTLESTRINGS_TABLE_START] = sText_PkmnStatusNormal,
+ [STRINGID_PKMNHASNOMOVESLEFT - BATTLESTRINGS_TABLE_START] = sText_PkmnHasNoMovesLeft,
+ [STRINGID_PKMNSUBJECTEDTOTORMENT - BATTLESTRINGS_TABLE_START] = sText_PkmnSubjectedToTorment,
+ [STRINGID_PKMNCANTUSEMOVETORMENT - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveTorment,
+ [STRINGID_PKMNTIGHTENINGFOCUS - BATTLESTRINGS_TABLE_START] = sText_PkmnTighteningFocus,
+ [STRINGID_PKMNFELLFORTAUNT - BATTLESTRINGS_TABLE_START] = sText_PkmnFellForTaunt,
+ [STRINGID_PKMNCANTUSEMOVETAUNT - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveTaunt,
+ [STRINGID_PKMNREADYTOHELP - BATTLESTRINGS_TABLE_START] = sText_PkmnReadyToHelp,
+ [STRINGID_PKMNSWITCHEDITEMS - BATTLESTRINGS_TABLE_START] = sText_PkmnSwitchedItems,
+ [STRINGID_PKMNCOPIEDFOE - BATTLESTRINGS_TABLE_START] = sText_PkmnCopiedFoe,
+ [STRINGID_PKMNMADEWISH - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeWish,
+ [STRINGID_PKMNWISHCAMETRUE - BATTLESTRINGS_TABLE_START] = sText_PkmnWishCameTrue,
+ [STRINGID_PKMNPLANTEDROOTS - BATTLESTRINGS_TABLE_START] = sText_PkmnPlantedRoots,
+ [STRINGID_PKMNABSORBEDNUTRIENTS - BATTLESTRINGS_TABLE_START] = sText_PkmnAbsorbedNutrients,
+ [STRINGID_PKMNANCHOREDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnAnchoredItself,
+ [STRINGID_PKMNWASMADEDROWSY - BATTLESTRINGS_TABLE_START] = sText_PkmnWasMadeDrowsy,
+ [STRINGID_PKMNKNOCKEDOFF - BATTLESTRINGS_TABLE_START] = sText_PkmnKnockedOff,
+ [STRINGID_PKMNSWAPPEDABILITIES - BATTLESTRINGS_TABLE_START] = sText_PkmnSwappedAbilities,
+ [STRINGID_PKMNSEALEDOPPONENTMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnSealedOpponentMove,
+ [STRINGID_PKMNCANTUSEMOVESEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveSealed,
+ [STRINGID_PKMNWANTSGRUDGE - BATTLESTRINGS_TABLE_START] = sText_PkmnWantsGrudge,
+ [STRINGID_PKMNLOSTPPGRUDGE - BATTLESTRINGS_TABLE_START] = sText_PkmnLostPPGrudge,
+ [STRINGID_PKMNSHROUDEDITSELF - BATTLESTRINGS_TABLE_START] = sText_PkmnShroudedItself,
+ [STRINGID_PKMNMOVEBOUNCED - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveBounced,
+ [STRINGID_PKMNWAITSFORTARGET - BATTLESTRINGS_TABLE_START] = sText_PkmnWaitsForTarget,
+ [STRINGID_PKMNSNATCHEDMOVE - BATTLESTRINGS_TABLE_START] = sText_PkmnSnatchedMove,
+ [STRINGID_PKMNMADEITRAIN - BATTLESTRINGS_TABLE_START] = sText_PkmnMadeItRain,
+ [STRINGID_PKMNRAISEDSPEED - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedSpeed,
+ [STRINGID_PKMNPROTECTEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnProtectedBy,
+ [STRINGID_PKMNPREVENTSUSAGE - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsUsage,
+ [STRINGID_PKMNRESTOREDHPUSING - BATTLESTRINGS_TABLE_START] = sText_PkmnRestoredHPUsing,
+ [STRINGID_PKMNCHANGEDTYPEWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnChangedTypeWith,
+ [STRINGID_PKMNPREVENTSPARALYSISWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsParalysisWith,
+ [STRINGID_PKMNPREVENTSROMANCEWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsRomanceWith,
+ [STRINGID_PKMNPREVENTSPOISONINGWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsPoisoningWith,
+ [STRINGID_PKMNPREVENTSCONFUSIONWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsConfusionWith,
+ [STRINGID_PKMNRAISEDFIREPOWERWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedFirePowerWith,
+ [STRINGID_PKMNANCHORSITSELFWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnAnchorsItselfWith,
+ [STRINGID_PKMNCUTSATTACKWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnCutsAttackWith,
+ [STRINGID_PKMNPREVENTSSTATLOSSWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventsStatLossWith,
+ [STRINGID_PKMNHURTSWITH - BATTLESTRINGS_TABLE_START] = sText_PkmnHurtsWith,
+ [STRINGID_PKMNTRACED - BATTLESTRINGS_TABLE_START] = sText_PkmnTraced,
+ [STRINGID_STATSHARPLY - BATTLESTRINGS_TABLE_START] = sText_StatSharply,
+ [STRINGID_STATROSE - BATTLESTRINGS_TABLE_START] = gText_StatRose,
+ [STRINGID_STATHARSHLY - BATTLESTRINGS_TABLE_START] = sText_StatHarshly,
+ [STRINGID_STATFELL - BATTLESTRINGS_TABLE_START] = sText_StatFell,
+ [STRINGID_ATTACKERSSTATROSE - BATTLESTRINGS_TABLE_START] = sText_AttackersStatRose,
+ [STRINGID_DEFENDERSSTATROSE - BATTLESTRINGS_TABLE_START] = gText_DefendersStatRose,
+ [STRINGID_ATTACKERSSTATFELL - BATTLESTRINGS_TABLE_START] = sText_AttackersStatFell,
+ [STRINGID_DEFENDERSSTATFELL - BATTLESTRINGS_TABLE_START] = sText_DefendersStatFell,
+ [STRINGID_CRITICALHIT - BATTLESTRINGS_TABLE_START] = sText_CriticalHit,
+ [STRINGID_ONEHITKO - BATTLESTRINGS_TABLE_START] = sText_OneHitKO,
+ [STRINGID_123POOF - BATTLESTRINGS_TABLE_START] = sText_123Poof,
+ [STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START] = sText_AndEllipsis,
+ [STRINGID_NOTVERYEFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_NotVeryEffective,
+ [STRINGID_SUPEREFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_SuperEffective,
+ [STRINGID_GOTAWAYSAFELY - BATTLESTRINGS_TABLE_START] = sText_GotAwaySafely,
+ [STRINGID_WILDPKMNFLED - BATTLESTRINGS_TABLE_START] = sText_WildPkmnFled,
+ [STRINGID_NORUNNINGFROMTRAINERS - BATTLESTRINGS_TABLE_START] = sText_NoRunningFromTrainers,
+ [STRINGID_CANTESCAPE - BATTLESTRINGS_TABLE_START] = sText_CantEscape,
+ [STRINGID_DONTLEAVEBIRCH - BATTLESTRINGS_TABLE_START] = sText_DontLeaveBirch,
+ [STRINGID_BUTNOTHINGHAPPENED - BATTLESTRINGS_TABLE_START] = sText_ButNothingHappened,
+ [STRINGID_BUTITFAILED - BATTLESTRINGS_TABLE_START] = sText_ButItFailed,
+ [STRINGID_ITHURTCONFUSION - BATTLESTRINGS_TABLE_START] = sText_ItHurtConfusion,
+ [STRINGID_MIRRORMOVEFAILED - BATTLESTRINGS_TABLE_START] = sText_MirrorMoveFailed,
+ [STRINGID_STARTEDTORAIN - BATTLESTRINGS_TABLE_START] = sText_StartedToRain,
+ [STRINGID_DOWNPOURSTARTED - BATTLESTRINGS_TABLE_START] = sText_DownpourStarted,
+ [STRINGID_RAINCONTINUES - BATTLESTRINGS_TABLE_START] = sText_RainContinues,
+ [STRINGID_DOWNPOURCONTINUES - BATTLESTRINGS_TABLE_START] = sText_DownpourContinues,
+ [STRINGID_RAINSTOPPED - BATTLESTRINGS_TABLE_START] = sText_RainStopped,
+ [STRINGID_SANDSTORMBREWED - BATTLESTRINGS_TABLE_START] = sText_SandstormBrewed,
+ [STRINGID_SANDSTORMRAGES - BATTLESTRINGS_TABLE_START] = sText_SandstormRages,
+ [STRINGID_SANDSTORMSUBSIDED - BATTLESTRINGS_TABLE_START] = sText_SandstormSubsided,
+ [STRINGID_SUNLIGHTGOTBRIGHT - BATTLESTRINGS_TABLE_START] = sText_SunlightGotBright,
+ [STRINGID_SUNLIGHTSTRONG - BATTLESTRINGS_TABLE_START] = sText_SunlightStrong,
+ [STRINGID_SUNLIGHTFADED - BATTLESTRINGS_TABLE_START] = sText_SunlightFaded,
+ [STRINGID_STARTEDHAIL - BATTLESTRINGS_TABLE_START] = sText_StartedHail,
+ [STRINGID_HAILCONTINUES - BATTLESTRINGS_TABLE_START] = sText_HailContinues,
+ [STRINGID_HAILSTOPPED - BATTLESTRINGS_TABLE_START] = sText_HailStopped,
+ [STRINGID_FAILEDTOSPITUP - BATTLESTRINGS_TABLE_START] = sText_FailedToSpitUp,
+ [STRINGID_FAILEDTOSWALLOW - BATTLESTRINGS_TABLE_START] = sText_FailedToSwallow,
+ [STRINGID_WINDBECAMEHEATWAVE - BATTLESTRINGS_TABLE_START] = sText_WindBecameHeatWave,
+ [STRINGID_STATCHANGESGONE - BATTLESTRINGS_TABLE_START] = sText_StatChangesGone,
+ [STRINGID_COINSSCATTERED - BATTLESTRINGS_TABLE_START] = sText_CoinsScattered,
+ [STRINGID_TOOWEAKFORSUBSTITUTE - BATTLESTRINGS_TABLE_START] = sText_TooWeakForSubstitute,
+ [STRINGID_SHAREDPAIN - BATTLESTRINGS_TABLE_START] = sText_SharedPain,
+ [STRINGID_BELLCHIMED - BATTLESTRINGS_TABLE_START] = sText_BellChimed,
+ [STRINGID_FAINTINTHREE - BATTLESTRINGS_TABLE_START] = sText_FaintInThree,
+ [STRINGID_NOPPLEFT - BATTLESTRINGS_TABLE_START] = sText_NoPPLeft,
+ [STRINGID_BUTNOPPLEFT - BATTLESTRINGS_TABLE_START] = sText_ButNoPPLeft,
+ [STRINGID_PLAYERUSEDITEM - BATTLESTRINGS_TABLE_START] = sText_PlayerUsedItem,
+ [STRINGID_WALLYUSEDITEM - BATTLESTRINGS_TABLE_START] = sText_WallyUsedItem,
+ [STRINGID_TRAINERBLOCKEDBALL - BATTLESTRINGS_TABLE_START] = sText_TrainerBlockedBall,
+ [STRINGID_DONTBEATHIEF - BATTLESTRINGS_TABLE_START] = sText_DontBeAThief,
+ [STRINGID_ITDODGEDBALL - BATTLESTRINGS_TABLE_START] = sText_ItDodgedBall,
+ [STRINGID_YOUMISSEDPKMN - BATTLESTRINGS_TABLE_START] = sText_YouMissedPkmn,
+ [STRINGID_PKMNBROKEFREE - BATTLESTRINGS_TABLE_START] = sText_PkmnBrokeFree,
+ [STRINGID_ITAPPEAREDCAUGHT - BATTLESTRINGS_TABLE_START] = sText_ItAppearedCaught,
+ [STRINGID_AARGHALMOSTHADIT - BATTLESTRINGS_TABLE_START] = sText_AarghAlmostHadIt,
+ [STRINGID_SHOOTSOCLOSE - BATTLESTRINGS_TABLE_START] = sText_ShootSoClose,
+ [STRINGID_GOTCHAPKMNCAUGHT - BATTLESTRINGS_TABLE_START] = sText_GotchaPkmnCaught,
+ [STRINGID_GOTCHAPKMNCAUGHT2 - BATTLESTRINGS_TABLE_START] = sText_GotchaPkmnCaught2,
+ [STRINGID_GIVENICKNAMECAPTURED - BATTLESTRINGS_TABLE_START] = sText_GiveNicknameCaptured,
+ [STRINGID_PKMNSENTTOPC - BATTLESTRINGS_TABLE_START] = sText_PkmnSentToPC,
+ [STRINGID_PKMNDATAADDEDTODEX - BATTLESTRINGS_TABLE_START] = sText_PkmnDataAddedToDex,
+ [STRINGID_ITISRAINING - BATTLESTRINGS_TABLE_START] = sText_ItIsRaining,
+ [STRINGID_SANDSTORMISRAGING - BATTLESTRINGS_TABLE_START] = sText_SandstormIsRaging,
+ [STRINGID_CANTESCAPE2 - BATTLESTRINGS_TABLE_START] = sText_CantEscape2,
+ [STRINGID_PKMNIGNORESASLEEP - BATTLESTRINGS_TABLE_START] = sText_PkmnIgnoresAsleep,
+ [STRINGID_PKMNIGNOREDORDERS - BATTLESTRINGS_TABLE_START] = sText_PkmnIgnoredOrders,
+ [STRINGID_PKMNBEGANTONAP - BATTLESTRINGS_TABLE_START] = sText_PkmnBeganToNap,
+ [STRINGID_PKMNLOAFING - BATTLESTRINGS_TABLE_START] = sText_PkmnLoafing,
+ [STRINGID_PKMNWONTOBEY - BATTLESTRINGS_TABLE_START] = sText_PkmnWontObey,
+ [STRINGID_PKMNTURNEDAWAY - BATTLESTRINGS_TABLE_START] = sText_PkmnTurnedAway,
+ [STRINGID_PKMNPRETENDNOTNOTICE - BATTLESTRINGS_TABLE_START] = sText_PkmnPretendNotNotice,
+ [STRINGID_ENEMYABOUTTOSWITCHPKMN - BATTLESTRINGS_TABLE_START] = sText_EnemyAboutToSwitchPkmn,
+ [STRINGID_CREPTCLOSER - BATTLESTRINGS_TABLE_START] = sText_CreptCloser,
+ [STRINGID_CANTGETCLOSER - BATTLESTRINGS_TABLE_START] = sText_CantGetCloser,
+ [STRINGID_PKMNWATCHINGCAREFULLY - BATTLESTRINGS_TABLE_START] = sText_PkmnWatchingCarefully,
+ [STRINGID_PKMNCURIOUSABOUTX - BATTLESTRINGS_TABLE_START] = sText_PkmnCuriousAboutX,
+ [STRINGID_PKMNENTHRALLEDBYX - BATTLESTRINGS_TABLE_START] = sText_PkmnEnthralledByX,
+ [STRINGID_PKMNIGNOREDX - BATTLESTRINGS_TABLE_START] = sText_PkmnIgnoredX,
+ [STRINGID_THREWPOKEBLOCKATPKMN - BATTLESTRINGS_TABLE_START] = sText_ThrewPokeblockAtPkmn,
+ [STRINGID_OUTOFSAFARIBALLS - BATTLESTRINGS_TABLE_START] = sText_OutOfSafariBalls,
+ [STRINGID_PKMNSITEMCUREDPARALYSIS - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemCuredParalysis,
+ [STRINGID_PKMNSITEMCUREDPOISON - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemCuredPoison,
+ [STRINGID_PKMNSITEMHEALEDBURN - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemHealedBurn,
+ [STRINGID_PKMNSITEMDEFROSTEDIT - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemDefrostedIt,
+ [STRINGID_PKMNSITEMWOKEIT - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemWokeIt,
+ [STRINGID_PKMNSITEMSNAPPEDOUT - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemSnappedOut,
+ [STRINGID_PKMNSITEMCUREDPROBLEM - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemCuredProblem,
+ [STRINGID_PKMNSITEMRESTOREDHEALTH - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredHealth,
+ [STRINGID_PKMNSITEMRESTOREDPP - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredPP,
+ [STRINGID_PKMNSITEMRESTOREDSTATUS - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredStatus,
+ [STRINGID_PKMNSITEMRESTOREDHPALITTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemRestoredHPALittle,
+ [STRINGID_ITEMALLOWSONLYYMOVE - BATTLESTRINGS_TABLE_START] = sText_ItemAllowsOnlyYMove,
+ [STRINGID_PKMNHUNGONWITHX - BATTLESTRINGS_TABLE_START] = sText_PkmnHungOnWithX,
+ [STRINGID_EMPTYSTRING3 - BATTLESTRINGS_TABLE_START] = gText_EmptyString3,
+ [STRINGID_PKMNSXPREVENTSBURNS - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsBurns,
+ [STRINGID_PKMNSXBLOCKSY - BATTLESTRINGS_TABLE_START] = sText_PkmnsXBlocksY,
+ [STRINGID_PKMNSXRESTOREDHPALITTLE2 - BATTLESTRINGS_TABLE_START] = sText_PkmnsXRestoredHPALittle2,
+ [STRINGID_PKMNSXWHIPPEDUPSANDSTORM - BATTLESTRINGS_TABLE_START] = sText_PkmnsXWhippedUpSandstorm,
+ [STRINGID_PKMNSXPREVENTSYLOSS - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsYLoss,
+ [STRINGID_PKMNSXINFATUATEDY - BATTLESTRINGS_TABLE_START] = sText_PkmnsXInfatuatedY,
+ [STRINGID_PKMNSXMADEYINEFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_PkmnsXMadeYIneffective,
+ [STRINGID_PKMNSXCUREDYPROBLEM - BATTLESTRINGS_TABLE_START] = sText_PkmnsXCuredYProblem,
+ [STRINGID_ITSUCKEDLIQUIDOOZE - BATTLESTRINGS_TABLE_START] = sText_ItSuckedLiquidOoze,
+ [STRINGID_PKMNTRANSFORMED - BATTLESTRINGS_TABLE_START] = sText_PkmnTransformed,
+ [STRINGID_ELECTRICITYWEAKENED - BATTLESTRINGS_TABLE_START] = sText_ElectricityWeakened,
+ [STRINGID_FIREWEAKENED - BATTLESTRINGS_TABLE_START] = sText_FireWeakened,
+ [STRINGID_PKMNHIDUNDERWATER - BATTLESTRINGS_TABLE_START] = sText_PkmnHidUnderwater,
+ [STRINGID_PKMNSPRANGUP - BATTLESTRINGS_TABLE_START] = sText_PkmnSprangUp,
+ [STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START] = sText_HMMovesCantBeForgotten,
+ [STRINGID_XFOUNDONEY - BATTLESTRINGS_TABLE_START] = sText_XFoundOneY,
+ [STRINGID_PLAYERDEFEATEDTRAINER1 - BATTLESTRINGS_TABLE_START] = sText_PlayerDefeatedLinkTrainerTrainer1,
+ [STRINGID_SOOTHINGAROMA - BATTLESTRINGS_TABLE_START] = sText_SoothingAroma,
+ [STRINGID_ITEMSCANTBEUSEDNOW - BATTLESTRINGS_TABLE_START] = sText_ItemsCantBeUsedNow,
+ [STRINGID_FORXCOMMAYZ - BATTLESTRINGS_TABLE_START] = sText_ForXCommaYZ,
+ [STRINGID_USINGITEMSTATOFPKMNROSE - BATTLESTRINGS_TABLE_START] = sText_UsingItemTheStatOfPkmnRose,
+ [STRINGID_PKMNUSEDXTOGETPUMPED - BATTLESTRINGS_TABLE_START] = sText_PkmnUsedXToGetPumped,
+ [STRINGID_PKMNSXMADEYUSELESS - BATTLESTRINGS_TABLE_START] = sText_PkmnsXMadeYUseless,
+ [STRINGID_PKMNTRAPPEDBYSANDTOMB - BATTLESTRINGS_TABLE_START] = sText_PkmnTrappedBySandTomb,
+ [STRINGID_EMPTYSTRING4 - BATTLESTRINGS_TABLE_START] = sText_EmptyString4,
+ [STRINGID_ABOOSTED - BATTLESTRINGS_TABLE_START] = sText_ABoosted,
+ [STRINGID_PKMNSXINTENSIFIEDSUN - BATTLESTRINGS_TABLE_START] = sText_PkmnsXIntensifiedSun,
+ [STRINGID_PKMNMAKESGROUNDMISS - BATTLESTRINGS_TABLE_START] = sText_PkmnMakesGroundMiss,
+ [STRINGID_YOUTHROWABALLNOWRIGHT - BATTLESTRINGS_TABLE_START] = sText_YouThrowABallNowRight,
+ [STRINGID_PKMNSXTOOKATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnsXTookAttack,
+ [STRINGID_PKMNCHOSEXASDESTINY - BATTLESTRINGS_TABLE_START] = sText_PkmnChoseXAsDestiny,
+ [STRINGID_PKMNLOSTFOCUS - BATTLESTRINGS_TABLE_START] = sText_PkmnLostFocus,
+ [STRINGID_USENEXTPKMN - BATTLESTRINGS_TABLE_START] = sText_UseNextPkmn,
+ [STRINGID_PKMNFLEDUSINGITS - BATTLESTRINGS_TABLE_START] = sText_PkmnFledUsingIts,
+ [STRINGID_PKMNFLEDUSING - BATTLESTRINGS_TABLE_START] = sText_PkmnFledUsing,
+ [STRINGID_PKMNWASDRAGGEDOUT - BATTLESTRINGS_TABLE_START] = sText_PkmnWasDraggedOut,
+ [STRINGID_PREVENTEDFROMWORKING - BATTLESTRINGS_TABLE_START] = sText_PreventedFromWorking,
+ [STRINGID_PKMNSITEMNORMALIZEDSTATUS - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemNormalizedStatus,
+ [STRINGID_TRAINER1USEDITEM - BATTLESTRINGS_TABLE_START] = sText_Trainer1UsedItem,
+ [STRINGID_BOXISFULL - BATTLESTRINGS_TABLE_START] = sText_BoxIsFull,
+ [STRINGID_PKMNAVOIDEDATTACK - BATTLESTRINGS_TABLE_START] = sText_PkmnAvoidedAttack,
+ [STRINGID_PKMNSXMADEITINEFFECTIVE - BATTLESTRINGS_TABLE_START] = sText_PkmnsXMadeItIneffective,
+ [STRINGID_PKMNSXPREVENTSFLINCHING - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsFlinching,
+ [STRINGID_PKMNALREADYHASBURN - BATTLESTRINGS_TABLE_START] = sText_PkmnAlreadyHasBurn,
+ [STRINGID_STATSWONTDECREASE2 - BATTLESTRINGS_TABLE_START] = sText_StatsWontDecrease2,
+ [STRINGID_PKMNSXBLOCKSY2 - BATTLESTRINGS_TABLE_START] = sText_PkmnsXBlocksY2,
+ [STRINGID_PKMNSXWOREOFF - BATTLESTRINGS_TABLE_START] = sText_PkmnsXWoreOff,
+ [STRINGID_PKMNRAISEDDEFALITTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedDefALittle,
+ [STRINGID_PKMNRAISEDSPDEFALITTLE - BATTLESTRINGS_TABLE_START] = sText_PkmnRaisedSpDefALittle,
+ [STRINGID_THEWALLSHATTERED - BATTLESTRINGS_TABLE_START] = sText_TheWallShattered,
+ [STRINGID_PKMNSXPREVENTSYSZ - BATTLESTRINGS_TABLE_START] = sText_PkmnsXPreventsYsZ,
+ [STRINGID_PKMNSXCUREDITSYPROBLEM - BATTLESTRINGS_TABLE_START] = sText_PkmnsXCuredItsYProblem,
+ [STRINGID_ATTACKERCANTESCAPE - BATTLESTRINGS_TABLE_START] = sText_AttackerCantEscape,
+ [STRINGID_PKMNOBTAINEDX - BATTLESTRINGS_TABLE_START] = sText_PkmnObtainedX,
+ [STRINGID_PKMNOBTAINEDX2 - BATTLESTRINGS_TABLE_START] = sText_PkmnObtainedX2,
+ [STRINGID_PKMNOBTAINEDXYOBTAINEDZ - BATTLESTRINGS_TABLE_START] = sText_PkmnObtainedXYObtainedZ,
+ [STRINGID_BUTNOEFFECT - BATTLESTRINGS_TABLE_START] = sText_ButNoEffect,
+ [STRINGID_PKMNSXHADNOEFFECTONY - BATTLESTRINGS_TABLE_START] = sText_PkmnsXHadNoEffectOnY,
+ [STRINGID_TWOENEMIESDEFEATED - BATTLESTRINGS_TABLE_START] = sText_TwoInGameTrainersDefeated,
+ [STRINGID_TRAINER2LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer2LoseText,
+ [STRINGID_PKMNINCAPABLEOFPOWER - BATTLESTRINGS_TABLE_START] = sText_PkmnIncapableOfPower,
+ [STRINGID_GLINTAPPEARSINEYE - BATTLESTRINGS_TABLE_START] = sText_GlintAppearsInEye,
+ [STRINGID_PKMNGETTINGINTOPOSITION - BATTLESTRINGS_TABLE_START] = sText_PkmnGettingIntoPosition,
+ [STRINGID_PKMNBEGANGROWLINGDEEPLY - BATTLESTRINGS_TABLE_START] = sText_PkmnBeganGrowlingDeeply,
+ [STRINGID_PKMNEAGERFORMORE - BATTLESTRINGS_TABLE_START] = sText_PkmnEagerForMore,
+ [STRINGID_DEFEATEDOPPONENTBYREFEREE - BATTLESTRINGS_TABLE_START] = sText_DefeatedOpponentByReferee,
+ [STRINGID_LOSTTOOPPONENTBYREFEREE - BATTLESTRINGS_TABLE_START] = sText_LostToOpponentByReferee,
+ [STRINGID_TIEDOPPONENTBYREFEREE - BATTLESTRINGS_TABLE_START] = sText_TiedOpponentByReferee,
+ [STRINGID_QUESTIONFORFEITMATCH - BATTLESTRINGS_TABLE_START] = sText_QuestionForfeitMatch,
+ [STRINGID_FORFEITEDMATCH - BATTLESTRINGS_TABLE_START] = sText_ForfeitedMatch,
+ [STRINGID_PKMNTRANSFERREDSOMEONESPC - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredSomeonesPC,
+ [STRINGID_PKMNTRANSFERREDLANETTESPC - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredLanettesPC,
+ [STRINGID_PKMNBOXSOMEONESPCFULL - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredSomeonesPCBoxFull,
+ [STRINGID_PKMNBOXLANETTESPCFULL - BATTLESTRINGS_TABLE_START] = gText_PkmnTransferredLanettesPCBoxFull,
+ [STRINGID_TRAINER1WINTEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1WinText,
+ [STRINGID_TRAINER2WINTEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer2WinText,
};
const u16 gMissStringIds[] =
@@ -2331,14 +2331,14 @@ void BufferStringBattle(u16 stringID)
}
break;
default: // load a string from the table
- if (stringID >= BATTLESTRINGS_COUNT + BATTLESTRINGS_ID_ADDER)
+ if (stringID >= BATTLESTRINGS_COUNT)
{
gDisplayedStringBattle[0] = EOS;
return;
}
else
{
- stringPtr = gBattleStringsTable[stringID - BATTLESTRINGS_ID_ADDER];
+ stringPtr = gBattleStringsTable[stringID - BATTLESTRINGS_TABLE_START];
}
break;
}
@@ -2400,7 +2400,7 @@ static const u8* TryGetStatusString(u8 *src)
{ \
GetMonData(&gPlayerParty[monIndex], MON_DATA_NICKNAME, text); \
} \
- StringGetEnd10(text); \
+ StringGet_Nickname(text); \
toCpy = text;
u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
@@ -2466,49 +2466,49 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_PLAYER_MON1_NAME: // first player poke name
GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name
GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_PLAYER_MON2_NAME: // second player poke name
GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name
GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_LINK_PLAYER_MON1_NAME: // link first player poke name
GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_LINK_OPPONENT_MON1_NAME: // link first opponent poke name
GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 1]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_LINK_PLAYER_MON2_NAME: // link second player poke name
GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 2]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_LINK_OPPONENT_MON2_NAME: // link second opponent poke name
GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 3]],
MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battlerId 0/1
@@ -2521,7 +2521,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
else
GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker)) + 2]], MON_DATA_NICKNAME, text);
- StringGetEnd10(text);
+ StringGet_Nickname(text);
toCpy = text;
break;
case B_TXT_ATK_NAME_WITH_PREFIX: // attacker name with prefix
@@ -2862,7 +2862,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
{
case B_BUFF_STRING: // battle string
hword = T1_READ_16(&src[srcID + 1]);
- StringAppend(dst, gBattleStringsTable[hword - BATTLESTRINGS_ID_ADDER]);
+ StringAppend(dst, gBattleStringsTable[hword - BATTLESTRINGS_TABLE_START]);
srcID += 3;
break;
case B_BUFF_NUMBER: // int to string
@@ -2903,7 +2903,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
}
- StringGetEnd10(text);
+ StringGet_Nickname(text);
StringAppend(dst, text);
srcID += 3;
break;
@@ -2920,7 +2920,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, dst);
else
GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, dst);
- StringGetEnd10(dst);
+ StringGet_Nickname(dst);
srcID += 3;
break;
case B_BUFF_NEGATIVE_FLAVOR: // flavor table
diff --git a/src/battle_palace.c b/src/battle_palace.c
index c4e48a4b2b..0fa65200a6 100644
--- a/src/battle_palace.c
+++ b/src/battle_palace.c
@@ -93,7 +93,7 @@ static void InitPalaceChallenge(void)
if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
gTrainerBattleOpponent_A = 0;
}
diff --git a/src/battle_pike.c b/src/battle_pike.c
index d889d7cddf..2b0cf64205 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -17,7 +17,6 @@
#include "constants/battle_frontier.h"
#include "constants/frontier_util.h"
#include "constants/abilities.h"
-#include "constants/easy_chat.h"
#include "constants/layouts.h"
#include "constants/rgb.h"
#include "constants/trainers.h"
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index 48155c8339..9039f60f2c 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -34,7 +34,6 @@
#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/layouts.h"
-#include "constants/maps.h"
#include "constants/metatile_labels.h"
#include "constants/moves.h"
#include "constants/trainers.h"
@@ -1240,7 +1239,7 @@ static u8 GetPostBattleDirectionHintTextIndex(int *hintType, u8 minDistanceForEx
{
for (x = 0; x < 32; x++)
{
- if ((map[x] & METATILE_ID_MASK) == METATILE_BattlePyramid_Exit)
+ if ((map[x] & MAPGRID_METATILE_ID_MASK) == METATILE_BattlePyramid_Exit)
{
x += MAP_OFFSET - gObjectEvents[gSelectedObjectEvent].initialCoords.x;
y += MAP_OFFSET - gObjectEvents[gSelectedObjectEvent].initialCoords.y;
@@ -1466,7 +1465,7 @@ void CopyPyramidTrainerLoseSpeech(u16 trainerId)
FrontierSpeechToString(gFacilityTrainers[trainerId].speechLose);
}
-u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId)
+u8 GetTrainerEncounterMusicIdInBattlePyramid(u16 trainerId)
{
int i;
@@ -1546,7 +1545,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio
{
for (x = 0; x < mapLayout->width; x++)
{
- if ((layoutMap[x] & METATILE_ID_MASK) != METATILE_BattlePyramid_Exit)
+ if ((layoutMap[x] & MAPGRID_METATILE_ID_MASK) != METATILE_BattlePyramid_Exit)
{
map[x] = layoutMap[x];
}
@@ -1557,7 +1556,7 @@ void GenerateBattlePyramidFloorLayout(u16 *backupMapData, bool8 setPlayerPositio
gSaveBlock1Ptr->pos.x = (mapLayout->width * (i % 4)) + x;
gSaveBlock1Ptr->pos.y = (mapLayout->height * (i / 4)) + y;
}
- map[x] = (layoutMap[x] & (METATILE_ELEVATION_MASK | METATILE_COLLISION_MASK)) | METATILE_BattlePyramid_Floor;
+ map[x] = (layoutMap[x] & (MAPGRID_ELEVATION_MASK | MAPGRID_COLLISION_MASK)) | METATILE_BattlePyramid_Floor;
}
else
{
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 391e828502..3c8bbfdee4 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -4009,7 +4009,7 @@ static void Cmd_playanimation(void)
}
}
-// Same as playanimation, expect it takes a pointer to some animation id, instead of taking the value directly
+// Same as playanimation, except it takes a pointer to some animation id, instead of taking the value directly
static void Cmd_playanimation_var(void)
{
const u16* argumentPtr;
diff --git a/src/battle_setup.c b/src/battle_setup.c
index a9d4eeddf5..f928cf3f94 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -43,7 +43,6 @@
#include "constants/items.h"
#include "constants/songs.h"
#include "constants/map_types.h"
-#include "constants/maps.h"
#include "constants/trainers.h"
#include "constants/trainer_hill.h"
#include "constants/weather.h"
@@ -687,7 +686,7 @@ u8 BattleSetup_GetTerrainId(void)
}
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113))
return BATTLE_TERRAIN_SAND;
- if (GetSav1Weather() == WEATHER_SANDSTORM)
+ if (GetSavedWeather() == WEATHER_SANDSTORM)
return BATTLE_TERRAIN_SAND;
return BATTLE_TERRAIN_PLAIN;
@@ -700,7 +699,7 @@ static u8 GetBattleTransitionTypeByMap(void)
PlayerGetDestCoords(&x, &y);
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
- if (Overworld_GetFlashLevel())
+ if (GetFlashLevel())
return TRANSITION_TYPE_FLASH;
if (!MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
{
diff --git a/src/battle_tent.c b/src/battle_tent.c
index 26b2e8bb11..53c91c8713 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -114,7 +114,7 @@ static void InitVerdanturfTentChallenge(void)
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
}
static void GetVerdanturfTentPrize(void)
@@ -176,7 +176,7 @@ static void InitFallarborTentChallenge(void)
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
}
static void GetFallarborTentPrize(void)
@@ -231,7 +231,7 @@ static void InitSlateportTentChallenge(void)
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.challengePaused = FALSE;
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
}
static void GetSlateportTentPrize(void)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index d9bd18bf73..989412e9e6 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -35,7 +35,6 @@
#include "constants/trainers.h"
#include "constants/event_objects.h"
#include "constants/moves.h"
-#include "constants/easy_chat.h"
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_MaxieTrainer[];
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_TabithaTrainer[];
@@ -918,7 +917,7 @@ static void InitTowerChallenge(void)
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0;
ValidateBattleTowerRecordChecksums();
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
gTrainerBattleOpponent_A = 0;
}
@@ -1007,7 +1006,7 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
validMons = 0;
for (j = 0; j < MAX_FRONTIER_PARTY_SIZE; j++)
{
- if (gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species != 0
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species != SPECIES_NONE
&& gSaveBlock2Ptr->frontier.towerRecords[i].party[j].level <= GetFrontierEnemyMonLevel(lvlMode))
validMons++;
}
@@ -1665,7 +1664,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// Record mixed player.
for (j = 0, i = firstMonId; i < firstMonId + monCount; j++, i++)
{
- if (gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].species != 0
+ if (gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].species != SPECIES_NONE
&& gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].level <= level)
{
CreateBattleTowerMon_HandleLevel(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j], FALSE);
@@ -1707,7 +1706,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// Ensure this Pokemon's held item isn't a duplicate.
for (j = 0; j < i + firstMonId; j++)
{
- if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
+ if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != ITEM_NONE
&& GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId])
break;
}
@@ -1828,13 +1827,18 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
if (trainerId < FRONTIER_TRAINERS_COUNT)
{
- u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; // Unused variable.
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ // By mistake Battle Tower's Level 50 challenge number is used to determine the IVs for Battle Factory.
+ #ifdef BUGFIX
+ u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+ #else
u8 challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][FRONTIER_LVL_50] / 7;
+ #endif
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6)
- fixedIV = GetFactoryMonFixedIV(challengeNum, 0);
+ fixedIV = GetFactoryMonFixedIV(challengeNum, FALSE);
else
- fixedIV = GetFactoryMonFixedIV(challengeNum, 1);
+ fixedIV = GetFactoryMonFixedIV(challengeNum, TRUE); // Last trainer in challenge uses higher IVs
}
else if (trainerId == TRAINER_EREADER)
{
@@ -2160,7 +2164,7 @@ static void SaveBattleTowerRecord(void)
playerRecord->lvlMode = lvlMode;
playerRecord->facilityClass = class;
CopyTrainerId(playerRecord->trainerId, gSaveBlock2Ptr->playerTrainerId);
- StringCopy7(playerRecord->name, gSaveBlock2Ptr->playerName);
+ StringCopy_PlayerName(playerRecord->name, gSaveBlock2Ptr->playerName);
playerRecord->winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
@@ -2245,7 +2249,7 @@ static void GetRecordMixFriendMultiPartnerParty(u16 trainerId)
if (gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != species1
&& gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != species2
&& gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].level <= GetFrontierEnemyMonLevel(lvlMode)
- && gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != 0)
+ && gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != SPECIES_NONE)
{
validSpecies[count] = i;
count++;
@@ -2384,7 +2388,7 @@ static void LoadMultiPartnerCandidatesData(void)
if (species1 != gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species
&& species2 != gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species
&& gSaveBlock2Ptr->frontier.towerRecords[i].party[j].level <= GetFrontierEnemyMonLevel(lvlMode)
- && gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species != 0)
+ && gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species != SPECIES_NONE)
{
k++;
}
@@ -2831,7 +2835,7 @@ static void FillEReaderTrainerWithPlayerData(void)
}
CopyTrainerId(ereaderTrainer->trainerId, gSaveBlock2Ptr->playerTrainerId);
- StringCopy7(ereaderTrainer->name, gSaveBlock2Ptr->playerName);
+ StringCopy_PlayerName(ereaderTrainer->name, gSaveBlock2Ptr->playerName);
ereaderTrainer->winStreak = 1;
@@ -3411,7 +3415,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
// Ensure this Pokemon's held item isn't a duplicate.
for (j = 0; j < i + firstMonId; j++)
{
- if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
+ if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != ITEM_NONE
&& GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId])
break;
}
diff --git a/src/battle_tv.c b/src/battle_tv.c
index f65bf73ea0..b9008b47a7 100644
--- a/src/battle_tv.c
+++ b/src/battle_tv.c
@@ -570,7 +570,7 @@ void BattleTv_SetDataBasedOnString(u16 stringId)
moveSlot = GetBattlerMoveSlotId(gBattlerAttacker, gBattleMsgDataPtr->currentMove);
- if (moveSlot >= MAX_MON_MOVES && IsNotSpecialBattleString(stringId) && stringId > BATTLESTRINGS_ID_ADDER)
+ if (moveSlot >= MAX_MON_MOVES && IsNotSpecialBattleString(stringId) && stringId > BATTLESTRINGS_TABLE_START)
{
tvPtr->side[atkSide].faintCause = FNT_OTHER;
return;
diff --git a/src/berry_crush.c b/src/berry_crush.c
index 9b8323e2d7..e7a5df951c 100755
--- a/src/berry_crush.c
+++ b/src/berry_crush.c
@@ -1947,15 +1947,15 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game)
static void CopyPlayerNameWindowGfxToBg(struct BerryCrushGame *game)
{
u8 i = 0;
- u8 * crusherGfx;
+ u8 * windowGfx;
- LZ77UnCompWram(gBerryCrush_Crusher_Tilemap, gDecompressionBuffer);
+ LZ77UnCompWram(gBerryCrush_TextWindows_Tilemap, gDecompressionBuffer);
- for (crusherGfx = gDecompressionBuffer; i < game->playerCount; i++)
+ for (windowGfx = gDecompressionBuffer; i < game->playerCount; i++)
{
CopyToBgTilemapBufferRect(
3,
- &crusherGfx[game->gfx.playerCoords[i]->playerId * 40],
+ &windowGfx[game->gfx.playerCoords[i]->playerId * 40],
game->gfx.playerCoords[i]->windowGfxX,
game->gfx.playerCoords[i]->windowGfxY,
10,
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index 92b1f65d1b..219454ab26 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -92,7 +92,7 @@ static const struct BgTemplate sBackgroundTemplates[] =
}
};
-static const u16 sFontPalette[] = INCBIN_U16("graphics/interface/berry_tag_screen.gbapal");
+static const u16 sFontPalette[] = INCBIN_U16("graphics/bag/berry_tag_screen.gbapal");
static const u8 sTextColors[2][3] =
{
diff --git a/src/bike.c b/src/bike.c
index 20166392e9..ae30ce288b 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -108,7 +108,7 @@ static u8 (*const sAcroBikeInputHandlers[])(u8 *, u16, u16) =
};
// used with bikeFrameCounter from mach bike
-static const u16 sMachBikeSpeeds[] = {BIKE_SPEED_NORMAL, BIKE_SPEED_FAST, BIKE_SPEED_FASTEST};
+static const u16 sMachBikeSpeeds[] = {PLAYER_SPEED_NORMAL, PLAYER_SPEED_FAST, PLAYER_SPEED_FASTEST};
// this is a list of timers to compare against later, terminated with 0. the only timer being compared against is 4 frames in this list.
static const u8 sAcroBikeJumpTimerList[] = {4, 0};
@@ -147,7 +147,7 @@ static u8 GetMachBikeTransition(u8 *dirTraveling)
if (*dirTraveling == 0)
{
*dirTraveling = direction; // update the direction, since below we either faced a direction or we started moving.
- if (gPlayerAvatar.bikeSpeed == BIKE_SPEED_STANDING)
+ if (gPlayerAvatar.bikeSpeed == PLAYER_SPEED_STANDING)
{
gPlayerAvatar.runningState = NOT_MOVING;
return MACH_TRANS_FACE_DIRECTION;
@@ -159,7 +159,7 @@ static u8 GetMachBikeTransition(u8 *dirTraveling)
// we need to check if the last traveled direction changed from the new direction as well as ensuring that we dont update the state while the player is moving: see the else check.
if (*dirTraveling != direction && gPlayerAvatar.runningState != MOVING)
{
- if (gPlayerAvatar.bikeSpeed != BIKE_SPEED_STANDING)
+ if (gPlayerAvatar.bikeSpeed != PLAYER_SPEED_STANDING)
{
*dirTraveling = direction; // implement the new direction
gPlayerAvatar.runningState = MOVING;
@@ -246,7 +246,7 @@ static void MachBikeTransition_TrySlowDown(u8 direction)
{
u8 collision;
- if (gPlayerAvatar.bikeSpeed != BIKE_SPEED_STANDING)
+ if (gPlayerAvatar.bikeSpeed != PLAYER_SPEED_STANDING)
gPlayerAvatar.bikeFrameCounter = --gPlayerAvatar.bikeSpeed;
collision = GetBikeCollision(direction);
@@ -306,7 +306,7 @@ static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys)
return ACRO_TRANS_FACE_DIRECTION;
}
}
- if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.bikeSpeed == BIKE_SPEED_STANDING)
+ if (*newDirection == direction && (heldKeys & B_BUTTON) && gPlayerAvatar.bikeSpeed == PLAYER_SPEED_STANDING)
{
gPlayerAvatar.bikeSpeed++;
gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_MOVING;
@@ -342,7 +342,7 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys
if (*newDirection == AcroBike_GetJumpDirection())
{
Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump.
- gPlayerAvatar.bikeSpeed = BIKE_SPEED_NORMAL;
+ gPlayerAvatar.bikeSpeed = PLAYER_SPEED_NORMAL;
if (*newDirection == GetOppositeDirection(direction))
{
// do a turn jump.
@@ -775,7 +775,7 @@ static void AcroBike_TryHistoryUpdate(u16 newKeys, u16 heldKeys) // newKeys is u
else
{
Bike_UpdateDirTimerHistory(direction);
- gPlayerAvatar.bikeSpeed = BIKE_SPEED_STANDING;
+ gPlayerAvatar.bikeSpeed = PLAYER_SPEED_STANDING;
}
direction = heldKeys & (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON); // directions is reused for some reason.
@@ -787,7 +787,7 @@ static void AcroBike_TryHistoryUpdate(u16 newKeys, u16 heldKeys) // newKeys is u
else
{
Bike_UpdateABStartSelectHistory(direction);
- gPlayerAvatar.bikeSpeed = BIKE_SPEED_STANDING;
+ gPlayerAvatar.bikeSpeed = PLAYER_SPEED_STANDING;
}
}
@@ -900,7 +900,7 @@ static bool8 IsRunningDisallowedByMetatile(u8 tile)
{
if (MetatileBehavior_IsRunningDisallowed(tile))
return TRUE;
- if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetZCoord() & 1) == 0)
+ if (MetatileBehavior_IsFortreeBridge(tile) && (PlayerGetElevation() & 1) == 0)
return TRUE;
return FALSE;
}
@@ -994,7 +994,7 @@ void BikeClearState(int newDirHistory, int newAbStartHistory)
gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
gPlayerAvatar.newDirBackup = DIR_NONE;
gPlayerAvatar.bikeFrameCounter = 0;
- gPlayerAvatar.bikeSpeed = BIKE_SPEED_STANDING;
+ gPlayerAvatar.bikeSpeed = PLAYER_SPEED_STANDING;
gPlayerAvatar.directionHistory = newDirHistory;
gPlayerAvatar.abStartSelectHistory = newAbStartHistory;
@@ -1014,7 +1014,7 @@ void Bike_UpdateBikeCounterSpeed(u8 counter)
static void Bike_SetBikeStill(void)
{
gPlayerAvatar.bikeFrameCounter = 0;
- gPlayerAvatar.bikeSpeed = BIKE_SPEED_STANDING;
+ gPlayerAvatar.bikeSpeed = PLAYER_SPEED_STANDING;
}
s16 GetPlayerSpeed(void)
@@ -1027,11 +1027,11 @@ s16 GetPlayerSpeed(void)
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_MACH_BIKE)
return machSpeeds[gPlayerAvatar.bikeFrameCounter];
else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_ACRO_BIKE)
- return BIKE_SPEED_FASTER;
+ return PLAYER_SPEED_FASTER;
else if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_DASH))
- return BIKE_SPEED_FAST;
+ return PLAYER_SPEED_FAST;
else
- return BIKE_SPEED_NORMAL;
+ return PLAYER_SPEED_NORMAL;
}
void Bike_HandleBumpySlopeJump(void)
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index 61fab39e28..876e6b4a73 100644
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -6,7 +6,6 @@
#include "sound.h"
#include "task.h"
#include "constants/field_effects.h"
-#include "constants/maps.h"
#include "constants/songs.h"
#include "constants/metatile_labels.h"
#include "fieldmap.h"
@@ -81,9 +80,9 @@ void DoBrailleDigEffect(void)
MapGridSetMetatileIdAt( 9 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopLeft);
MapGridSetMetatileIdAt(10 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopMid);
MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopRight);
- MapGridSetMetatileIdAt( 9 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomLeft | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt( 9 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomLeft | MAPGRID_COLLISION_MASK);
MapGridSetMetatileIdAt(10 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomMid);
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomRight | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomRight | MAPGRID_COLLISION_MASK);
DrawWholeMapView();
PlaySE(SE_BANG);
FlagSet(FLAG_SYS_BRAILLE_DIG);
@@ -208,9 +207,9 @@ static void DoBrailleRegirockEffect(void)
MapGridSetMetatileIdAt(7 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopLeft);
MapGridSetMetatileIdAt(8 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopMid);
MapGridSetMetatileIdAt(9 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopRight);
- MapGridSetMetatileIdAt(7 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomLeft | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(7 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomLeft | MAPGRID_COLLISION_MASK);
MapGridSetMetatileIdAt(8 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomMid);
- MapGridSetMetatileIdAt(9 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomRight | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(9 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomRight | MAPGRID_COLLISION_MASK);
DrawWholeMapView();
PlaySE(SE_BANG);
FlagSet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED);
@@ -247,9 +246,9 @@ static void DoBrailleRegisteelEffect(void)
MapGridSetMetatileIdAt(7 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopLeft);
MapGridSetMetatileIdAt(8 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopMid);
MapGridSetMetatileIdAt(9 + MAP_OFFSET, 19 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_TopRight);
- MapGridSetMetatileIdAt(7 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomLeft | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(7 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomLeft | MAPGRID_COLLISION_MASK);
MapGridSetMetatileIdAt(8 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomMid);
- MapGridSetMetatileIdAt(9 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomRight | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(9 + MAP_OFFSET, 20 + MAP_OFFSET, METATILE_Cave_SealedChamberEntrance_BottomRight | MAPGRID_COLLISION_MASK);
DrawWholeMapView();
PlaySE(SE_BANG);
FlagSet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED);
diff --git a/src/cable_car.c b/src/cable_car.c
index c3e6564f8d..c81764728b 100644
--- a/src/cable_car.c
+++ b/src/cable_car.c
@@ -826,7 +826,7 @@ static void CreateCableCarSprites(void)
case FALSE:
default:
// Create player sprite
- spriteId = AddPseudoObjectEvent(playerGraphicsIds[gSaveBlock2Ptr->playerGender], SpriteCB_Player, 200, 73, 102);
+ spriteId = CreateObjectGraphicsSprite(playerGraphicsIds[gSaveBlock2Ptr->playerGender], SpriteCB_Player, 200, 73, 102);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.priority = 2;
@@ -854,7 +854,7 @@ static void CreateCableCarSprites(void)
case TRUE:
CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->groundTilemap + 0x24, 24, 26, 12, 3, 17);
// Create player sprite
- spriteId = AddPseudoObjectEvent(playerGraphicsIds[gSaveBlock2Ptr->playerGender], SpriteCB_Player, 128, 39, 102);
+ spriteId = CreateObjectGraphicsSprite(playerGraphicsIds[gSaveBlock2Ptr->playerGender], SpriteCB_Player, 128, 39, 102);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.priority = 2;
@@ -891,7 +891,7 @@ static void CreateCableCarSprites(void)
if ((rval % 64) == 0)
{
// Unclear if this was intentional, but the - 1 in the below ARRAY_COUNT means the Zigzagoon is never used
- spriteId = AddPseudoObjectEvent(hikerGraphicsIds[rval % (ARRAY_COUNT(hikerGraphicsIds) - 1)], hikerCallbacks[GOING_DOWN], hikerCoords[GOING_DOWN][0], hikerCoords[GOING_DOWN][1], 106);
+ spriteId = CreateObjectGraphicsSprite(hikerGraphicsIds[rval % (ARRAY_COUNT(hikerGraphicsIds) - 1)], hikerCallbacks[GOING_DOWN], hikerCoords[GOING_DOWN][0], hikerCoords[GOING_DOWN][1], 106);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.priority = 2;
diff --git a/src/cable_club.c b/src/cable_club.c
index 1f943b03ab..4ee2797f4d 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -1031,7 +1031,7 @@ void CleanupLinkRoomState(void)
LoadPlayerParty();
SavePlayerBag();
}
- SetWarpDestinationToDynamicWarp(0x7F);
+ SetWarpDestinationToDynamicWarp(WARP_ID_DYNAMIC);
}
void ExitLinkRoom(void)
diff --git a/src/contest.c b/src/contest.c
index b5a035ff85..ced9f90cde 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -2794,7 +2794,7 @@ void CreateContestMonFromParty(u8 partyIndex)
gContestMons[gContestPlayerMonIndex].highestRank = 0;
gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES);
GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, name);
- StringGetEnd10(name);
+ StringGet_Nickname(name);
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
StripMonNameForLinkContest(name, GetMonData(&gPlayerParty[partyIndex], MON_DATA_LANGUAGE));
diff --git a/src/contest_util.c b/src/contest_util.c
index 6fd74a68aa..1ca2175265 100644
--- a/src/contest_util.c
+++ b/src/contest_util.c
@@ -2253,10 +2253,10 @@ void Task_LinkContest_FinalizeConnection(u8 taskId)
{
// Succesfully connected
for (i = 0; i < CONTESTANT_COUNT; i++)
- StringGetEnd10(gContestMons[i].nickname);
+ StringGet_Nickname(gContestMons[i].nickname);
DestroyTask(taskId);
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
ScriptContext2_Disable();
EnableBothScriptContexts();
}
diff --git a/src/crt0.s b/src/crt0.s
index 7c679c13b5..523061f52d 100644
--- a/src/crt0.s
+++ b/src/crt0.s
@@ -6,7 +6,7 @@
.align 2, 0
.global Init
-Init: @ 8000204
+Init:
mov r0, #PSR_IRQ_MODE
msr cpsr_cf, r0
ldr sp, sp_irq
@@ -34,7 +34,7 @@ sp_irq: .word IWRAM_END - 0x60
.arm
.align 2, 0
.global IntrMain
-IntrMain: @ 8000248
+IntrMain:
mov r3, #REG_BASE
add r3, r3, #OFFSET_REG_IE
ldr r2, [r3]
diff --git a/src/data/easy_chat/easy_chat_words_by_letter.h b/src/data/easy_chat/easy_chat_words_by_letter.h
index a56e3184f7..235afbb786 100755
--- a/src/data/easy_chat/easy_chat_words_by_letter.h
+++ b/src/data/easy_chat/easy_chat_words_by_letter.h
@@ -1,5 +1,4 @@
#include "easy_chat.h"
-#include "constants/easy_chat.h"
#define DOUBLE_SPECIES_NAME EC_EMPTY_WORD, 2,
diff --git a/src/data/graphics/berries.h b/src/data/graphics/berries.h
index eb3f9f4dc7..e33384a846 100644
--- a/src/data/graphics/berries.h
+++ b/src/data/graphics/berries.h
@@ -1,10 +1,10 @@
-const u32 gBerryCheck_Gfx[] = INCBIN_U32("graphics/interface/check_berry.4bpp.lz");
-const u32 gBerryCheck_Pal[] = INCBIN_U32("graphics/interface/check_berry.gbapal.lz");
+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/interface/berry_tag.bin.lz");
-const u32 gBerryTag_Pal[] = INCBIN_U32("graphics/interface/berry_tag_title.bin.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 gBerryCheckCircle_Gfx[] = INCBIN_U32("graphics/interface/check_berry_circle.4bpp.lz");
+const u32 gBerryCheckCircle_Gfx[] = INCBIN_U32("graphics/bag/check_berry_circle.4bpp.lz");
const u32 gBerryPic_Cheri[] = INCBIN_U32("graphics/berries/cheri.4bpp.lz");
const u32 gBerryPic_Oran[] = INCBIN_U32("graphics/berries/oran.4bpp.lz");
diff --git a/src/data/graphics/interface_pokeballs.h b/src/data/graphics/interface_pokeballs.h
deleted file mode 100644
index fe9a4e5be3..0000000000
--- a/src/data/graphics/interface_pokeballs.h
+++ /dev/null
@@ -1,37 +0,0 @@
-const u32 gInterfaceGfx_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.4bpp.lz");
-const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gbapal.lz");
-
-const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz");
-const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz");
-
-const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz");
-const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz");
-
-const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz");
-const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz");
-
-const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz");
-const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz");
-
-const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz");
-const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz");
-
-const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz");
-const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz");
-
-const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz");
-const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz");
-
-const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz");
-const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz");
-
-const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz");
-const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz");
-
-const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz");
-const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz");
-
-const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz");
-const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz");
-
-const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz");
diff --git a/src/data/graphics/pokeballs.h b/src/data/graphics/pokeballs.h
new file mode 100644
index 0000000000..8203fca538
--- /dev/null
+++ b/src/data/graphics/pokeballs.h
@@ -0,0 +1,37 @@
+const u32 gBallGfx_Poke[] = INCBIN_U32("graphics/balls/poke.4bpp.lz");
+const u32 gBallPal_Poke[] = INCBIN_U32("graphics/balls/poke.gbapal.lz");
+
+const u32 gBallGfx_Great[] = INCBIN_U32("graphics/balls/great.4bpp.lz");
+const u32 gBallPal_Great[] = INCBIN_U32("graphics/balls/great.gbapal.lz");
+
+const u32 gBallGfx_Safari[] = INCBIN_U32("graphics/balls/safari.4bpp.lz");
+const u32 gBallPal_Safari[] = INCBIN_U32("graphics/balls/safari.gbapal.lz");
+
+const u32 gBallGfx_Ultra[] = INCBIN_U32("graphics/balls/ultra.4bpp.lz");
+const u32 gBallPal_Ultra[] = INCBIN_U32("graphics/balls/ultra.gbapal.lz");
+
+const u32 gBallGfx_Master[] = INCBIN_U32("graphics/balls/master.4bpp.lz");
+const u32 gBallPal_Master[] = INCBIN_U32("graphics/balls/master.gbapal.lz");
+
+const u32 gBallGfx_Net[] = INCBIN_U32("graphics/balls/net.4bpp.lz");
+const u32 gBallPal_Net[] = INCBIN_U32("graphics/balls/net.gbapal.lz");
+
+const u32 gBallGfx_Dive[] = INCBIN_U32("graphics/balls/dive.4bpp.lz");
+const u32 gBallPal_Dive[] = INCBIN_U32("graphics/balls/dive.gbapal.lz");
+
+const u32 gBallGfx_Nest[] = INCBIN_U32("graphics/balls/nest.4bpp.lz");
+const u32 gBallPal_Nest[] = INCBIN_U32("graphics/balls/nest.gbapal.lz");
+
+const u32 gBallGfx_Repeat[] = INCBIN_U32("graphics/balls/repeat.4bpp.lz");
+const u32 gBallPal_Repeat[] = INCBIN_U32("graphics/balls/repeat.gbapal.lz");
+
+const u32 gBallGfx_Timer[] = INCBIN_U32("graphics/balls/timer.4bpp.lz");
+const u32 gBallPal_Timer[] = INCBIN_U32("graphics/balls/timer.gbapal.lz");
+
+const u32 gBallGfx_Luxury[] = INCBIN_U32("graphics/balls/luxury.4bpp.lz");
+const u32 gBallPal_Luxury[] = INCBIN_U32("graphics/balls/luxury.gbapal.lz");
+
+const u32 gBallGfx_Premier[] = INCBIN_U32("graphics/balls/premier.4bpp.lz");
+const u32 gBallPal_Premier[] = INCBIN_U32("graphics/balls/premier.gbapal.lz");
+
+const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/balls/open.4bpp.lz");
diff --git a/src/data/items.h b/src/data/items.h
index 20ee057da8..072ec1bf5e 100644
--- a/src/data/items.h
+++ b/src/data/items.h
@@ -3146,7 +3146,7 @@ const struct Item gItems[] =
.price = 0,
.description = sMachBikeDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_Bike,
@@ -3172,7 +3172,7 @@ const struct Item gItems[] =
.price = 0,
.description = sItemfinderDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_Itemfinder,
@@ -3185,7 +3185,7 @@ const struct Item gItems[] =
.price = 0,
.description = sOldRodDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_Rod,
@@ -3199,7 +3199,7 @@ const struct Item gItems[] =
.price = 0,
.description = sGoodRodDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_Rod,
@@ -3213,7 +3213,7 @@ const struct Item gItems[] =
.price = 0,
.description = sSuperRodDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_Rod,
@@ -3310,7 +3310,7 @@ const struct Item gItems[] =
.price = 0,
.description = sAcroBikeDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_Bike,
@@ -3324,7 +3324,7 @@ const struct Item gItems[] =
.price = 0,
.description = sPokeblockCaseDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_PBLOCK_CASE,
.fieldUseFunc = ItemUseOutOfBattle_PokeblockCase,
@@ -4322,7 +4322,7 @@ const struct Item gItems[] =
.price = 0,
.description = sBicycleDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4335,7 +4335,7 @@ const struct Item gItems[] =
.price = 0,
.description = sTownMapDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4348,7 +4348,7 @@ const struct Item gItems[] =
.price = 0,
.description = sVSSeekerDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4361,7 +4361,7 @@ const struct Item gItems[] =
.price = 0,
.description = sFameCheckerDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4374,7 +4374,7 @@ const struct Item gItems[] =
.price = 0,
.description = sTMCaseDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4387,7 +4387,7 @@ const struct Item gItems[] =
.price = 0,
.description = sBerryPouchDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4400,7 +4400,7 @@ const struct Item gItems[] =
.price = 0,
.description = sTeachyTVDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_FIELD,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4413,7 +4413,7 @@ const struct Item gItems[] =
.price = 0,
.description = sTriPassDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4426,7 +4426,7 @@ const struct Item gItems[] =
.price = 0,
.description = sRainbowPassDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4439,7 +4439,7 @@ const struct Item gItems[] =
.price = 0,
.description = sTeaDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4452,7 +4452,7 @@ const struct Item gItems[] =
.price = 0,
.description = sMysticTicketDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4465,7 +4465,7 @@ const struct Item gItems[] =
.price = 0,
.description = sAuroraTicketDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4478,7 +4478,7 @@ const struct Item gItems[] =
.price = 0,
.description = sPowderJarDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_PowderJar,
@@ -4491,7 +4491,7 @@ const struct Item gItems[] =
.price = 0,
.description = sRubyDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4504,7 +4504,7 @@ const struct Item gItems[] =
.price = 0,
.description = sSapphireDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4519,7 +4519,7 @@ const struct Item gItems[] =
.price = 0,
.description = sMagmaEmblemDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
@@ -4532,7 +4532,7 @@ const struct Item gItems[] =
.price = 0,
.description = sOldSeaMapDesc,
.importance = 1,
- .unk19 = 1,
+ .registrability = TRUE,
.pocket = POCKET_KEY_ITEMS,
.type = ITEM_USE_BAG_MENU,
.fieldUseFunc = ItemUseOutOfBattle_CannotUse,
diff --git a/src/data/lilycove_lady.h b/src/data/lilycove_lady.h
index 1f1caa35f3..4a3a7a7194 100644
--- a/src/data/lilycove_lady.h
+++ b/src/data/lilycove_lady.h
@@ -1,15 +1,14 @@
-#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/items.h"
#include "constants/moves.h"
static const u16 sContestLadyMonGfxId[] =
{
- OBJ_EVENT_GFX_ZIGZAGOON_1,
- OBJ_EVENT_GFX_SKITTY,
- OBJ_EVENT_GFX_POOCHYENA,
- OBJ_EVENT_GFX_KECLEON,
- OBJ_EVENT_GFX_PIKACHU
+ [CONTEST_CATEGORY_COOL] = OBJ_EVENT_GFX_ZIGZAGOON_1,
+ [CONTEST_CATEGORY_BEAUTY] = OBJ_EVENT_GFX_SKITTY,
+ [CONTEST_CATEGORY_CUTE] = OBJ_EVENT_GFX_POOCHYENA,
+ [CONTEST_CATEGORY_SMART] = OBJ_EVENT_GFX_KECLEON,
+ [CONTEST_CATEGORY_TOUGH] = OBJ_EVENT_GFX_PIKACHU
};
static const u16 sLilycoveLadyGfxId[] =
@@ -434,36 +433,36 @@ static const u16 sFavorLadyPrizes[] =
static const u8 *const sContestLadyMonNames[] =
{
- gText_ContestLady_Handsome,
- gText_ContestLady_Vinny,
- gText_ContestLady_Moreme,
- gText_ContestLady_Ironhard,
- gText_ContestLady_Muscle
+ [CONTEST_CATEGORY_COOL] = gText_ContestLady_Handsome,
+ [CONTEST_CATEGORY_BEAUTY] = gText_ContestLady_Vinny,
+ [CONTEST_CATEGORY_CUTE] = gText_ContestLady_Moreme,
+ [CONTEST_CATEGORY_SMART] = gText_ContestLady_Ironhard,
+ [CONTEST_CATEGORY_TOUGH] = gText_ContestLady_Muscle
};
static const u8 *const sContestLadyCategoryNames[] =
{
- gText_ContestLady_Coolness,
- gText_ContestLady_Beauty,
- gText_ContestLady_Cuteness,
- gText_ContestLady_Smartness,
- gText_ContestLady_Toughness
+ [CONTEST_CATEGORY_COOL] = gText_ContestLady_Coolness,
+ [CONTEST_CATEGORY_BEAUTY] = gText_ContestLady_Beauty,
+ [CONTEST_CATEGORY_CUTE] = gText_ContestLady_Cuteness,
+ [CONTEST_CATEGORY_SMART] = gText_ContestLady_Smartness,
+ [CONTEST_CATEGORY_TOUGH] = gText_ContestLady_Toughness
};
static const u8 *const sContestNames[] =
{
- gText_CoolnessContest,
- gText_BeautyContest,
- gText_CutenessContest,
- gText_SmartnessContest,
- gText_ToughnessContest
+ [CONTEST_CATEGORY_COOL] = gText_CoolnessContest,
+ [CONTEST_CATEGORY_BEAUTY] = gText_BeautyContest,
+ [CONTEST_CATEGORY_CUTE] = gText_CutenessContest,
+ [CONTEST_CATEGORY_SMART] = gText_SmartnessContest,
+ [CONTEST_CATEGORY_TOUGH] = gText_ToughnessContest
};
static const u16 sContestLadyMonSpecies[] =
{
- SPECIES_ZIGZAGOON,
- SPECIES_SKITTY,
- SPECIES_POOCHYENA,
- SPECIES_KECLEON,
- SPECIES_PIKACHU
+ [CONTEST_CATEGORY_COOL] = SPECIES_ZIGZAGOON,
+ [CONTEST_CATEGORY_BEAUTY] = SPECIES_SKITTY,
+ [CONTEST_CATEGORY_CUTE] = SPECIES_POOCHYENA,
+ [CONTEST_CATEGORY_SMART] = SPECIES_KECLEON,
+ [CONTEST_CATEGORY_TOUGH] = SPECIES_PIKACHU
};
diff --git a/src/data/object_events/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h
index f601cf82b6..8070e98774 100755
--- a/src/data/object_events/movement_action_func_tables.h
+++ b/src/data/object_events/movement_action_func_tables.h
@@ -706,8 +706,16 @@ u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct ObjectEvent *, struct
MovementAction_PauseSpriteAnim,
};
-static const s16 sJumpInitDisplacements[] = {0, 1, 1};
-static const s16 sJumpDisplacements[] = {0, 0, 1};
+static const s16 sJumpInitDisplacements[] = {
+ [JUMP_DISTANCE_IN_PLACE] = 0,
+ [JUMP_DISTANCE_NORMAL] = 1,
+ [JUMP_DISTANCE_FAR] = 1,
+};
+static const s16 sJumpDisplacements[] = {
+ [JUMP_DISTANCE_IN_PLACE] = 0,
+ [JUMP_DISTANCE_NORMAL] = 0,
+ [JUMP_DISTANCE_FAR] = 1,
+};
u8 (*const gMovementActionFuncs_Jump2Down[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_Jump2Down_Step0,
diff --git a/src/data/object_events/object_event_anims.h b/src/data/object_events/object_event_anims.h
index a5fb414628..f96e52de53 100755
--- a/src/data/object_events/object_event_anims.h
+++ b/src/data/object_events/object_event_anims.h
@@ -413,56 +413,56 @@ static const union AnimCmd sAnim_GetOnOffSurfBlobEast[] =
ANIMCMD_JUMP(0),
};
-static const union AnimCmd sAnim_BunnyHoppyBackWheelSouth[] =
+static const union AnimCmd sAnim_BunnyHopBackWheelSouth[] =
{
ANIMCMD_FRAME(9, 4),
ANIMCMD_FRAME(10, 4),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyBackWheelNorth[] =
+static const union AnimCmd sAnim_BunnyHopBackWheelNorth[] =
{
ANIMCMD_FRAME(13, 4),
ANIMCMD_FRAME(14, 4),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyBackWheelWest[] =
+static const union AnimCmd sAnim_BunnyHopBackWheelWest[] =
{
ANIMCMD_FRAME(17, 4),
ANIMCMD_FRAME(18, 4),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyBackWheelEast[] =
+static const union AnimCmd sAnim_BunnyHopBackWheelEast[] =
{
ANIMCMD_FRAME(17, 4, .hFlip = TRUE),
ANIMCMD_FRAME(18, 4, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyFrontWheelSouth[] =
+static const union AnimCmd sAnim_BunnyHopFrontWheelSouth[] =
{
ANIMCMD_FRAME(11, 4),
ANIMCMD_FRAME(12, 4),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyFrontWheelNorth[] =
+static const union AnimCmd sAnim_BunnyHopFrontWheelNorth[] =
{
ANIMCMD_FRAME(15, 4),
ANIMCMD_FRAME(16, 4),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyFrontWheelWest[] =
+static const union AnimCmd sAnim_BunnyHopFrontWheelWest[] =
{
ANIMCMD_FRAME(19, 4),
ANIMCMD_FRAME(20, 4),
ANIMCMD_END,
};
-static const union AnimCmd sAnim_BunnyHoppyFrontWheelEast[] =
+static const union AnimCmd sAnim_BunnyHopFrontWheelEast[] =
{
ANIMCMD_FRAME(19, 4, .hFlip = TRUE),
ANIMCMD_FRAME(20, 4, .hFlip = TRUE),
@@ -1024,14 +1024,14 @@ static const union AnimCmd *const sAnimTable_AcroBike[] = {
[ANIM_STD_GO_FASTEST_NORTH] = sAnim_GoFastestNorth,
[ANIM_STD_GO_FASTEST_WEST] = sAnim_GoFastestWest,
[ANIM_STD_GO_FASTEST_EAST] = sAnim_GoFastestEast,
- [ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH] = sAnim_BunnyHoppyBackWheelSouth,
- [ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH] = sAnim_BunnyHoppyBackWheelNorth,
- [ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST] = sAnim_BunnyHoppyBackWheelWest,
- [ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST] = sAnim_BunnyHoppyBackWheelEast,
- [ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH] = sAnim_BunnyHoppyFrontWheelSouth,
- [ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH] = sAnim_BunnyHoppyFrontWheelNorth,
- [ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST] = sAnim_BunnyHoppyFrontWheelWest,
- [ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST] = sAnim_BunnyHoppyFrontWheelEast,
+ [ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH] = sAnim_BunnyHopBackWheelSouth,
+ [ANIM_BUNNY_HOP_BACK_WHEEL_NORTH] = sAnim_BunnyHopBackWheelNorth,
+ [ANIM_BUNNY_HOP_BACK_WHEEL_WEST] = sAnim_BunnyHopBackWheelWest,
+ [ANIM_BUNNY_HOP_BACK_WHEEL_EAST] = sAnim_BunnyHopBackWheelEast,
+ [ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH] = sAnim_BunnyHopFrontWheelSouth,
+ [ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH] = sAnim_BunnyHopFrontWheelNorth,
+ [ANIM_BUNNY_HOP_FRONT_WHEEL_WEST] = sAnim_BunnyHopFrontWheelWest,
+ [ANIM_BUNNY_HOP_FRONT_WHEEL_EAST] = sAnim_BunnyHopFrontWheelEast,
[ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH] = sAnim_StandingWheelieBackWheelSouth,
[ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH] = sAnim_StandingWheelieBackWheelNorth,
[ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST] = sAnim_StandingWheelieBackWheelWest,
diff --git a/src/data/object_events/object_event_graphics.h b/src/data/object_events/object_event_graphics.h
index 81d83a8563..6ee56cc78e 100755
--- a/src/data/object_events/object_event_graphics.h
+++ b/src/data/object_events/object_event_graphics.h
@@ -305,7 +305,7 @@ const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effects/pale
const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/field_effects/pics/ground_impact_dust.4bpp");
const u32 gFieldEffectObjectPic_JumpTallGrass[] = INCBIN_U32("graphics/field_effects/pics/jump_tall_grass.4bpp");
const u32 gUnusedGrass3[] = INCBIN_U32("graphics/field_effects/pics/unused_grass_3.4bpp");
-const u32 gFieldEffectObjectPic_JumpLongGrass[] = INCBIN_U32("graphics/field_effects/pics/unknown_16.4bpp");
+const u32 gFieldEffectObjectPic_JumpLongGrass[] = INCBIN_U32("graphics/field_effects/pics/jump_long_grass.4bpp");
const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/field_effects/pics/unknown_17.4bpp");
const u32 gFieldEffectObjectPic_UnusedGrass2[] = INCBIN_U32("graphics/field_effects/pics/unused_grass_2.4bpp");
const u32 gFieldEffectObjectPic_LongGrass[] = INCBIN_U32("graphics/field_effects/pics/long_grass.4bpp");
diff --git a/src/data/object_events/object_event_subsprites.h b/src/data/object_events/object_event_subsprites.h
index b508509cad..8084919927 100755
--- a/src/data/object_events/object_event_subsprites.h
+++ b/src/data/object_events/object_event_subsprites.h
@@ -78,12 +78,12 @@ static const struct Subsprite sOamTable_16x16_4[] = {
};
static const struct SubspriteTable sOamTables_16x16[] = {
- {0, NULL},
- {1, sOamTable_16x16_0},
- {1, sOamTable_16x16_1},
- {2, sOamTable_16x16_2},
- {2, sOamTable_16x16_3},
- {2, sOamTable_16x16_4}
+ {},
+ {ARRAY_COUNT(sOamTable_16x16_0), sOamTable_16x16_0},
+ {ARRAY_COUNT(sOamTable_16x16_1), sOamTable_16x16_1},
+ {ARRAY_COUNT(sOamTable_16x16_2), sOamTable_16x16_2},
+ {ARRAY_COUNT(sOamTable_16x16_3), sOamTable_16x16_3},
+ {ARRAY_COUNT(sOamTable_16x16_4), sOamTable_16x16_4}
};
static const struct Subsprite sOamTable_16x32_0[] = {
@@ -174,12 +174,12 @@ static const struct Subsprite sOamTable_16x32_4[] = {
};
static const struct SubspriteTable sOamTables_16x32[] = {
- {0, NULL},
- {1, sOamTable_16x32_0},
- {1, sOamTable_16x32_1},
- {3, sOamTable_16x32_2},
- {2, sOamTable_16x32_3},
- {2, sOamTable_16x32_4}
+ {},
+ {ARRAY_COUNT(sOamTable_16x32_0), sOamTable_16x32_0},
+ {ARRAY_COUNT(sOamTable_16x32_1), sOamTable_16x32_1},
+ {ARRAY_COUNT(sOamTable_16x32_2), sOamTable_16x32_2},
+ {ARRAY_COUNT(sOamTable_16x32_3), sOamTable_16x32_3},
+ {ARRAY_COUNT(sOamTable_16x32_4), sOamTable_16x32_4}
};
static const struct Subsprite sOamTable_32x32_0[] = {
@@ -270,12 +270,12 @@ static const struct Subsprite sOamTable_32x32_4[] = {
};
static const struct SubspriteTable sOamTables_32x32[] = {
- {0, NULL},
- {1, sOamTable_32x32_0},
- {1, sOamTable_32x32_1},
- {3, sOamTable_32x32_2},
- {2, sOamTable_32x32_3},
- {2, sOamTable_32x32_4}
+ {},
+ {ARRAY_COUNT(sOamTable_32x32_0), sOamTable_32x32_0},
+ {ARRAY_COUNT(sOamTable_32x32_1), sOamTable_32x32_1},
+ {ARRAY_COUNT(sOamTable_32x32_2), sOamTable_32x32_2},
+ {ARRAY_COUNT(sOamTable_32x32_3), sOamTable_32x32_3},
+ {ARRAY_COUNT(sOamTable_32x32_4), sOamTable_32x32_4}
};
static const struct Subsprite sOamTable_48x48[] = {
@@ -378,12 +378,12 @@ static const struct Subsprite sOamTable_48x48[] = {
};
static const struct SubspriteTable sOamTables_48x48[] = {
- {12, sOamTable_48x48},
- {12, sOamTable_48x48},
- {12, sOamTable_48x48},
- {12, sOamTable_48x48},
- {12, sOamTable_48x48},
- {12, sOamTable_48x48}
+ {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48},
+ {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48},
+ {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48},
+ {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48},
+ {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48},
+ {ARRAY_COUNT(sOamTable_48x48), sOamTable_48x48}
};
static const struct Subsprite sOamTable_64x32_0[] = {
@@ -432,12 +432,12 @@ static const struct Subsprite sOamTable_64x32_3[] = {
// Unused
static const struct SubspriteTable sOamTables_64x32[] = {
- {0, NULL},
- {1, sOamTable_64x32_0},
- {1, sOamTable_64x32_1},
- {1, sOamTable_64x32_2},
- {1, sOamTable_64x32_3},
- {1, sOamTable_64x32_3}
+ {},
+ {ARRAY_COUNT(sOamTable_64x32_0), sOamTable_64x32_0},
+ {ARRAY_COUNT(sOamTable_64x32_1), sOamTable_64x32_1},
+ {ARRAY_COUNT(sOamTable_64x32_2), sOamTable_64x32_2},
+ {ARRAY_COUNT(sOamTable_64x32_3), sOamTable_64x32_3},
+ {ARRAY_COUNT(sOamTable_64x32_3), sOamTable_64x32_3}
};
static const struct Subsprite sOamTable_64x64_0[] = {
@@ -485,12 +485,12 @@ static const struct Subsprite sOamTable_64x64_3[] = {
};
static const struct SubspriteTable sOamTables_64x64[] = {
- {0, NULL},
- {1, sOamTable_64x64_0},
- {1, sOamTable_64x64_1},
- {1, sOamTable_64x64_2},
- {1, sOamTable_64x64_3},
- {1, sOamTable_64x64_3}
+ {},
+ {ARRAY_COUNT(sOamTable_64x64_0), sOamTable_64x64_0},
+ {ARRAY_COUNT(sOamTable_64x64_1), sOamTable_64x64_1},
+ {ARRAY_COUNT(sOamTable_64x64_2), sOamTable_64x64_2},
+ {ARRAY_COUNT(sOamTable_64x64_3), sOamTable_64x64_3},
+ {ARRAY_COUNT(sOamTable_64x64_3), sOamTable_64x64_3}
};
static const struct Subsprite sOamTable_96x40_0[] = {
@@ -987,12 +987,12 @@ static const struct Subsprite sOamTable_96x40_3[] = {
// Used by SS Tidal
static const struct SubspriteTable sOamTables_96x40[] = {
- {15, sOamTable_96x40_0},
- {15, sOamTable_96x40_0},
- {15, sOamTable_96x40_1},
- {15, sOamTable_96x40_2},
- {15, sOamTable_96x40_3},
- {15, sOamTable_96x40_3}
+ {ARRAY_COUNT(sOamTable_96x40_0), sOamTable_96x40_0},
+ {ARRAY_COUNT(sOamTable_96x40_0), sOamTable_96x40_0},
+ {ARRAY_COUNT(sOamTable_96x40_1), sOamTable_96x40_1},
+ {ARRAY_COUNT(sOamTable_96x40_2), sOamTable_96x40_2},
+ {ARRAY_COUNT(sOamTable_96x40_3), sOamTable_96x40_3},
+ {ARRAY_COUNT(sOamTable_96x40_3), sOamTable_96x40_3}
};
static const struct Subsprite sOamTable_88x32_0[] = {
@@ -1521,10 +1521,10 @@ static const struct Subsprite sOamTable_88x32_3[] = {
// Used by Submarine Shadow
static const struct SubspriteTable sOamTables_88x32[] = {
- {16, sOamTable_88x32_0},
- {16, sOamTable_88x32_0},
- {16, sOamTable_88x32_1},
- {16, sOamTable_88x32_2},
- {16, sOamTable_88x32_3},
- {16, sOamTable_88x32_3}
+ {ARRAY_COUNT(sOamTable_88x32_0), sOamTable_88x32_0},
+ {ARRAY_COUNT(sOamTable_88x32_0), sOamTable_88x32_0},
+ {ARRAY_COUNT(sOamTable_88x32_1), sOamTable_88x32_1},
+ {ARRAY_COUNT(sOamTable_88x32_2), sOamTable_88x32_2},
+ {ARRAY_COUNT(sOamTable_88x32_3), sOamTable_88x32_3},
+ {ARRAY_COUNT(sOamTable_88x32_3), sOamTable_88x32_3}
};
diff --git a/src/data/party_menu.h b/src/data/party_menu.h
index f3a8a50ec0..7735dae58d 100644
--- a/src/data/party_menu.h
+++ b/src/data/party_menu.h
@@ -1,3 +1,9 @@
+enum {
+ TAG_POKEBALL = 1200,
+ TAG_POKEBALL_SMALL,
+ TAG_STATUS_ICONS,
+};
+
static const struct BgTemplate sPartyMenuBgTemplates[] =
{
{
@@ -112,8 +118,8 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
};
// Used only when both Cancel and Confirm are present
-static const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_confirm_button.bin");
-static const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_cancel_button.bin");
+static const u32 sConfirmButton_Tilemap[] = INCBIN_U32("graphics/party_menu/confirm_button.bin");
+static const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/party_menu/cancel_button.bin");
// Text colors for BG, FG, and Shadow in that order
static const u8 sFontColorTable[][3] =
@@ -565,34 +571,14 @@ static const struct WindowTemplate sUnusedWindowTemplate2 =
.baseBlock = 0x39D,
};
-// Tile nums
-static const u8 sMainSlotTileNums[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 40, 59, 60, 58, 58, 58, 58, 58, 58, 61,
- 15, 16, 16, 16, 16, 16, 16, 16, 16, 17,
- 46, 47, 47, 47, 47, 47, 47, 47, 47, 48};
-
-static const u8 sMainSlotTileNums_Egg[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
- 40, 41, 41, 41, 41, 41, 41, 41, 41, 42,
- 15, 16, 16, 16, 16, 16, 16, 16, 16, 17,
- 46, 47, 47, 47, 47, 47, 47, 47, 47, 48};
-
-static const u8 sOtherSlotsTileNums[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
- 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54,
- 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57};
-
-static const u8 sOtherSlotsTileNums_Egg[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
- 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50,
- 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57};
-
-static const u8 sEmptySlotTileNums[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
- 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
- 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39};
+// Plain tilemaps for party menu slots.
+// The versions with no HP bar are used by eggs, and in certain displays like registering at a battle facility.
+// There is no empty version of the main slot because it shouldn't ever be empty.
+static const u8 sSlotTilemap_Main[] = INCBIN_U8("graphics/party_menu/slot_main.bin");
+static const u8 sSlotTilemap_MainNoHP[] = INCBIN_U8("graphics/party_menu/slot_main_no_hp.bin");
+static const u8 sSlotTilemap_Wide[] = INCBIN_U8("graphics/party_menu/slot_wide.bin");
+static const u8 sSlotTilemap_WideNoHP[] = INCBIN_U8("graphics/party_menu/slot_wide_no_hp.bin");
+static const u8 sSlotTilemap_WideEmpty[] = INCBIN_U8("graphics/party_menu/slot_wide_empty.bin");
// Palette offsets
static const u8 sGenderPalOffsets[] = {11, 12};
@@ -873,8 +859,8 @@ static const u8 *const sUnionRoomTradeMessages[] =
[UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 - 1] = gText_CantTradeWithTrainer,
};
-static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
-static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
+static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/party_menu/hold_icons.4bpp");
+static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/party_menu/hold_icons.gbapal");
static const struct OamData sOamData_HeldItem =
{
@@ -969,19 +955,19 @@ static const union AnimCmd *const sSpriteAnimTable_MenuPokeball[] =
static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball =
{
- gPartyMenuPokeball_Gfx, 0x400, 0x04b0
+ gPartyMenuPokeball_Gfx, 0x400, TAG_POKEBALL
};
static const struct CompressedSpritePalette sSpritePalette_MenuPokeball =
{
- gPartyMenuPokeball_Pal, 0x04b0
+ gPartyMenuPokeball_Pal, TAG_POKEBALL
};
// Used for the pokeball sprite on each party slot / Cancel button
static const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
{
- .tileTag = 0x04b0,
- .paletteTag = 0x04b0,
+ .tileTag = TAG_POKEBALL,
+ .paletteTag = TAG_POKEBALL,
.oam = &sOamData_MenuPokeball,
.anims = sSpriteAnimTable_MenuPokeball,
.images = NULL,
@@ -1055,14 +1041,14 @@ static const union AnimCmd *const sSpriteAnimTable_MenuPokeballSmall[] =
static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall =
{
- gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1
+ gPartyMenuPokeballSmall_Gfx, 0x0300, TAG_POKEBALL_SMALL
};
// Used for the pokeball sprite next to Cancel and Confirm when both are present, otherwise sSpriteTemplate_MenuPokeball is used
static const struct SpriteTemplate sSpriteTemplate_MenuPokeballSmall =
{
- .tileTag = 1201,
- .paletteTag = 1200,
+ .tileTag = TAG_POKEBALL_SMALL,
+ .paletteTag = TAG_POKEBALL,
.oam = &sOamData_MenuPokeballSmall,
.anims = sSpriteAnimTable_MenuPokeballSmall,
.images = NULL,
@@ -1149,18 +1135,18 @@ static const union AnimCmd *const sSpriteTemplate_StatusCondition[] =
static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons =
{
- gStatusGfx_Icons, 0x400, 1202
+ gStatusGfx_Icons, 0x400, TAG_STATUS_ICONS
};
static const struct CompressedSpritePalette sSpritePalette_StatusIcons =
{
- gStatusPal_Icons, 1202
+ gStatusPal_Icons, TAG_STATUS_ICONS
};
static const struct SpriteTemplate sSpriteTemplate_StatusIcons =
{
- .tileTag = 1202,
- .paletteTag = 1202,
+ .tileTag = TAG_STATUS_ICONS,
+ .paletteTag = TAG_STATUS_ICONS,
.oam = &sOamData_StatusCondition,
.anims = sSpriteTemplate_StatusCondition,
.images = NULL,
diff --git a/src/data/pokedex_area_glow.h b/src/data/pokedex_area_glow.h
new file mode 100644
index 0000000000..ff24d8d6c0
--- /dev/null
+++ b/src/data/pokedex_area_glow.h
@@ -0,0 +1,315 @@
+// These tile numbers correspond to the 8x8 tiles in graphics/pokedex/area_glow.png
+// Left/Right/Top/Bottom are shortened to L/R/T/B
+enum {
+ GLOW_TILE_EMPTY,
+ GLOW_TILE_EDGE_R,
+ GLOW_TILE_EDGE_L,
+ GLOW_TILE_EDGE_L_R,
+ GLOW_TILE_EDGE_B,
+ GLOW_TILE_EDGE_B_R,
+ GLOW_TILE_EDGE_B_L,
+ GLOW_TILE_EDGE_B_L_R,
+ GLOW_TILE_EDGE_T,
+ GLOW_TILE_EDGE_T_R,
+ GLOW_TILE_EDGE_T_L,
+ GLOW_TILE_EDGE_T_L_R,
+ GLOW_TILE_EDGE_T_B,
+ GLOW_TILE_EDGE_T_B_R,
+ GLOW_TILE_EDGE_T_B_L,
+ GLOW_TILE_EDGE_T_B_L_R, // This tile has a misplaced pixel in the top-left corner
+ GLOW_TILE_FULL,
+ GLOW_TILE_CORNER_TL,
+ GLOW_TILE_CORNER_BL,
+ GLOW_TILE_CORNER_BL_TL,
+ GLOW_TILE_CORNER_TR,
+ GLOW_TILE_CORNER_TR_TL,
+ GLOW_TILE_CORNER_TR_BL,
+ GLOW_TILE_CORNER_TR_BL_TL,
+ GLOW_TILE_CORNER_BR,
+ GLOW_TILE_CORNER_BR_TL,
+ GLOW_TILE_CORNER_BR_BL,
+ GLOW_TILE_CORNER_BR_BL_TL,
+ GLOW_TILE_CORNER_BR_TR,
+ GLOW_TILE_CORNER_BR_TR_TL,
+ GLOW_TILE_CORNER_BR_TR_BL,
+ GLOW_TILE_CORNER_BR_TR_BL_TL,
+ GLOW_TILE_EDGE_R_CORNER_TL,
+ GLOW_TILE_EDGE_R_CORNER_BL,
+ GLOW_TILE_EDGE_R_CORNER_BL_TL,
+ GLOW_TILE_EDGE_L_CORNER_TR,
+ GLOW_TILE_EDGE_L_CORNER_BR,
+ GLOW_TILE_EDGE_L_CORNER_BR_TR,
+ GLOW_TILE_EDGE_B_CORNER_TR,
+ GLOW_TILE_EDGE_B_CORNER_TL,
+ GLOW_TILE_EDGE_B_CORNER_TL_TR,
+ GLOW_TILE_EDGE_T_CORNER_BR,
+ GLOW_TILE_EDGE_T_CORNER_BL,
+ GLOW_TILE_EDGE_T_CORNER_BL_BR,
+ GLOW_TILE_EDGE_B_L_CORNER_TR,
+ GLOW_TILE_EDGE_B_R_CORNER_TL,
+ GLOW_TILE_EDGE_T_R_CORNER_BL,
+ GLOW_TILE_EDGE_T_L_CORNER_BR
+};
+
+// This array converts a set of glow position flags to one of the above tile values.
+// Only some parts of this array are actually used, because corner flags that overlap
+// with edge flags are cancelled out before lookup. For example, GLOW_CORNER_TL | GLOW_EDGE_L
+// will never be read, and has the same value as GLOW_EDGE_L.
+static const u8 sAreaGlowTilemapMapping[] = {
+ [0] = GLOW_TILE_EMPTY,
+ [GLOW_EDGE_R] = GLOW_TILE_EDGE_R,
+ [GLOW_EDGE_L] = GLOW_TILE_EDGE_L,
+ [GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_EDGE_B] = GLOW_TILE_EDGE_B,
+ [GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_EDGE_T] = GLOW_TILE_EDGE_T,
+ [GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_TL] = GLOW_TILE_CORNER_TL,
+ [GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_TL,
+ [GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L,
+ [GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL,
+ [GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BL] = GLOW_TILE_CORNER_BL,
+ [GLOW_CORNER_BL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL,
+ [GLOW_CORNER_BL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L,
+ [GLOW_CORNER_BL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B,
+ [GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL] = GLOW_TILE_CORNER_BL_TL,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL_TL,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_TR] = GLOW_TILE_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_EDGE_R] = GLOW_TILE_EDGE_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_T] = GLOW_TILE_EDGE_T,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL] = GLOW_TILE_CORNER_TR_TL,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_TL,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL] = GLOW_TILE_CORNER_TR_BL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL] = GLOW_TILE_CORNER_TR_BL_TL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL_TL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR] = GLOW_TILE_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_EDGE_R] = GLOW_TILE_EDGE_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_B] = GLOW_TILE_EDGE_B,
+ [GLOW_CORNER_BR | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_BR | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL] = GLOW_TILE_CORNER_BR_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL] = GLOW_TILE_CORNER_BR_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL] = GLOW_TILE_CORNER_BR_BL_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR] = GLOW_TILE_CORNER_BR_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_R] = GLOW_TILE_EDGE_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL] = GLOW_TILE_CORNER_BR_TR_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL] = GLOW_TILE_CORNER_BR_TR_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL] = GLOW_TILE_CORNER_BR_TR_BL_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_R] = GLOW_TILE_EDGE_R_CORNER_BL_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L] = GLOW_TILE_EDGE_L_CORNER_BR_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B] = GLOW_TILE_EDGE_B_CORNER_TL_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_R_CORNER_TL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_B_L_CORNER_TR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_B_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T] = GLOW_TILE_EDGE_T_CORNER_BL_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_R_CORNER_BL,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_L_CORNER_BR,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_L_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B] = GLOW_TILE_EDGE_T_B,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_R,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L] = GLOW_TILE_EDGE_T_B_L,
+ [GLOW_CORNER_BR | GLOW_CORNER_TR | GLOW_CORNER_BL | GLOW_CORNER_TL | GLOW_EDGE_T | GLOW_EDGE_B | GLOW_EDGE_L | GLOW_EDGE_R] = GLOW_TILE_EDGE_T_B_L_R,
+};
diff --git a/src/daycare.c b/src/daycare.c
index c900e34933..ebbab762ad 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -96,7 +96,7 @@ u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest)
u8 nickname[POKEMON_NAME_LENGTH * 2];
GetMonData(mon, MON_DATA_NICKNAME, nickname);
- return StringCopy10(dest, nickname);
+ return StringCopy_Nickname(dest, nickname);
}
u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest)
@@ -104,7 +104,7 @@ u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest)
u8 nickname[POKEMON_NAME_LENGTH * 2];
GetBoxMonData(mon, MON_DATA_NICKNAME, nickname);
- return StringCopy10(dest, nickname);
+ return StringCopy_Nickname(dest, nickname);
}
u8 CountPokemonInDaycare(struct DayCare *daycare)
diff --git a/src/decoration.c b/src/decoration.c
index bb2dea7f97..7e102251a4 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -41,7 +41,7 @@
#define PLACE_DECORATION_SELECTOR_TAG 0xbe5
#define PLACE_DECORATION_PLAYER_TAG 0x008
-#define NUM_DECORATION_FLAGS (FLAG_DECORATION_14 - FLAG_DECORATION_0)
+#define NUM_DECORATION_FLAGS (FLAG_DECORATION_14 - FLAG_DECORATION_1 + 1)
#define tCursorX data[0]
#define tCursorY data[1]
@@ -440,7 +440,7 @@ static const struct YesNoFuncTable sStopPuttingAwayDecorationsYesNoFunctions =
.noFunc = ContinuePuttingAwayDecorations,
};
-static const u8 sDecorationPuttingAwayCursor[] = INCBIN_U8("graphics/misc/decoration_putting_away_cursor.4bpp");
+static const u8 sDecorationPuttingAwayCursor[] = INCBIN_U8("graphics/decorations/put_away_cursor.4bpp");
static const struct SpritePalette sSpritePal_PuttingAwayCursorBrendan =
{
@@ -1175,7 +1175,7 @@ static void SetInitialPositions(u8 taskId)
static void WarpToInitialPosition(u8 taskId)
{
DrawWholeMapView();
- SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gTasks[taskId].tInitialX, gTasks[taskId].tInitialY);
+ SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, gTasks[taskId].tInitialX, gTasks[taskId].tInitialY);
WarpIntoMap();
}
@@ -1185,10 +1185,10 @@ static u16 GetDecorationElevation(u8 decoration, u8 tileIndex)
switch (decoration)
{
case DECOR_STAND:
- elevation = sDecorationStandElevations[tileIndex] << METATILE_ELEVATION_SHIFT;
+ elevation = sDecorationStandElevations[tileIndex] << MAPGRID_ELEVATION_SHIFT;
return elevation;
case DECOR_SLIDE:
- elevation = sDecorationSlideElevation[tileIndex] << METATILE_ELEVATION_SHIFT;
+ elevation = sDecorationSlideElevation[tileIndex] << MAPGRID_ELEVATION_SHIFT;
return elevation;
default:
return elevation;
@@ -1199,7 +1199,7 @@ static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight,
{
u16 i, j;
s16 x, y;
- u16 behavior;
+ u16 attributes;
u16 impassableFlag;
u16 overlapsWall;
u16 elevation;
@@ -1210,9 +1210,10 @@ static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight,
for (i = 0; i < decWidth; i++)
{
x = mapX + i;
- behavior = GetBehaviorByMetatileId(NUM_TILES_IN_PRIMARY + gDecorations[decoration].tiles[j * decWidth + i]);
- if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (behavior >> METATILE_ELEVATION_SHIFT)))
- impassableFlag = METATILE_COLLISION_MASK;
+ attributes = GetMetatileAttributesById(NUM_TILES_IN_PRIMARY + gDecorations[decoration].tiles[j * decWidth + i]);
+ if (MetatileBehavior_IsSecretBaseImpassable(attributes & METATILE_ATTR_BEHAVIOR_MASK) == TRUE
+ || (gDecorations[decoration].permission != DECORPERM_PASS_FLOOR && (attributes >> METATILE_ATTR_LAYER_SHIFT) != METATILE_LAYER_TYPE_NORMAL))
+ impassableFlag = MAPGRID_COLLISION_MASK;
else
impassableFlag = 0;
@@ -1395,9 +1396,9 @@ static void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecoration
x -= 8;
if (gSaveBlock2Ptr->playerGender == MALE)
- sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0);
+ sDecor_CameraSpriteObjectIdx2 = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, x, 72, 0);
else
- sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0);
+ sDecor_CameraSpriteObjectIdx2 = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MAY_DECORATING, SpriteCallbackDummy, x, 72, 0);
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
@@ -1471,24 +1472,26 @@ static void AttemptCancelPlaceDecoration(u8 taskId)
DisplayItemMessageOnField(taskId, gStringVar4, CancelDecoratingPrompt);
}
-// Note: behaviorBy is pre-anded with METATILE_ELEVATION_MASK.
-static bool8 IsNonBlockNonElevated(u8 behaviorAt, u16 behaviorBy)
+static bool8 IsSecretBaseTrainerSpot(u8 behaviorAt, u16 layerType)
{
- if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE || behaviorBy != 0)
+ if (!(MetatileBehavior_IsSecretBaseTrainerSpot(behaviorAt) == TRUE && layerType == METATILE_LAYER_TYPE_NORMAL))
return FALSE;
return TRUE;
}
-static bool8 IsntInitialPosition(u8 taskId, s16 x, s16 y, u16 behaviorBy)
+// Can't place decoration where the player was standing when they interacted with the PC
+static bool8 IsntInitialPosition(u8 taskId, s16 x, s16 y, u16 layerType)
{
- if (x == gTasks[taskId].tInitialX + MAP_OFFSET && y == gTasks[taskId].tInitialY + MAP_OFFSET && behaviorBy != 0)
+ if (x == gTasks[taskId].tInitialX + MAP_OFFSET
+ && y == gTasks[taskId].tInitialY + MAP_OFFSET
+ && layerType != METATILE_LAYER_TYPE_NORMAL)
return FALSE;
return TRUE;
}
static bool8 IsFloorOrBoardAndHole(u16 behaviorAt, const struct Decoration *decoration)
{
- if (MetatileBehavior_IsBlockDecoration(behaviorAt) != TRUE)
+ if (MetatileBehavior_IsSecretBaseTrainerSpot(behaviorAt) != TRUE)
{
if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(behaviorAt) == TRUE)
return TRUE;
@@ -1505,7 +1508,7 @@ static bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
u8 i;
u8 j;
u8 behaviorAt;
- u16 behaviorBy;
+ u16 layerType;
u8 mapY;
u8 mapX;
s16 curY;
@@ -1524,14 +1527,14 @@ static bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
{
curX = gTasks[taskId].tCursorX + j;
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- behaviorBy = GetBehaviorByMetatileId(NUM_TILES_IN_PRIMARY + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK;
+ layerType = GetMetatileAttributesById(NUM_TILES_IN_PRIMARY + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ATTR_LAYER_MASK;
if (!IsFloorOrBoardAndHole(behaviorAt, decoration))
return FALSE;
- if (!IsntInitialPosition(taskId, curX, curY, behaviorBy))
+ if (!IsntInitialPosition(taskId, curX, curY, layerType))
return FALSE;
- behaviorAt = GetObjectEventIdByXYZ(curX, curY, 0);
+ behaviorAt = GetObjectEventIdByPosition(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != OBJECT_EVENTS_COUNT)
return FALSE;
}
@@ -1545,14 +1548,14 @@ static bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
{
curX = gTasks[taskId].tCursorX + j;
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- behaviorBy = GetBehaviorByMetatileId(NUM_TILES_IN_PRIMARY + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ELEVATION_MASK;
- if (!MetatileBehavior_IsNormal(behaviorAt) && !IsNonBlockNonElevated(behaviorAt, behaviorBy))
+ layerType = GetMetatileAttributesById(NUM_TILES_IN_PRIMARY + decoration->tiles[(mapY - 1 - i) * mapX + j]) & METATILE_ATTR_LAYER_MASK;
+ if (!MetatileBehavior_IsNormal(behaviorAt) && !IsSecretBaseTrainerSpot(behaviorAt, layerType))
return FALSE;
- if (!IsntInitialPosition(taskId, curX, curY, behaviorBy))
+ if (!IsntInitialPosition(taskId, curX, curY, layerType))
return FALSE;
- if (GetObjectEventIdByXYZ(curX, curY, 0) != OBJECT_EVENTS_COUNT)
+ if (GetObjectEventIdByPosition(curX, curY, 0) != OBJECT_EVENTS_COUNT)
return FALSE;
}
}
@@ -1562,14 +1565,14 @@ static bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
{
curX = gTasks[taskId].tCursorX + j;
behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY);
- behaviorBy = GetBehaviorByMetatileId(NUM_TILES_IN_PRIMARY + decoration->tiles[j]) & METATILE_ELEVATION_MASK;
+ layerType = GetMetatileAttributesById(NUM_TILES_IN_PRIMARY + decoration->tiles[j]) & METATILE_ATTR_LAYER_MASK;
if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt))
return FALSE;
- if (!IsntInitialPosition(taskId, curX, curY, behaviorBy))
+ if (!IsntInitialPosition(taskId, curX, curY, layerType))
return FALSE;
- behaviorAt = GetObjectEventIdByXYZ(curX, curY, 0);
+ behaviorAt = GetObjectEventIdByPosition(curX, curY, 0);
if (behaviorAt != 0 && behaviorAt != OBJECT_EVENTS_COUNT)
return FALSE;
}
@@ -1606,7 +1609,7 @@ static bool8 CanPlaceDecoration(u8 taskId, const struct Decoration *decoration)
return FALSE;
}
- if (GetObjectEventIdByXYZ(curX, curY, 0) != OBJECT_EVENTS_COUNT)
+ if (GetObjectEventIdByPosition(curX, curY, 0) != OBJECT_EVENTS_COUNT)
return FALSE;
}
break;
@@ -2027,7 +2030,7 @@ static u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphics
ClearPlaceDecorationGraphicsDataBuffer(data);
data->decoration = &gDecorations[decor];
if (data->decoration->permission == DECORPERM_SPRITE)
- return AddPseudoObjectEvent(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
+ return CreateObjectGraphicsSprite(data->decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
FreeSpritePaletteByTag(PLACE_DECORATION_SELECTOR_TAG);
SetDecorSelectionMetatiles(data);
@@ -2106,7 +2109,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u
}
else
{
- spriteId = AddPseudoObjectEvent(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
+ spriteId = CreateObjectGraphicsSprite(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0], SpriteCallbackDummy, 0, 0, 1);
}
return spriteId;
}
@@ -2285,9 +2288,9 @@ static void SetUpPuttingAwayDecorationPlayerAvatar(void)
LoadPlayerSpritePalette();
gFieldCamera.spriteId = CreateSprite(&sPuttingAwayCursorSpriteTemplate, 120, 80, 0);
if (gSaveBlock2Ptr->playerGender == MALE)
- sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0);
+ sDecor_CameraSpriteObjectIdx2 = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_BRENDAN_DECORATING, SpriteCallbackDummy, 136, 72, 0);
else
- sDecor_CameraSpriteObjectIdx2 = AddPseudoObjectEvent(OBJ_EVENT_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0);
+ sDecor_CameraSpriteObjectIdx2 = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MAY_DECORATING, SpriteCallbackDummy, 136, 72, 0);
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c
index af1071b1b1..c84ee69a46 100644
--- a/src/decoration_inventory.c
+++ b/src/decoration_inventory.c
@@ -33,7 +33,7 @@ static void ClearDecorationInventory(u8 category)
void ClearDecorationInventories(void)
{
u8 category;
- for (category = 0; category < 8; category++)
+ for (category = 0; category < DECORCAT_COUNT; category++)
ClearDecorationInventory(category);
}
diff --git a/src/dewford_trend.c b/src/dewford_trend.c
index bba2085e8b..08dd9afe0b 100644
--- a/src/dewford_trend.c
+++ b/src/dewford_trend.c
@@ -8,7 +8,6 @@
#include "text.h"
#include "tv.h"
#include "string_util.h"
-#include "constants/easy_chat.h"
/*
## Overview ##
diff --git a/src/diploma.c b/src/diploma.c
index 76b4ae65c5..ce31578dcb 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -40,12 +40,12 @@ static void VBlankCB(void)
static const u16 sDiplomaPalettes[][16] =
{
- INCBIN_U16("graphics/misc/diploma_national.gbapal"),
- INCBIN_U16("graphics/misc/diploma_hoenn.gbapal"),
+ INCBIN_U16("graphics/diploma/national.gbapal"),
+ INCBIN_U16("graphics/diploma/hoenn.gbapal"),
};
-static const u32 sDiplomaTilemap[] = INCBIN_U32("graphics/misc/diploma_map.bin.lz");
-static const u32 sDiplomaTiles[] = INCBIN_U32("graphics/misc/diploma.4bpp.lz");
+static const u32 sDiplomaTilemap[] = INCBIN_U32("graphics/diploma/tilemap.bin.lz");
+static const u32 sDiplomaTiles[] = INCBIN_U32("graphics/diploma/tiles.4bpp.lz");
void CB2_ShowDiploma(void)
{
diff --git a/src/easy_chat.c b/src/easy_chat.c
index 1b992caf2d..734fd4f18b 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -27,7 +27,6 @@
#include "task.h"
#include "text_window.h"
#include "window.h"
-#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/lilycove_lady.h"
#include "constants/mauville_old_man.h"
@@ -5011,7 +5010,7 @@ static void TryAddInterviewObjectEvents(void)
return;
// Add object for reporter/interviewing fan (facing left)
- spriteId = AddPseudoObjectEvent(graphicsId, SpriteCallbackDummy, 76, 40, 0);
+ spriteId = CreateObjectGraphicsSprite(graphicsId, SpriteCallbackDummy, 76, 40, 0);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.priority = 0;
@@ -5019,7 +5018,7 @@ static void TryAddInterviewObjectEvents(void)
}
// Add object for player (facing right)
- spriteId = AddPseudoObjectEvent(
+ spriteId = CreateObjectGraphicsSprite(
gSaveBlock2Ptr->playerGender == MALE ? OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL : OBJ_EVENT_GFX_RIVAL_MAY_NORMAL,
SpriteCallbackDummy,
52,
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 283ec753af..5dd83c9b1f 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -37,16 +37,24 @@
#include "battle.h" // to get rid of later
#include "constants/rgb.h"
+#define GFXTAG_EGG 12345
+#define GFXTAG_EGG_SHARD 23456
+
+#define PALTAG_EGG 54321
+
+#define EGG_X (DISPLAY_WIDTH / 2)
+#define EGG_Y (DISPLAY_HEIGHT / 2 - 5)
+
struct EggHatchData
{
- u8 eggSpriteID;
- u8 pokeSpriteID;
- u8 CB2_state;
- u8 CB2_PalCounter;
- u8 eggPartyID;
+ u8 eggSpriteId;
+ u8 monSpriteId;
+ u8 state;
+ u8 delayTimer;
+ u8 eggPartyId;
u8 unused_5;
u8 unused_6;
- u8 eggShardVelocityID;
+ u8 eggShardVelocityId;
u8 windowId;
u8 unused_9;
u8 unused_A;
@@ -58,29 +66,27 @@ extern const u32 gTradePlatform_Tilemap[];
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NicknameHatchPrompt[];
-static void Task_EggHatch(u8 taskID);
-static void CB2_EggHatch_0(void);
-static void CB2_EggHatch_1(void);
-static void SpriteCB_Egg_0(struct Sprite* sprite);
-static void SpriteCB_Egg_1(struct Sprite* sprite);
-static void SpriteCB_Egg_2(struct Sprite* sprite);
-static void SpriteCB_Egg_3(struct Sprite* sprite);
-static void SpriteCB_Egg_4(struct Sprite* sprite);
-static void SpriteCB_Egg_5(struct Sprite* sprite);
-static void SpriteCB_EggShard(struct Sprite* sprite);
-static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed);
+static void Task_EggHatch(u8);
+static void CB2_LoadEggHatch(void);
+static void CB2_EggHatch(void);
+static void SpriteCB_Egg_Shake1(struct Sprite*);
+static void SpriteCB_Egg_Shake2(struct Sprite*);
+static void SpriteCB_Egg_Shake3(struct Sprite*);
+static void SpriteCB_Egg_WaitHatch(struct Sprite*);
+static void SpriteCB_Egg_Hatch(struct Sprite*);
+static void SpriteCB_Egg_Reveal(struct Sprite*);
+static void SpriteCB_EggShard(struct Sprite*);
+static void EggHatchPrintMessage(u8, u8*, u8, u8, u8);
static void CreateRandomEggShardSprite(void);
-static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex);
+static void CreateEggShardSprite(u8, u8, s16, s16, s16, u8);
-// IWRAM bss
static struct EggHatchData *sEggHatchData;
-// rom data
-static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/egg/normal.gbapal");
-static const u8 sEggHatchTiles[] = INCBIN_U8("graphics/misc/egg_hatch.4bpp");
-static const u8 sEggShardTiles[] = INCBIN_U8("graphics/misc/egg_shard.4bpp");
+static const u16 sEggPalette[] = INCBIN_U16("graphics/pokemon/egg/normal.gbapal");
+static const u8 sEggHatchTiles[] = INCBIN_U8("graphics/pokemon/egg/hatch.4bpp");
+static const u8 sEggShardTiles[] = INCBIN_U8("graphics/pokemon/egg/shard.4bpp");
-static const struct OamData sOamData_EggHatch =
+static const struct OamData sOamData_Egg =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -97,64 +103,71 @@ static const struct OamData sOamData_EggHatch =
.affineParam = 0,
};
-static const union AnimCmd sSpriteAnim_EggHatch0[] =
+static const union AnimCmd sSpriteAnim_Egg_Normal[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_END
};
-static const union AnimCmd sSpriteAnim_EggHatch1[] =
+static const union AnimCmd sSpriteAnim_Egg_Cracked1[] =
{
ANIMCMD_FRAME(16, 5),
ANIMCMD_END
};
-static const union AnimCmd sSpriteAnim_EggHatch2[] =
+static const union AnimCmd sSpriteAnim_Egg_Cracked2[] =
{
ANIMCMD_FRAME(32, 5),
ANIMCMD_END
};
-static const union AnimCmd sSpriteAnim_EggHatch3[] =
+static const union AnimCmd sSpriteAnim_Egg_Cracked3[] =
{
ANIMCMD_FRAME(48, 5),
ANIMCMD_END
};
-static const union AnimCmd *const sSpriteAnimTable_EggHatch[] =
+enum {
+ EGG_ANIM_NORMAL,
+ EGG_ANIM_CRACKED_1,
+ EGG_ANIM_CRACKED_2,
+ EGG_ANIM_CRACKED_3,
+};
+
+static const union AnimCmd *const sSpriteAnimTable_Egg[] =
{
- sSpriteAnim_EggHatch0,
- sSpriteAnim_EggHatch1,
- sSpriteAnim_EggHatch2,
- sSpriteAnim_EggHatch3,
+ [EGG_ANIM_NORMAL] = sSpriteAnim_Egg_Normal,
+ [EGG_ANIM_CRACKED_1] = sSpriteAnim_Egg_Cracked1,
+ [EGG_ANIM_CRACKED_2] = sSpriteAnim_Egg_Cracked2,
+ [EGG_ANIM_CRACKED_3] = sSpriteAnim_Egg_Cracked3,
};
static const struct SpriteSheet sEggHatch_Sheet =
{
.data = sEggHatchTiles,
- .size = 2048,
- .tag = 12345,
+ .size = 0x800,
+ .tag = GFXTAG_EGG,
};
static const struct SpriteSheet sEggShards_Sheet =
{
.data = sEggShardTiles,
- .size = 128,
- .tag = 23456,
+ .size = 0x80,
+ .tag = GFXTAG_EGG_SHARD,
};
static const struct SpritePalette sEgg_SpritePalette =
{
.data = sEggPalette,
- .tag = 54321
+ .tag = PALTAG_EGG
};
-static const struct SpriteTemplate sSpriteTemplate_EggHatch =
+static const struct SpriteTemplate sSpriteTemplate_Egg =
{
- .tileTag = 12345,
- .paletteTag = 54321,
- .oam = &sOamData_EggHatch,
- .anims = sSpriteAnimTable_EggHatch,
+ .tileTag = GFXTAG_EGG,
+ .paletteTag = PALTAG_EGG,
+ .oam = &sOamData_Egg,
+ .anims = sSpriteAnimTable_Egg,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
@@ -211,8 +224,8 @@ static const union AnimCmd *const sSpriteAnimTable_EggShard[] =
static const struct SpriteTemplate sSpriteTemplate_EggShard =
{
- .tileTag = 23456,
- .paletteTag = 54321,
+ .tileTag = GFXTAG_EGG_SHARD,
+ .paletteTag = PALTAG_EGG,
.oam = &sOamData_EggShard,
.anims = sSpriteAnimTable_EggShard,
.images = NULL,
@@ -220,7 +233,7 @@ static const struct SpriteTemplate sSpriteTemplate_EggShard =
.callback = SpriteCB_EggShard
};
-static const struct BgTemplate sBgTemplates_EggHatch[2] =
+static const struct BgTemplate sBgTemplates_EggHatch[] =
{
{
.bg = 0,
@@ -243,7 +256,7 @@ static const struct BgTemplate sBgTemplates_EggHatch[2] =
},
};
-static const struct WindowTemplate sWinTemplates_EggHatch[2] =
+static const struct WindowTemplate sWinTemplates_EggHatch[] =
{
{
.bg = 0,
@@ -270,9 +283,14 @@ static const struct WindowTemplate sYesNoWinTemplate =
static const s16 sEggShardVelocities[][2] =
{
+ // First shake
{Q_8_8(-1.5), Q_8_8(-3.75)},
+
+ // Third shake
{Q_8_8(-5), Q_8_8(-3)},
{Q_8_8(3.5), Q_8_8(-3)},
+
+ // Hatching
{Q_8_8(-4), Q_8_8(-3.75)},
{Q_8_8(2), Q_8_8(-1.5)},
{Q_8_8(-0.5), Q_8_8(-6.75)},
@@ -291,8 +309,6 @@ static const s16 sEggShardVelocities[][2] =
{Q_8_8(2.5), Q_8_8(-7.5)},
};
-// code
-
static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
{
u16 species;
@@ -301,21 +317,17 @@ static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
u16 moves[MAX_MON_MOVES];
u32 ivs[NUM_STATS];
-
species = GetMonData(egg, MON_DATA_SPECIES);
for (i = 0; i < MAX_MON_MOVES; i++)
- {
moves[i] = GetMonData(egg, MON_DATA_MOVE1 + i);
- }
personality = GetMonData(egg, MON_DATA_PERSONALITY);
for (i = 0; i < NUM_STATS; i++)
- {
ivs[i] = GetMonData(egg, MON_DATA_HP_IV + i);
- }
+ // The language is initially read from the Egg but is later overwritten below
language = GetMonData(egg, MON_DATA_LANGUAGE);
gameMet = GetMonData(egg, MON_DATA_MET_GAME);
markings = GetMonData(egg, MON_DATA_MARKINGS);
@@ -325,14 +337,10 @@ static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
CreateMon(temp, species, EGG_HATCH_LEVEL, USE_RANDOM_IVS, TRUE, personality, OT_ID_PLAYER_ID, 0);
for (i = 0; i < MAX_MON_MOVES; i++)
- {
SetMonData(temp, MON_DATA_MOVE1 + i, &moves[i]);
- }
for (i = 0; i < NUM_STATS; i++)
- {
SetMonData(temp, MON_DATA_HP_IV + i, &ivs[i]);
- }
language = GAME_LANGUAGE;
SetMonData(temp, MON_DATA_LANGUAGE, &language);
@@ -350,34 +358,35 @@ static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
static void AddHatchedMonToParty(u8 id)
{
u8 isEgg = 0x46; // ?
- u16 pokeNum;
- u8 name[12];
+ u16 species;
+ u8 name[POKEMON_NAME_LENGTH + 1];
u16 ball;
- u16 caughtLvl;
- u8 mapNameID;
+ u16 metLevel;
+ u8 metLocation;
struct Pokemon* mon = &gPlayerParty[id];
CreateHatchedMon(mon, &gEnemyParty[0]);
SetMonData(mon, MON_DATA_IS_EGG, &isEgg);
- pokeNum = GetMonData(mon, MON_DATA_SPECIES);
- GetSpeciesName(name, pokeNum);
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ GetSpeciesName(name, species);
SetMonData(mon, MON_DATA_NICKNAME, name);
- pokeNum = SpeciesToNationalPokedexNum(pokeNum);
- GetSetPokedexFlag(pokeNum, FLAG_SET_SEEN);
- GetSetPokedexFlag(pokeNum, FLAG_SET_CAUGHT);
+ species = SpeciesToNationalPokedexNum(species);
+ GetSetPokedexFlag(species, FLAG_SET_SEEN);
+ GetSetPokedexFlag(species, FLAG_SET_CAUGHT);
GetMonNickname2(mon, gStringVar1);
ball = ITEM_POKE_BALL;
SetMonData(mon, MON_DATA_POKEBALL, &ball);
- caughtLvl = 0;
- SetMonData(mon, MON_DATA_MET_LEVEL, &caughtLvl);
+ // A met level of 0 is interpreted on the summary screen as "hatched at"
+ metLevel = 0;
+ SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel);
- mapNameID = GetCurrentRegionMapSectionId();
- SetMonData(mon, MON_DATA_MET_LOCATION, &mapNameID);
+ metLocation = GetCurrentRegionMapSectionId();
+ SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation);
MonRestorePP(mon);
CalculateMonStats(mon);
@@ -396,7 +405,7 @@ static bool8 _CheckDaycareMonReceivedMail(struct DayCare *daycare, u8 daycareId)
GetBoxMonNickname(&daycareMon->mon, nickname);
if (daycareMon->mail.message.itemId != ITEM_NONE
&& (StringCompareWithoutExtCtrlCodes(nickname, daycareMon->mail.monName) != 0
- || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.otName) != 0))
+ || StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->mail.otName) != 0))
{
StringCopy(gStringVar1, nickname);
TVShowConvertInternationalString(gStringVar2, daycareMon->mail.otName, daycareMon->mail.gameLanguage);
@@ -411,26 +420,27 @@ bool8 CheckDaycareMonReceivedMail(void)
return _CheckDaycareMonReceivedMail(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004);
}
-static u8 EggHatchCreateMonSprite(u8 useAlt, u8 switchID, u8 pokeID, u16* speciesLoc)
+static u8 EggHatchCreateMonSprite(u8 useAlt, u8 state, u8 partyId, u16* speciesLoc)
{
u8 position = 0;
- u8 spriteID = 0;
+ u8 spriteId = 0;
struct Pokemon* mon = NULL;
if (useAlt == FALSE)
{
- mon = &gPlayerParty[pokeID];
+ mon = &gPlayerParty[partyId];
position = B_POSITION_OPPONENT_LEFT;
}
if (useAlt == TRUE)
{
// Alternate sprite allocation position. Never reached.
- mon = &gPlayerParty[pokeID];
+ mon = &gPlayerParty[partyId];
position = B_POSITION_OPPONENT_RIGHT;
}
- switch (switchID)
+ switch (state)
{
case 0:
+ // Load mon sprite gfx
{
u16 species = GetMonData(mon, MON_DATA_SPECIES);
u32 pid = GetMonData(mon, MON_DATA_PERSONALITY);
@@ -442,13 +452,14 @@ static u8 EggHatchCreateMonSprite(u8 useAlt, u8 switchID, u8 pokeID, u16* specie
}
break;
case 1:
+ // Create mon sprite
SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, position);
- spriteID = CreateSprite(&gMultiuseSpriteTemplate, 120, 75, 6);
- gSprites[spriteID].invisible = TRUE;
- gSprites[spriteID].callback = SpriteCallbackDummy;
+ spriteId = CreateSprite(&gMultiuseSpriteTemplate, EGG_X, EGG_Y, 6);
+ gSprites[spriteId].invisible = TRUE;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
break;
}
- return spriteID;
+ return spriteId;
}
static void VBlankCB_EggHatch(void)
@@ -465,28 +476,28 @@ void EggHatch(void)
FadeScreen(FADE_TO_BLACK, 0);
}
-static void Task_EggHatch(u8 taskID)
+static void Task_EggHatch(u8 taskId)
{
if (!gPaletteFade.active)
{
CleanupOverworldWindowsAndTilemaps();
- SetMainCallback2(CB2_EggHatch_0);
+ SetMainCallback2(CB2_LoadEggHatch);
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
- DestroyTask(taskID);
+ DestroyTask(taskId);
}
}
-static void CB2_EggHatch_0(void)
+static void CB2_LoadEggHatch(void)
{
switch (gMain.state)
{
case 0:
SetGpuReg(REG_OFFSET_DISPCNT, 0);
- sEggHatchData = Alloc(sizeof(struct EggHatchData));
+ sEggHatchData = Alloc(sizeof(*sEggHatchData));
AllocateMonSpritesGfx();
- sEggHatchData->eggPartyID = gSpecialVar_0x8004;
- sEggHatchData->eggShardVelocityID = 0;
+ sEggHatchData->eggPartyId = gSpecialVar_0x8004;
+ sEggHatchData->eggShardVelocityId = 0;
SetVBlankCallback(VBlankCB_EggHatch);
gSpecialVar_0x8005 = GetCurrentMapMusic();
@@ -532,15 +543,15 @@ static void CB2_EggHatch_0(void)
break;
case 4:
CopyBgTilemapBufferToVram(0);
- AddHatchedMonToParty(sEggHatchData->eggPartyID);
+ AddHatchedMonToParty(sEggHatchData->eggPartyId);
gMain.state++;
break;
case 5:
- EggHatchCreateMonSprite(FALSE, 0, sEggHatchData->eggPartyID, &sEggHatchData->species);
+ EggHatchCreateMonSprite(FALSE, 0, sEggHatchData->eggPartyId, &sEggHatchData->species);
gMain.state++;
break;
case 6:
- sEggHatchData->pokeSpriteID = EggHatchCreateMonSprite(FALSE, 1, sEggHatchData->eggPartyID, &sEggHatchData->species);
+ sEggHatchData->monSpriteId = EggHatchCreateMonSprite(FALSE, 1, sEggHatchData->eggPartyId, &sEggHatchData->species);
gMain.state++;
break;
case 7:
@@ -552,8 +563,8 @@ static void CB2_EggHatch_0(void)
gMain.state++;
break;
case 8:
- SetMainCallback2(CB2_EggHatch_1);
- sEggHatchData->CB2_state = 0;
+ SetMainCallback2(CB2_EggHatch);
+ sEggHatchData->state = 0;
break;
}
RunTasks();
@@ -571,121 +582,127 @@ static void EggHatchSetMonNickname(void)
SetMainCallback2(CB2_ReturnToField);
}
-static void Task_EggHatchPlayBGM(u8 taskID)
+#define tTimer data[0]
+
+static void Task_EggHatchPlayBGM(u8 taskId)
{
- if (gTasks[taskID].data[0] == 0)
+ if (gTasks[taskId].tTimer == 0)
{
StopMapMusic();
PlayRainStoppingSoundEffect();
}
- if (gTasks[taskID].data[0] == 1)
+
+ if (gTasks[taskId].tTimer == 1)
PlayBGM(MUS_EVOLUTION_INTRO);
- if (gTasks[taskID].data[0] > 60)
+
+ if (gTasks[taskId].tTimer > 60)
{
PlayBGM(MUS_EVOLUTION);
- DestroyTask(taskID);
- // UB: task is destroyed, yet the value is incremented
- #ifdef UBFIX
- return;
- #endif
+ DestroyTask(taskId);
}
- gTasks[taskID].data[0]++;
+ gTasks[taskId].tTimer++;
}
-static void CB2_EggHatch_1(void)
+static void CB2_EggHatch(void)
{
u16 species;
u8 gender;
u32 personality;
- switch (sEggHatchData->CB2_state)
+ switch (sEggHatchData->state)
{
case 0:
- BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
- sEggHatchData->eggSpriteID = CreateSprite(&sSpriteTemplate_EggHatch, 120, 75, 5);
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK);
+ sEggHatchData->eggSpriteId = CreateSprite(&sSpriteTemplate_Egg, EGG_X, EGG_Y, 5);
ShowBg(0);
ShowBg(1);
- sEggHatchData->CB2_state++;
+ sEggHatchData->state++;
CreateTask(Task_EggHatchPlayBGM, 5);
break;
case 1:
if (!gPaletteFade.active)
{
FillWindowPixelBuffer(sEggHatchData->windowId, PIXEL_FILL(0));
- sEggHatchData->CB2_PalCounter = 0;
- sEggHatchData->CB2_state++;
+ sEggHatchData->delayTimer = 0;
+ sEggHatchData->state++;
}
break;
case 2:
- if (++sEggHatchData->CB2_PalCounter > 30)
+ if (++sEggHatchData->delayTimer > 30)
{
- sEggHatchData->CB2_state++;
- gSprites[sEggHatchData->eggSpriteID].callback = SpriteCB_Egg_0;
+ // Start hatching animation
+ sEggHatchData->state++;
+ gSprites[sEggHatchData->eggSpriteId].callback = SpriteCB_Egg_Shake1;
}
break;
case 3:
- if (gSprites[sEggHatchData->eggSpriteID].callback == SpriteCallbackDummy)
+ // Wait for hatching animation to finish
+ if (gSprites[sEggHatchData->eggSpriteId].callback == SpriteCallbackDummy)
{
- species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES);
- DoMonFrontSpriteAnimation(&gSprites[sEggHatchData->pokeSpriteID], species, FALSE, 1);
- sEggHatchData->CB2_state++;
+ species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyId], MON_DATA_SPECIES);
+ DoMonFrontSpriteAnimation(&gSprites[sEggHatchData->monSpriteId], species, FALSE, 1);
+ sEggHatchData->state++;
}
break;
case 4:
- if (gSprites[sEggHatchData->pokeSpriteID].callback == SpriteCallbackDummy)
- {
- sEggHatchData->CB2_state++;
- }
+ // Wait for Pokémon's front sprite animation
+ if (gSprites[sEggHatchData->monSpriteId].callback == SpriteCallbackDummy)
+ sEggHatchData->state++;
break;
case 5:
- GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
+ // "{mon} hatched from egg" message/fanfare
+ GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyId], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg);
EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, TEXT_SKIP_DRAW);
PlayFanfare(MUS_EVOLVED);
- sEggHatchData->CB2_state++;
+ sEggHatchData->state++;
PutWindowTilemap(sEggHatchData->windowId);
CopyWindowToVram(sEggHatchData->windowId, COPYWIN_FULL);
break;
case 6:
if (IsFanfareTaskInactive())
- sEggHatchData->CB2_state++;
+ sEggHatchData->state++;
break;
- case 7:
+ case 7: // Twice?
if (IsFanfareTaskInactive())
- sEggHatchData->CB2_state++;
+ sEggHatchData->state++;
break;
case 8:
- GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1);
+ // Ready the nickname prompt
+ GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyId], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_NicknameHatchPrompt);
EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 2, 1);
- sEggHatchData->CB2_state++;
+ sEggHatchData->state++;
break;
case 9:
+ // Print the nickname prompt
if (!IsTextPrinterActive(sEggHatchData->windowId))
{
LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, 0xE0);
CreateYesNoMenu(&sYesNoWinTemplate, 0x140, 0xE, 0);
- sEggHatchData->CB2_state++;
+ sEggHatchData->state++;
}
break;
case 10:
+ // Handle the nickname prompt input
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3);
- species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES);
- gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyID]);
- personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_PERSONALITY, 0);
+ case 0: // Yes
+ GetMonNickname2(&gPlayerParty[sEggHatchData->eggPartyId], gStringVar3);
+ species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyId], MON_DATA_SPECIES);
+ gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyId]);
+ personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyId], MON_DATA_PERSONALITY, 0);
DoNamingScreen(NAMING_SCREEN_NICKNAME, gStringVar3, species, gender, personality, EggHatchSetMonNickname);
break;
- case 1:
- case -1:
- sEggHatchData->CB2_state++;
+ case 1: // No
+ case MENU_B_PRESSED:
+ sEggHatchData->state++;
+ break;
}
break;
case 11:
- BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
- sEggHatchData->CB2_state++;
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK);
+ sEggHatchData->state++;
break;
case 12:
if (!gPaletteFade.active)
@@ -707,136 +724,170 @@ static void CB2_EggHatch_1(void)
UpdatePaletteFade();
}
-static void SpriteCB_Egg_0(struct Sprite* sprite)
+#define sTimer data[0]
+#define sSinIdx data[1]
+#define sDelayTimer data[2]
+
+static void SpriteCB_Egg_Shake1(struct Sprite* sprite)
{
- if (++sprite->data[0] > 20)
+ if (++sprite->sTimer > 20)
{
- sprite->callback = SpriteCB_Egg_1;
- sprite->data[0] = 0;
+ sprite->callback = SpriteCB_Egg_Shake2;
+ sprite->sTimer = 0;
}
else
{
- sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
- sprite->x2 = Sin(sprite->data[1], 1);
- if (sprite->data[0] == 15)
+ // Shake egg
+ sprite->sSinIdx = (sprite->sSinIdx + 20) & 0xFF;
+ sprite->x2 = Sin(sprite->sSinIdx, 1);
+ if (sprite->sTimer == 15)
{
+ // First egg crack
PlaySE(SE_BALL);
- StartSpriteAnim(sprite, 1);
+ StartSpriteAnim(sprite, EGG_ANIM_CRACKED_1);
CreateRandomEggShardSprite();
}
}
}
-static void SpriteCB_Egg_1(struct Sprite* sprite)
+static void SpriteCB_Egg_Shake2(struct Sprite* sprite)
{
- if (++sprite->data[2] > 30)
+ if (++sprite->sDelayTimer > 30)
{
- if (++sprite->data[0] > 20)
+ if (++sprite->sTimer > 20)
{
- sprite->callback = SpriteCB_Egg_2;
- sprite->data[0] = 0;
- sprite->data[2] = 0;
+ sprite->callback = SpriteCB_Egg_Shake3;
+ sprite->sTimer = 0;
+ sprite->sDelayTimer = 0;
}
else
{
- sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
- sprite->x2 = Sin(sprite->data[1], 2);
- if (sprite->data[0] == 15)
+ // Shake egg
+ sprite->sSinIdx = (sprite->sSinIdx + 20) & 0xFF;
+ sprite->x2 = Sin(sprite->sSinIdx, 2);
+ if (sprite->sTimer == 15)
{
+ // Second egg crack
PlaySE(SE_BALL);
- StartSpriteAnim(sprite, 2);
+ StartSpriteAnim(sprite, EGG_ANIM_CRACKED_2);
}
}
}
}
-static void SpriteCB_Egg_2(struct Sprite* sprite)
+static void SpriteCB_Egg_Shake3(struct Sprite* sprite)
{
- if (++sprite->data[2] > 30)
+ if (++sprite->sDelayTimer > 30)
{
- if (++sprite->data[0] > 38)
+ if (++sprite->sTimer > 38)
{
u16 species;
-
- sprite->callback = SpriteCB_Egg_3;
- sprite->data[0] = 0;
- species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES);
- gSprites[sEggHatchData->pokeSpriteID].x2 = 0;
- gSprites[sEggHatchData->pokeSpriteID].y2 = 0;
+ sprite->callback = SpriteCB_Egg_WaitHatch;
+ sprite->sTimer = 0;
+ species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyId], MON_DATA_SPECIES);
+ gSprites[sEggHatchData->monSpriteId].x2 = 0;
+ gSprites[sEggHatchData->monSpriteId].y2 = 0;
}
else
{
- sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
- sprite->x2 = Sin(sprite->data[1], 2);
- if (sprite->data[0] == 15)
+ // Shake egg
+ sprite->sSinIdx = (sprite->sSinIdx + 20) & 0xFF;
+ sprite->x2 = Sin(sprite->sSinIdx, 2);
+ if (sprite->sTimer == 15)
{
+ // Third egg crack
+ // This ineffectually sets the animation to the frame it's already using.
+ // They likely meant to use the 3rd and final cracked frame of the egg, which goes unused as a result.
PlaySE(SE_BALL);
- StartSpriteAnim(sprite, 2);
+ #ifdef BUGFIX
+ StartSpriteAnim(sprite, EGG_ANIM_CRACKED_3);
+ #else
+ StartSpriteAnim(sprite, EGG_ANIM_CRACKED_2);
+ #endif
CreateRandomEggShardSprite();
CreateRandomEggShardSprite();
}
- if (sprite->data[0] == 30)
+ if (sprite->sTimer == 30)
PlaySE(SE_BALL);
}
}
}
-static void SpriteCB_Egg_3(struct Sprite* sprite)
+static void SpriteCB_Egg_WaitHatch(struct Sprite* sprite)
{
- if (++sprite->data[0] > 50)
+ if (++sprite->sTimer > 50)
{
- sprite->callback = SpriteCB_Egg_4;
- sprite->data[0] = 0;
+ sprite->callback = SpriteCB_Egg_Hatch;
+ sprite->sTimer = 0;
}
}
-static void SpriteCB_Egg_4(struct Sprite* sprite)
+static void SpriteCB_Egg_Hatch(struct Sprite* sprite)
{
s16 i;
- if (sprite->data[0] == 0)
- BeginNormalPaletteFade(PALETTES_ALL, -1, 0, 0x10, RGB_WHITEALPHA);
- if (sprite->data[0] < 4u)
+
+ // Fade to white to hide transition from egg to Pokémon
+ if (sprite->sTimer == 0)
+ BeginNormalPaletteFade(PALETTES_ALL, -1, 0, 16, RGB_WHITEALPHA);
+
+ // Create a shower of 16 egg shards in 4 groups of 4
+ if ((u32)sprite->sTimer < 4)
{
- for (i = 0; i <= 3; i++)
+ for (i = 0; i < 4; i++)
CreateRandomEggShardSprite();
}
- sprite->data[0]++;
+
+ sprite->sTimer++;
+
if (!gPaletteFade.active)
{
+ // Screen is hidden by the fade to white, hide egg
PlaySE(SE_EGG_HATCH);
sprite->invisible = TRUE;
- sprite->callback = SpriteCB_Egg_5;
- sprite->data[0] = 0;
+ sprite->callback = SpriteCB_Egg_Reveal;
+ sprite->sTimer = 0;
}
}
-static void SpriteCB_Egg_5(struct Sprite* sprite)
+static void SpriteCB_Egg_Reveal(struct Sprite* sprite)
{
- if (sprite->data[0] == 0)
+ if (sprite->sTimer == 0)
{
- gSprites[sEggHatchData->pokeSpriteID].invisible = FALSE;
- StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], BATTLER_AFFINE_EMERGE);
+ // Reveal hatched Pokémon
+ gSprites[sEggHatchData->monSpriteId].invisible = FALSE;
+ StartSpriteAffineAnim(&gSprites[sEggHatchData->monSpriteId], BATTLER_AFFINE_EMERGE);
}
- if (sprite->data[0] == 8)
- BeginNormalPaletteFade(PALETTES_ALL, -1, 0x10, 0, RGB_WHITEALPHA);
- if (sprite->data[0] <= 9)
- gSprites[sEggHatchData->pokeSpriteID].y -= 1;
- if (sprite->data[0] > 40)
- sprite->callback = SpriteCallbackDummy;
- sprite->data[0]++;
+
+ // Fade back from white for reveal
+ if (sprite->sTimer == 8)
+ BeginNormalPaletteFade(PALETTES_ALL, -1, 16, 0, RGB_WHITEALPHA);
+
+ if (sprite->sTimer <= 9)
+ gSprites[sEggHatchData->monSpriteId].y--;
+
+ if (sprite->sTimer > 40)
+ sprite->callback = SpriteCallbackDummy; // Finished
+
+ sprite->sTimer++;
}
+#define sVelocX data[1]
+#define sVelocY data[2]
+#define sAccelY data[3]
+#define sDeltaX data[4]
+#define sDeltaY data[5]
+
static void SpriteCB_EggShard(struct Sprite* sprite)
{
- sprite->data[4] += sprite->data[1];
- sprite->data[5] += sprite->data[2];
+ sprite->sDeltaX += sprite->sVelocX;
+ sprite->sDeltaY += sprite->sVelocY;
- sprite->x2 = sprite->data[4] / 256;
- sprite->y2 = sprite->data[5] / 256;
+ sprite->x2 = sprite->sDeltaX / 256;
+ sprite->y2 = sprite->sDeltaY / 256;
- sprite->data[2] += sprite->data[3];
+ sprite->sVelocY += sprite->sAccelY;
- if (sprite->y + sprite->y2 > sprite->y + 20 && sprite->data[2] > 0)
+ if (sprite->y + sprite->y2 > sprite->y + 20 && sprite->sVelocY > 0)
DestroySprite(sprite);
}
@@ -844,20 +895,23 @@ static void CreateRandomEggShardSprite(void)
{
u16 spriteAnimIndex;
- s16 velocity1 = sEggShardVelocities[sEggHatchData->eggShardVelocityID][0];
- s16 velocity2 = sEggShardVelocities[sEggHatchData->eggShardVelocityID][1];
- sEggHatchData->eggShardVelocityID++;
- spriteAnimIndex = Random() % 4;
- CreateEggShardSprite(120, 60, velocity1, velocity2, 100, spriteAnimIndex);
+ s16 velocityX = sEggShardVelocities[sEggHatchData->eggShardVelocityId][0];
+ s16 velocityY = sEggShardVelocities[sEggHatchData->eggShardVelocityId][1];
+ sEggHatchData->eggShardVelocityId++;
+
+ // Randomly choose one of the 4 shard images
+ spriteAnimIndex = Random() % ARRAY_COUNT(sSpriteAnimTable_EggShard);
+
+ CreateEggShardSprite(EGG_X, EGG_Y - 15, velocityX, velocityY, 100, spriteAnimIndex);
}
-static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex)
+static void CreateEggShardSprite(u8 x, u8 y, s16 velocityX, s16 velocityY, s16 acceleration, u8 spriteAnimIndex)
{
- u8 spriteID = CreateSprite(&sSpriteTemplate_EggShard, x, y, 4);
- gSprites[spriteID].data[1] = data1;
- gSprites[spriteID].data[2] = data2;
- gSprites[spriteID].data[3] = data3;
- StartSpriteAnim(&gSprites[spriteID], spriteAnimIndex);
+ u8 spriteId = CreateSprite(&sSpriteTemplate_EggShard, x, y, 4);
+ gSprites[spriteId].sVelocX = velocityX;
+ gSprites[spriteId].sVelocY = velocityY;
+ gSprites[spriteId].sAccelY = acceleration;
+ StartSpriteAnim(&gSprites[spriteId], spriteAnimIndex);
}
static void EggHatchPrintMessage(u8 windowId, u8* string, u8 x, u8 y, u8 speed)
diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c
index 0de87602ee..c3f17f234a 100755
--- a/src/ereader_helpers.c
+++ b/src/ereader_helpers.c
@@ -10,7 +10,6 @@
#include "task.h"
#include "util.h"
#include "trainer_hill.h"
-#include "constants/easy_chat.h"
#include "constants/trainers.h"
#include "constants/moves.h"
#include "constants/items.h"
diff --git a/src/ereader_screen.c b/src/ereader_screen.c
index f98a0247d3..a22b85babd 100755
--- a/src/ereader_screen.c
+++ b/src/ereader_screen.c
@@ -41,8 +41,8 @@ static void Task_EReader(u8);
struct EReaderData gEReaderData;
-extern const u8 gEReaderLinkData_Start[];
-extern const u8 gEReaderLinkData_End[];
+extern const u8 gMultiBootProgram_EReader_Start[];
+extern const u8 gMultiBootProgram_EReader_End[];
static void EReader_Load(struct EReaderData *eReader, int size, u32 *data)
{
@@ -397,8 +397,8 @@ static void Task_EReader(u8 taskId)
break;
case ER_STATE_CONNECTING:
AddTextPrinterToWindow1(gJPText_Connecting);
- // XXX: This (u32*) cast is discarding the const qualifier from gEReaderLinkData_Start
- EReader_Load(&gEReaderData, gEReaderLinkData_End - gEReaderLinkData_Start, (u32*)gEReaderLinkData_Start);
+ // XXX: This (u32*) cast is discarding the const qualifier from gMultiBootProgram_EReader_Start
+ EReader_Load(&gEReaderData, gMultiBootProgram_EReader_End - gMultiBootProgram_EReader_Start, (u32*)gMultiBootProgram_EReader_Start);
data->state = ER_STATE_TRANSFER;
break;
case ER_STATE_TRANSFER:
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 054f1d233d..41a63f0c8c 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -27,7 +27,6 @@
#include "constants/event_objects.h"
#include "constants/field_effects.h"
#include "constants/items.h"
-#include "constants/maps.h"
#include "constants/mauville_old_man.h"
#include "constants/trainer_types.h"
#include "constants/union_room.h"
@@ -42,12 +41,17 @@ enum {
MOVE_SPEED_FASTEST,
};
+enum {
+ JUMP_DISTANCE_IN_PLACE,
+ JUMP_DISTANCE_NORMAL,
+ JUMP_DISTANCE_FAR,
+};
+
// Sprite data used throughout
#define sObjEventId data[0]
#define sTypeFuncId data[1] // Index into corresponding gMovementTypeFuncs_* table
#define sActionFuncId data[2] // Index into corresponding gMovementActionFuncs_* table
#define sDirection data[3]
-#define sSpeed data[4]
#define movement_type_def(setup, table) \
@@ -107,7 +111,7 @@ static void GetGroundEffectFlags_Seaweed(struct ObjectEvent*, u32*);
static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent*, u32*);
static u8 ObjectEventGetNearbyReflectionType(struct ObjectEvent*);
static u8 GetReflectionTypeByMetatileBehavior(u32);
-static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z);
+static void InitObjectPriorityByElevation(struct Sprite *, u8);
static void ObjectEventUpdateSubpriority(struct ObjectEvent*, struct Sprite*);
static void DoTracksGroundEffect_None(struct ObjectEvent*, struct Sprite*, u8);
static void DoTracksGroundEffect_Footprints(struct ObjectEvent*, struct Sprite*, u8);
@@ -116,7 +120,7 @@ static void DoRippleFieldEffect(struct ObjectEvent*, struct Sprite*);
static void DoGroundEffects_OnSpawn(struct ObjectEvent*, struct Sprite*);
static void DoGroundEffects_OnBeginStep(struct ObjectEvent*, struct Sprite*);
static void DoGroundEffects_OnFinishStep(struct ObjectEvent*, struct Sprite*);
-static void UpdateObjectEventSpritePosition(struct Sprite*);
+static void VirtualObject_UpdateAnim(struct Sprite*);
static void ApplyLevitateMovement(u8);
static bool8 MovementType_Disguise_Callback(struct ObjectEvent *, struct Sprite *);
static bool8 MovementType_Buried_Callback(struct ObjectEvent *, struct Sprite *);
@@ -128,7 +132,7 @@ static void SetObjectEventDynamicGraphicsId(struct ObjectEvent *);
static void RemoveObjectEventInternal(struct ObjectEvent *);
static u16 GetObjectEventFlagIdByObjectEventId(u8);
static void UpdateObjectEventVisibility(struct ObjectEvent *, struct Sprite *);
-static void MakeObjectTemplateFromObjectEventTemplate(struct ObjectEventTemplate *, struct SpriteTemplate *, const struct SubspriteTable **);
+static void MakeSpriteTemplateFromObjectEventTemplate(struct ObjectEventTemplate *, struct SpriteTemplate *, const struct SubspriteTable **);
static void GetObjectEventMovingCameraOffset(s16 *, s16 *);
static struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8, u8, u8);
static void LoadObjectEventPalette(u16);
@@ -139,27 +143,29 @@ static void ResetObjectEventFldEffData(struct ObjectEvent *);
static u8 LoadSpritePaletteIfTagExists(const struct SpritePalette *);
static u8 FindObjectEventPaletteIndexByTag(u16);
static void _PatchObjectPalette(u16, u8);
-static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *, 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 struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8 localId, struct ObjectEventTemplate *templates, u8 count);
+static struct ObjectEventTemplate *FindObjectEventTemplateByLocalId(u8, struct ObjectEventTemplate *, u8);
static void ClearObjectEventMovement(struct ObjectEvent *, struct Sprite *);
static void ObjectEventSetSingleMovement(struct ObjectEvent *, struct Sprite *, u8);
static void SetSpriteDataForNormalStep(struct Sprite *, u8, u8);
-static void InitSpriteForFigure8Anim(struct Sprite *sprite);
-static bool8 AnimateSpriteInFigure8(struct Sprite *sprite);
-static void UpdateObjectEventSprite(struct Sprite *);
+static void InitSpriteForFigure8Anim(struct Sprite *);
+static bool8 AnimateSpriteInFigure8(struct Sprite *);
+static void SpriteCB_VirtualObject(struct Sprite *);
static void DoShadowFieldEffect(struct ObjectEvent *);
static void SetJumpSpriteData(struct Sprite *, u8, u8, u8);
-static void SetWalkSlowSpriteData(struct Sprite *sprite, u8 direction);
-static bool8 UpdateWalkSlowAnim(struct Sprite *sprite);
-static u8 DoJumpSpriteMovement(struct Sprite *sprite);
-static u8 DoJumpSpecialSpriteMovement(struct Sprite *sprite);
+static void SetWalkSlowSpriteData(struct Sprite *, u8);
+static bool8 UpdateWalkSlowAnim(struct Sprite *);
+static u8 DoJumpSpriteMovement(struct Sprite *);
+static u8 DoJumpSpecialSpriteMovement(struct Sprite *);
static void CreateLevitateMovementTask(struct ObjectEvent *);
static void DestroyLevitateMovementTask(u8);
-static bool8 NpcTakeStep(struct Sprite *sprite);
+static bool8 NpcTakeStep(struct Sprite *);
+static bool8 IsElevationMismatchAt(u8, s16, s16);
+static bool8 AreElevationsCompatible(u8 a, u8 b);
static const struct SpriteFrameImage sPicTable_PechaBerryTree[];
@@ -739,26 +745,26 @@ static const u8 sJumpSpecialDirectionAnimNums[] = { // used for jumping onto sur
[DIR_NORTHEAST] = ANIM_GET_ON_OFF_POKEMON_NORTH,
};
static const u8 sAcroWheelieDirectionAnimNums[] = {
- [DIR_NONE] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
- [DIR_SOUTH] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
- [DIR_NORTH] = ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH,
- [DIR_WEST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_WEST,
- [DIR_EAST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_EAST,
- [DIR_SOUTHWEST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
- [DIR_SOUTHEAST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_SOUTH,
- [DIR_NORTHWEST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH,
- [DIR_NORTHEAST] = ANIM_BUNNY_HOPPY_BACK_WHEEL_NORTH,
+ [DIR_NONE] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
+ [DIR_SOUTH] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
+ [DIR_NORTH] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH,
+ [DIR_WEST] = ANIM_BUNNY_HOP_BACK_WHEEL_WEST,
+ [DIR_EAST] = ANIM_BUNNY_HOP_BACK_WHEEL_EAST,
+ [DIR_SOUTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH,
+ [DIR_NORTHWEST] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH,
+ [DIR_NORTHEAST] = ANIM_BUNNY_HOP_BACK_WHEEL_NORTH,
};
static const u8 sAcroUnusedDirectionAnimNums[] = {
- [DIR_NONE] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
- [DIR_SOUTH] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
- [DIR_NORTH] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH,
- [DIR_WEST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_WEST,
- [DIR_EAST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_EAST,
- [DIR_SOUTHWEST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
- [DIR_SOUTHEAST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_SOUTH,
- [DIR_NORTHWEST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH,
- [DIR_NORTHEAST] = ANIM_BUNNY_HOPPY_FRONT_WHEEL_NORTH,
+ [DIR_NONE] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
+ [DIR_SOUTH] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
+ [DIR_NORTH] = ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH,
+ [DIR_WEST] = ANIM_BUNNY_HOP_FRONT_WHEEL_WEST,
+ [DIR_EAST] = ANIM_BUNNY_HOP_FRONT_WHEEL_EAST,
+ [DIR_SOUTHWEST] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
+ [DIR_SOUTHEAST] = ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH,
+ [DIR_NORTHWEST] = ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH,
+ [DIR_NORTHEAST] = ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH,
};
static const u8 sAcroEndWheelieDirectionAnimNums[] = {
[DIR_NONE] = ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH,
@@ -1142,7 +1148,7 @@ static const u8 sPlayerDirectionToCopyDirection[][4] = {
static void ClearObjectEvent(struct ObjectEvent *objectEvent)
{
*objectEvent = (struct ObjectEvent){};
- objectEvent->localId = 0xFF;
+ objectEvent->localId = OBJ_EVENT_ID_PLAYER;
objectEvent->mapNum = MAP_NUM(UNDEFINED);
objectEvent->mapGroup = MAP_GROUP(UNDEFINED);
objectEvent->movementActionId = MOVEMENT_ACTION_NONE;
@@ -1430,7 +1436,7 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl
if (!objectEvent->inanimate)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection));
- SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1);
+ SetObjectSubpriorityByElevation(objectEvent->previousElevation, sprite, 1);
UpdateObjectEventVisibility(objectEvent, sprite);
return objectEventId;
}
@@ -1444,7 +1450,7 @@ static u8 TrySpawnObjectEventTemplate(struct ObjectEventTemplate *objectEventTem
const struct SubspriteTable *subspriteTables = NULL;
graphicsInfo = GetObjectEventGraphicsInfo(objectEventTemplate->graphicsId);
- MakeObjectTemplateFromObjectEventTemplate(objectEventTemplate, &spriteTemplate, &subspriteTables);
+ MakeSpriteTemplateFromObjectEventTemplate(objectEventTemplate, &spriteTemplate, &subspriteTables);
spriteFrameImage.size = graphicsInfo->size;
spriteTemplate.images = &spriteFrameImage;
objectEventId = TrySetupObjectEventSprite(objectEventTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY);
@@ -1467,7 +1473,7 @@ u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate)
return TrySpawnObjectEventTemplate(objectEventTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY);
}
-u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z)
+u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation)
{
struct ObjectEventTemplate objectEventTemplate;
@@ -1478,7 +1484,7 @@ u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 l
objectEventTemplate.inConnection = 0;
objectEventTemplate.x = x;
objectEventTemplate.y = y;
- objectEventTemplate.elevation = z;
+ objectEventTemplate.elevation = elevation;
objectEventTemplate.movementType = movementBehavior;
objectEventTemplate.movementRangeX = 0;
objectEventTemplate.movementRangeY = 0;
@@ -1500,7 +1506,7 @@ u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup)
return TrySpawnObjectEventTemplate(objectEventTemplate, mapNum, mapGroup, cameraX, cameraY);
}
-static void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
+static void CopyObjectGraphicsInfoToSpriteTemplate(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(graphicsId);
@@ -1514,17 +1520,18 @@ static void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (
*subspriteTables = graphicsInfo->subspriteTables;
}
-static void MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
+static void CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(u16 graphicsId, u16 movementType, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
- MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], spriteTemplate, subspriteTables);
+ CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, sMovementTypeCallbacks[movementType], spriteTemplate, subspriteTables);
}
-static void MakeObjectTemplateFromObjectEventTemplate(struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
+static void MakeSpriteTemplateFromObjectEventTemplate(struct ObjectEventTemplate *objectEventTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
- MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(objectEventTemplate->graphicsId, objectEventTemplate->movementType, spriteTemplate, subspriteTables);
+ CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEventTemplate->graphicsId, objectEventTemplate->movementType, spriteTemplate, subspriteTables);
}
-u8 AddPseudoObjectEvent(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
+// Used to create a sprite using a graphicsId associated with object events.
+u8 CreateObjectGraphicsSprite(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
{
struct SpriteTemplate *spriteTemplate;
const struct SubspriteTable *subspriteTables;
@@ -1532,7 +1539,7 @@ u8 AddPseudoObjectEvent(u16 graphicsId, void (*callback)(struct Sprite *), s16 x
u8 spriteId;
spriteTemplate = malloc(sizeof(struct SpriteTemplate));
- MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables);
+ CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, callback, spriteTemplate, &subspriteTables);
if (spriteTemplate->paletteTag != TAG_NONE)
LoadObjectEventPalette(spriteTemplate->paletteTag);
@@ -1548,9 +1555,15 @@ u8 AddPseudoObjectEvent(u16 graphicsId, void (*callback)(struct Sprite *), s16 x
return spriteId;
}
-// Used to create sprite object events instead of a full object event
-// Used when resources are limiting, e.g. for the audience in contests or group members in Union Room
-u8 CreateObjectSprite(u8 graphicsId, u8 objectEventId, s16 x, s16 y, u8 z, u8 direction)
+#define sVirtualObjId data[0]
+#define sVirtualObjElev data[1]
+
+// "Virtual Objects" are a class of sprites used instead of a full object event.
+// Used when more objects are needed than the object event limit (for Contest / Battle Dome audiences and group members in Union Room).
+// A unique id is given as an argument and stored in the sprite data to allow referring back to the same virtual object.
+// They can be turned (and, in the case of the Union Room, animated teleporting in and out) but do not have movement types
+// or any of the other data normally associated with object events.
+u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevation, u8 direction)
{
u8 spriteId;
struct Sprite *sprite;
@@ -1559,7 +1572,7 @@ u8 CreateObjectSprite(u8 graphicsId, u8 objectEventId, s16 x, s16 y, u8 z, u8 di
const struct ObjectEventGraphicsInfo *graphicsInfo;
graphicsInfo = GetObjectEventGraphicsInfo(graphicsId);
- MakeObjectTemplateFromObjectEventGraphicsInfo(graphicsId, UpdateObjectEventSprite, &spriteTemplate, &subspriteTables);
+ CopyObjectGraphicsInfoToSpriteTemplate(graphicsId, SpriteCB_VirtualObject, &spriteTemplate, &subspriteTables);
*(u16 *)&spriteTemplate.paletteTag = TAG_NONE;
x += MAP_OFFSET;
y += MAP_OFFSET;
@@ -1576,8 +1589,8 @@ u8 CreateObjectSprite(u8 graphicsId, u8 objectEventId, s16 x, s16 y, u8 z, u8 di
sprite->oam.paletteNum -= 16;
sprite->coordOffsetEnabled = TRUE;
- sprite->sObjEventId = objectEventId;
- sprite->data[1] = z;
+ sprite->sVirtualObjId = virtualObjId;
+ sprite->sVirtualObjElev = elevation;
if (graphicsInfo->paletteSlot == 10)
LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot);
else if (graphicsInfo->paletteSlot >= 16)
@@ -1588,8 +1601,8 @@ u8 CreateObjectSprite(u8 graphicsId, u8 objectEventId, s16 x, s16 y, u8 z, u8 di
SetSubspriteTables(sprite, subspriteTables);
sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
}
- InitObjectPriorityByZCoord(sprite, z);
- SetObjectSubpriorityByZCoord(z, sprite, 1);
+ InitObjectPriorityByElevation(sprite, elevation);
+ SetObjectSubpriorityByElevation(elevation, sprite, 1);
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(direction));
}
return spriteId;
@@ -1699,7 +1712,7 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y)
subspriteTables = NULL;
graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId);
spriteFrameImage.size = graphicsInfo->size;
- MakeObjectTemplateFromObjectEventGraphicsInfoWithCallbackIndex(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables);
+ CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(objectEvent->graphicsId, objectEvent->movementType, &spriteTemplate, &subspriteTables);
spriteTemplate.images = &spriteFrameImage;
*(u16 *)&spriteTemplate.paletteTag = TAG_NONE;
@@ -1745,7 +1758,7 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection));
ResetObjectEventFldEffData(objectEvent);
- SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1);
+ SetObjectSubpriorityByElevation(objectEvent->previousElevation, sprite, 1);
}
}
@@ -1917,7 +1930,7 @@ void AllowObjectAtPosTriggerGroundEffects(s16 x, s16 y)
}
}
-void SetObjectPriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
+void SetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
{
u8 objectEventId;
struct ObjectEvent *objectEvent;
@@ -1932,7 +1945,7 @@ void SetObjectPriority(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority)
}
}
-void ResetObjectPriority(u8 localId, u8 mapNum, u8 mapGroup)
+void ResetObjectSubpriority(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 objectEventId;
struct ObjectEvent *objectEvent;
@@ -2138,7 +2151,7 @@ void UpdateObjectEventCoordsForCameraUpdate(void)
}
}
-u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z)
+u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation)
{
u8 i;
@@ -2146,16 +2159,18 @@ u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z)
{
if (gObjectEvents[i].active)
{
- if (gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y && ObjectEventDoesZCoordMatch(&gObjectEvents[i], z))
+ if (gObjectEvents[i].currentCoords.x == x
+ && gObjectEvents[i].currentCoords.y == y
+ && ObjectEventDoesElevationMatch(&gObjectEvents[i], elevation))
return i;
}
}
return OBJECT_EVENTS_COUNT;
}
-static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *objectEvent, u8 z)
+static bool8 ObjectEventDoesElevationMatch(struct ObjectEvent *objectEvent, u8 elevation)
{
- if (objectEvent->currentElevation != 0 && z != 0 && objectEvent->currentElevation != z)
+ if (objectEvent->currentElevation != 0 && elevation != 0 && objectEvent->currentElevation != elevation)
return FALSE;
return TRUE;
@@ -4622,11 +4637,11 @@ u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir)
if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y))
return COLLISION_OUTSIDE_RANGE;
- else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction))
+ else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction))
return COLLISION_IMPASSABLE;
else if (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction))
return COLLISION_IMPASSABLE;
- else if (IsZCoordMismatchAt(objectEvent->currentElevation, x, y))
+ else if (IsElevationMismatchAt(objectEvent->currentElevation, x, y))
return COLLISION_ELEVATION_MISMATCH;
else if (DoesObjectCollideWithObjectAt(objectEvent, x, y))
return COLLISION_OBJECT_EVENT;
@@ -4638,13 +4653,13 @@ u8 GetCollisionFlagsAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 d
u8 flags = 0;
if (IsCoordOutsideObjectEventMovementRange(objectEvent, x, y))
- flags |= 1;
- if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction) || (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction)))
- flags |= 2;
- if (IsZCoordMismatchAt(objectEvent->currentElevation, x, y))
- flags |= 4;
+ flags |= 1 << (COLLISION_OUTSIDE_RANGE - 1);
+ if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction) || (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction)))
+ flags |= 1 << (COLLISION_IMPASSABLE - 1);
+ if (IsElevationMismatchAt(objectEvent->currentElevation, x, y))
+ flags |= 1 << (COLLISION_ELEVATION_MISMATCH - 1);
if (DoesObjectCollideWithObjectAt(objectEvent, x, y))
- flags |= 8;
+ flags |= 1 << (COLLISION_OBJECT_EVENT - 1);
return flags;
}
@@ -4695,7 +4710,7 @@ static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16
{
if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y))
{
- if (AreZCoordsCompatible(objectEvent->currentElevation, curObject->currentElevation))
+ if (AreElevationsCompatible(objectEvent->currentElevation, curObject->currentElevation))
return TRUE;
}
}
@@ -5387,7 +5402,7 @@ enum {
JUMP_TYPE_NORMAL,
};
-static void InitJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 type)
+static void InitJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 distance, u8 type)
{
s16 displacements[ARRAY_COUNT(sJumpInitDisplacements)];
s16 x;
@@ -5397,22 +5412,24 @@ static void InitJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8
x = 0;
y = 0;
SetObjectEventDirection(objectEvent, direction);
- MoveCoordsInDirection(direction, &x, &y, displacements[speed], displacements[speed]);
+ MoveCoordsInDirection(direction, &x, &y, displacements[distance], displacements[distance]);
ShiftObjectEventCoords(objectEvent, objectEvent->currentCoords.x + x, objectEvent->currentCoords.y + y);
- SetJumpSpriteData(sprite, direction, speed, type);
+ SetJumpSpriteData(sprite, direction, distance, type);
sprite->sActionFuncId = 1;
sprite->animPaused = FALSE;
objectEvent->triggerGroundEffectsOnMove = TRUE;
objectEvent->disableCoveringGroundEffects = TRUE;
}
-static void InitJumpRegular(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 type)
+static void InitJumpRegular(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 distance, u8 type)
{
- InitJump(objectEvent, sprite, direction, speed, type);
+ InitJump(objectEvent, sprite, direction, distance, type);
SetStepAnimHandleAlternation(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection));
DoShadowFieldEffect(objectEvent);
}
+#define sDistance data[4]
+
static u8 UpdateJumpAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 callback(struct Sprite *))
{
s16 displacements[ARRAY_COUNT(sJumpDisplacements)];
@@ -5422,11 +5439,11 @@ static u8 UpdateJumpAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite,
memcpy(displacements, sJumpDisplacements, sizeof sJumpDisplacements);
result = callback(sprite);
- if (result == JUMP_HALFWAY && displacements[sprite->sSpeed] != 0)
+ if (result == JUMP_HALFWAY && displacements[sprite->sDistance] != 0)
{
x = 0;
y = 0;
- MoveCoordsInDirection(objectEvent->movementDirection, &x, &y, displacements[sprite->sSpeed], displacements[sprite->sSpeed]);
+ MoveCoordsInDirection(objectEvent->movementDirection, &x, &y, displacements[sprite->sDistance], displacements[sprite->sDistance]);
ShiftObjectEventCoords(objectEvent, objectEvent->currentCoords.x + x, objectEvent->currentCoords.y + y);
objectEvent->triggerGroundEffectsOnMove = TRUE;
objectEvent->disableCoveringGroundEffects = TRUE;
@@ -5441,6 +5458,8 @@ static u8 UpdateJumpAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite,
return result;
}
+#undef sDistance
+
static u8 DoJumpAnimStep(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
return UpdateJumpAnim(objectEvent, sprite, DoJumpSpriteMovement);
@@ -5483,7 +5502,7 @@ static bool8 DoJumpInPlaceAnim(struct ObjectEvent *objectEvent, struct Sprite *s
bool8 MovementAction_Jump2Down_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 2, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_Jump2Down_Step1(objectEvent, sprite);
}
@@ -5500,7 +5519,7 @@ bool8 MovementAction_Jump2Down_Step1(struct ObjectEvent *objectEvent, struct Spr
bool8 MovementAction_Jump2Up_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_NORTH, 2, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_Jump2Up_Step1(objectEvent, sprite);
}
@@ -5517,7 +5536,7 @@ bool8 MovementAction_Jump2Up_Step1(struct ObjectEvent *objectEvent, struct Sprit
bool8 MovementAction_Jump2Left_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_WEST, 2, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_Jump2Left_Step1(objectEvent, sprite);
}
@@ -5534,7 +5553,7 @@ bool8 MovementAction_Jump2Left_Step1(struct ObjectEvent *objectEvent, struct Spr
bool8 MovementAction_Jump2Right_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_EAST, 2, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_Jump2Right_Step1(objectEvent, sprite);
}
@@ -6065,7 +6084,7 @@ bool8 MovementAction_WaitSpriteAnim(struct ObjectEvent *objectEvent, struct Spri
static void InitJumpSpecial(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction)
{
- InitJump(objectEvent, sprite, direction, 1, JUMP_TYPE_HIGH);
+ InitJump(objectEvent, sprite, direction, JUMP_DISTANCE_NORMAL, JUMP_TYPE_HIGH);
StartSpriteAnim(sprite, GetJumpSpecialDirectionAnimNum(direction));
}
@@ -6179,7 +6198,7 @@ bool8 MovementAction_UnlockFacingDirection_Step0(struct ObjectEvent *objectEvent
bool8 MovementAction_JumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 1, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_NORMAL, JUMP_TYPE_NORMAL);
return MovementAction_JumpDown_Step1(objectEvent, sprite);
}
@@ -6196,7 +6215,7 @@ bool8 MovementAction_JumpDown_Step1(struct ObjectEvent *objectEvent, struct Spri
bool8 MovementAction_JumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_NORTH, 1, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_NORMAL, JUMP_TYPE_NORMAL);
return MovementAction_JumpUp_Step1(objectEvent, sprite);
}
@@ -6213,7 +6232,7 @@ bool8 MovementAction_JumpUp_Step1(struct ObjectEvent *objectEvent, struct Sprite
bool8 MovementAction_JumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_WEST, 1, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_NORMAL);
return MovementAction_JumpLeft_Step1(objectEvent, sprite);
}
@@ -6230,7 +6249,7 @@ bool8 MovementAction_JumpLeft_Step1(struct ObjectEvent *objectEvent, struct Spri
bool8 MovementAction_JumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_EAST, 1, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_NORMAL);
return MovementAction_JumpRight_Step1(objectEvent, sprite);
}
@@ -6247,7 +6266,7 @@ bool8 MovementAction_JumpRight_Step1(struct ObjectEvent *objectEvent, struct Spr
bool8 MovementAction_JumpInPlaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 0, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_HIGH);
return MovementAction_JumpInPlaceDown_Step1(objectEvent, sprite);
}
@@ -6264,7 +6283,7 @@ bool8 MovementAction_JumpInPlaceDown_Step1(struct ObjectEvent *objectEvent, stru
bool8 MovementAction_JumpInPlaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_NORTH, 0, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_HIGH);
return MovementAction_JumpInPlaceUp_Step1(objectEvent, sprite);
}
@@ -6281,7 +6300,7 @@ bool8 MovementAction_JumpInPlaceUp_Step1(struct ObjectEvent *objectEvent, struct
bool8 MovementAction_JumpInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_WEST, 0, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_HIGH);
return MovementAction_JumpInPlaceLeft_Step1(objectEvent, sprite);
}
@@ -6298,7 +6317,7 @@ bool8 MovementAction_JumpInPlaceLeft_Step1(struct ObjectEvent *objectEvent, stru
bool8 MovementAction_JumpInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_EAST, 0, JUMP_TYPE_HIGH);
+ InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_HIGH);
return MovementAction_JumpInPlaceRight_Step1(objectEvent, sprite);
}
@@ -6315,7 +6334,7 @@ bool8 MovementAction_JumpInPlaceRight_Step1(struct ObjectEvent *objectEvent, str
bool8 MovementAction_JumpInPlaceDownUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 0, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_NORMAL);
return MovementAction_JumpInPlaceDownUp_Step1(objectEvent, sprite);
}
@@ -6332,7 +6351,7 @@ bool8 MovementAction_JumpInPlaceDownUp_Step1(struct ObjectEvent *objectEvent, st
bool8 MovementAction_JumpInPlaceUpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_NORTH, 0, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_NORMAL);
return MovementAction_JumpInPlaceUpDown_Step1(objectEvent, sprite);
}
@@ -6349,7 +6368,7 @@ bool8 MovementAction_JumpInPlaceUpDown_Step1(struct ObjectEvent *objectEvent, st
bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_WEST, 0, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_NORMAL);
return MovementAction_JumpInPlaceLeftRight_Step1(objectEvent, sprite);
}
@@ -6366,7 +6385,7 @@ bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitJumpRegular(objectEvent, sprite, DIR_EAST, 0, JUMP_TYPE_NORMAL);
+ InitJumpRegular(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_NORMAL);
return MovementAction_JumpInPlaceRightLeft_Step1(objectEvent, sprite);
}
@@ -6801,16 +6820,16 @@ bool8 MovementAction_Figure8_Step1(struct ObjectEvent *objectEvent, struct Sprit
return FALSE;
}
-static void InitAcroWheelieJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 type)
+static void InitAcroWheelieJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 distance, u8 type)
{
- InitJump(objectEvent, sprite, direction, speed, type);
+ InitJump(objectEvent, sprite, direction, distance, type);
StartSpriteAnimIfDifferent(sprite, GetAcroWheelieDirectionAnimNum(direction));
DoShadowFieldEffect(objectEvent);
}
bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, 0, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopFaceDown_Step1(objectEvent, sprite);
}
@@ -6827,7 +6846,7 @@ bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct ObjectEvent *objectEven
bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, 0, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopFaceUp_Step1(objectEvent, sprite);
}
@@ -6844,7 +6863,7 @@ bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, 0, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopFaceLeft_Step1(objectEvent, sprite);
}
@@ -6861,7 +6880,7 @@ bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct ObjectEvent *objectEven
bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, 0, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_IN_PLACE, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopFaceRight_Step1(objectEvent, sprite);
}
@@ -6878,7 +6897,7 @@ bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *objectEve
bool8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, 1, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopDown_Step1(objectEvent, sprite);
}
@@ -6895,7 +6914,7 @@ bool8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *objectEvent, s
bool8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, 1, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopUp_Step1(objectEvent, sprite);
}
@@ -6912,7 +6931,7 @@ bool8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *objectEvent, str
bool8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, 1, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopLeft_Step1(objectEvent, sprite);
}
@@ -6929,7 +6948,7 @@ bool8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *objectEvent, s
bool8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, 1, JUMP_TYPE_LOW);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_NORMAL, JUMP_TYPE_LOW);
return MovementAction_AcroWheelieHopRight_Step1(objectEvent, sprite);
}
@@ -6946,7 +6965,7 @@ bool8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, 2, JUMP_TYPE_HIGH);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_AcroWheelieJumpDown_Step1(objectEvent, sprite);
}
@@ -6963,7 +6982,7 @@ bool8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, 2, JUMP_TYPE_HIGH);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_AcroWheelieJumpUp_Step1(objectEvent, sprite);
}
@@ -6980,7 +6999,7 @@ bool8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *objectEvent, st
bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, 2, JUMP_TYPE_HIGH);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_AcroWheelieJumpLeft_Step1(objectEvent, sprite);
}
@@ -6997,7 +7016,7 @@ bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
- InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, 2, JUMP_TYPE_HIGH);
+ InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, JUMP_DISTANCE_FAR, JUMP_TYPE_HIGH);
return MovementAction_AcroWheelieJumpRight_Step1(objectEvent, sprite);
}
@@ -7659,23 +7678,23 @@ static void SetObjectEventSpriteOamTableForLongGrass(struct ObjectEvent *objEven
sprite->subspriteTableNum = 4;
- if (ZCoordToPriority(objEvent->previousElevation) == 1)
+ if (ElevationToPriority(objEvent->previousElevation) == 1)
sprite->subspriteTableNum = 5;
}
-bool8 IsZCoordMismatchAt(u8 z, s16 x, s16 y)
+static bool8 IsElevationMismatchAt(u8 elevation, s16 x, s16 y)
{
- u8 mapZ;
+ u8 mapElevation;
- if (z == 0)
+ if (elevation == 0)
return FALSE;
- mapZ = MapGridGetZCoordAt(x, y);
+ mapElevation = MapGridGetElevationAt(x, y);
- if (mapZ == 0 || mapZ == 15)
+ if (mapElevation == 0 || mapElevation == 15)
return FALSE;
- if (mapZ != z)
+ if (mapElevation != elevation)
return TRUE;
return FALSE;
@@ -7693,43 +7712,43 @@ static const u8 sElevationToSubspriteTableNum[] = {
1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1,
};
-void UpdateObjectEventZCoordAndPriority(struct ObjectEvent *objEvent, struct Sprite *sprite)
+static void UpdateObjectEventElevationAndPriority(struct ObjectEvent *objEvent, struct Sprite *sprite)
{
if (objEvent->fixedPriority)
return;
- ObjectEventUpdateZCoord(objEvent);
+ ObjectEventUpdateElevation(objEvent);
sprite->subspriteTableNum = sElevationToSubspriteTableNum[objEvent->previousElevation];
sprite->oam.priority = sElevationToPriority[objEvent->previousElevation];
}
-static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z)
+static void InitObjectPriorityByElevation(struct Sprite *sprite, u8 elevation)
{
- sprite->subspriteTableNum = sElevationToSubspriteTableNum[z];
- sprite->oam.priority = sElevationToPriority[z];
+ sprite->subspriteTableNum = sElevationToSubspriteTableNum[elevation];
+ sprite->oam.priority = sElevationToPriority[elevation];
}
-u8 ZCoordToPriority(u8 z)
+u8 ElevationToPriority(u8 elevation)
{
- return sElevationToPriority[z];
+ return sElevationToPriority[elevation];
}
-void ObjectEventUpdateZCoord(struct ObjectEvent *objEvent)
+void ObjectEventUpdateElevation(struct ObjectEvent *objEvent)
{
- u8 z = MapGridGetZCoordAt(objEvent->currentCoords.x, objEvent->currentCoords.y);
- u8 z2 = MapGridGetZCoordAt(objEvent->previousCoords.x, objEvent->previousCoords.y);
+ u8 curElevation = MapGridGetElevationAt(objEvent->currentCoords.x, objEvent->currentCoords.y);
+ u8 prevElevation = MapGridGetElevationAt(objEvent->previousCoords.x, objEvent->previousCoords.y);
- if (z == 0xF || z2 == 0xF)
+ if (curElevation == 15 || prevElevation == 15)
return;
- objEvent->currentElevation = z;
+ objEvent->currentElevation = curElevation;
- if (z != 0 && z != 0xF)
- objEvent->previousElevation = z;
+ if (curElevation != 0 && curElevation != 15)
+ objEvent->previousElevation = curElevation;
}
-void SetObjectSubpriorityByZCoord(u8 elevation, struct Sprite *sprite, u8 subpriority)
+void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 subpriority)
{
s32 tmp = sprite->centerToCornerVecY;
u32 tmpa = *(u16 *)&sprite->y;
@@ -7744,10 +7763,10 @@ static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sp
if (objEvent->fixedPriority)
return;
- SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1);
+ SetObjectSubpriorityByElevation(objEvent->previousElevation, sprite, 1);
}
-bool8 AreZCoordsCompatible(u8 a, u8 b)
+static bool8 AreElevationsCompatible(u8 a, u8 b)
{
if (a == 0 || b == 0)
return TRUE;
@@ -8043,7 +8062,7 @@ static void DoGroundEffects_OnSpawn(struct ObjectEvent *objEvent, struct Sprite
if (objEvent->triggerGroundEffectsOnMove)
{
flags = 0;
- UpdateObjectEventZCoordAndPriority(objEvent, sprite);
+ UpdateObjectEventElevationAndPriority(objEvent, sprite);
GetAllGroundEffectFlags_OnSpawn(objEvent, &flags);
SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite);
DoFlaggedGroundEffects(objEvent, sprite, flags);
@@ -8059,7 +8078,7 @@ static void DoGroundEffects_OnBeginStep(struct ObjectEvent *objEvent, struct Spr
if (objEvent->triggerGroundEffectsOnMove)
{
flags = 0;
- UpdateObjectEventZCoordAndPriority(objEvent, sprite);
+ UpdateObjectEventElevationAndPriority(objEvent, sprite);
GetAllGroundEffectFlags_OnBeginStep(objEvent, &flags);
SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite);
filters_out_some_ground_effects(objEvent, &flags);
@@ -8076,7 +8095,7 @@ static void DoGroundEffects_OnFinishStep(struct ObjectEvent *objEvent, struct Sp
if (objEvent->triggerGroundEffectsOnStop)
{
flags = 0;
- UpdateObjectEventZCoordAndPriority(objEvent, sprite);
+ UpdateObjectEventElevationAndPriority(objEvent, sprite);
GetAllGroundEffectFlags_OnFinishStep(objEvent, &flags);
SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite);
FilterOutStepOnPuddleGroundEffectIfJumping(objEvent, &flags);
@@ -8167,6 +8186,7 @@ static void Step8(struct Sprite *sprite, u8 dir)
sprite->y += 8 * (u16) sDirectionToVectors[dir].y;
}
+#define sSpeed data[4]
#define sTimer data[5]
static void SetSpriteDataForNormalStep(struct Sprite *sprite, u8 direction, u8 speed)
@@ -8260,6 +8280,7 @@ static bool8 NpcTakeStep(struct Sprite *sprite)
return TRUE;
}
+#undef sSpeed
#undef sTimer
#define sTimer data[4]
@@ -8394,34 +8415,43 @@ static s16 GetJumpY(s16 i, u8 type)
return sJumpYTable[type][i];
}
+#define sDistance data[4]
#define sJumpType data[5]
#define sTimer data[6]
-static void SetJumpSpriteData(struct Sprite *sprite, u8 direction, u8 speed, u8 type)
+static void SetJumpSpriteData(struct Sprite *sprite, u8 direction, u8 distance, u8 type)
{
sprite->sDirection = direction;
- sprite->sSpeed = speed;
+ sprite->sDistance = distance;
sprite->sJumpType = type;
sprite->sTimer = 0;
}
static u8 DoJumpSpriteMovement(struct Sprite *sprite)
{
- s16 speedToTime[] = {16, 16, 32};
- u8 speedToShift[] = {0, 0, 1};
+ s16 distanceToTime[] = {
+ [JUMP_DISTANCE_IN_PLACE] = 16,
+ [JUMP_DISTANCE_NORMAL] = 16,
+ [JUMP_DISTANCE_FAR] = 32,
+ };
+ u8 distanceToShift[] = {
+ [JUMP_DISTANCE_IN_PLACE] = 0,
+ [JUMP_DISTANCE_NORMAL] = 0,
+ [JUMP_DISTANCE_FAR] = 1,
+ };
u8 result = 0;
- if (sprite->sSpeed)
+ if (sprite->sDistance != JUMP_DISTANCE_IN_PLACE)
Step1(sprite, sprite->sDirection);
- sprite->y2 = GetJumpY(sprite->sTimer >> speedToShift[sprite->sSpeed], sprite->sJumpType);
+ sprite->y2 = GetJumpY(sprite->sTimer >> distanceToShift[sprite->sDistance], sprite->sJumpType);
sprite->sTimer++;
- if (sprite->sTimer == speedToTime[sprite->sSpeed] >> 1)
+ if (sprite->sTimer == distanceToTime[sprite->sDistance] >> 1)
result = JUMP_HALFWAY;
- if (sprite->sTimer >= speedToTime[sprite->sSpeed])
+ if (sprite->sTimer >= distanceToTime[sprite->sDistance])
{
sprite->y2 = 0;
result = JUMP_FINISHED;
@@ -8432,21 +8462,29 @@ static u8 DoJumpSpriteMovement(struct Sprite *sprite)
static u8 DoJumpSpecialSpriteMovement(struct Sprite *sprite)
{
- s16 speedToTime[] = {32, 32, 64};
- u8 speedToShift[] = {1, 1, 2};
+ s16 distanceToTime[] = {
+ [JUMP_DISTANCE_IN_PLACE] = 32,
+ [JUMP_DISTANCE_NORMAL] = 32,
+ [JUMP_DISTANCE_FAR] = 64,
+ };
+ u8 distanceToShift[] = {
+ [JUMP_DISTANCE_IN_PLACE] = 1,
+ [JUMP_DISTANCE_NORMAL] = 1,
+ [JUMP_DISTANCE_FAR] = 2,
+ };
u8 result = 0;
- if (sprite->sSpeed && !(sprite->sTimer & 1))
+ if (sprite->sDistance != JUMP_DISTANCE_IN_PLACE && !(sprite->sTimer & 1))
Step1(sprite, sprite->sDirection);
- sprite->y2 = GetJumpY(sprite->sTimer >> speedToShift[sprite->sSpeed], sprite->sJumpType);
+ sprite->y2 = GetJumpY(sprite->sTimer >> distanceToShift[sprite->sDistance], sprite->sJumpType);
sprite->sTimer++;
- if (sprite->sTimer == speedToTime[sprite->sSpeed] >> 1)
+ if (sprite->sTimer == distanceToTime[sprite->sDistance] >> 1)
result = JUMP_HALFWAY;
- if (sprite->sTimer >= speedToTime[sprite->sSpeed])
+ if (sprite->sTimer >= distanceToTime[sprite->sDistance])
{
sprite->y2 = 0;
result = JUMP_FINISHED;
@@ -8455,7 +8493,7 @@ static u8 DoJumpSpecialSpriteMovement(struct Sprite *sprite)
return result;
}
-#undef sSpeed
+#undef sDistance
#undef sJumpType
#undef sTimer
@@ -8518,50 +8556,50 @@ void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible)
#define sAnimNum data[3]
#define sAnimState data[4]
-static void UpdateObjectEventSprite(struct Sprite *sprite)
+static void SpriteCB_VirtualObject(struct Sprite *sprite)
{
- UpdateObjectEventSpritePosition(sprite);
- SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1);
+ VirtualObject_UpdateAnim(sprite);
+ SetObjectSubpriorityByElevation(sprite->sVirtualObjElev, sprite, 1);
UpdateObjectEventSpriteInvisibility(sprite, sprite->sInvisible);
}
// Unused
-static void DestroyObjectEventSprites(void)
+static void DestroyVirtualObjects(void)
{
int i;
for (i = 0; i < MAX_SPRITES; i++)
{
struct Sprite *sprite = &gSprites[i];
- if(sprite->inUse && sprite->callback == UpdateObjectEventSprite)
+ if(sprite->inUse && sprite->callback == SpriteCB_VirtualObject)
DestroySprite(sprite);
}
}
-static int GetObjectEventSpriteId(u8 objectEventId) // this should return a u8, because all that call this shifts to u8, but it wont match because it doesnt shift u8 at the end.
+static int GetVirtualObjectSpriteId(u8 virtualObjId)
{
int i;
for (i = 0; i < MAX_SPRITES; i++)
{
struct Sprite *sprite = &gSprites[i];
- if (sprite->inUse && sprite->callback == UpdateObjectEventSprite && (u8)sprite->sObjEventId == objectEventId)
+ if (sprite->inUse && sprite->callback == SpriteCB_VirtualObject && (u8)sprite->sVirtualObjId == virtualObjId)
return i;
}
return MAX_SPRITES;
}
-void TurnObjectEventSprite(u8 objectEventId, u8 direction)
+void TurnVirtualObject(u8 virtualObjId, u8 direction)
{
- u8 spriteId = GetObjectEventSpriteId(objectEventId);
+ u8 spriteId = GetVirtualObjectSpriteId(virtualObjId);
if (spriteId != MAX_SPRITES)
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(direction));
}
-void SetObjectEventSpriteGraphics(u8 objectEventId, u8 graphicsId)
+void SetVirtualObjectGraphics(u8 virtualObjId, u8 graphicsId)
{
- int spriteId = GetObjectEventSpriteId(objectEventId);
+ int spriteId = GetVirtualObjectSpriteId(virtualObjId);
if (spriteId != MAX_SPRITES)
{
@@ -8589,9 +8627,9 @@ void SetObjectEventSpriteGraphics(u8 objectEventId, u8 graphicsId)
}
}
-void SetObjectEventSpriteInvisibility(u8 objectEventId, bool32 invisible)
+void SetVirtualObjectInvisibility(u8 virtualObjId, bool32 invisible)
{
- u8 spriteId = GetObjectEventSpriteId(objectEventId);
+ u8 spriteId = GetVirtualObjectSpriteId(virtualObjId);
if (spriteId == MAX_SPRITES)
return;
@@ -8602,9 +8640,9 @@ void SetObjectEventSpriteInvisibility(u8 objectEventId, bool32 invisible)
gSprites[spriteId].sInvisible = FALSE;
}
-bool32 IsObjectEventSpriteInvisible(u8 objectEventId)
+bool32 IsVirtualObjectInvisible(u8 virtualObjId)
{
- u8 spriteId = GetObjectEventSpriteId(objectEventId);
+ u8 spriteId = GetVirtualObjectSpriteId(virtualObjId);
if (spriteId == MAX_SPRITES)
return FALSE;
@@ -8612,9 +8650,9 @@ bool32 IsObjectEventSpriteInvisible(u8 objectEventId)
return (gSprites[spriteId].sInvisible == TRUE);
}
-void SetObjectEventSpriteAnim(u8 objectEventId, u8 animNum)
+void SetVirtualObjectSpriteAnim(u8 virtualObjId, u8 animNum)
{
- u8 spriteId = GetObjectEventSpriteId(objectEventId);
+ u8 spriteId = GetVirtualObjectSpriteId(virtualObjId);
if (spriteId != MAX_SPRITES)
{
@@ -8627,18 +8665,18 @@ static void MoveUnionRoomObjectUp(struct Sprite *sprite)
{
switch(sprite->sAnimState)
{
- case 0:
+ case 0:
+ sprite->y2 = 0;
+ sprite->sAnimState++;
+ case 1:
+ sprite->y2 -= 8;
+ if (sprite->y2 == -DISPLAY_HEIGHT)
+ {
sprite->y2 = 0;
- sprite->sAnimState++;
- case 1:
- sprite->y2 -= 8;
- if (sprite->y2 == -DISPLAY_HEIGHT)
- {
- sprite->y2 = 0;
- sprite->sInvisible = TRUE;
- sprite->sAnimNum = 0;
- sprite->sAnimState = 0;
- }
+ sprite->sInvisible = TRUE;
+ sprite->sAnimNum = 0;
+ sprite->sAnimState = 0;
+ }
}
}
@@ -8646,40 +8684,40 @@ static void MoveUnionRoomObjectDown(struct Sprite *sprite)
{
switch(sprite->sAnimState)
{
- case 0:
- sprite->y2 = -DISPLAY_HEIGHT;
- sprite->sAnimState++;
- case 1:
- sprite->y2 += 8;
- if(sprite->y2 == 0)
- {
- sprite->sAnimNum = 0;
- sprite->sAnimState = 0;
- }
+ case 0:
+ sprite->y2 = -DISPLAY_HEIGHT;
+ sprite->sAnimState++;
+ case 1:
+ sprite->y2 += 8;
+ if(sprite->y2 == 0)
+ {
+ sprite->sAnimNum = 0;
+ sprite->sAnimState = 0;
+ }
}
}
-static void UpdateObjectEventSpritePosition(struct Sprite *sprite)
+static void VirtualObject_UpdateAnim(struct Sprite *sprite)
{
switch(sprite->sAnimNum)
{
- case UNION_ROOM_SPAWN_IN:
- MoveUnionRoomObjectDown(sprite);
- break;
- case UNION_ROOM_SPAWN_OUT:
- MoveUnionRoomObjectUp(sprite);
- break;
- case 0:
- break;
- default:
- sprite->sAnimNum = 0;
- break;
+ case UNION_ROOM_SPAWN_IN:
+ MoveUnionRoomObjectDown(sprite);
+ break;
+ case UNION_ROOM_SPAWN_OUT:
+ MoveUnionRoomObjectUp(sprite);
+ break;
+ case 0:
+ break;
+ default:
+ sprite->sAnimNum = 0;
+ break;
}
}
-bool32 IsObjectEventSpriteAnimating(u8 objectEventId)
+bool32 IsVirtualObjectAnimating(u8 virtualObjId)
{
- u8 spriteId = GetObjectEventSpriteId(objectEventId);
+ u8 spriteId = GetVirtualObjectSpriteId(virtualObjId);
if (spriteId == MAX_SPRITES)
return FALSE;
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index 50098743db..5d17cca84e 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -501,12 +501,12 @@ static void SpriteCB_EvolutionMonSprite(struct Sprite* sprite)
u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId)
{
u16 i;
- u16 stack[16];
+ u16 monPalette[16];
u8 taskId;
s32 toDiv;
- for (i = 0; i < ARRAY_COUNT(stack); i++)
- stack[i] = 0x7FFF;
+ for (i = 0; i < ARRAY_COUNT(monPalette); i++)
+ monPalette[i] = RGB_WHITE;
taskId = CreateTask(Task_CycleEvolutionMonSprite_Init, 0);
gTasks[taskId].tPreEvoSpriteId = preEvoSpriteId;
@@ -522,13 +522,13 @@ u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId)
gSprites[preEvoSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[preEvoSpriteId].oam.matrixNum = MATRIX_PRE_EVO;
gSprites[preEvoSpriteId].invisible = FALSE;
- CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[preEvoSpriteId].oam.paletteNum * 16)], 16);
+ CpuSet(monPalette, &gPlttBufferFaded[0x100 + (gSprites[preEvoSpriteId].oam.paletteNum * 16)], 16);
gSprites[postEvoSpriteId].callback = SpriteCB_EvolutionMonSprite;
gSprites[postEvoSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[postEvoSpriteId].oam.matrixNum = MATRIX_POST_EVO;
gSprites[postEvoSpriteId].invisible = FALSE;
- CpuSet(stack, &gPlttBufferFaded[0x100 + (gSprites[postEvoSpriteId].oam.paletteNum * 16)], 16);
+ CpuSet(monPalette, &gPlttBufferFaded[0x100 + (gSprites[postEvoSpriteId].oam.paletteNum * 16)], 16);
gTasks[taskId].tEvoStopped = FALSE;
return taskId;
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 99ff268213..bde11ddb5e 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -252,7 +252,7 @@ void EvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, bool8 canStopEvo, u
AllocateMonSpritesGfx();
GetMonData(mon, MON_DATA_NICKNAME, name);
- StringCopy10(gStringVar1, name);
+ StringCopy_Nickname(gStringVar1, name);
StringCopy(gStringVar2, gSpeciesNames[postEvoSpecies]);
// preEvo sprite
@@ -474,7 +474,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 postEvoSpecies, u8 preEvoSprit
u8 ID;
GetMonData(mon, MON_DATA_NICKNAME, name);
- StringCopy10(gStringVar1, name);
+ StringCopy_Nickname(gStringVar1, name);
StringCopy(gStringVar2, gSpeciesNames[postEvoSpecies]);
gAffineAnimsDisabled = TRUE;
@@ -787,7 +787,7 @@ static void Task_EvolutionScene(u8 taskId)
gTasks[taskId].tLearnsFirstMove = FALSE;
gTasks[taskId].tLearnMoveState = MVSTATE_INTRO_MSG_1;
GetMonData(mon, MON_DATA_NICKNAME, text);
- StringCopy10(gBattleTextBuff1, text);
+ StringCopy_Nickname(gBattleTextBuff1, text);
if (var == MON_HAS_MAX_MOVES)
gTasks[taskId].tState = EVOSTATE_REPLACE_MOVE;
@@ -855,7 +855,7 @@ static void Task_EvolutionScene(u8 taskId)
{
BufferMoveToLearnIntoBattleTextBuff2();
PlayFanfare(MUS_LEVEL_UP);
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnsFirstMove = 0x40; // re-used as a counter
gTasks[taskId].tState++;
@@ -873,7 +873,7 @@ static void Task_EvolutionScene(u8 taskId)
{
// "{mon} is trying to learn {move}"
BufferMoveToLearnIntoBattleTextBuff2();
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveState++;
}
@@ -882,7 +882,7 @@ static void Task_EvolutionScene(u8 taskId)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
// "But, {mon} can't learn more than four moves"
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveState++;
}
@@ -891,7 +891,7 @@ static void Task_EvolutionScene(u8 taskId)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
// "Delete a move to make room for {move}?"
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveYesState = MVSTATE_SHOW_MOVE_SELECT;
gTasks[taskId].tLearnMoveNoState = MVSTATE_ASK_CANCEL;
@@ -979,7 +979,7 @@ static void Task_EvolutionScene(u8 taskId)
if (IsHMMove2(move))
{
// Can't forget HMs
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveState = MVSTATE_RETRY_AFTER_HM;
}
@@ -996,14 +996,14 @@ static void Task_EvolutionScene(u8 taskId)
}
break;
case MVSTATE_FORGET_MSG_1:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveState++;
break;
case MVSTATE_FORGET_MSG_2:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveState++;
}
@@ -1011,20 +1011,20 @@ static void Task_EvolutionScene(u8 taskId)
case MVSTATE_LEARNED_MOVE:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tState = EVOSTATE_LEARNED_MOVE;
}
break;
case MVSTATE_ASK_CANCEL:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tLearnMoveYesState = MVSTATE_CANCEL;
gTasks[taskId].tLearnMoveNoState = MVSTATE_INTRO_MSG_1;
gTasks[taskId].tLearnMoveState = MVSTATE_PRINT_YES_NO;
break;
case MVSTATE_CANCEL:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START]);
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG);
gTasks[taskId].tState = EVOSTATE_TRY_LEARN_MOVE;
break;
@@ -1202,7 +1202,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
gTasks[taskId].tLearnsFirstMove = FALSE;
gTasks[taskId].tLearnMoveState = 0;
GetMonData(mon, MON_DATA_NICKNAME, text);
- StringCopy10(gBattleTextBuff1, text);
+ StringCopy_Nickname(gBattleTextBuff1, text);
if (var == MON_HAS_MAX_MOVES)
gTasks[taskId].tState = T_EVOSTATE_REPLACE_MOVE;
@@ -1258,7 +1258,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
{
BufferMoveToLearnIntoBattleTextBuff2();
PlayFanfare(MUS_LEVEL_UP);
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnsFirstMove = 0x40; // re-used as a counter
gTasks[taskId].tState++;
@@ -1276,7 +1276,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
{
// "{mon} is trying to learn {move}"
BufferMoveToLearnIntoBattleTextBuff2();
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState++;
}
@@ -1285,7 +1285,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
// "But, {mon} can't learn more than four moves"
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState++;
}
@@ -1294,7 +1294,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
// "Delete a move to make room for {move}?"
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveYesState = T_MVSTATE_SHOW_MOVE_SELECT;
gTasks[taskId].tLearnMoveNoState = T_MVSTATE_ASK_CANCEL;
@@ -1315,7 +1315,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
{
case 0: // YES
sEvoCursorPos = 0;
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState = gTasks[taskId].tLearnMoveYesState;
if (gTasks[taskId].tLearnMoveState == T_MVSTATE_SHOW_MOVE_SELECT)
@@ -1324,7 +1324,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
case 1: // NO
case MENU_B_PRESSED:
sEvoCursorPos = 1;
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState = gTasks[taskId].tLearnMoveNoState;
break;
@@ -1363,7 +1363,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
if (IsHMMove2(move))
{
// Can't forget HMs
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState = T_MVSTATE_RETRY_AFTER_HM;
}
@@ -1374,7 +1374,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
RemoveMonPPBonus(mon, var);
SetMonMoveSlot(mon, gMoveToLearn, var);
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState++;
}
@@ -1384,7 +1384,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
case T_MVSTATE_FORGET_MSG:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveState++;
}
@@ -1392,20 +1392,20 @@ static void Task_TradeEvolutionScene(u8 taskId)
case T_MVSTATE_LEARNED_MOVE:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tState = T_EVOSTATE_LEARNED_MOVE;
}
break;
case T_MVSTATE_ASK_CANCEL:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tLearnMoveYesState = T_MVSTATE_CANCEL;
gTasks[taskId].tLearnMoveNoState = T_MVSTATE_INTRO_MSG_1;
gTasks[taskId].tLearnMoveState = T_MVSTATE_PRINT_YES_NO;
break;
case T_MVSTATE_CANCEL:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_TABLE_START]);
DrawTextOnTradeWindow(0, gDisplayedStringBattle, 1);
gTasks[taskId].tState = T_EVOSTATE_TRY_LEARN_MOVE;
break;
diff --git a/src/faraway_island.c b/src/faraway_island.c
index 3927d9ad54..9ddb66de5c 100755
--- a/src/faraway_island.c
+++ b/src/faraway_island.c
@@ -7,7 +7,6 @@
#include "sprite.h"
#include "constants/event_objects.h"
#include "constants/field_effects.h"
-#include "constants/maps.h"
#include "constants/metatile_behaviors.h"
static u8 GetValidMewMoveDirection(u8);
diff --git a/src/field_camera.c b/src/field_camera.c
index a36b6883c1..0a00dcbee9 100644
--- a/src/field_camera.c
+++ b/src/field_camera.c
@@ -14,7 +14,6 @@
EWRAM_DATA bool8 gUnusedBikeCameraAheadPanback = FALSE;
-// Static type declarations
struct FieldCameraOffset
{
u8 xPixelOffset;
@@ -24,18 +23,16 @@ struct FieldCameraOffset
bool8 copyBGToVRAM;
};
-// static functions
-static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
-static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
-static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
-static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
-static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *a, s32 x, s32 y);
-static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout);
-static void DrawMetatileAt(const struct MapLayout *mapLayout, u16, int, int);
-static void DrawMetatile(s32 a, u16 *b, u16 c);
+static void RedrawMapSliceNorth(struct FieldCameraOffset *, const struct MapLayout *);
+static void RedrawMapSliceSouth(struct FieldCameraOffset *, const struct MapLayout *);
+static void RedrawMapSliceEast(struct FieldCameraOffset *, const struct MapLayout *);
+static void RedrawMapSliceWest(struct FieldCameraOffset *, const struct MapLayout *);
+static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *, s32, s32);
+static void DrawWholeMapViewInternal(int, int, const struct MapLayout *);
+static void DrawMetatileAt(const struct MapLayout *, u16, int, int);
+static void DrawMetatile(s32, u16 *, u16);
static void CameraPanningCB_PanAhead(void);
-// IWRAM bss vars
static struct FieldCameraOffset sFieldCameraOffset;
static s16 sHorizontalCameraPan;
static s16 sVerticalCameraPan;
@@ -46,7 +43,6 @@ struct CameraObject gFieldCamera;
u16 gTotalCameraPixelOffsetY;
u16 gTotalCameraPixelOffsetX;
-// text
static void ResetCameraOffset(struct FieldCameraOffset *cameraOffset)
{
cameraOffset->xTileOffset = 0;
@@ -222,7 +218,7 @@ void DrawDoorMetatileAt(int x, int y, u16 *arr)
if (offset >= 0)
{
- DrawMetatile(1, arr, offset);
+ DrawMetatile(METATILE_LAYER_TYPE_COVERED, arr, offset);
sFieldCameraOffset.copyBGToVRAM = TRUE;
}
}
@@ -244,66 +240,66 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x,
DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset);
}
-static void DrawMetatile(s32 metatileLayerType, u16 *metatiles, u16 offset)
+static void DrawMetatile(s32 metatileLayerType, u16 *tiles, u16 offset)
{
switch (metatileLayerType)
{
- case 2: // LAYER_TYPE_
+ case METATILE_LAYER_TYPE_SPLIT:
// Draw metatile's bottom layer to the bottom background layer.
- gBGTilemapBuffers3[offset] = metatiles[0];
- gBGTilemapBuffers3[offset + 1] = metatiles[1];
- gBGTilemapBuffers3[offset + 0x20] = metatiles[2];
- gBGTilemapBuffers3[offset + 0x21] = metatiles[3];
+ gOverworldTilemapBuffer_Bg3[offset] = tiles[0];
+ gOverworldTilemapBuffer_Bg3[offset + 1] = tiles[1];
+ gOverworldTilemapBuffer_Bg3[offset + 0x20] = tiles[2];
+ gOverworldTilemapBuffer_Bg3[offset + 0x21] = tiles[3];
// Draw transparent tiles to the middle background layer.
- gBGTilemapBuffers1[offset] = 0;
- gBGTilemapBuffers1[offset + 1] = 0;
- gBGTilemapBuffers1[offset + 0x20] = 0;
- gBGTilemapBuffers1[offset + 0x21] = 0;
+ gOverworldTilemapBuffer_Bg2[offset] = 0;
+ gOverworldTilemapBuffer_Bg2[offset + 1] = 0;
+ gOverworldTilemapBuffer_Bg2[offset + 0x20] = 0;
+ gOverworldTilemapBuffer_Bg2[offset + 0x21] = 0;
// Draw metatile's top layer to the top background layer.
- gBGTilemapBuffers2[offset] = metatiles[4];
- gBGTilemapBuffers2[offset + 1] = metatiles[5];
- gBGTilemapBuffers2[offset + 0x20] = metatiles[6];
- gBGTilemapBuffers2[offset + 0x21] = metatiles[7];
+ gOverworldTilemapBuffer_Bg1[offset] = tiles[4];
+ gOverworldTilemapBuffer_Bg1[offset + 1] = tiles[5];
+ gOverworldTilemapBuffer_Bg1[offset + 0x20] = tiles[6];
+ gOverworldTilemapBuffer_Bg1[offset + 0x21] = tiles[7];
break;
- case 1: // LAYER_TYPE_COVERED_BY_OBJECTS
+ case METATILE_LAYER_TYPE_COVERED:
// Draw metatile's bottom layer to the bottom background layer.
- gBGTilemapBuffers3[offset] = metatiles[0];
- gBGTilemapBuffers3[offset + 1] = metatiles[1];
- gBGTilemapBuffers3[offset + 0x20] = metatiles[2];
- gBGTilemapBuffers3[offset + 0x21] = metatiles[3];
+ gOverworldTilemapBuffer_Bg3[offset] = tiles[0];
+ gOverworldTilemapBuffer_Bg3[offset + 1] = tiles[1];
+ gOverworldTilemapBuffer_Bg3[offset + 0x20] = tiles[2];
+ gOverworldTilemapBuffer_Bg3[offset + 0x21] = tiles[3];
// Draw metatile's top layer to the middle background layer.
- gBGTilemapBuffers1[offset] = metatiles[4];
- gBGTilemapBuffers1[offset + 1] = metatiles[5];
- gBGTilemapBuffers1[offset + 0x20] = metatiles[6];
- gBGTilemapBuffers1[offset + 0x21] = metatiles[7];
+ gOverworldTilemapBuffer_Bg2[offset] = tiles[4];
+ gOverworldTilemapBuffer_Bg2[offset + 1] = tiles[5];
+ gOverworldTilemapBuffer_Bg2[offset + 0x20] = tiles[6];
+ gOverworldTilemapBuffer_Bg2[offset + 0x21] = tiles[7];
// Draw transparent tiles to the top background layer.
- gBGTilemapBuffers2[offset] = 0;
- gBGTilemapBuffers2[offset + 1] = 0;
- gBGTilemapBuffers2[offset + 0x20] = 0;
- gBGTilemapBuffers2[offset + 0x21] = 0;
+ gOverworldTilemapBuffer_Bg1[offset] = 0;
+ gOverworldTilemapBuffer_Bg1[offset + 1] = 0;
+ gOverworldTilemapBuffer_Bg1[offset + 0x20] = 0;
+ gOverworldTilemapBuffer_Bg1[offset + 0x21] = 0;
break;
- case 0: // LAYER_TYPE_NORMAL
+ case METATILE_LAYER_TYPE_NORMAL:
// Draw garbage to the bottom background layer.
- gBGTilemapBuffers3[offset] = 0x3014;
- gBGTilemapBuffers3[offset + 1] = 0x3014;
- gBGTilemapBuffers3[offset + 0x20] = 0x3014;
- gBGTilemapBuffers3[offset + 0x21] = 0x3014;
+ gOverworldTilemapBuffer_Bg3[offset] = 0x3014;
+ gOverworldTilemapBuffer_Bg3[offset + 1] = 0x3014;
+ gOverworldTilemapBuffer_Bg3[offset + 0x20] = 0x3014;
+ gOverworldTilemapBuffer_Bg3[offset + 0x21] = 0x3014;
// Draw metatile's bottom layer to the middle background layer.
- gBGTilemapBuffers1[offset] = metatiles[0];
- gBGTilemapBuffers1[offset + 1] = metatiles[1];
- gBGTilemapBuffers1[offset + 0x20] = metatiles[2];
- gBGTilemapBuffers1[offset + 0x21] = metatiles[3];
+ gOverworldTilemapBuffer_Bg2[offset] = tiles[0];
+ gOverworldTilemapBuffer_Bg2[offset + 1] = tiles[1];
+ gOverworldTilemapBuffer_Bg2[offset + 0x20] = tiles[2];
+ gOverworldTilemapBuffer_Bg2[offset + 0x21] = tiles[3];
// Draw metatile's top layer to the top background layer, which covers object event sprites.
- gBGTilemapBuffers2[offset] = metatiles[4];
- gBGTilemapBuffers2[offset + 1] = metatiles[5];
- gBGTilemapBuffers2[offset + 0x20] = metatiles[6];
- gBGTilemapBuffers2[offset + 0x21] = metatiles[7];
+ gOverworldTilemapBuffer_Bg1[offset] = tiles[4];
+ gOverworldTilemapBuffer_Bg1[offset + 1] = tiles[5];
+ gOverworldTilemapBuffer_Bg1[offset + 0x20] = tiles[6];
+ gOverworldTilemapBuffer_Bg1[offset + 0x21] = tiles[7];
break;
}
ScheduleBgCopyTilemapToVram(1);
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index 1916d60ff2..8925f8b1d2 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -33,7 +33,6 @@
#include "constants/event_objects.h"
#include "constants/field_poison.h"
#include "constants/map_types.h"
-#include "constants/maps.h"
#include "constants/songs.h"
#include "constants/trainer_hill.h"
@@ -96,7 +95,7 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys)
if ((tileTransitionState == T_TILE_CENTER && forcedMove == FALSE) || tileTransitionState == T_NOT_MOVING)
{
- if (GetPlayerSpeed() != 4)
+ if (GetPlayerSpeed() != PLAYER_SPEED_FASTEST)
{
if (newKeys & START_BUTTON)
input->pressedStartButton = TRUE;
@@ -239,7 +238,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input)
static void GetPlayerPosition(struct MapPosition *position)
{
PlayerGetDestCoords(&position->x, &position->y);
- position->height = PlayerGetZCoord();
+ position->elevation = PlayerGetElevation();
}
static void GetInFrontOfPlayerPosition(struct MapPosition *position)
@@ -248,10 +247,10 @@ static void GetInFrontOfPlayerPosition(struct MapPosition *position)
GetXYCoordsOneStepInFrontOfPlayer(&position->x, &position->y);
PlayerGetDestCoords(&x, &y);
- if (MapGridGetZCoordAt(x, y) != 0)
- position->height = PlayerGetZCoord();
+ if (MapGridGetElevationAt(x, y) != 0)
+ position->elevation = PlayerGetElevation();
else
- position->height = 0;
+ position->elevation = 0;
}
static u16 GetPlayerCurMetatileBehavior(int runningState)
@@ -309,9 +308,9 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil
s32 i;
if (!MetatileBehavior_IsCounter(MapGridGetMetatileBehaviorAt(position->x, position->y)))
- objectEventId = GetObjectEventIdByXYZ(position->x, position->y, position->height);
+ objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation);
else
- objectEventId = GetObjectEventIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height);
+ 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)
return NULL;
@@ -333,14 +332,14 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8
u8 objectEventId;
const u8 *script;
- objectEventId = GetObjectEventIdByXYZ(position->x, position->y, position->height);
+ objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation);
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER)
{
if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE)
return NULL;
// Look for an object event on the other side of the counter.
- objectEventId = GetObjectEventIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height);
+ 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)
return NULL;
}
@@ -360,7 +359,7 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8
static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position, u8 metatileBehavior, u8 direction)
{
- struct BgEvent *bgEvent = GetBackgroundEventAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->height);
+ struct BgEvent *bgEvent = GetBackgroundEventAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation);
if (bgEvent == NULL)
return NULL;
@@ -411,7 +410,7 @@ static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position
static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 metatileBehavior, u8 direction)
{
- s8 height;
+ s8 elevation;
if (MetatileBehavior_IsPlayerFacingTVScreen(metatileBehavior, direction) == TRUE)
return EventScript_TV;
@@ -454,8 +453,8 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me
if (MetatileBehavior_IsTrainerHillTimer(metatileBehavior) == TRUE)
return EventScript_TrainerHillTimer;
- height = position->height;
- if (height == MapGridGetZCoordAt(position->x, position->y))
+ elevation = position->elevation;
+ if (elevation == MapGridGetElevationAt(position->x, position->y))
{
if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE)
return SecretBase_EventScript_PC;
@@ -542,7 +541,7 @@ static bool8 TryStartStepBasedScript(struct MapPosition *position, u16 metatileB
static bool8 TryStartCoordEventScript(struct MapPosition *position)
{
- u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->height);
+ u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation);
if (script == NULL)
return FALSE;
@@ -740,7 +739,7 @@ static bool8 TryArrowWarp(struct MapPosition *position, u16 metatileBehavior, u8
{
s8 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position);
- if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != -1)
+ if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != WARP_ID_NONE)
{
StoreInitialPlayerAvatarState();
SetupWarp(&gMapHeader, warpEventId, position);
@@ -754,7 +753,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
{
s8 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position);
- if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE)
+ if (warpEventId != WARP_ID_NONE && IsWarpMetatileBehavior(metatileBehavior) == TRUE)
{
StoreInitialPlayerAvatarState();
SetupWarp(&gMapHeader, warpEventId, position);
@@ -833,7 +832,7 @@ static bool8 IsArrowWarpMetatileBehavior(u16 metatileBehavior, u8 direction)
static s8 GetWarpEventAtMapPosition(struct MapHeader *mapHeader, struct MapPosition *position)
{
- return GetWarpEventAtPosition(mapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->height);
+ return GetWarpEventAtPosition(mapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation);
}
static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position)
@@ -896,7 +895,7 @@ static bool8 TryDoorWarp(struct MapPosition *position, u16 metatileBehavior, u8
if (MetatileBehavior_IsWarpDoor(metatileBehavior) == TRUE)
{
warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position);
- if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE)
+ if (warpEventId != WARP_ID_NONE && IsWarpMetatileBehavior(metatileBehavior) == TRUE)
{
StoreInitialPlayerAvatarState();
SetupWarp(&gMapHeader, warpEventId, position);
@@ -922,7 +921,7 @@ static s8 GetWarpEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 e
return i;
}
}
- return -1;
+ return WARP_ID_NONE;
}
static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent)
@@ -968,7 +967,7 @@ static u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16 x, u16
u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position)
{
- return GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->height);
+ return GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation);
}
static struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation)
diff --git a/src/field_door.c b/src/field_door.c
index f53e83d7a6..988ea615d0 100644
--- a/src/field_door.c
+++ b/src/field_door.c
@@ -5,7 +5,6 @@
#include "fieldmap.h"
#include "metatile_behavior.h"
#include "task.h"
-#include "constants/maps.h"
#include "constants/songs.h"
#include "constants/metatile_labels.h"
diff --git a/src/field_effect.c b/src/field_effect.c
index 3f0ba24555..f57ce8cddc 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -243,32 +243,33 @@ extern u8 *gFieldEffectScriptPointers[];
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
static const u32 sNewGameBirch_Gfx[] = INCBIN_U32("graphics/birch_speech/birch.4bpp");
-static const u32 sUnusedBirchBeauty[] = INCBIN_U32("graphics/unused/intro_birch_beauty.4bpp");
+static const u32 sUnusedBirchBeauty[] = INCBIN_U32("graphics/birch_speech/unused_beauty.4bpp");
static const u16 sNewGameBirch_Pal[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal");
-static const u32 sPokeballGlow_Gfx[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp");
+
+static const u32 sPokeballGlow_Gfx[] = INCBIN_U32("graphics/field_effects/pics/pokeball_glow.4bpp");
static const u16 sPokeballGlow_Pal[16] = INCBIN_U16("graphics/field_effects/palettes/pokeball_glow.gbapal");
-static const u32 sPokecenterMonitor0_Gfx[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp");
-static const u32 sPokecenterMonitor1_Gfx[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp");
-static const u32 sHofMonitorBig_Gfx[] = INCBIN_U32("graphics/misc/hof_monitor_big.4bpp");
-static const u8 sHofMonitorSmall_Gfx[] = INCBIN_U8("graphics/misc/hof_monitor_small.4bpp");
+static const u32 sPokecenterMonitor0_Gfx[] = INCBIN_U32("graphics/field_effects/pics/pokecenter_monitor/0.4bpp");
+static const u32 sPokecenterMonitor1_Gfx[] = INCBIN_U32("graphics/field_effects/pics/pokecenter_monitor/1.4bpp");
+static const u32 sHofMonitorBig_Gfx[] = INCBIN_U32("graphics/field_effects/pics/hof_monitor_big.4bpp");
+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.
-static const u32 sFieldMoveStreaksOutdoors_Gfx[] = INCBIN_U32("graphics/misc/field_move_streaks.4bpp");
-static const u16 sFieldMoveStreaksOutdoors_Pal[16] = INCBIN_U16("graphics/misc/field_move_streaks.gbapal");
-static const u16 sFieldMoveStreaksOutdoors_Tilemap[320] = INCBIN_U16("graphics/misc/field_move_streaks_map.bin");
+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");
// The following light streaks effect is used when the map is indoors
-static const u32 sFieldMoveStreaksIndoors_Gfx[] = INCBIN_U32("graphics/misc/darkness_field_move_streaks.4bpp");
-static const u16 sFieldMoveStreaksIndoors_Pal[16] = INCBIN_U16("graphics/misc/darkness_field_move_streaks.gbapal");
-static const u16 sFieldMoveStreaksIndoors_Tilemap[320] = INCBIN_U16("graphics/misc/darkness_field_move_streaks_map.bin");
+static const u32 sFieldMoveStreaksIndoors_Gfx[] = INCBIN_U32("graphics/field_effects/pics/field_move_streaks_indoors.4bpp");
+static const u16 sFieldMoveStreaksIndoors_Pal[16] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks_indoors.gbapal");
+static const u16 sFieldMoveStreaksIndoors_Tilemap[320] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks_indoors.bin");
-static const u16 sSpotlight_Pal[16] = INCBIN_U16("graphics/misc/spotlight.gbapal");
-static const u8 sSpotlight_Gfx[] = INCBIN_U8("graphics/misc/spotlight.4bpp");
-static const u8 sRockFragment_TopLeft[] = INCBIN_U8("graphics/misc/deoxys_rock_fragment_top_left.4bpp");
-static const u8 sRockFragment_TopRight[] = INCBIN_U8("graphics/misc/deoxys_rock_fragment_top_right.4bpp");
-static const u8 sRockFragment_BottomLeft[] = INCBIN_U8("graphics/misc/deoxys_rock_fragment_bottom_left.4bpp");
-static const u8 sRockFragment_BottomRight[] = INCBIN_U8("graphics/misc/deoxys_rock_fragment_bottom_right.4bpp");
+static const u16 sSpotlight_Pal[16] = INCBIN_U16("graphics/field_effects/pics/spotlight.gbapal");
+static const u8 sSpotlight_Gfx[] = INCBIN_U8("graphics/field_effects/pics/spotlight.4bpp");
+static const u8 sRockFragment_TopLeft[] = INCBIN_U8("graphics/field_effects/pics/deoxys_rock_fragment_top_left.4bpp");
+static const u8 sRockFragment_TopRight[] = INCBIN_U8("graphics/field_effects/pics/deoxys_rock_fragment_top_right.4bpp");
+static const u8 sRockFragment_BottomLeft[] = INCBIN_U8("graphics/field_effects/pics/deoxys_rock_fragment_bottom_left.4bpp");
+static const u8 sRockFragment_BottomRight[] = INCBIN_U8("graphics/field_effects/pics/deoxys_rock_fragment_bottom_right.4bpp");
bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) =
{
@@ -2619,7 +2620,7 @@ static void FieldMoveShowMonOutdoorsEffect_LoadGfx(struct Task *task)
u16 delta = ((REG_BG0CNT >> 8) << 11);
CpuCopy16(sFieldMoveStreaksOutdoors_Gfx, (void *)(VRAM + offset), 0x200);
CpuFill32(0, (void *)(VRAM + delta), 0x800);
- LoadPalette(sFieldMoveStreaksOutdoors_Pal, 0xf0, 0x20);
+ LoadPalette(sFieldMoveStreaksOutdoors_Pal, 0xf0, sizeof(sFieldMoveStreaksOutdoors_Pal));
LoadFieldMoveOutdoorStreaksTilemap(delta);
task->tState++;
}
@@ -2782,7 +2783,7 @@ static void FieldMoveShowMonIndoorsEffect_LoadGfx(struct Task *task)
task->data[12] = delta;
CpuCopy16(sFieldMoveStreaksIndoors_Gfx, (void *)(VRAM + offset), 0x80);
CpuFill32(0, (void *)(VRAM + delta), 0x800);
- LoadPalette(sFieldMoveStreaksIndoors_Pal, 0xf0, 0x20);
+ LoadPalette(sFieldMoveStreaksIndoors_Pal, 0xf0, sizeof(sFieldMoveStreaksIndoors_Pal));
task->tState++;
}
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index 0acb158637..c3332c7fc6 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -359,7 +359,7 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite)
|| objectEvent->previousCoords.y != sprite->sY))
sprite->sObjectMoved = TRUE;
- // Metatile behavior var re-used
+ // Metatile behavior var re-used as subpriority
metatileBehavior = 0;
if (sprite->animCmdIndex == 0)
metatileBehavior = 4;
@@ -423,7 +423,7 @@ u32 FldEff_LongGrass(void)
{
sprite = &gSprites[spriteId];
sprite->coordOffsetEnabled = TRUE;
- sprite->oam.priority = ZCoordToPriority(gFieldEffectArguments[2]);
+ sprite->oam.priority = ElevationToPriority(gFieldEffectArguments[2]);
sprite->sElevation = gFieldEffectArguments[2];
sprite->sX = gFieldEffectArguments[0];
sprite->sY = gFieldEffectArguments[1];
@@ -487,6 +487,8 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite)
#undef sCurrentMap
#undef sObjectMoved
+// Effectively unused as it's not possible in vanilla to jump onto long grass (no adjacent ledges, and can't ride the Acro Bike in it).
+// The graphics for this effect do not visually correspond to long grass either. Perhaps these graphics were its original design?
u32 FldEff_JumpLongGrass(void)
{
u8 spriteId;
@@ -1108,7 +1110,7 @@ void SynchroniseSurfPosition(struct ObjectEvent *playerObj, struct Sprite *sprit
for (i = DIR_SOUTH; i <= DIR_EAST; i++, x = sprite->data[6], y = sprite->data[7])
{
MoveCoords(i, &x, &y);
- if (MapGridGetZCoordAt(x, y) == 3)
+ if (MapGridGetElevationAt(x, y) == 3)
{
sprite->data[5]++;
break;
@@ -1646,7 +1648,7 @@ void UpdateJumpImpactEffect(struct Sprite *sprite)
else
{
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
- SetObjectSubpriorityByZCoord(sprite->sElevation, sprite, 0);
+ SetObjectSubpriorityByElevation(sprite->sElevation, sprite, 0);
}
}
@@ -1658,14 +1660,14 @@ void WaitFieldEffectSpriteAnim(struct Sprite *sprite)
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
}
-static void UpdateGrassFieldEffectSubpriority(struct Sprite *sprite, u8 z, u8 offset)
+static void UpdateGrassFieldEffectSubpriority(struct Sprite *sprite, u8 elevation, u8 subpriority)
{
u8 i;
s16 var, xhi, lyhi, yhi, ylo;
const struct ObjectEventGraphicsInfo *graphicsInfo; // Unused Variable
struct Sprite *linkedSprite;
- SetObjectSubpriorityByZCoord(z, sprite, offset);
+ SetObjectSubpriorityByElevation(elevation, sprite, subpriority);
for (i = 0; i < OBJECT_EVENTS_COUNT; i ++)
{
struct ObjectEvent *objectEvent = &gObjectEvents[i];
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 9e54823a63..964a62187a 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -26,11 +26,13 @@
#include "constants/event_object_movement.h"
#include "constants/field_effects.h"
#include "constants/items.h"
-#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/trainer_types.h"
+#define NUM_FORCED_MOVEMENTS 18
+#define NUM_ACRO_BIKE_COLLISIONS 5
+
static EWRAM_DATA u8 sSpinStartFacingDir = 0;
EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {};
EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {};
@@ -140,9 +142,7 @@ static void AlignFishingAnimationFrames(void);
static u8 TrySpinPlayerForWarp(struct ObjectEvent *object, s16 *a1);
-// .rodata
-
-static bool8 (*const sForcedMovementTestFuncs[])(u8) =
+static bool8 (*const sForcedMovementTestFuncs[NUM_FORCED_MOVEMENTS])(u8) =
{
MetatileBehavior_IsTrickHouseSlipperyFloor,
MetatileBehavior_IsIce_2,
@@ -164,7 +164,8 @@ static bool8 (*const sForcedMovementTestFuncs[])(u8) =
MetatileBehavior_IsMuddySlope,
};
-static bool8 (*const sForcedMovementFuncs[])(void) =
+// + 1 for ForcedMovement_None, which is excluded above
+static bool8 (*const sForcedMovementFuncs[NUM_FORCED_MOVEMENTS + 1])(void) =
{
ForcedMovement_None,
ForcedMovement_Slip,
@@ -189,12 +190,12 @@ static bool8 (*const sForcedMovementFuncs[])(void) =
static void (*const sPlayerNotOnBikeFuncs[])(u8, u16) =
{
- PlayerNotOnBikeNotMoving,
- PlayerNotOnBikeTurningInPlace,
- PlayerNotOnBikeMoving,
+ [NOT_MOVING] = PlayerNotOnBikeNotMoving,
+ [TURN_DIRECTION] = PlayerNotOnBikeTurningInPlace,
+ [MOVING] = PlayerNotOnBikeMoving,
};
-static bool8 (*const sAcroBikeTrickMetatiles[])(u8) =
+static bool8 (*const sAcroBikeTrickMetatiles[NUM_ACRO_BIKE_COLLISIONS])(u8) =
{
MetatileBehavior_IsBumpySlope,
MetatileBehavior_IsIsolatedVerticalRail,
@@ -203,7 +204,7 @@ static bool8 (*const sAcroBikeTrickMetatiles[])(u8) =
MetatileBehavior_IsHorizontalRail,
};
-static const u8 sAcroBikeTrickCollisionTypes[] = {
+static const u8 sAcroBikeTrickCollisionTypes[NUM_ACRO_BIKE_COLLISIONS] = {
COLLISION_WHEELIE_HOP,
COLLISION_ISOLATED_VERTICAL_RAIL,
COLLISION_ISOLATED_HORIZONTAL_RAIL,
@@ -233,33 +234,41 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) =
static const u8 sRivalAvatarGfxIds[][2] =
{
- {OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL},
- {OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE, OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE},
- {OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE, OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE},
- {OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING, OBJ_EVENT_GFX_RIVAL_MAY_SURFING},
- {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, OBJ_EVENT_GFX_MAY_UNDERWATER},
- {OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE, OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE},
- {OBJ_EVENT_GFX_BRENDAN_FISHING, OBJ_EVENT_GFX_MAY_FISHING},
- {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING}
+ [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},
+ [PLAYER_AVATAR_STATE_ACRO_BIKE] = {OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE, OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE},
+ [PLAYER_AVATAR_STATE_SURFING] = {OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING, OBJ_EVENT_GFX_RIVAL_MAY_SURFING},
+ [PLAYER_AVATAR_STATE_UNDERWATER] = {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, OBJ_EVENT_GFX_MAY_UNDERWATER},
+ [PLAYER_AVATAR_STATE_FIELD_MOVE] = {OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE, OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE},
+ [PLAYER_AVATAR_STATE_FISHING] = {OBJ_EVENT_GFX_BRENDAN_FISHING, OBJ_EVENT_GFX_MAY_FISHING},
+ [PLAYER_AVATAR_STATE_WATERING] = {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING}
};
static const u8 sPlayerAvatarGfxIds[][2] =
{
- {OBJ_EVENT_GFX_BRENDAN_NORMAL, OBJ_EVENT_GFX_MAY_NORMAL},
- {OBJ_EVENT_GFX_BRENDAN_MACH_BIKE, OBJ_EVENT_GFX_MAY_MACH_BIKE},
- {OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE, OBJ_EVENT_GFX_MAY_ACRO_BIKE},
- {OBJ_EVENT_GFX_BRENDAN_SURFING, OBJ_EVENT_GFX_MAY_SURFING},
- {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, OBJ_EVENT_GFX_MAY_UNDERWATER},
- {OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE, OBJ_EVENT_GFX_MAY_FIELD_MOVE},
- {OBJ_EVENT_GFX_BRENDAN_FISHING, OBJ_EVENT_GFX_MAY_FISHING},
- {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING},
+ [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},
+ [PLAYER_AVATAR_STATE_ACRO_BIKE] = {OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE, OBJ_EVENT_GFX_MAY_ACRO_BIKE},
+ [PLAYER_AVATAR_STATE_SURFING] = {OBJ_EVENT_GFX_BRENDAN_SURFING, OBJ_EVENT_GFX_MAY_SURFING},
+ [PLAYER_AVATAR_STATE_UNDERWATER] = {OBJ_EVENT_GFX_BRENDAN_UNDERWATER, OBJ_EVENT_GFX_MAY_UNDERWATER},
+ [PLAYER_AVATAR_STATE_FIELD_MOVE] = {OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE, OBJ_EVENT_GFX_MAY_FIELD_MOVE},
+ [PLAYER_AVATAR_STATE_FISHING] = {OBJ_EVENT_GFX_BRENDAN_FISHING, OBJ_EVENT_GFX_MAY_FISHING},
+ [PLAYER_AVATAR_STATE_WATERING] = {OBJ_EVENT_GFX_BRENDAN_WATERING, OBJ_EVENT_GFX_MAY_WATERING},
};
-static const u8 sFRLGAvatarGfxIds[] = {OBJ_EVENT_GFX_RED, OBJ_EVENT_GFX_LEAF};
+static const u8 sFRLGAvatarGfxIds[GENDER_COUNT] =
+{
+ [MALE] = OBJ_EVENT_GFX_RED,
+ [FEMALE] = OBJ_EVENT_GFX_LEAF
+};
-static const u8 sRSAvatarGfxIds[] = {OBJ_EVENT_GFX_LINK_RS_BRENDAN, OBJ_EVENT_GFX_LINK_RS_MAY};
+static const u8 sRSAvatarGfxIds[GENDER_COUNT] =
+{
+ [MALE] = OBJ_EVENT_GFX_LINK_RS_BRENDAN,
+ [FEMALE] = OBJ_EVENT_GFX_LINK_RS_MAY
+};
-static const u8 sPlayerAvatarGfxToStateFlag[2][5][2] =
+static const u8 sPlayerAvatarGfxToStateFlag[GENDER_COUNT][5][2] =
{
[MALE] =
{
@@ -307,8 +316,6 @@ static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct Obj
PlayerAvatar_SecretBaseMatSpinStep3,
};
-// .text
-
void MovementType_Player(struct Sprite *sprite)
{
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, ObjectEventCB2_NoMovement2);
@@ -407,7 +414,7 @@ static u8 GetForcedMovementByMetatileBehavior(void)
{
u8 metatileBehavior = gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior;
- for (i = 0; i < 18; i++)
+ for (i = 0; i < NUM_FORCED_MOVEMENTS; i++)
{
if (sForcedMovementTestFuncs[i](metatileBehavior))
return i + 1;
@@ -430,7 +437,7 @@ static bool8 ForcedMovement_None(void)
return FALSE;
}
-static u8 DoForcedMovement(u8 direction, void (*b)(u8))
+static bool8 DoForcedMovement(u8 direction, void (*moveFunc)(u8))
{
struct PlayerAvatar *playerAvatar = &gPlayerAvatar;
u8 collision = CheckForPlayerAvatarCollision(direction);
@@ -441,7 +448,7 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8))
ForcedMovement_None();
if (collision < COLLISION_STOP_SURFING)
{
- return 0;
+ return FALSE;
}
else
{
@@ -449,23 +456,23 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8))
PlayerJumpLedge(direction);
playerAvatar->flags |= PLAYER_AVATAR_FLAG_FORCED_MOVE;
playerAvatar->runningState = MOVING;
- return 1;
+ return TRUE;
}
}
else
{
playerAvatar->runningState = MOVING;
- b(direction);
- return 1;
+ moveFunc(direction);
+ return TRUE;
}
}
-static u8 DoForcedMovementInCurrentDirection(void (*a)(u8))
+static bool8 DoForcedMovementInCurrentDirection(void (*moveFunc)(u8))
{
struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
playerObjEvent->disableAnim = TRUE;
- return DoForcedMovement(playerObjEvent->movementDirection, a);
+ return DoForcedMovement(playerObjEvent->movementDirection, moveFunc);
}
static bool8 ForcedMovement_Slip(void)
@@ -513,13 +520,13 @@ static bool8 ForcedMovement_PushedEastByCurrent(void)
return DoForcedMovement(DIR_EAST, PlayerRideWaterCurrent);
}
-static u8 ForcedMovement_Slide(u8 direction, void (*b)(u8))
+static bool8 ForcedMovement_Slide(u8 direction, void (*moveFunc)(u8))
{
struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
playerObjEvent->disableAnim = TRUE;
playerObjEvent->facingDirectionLocked = TRUE;
- return DoForcedMovement(direction, b);
+ return DoForcedMovement(direction, moveFunc);
}
static bool8 ForcedMovement_SlideSouth(void)
@@ -558,7 +565,7 @@ static bool8 ForcedMovement_MuddySlope(void)
{
struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
- if (playerObjEvent->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3)
+ if (playerObjEvent->movementDirection != DIR_NORTH || GetPlayerSpeed() < PLAYER_SPEED_FASTEST)
{
Bike_UpdateBikeCounterSpeed(0);
playerObjEvent->facingDirectionLocked = TRUE;
@@ -578,20 +585,11 @@ static void MovePlayerNotOnBike(u8 direction, u16 heldKeys)
static u8 CheckMovementInputNotOnBike(u8 direction)
{
if (direction == DIR_NONE)
- {
- gPlayerAvatar.runningState = NOT_MOVING;
- return 0;
- }
+ return gPlayerAvatar.runningState = NOT_MOVING;
else if (direction != GetPlayerMovementDirection() && gPlayerAvatar.runningState != MOVING)
- {
- gPlayerAvatar.runningState = TURN_DIRECTION;
- return 1;
- }
+ return gPlayerAvatar.runningState = TURN_DIRECTION;
else
- {
- gPlayerAvatar.runningState = MOVING;
- return 2;
- }
+ return gPlayerAvatar.runningState = MOVING;
}
static void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys)
@@ -710,8 +708,8 @@ static u8 CheckForObjectEventStaticCollision(struct ObjectEvent *objectEvent, s1
static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
{
if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
- && MapGridGetZCoordAt(x, y) == 3
- && GetObjectEventIdByXYZ(x, y, 3) == OBJECT_EVENTS_COUNT)
+ && MapGridGetElevationAt(x, y) == 3
+ && GetObjectEventIdByPosition(x, y, 3) == OBJECT_EVENTS_COUNT)
{
CreateStopSurfingTask(direction);
return TRUE;
@@ -736,13 +734,13 @@ static bool8 TryPushBoulder(s16 x, s16 y, u8 direction)
{
u8 objectEventId = GetObjectEventIdByXY(x, y);
- if (objectEventId != 16 && gObjectEvents[objectEventId].graphicsId == OBJ_EVENT_GFX_PUSHABLE_BOULDER)
+ if (objectEventId != OBJECT_EVENTS_COUNT && gObjectEvents[objectEventId].graphicsId == OBJ_EVENT_GFX_PUSHABLE_BOULDER)
{
x = gObjectEvents[objectEventId].currentCoords.x;
y = gObjectEvents[objectEventId].currentCoords.y;
MoveCoords(direction, &x, &y);
if (GetCollisionAtCoords(&gObjectEvents[objectEventId], x, y, direction) == COLLISION_NONE
- && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0)
+ && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == FALSE)
{
StartStrengthAnim(objectEventId, direction);
return TRUE;
@@ -756,7 +754,7 @@ static void CheckAcroBikeCollision(s16 x, s16 y, u8 metatileBehavior, u8 *collis
{
u8 i;
- for (i = 0; i < ARRAY_COUNT(sAcroBikeTrickMetatiles); i++)
+ for (i = 0; i < NUM_ACRO_BIKE_COLLISIONS; i++)
{
if (sAcroBikeTrickMetatiles[i](metatileBehavior))
{
@@ -1170,7 +1168,7 @@ u8 GetPlayerMovementDirection(void)
return gObjectEvents[gPlayerAvatar.objectEventId].movementDirection;
}
-u8 PlayerGetZCoord(void)
+u8 PlayerGetElevation(void)
{
return gObjectEvents[gPlayerAvatar.objectEventId].previousElevation;
}
@@ -1308,7 +1306,7 @@ bool8 IsPlayerFacingSurfableFishableWater(void)
MoveCoords(playerObjEvent->facingDirection, &x, &y);
if (GetCollisionAtCoords(playerObjEvent, x, y, playerObjEvent->facingDirection) == COLLISION_ELEVATION_MISMATCH
- && PlayerGetZCoord() == 3
+ && PlayerGetElevation() == 3
&& MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y)))
return TRUE;
else
diff --git a/src/field_poison.c b/src/field_poison.c
index 132ce571e1..90013243cd 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -50,7 +50,7 @@ static void FaintFromFieldPoison(u8 partyIdx)
AdjustFriendship(pokemon, FRIENDSHIP_EVENT_FAINT_FIELD_PSN);
SetMonData(pokemon, MON_DATA_STATUS, &status);
GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1);
- StringGetEnd10(gStringVar1);
+ StringGet_Nickname(gStringVar1);
}
static bool32 MonFaintedFromPoison(u8 partyIdx)
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index 0cf5e41456..eda1467258 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -35,7 +35,6 @@
#include "trainer_hill.h"
#include "fldeff.h"
-// This file's functions.
static void Task_ExitNonAnimDoor(u8);
static void Task_ExitNonDoor(u8);
static void Task_DoContestHallWarp(u8);
@@ -50,9 +49,9 @@ static void Task_EnableScriptAfterMusicFade(u8 taskId);
// data[0] is used universally by tasks in this file as a state for switches
#define tState data[0]
-// const
-static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
-const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1;
+// Smaller flash level -> larger flash radius
+static const u16 sFlashLevelToRadius[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
+const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelToRadius) - 1;
const struct ScanlineEffectParams sFlashEffectParams =
{
@@ -503,7 +502,7 @@ void DoDiveWarp(void)
CreateTask(Task_WarpAndLoadMap, 10);
}
-void DoSootopolisLegendWarp(void)
+void DoWhiteFadeWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
@@ -971,14 +970,14 @@ static u8 StartUpdateOrbFlashEffect(s32 centerX, s32 centerY, s32 initialFlashRa
#undef tFlashRadiusDelta
#undef tClearScanlineEffect
-// A higher flashLevel value is a smaller flash radius (more darkness). 0 is full brightness
-void AnimateFlash(u8 flashLevel)
+// A higher flash level is a smaller flash radius (more darkness). 0 is full brightness
+void AnimateFlash(u8 newFlashLevel)
{
- u8 curFlashLevel = Overworld_GetFlashLevel();
+ u8 curFlashLevel = GetFlashLevel();
bool8 fullBrightness = FALSE;
- if (!flashLevel)
+ if (newFlashLevel == 0)
fullBrightness = TRUE;
- StartUpdateFlashLevelEffect(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelPixelRadii[curFlashLevel], sFlashLevelPixelRadii[flashLevel], fullBrightness, 1);
+ StartUpdateFlashLevelEffect(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelToRadius[curFlashLevel], sFlashLevelToRadius[newFlashLevel], fullBrightness, 1);
StartWaitForFlashUpdate();
ScriptContext2_Enable();
}
@@ -987,7 +986,7 @@ void WriteFlashScanlineEffectBuffer(u8 flashLevel)
{
if (flashLevel)
{
- SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelPixelRadii[flashLevel]);
+ SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, sFlashLevelToRadius[flashLevel]);
CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
}
}
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index 39e5d66980..d8b9eb05d1 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -325,7 +325,7 @@ void Task_HandlePorthole(u8 taskId)
static void ShowSSTidalWhileSailing(void)
{
- u8 spriteId = AddPseudoObjectEvent(OBJ_EVENT_GFX_SS_TIDAL, SpriteCallbackDummy, 112, 80, 0);
+ u8 spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_SS_TIDAL, SpriteCallbackDummy, 112, 80, 0);
gSprites[spriteId].coordOffsetEnabled = FALSE;
@@ -349,7 +349,7 @@ void LookThroughPorthole(void)
FlagSet(FLAG_SYS_CRUISE_MODE);
FlagSet(FLAG_DONT_TRANSITION_MUSIC);
FlagSet(FLAG_HIDE_MAP_NAME_POPUP);
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
TrySetPortholeWarpDestination();
DoPortholeWarp();
}
diff --git a/src/field_specials.c b/src/field_specials.c
index ef569ca006..a4cdafafc2 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -55,7 +55,6 @@
#include "constants/items.h"
#include "constants/heal_locations.h"
#include "constants/map_types.h"
-#include "constants/maps.h"
#include "constants/mystery_gift.h"
#include "constants/script_menu.h"
#include "constants/slot_machine.h"
@@ -194,59 +193,40 @@ static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions)
result = 0;
if (numBikeCollisions == 0)
- {
result = 5;
- }
else if (numBikeCollisions < 4)
- {
result = 4;
- }
else if (numBikeCollisions < 10)
- {
result = 3;
- }
else if (numBikeCollisions < 20)
- {
result = 2;
- }
else if (numBikeCollisions < 100)
- {
result = 1;
- }
if (numFrames / 60 <= 10)
- {
result += 5;
- }
else if (numFrames / 60 <= 15)
- {
result += 4;
- }
else if (numFrames / 60 <= 20)
- {
result += 3;
- }
else if (numFrames / 60 <= 40)
- {
result += 2;
- }
else if (numFrames / 60 < 60)
- {
result += 1;
- }
-
gSpecialVar_Result = result;
}
-void FinishCyclingRoadChallenge(void) {
+void FinishCyclingRoadChallenge(void)
+{
const u32 numFrames = gMain.vblankCounter1 - sBikeCyclingTimer;
DetermineCyclingRoadResults(numFrames, gBikeCollisions);
RecordCyclingRoadResults(numFrames, gBikeCollisions);
}
-static void RecordCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) {
+static void RecordCyclingRoadResults(u32 numFrames, u8 numBikeCollisions)
+{
u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L);
u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H);
u32 framesRecord = low + (high << 16);
@@ -259,25 +239,23 @@ static void RecordCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) {
}
}
-u16 GetRecordedCyclingRoadResults(void) {
+u16 GetRecordedCyclingRoadResults(void)
+{
u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L);
u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H);
u32 framesRecord = low + (high << 16);
if (framesRecord == 0)
- {
return FALSE;
- }
DetermineCyclingRoadResults(framesRecord, VarGet(VAR_CYCLING_ROAD_RECORD_COLLISIONS));
return TRUE;
}
-void UpdateCyclingRoadState(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))
- {
return;
- }
if (VarGet(VAR_CYCLING_CHALLENGE_STATE) == 2 || VarGet(VAR_CYCLING_CHALLENGE_STATE) == 3)
{
@@ -301,9 +279,8 @@ void ResetSSTidalFlag(void)
bool32 CountSSTidalStep(u16 delta)
{
if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) < SS_TIDAL_MAX_STEPS)
- {
return FALSE;
- }
+
return TRUE;
}
@@ -312,51 +289,52 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
u16 *varCruiseStepCount = GetVarPointer(VAR_CRUISE_STEP_COUNT);
switch (*GetVarPointer(VAR_SS_TIDAL_STATE))
{
- case SS_TIDAL_BOARD_SLATEPORT:
- case SS_TIDAL_LAND_SLATEPORT:
- return SS_TIDAL_LOCATION_SLATEPORT;
- case SS_TIDAL_HALFWAY_LILYCOVE:
- case SS_TIDAL_EXIT_CURRENTS_RIGHT:
- return SS_TIDAL_LOCATION_ROUTE131;
- case SS_TIDAL_LAND_LILYCOVE:
- case SS_TIDAL_BOARD_LILYCOVE:
- return SS_TIDAL_LOCATION_LILYCOVE;
- case SS_TIDAL_DEPART_LILYCOVE:
- case SS_TIDAL_EXIT_CURRENTS_LEFT:
- return SS_TIDAL_LOCATION_ROUTE124;
- case SS_TIDAL_DEPART_SLATEPORT:
- if (*varCruiseStepCount < 60)
- {
- *mapNum = MAP_NUM(ROUTE134);
- *x = *varCruiseStepCount + 19;
- }
- else if (*varCruiseStepCount < 140)
- {
- *mapNum = MAP_NUM(ROUTE133);
- *x = *varCruiseStepCount - 60;
- }
- else
- {
- *mapNum = MAP_NUM(ROUTE132);
- *x = *varCruiseStepCount - 140;
- }
- break;
- case SS_TIDAL_HALFWAY_SLATEPORT:
- if (*varCruiseStepCount < 66)
- {
- *mapNum = MAP_NUM(ROUTE132);
- *x = 65 - *varCruiseStepCount;
- }
- else if (*varCruiseStepCount < 146) {
- *mapNum = MAP_NUM(ROUTE133);
- *x = 145 - *varCruiseStepCount;
- }
- else
- {
- *mapNum = MAP_NUM(ROUTE134);
- *x = 224 - *varCruiseStepCount;
- }
- break;
+ case SS_TIDAL_BOARD_SLATEPORT:
+ case SS_TIDAL_LAND_SLATEPORT:
+ return SS_TIDAL_LOCATION_SLATEPORT;
+ case SS_TIDAL_HALFWAY_LILYCOVE:
+ case SS_TIDAL_EXIT_CURRENTS_RIGHT:
+ return SS_TIDAL_LOCATION_ROUTE131;
+ case SS_TIDAL_LAND_LILYCOVE:
+ case SS_TIDAL_BOARD_LILYCOVE:
+ return SS_TIDAL_LOCATION_LILYCOVE;
+ case SS_TIDAL_DEPART_LILYCOVE:
+ case SS_TIDAL_EXIT_CURRENTS_LEFT:
+ return SS_TIDAL_LOCATION_ROUTE124;
+ case SS_TIDAL_DEPART_SLATEPORT:
+ if (*varCruiseStepCount < 60)
+ {
+ *mapNum = MAP_NUM(ROUTE134);
+ *x = *varCruiseStepCount + 19;
+ }
+ else if (*varCruiseStepCount < 140)
+ {
+ *mapNum = MAP_NUM(ROUTE133);
+ *x = *varCruiseStepCount - 60;
+ }
+ else
+ {
+ *mapNum = MAP_NUM(ROUTE132);
+ *x = *varCruiseStepCount - 140;
+ }
+ break;
+ case SS_TIDAL_HALFWAY_SLATEPORT:
+ if (*varCruiseStepCount < 66)
+ {
+ *mapNum = MAP_NUM(ROUTE132);
+ *x = 65 - *varCruiseStepCount;
+ }
+ else if (*varCruiseStepCount < 146)
+ {
+ *mapNum = MAP_NUM(ROUTE133);
+ *x = 145 - *varCruiseStepCount;
+ }
+ else
+ {
+ *mapNum = MAP_NUM(ROUTE134);
+ *x = 224 - *varCruiseStepCount;
+ }
+ break;
}
*mapGroup = MAP_GROUP(ROUTE132);
*y = 20;
@@ -369,17 +347,15 @@ bool32 ShouldDoWallyCall(void)
{
switch (gMapHeader.mapType)
{
- case MAP_TYPE_TOWN:
- case MAP_TYPE_CITY:
- case MAP_TYPE_ROUTE:
- case MAP_TYPE_OCEAN_ROUTE:
- if (++(*GetVarPointer(VAR_WALLY_CALL_STEP_COUNTER)) < 250)
- {
- return FALSE;
- }
- break;
- default:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
+ if (++(*GetVarPointer(VAR_WALLY_CALL_STEP_COUNTER)) < 250)
return FALSE;
+ break;
+ default:
+ return FALSE;
}
}
else
@@ -396,17 +372,15 @@ bool32 ShouldDoScottFortreeCall(void)
{
switch (gMapHeader.mapType)
{
- case MAP_TYPE_TOWN:
- case MAP_TYPE_CITY:
- case MAP_TYPE_ROUTE:
- case MAP_TYPE_OCEAN_ROUTE:
- if (++(*GetVarPointer(VAR_SCOTT_FORTREE_CALL_STEP_COUNTER)) < 10)
- {
- return FALSE;
- }
- break;
- default:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
+ if (++(*GetVarPointer(VAR_SCOTT_FORTREE_CALL_STEP_COUNTER)) < 10)
return FALSE;
+ break;
+ default:
+ return FALSE;
}
}
else
@@ -423,17 +397,15 @@ bool32 ShouldDoScottBattleFrontierCall(void)
{
switch (gMapHeader.mapType)
{
- case MAP_TYPE_TOWN:
- case MAP_TYPE_CITY:
- case MAP_TYPE_ROUTE:
- case MAP_TYPE_OCEAN_ROUTE:
- if (++(*GetVarPointer(VAR_SCOTT_BF_CALL_STEP_COUNTER)) < 10)
- {
- return FALSE;
- }
- break;
- default:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
+ if (++(*GetVarPointer(VAR_SCOTT_BF_CALL_STEP_COUNTER)) < 10)
return FALSE;
+ break;
+ default:
+ return FALSE;
}
}
else
@@ -450,17 +422,15 @@ bool32 ShouldDoRoxanneCall(void)
{
switch (gMapHeader.mapType)
{
- case MAP_TYPE_TOWN:
- case MAP_TYPE_CITY:
- case MAP_TYPE_ROUTE:
- case MAP_TYPE_OCEAN_ROUTE:
- if (++(*GetVarPointer(VAR_ROXANNE_CALL_STEP_COUNTER)) < 250)
- {
- return FALSE;
- }
- break;
- default:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
+ if (++(*GetVarPointer(VAR_ROXANNE_CALL_STEP_COUNTER)) < 250)
return FALSE;
+ break;
+ default:
+ return FALSE;
}
}
else
@@ -477,17 +447,15 @@ bool32 ShouldDoRivalRayquazaCall(void)
{
switch (gMapHeader.mapType)
{
- case MAP_TYPE_TOWN:
- case MAP_TYPE_CITY:
- case MAP_TYPE_ROUTE:
- case MAP_TYPE_OCEAN_ROUTE:
- if (++(*GetVarPointer(VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER)) < 250)
- {
- return FALSE;
- }
- break;
- default:
+ case MAP_TYPE_TOWN:
+ case MAP_TYPE_CITY:
+ case MAP_TYPE_ROUTE:
+ case MAP_TYPE_OCEAN_ROUTE:
+ if (++(*GetVarPointer(VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER)) < 250)
return FALSE;
+ break;
+ default:
+ return FALSE;
}
}
else
@@ -541,24 +509,24 @@ void SpawnLinkPartnerObjectEvent(void)
playerFacingDirection = GetPlayerFacingDirection();
switch (playerFacingDirection)
{
- case DIR_WEST:
- j = 2;
- x = gSaveBlock1Ptr->pos.x - 1;
- y = gSaveBlock1Ptr->pos.y;
- break;
- case DIR_NORTH:
- j = 1;
- x = gSaveBlock1Ptr->pos.x;
- y = gSaveBlock1Ptr->pos.y - 1;
- break;
- case DIR_EAST:
- x = gSaveBlock1Ptr->pos.x + 1;
- y = gSaveBlock1Ptr->pos.y;
- break;
- case DIR_SOUTH:
- j = 3;
- x = gSaveBlock1Ptr->pos.x;
- y = gSaveBlock1Ptr->pos.y + 1;
+ case DIR_WEST:
+ j = 2;
+ x = gSaveBlock1Ptr->pos.x - 1;
+ y = gSaveBlock1Ptr->pos.y;
+ break;
+ case DIR_NORTH:
+ j = 1;
+ x = gSaveBlock1Ptr->pos.x;
+ y = gSaveBlock1Ptr->pos.y - 1;
+ break;
+ case DIR_EAST:
+ x = gSaveBlock1Ptr->pos.x + 1;
+ y = gSaveBlock1Ptr->pos.y;
+ break;
+ case DIR_SOUTH:
+ j = 3;
+ x = gSaveBlock1Ptr->pos.x;
+ y = gSaveBlock1Ptr->pos.y + 1;
}
for (i = 0; i < gSpecialVar_0x8004; i++)
{
@@ -566,33 +534,31 @@ void SpawnLinkPartnerObjectEvent(void)
{
switch ((u8)gLinkPlayers[i].version)
{
- case VERSION_RUBY:
- case VERSION_SAPPHIRE:
- if (gLinkPlayers[i].gender == 0)
- linkSpriteId = OBJ_EVENT_GFX_LINK_RS_BRENDAN;
- else
- linkSpriteId = OBJ_EVENT_GFX_LINK_RS_MAY;
- break;
- case VERSION_EMERALD:
- if (gLinkPlayers[i].gender == 0)
- linkSpriteId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL;
- else
- linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL;
- break;
- default:
- if (gLinkPlayers[i].gender == 0)
- linkSpriteId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL;
- else
- linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL;
- break;
+ case VERSION_RUBY:
+ case VERSION_SAPPHIRE:
+ if (gLinkPlayers[i].gender == 0)
+ linkSpriteId = OBJ_EVENT_GFX_LINK_RS_BRENDAN;
+ else
+ linkSpriteId = OBJ_EVENT_GFX_LINK_RS_MAY;
+ break;
+ case VERSION_EMERALD:
+ if (gLinkPlayers[i].gender == 0)
+ linkSpriteId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL;
+ else
+ linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL;
+ break;
+ default:
+ if (gLinkPlayers[i].gender == 0)
+ linkSpriteId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL;
+ else
+ 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);
j++;
if (j == MAX_LINK_PLAYERS)
- {
j = 0;
- }
}
}
}
@@ -665,84 +631,84 @@ void MauvilleGymSetDefaultBarriers(void)
{
switch (MapGridGetMetatileIdAt(x, y))
{
- case METATILE_MauvilleGym_GreenBeamH1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH1_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH2_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH3_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH3_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH4_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH4_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH1_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH1_On);
- break;
- case METATILE_MauvilleGym_GreenBeamH2_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH2_On);
- break;
- case METATILE_MauvilleGym_GreenBeamH3_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH3_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_GreenBeamH4_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH4_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_RedBeamH1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH1_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH2_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH3_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH3_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH4_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH4_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH1_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH1_On);
- break;
- case METATILE_MauvilleGym_RedBeamH2_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH2_On);
- break;
- case METATILE_MauvilleGym_RedBeamH3_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH3_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_RedBeamH4_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH4_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_GreenBeamV1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_GreenBeamV2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_FloorTile);
- break;
- case METATILE_MauvilleGym_RedBeamV1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_Off | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_RedBeamV2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_FloorTile);
- break;
- case METATILE_MauvilleGym_PoleBottom_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamV1_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_FloorTile:
- if (MapGridGetMetatileIdAt(x, y - 1) == METATILE_MauvilleGym_GreenBeamV1_On)
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamV2_On | METATILE_COLLISION_MASK);
- else
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamV2_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_PoleBottom_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamV1_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_PoleTop_Off:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleTop_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_PoleTop_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleTop_Off);
- break;
+ case METATILE_MauvilleGym_GreenBeamH1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH1_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH2_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH3_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH3_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH4_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH4_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH1_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH1_On);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH2_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH2_On);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH3_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH3_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH4_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH4_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_RedBeamH1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH1_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH2_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH3_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH3_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH4_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH4_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH1_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH1_On);
+ break;
+ case METATILE_MauvilleGym_RedBeamH2_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH2_On);
+ break;
+ case METATILE_MauvilleGym_RedBeamH3_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH3_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_RedBeamH4_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH4_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_GreenBeamV1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_GreenBeamV2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_FloorTile);
+ break;
+ case METATILE_MauvilleGym_RedBeamV1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_Off | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_RedBeamV2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_FloorTile);
+ break;
+ case METATILE_MauvilleGym_PoleBottom_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamV1_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_FloorTile:
+ if (MapGridGetMetatileIdAt(x, y - 1) == METATILE_MauvilleGym_GreenBeamV1_On)
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamV2_On | MAPGRID_COLLISION_MASK);
+ else
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamV2_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_PoleBottom_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamV1_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_PoleTop_Off:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleTop_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_PoleTop_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleTop_Off);
+ break;
}
}
}
@@ -764,43 +730,43 @@ void MauvilleGymDeactivatePuzzle(void)
{
switch (MapGridGetMetatileIdAt(x, y))
{
- case METATILE_MauvilleGym_GreenBeamH1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH1_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH2_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH3_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH3_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamH4_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH4_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH1_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH2_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH3_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH3_Off);
- break;
- case METATILE_MauvilleGym_RedBeamH4_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH4_Off);
- break;
- case METATILE_MauvilleGym_GreenBeamV1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_On | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_RedBeamV1_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_Off | METATILE_COLLISION_MASK);
- break;
- case METATILE_MauvilleGym_GreenBeamV2_On:
- case METATILE_MauvilleGym_RedBeamV2_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_FloorTile);
- break;
- case METATILE_MauvilleGym_PoleTop_On:
- MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleTop_Off);
- break;
+ case METATILE_MauvilleGym_GreenBeamH1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH1_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH2_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH3_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH3_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamH4_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_GreenBeamH4_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH1_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH2_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH3_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH3_Off);
+ break;
+ case METATILE_MauvilleGym_RedBeamH4_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_RedBeamH4_Off);
+ break;
+ case METATILE_MauvilleGym_GreenBeamV1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_On | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_RedBeamV1_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleBottom_Off | MAPGRID_COLLISION_MASK);
+ break;
+ case METATILE_MauvilleGym_GreenBeamV2_On:
+ case METATILE_MauvilleGym_RedBeamV2_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_FloorTile);
+ break;
+ case METATILE_MauvilleGym_PoleTop_On:
+ MapGridSetMetatileIdAt(x, y, METATILE_MauvilleGym_PoleTop_Off);
+ break;
}
}
}
@@ -850,59 +816,59 @@ static void PetalburgGymSetDoorMetatiles(u8 roomNumber, u16 metatileId)
u8 nDoors = 0;
switch (roomNumber)
{
- case 1:
- nDoors = 2;
- doorCoordsX[0] = 1;
- doorCoordsX[1] = 7;
- doorCoordsY[0] = 104;
- doorCoordsY[1] = 104;
- break;
- case 2:
- nDoors = 2;
- doorCoordsX[0] = 1;
- doorCoordsX[1] = 7;
- doorCoordsY[0] = 78;
- doorCoordsY[1] = 78;
- break;
- case 3:
- nDoors = 2;
- doorCoordsX[0] = 1;
- doorCoordsX[1] = 7;
- doorCoordsY[0] = 91;
- doorCoordsY[1] = 91;
- break;
- case 4:
- nDoors = 1;
- doorCoordsX[0] = 7;
- doorCoordsY[0] = 39;
- break;
- case 5:
- nDoors = 2;
- doorCoordsX[0] = 1;
- doorCoordsX[1] = 7;
- doorCoordsY[0] = 52;
- doorCoordsY[1] = 52;
- break;
- case 6:
- nDoors = 1;
- doorCoordsX[0] = 1;
- doorCoordsY[0] = 65;
- break;
- case 7:
- nDoors = 1;
- doorCoordsX[0] = 7;
- doorCoordsY[0] = 13;
- break;
- case 8:
- nDoors = 1;
- doorCoordsX[0] = 1;
- doorCoordsY[0] = 26;
- break;
+ case 1:
+ nDoors = 2;
+ doorCoordsX[0] = 1;
+ doorCoordsX[1] = 7;
+ doorCoordsY[0] = 104;
+ doorCoordsY[1] = 104;
+ break;
+ case 2:
+ nDoors = 2;
+ doorCoordsX[0] = 1;
+ doorCoordsX[1] = 7;
+ doorCoordsY[0] = 78;
+ doorCoordsY[1] = 78;
+ break;
+ case 3:
+ nDoors = 2;
+ doorCoordsX[0] = 1;
+ doorCoordsX[1] = 7;
+ doorCoordsY[0] = 91;
+ doorCoordsY[1] = 91;
+ break;
+ case 4:
+ nDoors = 1;
+ doorCoordsX[0] = 7;
+ doorCoordsY[0] = 39;
+ break;
+ case 5:
+ nDoors = 2;
+ doorCoordsX[0] = 1;
+ doorCoordsX[1] = 7;
+ doorCoordsY[0] = 52;
+ doorCoordsY[1] = 52;
+ break;
+ case 6:
+ nDoors = 1;
+ doorCoordsX[0] = 1;
+ doorCoordsY[0] = 65;
+ break;
+ case 7:
+ nDoors = 1;
+ doorCoordsX[0] = 7;
+ doorCoordsY[0] = 13;
+ break;
+ case 8:
+ nDoors = 1;
+ doorCoordsX[0] = 1;
+ doorCoordsY[0] = 26;
+ break;
}
for (i = 0; i < nDoors; i++)
{
- MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET, metatileId | METATILE_COLLISION_MASK);
- MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET + 1, (metatileId + 8) | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET, metatileId | MAPGRID_COLLISION_MASK);
+ MapGridSetMetatileIdAt(doorCoordsX[i] + MAP_OFFSET, doorCoordsY[i] + MAP_OFFSET + 1, (metatileId + 8) | MAPGRID_COLLISION_MASK);
}
DrawWholeMapView();
}
@@ -931,25 +897,17 @@ u8 GetPlayerTrainerIdOnesDigit(void)
void GetPlayerBigGuyGirlString(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
- {
StringCopy(gStringVar1, gText_BigGuy);
- }
else
- {
StringCopy(gStringVar1, gText_BigGirl);
- }
}
void GetRivalSonDaughterString(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
- {
StringCopy(gStringVar1, gText_Daughter);
- }
else
- {
StringCopy(gStringVar1, gText_Son);
- }
}
u8 GetBattleOutcome(void)
@@ -960,13 +918,9 @@ u8 GetBattleOutcome(void)
void CableCarWarp(void)
{
if (gSpecialVar_0x8004 != 0)
- {
- SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), -1, 6, 4);
- }
+ SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(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), -1, 6, 4);
- }
+ SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4);
}
void SetHiddenItemFlag(void)
@@ -978,9 +932,8 @@ u16 GetWeekCount(void)
{
u16 weekCount = gLocalTime.days / 7;
if (weekCount > 9999)
- {
weekCount = 9999;
- }
+
return weekCount;
}
@@ -988,29 +941,18 @@ u8 GetLeadMonFriendshipScore(void)
{
struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()];
if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == MAX_FRIENDSHIP)
- {
return 6;
- }
if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 200)
- {
return 5;
- }
if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 150)
- {
return 4;
- }
if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 100)
- {
return 3;
- }
if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 50)
- {
return 2;
- }
if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 1)
- {
return 1;
- }
+
return 0;
}
@@ -1041,9 +983,7 @@ static void Task_PCTurnOnEffect(u8 taskId)
{
struct Task *task = &gTasks[taskId];
if (task->data[0] == 0)
- {
PCTurnOnEffect_0(task);
- }
}
static void PCTurnOnEffect_0(struct Task *task)
@@ -1057,26 +997,24 @@ static void PCTurnOnEffect_0(struct Task *task)
playerDirection = GetPlayerFacingDirection();
switch (playerDirection)
{
- case DIR_NORTH:
- dx = 0;
- dy = -1;
- break;
- case DIR_WEST:
- dx = -1;
- dy = -1;
- break;
- case DIR_EAST:
- dx = 1;
- dy = -1;
- break;
+ case DIR_NORTH:
+ dx = 0;
+ dy = -1;
+ break;
+ case DIR_WEST:
+ dx = -1;
+ dy = -1;
+ break;
+ case DIR_EAST:
+ dx = 1;
+ dy = -1;
+ break;
}
PCTurnOnEffect_1(task->data[4], dx, dy);
DrawWholeMapView();
task->data[4] ^= 1;
if ((++task->data[2]) == 5)
- {
DestroyTask(task->data[1]);
- }
}
task->data[3]++;
}
@@ -1087,34 +1025,22 @@ static void PCTurnOnEffect_1(s16 isPcTurnedOn, s8 dx, s8 dy)
if (isPcTurnedOn)
{
if (gSpecialVar_0x8004 == PC_LOCATION_OTHER)
- {
tileId = METATILE_Building_PC_Off;
- }
else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE)
- {
tileId = METATILE_BrendansMaysHouse_BrendanPC_Off;
- }
else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE)
- {
tileId = METATILE_BrendansMaysHouse_MayPC_Off;
- }
}
else
{
if (gSpecialVar_0x8004 == PC_LOCATION_OTHER)
- {
tileId = METATILE_Building_PC_On;
- }
else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE)
- {
tileId = METATILE_BrendansMaysHouse_BrendanPC_On;
- }
else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE)
- {
tileId = METATILE_BrendansMaysHouse_MayPC_On;
- }
}
- MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | MAPGRID_COLLISION_MASK);
}
void DoPCTurnOffEffect(void)
@@ -1130,32 +1056,26 @@ static void PCTurnOffEffect(void)
u8 playerDirection = GetPlayerFacingDirection();
switch (playerDirection)
{
- case DIR_NORTH:
- dx = 0;
- dy = -1;
- break;
- case DIR_WEST:
- dx = -1;
- dy = -1;
- break;
- case DIR_EAST:
- dx = 1;
- dy = -1;
- break;
+ case DIR_NORTH:
+ dx = 0;
+ dy = -1;
+ break;
+ case DIR_WEST:
+ dx = -1;
+ dy = -1;
+ break;
+ case DIR_EAST:
+ dx = 1;
+ dy = -1;
+ break;
}
- if (gSpecialVar_0x8004 == 0)
- {
+ if (gSpecialVar_0x8004 == PC_LOCATION_OTHER)
tileId = METATILE_Building_PC_Off;
- }
- else if (gSpecialVar_0x8004 == 1)
- {
+ else if (gSpecialVar_0x8004 == PC_LOCATION_BRENDANS_HOUSE)
tileId = METATILE_BrendansMaysHouse_BrendanPC_Off;
- }
- else if (gSpecialVar_0x8004 == 2)
- {
+ else if (gSpecialVar_0x8004 == PC_LOCATION_MAYS_HOUSE)
tileId = METATILE_BrendansMaysHouse_MayPC_Off;
- }
- MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + MAP_OFFSET, gSaveBlock1Ptr->pos.y + dy + MAP_OFFSET, tileId | MAPGRID_COLLISION_MASK);
DrawWholeMapView();
}
@@ -1176,9 +1096,7 @@ static void Task_LotteryCornerComputerEffect(u8 taskId)
{
struct Task *task = &gTasks[taskId];
if (task->data[0] == 0)
- {
LotteryCornerComputerEffect(task);
- }
}
static void LotteryCornerComputerEffect(struct Task *task)
@@ -1188,28 +1106,26 @@ static void LotteryCornerComputerEffect(struct Task *task)
task->data[3] = 0;
if (task->data[4] != 0)
{
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Shop_Laptop1_Normal | METATILE_COLLISION_MASK);
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Shop_Laptop2_Normal | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Shop_Laptop1_Normal | MAPGRID_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Shop_Laptop2_Normal | MAPGRID_COLLISION_MASK);
}
else
{
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Shop_Laptop1_Flash | METATILE_COLLISION_MASK);
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Shop_Laptop2_Flash | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Shop_Laptop1_Flash | MAPGRID_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Shop_Laptop2_Flash | MAPGRID_COLLISION_MASK);
}
DrawWholeMapView();
task->data[4] ^= 1;
if ((++task->data[2]) == 5)
- {
DestroyTask(task->data[1]);
- }
}
task->data[3]++;
}
void EndLotteryCornerComputerEffect(void)
{
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Shop_Laptop1_Normal | METATILE_COLLISION_MASK);
- MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Shop_Laptop2_Normal | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 1 + MAP_OFFSET, METATILE_Shop_Laptop1_Normal | MAPGRID_COLLISION_MASK);
+ MapGridSetMetatileIdAt(11 + MAP_OFFSET, 2 + MAP_OFFSET, METATILE_Shop_Laptop2_Normal | MAPGRID_COLLISION_MASK);
DrawWholeMapView();
}
@@ -1232,45 +1148,40 @@ void ResetTrickHouseNuggetFlag(void)
bool8 CheckLeadMonCool(void)
{
if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_COOL) < 200)
- {
return FALSE;
- }
+
return TRUE;
}
bool8 CheckLeadMonBeauty(void)
{
if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_BEAUTY) < 200)
- {
return FALSE;
- }
+
return TRUE;
}
bool8 CheckLeadMonCute(void)
{
if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_CUTE) < 200)
- {
return FALSE;
- }
+
return TRUE;
}
bool8 CheckLeadMonSmart(void)
{
if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SMART) < 200)
- {
return FALSE;
- }
+
return TRUE;
}
bool8 CheckLeadMonTough(void)
{
if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_TOUGH) < 200)
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1335,15 +1246,40 @@ void BufferEReaderTrainerName(void)
u16 GetSlotMachineId(void)
{
- static const u8 sSlotMachineRandomSeeds[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
- static const u8 sSlotMachineIds[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5};
- static const u8 sSlotMachineServiceDayIds[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5};
+ static const u8 sSlotMachineRandomSeeds[SLOT_MACHINE_COUNT] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
+ static const u8 sSlotMachineIds[SLOT_MACHINE_COUNT] = {
+ SLOT_MACHINE_UNLUCKIEST,
+ SLOT_MACHINE_UNLUCKIER,
+ SLOT_MACHINE_UNLUCKIER,
+ SLOT_MACHINE_UNLUCKY,
+ SLOT_MACHINE_UNLUCKY,
+ SLOT_MACHINE_UNLUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKIER,
+ SLOT_MACHINE_LUCKIER,
+ SLOT_MACHINE_LUCKIEST
+ };
+ static const u8 sSlotMachineServiceDayIds[SLOT_MACHINE_COUNT] = {
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKY,
+ SLOT_MACHINE_LUCKIER,
+ SLOT_MACHINE_LUCKIER,
+ SLOT_MACHINE_LUCKIER,
+ SLOT_MACHINE_LUCKIER,
+ SLOT_MACHINE_LUCKIEST,
+ SLOT_MACHINE_LUCKIEST
+ };
u32 rnd = gSaveBlock1Ptr->dewfordTrends[0].trendiness + gSaveBlock1Ptr->dewfordTrends[0].rand + sSlotMachineRandomSeeds[gSpecialVar_0x8004];
- if (GetPriceReduction(POKENEWS_GAME_CORNER))
- {
+ if (IsPokeNewsActive(POKENEWS_GAME_CORNER))
return sSlotMachineServiceDayIds[rnd % SLOT_MACHINE_COUNT];
- }
+
return sSlotMachineIds[rnd % SLOT_MACHINE_COUNT];
}
@@ -1353,9 +1289,8 @@ bool8 FoundAbandonedShipRoom1Key(void)
u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY;
*specVar = flag;
if (!FlagGet(flag))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1365,9 +1300,8 @@ bool8 FoundAbandonedShipRoom2Key(void)
u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY;
*specVar = flag;
if (!FlagGet(flag))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1377,9 +1311,8 @@ bool8 FoundAbandonedShipRoom4Key(void)
u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY;
*specVar = flag;
if (!FlagGet(flag))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1389,9 +1322,8 @@ bool8 FoundAbandonedShipRoom6Key(void)
u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY;
*specVar = flag;
if (!FlagGet(flag))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1410,17 +1342,14 @@ void GiveLeadMonEffortRibbon(void)
leadMon = &gPlayerParty[GetLeadMonIndex()];
SetMonData(leadMon, MON_DATA_EFFORT_RIBBON, &ribbonSet);
if (GetRibbonCount(leadMon) > NUM_CUTIES_RIBBONS)
- {
TryPutSpotTheCutiesOnAir(leadMon, MON_DATA_EFFORT_RIBBON);
- }
}
bool8 Special_AreLeadMonEVsMaxedOut(void)
{
if (GetMonEVCount(&gPlayerParty[GetLeadMonIndex()]) >= MAX_TOTAL_EVS)
- {
return TRUE;
- }
+
return FALSE;
}
@@ -1471,9 +1400,7 @@ bool8 IsStarterInParty(void)
for (i = 0; i < partyCount; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == starter)
- {
return TRUE;
- }
}
return FALSE;
}
@@ -1486,9 +1413,8 @@ bool8 ScriptCheckFreePokemonStorageSpace(void)
bool8 IsPokerusInParty(void)
{
if (!CheckPartyPokerus(gPlayerParty, 0x3f))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -1550,17 +1476,13 @@ bool8 FoundBlackGlasses(void)
void SetRoute119Weather(void)
{
if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE)
- {
- SetSav1Weather(WEATHER_ROUTE119_CYCLE);
- }
+ SetSavedWeather(WEATHER_ROUTE119_CYCLE);
}
void SetRoute123Weather(void)
{
if (IsMapTypeOutdoors(GetLastUsedWarpMapType()) != TRUE)
- {
- SetSav1Weather(WEATHER_ROUTE123_CYCLE);
- }
+ SetSavedWeather(WEATHER_ROUTE123_CYCLE);
}
u8 GetLeadMonIndex(void)
@@ -1570,9 +1492,7 @@ u8 GetLeadMonIndex(void)
for (i = 0; i < partyCount; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != 0)
- {
return i;
- }
}
return 0;
}
@@ -1592,13 +1512,10 @@ u16 GetDaysUntilPacifidlogTMAvailable(void)
{
u16 tmReceivedDay = VarGet(VAR_PACIFIDLOG_TM_RECEIVED_DAY);
if (gLocalTime.days - tmReceivedDay >= 7)
- {
return 0;
- }
else if (gLocalTime.days < 0)
- {
return 8;
- }
+
return 7 - (gLocalTime.days - tmReceivedDay);
}
@@ -1659,18 +1576,18 @@ u16 GetMysteryGiftCardStat(void)
{
switch (gSpecialVar_Result)
{
- case GET_NUM_STAMPS:
- return MysteryGift_GetCardStat(CARD_STAT_NUM_STAMPS);
- case GET_MAX_STAMPS:
- return MysteryGift_GetCardStat(CARD_STAT_MAX_STAMPS);
- case GET_CARD_BATTLES_WON:
- return MysteryGift_GetCardStat(CARD_STAT_BATTLES_WON);
- case GET_CARD_BATTLES_LOST: // Never occurs
- return MysteryGift_GetCardStat(CARD_STAT_BATTLES_LOST);
- case GET_CARD_NUM_TRADES: // Never occurs
- return MysteryGift_GetCardStat(CARD_STAT_NUM_TRADES);
- default:
- return 0;
+ case GET_NUM_STAMPS:
+ return MysteryGift_GetCardStat(CARD_STAT_NUM_STAMPS);
+ case GET_MAX_STAMPS:
+ return MysteryGift_GetCardStat(CARD_STAT_MAX_STAMPS);
+ case GET_CARD_BATTLES_WON:
+ return MysteryGift_GetCardStat(CARD_STAT_BATTLES_WON);
+ case GET_CARD_BATTLES_LOST: // Never occurs
+ return MysteryGift_GetCardStat(CARD_STAT_BATTLES_LOST);
+ case GET_CARD_NUM_TRADES: // Never occurs
+ return MysteryGift_GetCardStat(CARD_STAT_NUM_TRADES);
+ default:
+ return 0;
}
}
@@ -1788,27 +1705,27 @@ void SetDeptStoreFloor(void)
u8 deptStoreFloor;
switch (gSaveBlock1Ptr->dynamicWarp.mapNum)
{
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
- deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
- deptStoreFloor = DEPT_STORE_FLOORNUM_2F;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
- deptStoreFloor = DEPT_STORE_FLOORNUM_3F;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
- deptStoreFloor = DEPT_STORE_FLOORNUM_4F;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
- deptStoreFloor = DEPT_STORE_FLOORNUM_5F;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP):
- deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP;
- break;
- default:
- deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
- break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
+ deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
+ deptStoreFloor = DEPT_STORE_FLOORNUM_2F;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
+ deptStoreFloor = DEPT_STORE_FLOORNUM_3F;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
+ deptStoreFloor = DEPT_STORE_FLOORNUM_4F;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
+ deptStoreFloor = DEPT_STORE_FLOORNUM_5F;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP):
+ deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP;
+ break;
+ default:
+ deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
+ break;
}
VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor);
}
@@ -1822,26 +1739,26 @@ u16 GetDeptStoreDefaultFloorChoice(void)
{
switch (gSaveBlock1Ptr->dynamicWarp.mapNum)
{
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
- sLilycoveDeptStore_NeverRead = 0;
- sLilycoveDeptStore_DefaultFloorChoice = 0;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
- sLilycoveDeptStore_NeverRead = 0;
- sLilycoveDeptStore_DefaultFloorChoice = 1;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
- sLilycoveDeptStore_NeverRead = 0;
- sLilycoveDeptStore_DefaultFloorChoice = 2;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
- sLilycoveDeptStore_NeverRead = 0;
- sLilycoveDeptStore_DefaultFloorChoice = 3;
- break;
- case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
- sLilycoveDeptStore_NeverRead = 0;
- sLilycoveDeptStore_DefaultFloorChoice = 4;
- break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 0;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 1;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 2;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 3;
+ break;
+ case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
+ sLilycoveDeptStore_NeverRead = 0;
+ sLilycoveDeptStore_DefaultFloorChoice = 4;
+ break;
}
}
@@ -1953,22 +1870,24 @@ static void Task_MoveElevatorWindowLights(u8 taskId)
if (data[2] == FALSE)
{
for (y = 0; y < 3; y++)
+ {
for (x = 0; x < 3; x++)
- MapGridSetMetatileIdAt(x + MAP_OFFSET + 1, y + MAP_OFFSET, sElevatorWindowTiles_Ascending[y][data[0] % 3] | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x + MAP_OFFSET + 1, y + MAP_OFFSET, sElevatorWindowTiles_Ascending[y][data[0] % 3] | MAPGRID_COLLISION_MASK);
+ }
}
// descending
else
{
for (y = 0; y < 3; y++)
+ {
for (x = 0; x < 3; x++)
- MapGridSetMetatileIdAt(x + MAP_OFFSET + 1, y + MAP_OFFSET, sElevatorWindowTiles_Descending[y][data[0] % 3] | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x + MAP_OFFSET + 1, y + MAP_OFFSET, sElevatorWindowTiles_Descending[y][data[0] % 3] | MAPGRID_COLLISION_MASK);
+ }
}
DrawWholeMapView();
data[1] = 0;
if (data[0] == data[3])
- {
DestroyTask(taskId);
- }
}
data[1]++;
}
@@ -1988,9 +1907,7 @@ void BufferVarsForIVRater(void)
gSpecialVar_0x8005 = 0;
for (i = 0; i < NUM_STATS; i++)
- {
gSpecialVar_0x8005 += ivStorage[i];
- }
gSpecialVar_0x8006 = 0;
gSpecialVar_0x8007 = ivStorage[STAT_HP];
@@ -2054,9 +1971,8 @@ bool8 UsedPokemonCenterWarp(void)
bool32 PlayerNotAtTrainerHillEntrance(void)
{
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE))
- {
return FALSE;
- }
+
return TRUE;
}
@@ -2153,86 +2069,58 @@ void ShowFrontierManiacMessage(void)
switch (facility)
{
- case FRONTIER_MANIAC_TOWER_SINGLES:
- case FRONTIER_MANIAC_TOWER_DOUBLES:
- case FRONTIER_MANIAC_TOWER_MULTIS:
- case FRONTIER_MANIAC_TOWER_LINK:
- if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN];
- }
- break;
- case FRONTIER_MANIAC_DOME:
- if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
- }
- break;
- case FRONTIER_MANIAC_FACTORY:
- if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
- }
- break;
- case FRONTIER_MANIAC_PALACE:
- if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
- }
- break;
- case FRONTIER_MANIAC_ARENA:
- if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN];
- }
- break;
- case FRONTIER_MANIAC_PIKE:
- if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN];
- }
- break;
- case FRONTIER_MANIAC_PYRAMID:
- if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
- >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN])
- {
- winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
- }
- else
- {
- winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
- }
- break;
+ case FRONTIER_MANIAC_TOWER_SINGLES:
+ case FRONTIER_MANIAC_TOWER_DOUBLES:
+ case FRONTIER_MANIAC_TOWER_MULTIS:
+ case FRONTIER_MANIAC_TOWER_LINK:
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN];
+ break;
+ case FRONTIER_MANIAC_DOME:
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
+ break;
+ case FRONTIER_MANIAC_FACTORY:
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
+ break;
+ case FRONTIER_MANIAC_PALACE:
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN];
+ break;
+ case FRONTIER_MANIAC_ARENA:
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN];
+ break;
+ case FRONTIER_MANIAC_PIKE:
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN];
+ break;
+ case FRONTIER_MANIAC_PYRAMID:
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
+ >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN])
+ winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
+ else
+ winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
+ break;
}
for (i = 0; i < FRONTIER_MANIAC_MESSAGE_COUNT - 1 && sFrontierManiacStreakThresholds[facility][i] < winStreak; i++);
@@ -2297,131 +2185,131 @@ void ShowScrollableMultichoice(void)
switch (gSpecialVar_0x8004)
{
- case SCROLL_MULTI_NONE:
- task->tMaxItemsOnScreen = 1;
- task->tNumItems = 1;
- task->tLeft = 1;
- task->tTop = 1;
- task->tWidth = 1;
- task->tHeight = 1;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN - 1;
- task->tNumItems = 8;
- task->tLeft = 1;
- task->tTop = 1;
- task->tWidth = 9;
- task->tHeight = 10;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 12;
- task->tLeft = 1;
- task->tTop = 1;
- task->tWidth = 7;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 11;
- task->tLeft = 14;
- task->tTop = 1;
- task->tWidth = 15;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 6;
- task->tLeft = 14;
- task->tTop = 1;
- task->tWidth = 15;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 7;
- task->tLeft = 14;
- task->tTop = 1;
- task->tWidth = 15;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 10;
- task->tLeft = 14;
- task->tTop = 1;
- task->tWidth = 15;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BERRY_POWDER_VENDOR:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 12;
- task->tLeft = 15;
- task->tTop = 1;
- task->tWidth = 14;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BF_RECEPTIONIST:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 10;
- task->tLeft = 17;
- task->tTop = 1;
- task->tWidth = 11;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BF_MOVE_TUTOR_1:
- case SCROLL_MULTI_BF_MOVE_TUTOR_2:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 11;
- task->tLeft = 15;
- task->tTop = 1;
- task->tWidth = 14;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_SS_TIDAL_DESTINATION:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 7;
- task->tLeft = 19;
- task->tTop = 1;
- task->tWidth = 10;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- case SCROLL_MULTI_BATTLE_TENT_RULES:
- task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
- task->tNumItems = 7;
- task->tLeft = 17;
- task->tTop = 1;
- task->tWidth = 12;
- task->tHeight = 12;
- task->tKeepOpenAfterSelect = FALSE;
- task->tTaskId = taskId;
- break;
- default:
- gSpecialVar_Result = MULTI_B_PRESSED;
- DestroyTask(taskId);
- break;
+ case SCROLL_MULTI_NONE:
+ task->tMaxItemsOnScreen = 1;
+ task->tNumItems = 1;
+ task->tLeft = 1;
+ task->tTop = 1;
+ task->tWidth = 1;
+ task->tHeight = 1;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_GLASS_WORKSHOP_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN - 1;
+ task->tNumItems = 8;
+ task->tLeft = 1;
+ task->tTop = 1;
+ task->tWidth = 9;
+ task->tHeight = 10;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_POKEMON_FAN_CLUB_RATER:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 12;
+ task->tLeft = 1;
+ task->tTop = 1;
+ task->tWidth = 7;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 11;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 6;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 7;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 10;
+ task->tLeft = 14;
+ task->tTop = 1;
+ task->tWidth = 15;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BERRY_POWDER_VENDOR:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 12;
+ task->tLeft = 15;
+ task->tTop = 1;
+ task->tWidth = 14;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BF_RECEPTIONIST:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 10;
+ task->tLeft = 17;
+ task->tTop = 1;
+ task->tWidth = 11;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BF_MOVE_TUTOR_1:
+ case SCROLL_MULTI_BF_MOVE_TUTOR_2:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 11;
+ task->tLeft = 15;
+ task->tTop = 1;
+ task->tWidth = 14;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_SS_TIDAL_DESTINATION:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 7;
+ task->tLeft = 19;
+ task->tTop = 1;
+ task->tWidth = 10;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ case SCROLL_MULTI_BATTLE_TENT_RULES:
+ task->tMaxItemsOnScreen = MAX_SCROLL_MULTI_ON_SCREEN;
+ task->tNumItems = 7;
+ task->tLeft = 17;
+ task->tTop = 1;
+ task->tWidth = 12;
+ task->tHeight = 12;
+ task->tKeepOpenAfterSelect = FALSE;
+ task->tTaskId = taskId;
+ break;
+ default:
+ gSpecialVar_Result = MULTI_B_PRESSED;
+ DestroyTask(taskId);
+ break;
}
}
@@ -2611,13 +2499,9 @@ static void Task_ShowScrollableMultichoice(u8 taskId)
{
int adjustedLeft = MAX_MULTICHOICE_WIDTH + 1 - task->tWidth;
if (adjustedLeft < 0)
- {
task->tLeft = 0;
- }
else
- {
task->tLeft = adjustedLeft;
- }
}
template = CreateWindowTemplate(0, task->tLeft, task->tTop, task->tWidth, task->tHeight, 0xF, 0x64);
@@ -2697,13 +2581,14 @@ static void ScrollableMultichoice_ProcessInput(u8 taskId)
{
CloseScrollableMultichoice(taskId);
}
- // if selected option was the last one (Exit)
else if (input == task->tNumItems - 1)
{
+ // Selected option was the last one (Exit)
CloseScrollableMultichoice(taskId);
}
- else // Handle selection while keeping the menu open
+ else
{
+ // Handle selection while keeping the menu open
ScrollableMultichoice_RemoveScrollArrows(taskId);
task->func = Task_ScrollableMultichoice_WaitReturnToList;
EnableBothScriptContexts();
@@ -2812,13 +2697,9 @@ void SetBattleTowerLinkPlayerGfx(void)
for (i = 0; i < 2; i++)
{
if (gLinkPlayers[i].gender == MALE)
- {
VarSet(VAR_OBJ_GFX_ID_F - i, OBJ_EVENT_GFX_BRENDAN_NORMAL);
- }
else
- {
VarSet(VAR_OBJ_GFX_ID_F - i, OBJ_EVENT_GFX_RIVAL_MAY_NORMAL);
- }
}
}
@@ -2855,9 +2736,7 @@ void ShowNatureGirlMessage(void)
u8 nature;
if (gSpecialVar_0x8004 >= PARTY_SIZE)
- {
gSpecialVar_0x8004 = 0;
- }
nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]);
ShowFieldMessage(sNatureGirlMessages[nature]);
@@ -2941,13 +2820,9 @@ void FrontierGamblerSetWonOrLost(bool8 won)
if (sFrontierChallenges[challenge] == FRONTIER_CHALLENGE(frontierFacilityId, battleMode))
{
if (won)
- {
VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_WON);
- }
else
- {
VarSet(VAR_FRONTIER_GAMBLER_STATE, FRONTIER_GAMBLER_LOST);
- }
}
}
}
@@ -2963,7 +2838,8 @@ void UpdateBattlePointsWindow(void)
void ShowBattlePointsWindow(void)
{
- static const struct WindowTemplate sBattlePoints_WindowTemplate = {
+ static const struct WindowTemplate sBattlePoints_WindowTemplate =
+ {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
@@ -3008,7 +2884,8 @@ u16 GetFrontierBattlePoints(void)
void ShowFrontierExchangeCornerItemIconWindow(void)
{
- static const struct WindowTemplate sFrontierExchangeCorner_ItemIconWindowTemplate = {
+ static const struct WindowTemplate sFrontierExchangeCorner_ItemIconWindowTemplate =
+ {
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 9,
@@ -3029,6 +2906,8 @@ void CloseFrontierExchangeCornerItemIconWindow(void)
RemoveWindow(sFrontierExchangeCorner_ItemIconWindowId);
}
+#define TAG_ITEM_ICON 5500
+
static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection)
{
#include "data/battle_frontier/battle_frontier_exchange_corner.h"
@@ -3038,49 +2917,49 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection)
FillWindowPixelRect(0, PIXEL_FILL(1), 0, 0, 216, 32);
switch (menu)
{
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
- AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
- if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF)
- {
- ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]);
- }
- else
- {
- FreeSpriteTilesByTag(5500);
- FreeSpritePaletteByTag(5500);
- sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, 5500, 5500);
- }
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
- AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
- if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF)
- {
- ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]);
- }
- else
- {
- FreeSpriteTilesByTag(5500);
- FreeSpritePaletteByTag(5500);
- sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, 5500, 5500);
- }
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
- AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
- ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]);
- break;
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
- AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
- ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]);
- break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
+ AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, 2, 1, 3);
+ if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF)
+ {
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]);
+ }
+ else
+ {
+ FreeSpriteTilesByTag(TAG_ITEM_ICON);
+ FreeSpritePaletteByTag(TAG_ITEM_ICON);
+ sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor1[selection], 33, 88, 0, TAG_ITEM_ICON, TAG_ITEM_ICON);
+ }
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
+ AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, 2, 1, 3);
+ if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF)
+ {
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]);
+ }
+ else
+ {
+ FreeSpriteTilesByTag(TAG_ITEM_ICON);
+ FreeSpritePaletteByTag(TAG_ITEM_ICON);
+ sScrollableMultichoice_ItemSpriteId = AddDecorationIconObject(sFrontierExchangeCorner_Decor2[selection], 33, 88, 0, TAG_ITEM_ICON, TAG_ITEM_ICON);
+ }
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
+ AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_VitaminsDescriptions[selection], 0, NULL, 2, 1, 3);
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Vitamins[selection]);
+ break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
+ AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_HoldItemsDescriptions[selection], 0, NULL, 2, 1, 3);
+ ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_HoldItems[selection]);
+ break;
}
}
}
static void ShowFrontierExchangeCornerItemIcon(u16 item)
{
- FreeSpriteTilesByTag(5500);
- FreeSpritePaletteByTag(5500);
- sScrollableMultichoice_ItemSpriteId = AddItemIconSprite(5500, 5500, item);
+ FreeSpriteTilesByTag(TAG_ITEM_ICON);
+ FreeSpritePaletteByTag(TAG_ITEM_ICON);
+ sScrollableMultichoice_ItemSpriteId = AddItemIconSprite(TAG_ITEM_ICON, TAG_ITEM_ICON, item);
if (sScrollableMultichoice_ItemSpriteId != MAX_SPRITES)
{
@@ -3096,12 +2975,12 @@ static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused)
{
switch (menu)
{
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
- case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
- DestroySpriteAndFreeResources(&gSprites[sScrollableMultichoice_ItemSpriteId]);
- break;
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1:
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2:
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR:
+ case SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR:
+ DestroySpriteAndFreeResources(&gSprites[sScrollableMultichoice_ItemSpriteId]);
+ break;
}
sScrollableMultichoice_ItemSpriteId = MAX_SPRITES;
}
@@ -3138,13 +3017,9 @@ static const u16 sBattleFrontier_TutorMoves2[] =
void BufferBattleFrontierTutorMoveName(void)
{
if (gSpecialVar_0x8005 != 0)
- {
StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves2[gSpecialVar_0x8004]]);
- }
else
- {
StringCopy(gStringVar1, gMoveNames[sBattleFrontier_TutorMoves1[gSpecialVar_0x8004]]);
- }
}
static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
@@ -3207,13 +3082,9 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
{
FillWindowPixelRect(sTutorMoveAndElevatorWindowId, PIXEL_FILL(1), 0, 0, 96, 48);
if (menu == SCROLL_MULTI_BF_MOVE_TUTOR_2)
- {
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, sBattleFrontier_TutorMoveDescriptions2[selection], 0, 1, 0, NULL);
- }
else
- {
AddTextPrinterParameterized(sTutorMoveAndElevatorWindowId, FONT_NORMAL, sBattleFrontier_TutorMoveDescriptions1[selection], 0, 1, 0, NULL);
- }
}
}
@@ -3323,17 +3194,17 @@ void DoDeoxysRockInteraction(void)
}
static const u16 sDeoxysRockPalettes[][16] = {
- INCBIN_U16("graphics/misc/deoxys1.gbapal"),
- INCBIN_U16("graphics/misc/deoxys2.gbapal"),
- INCBIN_U16("graphics/misc/deoxys3.gbapal"),
- INCBIN_U16("graphics/misc/deoxys4.gbapal"),
- INCBIN_U16("graphics/misc/deoxys5.gbapal"),
- INCBIN_U16("graphics/misc/deoxys6.gbapal"),
- INCBIN_U16("graphics/misc/deoxys7.gbapal"),
- INCBIN_U16("graphics/misc/deoxys8.gbapal"),
- INCBIN_U16("graphics/misc/deoxys9.gbapal"),
- INCBIN_U16("graphics/misc/deoxys10.gbapal"),
- INCBIN_U16("graphics/misc/deoxys11.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_1.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_2.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_3.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_4.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_5.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_6.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_7.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_8.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_9.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_10.gbapal"),
+ INCBIN_U16("graphics/field_effects/palettes/deoxys_rock_11.gbapal"),
};
static const u8 sDeoxysRockCoords[][2] = {
@@ -3416,7 +3287,7 @@ static void ChangeDeoxysRockLevel(u8 rockLevel)
gFieldEffectArguments[5] = 5;
FieldEffectStart(FLDEFF_MOVE_DEOXYS_ROCK);
- Overworld_SetObjEventTemplateCoords(1, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]);
+ SetObjEventTemplateCoords(LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]);
}
static void WaitForDeoxysRockMovement(u8 taskId)
@@ -3435,13 +3306,9 @@ void IncrementBirthIslandRockStepCount(void)
{
var++;
if (var > 99)
- {
VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0);
- }
else
- {
VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, var);
- }
}
}
@@ -3487,18 +3354,14 @@ bool8 IsDestinationBoxFull(void)
if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == SPECIES_NONE)
{
if (GetPCBoxToSendMon() != box)
- {
FlagClear(FLAG_SHOWN_BOX_WAS_FULL_MESSAGE);
- }
VarSet(VAR_PC_BOX_TO_SEND_MON, box);
return ShouldShowBoxWasFullMessage();
}
}
if (++box == TOTAL_BOXES_COUNT)
- {
box = 0;
- }
} while (box != StorageGetCurrentBox());
return FALSE;
}
@@ -3564,7 +3427,8 @@ bool32 GetAbnormalWeatherMapNameAndType(void)
bool8 AbnormalWeatherHasExpired(void)
{
// Duplicate array.
- static const u8 sAbnormalWeatherMapNumbers[] = {
+ static const u8 sAbnormalWeatherMapNumbers[] =
+ {
MAP_NUM(ROUTE114),
MAP_NUM(ROUTE114),
MAP_NUM(ROUTE115),
@@ -3587,9 +3451,7 @@ bool8 AbnormalWeatherHasExpired(void)
u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION);
if (abnormalWeather == ABNORMAL_WEATHER_NONE)
- {
return FALSE;
- }
if (++steps > 999)
{
@@ -3598,15 +3460,15 @@ bool8 AbnormalWeatherHasExpired(void)
{
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):
- VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
- return FALSE;
- default:
- break;
+ 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):
+ VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
+ return FALSE;
+ default:
+ break;
}
}
@@ -3614,14 +3476,14 @@ bool8 AbnormalWeatherHasExpired(void)
{
switch (gSaveBlock1Ptr->location.mapNum)
{
- case MAP_NUM(UNDERWATER_ROUTE127):
- case MAP_NUM(UNDERWATER_ROUTE129):
- case MAP_NUM(UNDERWATER_ROUTE105):
- case MAP_NUM(UNDERWATER_ROUTE125):
- VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
- return FALSE;
- default:
- break;
+ case MAP_NUM(UNDERWATER_ROUTE127):
+ case MAP_NUM(UNDERWATER_ROUTE129):
+ case MAP_NUM(UNDERWATER_ROUTE105):
+ case MAP_NUM(UNDERWATER_ROUTE125):
+ VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
+ return FALSE;
+ default:
+ break;
}
}
@@ -3673,9 +3535,7 @@ u32 GetMartEmployeeObjectEventId(void)
if (gSaveBlock1Ptr->location.mapGroup == sPokeMarts[i][0])
{
if (gSaveBlock1Ptr->location.mapNum == sPokeMarts[i][1])
- {
return sPokeMarts[i][2];
- }
}
}
return 1;
@@ -3730,9 +3590,7 @@ static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId)
{
case 0:
if (!FuncIsActiveTask(Task_ReconnectWithLinkPlayers))
- {
gTasks[taskId].tState++;
- }
break;
case 1:
if (IsLinkTaskFinished() == TRUE)
@@ -3763,23 +3621,15 @@ static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId)
if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
- {
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_BOTH_RETIRE;
- }
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
- {
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_MEMBER_RETIRE;
- }
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_CONTINUE)
- {
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_LEADER_RETIRE;
- }
else
- {
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_CONTINUE;
- }
}
gTasks[taskId].tState++;
}
@@ -3894,9 +3744,7 @@ static void Task_LoopWingFlapSE(u8 taskId)
}
if (playCount == gSpecialVar_0x8004 - 1)
- {
DestroyTask(taskId);
- }
}
#undef playCount
@@ -3958,9 +3806,7 @@ void GetBattlePyramidHint(void)
void ResetHealLocationFromDewford(void)
{
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN))
- {
SetLastHealLocationWarp(HEAL_LOCATION_PETALBURG_CITY);
- }
}
bool8 InPokemonCenter(void)
@@ -3997,9 +3843,7 @@ bool8 InPokemonCenter(void)
for (i = 0; sPokemonCenters[i] != 0xFFFF; i++)
{
if (sPokemonCenters[i] == map)
- {
return TRUE;
- }
}
return FALSE;
}
@@ -4174,9 +4018,7 @@ static u16 PlayerLoseRandomTrainerFan(void)
u8 idx = 0;
if (GetNumFansOfPlayerInTrainerFanClub() == 1)
- {
return 0;
- }
for (i = 0; i < ARRAY_COUNT(sFanClubMemberIds); i++)
{
@@ -4192,9 +4034,7 @@ static u16 PlayerLoseRandomTrainerFan(void)
}
if (GET_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]))
- {
FLIP_TRAINER_FAN_CLUB_FLAG(sFanClubMemberIds[idx]);
- }
return idx;
}
@@ -4259,32 +4099,32 @@ void BufferFanClubTrainerName(void)
u8 whichNPCTrainer = 0;
switch (gSpecialVar_0x8004)
{
- case FANCLUB_MEMBER1:
- break;
- case FANCLUB_MEMBER2:
- break;
- case FANCLUB_MEMBER3:
- whichLinkTrainer = 0;
- whichNPCTrainer = 3;
- break;
- case FANCLUB_MEMBER4:
- whichLinkTrainer = 0;
- whichNPCTrainer = 1;
- break;
- case FANCLUB_MEMBER5:
- whichLinkTrainer = 1;
- whichNPCTrainer = 0;
- break;
- case FANCLUB_MEMBER6:
- whichLinkTrainer = 0;
- whichNPCTrainer = 4;
- break;
- case FANCLUB_MEMBER7:
- whichLinkTrainer = 1;
- whichNPCTrainer = 5;
- break;
- case FANCLUB_MEMBER8:
- break;
+ case FANCLUB_MEMBER1:
+ break;
+ case FANCLUB_MEMBER2:
+ break;
+ case FANCLUB_MEMBER3:
+ whichLinkTrainer = 0;
+ whichNPCTrainer = 3;
+ break;
+ case FANCLUB_MEMBER4:
+ whichLinkTrainer = 0;
+ whichNPCTrainer = 1;
+ break;
+ case FANCLUB_MEMBER5:
+ whichLinkTrainer = 1;
+ whichNPCTrainer = 0;
+ break;
+ case FANCLUB_MEMBER6:
+ whichLinkTrainer = 0;
+ whichNPCTrainer = 4;
+ break;
+ case FANCLUB_MEMBER7:
+ whichLinkTrainer = 1;
+ whichNPCTrainer = 5;
+ break;
+ case FANCLUB_MEMBER8:
+ break;
}
BufferFanClubTrainerName_(&gSaveBlock1Ptr->linkBattleRecords, whichLinkTrainer, whichNPCTrainer);
}
@@ -4296,27 +4136,27 @@ static void BufferFanClubTrainerName_(struct LinkBattleRecords *linkRecords, u8
{
switch (whichNPCTrainer)
{
- case 0:
- StringCopy(gStringVar1, gText_Wallace);
- break;
- case 1:
- StringCopy(gStringVar1, gText_Steven);
- break;
- case 2:
- StringCopy(gStringVar1, gText_Brawly);
- break;
- case 3:
- StringCopy(gStringVar1, gText_Winona);
- break;
- case 4:
- StringCopy(gStringVar1, gText_Phoebe);
- break;
- case 5:
- StringCopy(gStringVar1, gText_Glacia);
- break;
- default:
- StringCopy(gStringVar1, gText_Wallace);
- break;
+ case 0:
+ StringCopy(gStringVar1, gText_Wallace);
+ break;
+ case 1:
+ StringCopy(gStringVar1, gText_Steven);
+ break;
+ case 2:
+ StringCopy(gStringVar1, gText_Brawly);
+ break;
+ case 3:
+ StringCopy(gStringVar1, gText_Winona);
+ break;
+ case 4:
+ StringCopy(gStringVar1, gText_Phoebe);
+ break;
+ case 5:
+ StringCopy(gStringVar1, gText_Glacia);
+ break;
+ default:
+ StringCopy(gStringVar1, gText_Wallace);
+ break;
}
}
else
diff --git a/src/field_tasks.c b/src/field_tasks.c
index 187270f7a8..8e8875993d 100644
--- a/src/field_tasks.c
+++ b/src/field_tasks.c
@@ -21,20 +21,40 @@
#include "constants/songs.h"
#include "constants/metatile_labels.h"
+/* This file handles some persistent tasks that run in the overworld.
+ * - Task_RunTimeBasedEvents: Periodically updates local time and RTC events. Also triggers ambient cries.
+ * - Task_MuddySlope: Handles the metatile animation when the player steps on muddy slopes.
+ * - Task_RunPerStepCallback: Calls one of the functions in sPerStepCallbacks, listed below...
+ * . DummyPerStepCallback: Default, does nothing
+ * . AshGrassPerStepCallback: Removes the ash from ash-covered grass that the player steps on.
+ * . FortreeBridgePerStepCallback: Depresses Fortree log bridges that the player steps on.
+ * . PacifidlogBridgePerStepCallback: Submerges Pacifidlog log bridges that the player steps on.
+ * . SootopolisGymIcePerStepCallback: Cracks/breaks ice in Sootopolis Gym that the player steps on.
+ * . EndTruckSequence: Sets the moving truck boxes to their final position when the truck sequence ends.
+ * . SecretBasePerStepCallback: Records the decorations in a friend's secret base that the player steps on.
+ * . CrackedFloorPerStepCallback: Breaks cracked floors that the player steps on.
+ *
+ * NOTE: "PerStep" is perhaps misleading. One function in sPerStepCallbacks is called
+ * every frame while in the overworld by Task_RunPerStepCallback regardless of
+ * whether or not steps are being taken. However, nearly all of the functions in
+ * the table check if the player has moved from their previous position before
+ * doing anything else.
+ */
+
struct PacifidlogMetatileOffsets
{
s8 x;
s8 y;
- u16 tileId;
+ u16 metatileId;
};
-static void DummyPerStepCallback(u8 taskId);
-static void AshGrassPerStepCallback(u8 taskId);
-static void FortreeBridgePerStepCallback(u8 taskId);
-static void PacifidlogBridgePerStepCallback(u8 taskId);
-static void SootopolisGymIcePerStepCallback(u8 taskId);
-static void CrackedFloorPerStepCallback(u8 taskId);
-static void Task_MuddySlope(u8 taskId);
+static void DummyPerStepCallback(u8);
+static void AshGrassPerStepCallback(u8);
+static void FortreeBridgePerStepCallback(u8);
+static void PacifidlogBridgePerStepCallback(u8);
+static void SootopolisGymIcePerStepCallback(u8);
+static void CrackedFloorPerStepCallback(u8);
+static void Task_MuddySlope(u8);
static const TaskFunc sPerStepCallbacks[] =
{
@@ -48,29 +68,35 @@ static const TaskFunc sPerStepCallbacks[] =
[STEP_CB_CRACKED_FLOOR] = CrackedFloorPerStepCallback
};
-// they are in pairs but declared as 1D array
+// Each array has 4 pairs of data, each pair representing two metatiles of a log and their relative position.
+// The 4 pairs are for:
+// 0: If the player is standing on the top of a vertical log
+// 1: If the player is standing on the bottom of a vertical log
+// 2: If the player is standing on the left of a horizontal log
+// 3: If the player is standing on the right of a horizontal log
+// i.e. the element with an offset of 0,0 is the one the player is standing on.
static const struct PacifidlogMetatileOffsets sHalfSubmergedBridgeMetatileOffsets[] =
{
- { 0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_Vertical0}, {0, 1, METATILE_Pacifidlog_HalfSubmergedLogs_Vertical1},
- { 0, -1, METATILE_Pacifidlog_HalfSubmergedLogs_Vertical0}, {0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_Vertical1},
- { 0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_Horizontal0}, {1, 0, METATILE_Pacifidlog_HalfSubmergedLogs_Horizontal1},
- {-1, 0, METATILE_Pacifidlog_HalfSubmergedLogs_Horizontal0}, {0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_Horizontal1}
+ { 0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_VerticalTop}, {0, 1, METATILE_Pacifidlog_HalfSubmergedLogs_VerticalBottom},
+ { 0, -1, METATILE_Pacifidlog_HalfSubmergedLogs_VerticalTop}, {0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_VerticalBottom},
+ { 0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_HorizontalLeft}, {1, 0, METATILE_Pacifidlog_HalfSubmergedLogs_HorizontalRight},
+ {-1, 0, METATILE_Pacifidlog_HalfSubmergedLogs_HorizontalLeft}, {0, 0, METATILE_Pacifidlog_HalfSubmergedLogs_HorizontalRight}
};
static const struct PacifidlogMetatileOffsets sFullySubmergedBridgeMetatileOffsets[] =
{
- { 0, 0, METATILE_Pacifidlog_SubmergedLogs_Vertical0}, {0, 1, METATILE_Pacifidlog_SubmergedLogs_Vertical1},
- { 0, -1, METATILE_Pacifidlog_SubmergedLogs_Vertical0}, {0, 0, METATILE_Pacifidlog_SubmergedLogs_Vertical1},
- { 0, 0, METATILE_Pacifidlog_SubmergedLogs_Horizontal0}, {1, 0, METATILE_Pacifidlog_SubmergedLogs_Horizontal1},
- {-1, 0, METATILE_Pacifidlog_SubmergedLogs_Horizontal0}, {0, 0, METATILE_Pacifidlog_SubmergedLogs_Horizontal1}
+ { 0, 0, METATILE_Pacifidlog_SubmergedLogs_VerticalTop}, {0, 1, METATILE_Pacifidlog_SubmergedLogs_VerticalBottom},
+ { 0, -1, METATILE_Pacifidlog_SubmergedLogs_VerticalTop}, {0, 0, METATILE_Pacifidlog_SubmergedLogs_VerticalBottom},
+ { 0, 0, METATILE_Pacifidlog_SubmergedLogs_HorizontalLeft}, {1, 0, METATILE_Pacifidlog_SubmergedLogs_HorizontalRight},
+ {-1, 0, METATILE_Pacifidlog_SubmergedLogs_HorizontalLeft}, {0, 0, METATILE_Pacifidlog_SubmergedLogs_HorizontalRight}
};
static const struct PacifidlogMetatileOffsets sFloatingBridgeMetatileOffsets[] =
{
- { 0, 0, METATILE_Pacifidlog_FloatingLogs_Vertical0}, {0, 1, METATILE_Pacifidlog_FloatingLogs_Vertical1},
- { 0, -1, METATILE_Pacifidlog_FloatingLogs_Vertical0}, {0, 0, METATILE_Pacifidlog_FloatingLogs_Vertical1},
- { 0, 0, METATILE_Pacifidlog_FloatingLogs_Horizontal0}, {1, 0, METATILE_Pacifidlog_FloatingLogs_Horizontal1},
- {-1, 0, METATILE_Pacifidlog_FloatingLogs_Horizontal0}, {0, 0, METATILE_Pacifidlog_FloatingLogs_Horizontal1}
+ { 0, 0, METATILE_Pacifidlog_FloatingLogs_VerticalTop}, {0, 1, METATILE_Pacifidlog_FloatingLogs_VerticalBottom},
+ { 0, -1, METATILE_Pacifidlog_FloatingLogs_VerticalTop}, {0, 0, METATILE_Pacifidlog_FloatingLogs_VerticalBottom},
+ { 0, 0, METATILE_Pacifidlog_FloatingLogs_HorizontalLeft}, {1, 0, METATILE_Pacifidlog_FloatingLogs_HorizontalRight},
+ {-1, 0, METATILE_Pacifidlog_FloatingLogs_HorizontalLeft}, {0, 0, METATILE_Pacifidlog_FloatingLogs_HorizontalRight}
};
// Each element corresponds to a y coordinate row in the sootopolis gym 1F map.
@@ -104,16 +130,11 @@ static const u16 sSootopolisGymIceRowVars[] =
0
};
-static const u16 sMuddySlopeMetatiles[] = {
- METATILE_General_MuddySlope_Frame0,
- METATILE_General_MuddySlope_Frame3,
- METATILE_General_MuddySlope_Frame2,
- METATILE_General_MuddySlope_Frame1
-};
+#define tCallbackId data[0]
static void Task_RunPerStepCallback(u8 taskId)
{
- int idx = gTasks[taskId].data[0];
+ int idx = gTasks[taskId].tCallbackId;
sPerStepCallbacks[idx](taskId);
}
@@ -121,23 +142,23 @@ static void Task_RunPerStepCallback(u8 taskId)
#define tAmbientCryState data[1]
#define tAmbientCryDelay data[2]
+#define TIME_UPDATE_INTERVAL (1 << 12)
+
static void RunTimeBasedEvents(s16 *data)
{
switch (tState)
{
- case 0:
- if (gMain.vblankCounter1 & 0x1000)
- {
- DoTimeBasedEvents();
- tState++;
- }
- break;
- case 1:
- if (!(gMain.vblankCounter1 & 0x1000))
- {
- tState--;
- }
- break;
+ case 0:
+ if (gMain.vblankCounter1 & TIME_UPDATE_INTERVAL)
+ {
+ DoTimeBasedEvents();
+ tState++;
+ }
+ break;
+ case 1:
+ if (!(gMain.vblankCounter1 & TIME_UPDATE_INTERVAL))
+ tState--;
+ break;
}
}
@@ -153,22 +174,20 @@ static void Task_RunTimeBasedEvents(u8 taskId)
}
#undef tState
-#undef tAmbientCryState
-#undef tAmbientCryDelay
void SetUpFieldTasks(void)
{
if (!FuncIsActiveTask(Task_RunPerStepCallback))
{
- u8 taskId = CreateTask(Task_RunPerStepCallback, 0x50);
- gTasks[taskId].data[0] = 0;
+ u8 taskId = CreateTask(Task_RunPerStepCallback, 80);
+ gTasks[taskId].tCallbackId = STEP_CB_DUMMY;
}
if (!FuncIsActiveTask(Task_MuddySlope))
- CreateTask(Task_MuddySlope, 0x50);
+ CreateTask(Task_MuddySlope, 80);
if (!FuncIsActiveTask(Task_RunTimeBasedEvents))
- CreateTask(Task_RunTimeBasedEvents, 0x50);
+ CreateTask(Task_RunTimeBasedEvents, 80);
}
void ActivatePerStepCallback(u8 callbackId)
@@ -179,17 +198,13 @@ void ActivatePerStepCallback(u8 callbackId)
s32 i;
s16 *data = gTasks[taskId].data;
- for (i = 0; i < 16; i++)
+ for (i = 0; i < NUM_TASK_DATA; i++)
data[i] = 0;
if (callbackId >= ARRAY_COUNT(sPerStepCallbacks))
- {
- data[0] = 0;
- }
+ tCallbackId = STEP_CB_DUMMY;
else
- {
- data[0] = callbackId;
- }
+ tCallbackId = callbackId;
}
}
@@ -200,18 +215,20 @@ void ResetFieldTasksArgs(void)
taskId = FindTaskIdByFunc(Task_RunPerStepCallback);
if (taskId != TASK_NONE)
- {
data = gTasks[taskId].data;
- }
+
taskId = FindTaskIdByFunc(Task_RunTimeBasedEvents);
if (taskId != TASK_NONE)
{
data = gTasks[taskId].data;
- data[1] = 0;
- data[2] = 0;
+ tAmbientCryState = 0;
+ tAmbientCryDelay = 0;
}
}
+#undef tAmbientCryState
+#undef tAmbientCryDelay
+
static void DummyPerStepCallback(u8 taskId)
{
@@ -219,101 +236,129 @@ static void DummyPerStepCallback(u8 taskId)
static const struct PacifidlogMetatileOffsets *GetPacifidlogBridgeMetatileOffsets(const struct PacifidlogMetatileOffsets *offsets, u16 metatileBehavior)
{
- if (MetatileBehavior_IsPacifidlogVerticalLog1(metatileBehavior))
+ if (MetatileBehavior_IsPacifidlogVerticalLogTop(metatileBehavior))
return &offsets[0 * 2];
- else if (MetatileBehavior_IsPacifidlogVerticalLog2(metatileBehavior))
+ else if (MetatileBehavior_IsPacifidlogVerticalLogBottom(metatileBehavior))
return &offsets[1 * 2];
- else if (MetatileBehavior_IsPacifidlogHorizontalLog1(metatileBehavior))
+ else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(metatileBehavior))
return &offsets[2 * 2];
- else if (MetatileBehavior_IsPacifidlogHorizontalLog2(metatileBehavior))
+ else if (MetatileBehavior_IsPacifidlogHorizontalLogRight(metatileBehavior))
return &offsets[3 * 2];
else
return NULL;
}
-static void SetPacifidlogBridgeMetatiles(const struct PacifidlogMetatileOffsets *offsets, s16 x, s16 y, bool32 redrawMap)
+static void TrySetPacifidlogBridgeMetatiles(const struct PacifidlogMetatileOffsets *offsets, s16 x, s16 y, bool32 redrawMap)
{
offsets = GetPacifidlogBridgeMetatileOffsets(offsets, MapGridGetMetatileBehaviorAt(x, y));
+
+ // If offsets is NULL, position is not a log (don't set it)
if (offsets)
{
- MapGridSetMetatileIdAt(x + offsets[0].x, y + offsets[0].y, offsets[0].tileId);
+ // Set both metatiles of the log
+ MapGridSetMetatileIdAt(x + offsets[0].x, y + offsets[0].y, offsets[0].metatileId);
if (redrawMap)
CurrentMapDrawMetatileAt(x + offsets[0].x, y + offsets[0].y);
- MapGridSetMetatileIdAt(x + offsets[1].x, y + offsets[1].y, offsets[1].tileId);
+ MapGridSetMetatileIdAt(x + offsets[1].x, y + offsets[1].y, offsets[1].metatileId);
if (redrawMap)
CurrentMapDrawMetatileAt(x + offsets[1].x, y + offsets[1].y);
}
}
-static void UpdateHalfSubmergedBridgeMetatiles(s16 x, s16 y, bool32 redrawMap)
+static void TrySetLogBridgeHalfSubmerged(s16 x, s16 y, bool32 redrawMap)
{
- SetPacifidlogBridgeMetatiles(sHalfSubmergedBridgeMetatileOffsets, x, y, redrawMap);
+ TrySetPacifidlogBridgeMetatiles(sHalfSubmergedBridgeMetatileOffsets, x, y, redrawMap);
}
-static void UpdateFullySubmergedBridgeMetatiles(s16 x, s16 y, bool32 redrawMap)
+static void TrySetLogBridgeFullySubmerged(s16 x, s16 y, bool32 redrawMap)
{
- SetPacifidlogBridgeMetatiles(sFullySubmergedBridgeMetatileOffsets, x, y, redrawMap);
+ TrySetPacifidlogBridgeMetatiles(sFullySubmergedBridgeMetatileOffsets, x, y, redrawMap);
}
-static void UpdateFloatingBridgeMetatiles(s16 x, s16 y, bool32 redrawMap)
+static void TrySetLogBridgeFloating(s16 x, s16 y, bool32 redrawMap)
{
- SetPacifidlogBridgeMetatiles(sFloatingBridgeMetatileOffsets, x, y, redrawMap);
+ TrySetPacifidlogBridgeMetatiles(sFloatingBridgeMetatileOffsets, x, y, redrawMap);
}
-static bool32 StandingOnNewPacifidlogBridge(s16 x1, s16 y1, s16 x2, s16 y2)
+// Returns FALSE if player has moved from one end of a log to the other (log should remain submerged).
+// Otherwise it returns TRUE.
+static bool32 ShouldRaisePacifidlogLogs(s16 newX, s16 newY, s16 oldX, s16 oldY)
{
- u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x2, y2);
+ u16 oldBehavior = MapGridGetMetatileBehaviorAt(oldX, oldY);
- if (MetatileBehavior_IsPacifidlogVerticalLog1(metatileBehavior))
+ if (MetatileBehavior_IsPacifidlogVerticalLogTop(oldBehavior))
{
- if (y1 > y2)
+ // Still on same one if moved from top to bottom
+ if (newY > oldY)
return FALSE;
}
- else if (MetatileBehavior_IsPacifidlogVerticalLog2(metatileBehavior))
+ else if (MetatileBehavior_IsPacifidlogVerticalLogBottom(oldBehavior))
{
- if (y1 < y2)
+ // Still on same one if moved from bottom to top
+ if (newY < oldY)
return FALSE;
}
- else if (MetatileBehavior_IsPacifidlogHorizontalLog1(metatileBehavior))
+ else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(oldBehavior))
{
- if (x1 > x2)
+ // Still on same one if moved from left to right
+ if (newX > oldX)
return FALSE;
}
- else if (MetatileBehavior_IsPacifidlogHorizontalLog2(metatileBehavior))
+ else if (MetatileBehavior_IsPacifidlogHorizontalLogRight(oldBehavior))
{
- if (x1 < x2)
+ // Still on same one if moved from right to left
+ if (newX < oldX)
+ return FALSE;
+ }
+
+ // Player is either on a different log or no log at all
+ return TRUE;
+}
+
+// Returns FALSE if player has moved from one end of a log to the other (log should remain submerged).
+// Otherwise it returns TRUE.
+// This is the effectively the same as ShouldRaisePacifidlogLogs, as it swaps both the conditions and which position's behavior to check.
+// In effect the previous function asks "was the player's previous position not the other end of a log they're standing on?"
+// while this function asks "is the player's current position not the other end of a log they were previously standing on?"
+// and with the same positions both questions always have the same answer.
+static bool32 ShouldSinkPacifidlogLogs(s16 newX, s16 newY, s16 oldX, s16 oldY)
+{
+ u16 newBehavior = MapGridGetMetatileBehaviorAt(newX, newY);
+
+ if (MetatileBehavior_IsPacifidlogVerticalLogTop(newBehavior))
+ {
+ // Still on same one if moved from bottom to top
+ if (newY < oldY)
+ return FALSE;
+ }
+ else if (MetatileBehavior_IsPacifidlogVerticalLogBottom(newBehavior))
+ {
+ // Still on same one if moved from top to bottom
+ if (newY > oldY)
+ return FALSE;
+ }
+ else if (MetatileBehavior_IsPacifidlogHorizontalLogLeft(newBehavior))
+ {
+ // Still on same one if moved from right to left
+ if (newX < oldX)
+ return FALSE;
+ }
+ else if (MetatileBehavior_IsPacifidlogHorizontalLogRight(newBehavior))
+ {
+ // Still on same one if moved from left to right
+ if (newX > oldX)
return FALSE;
}
return TRUE;
}
-static bool32 StandingOnSamePacifidlogBridge(s16 x1, s16 y1, s16 x2, s16 y2)
-{
- u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x1, y1);
-
- if (MetatileBehavior_IsPacifidlogVerticalLog1(metatileBehavior))
- {
- if (y1 < y2)
- return FALSE;
- }
- else if (MetatileBehavior_IsPacifidlogVerticalLog2(metatileBehavior))
- {
- if (y1 > y2)
- return FALSE;
- }
- else if (MetatileBehavior_IsPacifidlogHorizontalLog1(metatileBehavior))
- {
- if (x1 < x2)
- return FALSE;
- }
- else if (MetatileBehavior_IsPacifidlogHorizontalLog2(metatileBehavior))
- {
- if (x1 > x2)
- return FALSE;
- }
- return TRUE;
-}
+#define tState data[1]
+#define tPrevX data[2]
+#define tPrevY data[3]
+#define tToRaiseX data[4]
+#define tToRaiseY data[5]
+#define tDelay data[6]
static void PacifidlogBridgePerStepCallback(u8 taskId)
{
@@ -321,180 +366,247 @@ static void PacifidlogBridgePerStepCallback(u8 taskId)
s16 x, y;
data = gTasks[taskId].data;
PlayerGetDestCoords(&x, &y);
- switch (data[1])
+ switch (tState)
{
- case 0:
- data[2] = x;
- data[3] = y;
- UpdateFullySubmergedBridgeMetatiles(x, y, TRUE);
- data[1] = 1;
- break;
- case 1:
- if (x != data[2] || y != data[3])
- {
- if (StandingOnNewPacifidlogBridge(x, y, data[2], data[3]))
- {
- UpdateHalfSubmergedBridgeMetatiles(data[2], data[3], TRUE);
- UpdateFloatingBridgeMetatiles(data[2], data[3], FALSE);
- data[4] = data[2];
- data[5] = data[3];
- data[1] = 2;
- data[6] = 8;
- }
- else
- {
- data[4] = -1;
- data[5] = -1;
- }
+ case 0:
+ tPrevX = x;
+ tPrevY = y;
+
+ // If player is already standing on a log when the callback
+ // is set then immediately set it to submerged
+ TrySetLogBridgeFullySubmerged(x, y, TRUE);
+ tState = 1;
+ break;
+ case 1:
+ // Skip if player hasn't moved
+ if (x == tPrevX && y == tPrevY)
+ return;
- if (StandingOnSamePacifidlogBridge(x, y, data[2], data[3]))
- {
- UpdateHalfSubmergedBridgeMetatiles(x, y, TRUE);
- data[1] = 2;
- data[6] = 8;
- }
+ if (ShouldRaisePacifidlogLogs(x, y, tPrevX, tPrevY))
+ {
+ // Player's previous position is not the other end of a log
+ // they're standing on, try and set it half-submerged (rising to surface).
+ // The floating metatile is queued up by setting it but not drawing it,
+ // but this is pointless as state 2 will handle it in full anyway.
+ TrySetLogBridgeHalfSubmerged(tPrevX, tPrevY, TRUE);
+ TrySetLogBridgeFloating(tPrevX, tPrevY, FALSE);
+ tToRaiseX = tPrevX;
+ tToRaiseY = tPrevY;
+ tState = 2;
+ tDelay = 8;
+ }
+ else
+ {
+ // Player has moved but is still on the same log bridge section.
+ // Keep it submerged.
+ tToRaiseX = -1;
+ tToRaiseY = -1;
+ }
- data[2] = x;
- data[3] = y;
- if (MetatileBehavior_IsPacifidlogLog(MapGridGetMetatileBehaviorAt(x, y)))
- PlaySE(SE_PUDDLE);
- }
- break;
- case 2:
- if ((--data[6]) == 0)
- {
- UpdateFullySubmergedBridgeMetatiles(x, y, TRUE);
- if (data[4] != -1 && data[5] != -1)
- UpdateFloatingBridgeMetatiles(data[4], data[5], TRUE);
+ if (ShouldSinkPacifidlogLogs(x, y, tPrevX, tPrevY))
+ {
+ // Player's current position is not the other end of a log
+ // they were previously standing on, try and set it half-submerged (sinking)
+ TrySetLogBridgeHalfSubmerged(x, y, TRUE);
+ tState = 2;
+ tDelay = 8;
+ }
- data[1] = 1;
- }
- break;
+ tPrevX = x;
+ tPrevY = y;
+
+ // If player's new position is a log play the puddle SE
+ if (MetatileBehavior_IsPacifidlogLog(MapGridGetMetatileBehaviorAt(x, y)))
+ PlaySE(SE_PUDDLE);
+ break;
+ case 2:
+ if (--tDelay == 0)
+ {
+ // If player's current position is a log submerge it fully.
+ TrySetLogBridgeFullySubmerged(x, y, TRUE);
+
+ // Player's previous position is not the other end of a log
+ // they're standing on, try to raise their previous position.
+ if (tToRaiseX != -1 && tToRaiseY != -1)
+ TrySetLogBridgeFloating(tToRaiseX, tToRaiseY, TRUE);
+
+ tState = 1;
+ }
+ break;
}
}
-static void SetLoweredForetreeBridgeMetatile(s16 x, s16 y)
+#undef tState
+#undef tPrevX
+#undef tPrevY
+#undef tToRaiseX
+#undef tToRaiseY
+#undef tDelay
+
+static void TryLowerFortreeBridge(s16 x, s16 y)
{
- u8 z = PlayerGetZCoord();
- if (!(z & 1))
+ u8 elevation = PlayerGetElevation();
+ if (!(elevation & 1))
{
switch (MapGridGetMetatileIdAt(x, y))
{
- case METATILE_Fortree_BridgeOverGrass_Raised:
- MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverGrass_Lowered);
- break;
- case METATILE_Fortree_BridgeOverTrees_Raised:
- MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverTrees_Lowered);
- break;
+ case METATILE_Fortree_BridgeOverGrass_Raised:
+ MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverGrass_Lowered);
+ break;
+ case METATILE_Fortree_BridgeOverTrees_Raised:
+ MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverTrees_Lowered);
+ break;
}
}
}
-static void SetNormalFortreeBridgeMetatile(s16 x, s16 y)
+static void TryRaiseFortreeBridge(s16 x, s16 y)
{
- u8 z = PlayerGetZCoord();
- if (!(z & 1))
+ u8 elevation = PlayerGetElevation();
+ if (!(elevation & 1))
{
switch (MapGridGetMetatileIdAt(x, y))
{
- case METATILE_Fortree_BridgeOverGrass_Lowered:
- MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverGrass_Raised);
- break;
- case METATILE_Fortree_BridgeOverTrees_Lowered:
- MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverTrees_Raised);
- break;
+ case METATILE_Fortree_BridgeOverGrass_Lowered:
+ MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverGrass_Raised);
+ break;
+ case METATILE_Fortree_BridgeOverTrees_Lowered:
+ MapGridSetMetatileIdAt(x, y, METATILE_Fortree_BridgeOverTrees_Raised);
+ break;
}
}
}
+#define tState data[1]
+#define tPrevX data[2]
+#define tPrevY data[3]
+#define tOldBridgeX data[4]
+#define tOldBridgeY data[5]
+#define tBounceTime data[6]
+
static void FortreeBridgePerStepCallback(u8 taskId)
{
bool8 isFortreeBridgeCur;
bool8 isFortreeBridgePrev;
- u8 z, flag;
- s16 x, y, x2, y2;
+ u8 elevation, onBridgeElevation;
+ s16 x, y, prevX, prevY;
s16 *data = gTasks[taskId].data;
PlayerGetDestCoords(&x, &y);
- switch (data[1])
+ switch (tState)
{
- default:
+ default:
+ break;
+ case 0:
+ tPrevX = x;
+ tPrevY = y;
+
+ // If player is already on bridge when callback is set then lower it immediately.
+ if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)))
+ {
+ TryLowerFortreeBridge(x, y);
+ CurrentMapDrawMetatileAt(x, y);
+ }
+ tState = 1;
+ break;
+ case 1:
+ prevX = tPrevX;
+ prevY = tPrevY;
+
+ // Skip if player hasn't moved
+ if (x == prevX && y == prevY)
break;
+
+ isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y));
+ isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(prevX, prevY));
+
+ // Make sure player isn't below bridge
+ elevation = PlayerGetElevation();
+ onBridgeElevation = FALSE;
+ if ((u8)(elevation & 1) == 0)
+ onBridgeElevation = TRUE;
+
+ if (onBridgeElevation && (isFortreeBridgeCur == TRUE || isFortreeBridgePrev == TRUE))
+ PlaySE(SE_BRIDGE_WALK);
+
+ // Because this doesn't check for isFortreeBridgeCur, bridge sections aren't
+ // lowered when first stepping onto them from anything other than another bridge.
+ #ifdef BUGFIX
+ if (isFortreeBridgePrev || isFortreeBridgeCur)
+ #else
+ if (isFortreeBridgePrev)
+ #endif
+ {
+ // Raise old bridge
+ TryRaiseFortreeBridge(prevX, prevY);
+ CurrentMapDrawMetatileAt(prevX, prevY);
+
+ // Lower new bridge
+ TryLowerFortreeBridge(x, y);
+ CurrentMapDrawMetatileAt(x, y);
+ }
+
+ // These should really be set below the !isFortreeBridgePrev conditional,
+ // but it doesn't matter because it's not read until case 2 anyway.
+ tOldBridgeX = prevX;
+ tOldBridgeY = prevY;
+
+ tPrevX = x;
+ tPrevY = y;
+ if (!isFortreeBridgePrev)
+ break;
+
+ tBounceTime = 16;
+ tState = 2;
+ // fallthrough
+ case 2:
+ tBounceTime--;
+ prevX = tOldBridgeX;
+ prevY = tOldBridgeY;
+ switch (tBounceTime % 7)
+ {
case 0:
- data[2] = x;
- data[3] = y;
- if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)))
- {
- SetLoweredForetreeBridgeMetatile(x, y);
- CurrentMapDrawMetatileAt(x, y);
- }
- data[1] = 1;
- break;
+ CurrentMapDrawMetatileAt(prevX, prevY);
case 1:
- x2 = data[2];
- y2 = data[3];
- if (x == x2 && y == y2)
- break;
-
- isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y));
- isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x2, y2));
- z = PlayerGetZCoord();
- flag = 0;
- if ((u8)(z & 1) == 0)
- flag = 1;
-
- if (flag && (isFortreeBridgeCur == 1 || isFortreeBridgePrev == 1))
- PlaySE(SE_BRIDGE_WALK);
-
- if (isFortreeBridgePrev)
- {
- SetNormalFortreeBridgeMetatile(x2, y2);
- CurrentMapDrawMetatileAt(x2, y2);
- SetLoweredForetreeBridgeMetatile(x, y);
- CurrentMapDrawMetatileAt(x, y);
- }
-
- data[4] = x2;
- data[5] = y2;
- data[2] = x;
- data[3] = y;
- if (!isFortreeBridgePrev)
- break;
-
- data[6] = 16;
- data[1] = 2;
- // fallthrough
case 2:
- data[6]--;
- x2 = data[4];
- y2 = data[5];
- switch (data[6] % 7)
- {
- case 0:
- CurrentMapDrawMetatileAt(x2, y2);
- case 1:
- case 2:
- case 3:
- break;
- case 4:
- SetLoweredForetreeBridgeMetatile(x2, y2);
- CurrentMapDrawMetatileAt(x2, y2);
- SetNormalFortreeBridgeMetatile(x2, y2);
- case 5:
- case 6:
- case 7:
- break;
- }
- if (data[6] == 0)
- {
- data[1] = 1;
- }
+ case 3:
break;
+ case 4:
+ // Bounce bridge section that player has stepped off of
+ TryLowerFortreeBridge(prevX, prevY);
+ CurrentMapDrawMetatileAt(prevX, prevY);
+ TryRaiseFortreeBridge(prevX, prevY);
+ case 5:
+ case 6:
+ case 7: // Not possible with % 7
+ break;
+ }
+ if (tBounceTime == 0)
+ tState = 1;
+ break;
}
}
+#undef tState
+#undef tPrevX
+#undef tPrevY
+#undef tOldBridgeX
+#undef tOldBridgeY
+#undef tBounceTime
+
+// Boundaries of the ice puzzle in Sootopolis Gym
+#define ICE_PUZZLE_L 3
+#define ICE_PUZZLE_R 13
+#define ICE_PUZZLE_T 6
+#define ICE_PUZZLE_B 19
+
+#define ICE_PUZZLE_WIDTH (ICE_PUZZLE_R - ICE_PUZZLE_L + 1)
+#define ICE_PUZZLE_HEIGHT (ICE_PUZZLE_B - ICE_PUZZLE_T + 1)
+
static bool32 CoordInIcePuzzleRegion(s16 x, s16 y)
{
- if ((u16)(x - 3) < 11 && (u16)(y - 6) < 14 && sSootopolisGymIceRowVars[y])
+ if ((u16)(x - ICE_PUZZLE_L) < ICE_PUZZLE_WIDTH
+ && (u16)(y - ICE_PUZZLE_T) < ICE_PUZZLE_HEIGHT
+ && sSootopolisGymIceRowVars[y])
return TRUE;
else
return FALSE;
@@ -503,17 +615,17 @@ static bool32 CoordInIcePuzzleRegion(s16 x, s16 y)
static void MarkIcePuzzleCoordVisited(s16 x, s16 y)
{
if (CoordInIcePuzzleRegion(x, y))
- *GetVarPointer(sSootopolisGymIceRowVars[y]) |= (1 << (x - 3));
+ *GetVarPointer(sSootopolisGymIceRowVars[y]) |= (1 << (x - ICE_PUZZLE_L));
}
static bool32 IsIcePuzzleCoordVisited(s16 x, s16 y)
{
- u32 var;
+ u16 var;
if (!CoordInIcePuzzleRegion(x, y))
return FALSE;
- var = VarGet(sSootopolisGymIceRowVars[y]) << 16;
- if ((0x10000 << (x - 3)) & var) // TODO: fix that if
+ var = VarGet(sSootopolisGymIceRowVars[y]);
+ if (var &= (1 << (x - ICE_PUZZLE_L)))
return TRUE;
else
return FALSE;
@@ -534,116 +646,155 @@ void SetSootopolisGymCrackedIceMetatiles(void)
}
}
+#define tState data[1]
+#define tPrevX data[2]
+#define tPrevY data[3]
+#define tIceX data[4]
+#define tIceY data[5]
+#define tDelay data[6]
+
static void SootopolisGymIcePerStepCallback(u8 taskId)
{
s16 x, y;
u16 tileBehavior;
u16 *iceStepCount;
s16 *data = gTasks[taskId].data;
- switch (data[1])
+ switch (tState)
{
- case 0:
- PlayerGetDestCoords(&x, &y);
- data[2] = x;
- data[3] = y;
- data[1] = 1;
- break;
- case 1:
- PlayerGetDestCoords(&x, &y);
- if (x != data[2] || y != data[3])
- {
- data[2] = x;
- data[3] = y;
- tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
- iceStepCount = GetVarPointer(VAR_ICE_STEP_COUNT);
- if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE)
- {
- (*iceStepCount)++;
- data[6] = 4;
- data[1] = 2;
- data[4] = x;
- data[5] = y;
- }
- else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE)
- {
- *iceStepCount = 0;
- data[6] = 4;
- data[1] = 3;
- data[4] = x;
- data[5] = y;
- }
- }
- break;
- case 2:
- if (data[6] != 0)
- {
- data[6]--;
- }
- else
- {
- x = data[4];
- y = data[5];
- PlaySE(SE_ICE_CRACK);
- MapGridSetMetatileIdAt(x, y, METATILE_SootopolisGym_Ice_Cracked);
- CurrentMapDrawMetatileAt(x, y);
- MarkIcePuzzleCoordVisited(x - MAP_OFFSET, y - MAP_OFFSET);
- data[1] = 1;
- }
- break;
- case 3:
- if (data[6] != 0)
- {
- data[6]--;
- }
- else
- {
- x = data[4];
- y = data[5];
- PlaySE(SE_ICE_BREAK);
- MapGridSetMetatileIdAt(x, y, METATILE_SootopolisGym_Ice_Broken);
- CurrentMapDrawMetatileAt(x, y);
- data[1] = 1;
- }
- break;
+ case 0:
+ PlayerGetDestCoords(&x, &y);
+ tPrevX = x;
+ tPrevY = y;
+ tState = 1;
+ break;
+ case 1:
+ PlayerGetDestCoords(&x, &y);
+ // End if player hasn't moved
+ if (x == tPrevX && y == tPrevY)
+ return;
+
+ tPrevX = x;
+ tPrevY = y;
+ tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
+ iceStepCount = GetVarPointer(VAR_ICE_STEP_COUNT);
+ if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE)
+ {
+ // Thin ice, set it to cracked ice
+ (*iceStepCount)++;
+ tDelay = 4;
+ tState = 2;
+ tIceX = x;
+ tIceY = y;
+ }
+ else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE)
+ {
+ // Cracked ice, set it to broken ice
+ *iceStepCount = 0;
+ tDelay = 4;
+ tState = 3;
+ tIceX = x;
+ tIceY = y;
+ }
+ break;
+ case 2:
+ if (tDelay != 0)
+ {
+ tDelay--;
+ }
+ else
+ {
+ // Crack ice
+ x = tIceX;
+ y = tIceY;
+ PlaySE(SE_ICE_CRACK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SootopolisGym_Ice_Cracked);
+ CurrentMapDrawMetatileAt(x, y);
+ MarkIcePuzzleCoordVisited(x - MAP_OFFSET, y - MAP_OFFSET);
+ tState = 1;
+ }
+ break;
+ case 3:
+ if (tDelay != 0)
+ {
+ tDelay--;
+ }
+ else
+ {
+ // Break ice
+ x = tIceX;
+ y = tIceY;
+ PlaySE(SE_ICE_BREAK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SootopolisGym_Ice_Broken);
+ CurrentMapDrawMetatileAt(x, y);
+ tState = 1;
+ }
+ break;
}
}
+#undef tState
+#undef tPrevX
+#undef tPrevY
+#undef tIceX
+#undef tIceY
+#undef tDelay
+
+#define tPrevX data[1]
+#define tPrevY data[2]
+
static void AshGrassPerStepCallback(u8 taskId)
{
s16 x, y;
u16 *ashGatherCount;
s16 *data = gTasks[taskId].data;
PlayerGetDestCoords(&x, &y);
- if (x != data[1] || y != data[2])
- {
- data[1] = x;
- data[2] = y;
- if (MetatileBehavior_IsAshGrass(MapGridGetMetatileBehaviorAt(x, y)))
- {
- if (MapGridGetMetatileIdAt(x, y) == METATILE_Fallarbor_AshGrass)
- StartAshFieldEffect(x, y, METATILE_Fallarbor_NormalGrass, 4);
- else
- StartAshFieldEffect(x, y, METATILE_Lavaridge_NormalGrass, 4);
- if (CheckBagHasItem(ITEM_SOOT_SACK, 1))
- {
- ashGatherCount = GetVarPointer(VAR_ASH_GATHER_COUNT);
- if (*ashGatherCount < 9999)
- (*ashGatherCount)++;
- }
+ // End if player hasn't moved
+ if (x == tPrevX && y == tPrevY)
+ return;
+
+ tPrevX = x;
+ tPrevY = y;
+ if (MetatileBehavior_IsAshGrass(MapGridGetMetatileBehaviorAt(x, y)))
+ {
+ // Remove ash from grass
+ if (MapGridGetMetatileIdAt(x, y) == METATILE_Fallarbor_AshGrass)
+ StartAshFieldEffect(x, y, METATILE_Fallarbor_NormalGrass, 4);
+ else
+ StartAshFieldEffect(x, y, METATILE_Lavaridge_NormalGrass, 4);
+
+ // Try to gather ash
+ if (CheckBagHasItem(ITEM_SOOT_SACK, 1))
+ {
+ ashGatherCount = GetVarPointer(VAR_ASH_GATHER_COUNT);
+ if (*ashGatherCount < 9999)
+ (*ashGatherCount)++;
}
}
}
+#undef tPrevX
+#undef tPrevY
+
// This function uses the constants for gTileset_Cave's metatile labels, but other tilesets with
// the CrackedFloorPerStepCallback callback use the same metatile numbers for the cracked floor
// and hole metatiles, such as gTileset_MirageTower.
static void SetCrackedFloorHoleMetatile(s16 x, s16 y)
{
- MapGridSetMetatileIdAt(x, y, MapGridGetMetatileIdAt(x, y) == METATILE_Cave_CrackedFloor ? METATILE_Cave_CrackedFloor_Hole : METATILE_Pacifidlog_SkyPillar_CrackedFloor_Hole);
+ u16 metatileId = MapGridGetMetatileIdAt(x, y) == METATILE_Cave_CrackedFloor ? METATILE_Cave_CrackedFloor_Hole : METATILE_Pacifidlog_SkyPillar_CrackedFloor_Hole;
+ MapGridSetMetatileIdAt(x, y, metatileId);
CurrentMapDrawMetatileAt(x, y);
}
+#define tPrevX data[2]
+#define tPrevY data[3]
+#define tFloor1Delay data[4]
+#define tFloor1X data[5]
+#define tFloor1Y data[6]
+#define tFloor2Delay data[7]
+#define tFloor2X data[8]
+#define tFloor2Y data[9]
+
static void CrackedFloorPerStepCallback(u8 taskId)
{
s16 x, y;
@@ -651,113 +802,153 @@ static void CrackedFloorPerStepCallback(u8 taskId)
s16 *data = gTasks[taskId].data;
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
- if (data[4] != 0 && (--data[4]) == 0)
- SetCrackedFloorHoleMetatile(data[5], data[6]);
- if (data[7] != 0 && (--data[7]) == 0)
- SetCrackedFloorHoleMetatile(data[8], data[9]);
+ // Update up to 2 previous cracked floor spaces
+ if (tFloor1Delay != 0 && (--tFloor1Delay) == 0)
+ SetCrackedFloorHoleMetatile(tFloor1X, tFloor1Y);
+ if (tFloor2Delay != 0 && (--tFloor2Delay) == 0)
+ SetCrackedFloorHoleMetatile(tFloor2X, tFloor2Y);
if (MetatileBehavior_IsCrackedFloorHole(behavior))
VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty
- if ((x != data[2] || y != data[3]))
- {
- data[2] = x;
- data[3] = y;
- if (MetatileBehavior_IsCrackedFloor(behavior))
- {
- if (GetPlayerSpeed() != 4)
- VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty
+ // End if player hasn't moved
+ if (x == tPrevX && y == tPrevY)
+ return;
- if (data[4] == 0)
- {
- data[4] = 3;
- data[5] = x;
- data[6] = y;
- }
- else if (data[7] == 0)
- {
- data[7] = 3;
- data[8] = x;
- data[9] = y;
- }
+ tPrevX = x;
+ tPrevY = y;
+ if (MetatileBehavior_IsCrackedFloor(behavior))
+ {
+ if (GetPlayerSpeed() != PLAYER_SPEED_FASTEST)
+ VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty
+
+ if (tFloor1Delay == 0)
+ {
+ tFloor1Delay = 3;
+ tFloor1X = x;
+ tFloor1Y = y;
+ }
+ else if (tFloor2Delay == 0)
+ {
+ tFloor2Delay = 3;
+ tFloor2X = x;
+ tFloor2Y = y;
}
}
}
+#undef tPrevX
+#undef tPrevY
+#undef tFloor1Delay
+#undef tFloor1X
+#undef tFloor1Y
+#undef tFloor2Delay
+#undef tFloor2X
+#undef tFloor2Y
+
+#define tMapId data[0]
+#define tState data[1]
+#define tPrevX data[2]
+#define tPrevY data[3]
+// data[4] - data[15] are data about up to 4 individual animating muddy slope metatiles
+// They're divided into groups of 3, i.e data[4]-[6] track one metatile, data[7]-[9] another, and so on.
+// For each data triplet, the 1sst is the animation time, and the 2nd/3rd are the x/y coordinates.
+#define SLOPE_DATA_START 4
+#define SLOPE_DATA_END (3 * SLOPE_DATA_SIZE + SLOPE_DATA_START) // 13, which is the last slope data start point
+enum {
+ SLOPE_TIME,
+ SLOPE_X,
+ SLOPE_Y,
+ SLOPE_DATA_SIZE
+};
+#define tSlopeAnimTime(i) data[(i) * SLOPE_DATA_SIZE + SLOPE_DATA_START + SLOPE_TIME]
+
+static const u16 sMuddySlopeMetatiles[] = {
+ METATILE_General_MuddySlope_Frame0,
+ METATILE_General_MuddySlope_Frame3,
+ METATILE_General_MuddySlope_Frame2,
+ METATILE_General_MuddySlope_Frame1
+};
+
+#define SLOPE_ANIM_TIME 32
+#define SLOPE_ANIM_STEP_TIME (SLOPE_ANIM_TIME / (int)ARRAY_COUNT(sMuddySlopeMetatiles))
+
static void SetMuddySlopeMetatile(s16 *data, s16 x, s16 y)
{
- u16 tile;
- if ((--data[0]) == 0)
- tile = METATILE_General_MuddySlope_Frame0;
+ u16 metatileId;
+ if ((--data[SLOPE_TIME]) == 0)
+ metatileId = METATILE_General_MuddySlope_Frame0;
else
- tile = sMuddySlopeMetatiles[data[0] / 8];
+ metatileId = sMuddySlopeMetatiles[data[SLOPE_TIME] / SLOPE_ANIM_STEP_TIME];
- MapGridSetMetatileIdAt(x, y, tile);
+ MapGridSetMetatileIdAt(x, y, metatileId);
CurrentMapDrawMetatileAt(x, y);
MapGridSetMetatileIdAt(x, y, METATILE_General_MuddySlope_Frame0);
}
static void Task_MuddySlope(u8 taskId)
{
- s16 x, y, x2, y2;
+ s16 x, y, cameraOffsetX, cameraOffsetY;
int i;
u16 mapId;
s16 *data = gTasks[taskId].data;
PlayerGetDestCoords(&x, &y);
mapId = (gSaveBlock1Ptr->location.mapGroup << 8) | gSaveBlock1Ptr->location.mapNum;
- switch (data[1])
+ switch (tState)
{
- case 0:
- data[0] = mapId;
- data[2] = x;
- data[3] = y;
- data[1] = 1;
- data[4] = 0;
- data[7] = 0;
- data[10] = 0;
- data[13] = 0;
+ case 0:
+ tMapId = mapId;
+ tPrevX = x;
+ tPrevY = y;
+ tState = 1;
+ tSlopeAnimTime(0) = 0;
+ tSlopeAnimTime(1) = 0;
+ tSlopeAnimTime(2) = 0;
+ tSlopeAnimTime(3) = 0;
+ break;
+ case 1:
+ // Skip if player hasn't moved
+ if (tPrevX == x && tPrevY == y)
break;
- case 1:
- if (data[2] != x || data[3] != y)
+
+ tPrevX = x;
+ tPrevY = y;
+ if (MetatileBehavior_IsMuddySlope(MapGridGetMetatileBehaviorAt(x, y)))
+ {
+ for (i = SLOPE_DATA_START; i <= SLOPE_DATA_END; i += SLOPE_DATA_SIZE)
{
- data[2] = x;
- data[3] = y;
- if (MetatileBehavior_IsMuddySlope(MapGridGetMetatileBehaviorAt(x, y)))
+ if (data[i] == 0)
{
- for (i = 4; i < 14; i += 3)
- {
- if (data[i] == 0)
- {
- data[i] = 32;
- data[i + 1] = x;
- data[i + 2] = y;
- break;
- }
- }
+ data[i + SLOPE_TIME] = SLOPE_ANIM_TIME;
+ data[i + SLOPE_X] = x;
+ data[i + SLOPE_Y] = y;
+ break;
}
}
- break;
+ }
+ break;
}
- if (gCamera.active && mapId != data[0])
+
+ if (gCamera.active && mapId != tMapId)
{
- data[0] = mapId;
- x2 = gCamera.x;
- y2 = gCamera.y;
+ tMapId = mapId;
+ cameraOffsetX = gCamera.x;
+ cameraOffsetY = gCamera.y;
}
else
{
- x2 = 0;
- y2 = 0;
+ cameraOffsetX = 0;
+ cameraOffsetY = 0;
}
- for (i = 4; i < 14; i += 3)
+ for (i = SLOPE_DATA_START; i <= SLOPE_DATA_END; i += SLOPE_DATA_SIZE)
{
- if (data[i])
+ if (data[i + SLOPE_TIME])
{
- data[i + 1] -= x2;
- data[i + 2] -= y2;
- SetMuddySlopeMetatile(&data[i], data[i + 1], data[i + 2]);
+ data[i + SLOPE_X] -= cameraOffsetX;
+ data[i + SLOPE_Y] -= cameraOffsetY;
+ SetMuddySlopeMetatile(&data[i + SLOPE_TIME], data[i + SLOPE_X], data[i + SLOPE_Y]);
}
}
}
diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c
index 5720363c21..2b87557c21 100644
--- a/src/field_weather_effect.c
+++ b/src/field_weather_effect.c
@@ -2487,19 +2487,19 @@ static void CreateAbnormalWeatherTask(void)
static u8 TranslateWeatherNum(u8);
static void UpdateRainCounter(u8, u8);
-void SetSav1Weather(u32 weather)
+void SetSavedWeather(u32 weather)
{
u8 oldWeather = gSaveBlock1Ptr->weather;
gSaveBlock1Ptr->weather = TranslateWeatherNum(weather);
UpdateRainCounter(gSaveBlock1Ptr->weather, oldWeather);
}
-u8 GetSav1Weather(void)
+u8 GetSavedWeather(void)
{
return gSaveBlock1Ptr->weather;
}
-void SetSav1WeatherFromCurrMapHeader(void)
+void SetSavedWeatherFromCurrMapHeader(void)
{
u8 oldWeather = gSaveBlock1Ptr->weather;
gSaveBlock1Ptr->weather = TranslateWeatherNum(gMapHeader.weather);
@@ -2508,19 +2508,19 @@ void SetSav1WeatherFromCurrMapHeader(void)
void SetWeather(u32 weather)
{
- SetSav1Weather(weather);
- SetNextWeather(GetSav1Weather());
+ SetSavedWeather(weather);
+ SetNextWeather(GetSavedWeather());
}
void SetWeather_Unused(u32 weather)
{
- SetSav1Weather(weather);
- SetCurrentAndNextWeather(GetSav1Weather());
+ SetSavedWeather(weather);
+ SetCurrentAndNextWeather(GetSavedWeather());
}
void DoCurrentWeather(void)
{
- u8 weather = GetSav1Weather();
+ u8 weather = GetSavedWeather();
if (weather == WEATHER_ABNORMAL)
{
@@ -2539,7 +2539,7 @@ void DoCurrentWeather(void)
void ResumePausedWeather(void)
{
- u8 weather = GetSav1Weather();
+ u8 weather = GetSavedWeather();
if (weather == WEATHER_ABNORMAL)
{
diff --git a/src/fieldmap.c b/src/fieldmap.c
index aff72c4c68..4dbf981cf5 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -43,12 +43,12 @@ static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHead
static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset);
static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader);
static void LoadSavedMapView(void);
-static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode);
+static bool8 SkipCopyingMetatileFromSavedMap(u16* mapBlock, u16 mapWidth, u8 yMode);
static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y);
static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, struct MapConnection *connection);
static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, int offset);
-#define MapGridGetBorderTileAt(x, y) ({ \
+#define GetBorderBlockAt(x, y)({ \
u16 block; \
int i; \
u16 *border = gMapHeader.mapLayout->border; \
@@ -56,12 +56,12 @@ static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax,
i = (x + 1) & 1; \
i += ((y + 1) & 1) * 2; \
\
- block = gMapHeader.mapLayout->border[i] | METATILE_COLLISION_MASK; \
+ block = gMapHeader.mapLayout->border[i] | MAPGRID_COLLISION_MASK; \
})
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < gBackupMapLayout.width && y >= 0 && y < gBackupMapLayout.height)
-#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? gBackupMapLayout.map[x + gBackupMapLayout.width * y] : MapGridGetBorderTileAt(x, y))
+#define GetMapGridBlockAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? gBackupMapLayout.map[x + gBackupMapLayout.width * y] : GetBorderBlockAt(x, y))
struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection)
{
@@ -87,13 +87,13 @@ void InitMapFromSavedGame(void)
void InitBattlePyramidMap(bool8 setPlayerPosition)
{
- CpuFastFill(METATILE_ID_UNDEFINED << 16 | METATILE_ID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
+ CpuFastFill(MAPGRID_UNDEFINED << 16 | MAPGRID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
GenerateBattlePyramidFloorLayout(gBackupMapData, setPlayerPosition);
}
void InitTrainerHillMap(void)
{
- CpuFastFill(METATILE_ID_UNDEFINED << 16 | METATILE_ID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
+ CpuFastFill(MAPGRID_UNDEFINED << 16 | MAPGRID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
GenerateTrainerHillFloorLayout(gBackupMapData);
}
@@ -103,7 +103,7 @@ static void InitMapLayoutData(struct MapHeader *mapHeader)
int width;
int height;
mapLayout = mapHeader->mapLayout;
- CpuFastFill16(METATILE_ID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
+ CpuFastFill16(MAPGRID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
gBackupMapLayout.map = gBackupMapData;
width = mapLayout->width + MAP_OFFSET_W;
gBackupMapLayout.width = width;
@@ -342,46 +342,46 @@ static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHead
}
}
-u8 MapGridGetZCoordAt(int x, int y)
+u8 MapGridGetElevationAt(int x, int y)
{
- u16 block = MapGridGetTileAt(x, y);
+ u16 block = GetMapGridBlockAt(x, y);
- if (block == METATILE_ID_UNDEFINED)
+ if (block == MAPGRID_UNDEFINED)
return 0;
- return block >> METATILE_ELEVATION_SHIFT;
+ return block >> MAPGRID_ELEVATION_SHIFT;
}
bool8 MapGridIsImpassableAt(int x, int y)
{
- u16 block = MapGridGetTileAt(x, y);
+ u16 block = GetMapGridBlockAt(x, y);
- if (block == METATILE_ID_UNDEFINED)
+ if (block == MAPGRID_UNDEFINED)
return TRUE;
- return (block & METATILE_COLLISION_MASK) >> METATILE_COLLISION_SHIFT;
+ return (block & MAPGRID_COLLISION_MASK) >> MAPGRID_COLLISION_SHIFT;
}
u32 MapGridGetMetatileIdAt(int x, int y)
{
- u16 block = MapGridGetTileAt(x, y);
+ u16 block = GetMapGridBlockAt(x, y);
- if (block == METATILE_ID_UNDEFINED)
- return MapGridGetBorderTileAt(x, y) & METATILE_ID_MASK;
+ if (block == MAPGRID_UNDEFINED)
+ return GetBorderBlockAt(x, y) & MAPGRID_METATILE_ID_MASK;
- return block & METATILE_ID_MASK;
+ return block & MAPGRID_METATILE_ID_MASK;
}
u32 MapGridGetMetatileBehaviorAt(int x, int y)
{
u16 metatile = MapGridGetMetatileIdAt(x, y);
- return GetBehaviorByMetatileId(metatile) & METATILE_BEHAVIOR_MASK;
+ return GetMetatileAttributesById(metatile) & METATILE_ATTR_BEHAVIOR_MASK;
}
u8 MapGridGetMetatileLayerTypeAt(int x, int y)
{
u16 metatile = MapGridGetMetatileIdAt(x, y);
- return (GetBehaviorByMetatileId(metatile) & METATILE_ELEVATION_MASK) >> METATILE_ELEVATION_SHIFT;
+ return (GetMetatileAttributesById(metatile) & METATILE_ATTR_LAYER_MASK) >> METATILE_ATTR_LAYER_SHIFT;
}
void MapGridSetMetatileIdAt(int x, int y, u16 metatile)
@@ -390,7 +390,7 @@ void MapGridSetMetatileIdAt(int x, int y, u16 metatile)
if (AreCoordsWithinMapGridBounds(x, y))
{
i = x + y * gBackupMapLayout.width;
- gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & METATILE_ELEVATION_MASK) | (metatile & ~METATILE_ELEVATION_MASK);
+ gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & MAPGRID_ELEVATION_MASK) | (metatile & ~MAPGRID_ELEVATION_MASK);
}
}
@@ -404,7 +404,7 @@ void MapGridSetMetatileEntryAt(int x, int y, u16 metatile)
}
}
-u16 GetBehaviorByMetatileId(u16 metatile)
+u16 GetMetatileAttributesById(u16 metatile)
{
u16 *attributes;
if (metatile < NUM_METATILES_IN_PRIMARY)
@@ -565,7 +565,7 @@ static void MoveMapViewToBackup(u8 direction)
int GetMapBorderIdAt(int x, int y)
{
- if (MapGridGetTileAt(x, y) == METATILE_ID_UNDEFINED)
+ if (GetMapGridBlockAt(x, y) == MAPGRID_UNDEFINED)
return CONNECTION_INVALID;
if (x >= (gBackupMapLayout.width - (MAP_OFFSET + 1)))
@@ -817,23 +817,23 @@ void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable)
if (AreCoordsWithinMapGridBounds(x, y))
{
if (impassable)
- gBackupMapLayout.map[x + gBackupMapLayout.width * y] |= METATILE_COLLISION_MASK;
+ gBackupMapLayout.map[x + gBackupMapLayout.width * y] |= MAPGRID_COLLISION_MASK;
else
- gBackupMapLayout.map[x + gBackupMapLayout.width * y] &= ~METATILE_COLLISION_MASK;
+ gBackupMapLayout.map[x + gBackupMapLayout.width * y] &= ~MAPGRID_COLLISION_MASK;
}
}
-static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode)
+static bool8 SkipCopyingMetatileFromSavedMap(u16* mapBlock, u16 mapWidth, u8 yMode)
{
if (yMode == 0xFF)
return FALSE;
if (yMode == 0)
- mapMetatilePtr -= mapWidth;
+ mapBlock -= mapWidth;
else
- mapMetatilePtr += mapWidth;
+ mapBlock += mapWidth;
- if (IsLargeBreakableDecoration(*mapMetatilePtr & METATILE_ID_MASK, yMode) == TRUE)
+ if (IsLargeBreakableDecoration(*mapBlock & MAPGRID_METATILE_ID_MASK, yMode) == TRUE)
return TRUE;
return FALSE;
}
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index daa46ad765..9129c5208c 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -181,7 +181,7 @@ bool8 SetUpFieldMove_Cut(void)
for (j = 0; j < CUT_NORMAL_SIDE; j++)
{
x = j - 1 + gPlayerFacingPosition.x;
- if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height)
+ if (MapGridGetElevationAt(x, y) == gPlayerFacingPosition.elevation)
{
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE
@@ -238,7 +238,7 @@ bool8 SetUpFieldMove_Cut(void)
if (tileCuttable == TRUE)
{
- if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height)
+ if (MapGridGetElevationAt(x, y) == gPlayerFacingPosition.elevation)
{
u8 tileArrayId = ((sHyperCutStruct[i].y * 5) + 12) + (sHyperCutStruct[i].x);
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
diff --git a/src/fldeff_escalator.c b/src/fldeff_escalator.c
index 769e735623..0dc98c319c 100644
--- a/src/fldeff_escalator.c
+++ b/src/fldeff_escalator.c
@@ -126,13 +126,13 @@ static void Task_DrawEscalator(u8 taskId)
SetEscalatorMetatile(taskId, sEscalatorMetatiles_1F_1, 0);
break;
case 2:
- SetEscalatorMetatile(taskId, sEscalatorMetatiles_1F_2, METATILE_COLLISION_MASK);
+ SetEscalatorMetatile(taskId, sEscalatorMetatiles_1F_2, MAPGRID_COLLISION_MASK);
break;
case 3:
SetEscalatorMetatile(taskId, sEscalatorMetatiles_1F_3, 0);
break;
case 4:
- SetEscalatorMetatile(taskId, sEscalatorMetatiles_2F_0, METATILE_COLLISION_MASK);
+ SetEscalatorMetatile(taskId, sEscalatorMetatiles_2F_0, MAPGRID_COLLISION_MASK);
break;
case 5:
SetEscalatorMetatile(taskId, sEscalatorMetatiles_2F_1, 0);
diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c
index 9c166d0085..a303b8423b 100644
--- a/src/fldeff_flash.c
+++ b/src/fldeff_flash.c
@@ -61,13 +61,13 @@ static const struct FlashStruct sTransitionTypes[] =
{},
};
-static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/misc/cave_transition_white.gbapal");
-static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/misc/cave_transition_black.gbapal");
+static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/cave_transition/white.gbapal");
+static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/cave_transition/black.gbapal");
-static const u16 sCaveTransitionPalette_Enter[] = INCBIN_U16("graphics/misc/cave_transition_enter.gbapal");
-static const u16 sCaveTransitionPalette_Exit[] = INCBIN_U16("graphics/misc/cave_transition_exit.gbapal");
-static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/misc/cave_transition_map.bin.lz");
-static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/misc/cave_transition.4bpp.lz");
+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");
bool8 SetUpFieldMove_Flash(void)
{
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
index c01babb68a..4f3f53fa60 100644
--- a/src/fldeff_misc.c
+++ b/src/fldeff_misc.c
@@ -840,9 +840,9 @@ void DoSecretBasePCTurnOffEffect(void)
PlaySE(SE_PC_OFF);
if (!VarGet(VAR_CURRENT_SECRET_BASE))
- MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | MAPGRID_COLLISION_MASK);
else
- MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_RegisterPC | MAPGRID_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
}
@@ -1083,7 +1083,7 @@ static void SpriteCB_SandPillar_BreakTop(struct Sprite *sprite)
PlaySE(SE_M_ROCK_THROW);
if (MapGridGetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1) == METATILE_SecretBase_SandOrnament_TopWall)
- MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_Wall_TopMid | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_Wall_TopMid | MAPGRID_COLLISION_MASK);
else
MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, METATILE_SecretBase_SandOrnament_BrokenTop);
@@ -1103,7 +1103,7 @@ static void SpriteCB_SandPillar_BreakBase(struct Sprite *sprite)
}
else
{
- MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_SandOrnament_BrokenBase | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], METATILE_SecretBase_SandOrnament_BrokenBase | MAPGRID_COLLISION_MASK);
CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
sprite->data[0] = 0;
sprite->callback = SpriteCB_SandPillar_End;
diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c
index 6f4ce8002b..a30000e526 100644
--- a/src/fldeff_rocksmash.c
+++ b/src/fldeff_rocksmash.c
@@ -19,7 +19,6 @@
#include "constants/map_types.h"
#include "constants/songs.h"
-// static functions
static void Task_DoFieldMove_Init(u8 taskId);
static void Task_DoFieldMove_ShowMonAfterPose(u8 taskId);
static void Task_DoFieldMove_WaitForMon(u8 taskId);
@@ -28,14 +27,13 @@ static void Task_DoFieldMove_RunFunc(u8 taskId);
static void FieldCallback_RockSmash(void);
static void FieldMove_RockSmash(void);
-// text
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId)
{
u8 objEventId;
GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
- gPlayerFacingPosition.height = PlayerGetZCoord();
- objEventId = GetObjectEventIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height);
+ gPlayerFacingPosition.elevation = PlayerGetElevation();
+ objEventId = GetObjectEventIdByPosition(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.elevation);
if (gObjectEvents[objEventId].graphicsId != graphicsId)
{
return FALSE;
diff --git a/src/frontier_pass.c b/src/frontier_pass.c
index 8ce1e14dc4..b143587415 100644
--- a/src/frontier_pass.c
+++ b/src/frontier_pass.c
@@ -26,7 +26,6 @@
#include "overworld.h"
#include "math_util.h"
#include "constants/battle_frontier.h"
-#include "constants/maps.h"
#include "constants/rgb.h"
#include "constants/region_map_sections.h"
#include "constants/songs.h"
@@ -174,7 +173,7 @@ static const u32 sHeads_Gfx[] = INCBIN_U32("graphics/frontier
static const u32 sMapCursor_Gfx[] = INCBIN_U32("graphics/frontier_pass/map_cursor.4bpp.lz");
static const u32 sMapScreen_Tilemap[] = INCBIN_U32("graphics/frontier_pass/map_screen.bin.lz");
static const u32 sMapAndCard_ZoomedOut_Tilemap[] = INCBIN_U32("graphics/frontier_pass/small_map_and_card.bin.lz");
-static const u32 sUnusedData[] = INCBIN_U32("graphics/frontier_pass/unused.bin");
+static const u32 sCardBall_Filled_Tilemap[] = INCBIN_U32("graphics/frontier_pass/card_ball_filled.bin"); // Unused
static const u32 sBattleRecord_Tilemap[] = INCBIN_U32("graphics/frontier_pass/record_frame.bin.lz");
static const u32 sMapAndCard_Zooming_Tilemap[] = INCBIN_U32("graphics/frontier_pass/small_map_and_card_affine.bin.lz");
diff --git a/src/graphics.c b/src/graphics.c
index 73825aebf3..9f708f18b4 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -16,7 +16,7 @@ const u32 gUnusedPal_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.gbap
const u32 gSmokescreenImpactTiles[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz");
const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz");
-#include "data/graphics/interface_pokeballs.h"
+#include "data/graphics/pokeballs.h"
const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz");
@@ -147,7 +147,7 @@ const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/s
const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz");
const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz");
-const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz");
+const u32 gUnusedHpBar_Gfx[] = INCBIN_U32("graphics/battle_interface/hpbar_unused.4bpp.lz");
const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz");
@@ -165,7 +165,7 @@ const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/
const u32 gBattleInterfaceGfx_UnusedWindow1[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz");
const u32 gBattleInterfacePal_UnusedWindow1[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz");
-const u32 gBattleInterfaceGfx_BattleBar[] = INCBIN_U32("graphics/interface/battle_bar.4bpp.lz");
+const u32 gBattleInterfaceGfx_BattleBar[] = INCBIN_U32("graphics/battle_interface/battle_bar.4bpp.lz");
const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz");
const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz");
@@ -435,15 +435,15 @@ const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims
// Contest
const u32 gJPContestGfx1[] = INCBIN_U32("graphics/contest/japanese/composite_1.4bpp.lz");
const u32 gJPContestPal[] = INCBIN_U32("graphics/contest/japanese/palette.gbapal.lz");
-const u32 gJPContestTilemap1[] = INCBIN_U32("graphics/contest/japanese/tilemap_1.bin.lz");
-const u32 gJPContestTilemap2[] = INCBIN_U32("graphics/contest/japanese/tilemap_2.bin.lz");
+const u32 gJPContestBgTilemap[] = INCBIN_U32("graphics/contest/japanese/bg.bin.lz");
+const u32 gJPContestWindowsTilemap[] = INCBIN_U32("graphics/contest/japanese/windows.bin.lz");
const u32 gJPContestGfx2[] = INCBIN_U32("graphics/contest/japanese/composite_2.4bpp.lz");
const u32 gContestInterfaceAudiencePalette[] = INCBIN_U32("graphics/contest/interface_audience.gbapal.lz");
const u32 gContestAudienceTilemap[] = INCBIN_U32("graphics/contest/audience.bin.lz");
const u32 gContestInterfaceTilemap[] = INCBIN_U32("graphics/contest/interface.bin.lz");
-const u32 gContestUnusedTilemap1[] = INCBIN_U32("graphics/contest/unused_tilemap_1.bin.lz");
-const u32 gContestUnusedTilemap2[] = INCBIN_U32("graphics/contest/unused_tilemap_2.bin.lz");
+const u32 gJPContestInterfaceTilemap[] = INCBIN_U32("graphics/contest/japanese/interface.bin.lz");
+const u32 gJPContestAudienceTilemap[] = INCBIN_U32("graphics/contest/japanese/audience.bin.lz");
const u32 gContestCurtainTilemap[] = INCBIN_U32("graphics/contest/curtain.bin.lz");
const u32 gContestInterfaceGfx[] = INCBIN_U32("graphics/contest/interface.4bpp.lz");
@@ -950,9 +950,9 @@ const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz")
#include "data/graphics/battle_terrain.h"
// Battle Dome
-const u32 gDomeTourneyBg_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz");
+const u32 gDomeTourneyTree_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.4bpp.lz");
const u32 gDomeTourneyLine_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
-const u32 gDomeTourneyLineMask_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_mask_map.bin.lz");
+const u32 gDomeTourneyTree_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.bin.lz");
const u32 gDomeTourneyLineDown_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_down_map.bin.lz");
const u32 gDomeTourneyLineUp_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_up_map.bin.lz");
const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz");
@@ -967,7 +967,7 @@ const u32 gBattleArenaJudgementSymbolsGfx[] = INCBIN_U32("graphics/battle_fronti
const u32 gBattleArenaJudgementSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.gbapal.lz");
const u32 gBattleWindowTextPalette[] = INCBIN_U32("graphics/battle_interface/text.gbapal.lz");
-const u16 gPPTextPalette[] = INCBIN_U16("graphics/battle_frontier/text_pp.gbapal");
+const u16 gPPTextPalette[] = INCBIN_U16("graphics/battle_interface/text_pp.gbapal");
const u16 gTilesetAnims_BattleDomePals0_0[] = INCBIN_U16("graphics/battle_frontier/dome_anim1.gbapal");
const u16 gTilesetAnims_BattleDomePals0_1[] = INCBIN_U16("graphics/battle_frontier/dome_anim2.gbapal");
@@ -1112,13 +1112,13 @@ const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/spri
const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz");
const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz");
-const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/interface/party_menu_bg.4bpp.lz");
-const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/interface/party_menu_bg.gbapal.lz");
-const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_bg.bin.lz");
+const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/party_menu/bg.4bpp.lz");
+const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/party_menu/bg.gbapal.lz");
+const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/party_menu/bg.bin.lz");
-const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball.4bpp.lz");
-const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused
-const u32 gPartyMenuPokeball_Pal[] = INCBIN_U32("graphics/interface/party_menu_pokeball.gbapal.lz");
+const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/party_menu/pokeball.4bpp.lz");
+const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/party_menu/pokeball_small.4bpp.lz"); //unused
+const u32 gPartyMenuPokeball_Pal[] = INCBIN_U32("graphics/party_menu/pokeball.gbapal.lz");
const u32 gStatusGfx_Icons[] = INCBIN_U32("graphics/interface/status_icons.4bpp.lz");
const u32 gStatusPal_Icons[] = INCBIN_U32("graphics/interface/status_icons.gbapal.lz");
@@ -1126,50 +1126,50 @@ const u32 gStatusPal_Icons[] = INCBIN_U32("graphics/interface/status_icons.gbapa
const u32 gMoveTypes_Gfx[] = INCBIN_U32("graphics/types/move_types.4bpp.lz");
const u32 gMoveTypes_Pal[] = INCBIN_U32("graphics/types/move_types.gbapal.lz");
-const u32 gSummaryMoveSelect_Gfx[] = INCBIN_U32("graphics/interface/summary_frames.4bpp.lz");
-const u32 gSummaryMoveSelect_Pal[] = INCBIN_U32("graphics/interface/summary_frames.gbapal.lz");
+const u32 gSummaryMoveSelect_Gfx[] = INCBIN_U32("graphics/summary_screen/move_select.4bpp.lz");
+const u32 gSummaryMoveSelect_Pal[] = INCBIN_U32("graphics/summary_screen/move_select.gbapal.lz");
-const u32 gSummaryScreen_Gfx[] = INCBIN_U32("graphics/interface/summary_screen.4bpp.lz");
-const u32 gSummaryScreen_Pal[] = INCBIN_U32("graphics/interface/summary_screen.gbapal.lz");
-const u32 gSummaryPage_Info_Tilemap[] = INCBIN_U32("graphics/interface/summary_page_info.bin.lz");
-const u32 gSummaryPage_Skills_Tilemap[] = INCBIN_U32("graphics/interface/summary_page_skills.bin.lz");
-const u32 gSummaryPage_BattleMoves_Tilemap[] = INCBIN_U32("graphics/interface/summary_page_battle_moves.bin.lz");
-const u32 gSummaryPage_ContestMoves_Tilemap[] = INCBIN_U32("graphics/interface/summary_page_contest_moves.bin.lz");
-const u32 gSummaryPage_InfoCopy_Tilemap[] = INCBIN_U32("graphics/interface/summary_page_info_copy.bin.lz");
+const u32 gSummaryScreen_Gfx[] = INCBIN_U32("graphics/summary_screen/tiles.4bpp.lz");
+const u32 gSummaryScreen_Pal[] = INCBIN_U32("graphics/summary_screen/tiles.gbapal.lz");
+const u32 gSummaryPage_Info_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_info.bin.lz");
+const u32 gSummaryPage_Skills_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_skills.bin.lz");
+const u32 gSummaryPage_BattleMoves_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_battle_moves.bin.lz");
+const u32 gSummaryPage_ContestMoves_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_contest_moves.bin.lz");
+const u32 gSummaryPage_InfoEgg_Tilemap[] = INCBIN_U32("graphics/summary_screen/page_info_egg.bin.lz");
-const u32 gBagMaleTiles[] = INCBIN_U32("graphics/misc/bag_male.4bpp.lz");
-const u32 gBagFemaleTiles[] = INCBIN_U32("graphics/misc/bag_female.4bpp.lz");
-const u32 gBagPalette[] = INCBIN_U32("graphics/misc/bag.gbapal.lz");
+const u32 gBagMaleTiles[] = INCBIN_U32("graphics/bag/bag_male.4bpp.lz");
+const u32 gBagFemaleTiles[] = INCBIN_U32("graphics/bag/bag_female.4bpp.lz");
+const u32 gBagPalette[] = INCBIN_U32("graphics/bag/bag.gbapal.lz");
-const u32 gBagScreenMale_Pal[] = INCBIN_U32("graphics/interface/bag_screen_male.gbapal.lz");
-const u32 gBagScreenFemale_Pal[] = INCBIN_U32("graphics/interface/bag_screen_female.gbapal.lz");
+const u32 gBagScreenMale_Pal[] = INCBIN_U32("graphics/bag/menu_male.gbapal.lz");
+const u32 gBagScreenFemale_Pal[] = INCBIN_U32("graphics/bag/menu_female.gbapal.lz");
-const u32 gBagScreen_Gfx[] = INCBIN_U32("graphics/interface/bag_screen.4bpp.lz");
-const u32 gBagScreen_GfxTileMap[] = INCBIN_U32("graphics/interface/bag_screen_tilemap.bin.lz");
+const u32 gBagScreen_Gfx[] = INCBIN_U32("graphics/bag/menu.4bpp.lz");
+const u32 gBagScreen_GfxTileMap[] = INCBIN_U32("graphics/bag/menu.bin.lz");
-const u32 gBattlePyramidBag_Gfx[] = INCBIN_U32("graphics/interface/bag_pyramid.4bpp.lz");
-const u32 gBattlePyramidBag_Pal[] = INCBIN_U32("graphics/interface/bag_pyramid.gbapal.lz"); // female palette is first and male is second.
-const u32 gBattlePyramidBagTilemap[] = INCBIN_U32("graphics/interface/bag_pyramid_tilemap.bin.lz");
-const u32 gBattlePyramidBagInterface_Pal[] = INCBIN_U32("graphics/interface/bag_pyramid_interface.gbapal.lz");
+const u32 gBattlePyramidBag_Gfx[] = INCBIN_U32("graphics/bag/bag_pyramid.4bpp.lz");
+const u32 gBattlePyramidBag_Pal[] = INCBIN_U32("graphics/bag/bag_pyramid.gbapal.lz"); // female palette is first and male is second.
+const u32 gBattlePyramidBagTilemap[] = INCBIN_U32("graphics/bag/menu_pyramid.bin.lz");
+const u32 gBattlePyramidBagInterface_Pal[] = INCBIN_U32("graphics/bag/menu_pyramid.gbapal.lz");
-const u32 gBagSwapLineGfx[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz");
-const u32 gBagSwapLinePal[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz");
+const u32 gSwapLineGfx[] = INCBIN_U32("graphics/interface/swap_line.4bpp.lz");
+const u32 gSwapLinePal[] = INCBIN_U32("graphics/interface/swap_line.gbapal.lz");
-const u32 gBuyMenuFrame_Gfx[] = INCBIN_U32("graphics/interface/mart_frame.4bpp.lz");
-const u32 gMenuMoneyPal[] = INCBIN_U32("graphics/interface/mart_frame.gbapal.lz");
-const u32 gBuyMenuFrame_Tilemap[] = INCBIN_U32("graphics/interface/mart_frame.bin.lz");
-
-const u32 gMenuMoneyGfx[] = INCBIN_U32("graphics/interface/money.4bpp.lz");
+const u32 gShopMenu_Gfx[] = INCBIN_U32("graphics/shop/menu.4bpp.lz");
+const u32 gShopMenu_Pal[] = INCBIN_U32("graphics/shop/menu.gbapal.lz");
+const u32 gShopMenu_Tilemap[] = INCBIN_U32("graphics/shop/menu.bin.lz");
+const u32 gShopMenuMoney_Gfx[] = INCBIN_U32("graphics/shop/money.4bpp.lz");
// Pokeblock
-const u32 gMenuPokeblock_Gfx[] = INCBIN_U32("graphics/interface/pokeblock_case_frame.4bpp.lz");
-const u32 gMenuPokeblock_Pal[] = INCBIN_U32("graphics/interface/pokeblock_case_frame.gbapal.lz");
+const u32 gMenuPokeblock_Gfx[] = INCBIN_U32("graphics/pokeblock/menu.4bpp.lz");
+const u32 gMenuPokeblock_Pal[] = INCBIN_U32("graphics/pokeblock/menu.gbapal.lz");
-const u32 gMenuPokeblockDevice_Gfx[] = INCBIN_U32("graphics/interface/pokeblock_device.4bpp.lz");
-const u32 gMenuPokeblockDevice_Pal[] = INCBIN_U32("graphics/interface/pokeblock_device.gbapal.lz");
+const u32 gMenuPokeblockDevice_Gfx[] = INCBIN_U32("graphics/pokeblock/device.4bpp.lz");
+const u32 gMenuPokeblockDevice_Pal[] = INCBIN_U32("graphics/pokeblock/device.gbapal.lz");
+
+const u32 gMenuPokeblock_Tilemap[] = INCBIN_U32("graphics/pokeblock/menu.bin.lz");
-const u32 gMenuPokeblock_Tilemap[] = INCBIN_U32("graphics/interface/pokeblock.bin.lz");
const u32 gPokeblock_Gfx[] = INCBIN_U32("graphics/pokeblock/pokeblock.4bpp.lz");
const u32 gPokeblockRed_Pal[] = INCBIN_U32("graphics/pokeblock/red.gbapal.lz");
const u32 gPokeblockBlue_Pal[] = INCBIN_U32("graphics/pokeblock/blue.gbapal.lz");
@@ -1186,7 +1186,7 @@ const u32 gPokeblockBlack_Pal[] = INCBIN_U32("graphics/pokeblock/black.gbapal.lz
const u32 gPokeblockWhite_Pal[] = INCBIN_U32("graphics/pokeblock/white.gbapal.lz");
const u32 gPokeblockGold_Pal[] = INCBIN_U32("graphics/pokeblock/gold.gbapal.lz");
-const u32 gPokeblockFeedBg_Tilemap[] = INCBIN_U32("graphics/interface/pokeblock_feeding_bg_map.bin.lz");
+const u32 gPokeblockFeedBg_Tilemap[] = INCBIN_U32("graphics/pokeblock/feeding_bg.bin.lz");
#include "data/graphics/berries.h"
#include "data/graphics/rayquaza_scene.h"
@@ -1259,9 +1259,9 @@ const u32 gPokedexSearchMenu_Gfx[] = INCBIN_U32("graphics/pokedex/search_menu.4b
const u32 gPokedexSearchMenuNational_Tilemap[] = INCBIN_U32("graphics/pokedex/search_menu_national.bin.lz");
const u32 gPokedexSearchMenuHoenn_Tilemap[] = INCBIN_U32("graphics/pokedex/search_menu_hoenn.bin.lz");
-const u16 gSummaryScreenPowAcc_Tilemap[] = INCBIN_U16("graphics/interface/powacc_tilemap.bin");
-const u16 gSummaryScreenAppealJam_Tilemap[] = INCBIN_U16("graphics/interface/appealjam_tilemap.bin");
-const u16 gSummaryScreenWindow_Tilemap[] = INCBIN_U16("graphics/interface/summary.bin");
+const u16 gSummaryScreen_MoveEffect_Battle_Tilemap[] = INCBIN_U16("graphics/summary_screen/effect_battle.bin");
+const u16 gSummaryScreen_MoveEffect_Contest_Tilemap[] = INCBIN_U16("graphics/summary_screen/effect_contest.bin");
+const u16 gSummaryScreen_MoveEffect_Cancel_Tilemap[] = INCBIN_U16("graphics/summary_screen/effect_cancel.bin");
const u16 gIntroCopyright_Pal[] = INCBIN_U16("graphics/intro/copyright.gbapal");
const u32 gIntroCopyright_Gfx[] = INCBIN_U32("graphics/intro/copyright.4bpp.lz");
@@ -1270,14 +1270,12 @@ const u32 gIntroCopyright_Tilemap[] = INCBIN_U32("graphics/intro/copyright.bin.l
const u16 gPokedexAreaScreenAreaUnknown_Pal[] = INCBIN_U16("graphics/pokedex/area_unknown.gbapal");
const u32 gPokedexAreaScreenAreaUnknown_Gfx[] = INCBIN_U32("graphics/pokedex/area_unknown.4bpp.lz");
-// seems to be fire red leftovers, but the menu elements is reused in the item menu for TM descriptions.
-
const u16 gMenuInfoElements1_Pal[] = INCBIN_U16("graphics/interface/menu_info1.gbapal");
const u16 gMenuInfoElements2_Pal[] = INCBIN_U16("graphics/interface/menu_info2.gbapal");
const u16 gMenuInfoElements3_Pal[] = INCBIN_U16("graphics/interface/menu_info3.gbapal");
-const u8 gMenuInfoElements_Gfx[] = INCBIN_U8("graphics/interface/menu_info.4bpp"); //the types are reused for item menu
+const u8 gMenuInfoElements_Gfx[] = INCBIN_U8("graphics/interface/menu_info.4bpp");
-const u8 gBagMenuHMIcon_Gfx[] = INCBIN_U8("graphics/interface/hm.4bpp");
+const u8 gBagMenuHMIcon_Gfx[] = INCBIN_U8("graphics/bag/hm.4bpp");
// contest results screen
@@ -1331,8 +1329,8 @@ const u32 gRegionMapCityZoomText_Gfx[] = INCBIN_U32("graphics/pokenav/city_zoom_
const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/condition/cancel.gbapal");
const u8 gPokenavConditionCancel_Gfx[] = INCBIN_U8("graphics/pokenav/condition/cancel.4bpp");
-const u16 gMonMarkingsMenu_Pal[] = INCBIN_U16("graphics/misc/mon_markings_menu.gbapal");
-const u8 gMonMarkingsMenu_Gfx[] = INCBIN_U8("graphics/misc/mon_markings_menu.4bpp");
+const u16 gMonMarkingsMenu_Pal[] = INCBIN_U16("graphics/interface/mon_markings_menu.gbapal");
+const u8 gMonMarkingsMenu_Gfx[] = INCBIN_U8("graphics/interface/mon_markings_menu.4bpp");
const u16 gBerryBlenderMiscPalette[] = INCBIN_U16("graphics/berry_blender/misc.gbapal");
const u16 gBerryBlenderArrowPalette[] = INCBIN_U16("graphics/berry_blender/arrow.gbapal");
@@ -1449,9 +1447,9 @@ const u32 gTilesetTiles_General[] = INCBIN_U32("data/tilesets/primary/general/ti
// trade/egg hatch
-const u16 gTradeGba_Pal[] = INCBIN_U16("graphics/link/gba.gbapal");
-const u16 gTradeGba2_Pal[] = INCBIN_U16("graphics/link/gba_pal2.gbapal");
-const u8 gTradeGba_Gfx[] = INCBIN_U8("graphics/link/gba.4bpp");
+const u16 gTradeGba_Pal[] = INCBIN_U16("graphics/trade/gba.gbapal");
+const u16 gTradeGba2_Pal[] = INCBIN_U16("graphics/trade/gba_pal2.gbapal");
+const u8 gTradeGba_Gfx[] = INCBIN_U8("graphics/trade/gba.4bpp");
static const u16 sEmptyPal[16] = {0};
@@ -1505,12 +1503,12 @@ const u16 gMonIconPalettes[][16] =
const u16 gTitleScreenBgPalettes[] = INCBIN_U16("graphics/title_screen/pokemon_logo.gbapal",
"graphics/title_screen/rayquaza_and_clouds.gbapal");
const u16 gTitleScreenEmeraldVersionPal[] = INCBIN_U16("graphics/title_screen/emerald_version.gbapal");
-const u32 gTitleScreenCloudsTilemap[] = INCBIN_U32("graphics/title_screen/title_screen1.bin.lz");
+const u32 gTitleScreenCloudsTilemap[] = INCBIN_U32("graphics/title_screen/clouds.bin.lz");
const u32 gTitleScreenPokemonLogoGfx[] = INCBIN_U32("graphics/title_screen/pokemon_logo.8bpp.lz");
const u32 gTitleScreenEmeraldVersionGfx[] = INCBIN_U32("graphics/title_screen/emerald_version.8bpp.lz");
const u16 gTitleScreenPressStartPal[] = INCBIN_U16("graphics/title_screen/press_start.gbapal");
const u32 gTitleScreenPressStartGfx[] = INCBIN_U32("graphics/title_screen/press_start.4bpp.lz");
-const u32 gTitleScreenPokemonLogoTilemap[] = INCBIN_U32("graphics/title_screen/title_screen2.bin.lz");
+const u32 gTitleScreenPokemonLogoTilemap[] = INCBIN_U32("graphics/title_screen/pokemon_logo.bin.lz");
// size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but palette is only 0x100 bytes long so it loads garbage as well
const u16 gFrontierPassBg_Pal[][16] = INCBIN_U16("graphics/frontier_pass/bg.gbapal");
@@ -1523,7 +1521,7 @@ const u16 gFrontierPassCancelButtonHighlighted_Tilemap[] = INCBIN_U16("graphics/
// Berry Crush
const u16 gBerryCrush_Crusher_Pal[] = INCBIN_U16("graphics/berry_crush/crusher.gbapal");
const u32 gBerryCrush_Crusher_Gfx[] = INCBIN_U32("graphics/berry_crush/crusher.4bpp.lz");
-const u32 gBerryCrush_Crusher_Tilemap[] = INCBIN_U32("graphics/berry_crush/crusher.bin.lz");
+const u32 gBerryCrush_TextWindows_Tilemap[] = INCBIN_U32("graphics/berry_crush/text_windows.bin.lz");
// random garbage at the end.
static const u8 sEmpty3[0x54BAC] = {0};
diff --git a/src/heal_location.c b/src/heal_location.c
index 5eda24d67a..ab8dc52650 100644
--- a/src/heal_location.c
+++ b/src/heal_location.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "heal_location.h"
-#include "constants/maps.h"
#include "constants/heal_locations.h"
#include "data/heal_locations.h"
diff --git a/src/item.c b/src/item.c
index 1560342629..63287693a8 100644
--- a/src/item.c
+++ b/src/item.c
@@ -913,9 +913,9 @@ u8 ItemId_GetImportance(u16 itemId)
}
// unused
-u8 ItemId_GetUnknownValue(u16 itemId)
+u8 ItemId_GetRegistrability(u16 itemId)
{
- return gItems[SanitizeItemId(itemId)].unk19;
+ return gItems[SanitizeItemId(itemId)].registrability;
}
u8 ItemId_GetPocket(u16 itemId)
diff --git a/src/item_menu.c b/src/item_menu.c
index 56ef3cba32..9eaca9597d 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -372,7 +372,7 @@ static const struct ScrollArrowsTemplate sBagScrollArrowsTemplate = {
.palNum = 0,
};
-static const u8 sRegisteredSelect_Gfx[] = INCBIN_U8("graphics/interface/select_button.4bpp");
+static const u8 sRegisteredSelect_Gfx[] = INCBIN_U8("graphics/bag/select_button.4bpp");
enum {
COLORID_NORMAL,
diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c
index 60de132b04..a5c265f908 100644
--- a/src/item_menu_icons.c
+++ b/src/item_menu_icons.c
@@ -33,8 +33,8 @@ static void SpriteCB_SwitchPocketRotatingBallInit(struct Sprite *sprite);
static void SpriteCB_SwitchPocketRotatingBallContinue(struct Sprite *sprite);
// static const rom data
-static const u16 gRotatingBall_Pal[] = INCBIN_U16("graphics/interface/bag_spinner.gbapal");
-static const u8 gRotatingBall[] = INCBIN_U8("graphics/interface/bag_spinner.4bpp");
+static const u16 sRotatingBall_Pal[] = INCBIN_U16("graphics/bag/rotating_ball.gbapal");
+static const u8 sRotatingBall_Gfx[] = INCBIN_U8("graphics/bag/rotating_ball.4bpp");
static const u8 gCherryUnused[] = INCBIN_U8("graphics/unused/cherry.4bpp");
static const u16 gCherryUnused_Pal[] = INCBIN_U16("graphics/unused/cherry.gbapal");
@@ -200,12 +200,12 @@ static const union AffineAnimCmd *const sRotatingBallAnimCmds_FullRotation[] =
static const struct SpriteSheet sRotatingBallTable =
{
- gRotatingBall, 0x80, TAG_ROTATING_BALL_GFX
+ sRotatingBall_Gfx, 0x80, TAG_ROTATING_BALL_GFX
};
static const struct SpritePalette sRotatingBallPaletteTable =
{
- gRotatingBall_Pal, TAG_ROTATING_BALL_GFX
+ sRotatingBall_Pal, TAG_ROTATING_BALL_GFX
};
static const struct SpriteTemplate sRotatingBallSpriteTemplate =
diff --git a/src/item_use.c b/src/item_use.c
index 6e33dad33e..61e84e5ba2 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -404,25 +404,25 @@ static bool8 IsHiddenItemPresentInConnection(struct MapConnection *connection, i
switch (connection->direction)
{
// same weird temp variable behavior seen in IsHiddenItemPresentAtCoords
- case 2:
+ 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
break;
- case 1:
+ case CONNECTION_SOUTH:
localOffset = connection->offset + MAP_OFFSET;
localX = x - localOffset;
localLength = gMapHeader.mapLayout->height + MAP_OFFSET;
localY = y - localLength;
break;
- case 3:
+ 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;
break;
- case 4:
+ case CONNECTION_EAST:
localLength = gMapHeader.mapLayout->width + MAP_OFFSET;
localX = x - localLength;
localOffset = connection->offset + MAP_OFFSET;
@@ -726,11 +726,11 @@ static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId)
static bool8 TryToWaterSudowoodo(void)
{
u16 x, y;
- u8 z;
+ u8 elevation;
u8 objId;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
- z = PlayerGetZCoord();
- objId = GetObjectEventIdByXYZ(x, y, z);
+ elevation = PlayerGetElevation();
+ objId = GetObjectEventIdByPosition(x, y, elevation);
if (objId == OBJECT_EVENTS_COUNT || gObjectEvents[objId].graphicsId != OBJ_EVENT_GFX_SUDOWOODO)
return FALSE;
else
diff --git a/src/libgcnmultiboot.s b/src/libgcnmultiboot.s
index 5ecc7d2f90..968a0836ec 100644
--- a/src/libgcnmultiboot.s
+++ b/src/libgcnmultiboot.s
@@ -40,7 +40,7 @@
.text
thumb_func_start GameCubeMultiBoot_Hash
-GameCubeMultiBoot_Hash: @ 82DED70
+GameCubeMultiBoot_Hash:
push {r4,lr}
ldr r4, pool_HashVal
eors r3, r1
@@ -61,7 +61,7 @@ GameCubeMultiBoot_Hash_SkipEor:
thumb_func_start GameCubeMultiBoot_Main
@ void GameCubeMultiBoot_Main(struct GameCubeMultiBoot *mb);
-GameCubeMultiBoot_Main: @ 82DED84
+GameCubeMultiBoot_Main:
@ If there is no interrupt handler, skip counter manipulation
ldr r1, [r0, GCMB_STRUCT_SERIAL_INTR_HANDLER]
cmp r1, 0
@@ -246,7 +246,7 @@ pool_NintendoLogo: .4byte RomHeaderNintendoLogo
thumb_func_start GameCubeMultiBoot_ExecuteProgram
@ void GameCubeMultiBoot_ExecuteProgram(struct GameCubeMultiBoot *mb);
-GameCubeMultiBoot_ExecuteProgram: @ 82DEE84
+GameCubeMultiBoot_ExecuteProgram:
@ If there's no multiboot image ready, just return to caller
ldrb r1, [r0, GCMB_STRUCT_MBPROGRESS]
cmp r1, MBPROGRESS_READY_TO_BOOT
@@ -265,7 +265,7 @@ GameCubeMultiBoot_ExecuteProgram_Fail:
thumb_func_start GameCubeMultiBoot_Init
@ void GameCubeMultiBoot_Init(struct GameCubeMultiBoot *mb);
-GameCubeMultiBoot_Init: @ 82DEE98
+GameCubeMultiBoot_Init:
ldr r3, pool_InterruptRegs
@ Save IME register.
@@ -336,7 +336,7 @@ GameCubeMultiBoot_Init_ClearStructLoop:
non_word_aligned_thumb_func_start GameCubeMultiBoot_HandleSerialInterrupt
@ void GameCubeMultiBoot_HandleSerialInterrupt(struct GameCubeMultiBoot *mb);
-GameCubeMultiBoot_HandleSerialInterrupt: @ 82DEEE2
+GameCubeMultiBoot_HandleSerialInterrupt:
ldr r3, pool_SerialRegs
@ Acknowledge reset/receive/send flags.
@@ -400,7 +400,7 @@ GameCubeMultiBoot_BeginHandshake:
.align 2, 0
-GcMbIntrHandler_CheckGameCodeSent: @ 82DEF24
+GcMbIntrHandler_CheckGameCodeSent:
lsls r1, 31
bcc GcMbIntrHandler_Stop @ stop if send failed
bmi GameCubeMultiBoot_CheckHandshakeResponse @ branch if receive is complete
@@ -412,7 +412,7 @@ GcMbIntrHandler_CheckGameCodeSent: @ 82DEF24
.align 2, 0
-GcMbIntrHandler_CheckHandshakeResponse: @ 82DEF30
+GcMbIntrHandler_CheckHandshakeResponse:
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ stop if not
@@ -429,7 +429,7 @@ GameCubeMultiBoot_CheckHandshakeResponse:
.align 2, 0
-GcMbIntrHandler_ReceiveKeyA: @ 82DEF44
+GcMbIntrHandler_ReceiveKeyA:
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ branch if not
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
@@ -473,7 +473,7 @@ GameCubeMultiBoot_KeyBCheckEnd:
.align 2, 0
-GcMbIntrHandler_CheckKeyBSent: @ 82DEF84
+GcMbIntrHandler_CheckKeyBSent:
lsls r1, 31
bcc GcMbIntrHandler_Stop @ stop if send failed
bmi GameCubeMultiBoot_CheckImageSizeResponse @ branch if receive is complete
@@ -482,7 +482,7 @@ GcMbIntrHandler_CheckKeyBSent: @ 82DEF84
.align 2, 0
-GcMbIntrHandler_CheckImageSizeResponse: @ 82DEF90
+GcMbIntrHandler_CheckImageSizeResponse:
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ branch if not
GameCubeMultiBoot_CheckImageSizeResponse:
@@ -505,7 +505,7 @@ GcMbIntrHandler_StopIfNotEqual:
.align 2, 0
-GcMbIntrHandler_CheckImageResponse: @ 82DEFB4
+GcMbIntrHandler_CheckImageResponse:
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ branch if not
ldr r2, [r0, GCMB_STRUCT_CUR_DEST_PTR]
@@ -553,7 +553,7 @@ GcMbIntrHandler_StopIfSendFailed:
.align 2, 0
-GcMbIntrHandler_CheckKeyCDerivationSent: @ 82DEFF0
+GcMbIntrHandler_CheckKeyCDerivationSent:
lsls r1, 31
bcc GcMbIntrHandler_StopIfSendFailed @ branch if send failed
bmi GameCubeMultiBoot_CheckBootKeyResponse @ branch if receive is complete
@@ -562,7 +562,7 @@ GcMbIntrHandler_CheckKeyCDerivationSent: @ 82DEFF0
.align 2, 0
-GcMbIntrHandler_CheckBootKeyResponse: @ 82DEFFC
+GcMbIntrHandler_CheckBootKeyResponse:
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_StopIfSendFailed @ branch if not
@@ -580,14 +580,14 @@ GameCubeMultiBoot_CheckBootKeyResponse:
.align 2, 0
-GcMbIntrHandler_StopUnconditionally: @ 82DF010
+GcMbIntrHandler_StopUnconditionally:
b GcMbIntrHandler_Stop
thumb_func_end GameCubeMultiBoot_HandleSerialInterrupt
non_word_aligned_thumb_func_start GameCubeMultiBoot_Quit
@ void GameCubeMultiBoot_Quit();
-GameCubeMultiBoot_Quit: @ 82DF012
+GameCubeMultiBoot_Quit:
ldr r3, pool_InterruptRegs
@ Save IME register.
diff --git a/src/libisagbprn.c b/src/libisagbprn.c
index 69c6986aef..7a70cf41fa 100644
--- a/src/libisagbprn.c
+++ b/src/libisagbprn.c
@@ -31,7 +31,7 @@ void AGBPrintFlush1Block(void);
void AGBPrintInit(void)
{
volatile struct AGBPrintStruct *pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR;
- u16 *pWSCNT = ®_WAITCNT;
+ vu16 *pWSCNT = ®_WAITCNT;
u16 *pProtect = (u16 *)AGB_PRINT_PROTECT_ADDR;
u16 nOldWSCNT = *pWSCNT;
*pWSCNT = WSCNT_DATA;
@@ -57,7 +57,7 @@ static void AGBPutcInternal(const char cChr)
void AGBPutc(const char cChr)
{
- u16 *pWSCNT = ®_WAITCNT;
+ vu16 *pWSCNT = ®_WAITCNT;
u16 nOldWSCNT = *pWSCNT;
volatile struct AGBPrintStruct *pPrint;
*pWSCNT = WSCNT_DATA;
@@ -71,7 +71,7 @@ void AGBPutc(const char cChr)
void AGBPrint(const char *pBuf)
{
volatile struct AGBPrintStruct *pPrint = (struct AGBPrintStruct *)AGB_PRINT_STRUCT_ADDR;
- u16 *pWSCNT = ®_WAITCNT;
+ vu16 *pWSCNT = ®_WAITCNT;
u16 nOldWSCNT = *pWSCNT;
*pWSCNT = WSCNT_DATA;
while (*pBuf)
@@ -95,9 +95,9 @@ void AGBPrintf(const char *pBuf, ...)
static void AGBPrintTransferDataInternal(u32 bAllData)
{
LPFN_PRINT_FLUSH lpfnFuncFlush;
- u16 *pIME;
+ vu16 *pIME;
u16 nIME;
- u16 *pWSCNT;
+ vu16 *pWSCNT;
u16 nOldWSCNT;
u16 *pProtect;
volatile struct AGBPrintStruct *pPrint;
diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c
index 0b2be39b5d..85340ed96e 100644
--- a/src/lilycove_lady.c
+++ b/src/lilycove_lady.c
@@ -183,7 +183,7 @@ bool8 HasAnotherPlayerGivenFavorLadyItem(void)
sFavorLadyPtr = &gSaveBlock1Ptr->lilycoveLady.favor;
if (sFavorLadyPtr->playerName[0] != EOS)
{
- StringCopy7(gStringVar3, sFavorLadyPtr->playerName);
+ StringCopy_PlayerName(gStringVar3, sFavorLadyPtr->playerName);
ConvertInternationalString(gStringVar3, sFavorLadyPtr->language);
return TRUE;
}
@@ -204,7 +204,7 @@ void BufferFavorLadyItemName(void)
static void SetFavorLadyPlayerName(const u8 *src, u8 *dest)
{
memset(dest, EOS, PLAYER_NAME_LENGTH + 1);
- StringCopy7(dest, src);
+ StringCopy_PlayerName(dest, src);
}
void BufferFavorLadyPlayerName(void)
@@ -396,12 +396,12 @@ static u8 BufferQuizAuthorName(void)
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
if (sQuizLadyPtr->playerName[0] == EOS)
{
- StringCopy7(gStringVar1, gText_QuizLady_Lady);
+ StringCopy_PlayerName(gStringVar1, gText_QuizLady_Lady);
authorNameId = QUIZ_AUTHOR_NAME_LADY;
}
else
{
- StringCopy7(gStringVar1, sQuizLadyPtr->playerName);
+ StringCopy_PlayerName(gStringVar1, sQuizLadyPtr->playerName);
ConvertInternationalString(gStringVar1, sQuizLadyPtr->language);
nameLen = GetPlayerNameLength(sQuizLadyPtr->playerName);
if (nameLen == GetPlayerNameLength(gSaveBlock2Ptr->playerName))
@@ -552,7 +552,7 @@ void QuizLadyRecordCustomQuizData(void)
sQuizLadyPtr->prize = gSpecialVar_ItemId;
for (i = 0; i < TRAINER_ID_LENGTH; i++)
sQuizLadyPtr->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
- StringCopy7(sQuizLadyPtr->playerName, gSaveBlock2Ptr->playerName);
+ StringCopy_PlayerName(sQuizLadyPtr->playerName, gSaveBlock2Ptr->playerName);
sQuizLadyPtr->language = gGameLanguage;
}
@@ -696,7 +696,7 @@ static void BufferContestLadyCategoryAndMonName(u8 *category, u8 *nickname)
{
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
StringCopy(category, sContestLadyCategoryNames[sContestLadyPtr->category]);
- StringCopy10(nickname, sContestLadyMonNames[sContestLadyPtr->category]);
+ StringCopy_Nickname(nickname, sContestLadyMonNames[sContestLadyPtr->category]);
}
void BufferContestLadyMonName(u8 *category, u8 *nickname)
diff --git a/src/link.c b/src/link.c
index 01cc06e7c0..aa9a0d73df 100644
--- a/src/link.c
+++ b/src/link.c
@@ -158,13 +158,13 @@ static void DoSend(void);
static void StopTimer(void);
static void SendRecvDone(void);
-static const u16 sWirelessLinkDisplayPal[] = INCBIN_U16("graphics/interface/wireless_link_display.gbapal");
-static const u32 sWirelessLinkDisplayGfx[] = INCBIN_U32("graphics/interface/wireless_link_display.4bpp.lz");
-static const u32 sWirelessLinkDisplayTilemap[] = INCBIN_U32("graphics/interface/wireless_link_display.bin.lz");
-static const u16 sLinkTestDigitsPal[] = INCBIN_U16("graphics/interface/link_test_digits.gbapal");
-static const u16 sLinkTestDigitsGfx[] = INCBIN_U16("graphics/interface/link_test_digits.4bpp");
+static const u16 sWirelessLinkDisplayPal[] = INCBIN_U16("graphics/link/wireless_display.gbapal");
+static const u32 sWirelessLinkDisplayGfx[] = INCBIN_U32("graphics/link/wireless_display.4bpp.lz");
+static const u32 sWirelessLinkDisplayTilemap[] = INCBIN_U32("graphics/link/wireless_display.bin.lz");
+static const u16 sLinkTestDigitsPal[] = INCBIN_U16("graphics/link/test_digits.gbapal");
+static const u16 sLinkTestDigitsGfx[] = INCBIN_U16("graphics/link/test_digits.4bpp");
static const u8 sUnusedTransparentWhite[] = _("{HIGHLIGHT TRANSPARENT}{COLOR WHITE}");
-static const u16 sCommErrorBg_Gfx[] = INCBIN_U16("graphics/interface/comm_error_bg.4bpp");
+static const u16 sCommErrorBg_Gfx[] = INCBIN_U16("graphics/link/comm_error_bg.4bpp");
static const struct BlockRequest sBlockRequests[] = {
[BLOCK_REQ_SIZE_NONE] = {gBlockSendBuffer, 200},
[BLOCK_REQ_SIZE_200] = {gBlockSendBuffer, 200},
@@ -292,10 +292,9 @@ static void LinkTestScreen(void)
gLinkType = LINKTYPE_TRADE;
OpenLink();
SeedRng(gMain.vblankCounter2);
- for (i = 0; i < MAX_LINK_PLAYERS; i++)
- {
+ for (i = 0; i < TRAINER_ID_LENGTH; i++)
gSaveBlock2Ptr->playerTrainerId[i] = Random() % 256;
- }
+
InitLinkTestBG(0, 2, 4, 0, 0);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
CreateTask(Task_DestroySelf, 0);
diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c
index 571f305d0e..1e1fe5b347 100644
--- a/src/link_rfu_3.c
+++ b/src/link_rfu_3.c
@@ -34,8 +34,8 @@ EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0;
static u8 sSequenceArrayValOffset;
-static const u16 sWirelessLinkIconPalette[] = INCBIN_U16("graphics/interface/wireless_link_icon.gbapal");
-static const u32 sWirelessLinkIconPic[] = INCBIN_U32("graphics/interface/wireless_link_icon.4bpp.lz");
+static const u16 sWirelessLinkIconPalette[] = INCBIN_U16("graphics/link/wireless_icon.gbapal");
+static const u32 sWirelessLinkIconPic[] = INCBIN_U32("graphics/link/wireless_icon.4bpp.lz");
// Most of the below two tables won't make sense with ASCII encoding.
static const u8 sWireless_ASCIItoRSETable[256] = {
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 2cbf0a8089..f19e9f7b7b 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -113,7 +113,7 @@ void PickLotteryCornerTicket(void)
gSpecialVar_0x8006 = 1;
GetBoxMonData(&gPokemonStoragePtr->boxes[box][slot], MON_DATA_NICKNAME, gStringVar1);
}
- StringGetEnd10(gStringVar1);
+ StringGet_Nickname(gStringVar1);
}
}
diff --git a/src/m4a.c b/src/m4a.c
index b159e3873d..faeef83e79 100644
--- a/src/m4a.c
+++ b/src/m4a.c
@@ -83,7 +83,7 @@ void m4aSoundInit(void)
for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
{
struct MusicPlayerInfo *mplayInfo = gMPlayTable[i].info;
- MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].unk_8);
+ MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].numTracks);
mplayInfo->unk_B = gMPlayTable[i].unk_A;
mplayInfo->memAccArea = gMPlayMemAccArea;
}
diff --git a/src/m4a_1.s b/src/m4a_1.s
index f71a5546e4..cc5d3238d6 100644
--- a/src/m4a_1.s
+++ b/src/m4a_1.s
@@ -1910,27 +1910,7 @@ _081DDD90:
.align 2, 0 @ Don't pad with nop.
- .bss
+ .bss
gDecodingBuffer: @ Used as a buffer for audio decoded from compressed DPCM
- .space 0x40
- .size gDecodingBuffer, .-gDecodingBuffer
-
- .global gMPlayTrack_BGM
-gMPlayTrack_BGM:
- .space 0x320
- .size gMPlayTrack_BGM, .-gMPlayTrack_BGM
-
- .global gMPlayTrack_SE1
-gMPlayTrack_SE1:
- .space 0xF0
- .size gMPlayTrack_SE1, .-gMPlayTrack_SE1
-
- .global gMPlayTrack_SE2
-gMPlayTrack_SE2:
- .space 0x2D0
- .size gMPlayTrack_SE2, .-gMPlayTrack_SE2
-
- .global gMPlayTrack_SE3
-gMPlayTrack_SE3:
- .space 0x50
- .size gMPlayTrack_SE3, .-gMPlayTrack_SE3
+ .space 0x40
+ .size gDecodingBuffer, .-gDecodingBuffer
diff --git a/src/mail_data.c b/src/mail_data.c
index 683bd854ea..99cf1f9edd 100644
--- a/src/mail_data.c
+++ b/src/mail_data.c
@@ -5,7 +5,6 @@
#include "pokemon_icon.h"
#include "text.h"
#include "international_string_util.h"
-#include "constants/easy_chat.h"
#define UNOWN_OFFSET 30000
@@ -157,7 +156,7 @@ void ClearMailItemId(u8 mailId)
gSaveBlock1Ptr->mail[mailId].itemId = ITEM_NONE;
}
-u8 TakeMailFromMon2(struct Pokemon *mon)
+u8 TakeMailFromMonAndSave(struct Pokemon *mon)
{
u8 i;
u8 newHeldItem[2];
@@ -179,6 +178,7 @@ u8 TakeMailFromMon2(struct Pokemon *mon)
}
}
+ // No space to save mail
return MAIL_NONE;
}
diff --git a/src/main_menu.c b/src/main_menu.c
index 85626f30d8..c2d4198e9f 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -105,7 +105,7 @@
* printing, and then wait for A or B to be pressed.
* - Then advance to Task_HandleMainMenuBPressed.
*
- * Task_NewGameBirchSpeechInit
+ * Task_NewGameBirchSpeech_Init
* - Load the sprites for the intro speech, start playing music
* Task_NewGameBirchSpeech_WaitToShowBirch
* - Spawn Task_NewGameBirchSpeech_FadeInTarget1OutTarget2
@@ -403,8 +403,8 @@ static const struct WindowTemplate gNewGameBirchSpeechTextWindows[] =
DUMMY_WIN_TEMPLATE
};
-static const u16 sMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal");
-static const u16 sMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal");
+static const u16 sMainMenuBgPal[] = INCBIN_U16("graphics/interface/main_menu_bg.gbapal");
+static const u16 sMainMenuTextPal[] = INCBIN_U16("graphics/interface/main_menu_text.gbapal");
static const u8 sTextColor_Headers[] = {TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3};
static const u8 sTextColor_MenuInfo[] = {TEXT_DYNAMIC_COLOR_1, TEXT_COLOR_WHITE, TEXT_DYNAMIC_COLOR_3};
@@ -2090,7 +2090,7 @@ static void NewGameBirchSpeech_ShowGenderMenu(void)
DrawMainMenuWindowBorder(&gNewGameBirchSpeechTextWindows[1], 0xF3);
FillWindowPixelBuffer(1, PIXEL_FILL(1));
PrintMenuTable(1, ARRAY_COUNT(sMenuActions_Gender), sMenuActions_Gender);
- InitMenuInUpperLeftCornerNormal(1, 2, 0);
+ InitMenuInUpperLeftCornerNormal(1, ARRAY_COUNT(sMenuActions_Gender), 0);
PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_FULL);
}
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index e44fb33833..8cf1a6bab1 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -38,35 +38,35 @@ static EWRAM_DATA u8 sPopupTaskId = 0;
// .rodata
static const u8 sMapPopUp_Table[][960] =
{
- [MAPPOPUP_THEME_WOOD] = INCBIN_U8("graphics/interface/map_popup/wood.4bpp"),
- [MAPPOPUP_THEME_MARBLE] = INCBIN_U8("graphics/interface/map_popup/marble.4bpp"),
- [MAPPOPUP_THEME_STONE] = INCBIN_U8("graphics/interface/map_popup/stone.4bpp"),
- [MAPPOPUP_THEME_BRICK] = INCBIN_U8("graphics/interface/map_popup/brick.4bpp"),
- [MAPPOPUP_THEME_UNDERWATER] = INCBIN_U8("graphics/interface/map_popup/underwater.4bpp"),
- [MAPPOPUP_THEME_STONE2] = INCBIN_U8("graphics/interface/map_popup/stone2.4bpp"),
+ [MAPPOPUP_THEME_WOOD] = INCBIN_U8("graphics/map_popup/wood.4bpp"),
+ [MAPPOPUP_THEME_MARBLE] = INCBIN_U8("graphics/map_popup/marble.4bpp"),
+ [MAPPOPUP_THEME_STONE] = INCBIN_U8("graphics/map_popup/stone.4bpp"),
+ [MAPPOPUP_THEME_BRICK] = INCBIN_U8("graphics/map_popup/brick.4bpp"),
+ [MAPPOPUP_THEME_UNDERWATER] = INCBIN_U8("graphics/map_popup/underwater.4bpp"),
+ [MAPPOPUP_THEME_STONE2] = INCBIN_U8("graphics/map_popup/stone2.4bpp"),
};
static const u8 sMapPopUp_OutlineTable[][960] =
{
- [MAPPOPUP_THEME_WOOD] = INCBIN_U8("graphics/interface/map_popup/wood_outline.4bpp"),
- [MAPPOPUP_THEME_MARBLE] = INCBIN_U8("graphics/interface/map_popup/marble_outline.4bpp"),
- [MAPPOPUP_THEME_STONE] = INCBIN_U8("graphics/interface/map_popup/stone_outline.4bpp"),
- [MAPPOPUP_THEME_BRICK] = INCBIN_U8("graphics/interface/map_popup/brick_outline.4bpp"),
- [MAPPOPUP_THEME_UNDERWATER] = INCBIN_U8("graphics/interface/map_popup/underwater_outline.4bpp"),
- [MAPPOPUP_THEME_STONE2] = INCBIN_U8("graphics/interface/map_popup/stone2_outline.4bpp"),
+ [MAPPOPUP_THEME_WOOD] = INCBIN_U8("graphics/map_popup/wood_outline.4bpp"),
+ [MAPPOPUP_THEME_MARBLE] = INCBIN_U8("graphics/map_popup/marble_outline.4bpp"),
+ [MAPPOPUP_THEME_STONE] = INCBIN_U8("graphics/map_popup/stone_outline.4bpp"),
+ [MAPPOPUP_THEME_BRICK] = INCBIN_U8("graphics/map_popup/brick_outline.4bpp"),
+ [MAPPOPUP_THEME_UNDERWATER] = INCBIN_U8("graphics/map_popup/underwater_outline.4bpp"),
+ [MAPPOPUP_THEME_STONE2] = INCBIN_U8("graphics/map_popup/stone2_outline.4bpp"),
};
static const u16 sMapPopUp_PaletteTable[][16] =
{
- [MAPPOPUP_THEME_WOOD] = INCBIN_U16("graphics/interface/map_popup/wood.gbapal"),
- [MAPPOPUP_THEME_MARBLE] = INCBIN_U16("graphics/interface/map_popup/marble_outline.gbapal"),
- [MAPPOPUP_THEME_STONE] = INCBIN_U16("graphics/interface/map_popup/stone_outline.gbapal"),
- [MAPPOPUP_THEME_BRICK] = INCBIN_U16("graphics/interface/map_popup/brick_outline.gbapal"),
- [MAPPOPUP_THEME_UNDERWATER] = INCBIN_U16("graphics/interface/map_popup/underwater_outline.gbapal"),
- [MAPPOPUP_THEME_STONE2] = INCBIN_U16("graphics/interface/map_popup/stone2_outline.gbapal"),
+ [MAPPOPUP_THEME_WOOD] = INCBIN_U16("graphics/map_popup/wood.gbapal"),
+ [MAPPOPUP_THEME_MARBLE] = INCBIN_U16("graphics/map_popup/marble_outline.gbapal"),
+ [MAPPOPUP_THEME_STONE] = INCBIN_U16("graphics/map_popup/stone_outline.gbapal"),
+ [MAPPOPUP_THEME_BRICK] = INCBIN_U16("graphics/map_popup/brick_outline.gbapal"),
+ [MAPPOPUP_THEME_UNDERWATER] = INCBIN_U16("graphics/map_popup/underwater_outline.gbapal"),
+ [MAPPOPUP_THEME_STONE2] = INCBIN_U16("graphics/map_popup/stone2_outline.gbapal"),
};
-static const u16 sMapPopUp_Palette_Underwater[16] = INCBIN_U16("graphics/interface/map_popup/underwater.gbapal");
+static const u16 sMapPopUp_Palette_Underwater[16] = INCBIN_U16("graphics/map_popup/underwater.gbapal");
static const u8 sRegionMapSectionId_To_PopUpThemeIdMapping[] =
{
diff --git a/src/match_call.c b/src/match_call.c
index 85df5822d2..de7f13416d 100644
--- a/src/match_call.c
+++ b/src/match_call.c
@@ -29,7 +29,6 @@
#include "constants/abilities.h"
#include "constants/battle_frontier.h"
#include "constants/event_objects.h"
-#include "constants/maps.h"
#include "constants/region_map_sections.h"
#include "constants/songs.h"
#include "constants/trainers.h"
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index 06c3b82886..681a3dadfd 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "main.h"
#include "constants/songs.h"
-#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "mauville_old_man.h"
#include "event_data.h"
diff --git a/src/menu.c b/src/menu.c
index 6b915f9cec..49baddded5 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1542,25 +1542,25 @@ static s8 Menu_ProcessGridInputRepeat(void)
{
return MENU_B_PRESSED;
}
- else if ((JOY_REPEAT(DPAD_ANY)) == DPAD_UP)
+ else if (JOY_REPEAT(DPAD_ANY) == DPAD_UP)
{
if (oldPos != ChangeGridMenuCursorPosition(0, -1))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if ((JOY_REPEAT(DPAD_ANY)) == DPAD_DOWN)
+ else if (JOY_REPEAT(DPAD_ANY) == DPAD_DOWN)
{
if (oldPos != ChangeGridMenuCursorPosition(0, 1))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if ((JOY_REPEAT(DPAD_ANY)) == DPAD_LEFT || GetLRKeysPressedAndHeld() == MENU_L_PRESSED)
+ else if (JOY_REPEAT(DPAD_ANY) == DPAD_LEFT || GetLRKeysPressedAndHeld() == MENU_L_PRESSED)
{
if (oldPos != ChangeGridMenuCursorPosition(-1, 0))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
- else if ((JOY_REPEAT(DPAD_ANY)) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == MENU_R_PRESSED)
+ else if (JOY_REPEAT(DPAD_ANY) == DPAD_RIGHT || GetLRKeysPressedAndHeld() == MENU_R_PRESSED)
{
if (oldPos != ChangeGridMenuCursorPosition(1, 0))
PlaySE(SE_SELECT);
diff --git a/src/menu_helpers.c b/src/menu_helpers.c
index 5bc197010b..e9f3e571f0 100644
--- a/src/menu_helpers.c
+++ b/src/menu_helpers.c
@@ -16,7 +16,6 @@
#include "decompress.h"
#include "constants/songs.h"
#include "constants/items.h"
-#include "constants/maps.h"
#define TAG_SWAP_LINE 109
@@ -72,12 +71,12 @@ static const union AnimCmd *const sAnims_SwapLine[] =
static const struct CompressedSpriteSheet sSpriteSheet_SwapLine =
{
- gBagSwapLineGfx, 0x100, TAG_SWAP_LINE
+ gSwapLineGfx, 0x100, TAG_SWAP_LINE
};
static const struct CompressedSpritePalette sSpritePalette_SwapLine =
{
- gBagSwapLinePal, TAG_SWAP_LINE
+ gSwapLinePal, TAG_SWAP_LINE
};
static const struct SpriteTemplate sSpriteTemplate_SwapLine =
diff --git a/src/menu_specialized.c b/src/menu_specialized.c
index 20d67ca7f9..cd77f4a59c 100644
--- a/src/menu_specialized.c
+++ b/src/menu_specialized.c
@@ -919,7 +919,7 @@ static u8 *GetConditionMenuMonString(u8 *dst, u16 boxId, u16 monId)
if (GetBoxOrPartyMonData(box, mon, MON_DATA_IS_EGG, NULL))
return StringCopyPadded(dst, gText_EggNickname, 0, 12);
GetBoxOrPartyMonData(box, mon, MON_DATA_NICKNAME, dst);
- StringGetEnd10(dst);
+ StringGet_Nickname(dst);
species = GetBoxOrPartyMonData(box, mon, MON_DATA_SPECIES, NULL);
if (box == TOTAL_BOXES_COUNT) // Party mon.
{
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index ad5eb42ccd..72d3ac632f 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -2,254 +2,129 @@
#include "metatile_behavior.h"
#include "constants/metatile_behaviors.h"
-#define TILE_FLAG_ENCOUNTER_TILE 1
-#define TILE_FLAG_SURFABLE 2
+#define TILE_FLAG_HAS_ENCOUNTERS (1 << 0)
+#define TILE_FLAG_SURFABLE (1 << 1)
+#define TILE_FLAG_UNUSED (1 << 2) // Roughly all of the traversable metatiles. Set but never read
-#define TILE_ATTRIBUTES(unused, surfable, wildEncounter) (((wildEncounter) ? 1 : 0) | ((surfable) ? 2 : 0) | ((unused) ? 4 : 0))
-
-// wonder what the third flag is supposed to do
-static const u8 sTileBitAttributes[] =
+static const u8 sTileBitAttributes[NUM_METATILE_BEHAVIORS] =
{
- [MB_NORMAL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_TALL_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_LONG_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_UNUSED_04] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_05] = TILE_ATTRIBUTES(FALSE, FALSE, TRUE),
- [MB_DEEP_SAND] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_SHORT_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_CAVE] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_LONG_GRASS_SOUTH_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_NO_RUNNING] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_INDOOR_ENCOUNTER] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_MOUNTAIN_TOP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BATTLE_PYRAMID_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_MOSSDEEP_GYM_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_MT_PYRE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_POND_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
- [MB_SEMI_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
- [MB_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
- [MB_WATERFALL] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_SOOTOPOLIS_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_OCEAN_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
- [MB_PUDDLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SHALLOW_WATER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_SOOTOPOLIS_DEEP_WATER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_NO_SURFACING] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_STAIRS_OUTSIDE_ABANDONED_SHIP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SHOAL_CAVE_ENTRANCE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_1D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_1E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_1F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SAND] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SEAWEED] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
- [MB_UNUSED_23] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_ASHGRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_FOOTPRINTS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
- [MB_THIN_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_CRACKED_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_HOT_SPRINGS] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_LAVARIDGE_GYM_B1F_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SEAWEED_NO_SURFACING] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
- [MB_REFLECTION_UNDER_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_2C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_2D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_2E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_2F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_IMPASSABLE_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_NORTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_NORTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_SOUTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_SOUTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_JUMP_EAST] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_JUMP_WEST] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_JUMP_NORTH] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_JUMP_SOUTH] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_JUMP_NORTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_JUMP_NORTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_JUMP_SOUTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_JUMP_SOUTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_WALK_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_WALK_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_WALK_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_WALK_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SLIDE_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SLIDE_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SLIDE_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SLIDE_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_TRICK_HOUSE_PUZZLE_8_FLOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_49] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_4A] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_4B] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_4C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_4D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_4E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_4F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_EASTWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_WESTWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_NORTHWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_SOUTHWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_UNUSED_54] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_55] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_56] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_57] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_58] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_59] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_5A] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_5B] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_5C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_5D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_5E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_5F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_NON_ANIMATED_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_LADDER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_EAST_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_WEST_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_NORTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SOUTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_CRACKED_FLOOR_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_AQUA_HIDEOUT_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_LAVARIDGE_GYM_1F_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_ANIMATED_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UP_ESCALATOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_DOWN_ESCALATOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_WATER_DOOR] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_WATER_SOUTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_DEEP_SOUTH_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_6F] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
- [MB_BRIDGE_OVER_OCEAN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_LOW] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_MED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_HIGH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_PACIFIDLOG_VERTICAL_LOG_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_PACIFIDLOG_VERTICAL_LOG_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_PACIFIDLOG_HORIZONTAL_LOG_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_PACIFIDLOG_HORIZONTAL_LOG_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_FORTREE_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_79] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_MED_EDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_MED_EDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_HIGH_EDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BRIDGE_OVER_POND_HIGH_EDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BIKE_BRIDGE_OVER_BARRIER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_COUNTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_81] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_82] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_CABLE_BOX_RESULTS_1] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_REGION_MAP] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_TELEVISION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_POKEBLOCK_FEEDER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_88] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SLOT_MACHINE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_ROULETTE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_CLOSED_SOOTOPOLIS_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_TRICK_HOUSE_PUZZLE_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_PETALBURG_GYM_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_RUNNING_SHOES_INSTRUCTION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_QUESTIONNAIRE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_RED_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_RED_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_BROWN_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_YELLOW_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_TREE_LEFT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_SHRUB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_SHRUB_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_BLUE_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_TREE_RIGHT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_9E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_9F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_BERRY_TREE_SOIL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A1] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A3] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A4] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A5] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A7] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_A9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_AA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_AB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_AC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_AD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_AE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_AF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_REGISTER_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_HOLDS_SMALL_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_IMPASSABLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_GLITTER_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_JUMP_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_SPIN_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_SOUND_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_BREAKABLE_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_SAND_ORNAMENT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_HOLDS_LARGE_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_SECRET_BASE_DECORATION_BASE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SECRET_BASE_POSTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_C8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_C9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_CA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_CB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_CC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_CD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_CE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_CF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_MUDDY_SLOPE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_BUMPY_SLOPE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_CRACKED_FLOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_ISOLATED_VERTICAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_ISOLATED_HORIZONTAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_VERTICAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_HORIZONTAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
- [MB_UNUSED_D7] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_D8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_D9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_DA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_DB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_DC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_DD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_DE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_DF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_PICTURE_BOOK_SHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_BOOKSHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_POKEMON_CENTER_BOOKSHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_VASE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_TRASH_CAN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SHOP_SHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_BLUEPRINT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_CABLE_BOX_RESULTS_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_WIRELESS_BOX_RESULTS] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_TRAINER_HILL_TIMER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_SKY_PILLAR_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_EB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_EC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_ED] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_EE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
- [MB_UNUSED_EF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_NORMAL] = TILE_FLAG_UNUSED,
+ [MB_TALL_GRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_LONG_GRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_UNUSED_05] = TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_DEEP_SAND] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_SHORT_GRASS] = TILE_FLAG_UNUSED,
+ [MB_CAVE] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_LONG_GRASS_SOUTH_EDGE] = TILE_FLAG_UNUSED,
+ [MB_NO_RUNNING] = TILE_FLAG_UNUSED,
+ [MB_INDOOR_ENCOUNTER] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_MOUNTAIN_TOP] = TILE_FLAG_UNUSED,
+ [MB_BATTLE_PYRAMID_WARP] = TILE_FLAG_UNUSED,
+ [MB_MOSSDEEP_GYM_WARP] = TILE_FLAG_UNUSED,
+ [MB_MT_PYRE_HOLE] = TILE_FLAG_UNUSED,
+ [MB_POND_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_SEMI_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_WATERFALL] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_SOOTOPOLIS_DEEP_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_OCEAN_WATER] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_PUDDLE] = TILE_FLAG_UNUSED,
+ [MB_SHALLOW_WATER] = TILE_FLAG_UNUSED,
+ [MB_NO_SURFACING] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_STAIRS_OUTSIDE_ABANDONED_SHIP] = TILE_FLAG_UNUSED,
+ [MB_SHOAL_CAVE_ENTRANCE] = TILE_FLAG_UNUSED,
+ [MB_ICE] = TILE_FLAG_UNUSED,
+ [MB_SAND] = TILE_FLAG_UNUSED,
+ [MB_SEAWEED] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_UNUSED_23] = TILE_FLAG_UNUSED,
+ [MB_ASHGRASS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_FOOTPRINTS] = TILE_FLAG_UNUSED | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_THIN_ICE] = TILE_FLAG_UNUSED,
+ [MB_CRACKED_ICE] = TILE_FLAG_UNUSED,
+ [MB_HOT_SPRINGS] = TILE_FLAG_UNUSED,
+ [MB_LAVARIDGE_GYM_B1F_WARP] = TILE_FLAG_UNUSED,
+ [MB_SEAWEED_NO_SURFACING] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE | TILE_FLAG_HAS_ENCOUNTERS,
+ [MB_REFLECTION_UNDER_BRIDGE] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_EAST] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_WEST] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_NORTH] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_SOUTH] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_NORTHEAST] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_NORTHWEST] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_SOUTHEAST] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_SOUTHWEST] = TILE_FLAG_UNUSED,
+ [MB_JUMP_NORTHEAST] = TILE_FLAG_UNUSED,
+ [MB_JUMP_NORTHWEST] = TILE_FLAG_UNUSED,
+ [MB_JUMP_SOUTHEAST] = TILE_FLAG_UNUSED,
+ [MB_JUMP_SOUTHWEST] = TILE_FLAG_UNUSED,
+ [MB_WALK_EAST] = TILE_FLAG_UNUSED,
+ [MB_WALK_WEST] = TILE_FLAG_UNUSED,
+ [MB_WALK_NORTH] = TILE_FLAG_UNUSED,
+ [MB_WALK_SOUTH] = TILE_FLAG_UNUSED,
+ [MB_SLIDE_EAST] = TILE_FLAG_UNUSED,
+ [MB_SLIDE_WEST] = TILE_FLAG_UNUSED,
+ [MB_SLIDE_NORTH] = TILE_FLAG_UNUSED,
+ [MB_SLIDE_SOUTH] = TILE_FLAG_UNUSED,
+ [MB_TRICK_HOUSE_PUZZLE_8_FLOOR] = TILE_FLAG_UNUSED,
+ [MB_UNUSED_49] = TILE_FLAG_UNUSED,
+ [MB_UNUSED_4A] = TILE_FLAG_UNUSED,
+ [MB_EASTWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_WESTWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_NORTHWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_SOUTHWARD_CURRENT] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_NON_ANIMATED_DOOR] = TILE_FLAG_UNUSED,
+ [MB_LADDER] = TILE_FLAG_UNUSED,
+ [MB_EAST_ARROW_WARP] = TILE_FLAG_UNUSED,
+ [MB_WEST_ARROW_WARP] = TILE_FLAG_UNUSED,
+ [MB_NORTH_ARROW_WARP] = TILE_FLAG_UNUSED,
+ [MB_SOUTH_ARROW_WARP] = TILE_FLAG_UNUSED,
+ [MB_CRACKED_FLOOR_HOLE] = TILE_FLAG_UNUSED,
+ [MB_AQUA_HIDEOUT_WARP] = TILE_FLAG_UNUSED,
+ [MB_LAVARIDGE_GYM_1F_WARP] = TILE_FLAG_UNUSED,
+ [MB_ANIMATED_DOOR] = TILE_FLAG_UNUSED,
+ [MB_UP_ESCALATOR] = TILE_FLAG_UNUSED,
+ [MB_DOWN_ESCALATOR] = TILE_FLAG_UNUSED,
+ [MB_WATER_DOOR] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_WATER_SOUTH_ARROW_WARP] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_DEEP_SOUTH_WARP] = TILE_FLAG_UNUSED,
+ [MB_UNUSED_6F] = TILE_FLAG_UNUSED | TILE_FLAG_SURFABLE,
+ [MB_BRIDGE_OVER_POND_LOW] = TILE_FLAG_UNUSED,
+ [MB_BRIDGE_OVER_POND_MED] = TILE_FLAG_UNUSED,
+ [MB_BRIDGE_OVER_POND_HIGH] = TILE_FLAG_UNUSED,
+ [MB_PACIFIDLOG_VERTICAL_LOG_TOP] = TILE_FLAG_UNUSED,
+ [MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM] = TILE_FLAG_UNUSED,
+ [MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT] = TILE_FLAG_UNUSED,
+ [MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT] = TILE_FLAG_UNUSED,
+ [MB_FORTREE_BRIDGE] = TILE_FLAG_UNUSED,
+ [MB_BRIDGE_OVER_POND_MED_EDGE_1] = TILE_FLAG_UNUSED,
+ [MB_BRIDGE_OVER_POND_MED_EDGE_2] = TILE_FLAG_UNUSED,
+ [MB_BRIDGE_OVER_POND_HIGH_EDGE_1] = TILE_FLAG_UNUSED,
+ [MB_BRIDGE_OVER_POND_HIGH_EDGE_2] = TILE_FLAG_UNUSED,
+ [MB_UNUSED_BRIDGE] = TILE_FLAG_UNUSED,
+ [MB_BIKE_BRIDGE_OVER_BARRIER] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_SCENERY] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_TRAINER_SPOT] = TILE_FLAG_UNUSED,
+ [MB_HOLDS_SMALL_DECORATION] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_BALLOON] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_IMPASSABLE] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_GLITTER_MAT] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_JUMP_MAT] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_SPIN_MAT] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_SOUND_MAT] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_BREAKABLE_DOOR] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_FLAG_UNUSED,
+ [MB_IMPASSABLE_WEST_AND_EAST] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_HOLE] = TILE_FLAG_UNUSED,
+ [MB_HOLDS_LARGE_DECORATION] = TILE_FLAG_UNUSED,
+ [MB_SECRET_BASE_TV_SHIELD] = TILE_FLAG_UNUSED,
+ [MB_PLAYER_ROOM_PC_ON] = TILE_FLAG_UNUSED,
+ [MB_MUDDY_SLOPE] = TILE_FLAG_UNUSED,
+ [MB_BUMPY_SLOPE] = TILE_FLAG_UNUSED,
+ [MB_CRACKED_FLOOR] = TILE_FLAG_UNUSED,
+ [MB_ISOLATED_VERTICAL_RAIL] = TILE_FLAG_UNUSED,
+ [MB_ISOLATED_HORIZONTAL_RAIL] = TILE_FLAG_UNUSED,
+ [MB_VERTICAL_RAIL] = TILE_FLAG_UNUSED,
+ [MB_HORIZONTAL_RAIL] = TILE_FLAG_UNUSED,
};
bool8 MetatileBehavior_IsATile(u8 metatileBehavior)
@@ -259,7 +134,7 @@ bool8 MetatileBehavior_IsATile(u8 metatileBehavior)
bool8 MetatileBehavior_IsEncounterTile(u8 metatileBehavior)
{
- if ((sTileBitAttributes[metatileBehavior] & TILE_FLAG_ENCOUNTER_TILE))
+ if ((sTileBitAttributes[metatileBehavior] & TILE_FLAG_HAS_ENCOUNTERS))
return TRUE;
else
return FALSE;
@@ -687,17 +562,19 @@ bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8 metatileBehavior)
return FALSE;
}
-bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2(u8 metatileBehavior)
+// Used by the rock/grass floor spaces that the secret base trainer is not standing on
+bool8 MetatileBehavior_IsSecretBaseScenery1(u8 metatileBehavior)
{
- if (metatileBehavior == MB_SECRET_BASE_UNUSED)
+ if (metatileBehavior == MB_SECRET_BASE_SCENERY)
return TRUE;
else
return FALSE;
}
-bool8 MetatileBehavior_IsBlockDecoration(u8 metatileBehavior)
+// Used by the rock/grass floor space that the secret base trainer stands on
+bool8 MetatileBehavior_IsSecretBaseTrainerSpot(u8 metatileBehavior)
{
- if (metatileBehavior == MB_BLOCK_DECORATION)
+ if (metatileBehavior == MB_SECRET_BASE_TRAINER_SPOT)
return TRUE;
else
return FALSE;
@@ -743,9 +620,9 @@ bool8 MetatileBehavior_IsSecretBaseNorthWall(u8 metatileBehavior)
return FALSE;
}
-bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2_2(u8 metatileBehavior)
+bool8 MetatileBehavior_IsSecretBaseScenery2(u8 metatileBehavior)
{
- if (metatileBehavior == MB_SECRET_BASE_UNUSED)
+ if (metatileBehavior == MB_SECRET_BASE_SCENERY)
return TRUE;
else
return FALSE;
@@ -1131,33 +1008,33 @@ bool8 MetatileBehavior_IsFortreeBridge(u8 metatileBehavior)
return FALSE;
}
-bool8 MetatileBehavior_IsPacifidlogVerticalLog1(u8 metatileBehavior)
+bool8 MetatileBehavior_IsPacifidlogVerticalLogTop(u8 metatileBehavior)
{
- if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_1)
+ if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_TOP)
return TRUE;
else
return FALSE;
}
-bool8 MetatileBehavior_IsPacifidlogVerticalLog2(u8 metatileBehavior)
+bool8 MetatileBehavior_IsPacifidlogVerticalLogBottom(u8 metatileBehavior)
{
- if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_2)
+ if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM)
return TRUE;
else
return FALSE;
}
-bool8 MetatileBehavior_IsPacifidlogHorizontalLog1(u8 metatileBehavior)
+bool8 MetatileBehavior_IsPacifidlogHorizontalLogLeft(u8 metatileBehavior)
{
- if (metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_1)
+ if (metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT)
return TRUE;
else
return FALSE;
}
-bool8 MetatileBehavior_IsPacifidlogHorizontalLog2(u8 metatileBehavior)
+bool8 MetatileBehavior_IsPacifidlogHorizontalLogRight(u8 metatileBehavior)
{
- if (metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_2)
+ if (metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT)
return TRUE;
else
return FALSE;
@@ -1165,10 +1042,10 @@ bool8 MetatileBehavior_IsPacifidlogHorizontalLog2(u8 metatileBehavior)
bool8 MetatileBehavior_IsPacifidlogLog(u8 metatileBehavior)
{
- if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_1
- || metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_2
- || metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_1
- || metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_2)
+ if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_TOP
+ || metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_BOTTOM
+ || metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_LEFT
+ || metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_RIGHT)
return TRUE;
else
return FALSE;
diff --git a/src/minigame_countdown.c b/src/minigame_countdown.c
index 178b6d5b79..4c72136d4c 100644
--- a/src/minigame_countdown.c
+++ b/src/minigame_countdown.c
@@ -48,8 +48,8 @@ static void Task_StaticCountdown_Free(u8 taskId);
static void Task_StaticCountdown_Start(u8 taskId);
static void Task_StaticCountdown_Run(u8 taskId);
-static const u16 s321Start_Static_Pal[] = INCBIN_U16("graphics/minigame_countdown/321start_static.gbapal");
-static const u32 s321Start_Static_Gfx[] = INCBIN_U32("graphics/minigame_countdown/321start_static.4bpp.lz");
+static const u16 s321Start_Static_Pal[] = INCBIN_U16("graphics/link/321start_static.gbapal");
+static const u32 s321Start_Static_Gfx[] = INCBIN_U32("graphics/link/321start_static.4bpp.lz");
static const struct CompressedSpriteSheet sSpriteSheet_321Start_Static[] =
{
@@ -374,8 +374,8 @@ static void CreateStartSprite(u16 tileTag, u16 palTag, s16 x, s16 y, u8 subprior
static void InitStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3);
static void SpriteCB_Start(struct Sprite *sprite);
-static const u16 s321Start_Pal[] = INCBIN_U16("graphics/minigame_countdown/321start.gbapal");
-static const u32 s321Start_Gfx[] = INCBIN_U32("graphics/minigame_countdown/321start.4bpp.lz");
+static const u16 s321Start_Pal[] = INCBIN_U16("graphics/link/321start.gbapal");
+static const u32 s321Start_Gfx[] = INCBIN_U32("graphics/link/321start.4bpp.lz");
#define tState data[0]
#define tTilesTag data[2]
diff --git a/src/mirage_tower.c b/src/mirage_tower.c
index 9473b0f82e..7300262988 100644
--- a/src/mirage_tower.c
+++ b/src/mirage_tower.c
@@ -15,7 +15,6 @@
#include "task.h"
#include "window.h"
#include "constants/event_objects.h"
-#include "constants/maps.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/metatile_labels.h"
diff --git a/src/mon_markings.c b/src/mon_markings.c
index dbd5a2fa81..1e03179e94 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -22,8 +22,8 @@ static void SpriteCB_Marking(struct Sprite *);
static void SpriteCB_Cursor(struct Sprite *);
static struct Sprite *CreateMarkingComboSprite(u16, u16, const u16 *, u16);
-static const u16 sMonMarkings_Pal[] = INCBIN_U16("graphics/misc/mon_markings.gbapal");
-static const u8 sMonMarkings_Gfx[] = INCBIN_U8("graphics/misc/mon_markings.4bpp");
+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 struct OamData sOamData_MenuWindow =
{
diff --git a/src/money.c b/src/money.c
index c331462d4e..5723974a83 100644
--- a/src/money.c
+++ b/src/money.c
@@ -58,14 +58,14 @@ static const struct SpriteTemplate sSpriteTemplate_MoneyLabel =
static const struct CompressedSpriteSheet sSpriteSheet_MoneyLabel =
{
- .data = gMenuMoneyGfx,
+ .data = gShopMenuMoney_Gfx,
.size = 256,
.tag = MONEY_LABEL_TAG,
};
static const struct CompressedSpritePalette sSpritePalette_MoneyLabel =
{
- .data = gMenuMoneyPal,
+ .data = gShopMenu_Pal,
.tag = MONEY_LABEL_TAG
};
@@ -132,7 +132,7 @@ void SubtractMoneyFromVar0x8005(void)
void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed)
{
- PrintMoneyAmount(windowId, 0x26, 1, amount, speed);
+ PrintMoneyAmount(windowId, 38, 1, amount, speed);
}
void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed)
@@ -146,7 +146,7 @@ void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed)
txtPtr = gStringVar4;
while (strLength-- > 0)
- *(txtPtr++) = 0x77;
+ *(txtPtr++) = CHAR_SPACER;
StringExpandPlaceholders(txtPtr, gText_PokedollarVar1);
AddTextPrinterParameterized(windowId, FONT_NORMAL, gStringVar4, x, y, speed, NULL);
diff --git a/src/move_relearner.c b/src/move_relearner.c
index 92d2306167..2b925135f0 100644
--- a/src/move_relearner.c
+++ b/src/move_relearner.c
@@ -912,7 +912,7 @@ static void CreateLearnableMovesList(void)
}
GetMonData(&gPlayerParty[sMoveRelearnerStruct->partyMon], MON_DATA_NICKNAME, nickname);
- StringCopy10(gStringVar1, nickname);
+ StringCopy_Nickname(gStringVar1, nickname);
sMoveRelearnerStruct->menuItems[sMoveRelearnerStruct->numMenuChoices].name = gText_Cancel;
sMoveRelearnerStruct->menuItems[sMoveRelearnerStruct->numMenuChoices].id = LIST_CANCEL;
sMoveRelearnerStruct->numMenuChoices++;
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index 717931268a..0007664ba1 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -111,16 +111,16 @@ static bool8 GetEventLoadMessage(u8 *dest, u32 status)
{
bool8 retVal = TRUE;
- if (status == 0)
+ if (status == MEVENT_STATUS_LOAD_OK)
{
StringCopy(dest, gText_EventSafelyLoaded);
retVal = FALSE;
}
- if (status == 2)
+ if (status == MEVENT_STATUS_SUCCESS)
retVal = FALSE;
- if (status == 1)
+ if (status == MEVENT_STATUS_LOAD_ERROR)
StringCopy(dest, gText_LoadErrorEndingSession);
return retVal;
@@ -193,7 +193,7 @@ static void CB2_MysteryEventMenu(void)
}
else
{
- GetEventLoadMessage(gStringVar4, 1);
+ GetEventLoadMessage(gStringVar4, MEVENT_STATUS_LOAD_ERROR);
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
gMain.state = 13;
}
@@ -206,7 +206,7 @@ static void CB2_MysteryEventMenu(void)
if (GetLinkPlayerDataExchangeStatusTimed(2, 2) == EXCHANGE_DIFF_SELECTIONS)
{
SetCloseLinkCallback();
- GetEventLoadMessage(gStringVar4, 1);
+ GetEventLoadMessage(gStringVar4, MEVENT_STATUS_LOAD_ERROR);
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
gMain.state = 13;
}
@@ -218,7 +218,7 @@ static void CB2_MysteryEventMenu(void)
else
{
CloseLink();
- GetEventLoadMessage(gStringVar4, 1);
+ GetEventLoadMessage(gStringVar4, MEVENT_STATUS_LOAD_ERROR);
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
gMain.state = 13;
}
@@ -252,9 +252,9 @@ static void CB2_MysteryEventMenu(void)
case 11:
if (gReceivedRemoteLinkPlayers == 0)
{
- u16 unkVal = RunMysteryEventScript(gDecompressionBuffer);
+ u16 status = RunMysteryEventScript(gDecompressionBuffer);
CpuFill32(0, gDecompressionBuffer, 0x7D4);
- if (!GetEventLoadMessage(gStringVar4, unkVal))
+ if (!GetEventLoadMessage(gStringVar4, status))
TrySavingData(SAVE_NORMAL);
gMain.state++;
}
@@ -290,7 +290,7 @@ static void CB2_MysteryEventMenu(void)
if (gLinkStatus & 0x40 && !IsLinkMaster())
{
CloseLink();
- GetEventLoadMessage(gStringVar4, 1);
+ GetEventLoadMessage(gStringVar4, MEVENT_STATUS_LOAD_ERROR);
PrintMysteryMenuText(0, gStringVar4, 1, 2, 1);
gMain.state = 13;
}
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index 18a1a0d07c..5f08c62948 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -22,6 +22,11 @@ extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[];
#define LANGUAGE_MASK 0x1
#define VERSION_MASK 0x200
+#define mScriptBase data[0]
+#define mOffset data[1]
+#define mStatus data[2]
+#define mValid data[3]
+
EWRAM_DATA static struct ScriptContext sMysteryEventScriptContext = {0};
static bool32 CheckCompatibility(u16 a1, u32 a2, u16 a3, u32 a4)
@@ -44,22 +49,22 @@ static bool32 CheckCompatibility(u16 a1, u32 a2, u16 a3, u32 a4)
static void SetIncompatible(void)
{
StringExpandPlaceholders(gStringVar4, gText_MysteryEventCantBeUsed);
- SetMysteryEventScriptStatus(3);
+ SetMysteryEventScriptStatus(MEVENT_STATUS_FAILURE);
}
static void InitMysteryEventScript(struct ScriptContext *ctx, u8 *script)
{
InitScriptContext(ctx, gMysteryEventScriptCmdTable, gMysteryEventScriptCmdTableEnd);
SetupBytecodeScript(ctx, script);
- ctx->data[0] = (u32)script;
- ctx->data[1] = 0;
- ctx->data[2] = 0;
- ctx->data[3] = 0;
+ ctx->mScriptBase = (u32)script;
+ ctx->mOffset = 0;
+ ctx->mStatus = MEVENT_STATUS_LOAD_OK;
+ ctx->mValid = FALSE;
}
static bool32 RunMysteryEventScriptCommand(struct ScriptContext *ctx)
{
- if (RunScriptCommand(ctx) && ctx->data[3])
+ if (RunScriptCommand(ctx) && ctx->mValid)
return TRUE;
else
return FALSE;
@@ -70,10 +75,10 @@ void InitMysteryEventScriptContext(u8 *script)
InitMysteryEventScript(&sMysteryEventScriptContext, script);
}
-bool32 RunMysteryEventScriptContextCommand(u32 *script)
+bool32 RunMysteryEventScriptContextCommand(u32 *status)
{
bool32 ret = RunMysteryEventScriptCommand(&sMysteryEventScriptContext);
- *script = sMysteryEventScriptContext.data[2];
+ *status = sMysteryEventScriptContext.mStatus;
return ret;
}
@@ -84,12 +89,12 @@ u32 RunMysteryEventScript(u8 *script)
InitMysteryEventScript(ctx, script);
while (RunMysteryEventScriptCommand(ctx));
- return ctx->data[2];
+ return ctx->mStatus;
}
-void SetMysteryEventScriptStatus(u32 val)
+void SetMysteryEventScriptStatus(u32 status)
{
- sMysteryEventScriptContext.data[2] = val;
+ sMysteryEventScriptContext.mStatus = status;
}
static int CalcRecordMixingGiftChecksum(void)
@@ -174,14 +179,14 @@ bool8 MEScrCmd_checkcompat(struct ScriptContext *ctx)
u16 v3;
u32 v4;
- ctx->data[1] = ScriptReadWord(ctx);
+ ctx->mOffset = ScriptReadWord(ctx);
v1 = ScriptReadHalfword(ctx);
v2 = ScriptReadWord(ctx);
v3 = ScriptReadHalfword(ctx);
v4 = ScriptReadWord(ctx);
if (CheckCompatibility(v1, v2, v3, v4) == TRUE)
- ctx->data[3] = 1;
+ ctx->mValid = TRUE;
else
SetIncompatible();
@@ -195,23 +200,23 @@ bool8 MEScrCmd_nop(struct ScriptContext *ctx)
bool8 MEScrCmd_setstatus(struct ScriptContext *ctx)
{
- u8 value = ScriptReadByte(ctx);
- ctx->data[2] = value;
+ u8 status = ScriptReadByte(ctx);
+ ctx->mStatus = status;
return FALSE;
}
bool8 MEScrCmd_setmsg(struct ScriptContext *ctx)
{
- u8 value = ScriptReadByte(ctx);
- u8 *str = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
- if (value == 0xFF || value == ctx->data[2])
+ u8 status = ScriptReadByte(ctx);
+ u8 *str = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
+ if (status == MEVENT_STATUS_FF || status == ctx->mStatus)
StringExpandPlaceholders(gStringVar4, str);
return FALSE;
}
bool8 MEScrCmd_runscript(struct ScriptContext *ctx)
{
- u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
+ u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
ScriptContext2_RunNewScript(script);
return FALSE;
}
@@ -221,7 +226,7 @@ bool8 MEScrCmd_setenigmaberry(struct ScriptContext *ctx)
u8 *str;
const u8 *message;
bool32 haveBerry = IsEnigmaBerryValid();
- u8 *berry = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
+ u8 *berry = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
StringCopyN(gStringVar1, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_LENGTH + 1);
SetEnigmaBerry(berry);
StringCopyN(gStringVar2, gSaveBlock1Ptr->enigmaBerry.berry.name, BERRY_NAME_LENGTH + 1);
@@ -244,12 +249,12 @@ bool8 MEScrCmd_setenigmaberry(struct ScriptContext *ctx)
StringExpandPlaceholders(str, message);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
if (IsEnigmaBerryValid() == TRUE)
VarSet(VAR_ENIGMA_BERRY_AVAILABLE, 1);
else
- ctx->data[2] = 1;
+ ctx->mStatus = MEVENT_STATUS_LOAD_ERROR;
return FALSE;
}
@@ -260,7 +265,7 @@ bool8 MEScrCmd_giveribbon(struct ScriptContext *ctx)
u8 ribbonId = ScriptReadByte(ctx);
GiveGiftRibbonToParty(index, ribbonId);
StringExpandPlaceholders(gStringVar4, gText_MysteryEventSpecialRibbon);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
return FALSE;
}
@@ -269,8 +274,8 @@ bool8 MEScrCmd_initramscript(struct ScriptContext *ctx)
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
u8 objectId = ScriptReadByte(ctx);
- u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
- u8 *scriptEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
+ u8 *script = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
+ u8 *scriptEnd = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
InitRamScript(script, scriptEnd - script, mapGroup, mapNum, objectId);
return FALSE;
}
@@ -279,7 +284,7 @@ bool8 MEScrCmd_givenationaldex(struct ScriptContext *ctx)
{
EnableNationalPokedex();
StringExpandPlaceholders(gStringVar4, gText_MysteryEventNationalDex);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
return FALSE;
}
@@ -287,7 +292,7 @@ bool8 MEScrCmd_addrareword(struct ScriptContext *ctx)
{
UnlockAdditionalPhrase(ScriptReadByte(ctx));
StringExpandPlaceholders(gStringVar4, gText_MysteryEventRareWord);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
return FALSE;
}
@@ -306,7 +311,7 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
struct Pokemon pokemon;
u16 species;
u16 heldItem;
- u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
+ u32 data = ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase;
void *pokemonPtr = (void *)data;
void *mailPtr = (void *)(data + sizeof(struct Pokemon));
@@ -321,7 +326,7 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
if (gPlayerPartyCount == PARTY_SIZE)
{
StringExpandPlaceholders(gStringVar4, gText_MysteryEventFullParty);
- ctx->data[2] = 3;
+ ctx->mStatus = MEVENT_STATUS_FAILURE;
}
else
{
@@ -341,7 +346,7 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
CompactPartySlots();
CalculatePlayerPartyCount();
StringExpandPlaceholders(gStringVar4, gText_MysteryEventSentOver);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
}
return FALSE;
@@ -349,11 +354,11 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx)
{
- u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
+ u32 data = ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase;
memcpy(&gSaveBlock2Ptr->frontier.ereaderTrainer, (void *)data, sizeof(gSaveBlock2Ptr->frontier.ereaderTrainer));
ValidateEReaderTrainer();
StringExpandPlaceholders(gStringVar4, gText_MysteryEventNewTrainer);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
return FALSE;
}
@@ -361,19 +366,19 @@ bool8 MEScrCmd_enableresetrtc(struct ScriptContext *ctx)
{
EnableResetRTC();
StringExpandPlaceholders(gStringVar4, gText_InGameClockUsable);
- ctx->data[2] = 2;
+ ctx->mStatus = MEVENT_STATUS_SUCCESS;
return FALSE;
}
bool8 MEScrCmd_checksum(struct ScriptContext *ctx)
{
int checksum = ScriptReadWord(ctx);
- u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
- u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
+ u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
+ u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
if (checksum != CalcByteArraySum(data, dataEnd - data))
{
- ctx->data[3] = 0;
- ctx->data[2] = 1;
+ ctx->mValid = FALSE;
+ ctx->mStatus = MEVENT_STATUS_LOAD_ERROR;
}
return TRUE;
}
@@ -381,12 +386,12 @@ bool8 MEScrCmd_checksum(struct ScriptContext *ctx)
bool8 MEScrCmd_crc(struct ScriptContext *ctx)
{
int crc = ScriptReadWord(ctx);
- u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
- u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0]);
+ u8 *data = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
+ u8 *dataEnd = (u8 *)(ScriptReadWord(ctx) - ctx->mOffset + ctx->mScriptBase);
if (crc != CalcCRC16(data, dataEnd - data))
{
- ctx->data[3] = 0;
- ctx->data[2] = 1;
+ ctx->mValid = FALSE;
+ ctx->mStatus = MEVENT_STATUS_LOAD_ERROR;
}
return TRUE;
}
diff --git a/src/mystery_gift.c b/src/mystery_gift.c
index 1df6533d96..72fc2b3774 100755
--- a/src/mystery_gift.c
+++ b/src/mystery_gift.c
@@ -506,9 +506,13 @@ static void IncrementCardStat(u32 statType)
}
if (stat == NULL)
+ {
AGB_ASSERT(0);
+ }
else if (++(*stat) > MAX_WONDER_CARD_STAT)
+ {
*stat = MAX_WONDER_CARD_STAT;
+ }
}
}
diff --git a/src/naming_screen.c b/src/naming_screen.c
index dcd60259b7..0019a51b1d 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -1408,10 +1408,10 @@ static void NamingScreen_CreatePlayerIcon(void)
u8 rivalGfxId;
u8 spriteId;
- rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, sNamingScreen->monSpecies);
- spriteId = AddPseudoObjectEvent(rivalGfxId, SpriteCallbackDummy, 56, 37, 0);
+ rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, sNamingScreen->monSpecies);
+ spriteId = CreateObjectGraphicsSprite(rivalGfxId, SpriteCallbackDummy, 56, 37, 0);
gSprites[spriteId].oam.priority = 3;
- StartSpriteAnim(&gSprites[spriteId], 4);
+ StartSpriteAnim(&gSprites[spriteId], ANIM_STD_GO_SOUTH);
}
static void NamingScreen_CreatePCIcon(void)
@@ -1436,9 +1436,9 @@ static void NamingScreen_CreateWaldaDadIcon(void)
{
u8 spriteId;
- spriteId = AddPseudoObjectEvent(OBJ_EVENT_GFX_MAN_1, SpriteCallbackDummy, 56, 37, 0);
+ spriteId = CreateObjectGraphicsSprite(OBJ_EVENT_GFX_MAN_1, SpriteCallbackDummy, 56, 37, 0);
gSprites[spriteId].oam.priority = 3;
- StartSpriteAnim(&gSprites[spriteId], 4);
+ StartSpriteAnim(&gSprites[spriteId], ANIM_STD_GO_SOUTH);
}
//--------------------------------------------------
diff --git a/src/new_game.c b/src/new_game.c
index 553fd7b9ee..4774063d4b 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -29,7 +29,6 @@
#include "pokedex.h"
#include "apprentice.h"
#include "frontier_util.h"
-#include "constants/maps.h"
#include "pokedex.h"
#include "save.h"
#include "link_rfu.h"
@@ -126,7 +125,7 @@ static void ClearFrontierRecord(void)
static void WarpToTruck(void)
{
- SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), -1, -1, -1);
+ SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), WARP_ID_NONE, -1, -1);
WarpIntoMap();
}
diff --git a/src/option_menu.c b/src/option_menu.c
index e66bddd7f2..2991913d78 100644
--- a/src/option_menu.c
+++ b/src/option_menu.c
@@ -79,9 +79,9 @@ static void DrawBgWindowFrames(void);
EWRAM_DATA static bool8 sArrowPressed = FALSE;
-static const u16 sOptionMenuText_Pal[] = INCBIN_U16("graphics/misc/option_menu_text.gbapal");
+static const u16 sOptionMenuText_Pal[] = INCBIN_U16("graphics/interface/option_menu_text.gbapal");
// note: this is only used in the Japanese release
-static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_sign.4bpp");
+static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/interface/option_menu_equals_sign.4bpp");
static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] =
{
diff --git a/src/overworld.c b/src/overworld.c
index 518771875b..ba6eaa1679 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -62,7 +62,6 @@
#include "constants/abilities.h"
#include "constants/layouts.h"
#include "constants/map_types.h"
-#include "constants/maps.h"
#include "constants/region_map_sections.h"
#include "constants/songs.h"
#include "constants/trainer_hill.h"
@@ -175,7 +174,6 @@ static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *, u
static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *, u8, u16, u8);
static u16 GetCenterScreenMetatileBehavior(void);
-// IWRAM bss vars
static void *sUnusedOverworldCallback;
static u8 sPlayerLinkStates[MAX_LINK_PLAYERS];
// This callback is called with a player's key code. It then returns an
@@ -185,17 +183,15 @@ static u16 (*sPlayerKeyInterceptCallback)(u32);
static bool8 sReceivingFromLink;
static u8 sRfuKeepAliveTimer;
-// IWRAM common
-u16 *gBGTilemapBuffers1;
-u16 *gBGTilemapBuffers2;
-u16 *gBGTilemapBuffers3;
+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;
-// EWRAM vars
EWRAM_DATA static u8 sObjectEventLoadFlag = 0;
EWRAM_DATA struct WarpData gLastUsedWarp = {0};
EWRAM_DATA static struct WarpData sWarpDestination = {0}; // new warp position
@@ -207,12 +203,11 @@ EWRAM_DATA static u16 sAmbientCrySpecies = 0;
EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE;
EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {0};
-// const rom data
static const struct WarpData sDummyWarpData =
{
- .mapGroup = -1,
- .mapNum = -1,
- .warpId = -1,
+ .mapGroup = MAP_GROUP(UNDEFINED),
+ .mapNum = MAP_NUM(UNDEFINED),
+ .warpId = WARP_ID_NONE,
.x = -1,
.y = -1,
};
@@ -495,7 +490,7 @@ void LoadSaveblockObjEventScripts(void)
savObjTemplates[i].script = mapHeaderObjTemplates[i].script;
}
-void Overworld_SetObjEventTemplateCoords(u8 localId, s16 x, s16 y)
+void SetObjEventTemplateCoords(u8 localId, s16 x, s16 y)
{
s32 i;
struct ObjectEventTemplate *savObjTemplates = gSaveBlock1Ptr->objectEventTemplates;
@@ -512,7 +507,7 @@ void Overworld_SetObjEventTemplateCoords(u8 localId, s16 x, s16 y)
}
}
-void Overworld_SetObjEventTemplateMovementType(u8 localId, u8 movementType)
+void SetObjEventTemplateMovementType(u8 localId, u8 movementType)
{
s32 i;
@@ -570,11 +565,11 @@ static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId
static bool32 IsDummyWarp(struct WarpData *warp)
{
- if (warp->mapGroup != -1)
+ if (warp->mapGroup != (s8)MAP_GROUP(UNDEFINED))
return FALSE;
- else if (warp->mapNum != -1)
+ else if (warp->mapNum != (s8)MAP_NUM(UNDEFINED))
return FALSE;
- else if (warp->warpId != -1)
+ else if (warp->warpId != WARP_ID_NONE)
return FALSE;
else if (warp->x != -1)
return FALSE;
@@ -612,16 +607,20 @@ static void SetPlayerCoordsFromWarp(void)
{
if (gSaveBlock1Ptr->location.warpId >= 0 && gSaveBlock1Ptr->location.warpId < gMapHeader.events->warpCount)
{
+ // warpId is a valid warp for this map, use the coords of that warp.
gSaveBlock1Ptr->pos.x = gMapHeader.events->warps[gSaveBlock1Ptr->location.warpId].x;
gSaveBlock1Ptr->pos.y = gMapHeader.events->warps[gSaveBlock1Ptr->location.warpId].y;
}
else if (gSaveBlock1Ptr->location.x >= 0 && gSaveBlock1Ptr->location.y >= 0)
{
+ // Invalid warpId given. The given coords are valid, use those instead.
+ // WARP_ID_NONE is used to reach this intentionally.
gSaveBlock1Ptr->pos.x = gSaveBlock1Ptr->location.x;
gSaveBlock1Ptr->pos.y = gSaveBlock1Ptr->location.y;
}
else
{
+ // Invalid warpId and coords given. Put player in center of map.
gSaveBlock1Ptr->pos.x = gMapHeader.mapLayout->width / 2;
gSaveBlock1Ptr->pos.y = gMapHeader.mapLayout->height / 2;
}
@@ -663,7 +662,7 @@ void SetWarpDestinationToHealLocation(u8 healLocationId)
{
const struct HealLocation *warp = GetHealLocation(healLocationId);
if (warp)
- SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y);
+ SetWarpDestination(warp->group, warp->map, WARP_ID_NONE, warp->x, warp->y);
}
void SetWarpDestinationToLastHealLocation(void)
@@ -675,7 +674,7 @@ void SetLastHealLocationWarp(u8 healLocationId)
{
const struct HealLocation *healLocation = GetHealLocation(healLocationId);
if (healLocation)
- SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y);
+ SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y);
}
void UpdateEscapeWarp(s16 x, s16 y)
@@ -683,7 +682,7 @@ void UpdateEscapeWarp(s16 x, s16 y)
u8 currMapType = GetCurrentMapType();
u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum);
if (IsMapTypeOutdoors(currMapType) && IsMapTypeOutdoors(destMapType) != TRUE)
- SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x - MAP_OFFSET, y - MAP_OFFSET + 1);
+ SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET + 1);
}
void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
@@ -716,7 +715,7 @@ void SetWarpDestinationToFixedHoleWarp(s16 x, s16 y)
if (IsDummyWarp(&sFixedHoleWarp) == TRUE)
sWarpDestination = gLastUsedWarp;
else
- SetWarpDestination(sFixedHoleWarp.mapGroup, sFixedHoleWarp.mapNum, -1, x, y);
+ SetWarpDestination(sFixedHoleWarp.mapGroup, sFixedHoleWarp.mapNum, WARP_ID_NONE, x, y);
}
static void SetWarpDestinationToContinueGameWarp(void)
@@ -733,7 +732,7 @@ void SetContinueGameWarpToHealLocation(u8 healLocationId)
{
const struct HealLocation *warp = GetHealLocation(healLocationId);
if (warp)
- SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->group, warp->map, -1, warp->x, warp->y);
+ SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->group, warp->map, WARP_ID_NONE, warp->x, warp->y);
}
void SetContinueGameWarpToDynamicWarp(int unused)
@@ -763,7 +762,7 @@ static bool8 SetDiveWarp(u8 dir, u16 x, u16 y)
if (connection != NULL)
{
- SetWarpDestination(connection->mapGroup, connection->mapNum, -1, x, y);
+ SetWarpDestination(connection->mapGroup, connection->mapNum, WARP_ID_NONE, x, y);
}
else
{
@@ -789,7 +788,7 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum)
{
s32 paletteIndex;
- SetWarpDestination(mapGroup, mapNum, -1, -1, -1);
+ SetWarpDestination(mapGroup, mapNum, WARP_ID_NONE, -1, -1);
// Dont transition map music between BF Outside West/East
if (gMapHeader.regionMapSectionId != MAPSEC_BATTLE_FRONTIER)
@@ -804,7 +803,7 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum)
RestartWildEncounterImmunitySteps();
TryUpdateRandomTrainerRematches(mapGroup, mapNum);
DoTimeBasedEvents();
- SetSav1WeatherFromCurrMapHeader();
+ SetSavedWeatherFromCurrMapHeader();
ChooseAmbientCrySpecies();
SetDefaultFlashLevel();
Overworld_ClearSavedMusic();
@@ -855,7 +854,7 @@ static void LoadMapFromWarp(bool32 a1)
TryUpdateRandomTrainerRematches(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
if (a1 != TRUE)
DoTimeBasedEvents();
- SetSav1WeatherFromCurrMapHeader();
+ SetSavedWeatherFromCurrMapHeader();
ChooseAmbientCrySpecies();
if (isOutdoors)
FlagClear(FLAG_SYS_USE_FLASH);
@@ -968,6 +967,10 @@ bool32 Overworld_IsBikingAllowed(void)
return TRUE;
}
+// Flash level of 0 is fully bright
+// Flash level of 1 is the largest flash radius
+// Flash level of 7 is the smallest flash radius
+// Flash level of 8 is fully black
void SetDefaultFlashLevel(void)
{
if (!gMapHeader.cave)
@@ -978,14 +981,14 @@ void SetDefaultFlashLevel(void)
gSaveBlock1Ptr->flashLevel = gMaxFlashLevel - 1;
}
-void Overworld_SetFlashLevel(s32 flashLevel)
+void SetFlashLevel(s32 flashLevel)
{
if (flashLevel < 0 || flashLevel > gMaxFlashLevel)
flashLevel = 0;
gSaveBlock1Ptr->flashLevel = flashLevel;
}
-u8 Overworld_GetFlashLevel(void)
+u8 GetFlashLevel(void)
{
return gSaveBlock1Ptr->flashLevel;
}
@@ -1100,7 +1103,7 @@ u16 GetCurrLocationDefaultMusic(void)
// 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)
- && GetSav1Weather() == WEATHER_SANDSTORM)
+ && GetSavedWeather() == WEATHER_SANDSTORM)
return MUS_ROUTE111;
music = GetLocationMusic(&gSaveBlock1Ptr->location);
@@ -1391,12 +1394,12 @@ static void InitOverworldBgs(void)
SetBgAttribute(1, BG_ATTR_MOSAIC, 1);
SetBgAttribute(2, BG_ATTR_MOSAIC, 1);
SetBgAttribute(3, BG_ATTR_MOSAIC, 1);
- gBGTilemapBuffers2 = AllocZeroed(BG_SCREEN_SIZE);
- gBGTilemapBuffers1 = AllocZeroed(BG_SCREEN_SIZE);
- gBGTilemapBuffers3 = AllocZeroed(BG_SCREEN_SIZE);
- SetBgTilemapBuffer(1, gBGTilemapBuffers2);
- SetBgTilemapBuffer(2, gBGTilemapBuffers1);
- SetBgTilemapBuffer(3, gBGTilemapBuffers3);
+ gOverworldTilemapBuffer_Bg1 = AllocZeroed(BG_SCREEN_SIZE);
+ gOverworldTilemapBuffer_Bg2 = AllocZeroed(BG_SCREEN_SIZE);
+ gOverworldTilemapBuffer_Bg3 = AllocZeroed(BG_SCREEN_SIZE);
+ SetBgTilemapBuffer(1, gOverworldTilemapBuffer_Bg1);
+ SetBgTilemapBuffer(2, gOverworldTilemapBuffer_Bg2);
+ SetBgTilemapBuffer(3, gOverworldTilemapBuffer_Bg3);
InitStandardTextBoxWindows();
}
@@ -1404,12 +1407,9 @@ void CleanupOverworldWindowsAndTilemaps(void)
{
ClearMirageTowerPulseBlendEffect();
FreeAllOverworldWindowBuffers();
- if (gBGTilemapBuffers3)
- FREE_AND_SET_NULL(gBGTilemapBuffers3);
- if (gBGTilemapBuffers1)
- FREE_AND_SET_NULL(gBGTilemapBuffers1);
- if (gBGTilemapBuffers2)
- FREE_AND_SET_NULL(gBGTilemapBuffers2);
+ TRY_FREE_AND_SET_NULL(gOverworldTilemapBuffer_Bg3);
+ TRY_FREE_AND_SET_NULL(gOverworldTilemapBuffer_Bg2);
+ TRY_FREE_AND_SET_NULL(gOverworldTilemapBuffer_Bg1);
}
static void ResetSafariZoneFlag_(void)
@@ -1790,7 +1790,7 @@ static void InitCurrentFlashLevelScanlineEffect(void)
WriteBattlePyramidViewScanlineEffectBuffer();
ScanlineEffect_SetParams(sFlashEffectParams);
}
- else if ((flashLevel = Overworld_GetFlashLevel()))
+ else if ((flashLevel = GetFlashLevel()))
{
WriteFlashScanlineEffectBuffer(flashLevel);
ScanlineEffect_SetParams(sFlashEffectParams);
@@ -2692,7 +2692,7 @@ static void LoadCableClubPlayer(s32 linkPlayerId, s32 myPlayerId, struct CableCl
GetLinkPlayerCoords(linkPlayerId, &x, &y);
trainer->pos.x = x;
trainer->pos.y = y;
- trainer->pos.height = GetLinkPlayerElevation(linkPlayerId);
+ trainer->pos.elevation = GetLinkPlayerElevation(linkPlayerId);
trainer->metatileBehavior = MapGridGetMetatileBehaviorAt(x, y);
}
@@ -2745,7 +2745,7 @@ static const u8 *TryInteractWithPlayer(struct CableClubPlayer *player)
otherPlayerPos = player->pos;
otherPlayerPos.x += gDirectionToVectors[player->facing].x;
otherPlayerPos.y += gDirectionToVectors[player->facing].y;
- otherPlayerPos.height = 0;
+ otherPlayerPos.elevation = 0;
linkPlayerId = GetLinkPlayerIdAt(otherPlayerPos.x, otherPlayerPos.y);
if (linkPlayerId != MAX_LINK_PLAYERS)
@@ -2955,7 +2955,7 @@ static void InitLinkPlayerObjectEventPos(struct ObjectEvent *objEvent, s16 x, s1
objEvent->previousCoords.y = y;
SetSpritePosToMapCoords(x, y, &objEvent->initialCoords.x, &objEvent->initialCoords.y);
objEvent->initialCoords.x += 8;
- ObjectEventUpdateZCoord(objEvent);
+ ObjectEventUpdateElevation(objEvent);
}
static void SetLinkPlayerObjectRange(u8 linkPlayerId, u8 dir)
@@ -3095,7 +3095,7 @@ static bool8 FacingHandler_DpadMovement(struct LinkPlayerObjectEvent *linkPlayer
{
objEvent->directionSequenceIndex = 16;
ShiftObjectEventCoords(objEvent, x, y);
- ObjectEventUpdateZCoord(objEvent);
+ ObjectEventUpdateElevation(objEvent);
return TRUE;
}
}
@@ -3147,17 +3147,17 @@ static u8 FlipVerticalAndClearForced(u8 newFacing, u8 oldFacing)
return oldFacing;
}
-static u8 LinkPlayerDetectCollision(u8 selfObjEventId, u8 a2, s16 x, s16 y)
+static bool8 LinkPlayerDetectCollision(u8 selfObjEventId, u8 direction, s16 x, s16 y)
{
u8 i;
- for (i = 0; i < 16; i++)
+ for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
{
if (i != selfObjEventId)
{
if ((gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y)
|| (gObjectEvents[i].previousCoords.x == x && gObjectEvents[i].previousCoords.y == y))
{
- return 1;
+ return TRUE;
}
}
}
@@ -3177,14 +3177,14 @@ static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion)
{
case VERSION_FIRE_RED:
case VERSION_LEAF_GREEN:
- objEvent->spriteId = AddPseudoObjectEvent(GetFRLGAvatarGraphicsIdByGender(linkGender(objEvent)), SpriteCB_LinkPlayer, 0, 0, 0);
+ objEvent->spriteId = CreateObjectGraphicsSprite(GetFRLGAvatarGraphicsIdByGender(linkGender(objEvent)), SpriteCB_LinkPlayer, 0, 0, 0);
break;
case VERSION_RUBY:
case VERSION_SAPPHIRE:
- objEvent->spriteId = AddPseudoObjectEvent(GetRSAvatarGraphicsIdByGender(linkGender(objEvent)), SpriteCB_LinkPlayer, 0, 0, 0);
+ objEvent->spriteId = CreateObjectGraphicsSprite(GetRSAvatarGraphicsIdByGender(linkGender(objEvent)), SpriteCB_LinkPlayer, 0, 0, 0);
break;
case VERSION_EMERALD:
- objEvent->spriteId = AddPseudoObjectEvent(GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, linkGender(objEvent)), SpriteCB_LinkPlayer, 0, 0, 0);
+ objEvent->spriteId = CreateObjectGraphicsSprite(GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, linkGender(objEvent)), SpriteCB_LinkPlayer, 0, 0, 0);
break;
}
@@ -3201,8 +3201,8 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite)
struct ObjectEvent *objEvent = &gObjectEvents[linkPlayerObjEvent->objEventId];
sprite->x = objEvent->initialCoords.x;
sprite->y = objEvent->initialCoords.y;
- SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1);
- sprite->oam.priority = ZCoordToPriority(objEvent->previousElevation);
+ SetObjectSubpriorityByElevation(objEvent->previousElevation, sprite, 1);
+ sprite->oam.priority = ElevationToPriority(objEvent->previousElevation);
if (linkPlayerObjEvent->movementMode == MOVEMENT_MODE_FREE)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(linkDirection(objEvent)));
diff --git a/src/party_menu.c b/src/party_menu.c
index 43f5220346..e15d001c6d 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -65,11 +65,9 @@
#include "window.h"
#include "constants/battle.h"
#include "constants/battle_frontier.h"
-#include "constants/easy_chat.h"
#include "constants/field_effects.h"
#include "constants/item_effects.h"
#include "constants/items.h"
-#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/party_menu.h"
#include "constants/rgb.h"
@@ -99,7 +97,7 @@ enum
struct PartyMenuBoxInfoRects
{
- void (*blitFunc)(u8, u8, u8, u8, u8, u8);
+ void (*blitFunc)(u8, u8, u8, u8, u8, bool8);
u8 dimensions[24];
u8 descTextLeft;
u8 descTextTop;
@@ -379,8 +377,8 @@ static void Task_ChooseMonForMoveRelearner(u8);
static void CB2_ChooseMonForMoveRelearner(void);
static void Task_BattlePyramidChooseMonHeldItems(u8);
static void ShiftMoveSlot(struct Pokemon*, u8, u8);
-static void BlitBitmapToPartyWindow_LeftColumn(u8, u8, u8, u8, u8, u8);
-static void BlitBitmapToPartyWindow_RightColumn(u8, u8, u8, u8, u8, u8);
+static void BlitBitmapToPartyWindow_LeftColumn(u8, u8, u8, u8, u8, bool8);
+static void BlitBitmapToPartyWindow_RightColumn(u8, u8, u8, u8, u8, bool8);
static void CursorCb_Summary(u8);
static void CursorCb_Switch(u8);
static void CursorCb_Cancel1(u8);
@@ -954,7 +952,7 @@ static void DisplayPartyPokemonDataForMultiBattle(u8 slot)
{
menuBox->infoRects->blitFunc(menuBox->windowId, 0, 0, 0, 0, FALSE);
StringCopy(gStringVar1, gMultiPartnerParty[actualSlot].nickname);
- StringGetEnd10(gStringVar1);
+ StringGet_Nickname(gStringVar1);
ConvertInternationalPlayerName(gStringVar1);
DisplayPartyPokemonBarDetail(menuBox->windowId, gStringVar1, 0, menuBox->infoRects->dimensions);
DisplayPartyPokemonLevel(gMultiPartnerParty[actualSlot].level, menuBox);
@@ -1622,7 +1620,7 @@ static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir)
u8* GetMonNickname(struct Pokemon *mon, u8 *dest)
{
GetMonData(mon, MON_DATA_NICKNAME, dest);
- return StringGetEnd10(dest);
+ return StringGet_Nickname(dest);
}
#define tKeepOpen data[0]
@@ -2088,35 +2086,35 @@ static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y,
}
}
-static void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
+static void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 hideHP)
{
if (width == 0 && height == 0)
{
width = 10;
height = 7;
}
- if (isEgg == FALSE)
- BlitBitmapToPartyWindow(windowId, sMainSlotTileNums, 10, x, y, width, height);
+ if (hideHP == FALSE)
+ BlitBitmapToPartyWindow(windowId, sSlotTilemap_Main, 10, x, y, width, height);
else
- BlitBitmapToPartyWindow(windowId, sMainSlotTileNums_Egg, 10, x, y, width, height);
+ BlitBitmapToPartyWindow(windowId, sSlotTilemap_MainNoHP, 10, x, y, width, height);
}
-static void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg)
+static void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 hideHP)
{
if (width == 0 && height == 0)
{
width = 18;
height = 3;
}
- if (isEgg == FALSE)
- BlitBitmapToPartyWindow(windowId, sOtherSlotsTileNums, 18, x, y, width, height);
+ if (hideHP == FALSE)
+ BlitBitmapToPartyWindow(windowId, sSlotTilemap_Wide, 18, x, y, width, height);
else
- BlitBitmapToPartyWindow(windowId, sOtherSlotsTileNums_Egg, 18, x, y, width, height);
+ BlitBitmapToPartyWindow(windowId, sSlotTilemap_WideNoHP, 18, x, y, width, height);
}
static void DrawEmptySlot(u8 windowId)
{
- BlitBitmapToPartyWindow(windowId, sEmptySlotTileNums, 18, 0, 0, 18, 3);
+ BlitBitmapToPartyWindow(windowId, sSlotTilemap_WideEmpty, 18, 0, 0, 18, 3);
}
#define LOAD_PARTY_BOX_PAL(paletteIds, paletteOffsets) \
@@ -3343,7 +3341,7 @@ static void Task_HandleSendMailToPCYesNoInput(u8 taskId)
switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0: // Yes, send to PC
- if (TakeMailFromMon2(&gPlayerParty[gPartyMenu.slotId]) != 0xFF)
+ if (TakeMailFromMonAndSave(&gPlayerParty[gPartyMenu.slotId]) != MAIL_NONE)
{
DisplayPartyMenuMessage(gText_MailSentToPC, FALSE);
gTasks[taskId].func = Task_UpdateHeldItemSprite;
@@ -6133,7 +6131,7 @@ static void BufferMonSelection(void)
{
gSpecialVar_0x8004 = GetCursorSelectionMonId();
if (gSpecialVar_0x8004 >= PARTY_SIZE)
- gSpecialVar_0x8004 = 0xFF;
+ gSpecialVar_0x8004 = PARTY_NOTHING_CHOSEN;
gFieldCallback2 = CB2_FadeFromPartyMenu;
SetMainCallback2(CB2_ReturnToField);
}
@@ -6176,7 +6174,7 @@ static void CB2_ChooseContestMon(void)
{
gContestMonPartyIndex = GetCursorSelectionMonId();
if (gContestMonPartyIndex >= PARTY_SIZE)
- gContestMonPartyIndex = 0xFF;
+ gContestMonPartyIndex = PARTY_NOTHING_CHOSEN;
gSpecialVar_0x8004 = gContestMonPartyIndex;
gFieldCallback2 = CB2_FadeFromPartyMenu;
SetMainCallback2(CB2_ReturnToField);
@@ -6221,7 +6219,7 @@ static void CB2_ChooseMonForMoveRelearner(void)
{
gSpecialVar_0x8004 = GetCursorSelectionMonId();
if (gSpecialVar_0x8004 >= PARTY_SIZE)
- gSpecialVar_0x8004 = 0xFF;
+ gSpecialVar_0x8004 = PARTY_NOTHING_CHOSEN;
else
gSpecialVar_0x8005 = GetNumberOfRelearnableMoves(&gPlayerParty[gSpecialVar_0x8004]);
gFieldCallback2 = CB2_FadeFromPartyMenu;
diff --git a/src/player_pc.c b/src/player_pc.c
index 06f58fdeb4..bf8479ce11 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -511,7 +511,7 @@ static void InitItemStorageMenu(u8 taskId, u8 var)
tWindowId = AddWindow(&windowTemplate);
SetStandardWindowBorderStyle(tWindowId, 0);
PrintMenuTable(tWindowId, ARRAY_COUNT(sItemStorage_MenuActions), sItemStorage_MenuActions);
- InitMenuInUpperLeftCornerNormal(tWindowId, 4, var);
+ InitMenuInUpperLeftCornerNormal(tWindowId, ARRAY_COUNT(sItemStorage_MenuActions), var);
ScheduleBgCopyTilemapToVram(0);
ItemStorageMenuPrint(sItemStorage_OptionDescriptions[var]);
}
@@ -753,7 +753,7 @@ static void Mailbox_PrintMailOptions(u8 taskId)
{
u8 windowId = MailboxMenu_AddWindow(MAILBOXWIN_OPTIONS);
PrintMenuTable(windowId, ARRAY_COUNT(gMailboxMailOptions), gMailboxMailOptions);
- InitMenuInUpperLeftCornerNormal(windowId, 4, 0);
+ InitMenuInUpperLeftCornerNormal(windowId, ARRAY_COUNT(gMailboxMailOptions), 0);
ScheduleBgCopyTilemapToVram(0);
gTasks[taskId].func = Mailbox_MailOptionsProcessInput;
}
diff --git a/src/pokeball.c b/src/pokeball.c
index 501d86ca35..a9ccd42d60 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -59,34 +59,34 @@ static u16 GetBattlerPokeballItemId(u8 battlerId);
const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] =
{
- [BALL_POKE] = {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL},
- [BALL_GREAT] = {gInterfaceGfx_GreatBall, 384, GFX_TAG_GREATBALL},
- [BALL_SAFARI] = {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL},
- [BALL_ULTRA] = {gInterfaceGfx_UltraBall, 384, GFX_TAG_ULTRABALL},
- [BALL_MASTER] = {gInterfaceGfx_MasterBall, 384, GFX_TAG_MASTERBALL},
- [BALL_NET] = {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL},
- [BALL_DIVE] = {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL},
- [BALL_NEST] = {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL},
- [BALL_REPEAT] = {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL},
- [BALL_TIMER] = {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL},
- [BALL_LUXURY] = {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL},
- [BALL_PREMIER] = {gInterfaceGfx_PremierBall, 384, GFX_TAG_PREMIERBALL},
+ [BALL_POKE] = {gBallGfx_Poke, 384, GFX_TAG_POKEBALL},
+ [BALL_GREAT] = {gBallGfx_Great, 384, GFX_TAG_GREATBALL},
+ [BALL_SAFARI] = {gBallGfx_Safari, 384, GFX_TAG_SAFARIBALL},
+ [BALL_ULTRA] = {gBallGfx_Ultra, 384, GFX_TAG_ULTRABALL},
+ [BALL_MASTER] = {gBallGfx_Master, 384, GFX_TAG_MASTERBALL},
+ [BALL_NET] = {gBallGfx_Net, 384, GFX_TAG_NETBALL},
+ [BALL_DIVE] = {gBallGfx_Dive, 384, GFX_TAG_DIVEBALL},
+ [BALL_NEST] = {gBallGfx_Nest, 384, GFX_TAG_NESTBALL},
+ [BALL_REPEAT] = {gBallGfx_Repeat, 384, GFX_TAG_REPEATBALL},
+ [BALL_TIMER] = {gBallGfx_Timer, 384, GFX_TAG_TIMERBALL},
+ [BALL_LUXURY] = {gBallGfx_Luxury, 384, GFX_TAG_LUXURYBALL},
+ [BALL_PREMIER] = {gBallGfx_Premier, 384, GFX_TAG_PREMIERBALL},
};
const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] =
{
- [BALL_POKE] = {gInterfacePal_PokeBall, GFX_TAG_POKEBALL},
- [BALL_GREAT] = {gInterfacePal_GreatBall, GFX_TAG_GREATBALL},
- [BALL_SAFARI] = {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL},
- [BALL_ULTRA] = {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL},
- [BALL_MASTER] = {gInterfacePal_MasterBall, GFX_TAG_MASTERBALL},
- [BALL_NET] = {gInterfacePal_NetBall, GFX_TAG_NETBALL},
- [BALL_DIVE] = {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL},
- [BALL_NEST] = {gInterfacePal_NestBall, GFX_TAG_NESTBALL},
- [BALL_REPEAT] = {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL},
- [BALL_TIMER] = {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL},
- [BALL_LUXURY] = {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL},
- [BALL_PREMIER] = {gInterfacePal_PremierBall, GFX_TAG_PREMIERBALL},
+ [BALL_POKE] = {gBallPal_Poke, GFX_TAG_POKEBALL},
+ [BALL_GREAT] = {gBallPal_Great, GFX_TAG_GREATBALL},
+ [BALL_SAFARI] = {gBallPal_Safari, GFX_TAG_SAFARIBALL},
+ [BALL_ULTRA] = {gBallPal_Ultra, GFX_TAG_ULTRABALL},
+ [BALL_MASTER] = {gBallPal_Master, GFX_TAG_MASTERBALL},
+ [BALL_NET] = {gBallPal_Net, GFX_TAG_NETBALL},
+ [BALL_DIVE] = {gBallPal_Dive, GFX_TAG_DIVEBALL},
+ [BALL_NEST] = {gBallPal_Nest, GFX_TAG_NESTBALL},
+ [BALL_REPEAT] = {gBallPal_Repeat, GFX_TAG_REPEATBALL},
+ [BALL_TIMER] = {gBallPal_Timer, GFX_TAG_TIMERBALL},
+ [BALL_LUXURY] = {gBallPal_Luxury, GFX_TAG_LUXURYBALL},
+ [BALL_PREMIER] = {gBallPal_Premier, GFX_TAG_PREMIERBALL},
};
static const struct OamData sBallOamData =
@@ -204,6 +204,7 @@ static const union AffineAnimCmd *const sAffineAnim_BallRotate[] =
const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
{
+ [BALL_POKE] =
{
.tileTag = GFX_TAG_POKEBALL,
.paletteTag = GFX_TAG_POKEBALL,
@@ -213,6 +214,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_GREAT] =
{
.tileTag = GFX_TAG_GREATBALL,
.paletteTag = GFX_TAG_GREATBALL,
@@ -222,6 +224,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_SAFARI] =
{
.tileTag = GFX_TAG_SAFARIBALL,
.paletteTag = GFX_TAG_SAFARIBALL,
@@ -231,6 +234,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_ULTRA] =
{
.tileTag = GFX_TAG_ULTRABALL,
.paletteTag = GFX_TAG_ULTRABALL,
@@ -240,6 +244,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_MASTER] =
{
.tileTag = GFX_TAG_MASTERBALL,
.paletteTag = GFX_TAG_MASTERBALL,
@@ -249,6 +254,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_NET] =
{
.tileTag = GFX_TAG_NETBALL,
.paletteTag = GFX_TAG_NETBALL,
@@ -258,6 +264,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_DIVE] =
{
.tileTag = GFX_TAG_DIVEBALL,
.paletteTag = GFX_TAG_DIVEBALL,
@@ -267,6 +274,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_NEST] =
{
.tileTag = GFX_TAG_NESTBALL,
.paletteTag = GFX_TAG_NESTBALL,
@@ -276,6 +284,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_REPEAT] =
{
.tileTag = GFX_TAG_REPEATBALL,
.paletteTag = GFX_TAG_REPEATBALL,
@@ -285,6 +294,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_TIMER] =
{
.tileTag = GFX_TAG_TIMERBALL,
.paletteTag = GFX_TAG_TIMERBALL,
@@ -294,6 +304,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_LUXURY] =
{
.tileTag = GFX_TAG_LUXURYBALL,
.paletteTag = GFX_TAG_LUXURYBALL,
@@ -303,6 +314,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.affineAnims = sAffineAnim_BallRotate,
.callback = SpriteCB_BallThrow,
},
+ [BALL_PREMIER] =
{
.tileTag = GFX_TAG_PREMIERBALL,
.paletteTag = GFX_TAG_PREMIERBALL,
@@ -1138,7 +1150,7 @@ static void SpriteCB_TradePokeball(struct Sprite *sprite)
sprite->callback = SpriteCB_TradePokeballSendOff;
#ifdef BUGFIX
// FIX: If this is used on a sprite that has previously had an affine animation, it will not
- // play the shrink anim properly due to being paused. Works together with the fix to `sub_817F77C`.
+ // play the shrink anim properly due to being paused. Works together with the fix to ResetSpriteAfterAnim.
gSprites[monSpriteId].affineAnimPaused = FALSE;
#endif // BUGFIX
StartSpriteAffineAnim(&gSprites[monSpriteId], BATTLER_AFFINE_RETURN);
diff --git a/src/pokedex.c b/src/pokedex.c
index b419373024..206782e59e 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1512,7 +1512,7 @@ void ResetPokedex(void)
gSaveBlock2Ptr->pokedex.spindaPersonality = 0;
gSaveBlock2Ptr->pokedex.unknown3 = 0;
DisableNationalPokedex();
- for (i = 0; i < DEX_FLAGS_NO; i++)
+ for (i = 0; i < NUM_DEX_FLAG_BYTES; i++)
{
gSaveBlock2Ptr->pokedex.owned[i] = 0;
gSaveBlock2Ptr->pokedex.seen[i] = 0;
diff --git a/src/pokedex_area_region_map.c b/src/pokedex_area_region_map.c
index 2ec2c5c8d7..4926c019dd 100644
--- a/src/pokedex_area_region_map.c
+++ b/src/pokedex_area_region_map.c
@@ -8,11 +8,11 @@
static EWRAM_DATA u8 *sPokedexAreaMapBgNum = NULL;
-static const u16 sPokedexAreaMap_Pal[] = INCBIN_U16("graphics/interface/region_map.gbapal");
-static const u32 sPokedexAreaMap_Gfx[] = INCBIN_U32("graphics/interface/region_map.8bpp.lz");
-static const u32 sPokedexAreaMap_Tilemap[] = INCBIN_U32("graphics/interface/region_map.bin.lz");
-static const u32 sPokedexAreaMapAffine_Gfx[] = INCBIN_U32("graphics/interface/region_map_affine.8bpp.lz");
-static const u32 sPokedexAreaMapAffine_Tilemap[] = INCBIN_U32("graphics/interface/region_map_affine.bin.lz");
+static const u16 sPokedexAreaMap_Pal[] = INCBIN_U16("graphics/pokedex/region_map.gbapal");
+static const u32 sPokedexAreaMap_Gfx[] = INCBIN_U32("graphics/pokedex/region_map.8bpp.lz");
+static const u32 sPokedexAreaMap_Tilemap[] = INCBIN_U32("graphics/pokedex/region_map.bin.lz");
+static const u32 sPokedexAreaMapAffine_Gfx[] = INCBIN_U32("graphics/pokedex/region_map_affine.8bpp.lz");
+static const u32 sPokedexAreaMapAffine_Tilemap[] = INCBIN_U32("graphics/pokedex/region_map_affine.bin.lz");
void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template)
{
@@ -41,7 +41,7 @@ void LoadPokedexAreaMapGfx(const struct PokedexAreaMapTemplate *template)
ChangeBgX(template->bg, 0, BG_COORD_SET);
ChangeBgY(template->bg, 0, BG_COORD_SET);
SetBgAttribute(template->bg, BG_ATTR_PALETTEMODE, 1);
- CpuCopy32(sPokedexAreaMap_Pal, &gPlttBufferUnfaded[0x70], 0x60);
+ CpuCopy32(sPokedexAreaMap_Pal, &gPlttBufferUnfaded[0x70], sizeof(sPokedexAreaMap_Pal));
*sPokedexAreaMapBgNum = template->bg;
}
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
index e2973dcab3..dde86f1557 100755
--- a/src/pokedex_area_screen.c
+++ b/src/pokedex_area_screen.c
@@ -16,70 +16,88 @@
#include "trig.h"
#include "pokedex_area_region_map.h"
#include "wild_encounter.h"
-#include "constants/maps.h"
#include "constants/region_map_sections.h"
#include "constants/rgb.h"
#include "constants/songs.h"
+// There are two types of indicators for the area screen to show where a Pokémon can occur:
+// - Area glows, which highlight any of the maps in MAP_GROUP_TOWNS_AND_ROUTES that have the species.
+// These are a tilemap with colored rectangular areas that blends in and out. The positions of the
+// rectangles is determined by the positions of the matching MAPSEC values on the region map layout.
+// - Area markers, which highlight any of the maps in MAP_GROUP_DUNGEONS or MAP_GROUP_SPECIAL_AREA that
+// have the species. These are circular sprites that flash twice. The positions of the sprites is
+// 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 AREA_SCREEN_WIDTH 32
#define AREA_SCREEN_HEIGHT 20
-#define GLOW_TILE_FULL 0xFFFF
-#define GLOW_TILE_LEFT (1 << 0)
-#define GLOW_TILE_RIGHT (1 << 1)
-#define GLOW_TILE_TOP (1 << 2)
-#define GLOW_TILE_BOTTOM (1 << 3)
-#define GLOW_TILE_BOTTOM_RIGHT (1 << 4)
-#define GLOW_TILE_TOP_RIGHT (1 << 5)
-#define GLOW_TILE_BOTTOM_LEFT (1 << 6)
-#define GLOW_TILE_TOP_LEFT (1 << 7)
+#define GLOW_FULL 0xFFFF
+#define GLOW_EDGE_R (1 << 0)
+#define GLOW_EDGE_L (1 << 1)
+#define GLOW_EDGE_B (1 << 2)
+#define GLOW_EDGE_T (1 << 3)
+#define GLOW_CORNER_TL (1 << 4)
+#define GLOW_CORNER_BL (1 << 5)
+#define GLOW_CORNER_TR (1 << 6)
+#define GLOW_CORNER_BR (1 << 7)
-struct PokeDexAreaScreenMapIdentity
+#define GLOW_PALETTE 10
+
+#define TAG_AREA_MARKER 2
+#define TAG_AREA_UNKNOWN 3
+
+#define MAX_AREA_HIGHLIGHTS 64 // Maximum number of rectangular route highlights
+#define MAX_AREA_MARKERS 32 // Maximum number of circular spot highlights
+
+struct OverworldArea
{
u8 mapGroup;
u8 mapNum;
u16 regionMapSectionId;
};
-struct PokeDexAreaScreen
+struct
{
/*0x000*/ void (*callback)(void); // unused
/*0x004*/ MainCallback prev; // unused
/*0x008*/ MainCallback next; // unused
/*0x00C*/ u16 state; // unused
/*0x00E*/ u16 species;
- /*0x010*/ struct PokeDexAreaScreenMapIdentity overworldAreasWithMons[0x40];
+ /*0x010*/ struct OverworldArea overworldAreasWithMons[MAX_AREA_HIGHLIGHTS];
/*0x110*/ u16 numOverworldAreas;
/*0x112*/ u16 numSpecialAreas;
/*0x114*/ u16 drawAreaGlowState;
- /*0x116*/ u16 areaGlowTilemap[0x280];
- /*0x616*/ u16 areaShadeOrMarkerFrameCounter;
- /*0x618*/ u16 areaShadeFrameCounter;
+ /*0x116*/ u16 areaGlowTilemap[AREA_SCREEN_WIDTH * AREA_SCREEN_HEIGHT];
+ /*0x616*/ u16 markerTimer;
+ /*0x618*/ u16 glowTimer;
/*0x61A*/ u16 areaShadeBldArgLo;
/*0x61C*/ u16 areaShadeBldArgHi;
- /*0x61E*/ u8 whichMarkersFlashing;
- /*0x61F*/ u8 specialMarkerCycleCounter;
- /*0x620*/ u16 specialAreaRegionMapSectionIds[0x20];
- /*0x660*/ struct Sprite *areaMarkerSprites[0x20];
+ /*0x61E*/ bool8 showingMarkers;
+ /*0x61F*/ u8 markerFlashCounter;
+ /*0x620*/ u16 specialAreaRegionMapSectionIds[MAX_AREA_MARKERS];
+ /*0x660*/ struct Sprite *areaMarkerSprites[MAX_AREA_MARKERS];
/*0x6E0*/ u16 numAreaMarkerSprites;
- /*0x6E2*/ u16 unk6E2;
- /*0x6E4*/ u16 unk6E4;
+ /*0x6E2*/ u16 alteringCaveCounter;
+ /*0x6E4*/ u16 alteringCaveId;
/*0x6E8*/ u8 *screenSwitchState;
/*0x6EC*/ struct RegionMap regionMap;
- /*0xF70*/ u8 charBuffer[0x40];
+ /*0xF70*/ u8 charBuffer[64];
/*0xFB0*/ struct Sprite * areaUnknownSprites[3];
/*0xFBC*/ u8 areaUnknownGraphicsBuffer[0x600];
-};
-
-static EWRAM_DATA struct PokeDexAreaScreen *sPokedexAreaScreen = NULL;
+} static EWRAM_DATA *sPokedexAreaScreen = NULL;
static void FindMapsWithMon(u16);
static void BuildAreaGlowTilemap(void);
static void SetAreaHasMon(u16, u16);
static void SetSpecialMapHasMon(u16, u16);
static u16 GetRegionMapSectionId(u8, u8);
-static bool8 MapHasMon(const struct WildPokemonHeader *, u16);
-static bool8 MonListHasMon(const struct WildPokemonInfo *, u16, u16);
+static bool8 MapHasSpecies(const struct WildPokemonHeader *, u16);
+static bool8 MonListHasSpecies(const struct WildPokemonInfo *, u16, u16);
static void DoAreaGlow(void);
static void Task_ShowPokedexAreaScreen(u8);
static void CreateAreaMarkerSprites(void);
@@ -87,7 +105,7 @@ static void LoadAreaUnknownGraphics(void);
static void CreateAreaUnknownSprites(void);
static void Task_HandlePokedexAreaScreenInput(u8);
static void ResetPokedexAreaMapBg(void);
-static void DestroyAreaMarkerSprites(void);
+static void DestroyAreaScreenSprites(void);
static const u32 sAreaGlow_Pal[] = INCBIN_U32("graphics/pokedex/area_glow.gbapal");
static const u32 sAreaGlow_Gfx[] = INCBIN_U32("graphics/pokedex/area_glow.4bpp.lz");
@@ -118,115 +136,7 @@ static const u16 sLandmarkData[][2] =
{MAPSEC_NONE}
};
-// Only some parts of this array are acutally used, because corner flags that overlap
-// with edge flags are cancelled out before lookup. For example, GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_RIGHT
-// will never be read.
-//
-// The rest of the bytes seem to be old data from before the cancellation was implemented.
-// Most of them line up as you would expect ([BOTTOM_RIGHT | RIGHT] has the same value as [RIGHT]).
-//
-// Any unreachable entries are simply listed in order, without the fancy "[FLAGS] = 0xXX" notation.
-static const u8 sAreaGlowTilemapMapping[] = {
- [0] = 0x00,
- [GLOW_TILE_LEFT] = 0x01,
- [GLOW_TILE_RIGHT] = 0x02,
- [GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x03,
- [GLOW_TILE_TOP] = 0x04,
- [GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x05,
- [GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x06,
- [GLOW_TILE_TOP | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x07,
- [GLOW_TILE_BOTTOM] = 0x08,
- [GLOW_TILE_BOTTOM | GLOW_TILE_LEFT] = 0x09,
- [GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT] = 0x0a,
- [GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x0b,
- [GLOW_TILE_BOTTOM | GLOW_TILE_TOP] = 0x0c,
- [GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x0d,
- [GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x0e,
- [GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x0f,
- [GLOW_TILE_BOTTOM_RIGHT] = 0x11,
- [GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_LEFT] = 0x20,
- 0x02, 0x03,
- [GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP] = 0x27,
- [GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x2d,
- 0x06, 0x07, 0x08, 0x09, 0x0a,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_RIGHT] = 0x12,
- [GLOW_TILE_TOP_RIGHT | GLOW_TILE_LEFT] = 0x21,
- 0x02, 0x03, 0x04, 0x05, 0x06,
- 0x07,
- [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM] = 0x2a,
- [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM | GLOW_TILE_LEFT] = 0x2e,
- 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
- 0x0f,
- [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x13,
- [GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_LEFT] = 0x22,
- 0x02, 0x03, 0x27, 0x2d, 0x06,
- 0x07, 0x2a, 0x2e, 0x0a, 0x0b,
- 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_BOTTOM_LEFT] = 0x14,
- 0x01,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_RIGHT] = 0x23,
- 0x03,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP] = 0x26,
- 0x05,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x2c,
- 0x07, 0x08, 0x09, 0x0a, 0x0b,
- 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x15,
- 0x20, 0x23, 0x03,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP] = 0x28,
- 0x2d, 0x2c, 0x07, 0x08, 0x09,
- 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
- 0x0f,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT] = 0x16,
- 0x21, 0x23, 0x03, 0x26, 0x05,
- 0x2c, 0x07, 0x2a, 0x2e, 0x0a,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x17,
- 0x22, 0x23, 0x03, 0x28, 0x2d,
- 0x2c, 0x07, 0x2a, 0x2e, 0x0a,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT] = 0x18,
- 0x01,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_RIGHT] = 0x24,
- 0x03, 0x04, 0x05, 0x06, 0x07,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM] = 0x29,
- 0x09,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT] = 0x2f,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x19,
- 0x20, 0x24, 0x03, 0x27, 0x2d,
- 0x06, 0x07, 0x29, 0x09, 0x2f,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT] = 0x1a,
- 0x21, 0x24, 0x03, 0x04, 0x05,
- 0x06, 0x07,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM] = 0x2b,
- 0x2e, 0x2f, 0x0b, 0x0c, 0x0d,
- 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x1b,
- 0x22, 0x24, 0x03, 0x27, 0x2d,
- 0x06, 0x07, 0x2b, 0x2e, 0x2f,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT] = 0x1c,
- 0x01,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_RIGHT] = 0x25,
- 0x03, 0x26, 0x05, 0x2c, 0x07,
- 0x29, 0x09, 0x2f, 0x0b, 0x0c,
- 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x1d,
- 0x20, 0x25, 0x03, 0x28, 0x2d,
- 0x2c, 0x07, 0x29, 0x09, 0x2f,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT] = 0x1e,
- 0x21, 0x25, 0x03, 0x26, 0x05,
- 0x2c, 0x07, 0x2b, 0x2e, 0x2f,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- [GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x1f,
- 0x22, 0x25, 0x03, 0x28, 0x2d,
- 0x2c, 0x07, 0x2b, 0x2e, 0x2f,
- 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
-};
+#include "data/pokedex_area_glow.h"
static const struct PokedexAreaMapTemplate sPokedexAreaMapTemplate =
{
@@ -239,13 +149,13 @@ static const struct PokedexAreaMapTemplate sPokedexAreaMapTemplate =
static const u8 sAreaMarkerTiles[];
static const struct SpriteSheet sAreaMarkerSpriteSheet =
{
- sAreaMarkerTiles, 0x80, 2
+ .data = sAreaMarkerTiles, .size = 0x80, .tag = TAG_AREA_MARKER
};
static const u16 sAreaMarkerPalette[];
static const struct SpritePalette sAreaMarkerSpritePalette =
{
- sAreaMarkerPalette, 2
+ .data = sAreaMarkerPalette, .tag = TAG_AREA_MARKER
};
static const struct OamData sAreaMarkerOamData =
@@ -257,13 +167,13 @@ static const struct OamData sAreaMarkerOamData =
static const struct SpriteTemplate sAreaMarkerSpriteTemplate =
{
- 2,
- 2,
- &sAreaMarkerOamData,
- gDummySpriteAnimTable,
- NULL,
- gDummySpriteAffineAnimTable,
- SpriteCallbackDummy
+ .tileTag = TAG_AREA_MARKER,
+ .paletteTag = TAG_AREA_MARKER,
+ .oam = &sAreaMarkerOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
};
static const u16 sAreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal");
@@ -271,7 +181,7 @@ static const u8 sAreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bp
static const struct SpritePalette sAreaUnknownSpritePalette =
{
- gPokedexAreaScreenAreaUnknown_Pal, 3
+ .data = gPokedexAreaScreenAreaUnknown_Pal, .tag = TAG_AREA_UNKNOWN
};
static const struct OamData sAreaUnknownOamData =
@@ -283,13 +193,13 @@ static const struct OamData sAreaUnknownOamData =
static const struct SpriteTemplate sAreaUnknownSpriteTemplate =
{
- 3,
- 3,
- &sAreaUnknownOamData,
- gDummySpriteAnimTable,
- NULL,
- gDummySpriteAffineAnimTable,
- SpriteCallbackDummy
+ .tileTag = TAG_AREA_UNKNOWN,
+ .paletteTag = TAG_AREA_UNKNOWN,
+ .oam = &sAreaUnknownOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
};
static void ResetDrawAreaGlowState(void)
@@ -309,17 +219,17 @@ static bool8 DrawAreaGlow(void)
break;
case 2:
DecompressAndCopyTileDataToVram(2, sAreaGlow_Gfx, 0, 0, 0);
- LoadBgTilemap(2, sPokedexAreaScreen->areaGlowTilemap, 0x500, 0);
+ LoadBgTilemap(2, sPokedexAreaScreen->areaGlowTilemap, sizeof(sPokedexAreaScreen->areaGlowTilemap), 0);
break;
case 3:
if (!FreeTempTileDataBuffersIfPossible())
{
- CpuCopy32(sAreaGlow_Pal, gPlttBufferUnfaded + 0xA0, 0x20);
+ CpuCopy32(sAreaGlow_Pal, &gPlttBufferUnfaded[GLOW_PALETTE * 16], sizeof(sAreaGlow_Pal));
sPokedexAreaScreen->drawAreaGlowState++;
}
return TRUE;
case 4:
- ChangeBgY(2, -0x800, BG_COORD_SET);
+ ChangeBgY(2, -BG_SCREEN_SIZE, BG_COORD_SET);
break;
default:
return FALSE;
@@ -334,58 +244,67 @@ static void FindMapsWithMon(u16 species)
u16 i;
struct Roamer *roamer;
- sPokedexAreaScreen->unk6E2 = 0;
- sPokedexAreaScreen->unk6E4 = VarGet(VAR_ALTERING_CAVE_WILD_SET);
- if (sPokedexAreaScreen->unk6E4 > 8)
- sPokedexAreaScreen->unk6E4 = 0;
+ sPokedexAreaScreen->alteringCaveCounter = 0;
+ sPokedexAreaScreen->alteringCaveId = VarGet(VAR_ALTERING_CAVE_WILD_SET);
+ if (sPokedexAreaScreen->alteringCaveId >= NUM_ALTERING_CAVE_TABLES)
+ sPokedexAreaScreen->alteringCaveId = 0;
roamer = &gSaveBlock1Ptr->roamer;
if (species != roamer->species)
{
sPokedexAreaScreen->numOverworldAreas = 0;
sPokedexAreaScreen->numSpecialAreas = 0;
+
+ // Check if this species should be hidden from the area map.
+ // This only applies to Wynaut, to hide the encounters on Mirage Island.
for (i = 0; i < ARRAY_COUNT(sSpeciesHiddenFromAreaScreen); i++)
{
if (sSpeciesHiddenFromAreaScreen[i] == species)
return;
}
+ // Add Pokémon with special encounter circumstances (i.e. not listed
+ // in the regular wild encounter table) to the area map.
+ // This only applies to Feebas on Route 119, but it was clearly set
+ // up to allow handling others.
for (i = 0; sFeebasData[i][0] != NUM_SPECIES; i++)
{
if (species == sFeebasData[i][0])
{
switch (sFeebasData[i][1])
{
- case MAP_GROUP_OVERWORLD_MONS:
- SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]);
- break;
- case MAP_GROUP_SPECIAL_MONS_1:
- case MAP_GROUP_SPECIAL_MONS_2:
- SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]);
- break;
+ case MAP_GROUP_TOWNS_AND_ROUTES:
+ SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]);
+ break;
+ case MAP_GROUP_DUNGEONS:
+ case MAP_GROUP_SPECIAL_AREA:
+ SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]);
+ break;
}
}
}
+ // Add regular species to the area map
for (i = 0; gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED); i++)
{
- if (MapHasMon(&gWildMonHeaders[i], species))
+ if (MapHasSpecies(&gWildMonHeaders[i], species))
{
switch (gWildMonHeaders[i].mapGroup)
{
- case MAP_GROUP_OVERWORLD_MONS:
- SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
- break;
- case MAP_GROUP_SPECIAL_MONS_1:
- case MAP_GROUP_SPECIAL_MONS_2:
- SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
- break;
+ case MAP_GROUP_TOWNS_AND_ROUTES:
+ SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
+ break;
+ case MAP_GROUP_DUNGEONS:
+ case MAP_GROUP_SPECIAL_AREA:
+ SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
+ break;
}
}
}
}
else
{
+ // This is the roamer's species, show where the roamer is currently
sPokedexAreaScreen->numSpecialAreas = 0;
if (roamer->active)
{
@@ -402,7 +321,7 @@ static void FindMapsWithMon(u16 species)
static void SetAreaHasMon(u16 mapGroup, u16 mapNum)
{
- if (sPokedexAreaScreen->numOverworldAreas < 0x40)
+ if (sPokedexAreaScreen->numOverworldAreas < MAX_AREA_HIGHLIGHTS)
{
sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].mapGroup = mapGroup;
sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].mapNum = mapNum;
@@ -415,23 +334,26 @@ static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum)
{
int i;
- if (sPokedexAreaScreen->numSpecialAreas < 0x20)
+ if (sPokedexAreaScreen->numSpecialAreas < MAX_AREA_MARKERS)
{
u16 regionMapSectionId = GetRegionMapSectionId(mapGroup, mapNum);
if (regionMapSectionId < MAPSEC_NONE)
{
+ // Don't highlight the area if it's a moving area (Marine/Terra Cave)
for (i = 0; i < ARRAY_COUNT(sMovingRegionMapSections); i++)
{
if (regionMapSectionId == sMovingRegionMapSections[i])
return;
}
+ // Don't highlight the area if it's an undiscovered landmark (e.g. Sky Pillar)
for (i = 0; sLandmarkData[i][0] != MAPSEC_NONE; i++)
{
if (regionMapSectionId == sLandmarkData[i][0] && !FlagGet(sLandmarkData[i][1]))
return;
}
+ // Check if this special area is already being tracked
for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
{
if (sPokedexAreaScreen->specialAreaRegionMapSectionIds[i] == regionMapSectionId)
@@ -440,6 +362,7 @@ static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum)
if (i == sPokedexAreaScreen->numSpecialAreas)
{
+ // New special area
sPokedexAreaScreen->specialAreaRegionMapSectionIds[i] = regionMapSectionId;
sPokedexAreaScreen->numSpecialAreas++;
}
@@ -452,27 +375,34 @@ static u16 GetRegionMapSectionId(u8 mapGroup, u8 mapNum)
return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId;
}
-static bool8 MapHasMon(const struct WildPokemonHeader *info, u16 species)
+static bool8 MapHasSpecies(const struct WildPokemonHeader *info, u16 species)
{
+ // If this is a header for Altering Cave, skip it if it's not the current Altering Cave encounter set
if (GetRegionMapSectionId(info->mapGroup, info->mapNum) == MAPSEC_ALTERING_CAVE)
{
- sPokedexAreaScreen->unk6E2++;
- if (sPokedexAreaScreen->unk6E2 != sPokedexAreaScreen->unk6E4 + 1)
+ sPokedexAreaScreen->alteringCaveCounter++;
+ if (sPokedexAreaScreen->alteringCaveCounter != sPokedexAreaScreen->alteringCaveId + 1)
return FALSE;
}
- if (MonListHasMon(info->landMonsInfo, species, 12))
+ if (MonListHasSpecies(info->landMonsInfo, species, LAND_WILD_COUNT))
return TRUE;
- if (MonListHasMon(info->waterMonsInfo, species, 5))
+ if (MonListHasSpecies(info->waterMonsInfo, species, WATER_WILD_COUNT))
return TRUE;
- if (MonListHasMon(info->fishingMonsInfo, species, 12))
+// When searching the fishing encounters, this incorrectly uses the size of the land encounters.
+// As a result it's reading out of bounds of the fishing encounters tables.
+#ifdef BUGFIX
+ if (MonListHasSpecies(info->fishingMonsInfo, species, FISH_WILD_COUNT))
+#else
+ if (MonListHasSpecies(info->fishingMonsInfo, species, LAND_WILD_COUNT))
+#endif
return TRUE;
- if (MonListHasMon(info->rockSmashMonsInfo, species, 5))
+ if (MonListHasSpecies(info->rockSmashMonsInfo, species, ROCK_WILD_COUNT))
return TRUE;
return FALSE;
}
-static bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 species, u16 size)
+static bool8 MonListHasSpecies(const struct WildPokemonInfo *info, u16 species, u16 size)
{
u16 i;
if (info != NULL)
@@ -490,9 +420,12 @@ static void BuildAreaGlowTilemap(void)
{
u16 i, y, x, j;
+ // Reset tilemap
for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaGlowTilemap); i++)
sPokedexAreaScreen->areaGlowTilemap[i] = 0;
+ // For each area with this species, scan the region map layout and find any locations that have a matching mapsec.
+ // Add a "full glow" indicator for these matching spaces.
for (i = 0; i < sPokedexAreaScreen->numOverworldAreas; i++)
{
j = 0;
@@ -501,69 +434,73 @@ static void BuildAreaGlowTilemap(void)
for (x = 0; x < AREA_SCREEN_WIDTH; x++)
{
if (GetRegionMapSecIdAt(x, y) == sPokedexAreaScreen->overworldAreasWithMons[i].regionMapSectionId)
- sPokedexAreaScreen->areaGlowTilemap[j] = GLOW_TILE_FULL;
-
+ sPokedexAreaScreen->areaGlowTilemap[j] = GLOW_FULL;
j++;
}
}
}
+ // Scan the tilemap. For every "full glow" indicator added above, fill in its edges and corners.
j = 0;
for (y = 0; y < AREA_SCREEN_HEIGHT; y++)
{
for (x = 0; x < AREA_SCREEN_WIDTH; x++)
{
- if (sPokedexAreaScreen->areaGlowTilemap[j] == GLOW_TILE_FULL)
+ if (sPokedexAreaScreen->areaGlowTilemap[j] == GLOW_FULL)
{
- // The "tile != GLOW_TILE_FULL" check is pointless in all of these conditionals,
+ // The "tile != GLOW_FULL" check is pointless in all of these conditionals,
// since there's no harm in OR'ing 0xFFFF with anything else.
// Edges
- if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j - 1] |= GLOW_TILE_RIGHT;
- if (x != AREA_SCREEN_WIDTH - 1 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j + 1] |= GLOW_TILE_LEFT;
- if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] |= GLOW_TILE_BOTTOM;
- if (y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] |= GLOW_TILE_TOP;
+ if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - 1] |= GLOW_EDGE_L;
+ if (x != AREA_SCREEN_WIDTH - 1 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + 1] |= GLOW_EDGE_R;
+ if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] |= GLOW_EDGE_T;
+ if (y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] |= GLOW_EDGE_B;
- // Diagonals
- if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] |= GLOW_TILE_BOTTOM_RIGHT;
- if (x != AREA_SCREEN_WIDTH - 1 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] |= GLOW_TILE_BOTTOM_LEFT;
- if (x != 0 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] |= GLOW_TILE_TOP_RIGHT;
- if (x != AREA_SCREEN_WIDTH - 1 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] != GLOW_TILE_FULL)
- sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] |= GLOW_TILE_TOP_LEFT;
+ // Corners
+ if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] |= GLOW_CORNER_TL;
+ if (x != AREA_SCREEN_WIDTH - 1 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] |= GLOW_CORNER_TR;
+ if (x != 0 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] |= GLOW_CORNER_BL;
+ if (x != AREA_SCREEN_WIDTH - 1 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] != GLOW_FULL)
+ sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] |= GLOW_CORNER_BR;
}
j++;
}
}
+ // Scan the tilemap again. Replace the "full tile" indicators with the actual tile id,
+ // and remove corner flags when they're overlapped by an edge.
for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaGlowTilemap); i++)
{
- if (sPokedexAreaScreen->areaGlowTilemap[i] == GLOW_TILE_FULL)
+ if (sPokedexAreaScreen->areaGlowTilemap[i] == GLOW_FULL)
{
- sPokedexAreaScreen->areaGlowTilemap[i] = 0x10;
- sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
+ sPokedexAreaScreen->areaGlowTilemap[i] = GLOW_TILE_FULL;
+ sPokedexAreaScreen->areaGlowTilemap[i] |= (GLOW_PALETTE << 12);
}
else if (sPokedexAreaScreen->areaGlowTilemap[i])
{
- // Get rid of overlapping flags
- if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_RIGHT)
- sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP_RIGHT);
- if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_LEFT)
- sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_LEFT);
- if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_BOTTOM)
- sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT);
- if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_TOP)
- sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT);
+ // Get rid of overlapping flags.
+ // This is pointless, as sAreaGlowTilemapMapping can handle overlaps.
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_EDGE_L)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_CORNER_TL | GLOW_CORNER_BL);
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_EDGE_R)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_CORNER_TR | GLOW_CORNER_BR);
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_EDGE_T)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_CORNER_TR | GLOW_CORNER_TL);
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_EDGE_B)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_CORNER_BR | GLOW_CORNER_BL);
+ // Assign tile id
sPokedexAreaScreen->areaGlowTilemap[i] = sAreaGlowTilemapMapping[sPokedexAreaScreen->areaGlowTilemap[i]];
- sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
+ sPokedexAreaScreen->areaGlowTilemap[i] |= (GLOW_PALETTE << 12);
}
}
}
@@ -571,15 +508,15 @@ static void BuildAreaGlowTilemap(void)
static void StartAreaGlow(void)
{
if (sPokedexAreaScreen->numSpecialAreas && sPokedexAreaScreen->numOverworldAreas == 0)
- sPokedexAreaScreen->whichMarkersFlashing = 1;
+ sPokedexAreaScreen->showingMarkers = TRUE;
else
- sPokedexAreaScreen->whichMarkersFlashing = 0;
+ sPokedexAreaScreen->showingMarkers = FALSE;
- sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
- sPokedexAreaScreen->areaShadeFrameCounter = 0;
+ sPokedexAreaScreen->markerTimer = 0;
+ sPokedexAreaScreen->glowTimer = 0;
sPokedexAreaScreen->areaShadeBldArgLo = 0;
- sPokedexAreaScreen->areaShadeBldArgHi = 0x40;
- sPokedexAreaScreen->specialMarkerCycleCounter = 1;
+ sPokedexAreaScreen->areaShadeBldArgHi = 64;
+ sPokedexAreaScreen->markerFlashCounter = 1;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
DoAreaGlow();
@@ -590,12 +527,13 @@ static void DoAreaGlow(void)
u16 x, y;
u16 i;
- if (sPokedexAreaScreen->whichMarkersFlashing == 0)
+ if (!sPokedexAreaScreen->showingMarkers)
{
- if (sPokedexAreaScreen->areaShadeOrMarkerFrameCounter == 0)
+ // Showing area glow
+ if (sPokedexAreaScreen->markerTimer == 0)
{
- sPokedexAreaScreen->areaShadeFrameCounter++;
- if (sPokedexAreaScreen->areaShadeFrameCounter & 1)
+ sPokedexAreaScreen->glowTimer++;
+ if (sPokedexAreaScreen->glowTimer & 1)
sPokedexAreaScreen->areaShadeBldArgLo = (sPokedexAreaScreen->areaShadeBldArgLo + 4) & 0x7f;
else
sPokedexAreaScreen->areaShadeBldArgHi = (sPokedexAreaScreen->areaShadeBldArgHi + 4) & 0x7f;
@@ -603,32 +541,38 @@ static void DoAreaGlow(void)
x = gSineTable[sPokedexAreaScreen->areaShadeBldArgLo] >> 4;
y = gSineTable[sPokedexAreaScreen->areaShadeBldArgHi] >> 4;
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(x, y));
- sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
- if (sPokedexAreaScreen->areaShadeFrameCounter == 0x40)
+ sPokedexAreaScreen->markerTimer = 0;
+ if (sPokedexAreaScreen->glowTimer == 64)
{
- sPokedexAreaScreen->areaShadeFrameCounter = 0;
+ // Done glowing, reset and try to switch to the special area markers
+ sPokedexAreaScreen->glowTimer = 0;
if (sPokedexAreaScreen->numSpecialAreas != 0)
- sPokedexAreaScreen->whichMarkersFlashing = 1;
+ sPokedexAreaScreen->showingMarkers = TRUE;
}
}
else
- sPokedexAreaScreen->areaShadeOrMarkerFrameCounter--;
+ sPokedexAreaScreen->markerTimer--;
}
else
{
- sPokedexAreaScreen->areaShadeOrMarkerFrameCounter++;
- if (sPokedexAreaScreen->areaShadeOrMarkerFrameCounter > 12)
+ // Showing special area markers
+ sPokedexAreaScreen->markerTimer++;
+ if (sPokedexAreaScreen->markerTimer > 12)
{
- sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
- sPokedexAreaScreen->specialMarkerCycleCounter++;
+ sPokedexAreaScreen->markerTimer = 0;
+
+ // Flash the marker
+ // With a max of 4, the marker will disappear twice
+ sPokedexAreaScreen->markerFlashCounter++;
for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
- sPokedexAreaScreen->areaMarkerSprites[i]->invisible = sPokedexAreaScreen->specialMarkerCycleCounter & 1;
+ sPokedexAreaScreen->areaMarkerSprites[i]->invisible = sPokedexAreaScreen->markerFlashCounter & 1;
- if (sPokedexAreaScreen->specialMarkerCycleCounter > 4)
+ if (sPokedexAreaScreen->markerFlashCounter > 4)
{
- sPokedexAreaScreen->specialMarkerCycleCounter = 1;
+ // Done flashing, reset and try to switch to the area glow
+ sPokedexAreaScreen->markerFlashCounter = 1;
if (sPokedexAreaScreen->numOverworldAreas != 0)
- sPokedexAreaScreen->whichMarkersFlashing = 0;
+ sPokedexAreaScreen->showingMarkers = FALSE;
}
}
}
@@ -652,58 +596,58 @@ static void Task_ShowPokedexAreaScreen(u8 taskId)
{
switch (gTasks[taskId].tState)
{
- case 0:
- ResetSpriteData();
- FreeAllSpritePalettes();
- HideBg(3);
- HideBg(2);
- HideBg(0);
- break;
- case 1:
- SetBgAttribute(3, BG_ATTR_CHARBASEINDEX, 3);
- LoadPokedexAreaMapGfx(&sPokedexAreaMapTemplate);
- StringFill(sPokedexAreaScreen->charBuffer, CHAR_SPACE, 16);
- break;
- case 2:
- if (TryShowPokedexAreaMap() == TRUE)
- return;
- PokedexAreaMapChangeBgY(-8);
- break;
- case 3:
- ResetDrawAreaGlowState();
- break;
- case 4:
- if (DrawAreaGlow())
- return;
- break;
- case 5:
- ShowRegionMapForPokedexAreaScreen(&sPokedexAreaScreen->regionMap);
- CreateRegionMapPlayerIcon(1, 1);
- PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(0, -8);
- break;
- case 6:
- CreateAreaMarkerSprites();
- break;
- case 7:
- LoadAreaUnknownGraphics();
- break;
- case 8:
- CreateAreaUnknownSprites();
- break;
- case 9:
- BeginNormalPaletteFade(PALETTES_ALL & ~(0x14), 0, 16, 0, RGB(0, 0, 0));
- break;
- case 10:
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_ALL);
- StartAreaGlow();
- ShowBg(2);
- ShowBg(3); // TryShowPokedexAreaMap will have done this already
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON);
- break;
- case 11:
- gTasks[taskId].func = Task_HandlePokedexAreaScreenInput;
- gTasks[taskId].tState = 0;
+ case 0:
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ HideBg(3);
+ HideBg(2);
+ HideBg(0);
+ break;
+ case 1:
+ SetBgAttribute(3, BG_ATTR_CHARBASEINDEX, 3);
+ LoadPokedexAreaMapGfx(&sPokedexAreaMapTemplate);
+ StringFill(sPokedexAreaScreen->charBuffer, CHAR_SPACE, 16);
+ break;
+ case 2:
+ if (TryShowPokedexAreaMap() == TRUE)
return;
+ PokedexAreaMapChangeBgY(-8);
+ break;
+ case 3:
+ ResetDrawAreaGlowState();
+ break;
+ case 4:
+ if (DrawAreaGlow())
+ return;
+ break;
+ case 5:
+ ShowRegionMapForPokedexAreaScreen(&sPokedexAreaScreen->regionMap);
+ CreateRegionMapPlayerIcon(1, 1);
+ PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(0, -8);
+ break;
+ case 6:
+ CreateAreaMarkerSprites();
+ break;
+ case 7:
+ LoadAreaUnknownGraphics();
+ break;
+ case 8:
+ CreateAreaUnknownSprites();
+ break;
+ case 9:
+ BeginNormalPaletteFade(PALETTES_ALL & ~(0x14), 0, 16, 0, RGB_BLACK);
+ break;
+ case 10:
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_ALL);
+ StartAreaGlow();
+ ShowBg(2);
+ ShowBg(3); // TryShowPokedexAreaMap will have done this already
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON);
+ break;
+ case 11:
+ gTasks[taskId].func = Task_HandlePokedexAreaScreenInput;
+ gTasks[taskId].tState = 0;
+ return;
}
gTasks[taskId].tState++;
@@ -741,7 +685,7 @@ static void Task_HandlePokedexAreaScreenInput(u8 taskId)
case 3:
if (gPaletteFade.active)
return;
- DestroyAreaMarkerSprites();
+ DestroyAreaScreenSprites();
sPokedexAreaScreen->screenSwitchState[0] = gTasks[taskId].data[1];
ResetPokedexAreaMapBg();
DestroyTask(taskId);
@@ -759,6 +703,7 @@ static void ResetPokedexAreaMapBg(void)
SetBgAttribute(3, BG_ATTR_PALETTEMODE, 0);
}
+// Creates the circular sprites to highlight special areas (like caves) where a Pokémon can be found
static void CreateAreaMarkerSprites(void)
{
u8 spriteId;
@@ -789,17 +734,20 @@ static void CreateAreaMarkerSprites(void)
sPokedexAreaScreen->numAreaMarkerSprites = numSprites;
}
-static void DestroyAreaMarkerSprites(void)
+static void DestroyAreaScreenSprites(void)
{
u16 i;
- FreeSpriteTilesByTag(2);
- FreeSpritePaletteByTag(2);
+
+ // Destroy area marker sprites
+ FreeSpriteTilesByTag(TAG_AREA_MARKER);
+ FreeSpritePaletteByTag(TAG_AREA_MARKER);
for (i = 0; i < sPokedexAreaScreen->numAreaMarkerSprites; i++)
DestroySprite(sPokedexAreaScreen->areaMarkerSprites[i]);
- FreeSpriteTilesByTag(3);
- FreeSpritePaletteByTag(3);
- for (i = 0; i < 3; i++)
+ // Destroy "Area Unknown" sprites
+ FreeSpriteTilesByTag(TAG_AREA_UNKNOWN);
+ FreeSpritePaletteByTag(TAG_AREA_UNKNOWN);
+ for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaUnknownSprites); i++)
{
if (sPokedexAreaScreen->areaUnknownSprites[i])
DestroySprite(sPokedexAreaScreen->areaUnknownSprites[i]);
@@ -810,8 +758,8 @@ static void LoadAreaUnknownGraphics(void)
{
struct SpriteSheet spriteSheet = {
.data = sPokedexAreaScreen->areaUnknownGraphicsBuffer,
- .size = 0x600,
- .tag = 3,
+ .size = sizeof(sPokedexAreaScreen->areaUnknownGraphicsBuffer),
+ .tag = TAG_AREA_UNKNOWN,
};
LZ77UnCompWram(gPokedexAreaScreenAreaUnknown_Gfx, sPokedexAreaScreen->areaUnknownGraphicsBuffer);
LoadSpriteSheet(&spriteSheet);
@@ -821,25 +769,27 @@ static void LoadAreaUnknownGraphics(void)
static void CreateAreaUnknownSprites(void)
{
u16 i;
- u8 spriteId;
if (sPokedexAreaScreen->numOverworldAreas || sPokedexAreaScreen->numSpecialAreas)
{
- for (i = 0; i < 3; i++)
+ // The current species is present on the map, don't create any "Area Unknown" sprites
+ for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaUnknownSprites); i++)
sPokedexAreaScreen->areaUnknownSprites[i] = NULL;
}
else
{
- for (i = 0; i < 3; i++)
+ // The current species is absent on the map, try to create "Area Unknown" sprites
+ for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaUnknownSprites); i++)
{
- spriteId = CreateSprite(&sAreaUnknownSpriteTemplate, i * 32 + 0xa0, 0x8c, 0);
+ u8 spriteId = CreateSprite(&sAreaUnknownSpriteTemplate, i * 32 + 160, 140, 0);
if (spriteId != MAX_SPRITES)
{
gSprites[spriteId].oam.tileNum += i * 16;
- sPokedexAreaScreen->areaUnknownSprites[i] = gSprites + spriteId;
+ sPokedexAreaScreen->areaUnknownSprites[i] = &gSprites[spriteId];
}
else
{
+ // Failed to create sprite
sPokedexAreaScreen->areaUnknownSprites[i] = NULL;
}
}
diff --git a/src/pokemon.c b/src/pokemon.c
index 0cbb127a6d..c042b1c45b 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -87,11 +87,14 @@ static const struct CombinedMove sCombinedMoves[2] =
{0xFFFF, 0xFFFF, 0xFFFF}
};
+// NOTE: The order of the elements in the 3 arrays below is irrelevant.
+// To reorder the pokedex, see the values in include/constants/pokedex.h.
+
#define SPECIES_TO_HOENN(name) [SPECIES_##name - 1] = HOENN_DEX_##name
#define SPECIES_TO_NATIONAL(name) [SPECIES_##name - 1] = NATIONAL_DEX_##name
#define HOENN_TO_NATIONAL(name) [HOENN_DEX_##name - 1] = NATIONAL_DEX_##name
- // Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex)
+// Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex)
static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] =
{
SPECIES_TO_HOENN(BULBASAUR),
@@ -507,7 +510,7 @@ static const u16 sSpeciesToHoennPokedexNum[NUM_SPECIES - 1] =
SPECIES_TO_HOENN(CHIMECHO),
};
- // Assigns all species to the National Dex Index (Summary No. for National Dex)
+// Assigns all species to the National Dex Index (Summary No. for National Dex)
static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] =
{
SPECIES_TO_NATIONAL(BULBASAUR),
@@ -923,7 +926,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] =
SPECIES_TO_NATIONAL(CHIMECHO),
};
- // Assigns all Hoenn Dex Indexes to a National Dex Index
+// Assigns all Hoenn Dex Indexes to a National Dex Index
static const u16 sHoennToNationalOrder[NUM_SPECIES - 1] =
{
HOENN_TO_NATIONAL(TREECKO),
@@ -1341,10 +1344,10 @@ static const u16 sHoennToNationalOrder[NUM_SPECIES - 1] =
const struct SpindaSpot gSpindaSpotGraphics[] =
{
- {16, 7, INCBIN_U16("graphics/spinda_spots/spot_0.bin")},
- {40, 8, INCBIN_U16("graphics/spinda_spots/spot_1.bin")},
- {22, 25, INCBIN_U16("graphics/spinda_spots/spot_2.bin")},
- {34, 26, INCBIN_U16("graphics/spinda_spots/spot_3.bin")}
+ {.x = 16, .y = 7, .image = INCBIN_U16("graphics/spinda_spots/spot_0.bin")},
+ {.x = 40, .y = 8, .image = INCBIN_U16("graphics/spinda_spots/spot_1.bin")},
+ {.x = 22, .y = 25, .image = INCBIN_U16("graphics/spinda_spots/spot_2.bin")},
+ {.x = 34, .y = 26, .image = INCBIN_U16("graphics/spinda_spots/spot_3.bin")}
};
#include "data/pokemon/item_effects.h"
@@ -4646,7 +4649,7 @@ void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex)
gBattleMons[battlerId].type2 = gBaseStats[gBattleMons[battlerId].species].type2;
gBattleMons[battlerId].ability = GetAbilityBySpecies(gBattleMons[battlerId].species, gBattleMons[battlerId].abilityNum);
GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname);
- StringCopy10(gBattleMons[battlerId].nickname, nickname);
+ StringCopy_Nickname(gBattleMons[battlerId].nickname, nickname);
GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battlerId].otName);
hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(battlerId)];
@@ -5649,42 +5652,81 @@ u16 SpeciesToCryId(u16 species)
return gSpeciesIdToCryId[species - (SPECIES_TREECKO - 1)];
}
-#define DRAW_SPINDA_SPOTS \
+// Spots can be drawn on Spinda's color indexes 1, 2, or 3
+#define FIRST_SPOT_COLOR 1
+#define LAST_SPOT_COLOR 3
+
+// 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.
+ 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.
+
+ The position of each spot is randomized using the Spinda's personality. The entire 32 bit
+ personality value is used, 4 bits for each coordinate of the 4 spots. If the personality
+ value is 0x87654321, then 0x1 will be used for the 1st spot's x coord, 0x2 will be used for
+ the 1st spot's y coord, 0x3 will be used for the 2nd spot's x coord, and so on. Each
+ 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
+ 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
+ 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
+ (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.
+*/
+#define DRAW_SPINDA_SPOTS(personality, dest) \
{ \
- int i; \
- for (i = 0; i < 4; i++) \
+ s32 i; \
+ for (i = 0; i < (s32)ARRAY_COUNT(gSpindaSpotGraphics); i++) \
{ \
- int j; \
+ s32 row; \
u8 x = gSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8); \
u8 y = gSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8); \
\
- for (j = 0; j < 16; j++) \
+ for (row = 0; row < SPINDA_SPOT_HEIGHT; row++) \
{ \
- int k; \
- s32 row = gSpindaSpotGraphics[i].image[j]; \
+ s32 column; \
+ s32 spotPixelRow = gSpindaSpotGraphics[i].image[row]; \
\
- for (k = x; k < x + 16; k++) \
+ for (column = x; column < x + SPINDA_SPOT_WIDTH; column++) \
{ \
- u8 *val = dest + ((k / 8) * 32) + \
- ((k % 8) / 2) + \
- ((y >> 3) << 8) + \
- ((y & 7) << 2); \
+ /* Get target pixels on Spinda's sprite */ \
+ u8 *destPixels = dest + ((column / 8) * TILE_SIZE_4BPP) + \
+ ((column % 8) / 2) + \
+ ((y / 8) * TILE_SIZE_4BPP * 8) + \
+ ((y % 8) * 4); \
\
- if (row & 1) \
+ /* Is this pixel in the 16x16 spot image part of the spot? */ \
+ if (spotPixelRow & 1) \
{ \
- if (k & 1) \
+ /* destPixels addressess two pixels, alternate which */ \
+ /* of the two pixels is being considered for drawing */ \
+ if (column & 1) \
{ \
- if ((u8)((*val & 0xF0) - 0x10) <= 0x20) \
- *val += 0x40; \
+ /* 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); \
} \
else \
{ \
- if ((u8)((*val & 0xF) - 0x01) <= 0x02) \
- *val += 0x04; \
+ /* 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; \
} \
} \
\
- row >>= 1; \
+ spotPixelRow >>= 1; \
} \
\
y++; \
@@ -5701,13 +5743,13 @@ static void DrawSpindaSpotsUnused(u16 species, u32 personality, u8 *dest)
if (species == SPECIES_SPINDA
&& dest != gMonSpritesGfxPtr->sprites.ptr[B_POSITION_PLAYER_LEFT]
&& dest != gMonSpritesGfxPtr->sprites.ptr[B_POSITION_PLAYER_RIGHT])
- DRAW_SPINDA_SPOTS;
+ DRAW_SPINDA_SPOTS(personality, dest);
}
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic)
{
if (species == SPECIES_SPINDA && isFrontPic)
- DRAW_SPINDA_SPOTS;
+ DRAW_SPINDA_SPOTS(personality, dest);
}
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies)
@@ -5767,7 +5809,7 @@ s32 GetBattlerMultiplayerId(u16 a1)
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
{
if (InBattlePyramid())
- return GetBattlePyramindTrainerEncounterMusicId(trainerOpponentId);
+ return GetTrainerEncounterMusicIdInBattlePyramid(trainerOpponentId);
else if (InTrainerHillChallenge())
return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId);
else
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 4ead75965e..221b9e9ecf 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -37,7 +37,6 @@
#include "walda_phrase.h"
#include "window.h"
#include "constants/items.h"
-#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -332,6 +331,13 @@ enum {
TILEMAPID_COUNT
};
+// Window IDs for sWindowTemplates
+enum {
+ WIN_DISPLAY_INFO,
+ WIN_MESSAGE,
+ WIN_ITEM_DESC,
+};
+
struct Wallpaper
{
const u32 *tiles;
@@ -939,49 +945,31 @@ static const union AffineAnimCmd *const sAffineAnims_ChooseBoxMenu[] =
static const u8 sChooseBoxMenu_TextColors[] = {TEXT_COLOR_RED, TEXT_DYNAMIC_COLOR_6, TEXT_DYNAMIC_COLOR_5};
static const u8 sText_OutOf30[] = _("/30");
-static const u16 sChooseBoxMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/box_selection_popup.gbapal");
-static const u8 sChooseBoxMenuCenter_Gfx[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp");
-static const u8 sChooseBoxMenuSides_Gfx[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp");
-static const u32 sScrollingBg_Gfx[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.4bpp.lz");
-static const u32 sScrollingBg_Tilemap[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.bin.lz");
-static const u16 sDisplayMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/display_menu.gbapal"); // Unused
-static const u32 sDisplayMenu_Tilemap[] = INCBIN_U32("graphics/pokemon_storage/display_menu.bin.lz");
-
-static const u16 sPkmnData_Tilemap[] =
-{
- 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118,
- 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118,
-};
-
+static const u16 sChooseBoxMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/box_selection_popup.gbapal");
+static const u8 sChooseBoxMenuCenter_Gfx[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp");
+static const u8 sChooseBoxMenuSides_Gfx[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp");
+static const u32 sScrollingBg_Gfx[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.4bpp.lz");
+static const u32 sScrollingBg_Tilemap[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.bin.lz");
+static const u16 sDisplayMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/display_menu.gbapal"); // Unused
+static const u32 sDisplayMenu_Tilemap[] = INCBIN_U32("graphics/pokemon_storage/display_menu.bin.lz");
+static const u16 sPkmnData_Tilemap[] = INCBIN_U16("graphics/pokemon_storage/pkmn_data.bin");
// sInterface_Pal - parts of the display frame, "PkmnData"'s normal color, Close Box
-static const u16 sInterface_Pal[] = INCBIN_U16("graphics/pokemon_storage/interface.gbapal");
-static const u16 sPkmnDataGray_Pal[] = INCBIN_U16("graphics/pokemon_storage/pkmn_data_gray.gbapal");
-static const u16 sBg_Pal[] = INCBIN_U16("graphics/pokemon_storage/bg.gbapal");
-static const u16 sBgMoveItems_Pal[] = INCBIN_U16("graphics/pokemon_storage/bg_move_items.gbapal");
-
-static const u16 sCloseBoxButton_Tilemap[] =
-{
- 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182,
- 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189,
- 0x018a, 0x018b, 0x018c, 0x018d
-};
-static const u16 sPartySlotFilled_Tilemap[] =
-{
- 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162,
-};
-static const u16 sPartySlotEmpty_Tilemap[] =
-{
- 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165,
-};
-
-static const u16 sWaveform_Pal[] = INCBIN_U16("graphics/pokemon_storage/waveform.gbapal");
-static const u32 sWaveform_Gfx[] = INCBIN_U32("graphics/pokemon_storage/waveform.4bpp");
-static const u16 sUnused_Pal[] = INCBIN_U16("graphics/pokemon_storage/unused.gbapal");
-static const u16 sUnknown_Pal[] = INCBIN_U16("graphics/pokemon_storage/unknown.gbapal");
+static const u16 sInterface_Pal[] = INCBIN_U16("graphics/pokemon_storage/interface.gbapal");
+static const u16 sPkmnDataGray_Pal[] = INCBIN_U16("graphics/pokemon_storage/pkmn_data_gray.gbapal");
+static const u16 sBg_Pal[] = INCBIN_U16("graphics/pokemon_storage/bg.gbapal");
+static const u16 sBgMoveItems_Pal[] = INCBIN_U16("graphics/pokemon_storage/bg_move_items.gbapal");
+static const u16 sCloseBoxButton_Tilemap[] = INCBIN_U16("graphics/pokemon_storage/close_box_button.bin");
+static const u16 sPartySlotFilled_Tilemap[] = INCBIN_U16("graphics/pokemon_storage/party_slot_filled.bin");
+static const u16 sPartySlotEmpty_Tilemap[] = INCBIN_U16("graphics/pokemon_storage/party_slot_empty.bin");
+static const u16 sWaveform_Pal[] = INCBIN_U16("graphics/pokemon_storage/waveform.gbapal");
+static const u32 sWaveform_Gfx[] = INCBIN_U32("graphics/pokemon_storage/waveform.4bpp");
+static const u16 sUnused_Pal[] = INCBIN_U16("graphics/pokemon_storage/unused.gbapal");
+static const u16 sTextWindows_Pal[] = INCBIN_U16("graphics/pokemon_storage/text_windows.gbapal");
static const struct WindowTemplate sWindowTemplates[] =
{
- {
+ // The panel below the currently displayed Pokémon
+ [WIN_DISPLAY_INFO] = {
.bg = 1,
.tilemapLeft = 0,
.tilemapTop = 11,
@@ -990,7 +978,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.paletteNum = 3,
.baseBlock = 0xC0,
},
- {
+ [WIN_MESSAGE] = {
.bg = 0,
.tilemapLeft = 11,
.tilemapTop = 17,
@@ -999,7 +987,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.paletteNum = 15,
.baseBlock = 0x14,
},
- {
+ [WIN_ITEM_DESC] = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
@@ -1349,7 +1337,7 @@ void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero
windowId = AddWindow(&winTemplate);
FillWindowPixelBuffer(windowId, PIXEL_FILL(zero2));
tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA);
- tileData2 = (winTemplate.width * 32) + tileData1;
+ tileData2 = (winTemplate.width * TILE_SIZE_4BPP) + tileData1;
if (!zero1)
txtColor[0] = TEXT_COLOR_TRANSPARENT;
@@ -1385,7 +1373,7 @@ void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero
// Unused
static void UnusedDrawTextWindow(const u8 *string, void *dst, u16 offset, u8 bgColor, u8 fgColor, u8 shadowColor)
{
- u32 tileSize;
+ u32 tilesSize;
u8 windowId;
u8 txtColor[3];
u8 *tileData1, *tileData2;
@@ -1393,17 +1381,17 @@ static void UnusedDrawTextWindow(const u8 *string, void *dst, u16 offset, u8 bgC
winTemplate.width = StringLength_Multibyte(string);
winTemplate.height = 2;
- tileSize = winTemplate.width * 32;
+ tilesSize = winTemplate.width * TILE_SIZE_4BPP;
windowId = AddWindow(&winTemplate);
FillWindowPixelBuffer(windowId, PIXEL_FILL(bgColor));
tileData1 = (u8*) GetWindowAttribute(windowId, WINDOW_TILE_DATA);
- tileData2 = (winTemplate.width * 32) + tileData1;
+ tileData2 = (winTemplate.width * TILE_SIZE_4BPP) + tileData1;
txtColor[0] = bgColor;
txtColor[1] = fgColor;
txtColor[2] = shadowColor;
AddTextPrinterParameterized4(windowId, FONT_NORMAL, 0, 2, 0, 0, txtColor, TEXT_SKIP_DRAW, string);
- CpuCopy16(tileData1, dst, tileSize);
- CpuCopy16(tileData2, dst + offset, tileSize);
+ CpuCopy16(tileData1, dst, tilesSize);
+ CpuCopy16(tileData2, dst + offset, tilesSize);
RemoveWindow(windowId);
}
@@ -2141,10 +2129,10 @@ static void Task_InitPokeStorage(u8 taskId)
}
break;
case 2:
- PutWindowTilemap(0);
- ClearWindowTilemap(1);
+ PutWindowTilemap(WIN_DISPLAY_INFO);
+ ClearWindowTilemap(WIN_MESSAGE);
CpuFill32(0, (void *)VRAM, 0x200);
- LoadUserWindowBorderGfx(1, 0xB, 0xE0);
+ LoadUserWindowBorderGfx(WIN_MESSAGE, 0xB, 0xE0);
break;
case 3:
ResetAllBgCoords();
@@ -3867,7 +3855,7 @@ static void InitPalettesAndSprites(void)
{
LoadPalette(sInterface_Pal, 0, sizeof(sInterface_Pal));
LoadPalette(sPkmnDataGray_Pal, 0x20, sizeof(sPkmnDataGray_Pal));
- LoadPalette(sUnknown_Pal, 0xF0, sizeof(sUnknown_Pal));
+ LoadPalette(sTextWindows_Pal, 0xF0, sizeof(sTextWindows_Pal));
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
LoadPalette(sBg_Pal, 0x30, sizeof(sBg_Pal));
else
@@ -3975,7 +3963,7 @@ static void CreateDisplayMonSprite(void)
sStorage->displayMonSprite = &gSprites[spriteId];
sStorage->displayMonPalOffset = palSlot * 16 + 0x100;
- sStorage->displayMonTilePtr = (void*) OBJ_VRAM0 + tileStart * 32;
+ sStorage->displayMonTilePtr = (void*) OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP;
} while (0);
if (sStorage->displayMonSprite == NULL)
@@ -4006,23 +3994,23 @@ static void LoadDisplayMonGfx(u16 species, u32 pid)
static void PrintDisplayMonInfo(void)
{
- FillWindowPixelBuffer(0, PIXEL_FILL(1));
+ FillWindowPixelBuffer(WIN_DISPLAY_INFO, PIXEL_FILL(1));
if (sStorage->boxOption != OPTION_MOVE_ITEMS)
{
- AddTextPrinterParameterized(0, FONT_NORMAL, sStorage->displayMonNameText, 6, 0, TEXT_SKIP_DRAW, NULL);
- AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 15, TEXT_SKIP_DRAW, NULL);
- AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 29, TEXT_SKIP_DRAW, NULL);
- AddTextPrinterParameterized(0, FONT_SMALL, sStorage->displayMonItemName, 6, 43, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_NORMAL, sStorage->displayMonNameText, 6, 0, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 15, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 29, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SMALL, sStorage->displayMonItemName, 6, 43, TEXT_SKIP_DRAW, NULL);
}
else
{
- AddTextPrinterParameterized(0, FONT_SMALL, sStorage->displayMonItemName, 6, 0, TEXT_SKIP_DRAW, NULL);
- AddTextPrinterParameterized(0, FONT_NORMAL, sStorage->displayMonNameText, 6, 13, TEXT_SKIP_DRAW, NULL);
- AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 28, TEXT_SKIP_DRAW, NULL);
- AddTextPrinterParameterized(0, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 42, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SMALL, sStorage->displayMonItemName, 6, 0, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_NORMAL, sStorage->displayMonNameText, 6, 13, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonSpeciesName, 6, 28, TEXT_SKIP_DRAW, NULL);
+ AddTextPrinterParameterized(WIN_DISPLAY_INFO, FONT_SHORT, sStorage->displayMonGenderLvlText, 10, 42, TEXT_SKIP_DRAW, NULL);
}
- CopyWindowToVram(0, COPYWIN_GFX);
+ CopyWindowToVram(WIN_DISPLAY_INFO, COPYWIN_GFX);
if (sStorage->displayMonSpecies != SPECIES_NONE)
{
UpdateMonMarkingTiles(sStorage->displayMonMarkings, sStorage->markingComboTilesPtr);
@@ -4283,7 +4271,7 @@ static void UpdateBoxToSendMons(void)
static void InitPokeStorageBg0(void)
{
SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29));
- LoadUserWindowBorderGfx(1, 2, 208);
+ LoadUserWindowBorderGfx(WIN_MESSAGE, 2, 208);
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
CopyBgTilemapBufferToVram(0);
}
@@ -4322,11 +4310,11 @@ static void PrintMessage(u8 id)
}
DynamicPlaceholderTextUtil_ExpandPlaceholders(sStorage->messageText, sMessages[id].text);
- FillWindowPixelBuffer(1, PIXEL_FILL(1));
- AddTextPrinterParameterized(1, FONT_NORMAL, sStorage->messageText, 0, 1, TEXT_SKIP_DRAW, NULL);
- DrawTextBorderOuter(1, 2, 14);
- PutWindowTilemap(1);
- CopyWindowToVram(1, COPYWIN_GFX);
+ FillWindowPixelBuffer(WIN_MESSAGE, PIXEL_FILL(1));
+ AddTextPrinterParameterized(WIN_MESSAGE, FONT_NORMAL, sStorage->messageText, 0, 1, TEXT_SKIP_DRAW, NULL);
+ DrawTextBorderOuter(WIN_MESSAGE, 2, 14);
+ PutWindowTilemap(WIN_MESSAGE);
+ CopyWindowToVram(WIN_MESSAGE, COPYWIN_GFX);
ScheduleBgCopyTilemapToVram(0);
}
@@ -4338,7 +4326,7 @@ static void ShowYesNoWindow(s8 cursorPos)
static void ClearBottomWindow(void)
{
- ClearStdWindowAndFrameToTransparent(1, FALSE);
+ ClearStdWindowAndFrameToTransparent(WIN_MESSAGE, FALSE);
ScheduleBgCopyTilemapToVram(0);
}
@@ -5135,7 +5123,7 @@ static u16 TryLoadMonIconTiles(u16 species)
sStorage->iconSpeciesList[i] = species;
sStorage->numIconsPerSpecies[i]++;
offset = 16 * i;
- CpuCopy32(GetMonIconTiles(species, TRUE), (void*)(OBJ_VRAM0) + offset * 32, 0x200);
+ CpuCopy32(GetMonIconTiles(species, TRUE), (void*)(OBJ_VRAM0) + offset * TILE_SIZE_4BPP, 0x200);
return offset;
}
@@ -6893,7 +6881,7 @@ static void SetDisplayMonData(void *pokemon, u8 mode)
sStorage->displayMonIsEgg = GetMonData(mon, MON_DATA_IS_EGG);
GetMonData(mon, MON_DATA_NICKNAME, sStorage->displayMonName);
- StringGetEnd10(sStorage->displayMonName);
+ StringGet_Nickname(sStorage->displayMonName);
sStorage->displayMonLevel = GetMonData(mon, MON_DATA_LEVEL);
sStorage->displayMonMarkings = GetMonData(mon, MON_DATA_MARKINGS);
sStorage->displayMonPersonality = GetMonData(mon, MON_DATA_PERSONALITY);
@@ -6918,7 +6906,7 @@ static void SetDisplayMonData(void *pokemon, u8 mode)
GetBoxMonData(boxMon, MON_DATA_NICKNAME, sStorage->displayMonName);
- StringGetEnd10(sStorage->displayMonName);
+ StringGet_Nickname(sStorage->displayMonName);
sStorage->displayMonLevel = GetLevelFromBoxMonExp(boxMon);
sStorage->displayMonMarkings = GetBoxMonData(boxMon, MON_DATA_MARKINGS);
sStorage->displayMonPersonality = GetBoxMonData(boxMon, MON_DATA_PERSONALITY);
@@ -8760,7 +8748,7 @@ static void CreateItemIconSprites(void)
{
spriteSheet.tag = GFXTAG_ITEM_ICON_0 + i;
LoadCompressedSpriteSheet(&spriteSheet);
- sStorage->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * 32 + (void*)(OBJ_VRAM0);
+ sStorage->itemIcons[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * TILE_SIZE_4BPP + (void*)(OBJ_VRAM0);
sStorage->itemIcons[i].palIndex = AllocSpritePalette(PALTAG_ITEM_ICON_0 + i);
sStorage->itemIcons[i].palIndex *= 16;
sStorage->itemIcons[i].palIndex += 0x100;
@@ -9206,8 +9194,8 @@ static void PrintItemDescription(void)
else
description = ItemId_GetDescription(sStorage->displayMonItemId);
- FillWindowPixelBuffer(2, PIXEL_FILL(1));
- AddTextPrinterParameterized5(2, FONT_NORMAL, description, 4, 0, 0, NULL, 0, 1);
+ FillWindowPixelBuffer(WIN_ITEM_DESC, PIXEL_FILL(1));
+ AddTextPrinterParameterized5(WIN_ITEM_DESC, FONT_NORMAL, description, 4, 0, 0, NULL, 0, 1);
}
static void InitItemInfoWindow(void)
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index c5aeb6b47a..10c69a4226 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -365,7 +365,7 @@ struct TilemapCtrl
u8 field_9;
};
-static const u16 sStatusTilemap[] = INCBIN_U16("graphics/interface/status_tilemap.bin");
+static const u16 sStatusTilemap[] = INCBIN_U16("graphics/summary_screen/status_tilemap.bin");
static const struct TilemapCtrl sStatusTilemapCtrl1 =
{
sStatusTilemap, 1, 10, 2, 0, 18
@@ -376,11 +376,11 @@ static const struct TilemapCtrl sStatusTilemapCtrl2 =
};
static const struct TilemapCtrl sBattleMoveTilemapCtrl =
{
- gSummaryScreenPowAcc_Tilemap, 0, 10, 7, 0, 45
+ gSummaryScreen_MoveEffect_Battle_Tilemap, 0, 10, 7, 0, 45
};
static const struct TilemapCtrl sContestMoveTilemapCtrl =
{
- gSummaryScreenAppealJam_Tilemap, 0, 10, 7, 0, 45
+ gSummaryScreen_MoveEffect_Contest_Tilemap, 0, 10, 7, 0, 45
};
static const s8 sMultiBattleOrder[] = {0, 2, 3, 1, 4, 5};
static const struct WindowTemplate sSummaryTemplate[] =
@@ -701,8 +701,8 @@ static const u8 sTextColors[][3] =
{0, 7, 8}
};
-static const u8 sSummaryAButtonBitmap[] = INCBIN_U8("graphics/interface/summary_a_button.4bpp");
-static const u8 sSummaryBButtonBitmap[] = INCBIN_U8("graphics/interface/summary_b_button.4bpp");
+static const u8 sAButton_Gfx[] = INCBIN_U8("graphics/summary_screen/a_button.4bpp");
+static const u8 sBButton_Gfx[] = INCBIN_U8("graphics/summary_screen/b_button.4bpp");
static void (*const sTextPrinterFunctions[])(void) =
{
@@ -1071,7 +1071,7 @@ static const struct SpriteTemplate sSpriteTemplate_StatusCondition =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
-static const u16 sSummaryMarkingsPalette[] = INCBIN_U16("graphics/interface/summary_markings.gbapal");
+static const u16 sMarkings_Pal[] = INCBIN_U16("graphics/summary_screen/markings.gbapal");
// code
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void))
@@ -1312,7 +1312,7 @@ static bool8 DecompressGraphics(void)
}
break;
case 2:
- LZDecompressWram(gSummaryPage_InfoCopy_Tilemap, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][1]);
+ LZDecompressWram(gSummaryPage_InfoEgg_Tilemap, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][1]);
sMonSummaryScreen->switchCounter++;
break;
case 3:
@@ -2551,6 +2551,7 @@ static void Task_ShowStatusWindow(u8 taskId)
}
}
+// Toggles the "Cancel" window that appears when selecting a move
static void TilemapFiveMovesDisplay(u16 *dst, u16 palette, bool8 remove)
{
u16 i, id;
@@ -2561,18 +2562,18 @@ static void TilemapFiveMovesDisplay(u16 *dst, u16 palette, bool8 remove)
{
for (i = 0; i < 20; i++)
{
- dst[id + i] = gSummaryScreenWindow_Tilemap[i] + palette;
- dst[id + i + 0x20] = gSummaryScreenWindow_Tilemap[i] + palette;
- dst[id + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 20] + palette;
+ dst[id + i] = gSummaryScreen_MoveEffect_Cancel_Tilemap[i] + palette;
+ dst[id + i + 0x20] = gSummaryScreen_MoveEffect_Cancel_Tilemap[i] + palette;
+ dst[id + i + 0x40] = gSummaryScreen_MoveEffect_Cancel_Tilemap[i + 20] + palette;
}
}
else // Remove
{
for (i = 0; i < 20; i++)
{
- dst[id + i] = gSummaryScreenWindow_Tilemap[i + 20] + palette;
- dst[id + i + 0x20] = gSummaryScreenWindow_Tilemap[i + 40] + palette;
- dst[id + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + palette;
+ dst[id + i] = gSummaryScreen_MoveEffect_Cancel_Tilemap[i + 20] + palette;
+ dst[id + i + 0x20] = gSummaryScreen_MoveEffect_Cancel_Tilemap[i + 40] + palette;
+ dst[id + i + 0x40] = gSummaryScreen_MoveEffect_Cancel_Tilemap[i + 40] + palette;
}
}
}
@@ -2788,8 +2789,8 @@ static void PrintGenderSymbol(struct Pokemon *mon, u16 species)
static void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x)
{
- // sSummaryBButtonBitmap - 0x80 = sSummaryAButtonBitmap
- BlitBitmapToWindow(windowId, (bButton) ? sSummaryBButtonBitmap : sSummaryBButtonBitmap - 0x80, x, 0, 16, 16);
+ // sBButton_Gfx - sizeof(sBButton_Gfx) = sAButton_Gfx
+ BlitBitmapToWindow(windowId, (bButton) ? sBButton_Gfx : sBButton_Gfx - sizeof(sBButton_Gfx), x, 0, 16, 16);
}
static void PrintPageNamesAndStats(void)
@@ -4011,7 +4012,7 @@ static void StopPokemonAnimations(void) // A subtle effect, this function stops
static void CreateMonMarkingsSprite(struct Pokemon *mon)
{
- struct Sprite *sprite = CreateMonMarkingAllCombosSprite(TAG_MON_MARKINGS, TAG_MON_MARKINGS, sSummaryMarkingsPalette);
+ struct Sprite *sprite = CreateMonMarkingAllCombosSprite(TAG_MON_MARKINGS, TAG_MON_MARKINGS, sMarkings_Pal);
sMonSummaryScreen->markingsSprite = sprite;
if (sprite != NULL)
diff --git a/src/pokenav_conditions.c b/src/pokenav_conditions.c
index e61b115686..94ed4e8d8c 100644
--- a/src/pokenav_conditions.c
+++ b/src/pokenav_conditions.c
@@ -351,7 +351,7 @@ static u8 *CopyConditionMonNameGender(u8 *str, u16 listId, bool8 arg3)
return StringCopyPadded(str, gText_EggNickname, CHAR_SPACE, 12);
GetBoxOrPartyMonData(boxId, monId, MON_DATA_NICKNAME, str);
- StringGetEnd10(str);
+ StringGet_Nickname(str);
species = GetBoxOrPartyMonData(boxId, monId, MON_DATA_SPECIES, NULL);
if (boxId == TOTAL_BOXES_COUNT)
{
diff --git a/src/pokenav_conditions_search_results.c b/src/pokenav_conditions_search_results.c
index c8790e3598..bbc07df2c3 100644
--- a/src/pokenav_conditions_search_results.c
+++ b/src/pokenav_conditions_search_results.c
@@ -711,7 +711,7 @@ static void BufferSearchMonListItem(struct PokenavMonListItem * item, u8 * dest)
GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3);
}
- StringGetEnd10(gStringVar3);
+ StringGet_Nickname(gStringVar3);
dest = GetStringClearToWidth(dest, FONT_NORMAL, gStringVar3, 60);
switch (gender)
{
diff --git a/src/pokenav_ribbons_list.c b/src/pokenav_ribbons_list.c
index 1d72f6a980..724ced507e 100644
--- a/src/pokenav_ribbons_list.c
+++ b/src/pokenav_ribbons_list.c
@@ -721,7 +721,7 @@ static void BufferRibbonMonInfoText(struct PokenavListItem * listItem, u8 * dest
GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3);
}
- StringGetEnd10(gStringVar3);
+ StringGet_Nickname(gStringVar3);
dest = GetStringClearToWidth(dest, FONT_NORMAL, gStringVar3, 60);
switch (gender)
{
diff --git a/src/pokenav_ribbons_summary.c b/src/pokenav_ribbons_summary.c
index 81d5b900bd..581228ff41 100644
--- a/src/pokenav_ribbons_summary.c
+++ b/src/pokenav_ribbons_summary.c
@@ -397,7 +397,7 @@ static void GetMonNicknameLevelGender(u8 *nick, u8 *level, u8 *gender)
*level = GetLevelFromBoxMonExp(boxMon);
GetBoxMonData(boxMon, MON_DATA_NICKNAME, nick);
}
- StringGetEnd10(nick);
+ StringGet_Nickname(nick);
}
static void GetMonSpeciesPersonalityOtId(u16 *species, u32 *personality, u32 *otId)
diff --git a/src/region_map.c b/src/region_map.c
index 759a26e84a..09e2d69bf2 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -7,7 +7,6 @@
#include "palette.h"
#include "party_menu.h"
#include "trig.h"
-#include "constants/maps.h"
#include "overworld.h"
#include "event_data.h"
#include "secret_base.h"
@@ -290,56 +289,56 @@ static const u32 sFlyTargetIcons_Gfx[] = INCBIN_U32("graphics/pokenav/region_map
static const u8 sMapHealLocations[][3] =
{
- {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F},
- {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN},
- {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN},
- {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN},
- {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN},
- {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN},
- {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN},
- {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY},
- {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY},
- {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY},
- {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY},
- {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY},
- {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY},
- {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY},
- {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY},
- {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY},
- {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0},
- {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0},
- {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0},
- {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), 0},
- {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), 0},
- {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), 0},
- {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), 0},
- {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), 0},
- {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), 0},
- {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), 0},
- {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), 0},
- {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), 0},
- {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), 0},
- {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), 0},
- {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), 0},
- {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), 0},
- {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), 0},
- {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), 0},
- {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), 0},
- {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), 0},
- {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), 0},
- {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), 0},
- {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), 0},
- {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), 0},
- {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), 0},
- {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), 0},
- {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), 0},
- {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), 0},
- {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), 0},
- {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), 0},
- {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), 0},
- {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), 0},
- {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), 0},
- {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0}
+ [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), 0},
+ [MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0},
+ [MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0},
+ [MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), 0},
+ [MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), 0},
+ [MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), 0},
+ [MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), 0},
+ [MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), 0},
+ [MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), 0},
+ [MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), 0},
+ [MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), 0},
+ [MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), 0},
+ [MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), 0},
+ [MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), 0},
+ [MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), 0},
+ [MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), 0},
+ [MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), 0},
+ [MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), 0},
+ [MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), 0},
+ [MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), 0},
+ [MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), 0},
+ [MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), 0},
+ [MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), 0},
+ [MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), 0},
+ [MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), 0},
+ [MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), 0},
+ [MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), 0},
+ [MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), 0},
+ [MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), 0},
+ [MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), 0},
+ [MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), 0},
+ [MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), 0},
+ [MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), 0},
+ [MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0}
};
static const u8 *const sEverGrandeCityNames[] =
@@ -1517,28 +1516,26 @@ static void UnhideRegionMapPlayerIcon(void)
}
}
+#define sY data[0]
+#define sX data[1]
+#define sVisible data[2]
+#define sTimer data[7]
+
static void SpriteCB_PlayerIconMapZoomed(struct Sprite *sprite)
{
sprite->x2 = -2 * gRegionMap->scrollX;
sprite->y2 = -2 * gRegionMap->scrollY;
- sprite->data[0] = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
- sprite->data[1] = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
- if (sprite->data[0] < -8 || sprite->data[0] > 0xa8 || sprite->data[1] < -8 || sprite->data[1] > 0xf8)
- {
- sprite->data[2] = FALSE;
- }
+ sprite->sY = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
+ sprite->sX = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
+ if (sprite->sY < -8 || sprite->sY > DISPLAY_HEIGHT + 8 || sprite->sX < -8 || sprite->sX > DISPLAY_WIDTH + 8)
+ sprite->sVisible = FALSE;
else
- {
- sprite->data[2] = TRUE;
- }
- if (sprite->data[2] == TRUE)
- {
+ sprite->sVisible = TRUE;
+
+ if (sprite->sVisible == TRUE)
SpriteCB_PlayerIcon(sprite);
- }
else
- {
sprite->invisible = TRUE;
- }
}
static void SpriteCB_PlayerIconMapFull(struct Sprite *sprite)
@@ -1550,9 +1547,9 @@ static void SpriteCB_PlayerIcon(struct Sprite *sprite)
{
if (gRegionMap->blinkPlayerIcon)
{
- if (++sprite->data[7] > 16)
+ if (++sprite->sTimer > 16)
{
- sprite->data[7] = 0;
+ sprite->sTimer = 0;
sprite->invisible = sprite->invisible ? FALSE : TRUE;
}
}
@@ -1568,6 +1565,11 @@ void TrySetPlayerIconBlink(void)
gRegionMap->blinkPlayerIcon = TRUE;
}
+#undef sY
+#undef sX
+#undef sVisible
+#undef sTimer
+
u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength)
{
u8 *str;
@@ -1710,7 +1712,7 @@ void CB2_OpenFlyMap(void)
gMain.state++;
break;
case 7:
- LoadPalette(sRegionMapFramePal, 0x10, 0x20);
+ LoadPalette(sRegionMapFramePal, 0x10, sizeof(sRegionMapFramePal));
PutWindowTilemap(2);
FillWindowPixelBuffer(2, PIXEL_FILL(0));
AddTextPrinterParameterized(2, FONT_NORMAL, gText_FlyToWhere, 0, 1, 0, NULL);
@@ -2013,7 +2015,7 @@ static void CB_ExitFlyMap(void)
if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != 0)
SetWarpDestinationToHealLocation(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]);
else
- SetWarpDestinationToMapWarp(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], -1);
+ SetWarpDestinationToMapWarp(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], WARP_ID_NONE);
break;
}
ReturnToFieldFromFlyMapSelect();
diff --git a/src/roamer.c b/src/roamer.c
index b8d1009674..c17ec490c8 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -3,7 +3,6 @@
#include "pokemon.h"
#include "random.h"
#include "roamer.h"
-#include "constants/maps.h"
// Despite having a variable to track it, the roamer is
// hard-coded to only ever be in map group 0
@@ -194,10 +193,18 @@ bool8 IsRoamerAt(u8 mapGroup, u8 mapNum)
void CreateRoamerMonInstance(void)
{
+ u32 status;
struct Pokemon *mon = &gEnemyParty[0];
ZeroEnemyPartyMons();
CreateMonWithIVsPersonality(mon, ROAMER->species, ROAMER->level, ROAMER->ivs, ROAMER->personality);
+// The roamer's status field is u8, but SetMonData expects status to be u32, so will set the roamer's status
+// using the status field and the following 3 bytes (cool, beauty, and cute).
+#ifdef BUGFIX
+ status = ROAMER->status;
+ SetMonData(mon, MON_DATA_STATUS, &status);
+#else
SetMonData(mon, MON_DATA_STATUS, &ROAMER->status);
+#endif
SetMonData(mon, MON_DATA_HP, &ROAMER->hp);
SetMonData(mon, MON_DATA_COOL, &ROAMER->cool);
SetMonData(mon, MON_DATA_BEAUTY, &ROAMER->beauty);
diff --git a/src/rom_header.s b/src/rom_header.s
index 5ed45124de..9ab7240fba 100644
--- a/src/rom_header.s
+++ b/src/rom_header.s
@@ -2,7 +2,7 @@
@ It's populated by gbafix using data provided in the Makefile.
.global Start
-Start: @ 8000000
+Start:
b Init
.global RomHeaderNintendoLogo
@@ -41,23 +41,20 @@ RomHeaderChecksum:
RomHeaderReserved2:
.space 2
-@ 80000C0
.word 0
.global GPIOPortData
-GPIOPortData: @ 80000C4
+GPIOPortData:
.2byte 0
.global GPIOPortDirection
-GPIOPortDirection: @ 80000C6
+GPIOPortDirection:
.2byte 0
.global GPIOPortReadEnable
-GPIOPortReadEnable: @ 80000C8
+GPIOPortReadEnable:
.2byte 0
-@ 80000CA
.2byte 0
-@ 80000CC
.space 0x34
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index ea2eec1261..f839d22c30 100644
--- a/src/rotating_gate.c
+++ b/src/rotating_gate.c
@@ -5,7 +5,6 @@
#include "fieldmap.h"
#include "sound.h"
#include "sprite.h"
-#include "constants/maps.h"
#include "constants/songs.h"
#define ROTATING_GATE_TILE_TAG 0x1300
@@ -220,14 +219,14 @@ static const struct RotatingGatePuzzle sRotatingGate_TrickHousePuzzleConfig[] =
{10, 19, GATE_SHAPE_L3, GATE_ORIENTATION_180},
};
-static const u8 sRotatingGateTiles_1[] = INCBIN_U8("graphics/misc/rotating_gate_1.4bpp");
-static const u8 sRotatingGateTiles_2[] = INCBIN_U8("graphics/misc/rotating_gate_2.4bpp");
-static const u8 sRotatingGateTiles_3[] = INCBIN_U8("graphics/misc/rotating_gate_3.4bpp");
-static const u8 sRotatingGateTiles_4[] = INCBIN_U8("graphics/misc/rotating_gate_4.4bpp");
-static const u8 sRotatingGateTiles_5[] = INCBIN_U8("graphics/misc/rotating_gate_5.4bpp");
-static const u8 sRotatingGateTiles_6[] = INCBIN_U8("graphics/misc/rotating_gate_6.4bpp");
-static const u8 sRotatingGateTiles_7[] = INCBIN_U8("graphics/misc/rotating_gate_7.4bpp");
-static const u8 sRotatingGateTiles_8[] = INCBIN_U8("graphics/misc/rotating_gate_8.4bpp");
+static const u8 sRotatingGateTiles_1[] = INCBIN_U8("graphics/rotating_gates/l1.4bpp");
+static const u8 sRotatingGateTiles_2[] = INCBIN_U8("graphics/rotating_gates/l2.4bpp");
+static const u8 sRotatingGateTiles_3[] = INCBIN_U8("graphics/rotating_gates/l3.4bpp");
+static const u8 sRotatingGateTiles_4[] = INCBIN_U8("graphics/rotating_gates/l4.4bpp");
+static const u8 sRotatingGateTiles_5[] = INCBIN_U8("graphics/rotating_gates/t1.4bpp");
+static const u8 sRotatingGateTiles_6[] = INCBIN_U8("graphics/rotating_gates/t2.4bpp");
+static const u8 sRotatingGateTiles_7[] = INCBIN_U8("graphics/rotating_gates/t3.4bpp");
+static const u8 sRotatingGateTiles_8[] = INCBIN_U8("graphics/rotating_gates/t4.4bpp");
static const struct OamData sOamData_RotatingGateLarge =
{
@@ -685,13 +684,11 @@ static void RotatingGate_LoadPuzzleConfig(void)
{
case PUZZLE_FORTREE_CITY_GYM:
gRotatingGate_PuzzleConfig = sRotatingGate_FortreePuzzleConfig;
- gRotatingGate_PuzzleCount =
- sizeof(sRotatingGate_FortreePuzzleConfig) / sizeof(struct RotatingGatePuzzle);
+ gRotatingGate_PuzzleCount = ARRAY_COUNT(sRotatingGate_FortreePuzzleConfig);
break;
case PUZZLE_ROUTE110_TRICK_HOUSE_PUZZLE6:
gRotatingGate_PuzzleConfig = sRotatingGate_TrickHousePuzzleConfig;
- gRotatingGate_PuzzleCount =
- sizeof(sRotatingGate_TrickHousePuzzleConfig) / sizeof(struct RotatingGatePuzzle);
+ gRotatingGate_PuzzleCount = ARRAY_COUNT(sRotatingGate_TrickHousePuzzleConfig);
break;
case PUZZLE_NONE:
default:
@@ -699,9 +696,7 @@ static void RotatingGate_LoadPuzzleConfig(void)
}
for (i = 0; i < ROTATING_GATE_PUZZLE_MAX - 1; i++)
- {
gRotatingGate_GateSpriteIds[i] = MAX_SPRITES;
- }
}
static void RotatingGate_CreateGatesWithinViewport(s16 deltaX, s16 deltaY)
@@ -774,7 +769,7 @@ static void SpriteCallback_RotatingGate(struct Sprite *sprite)
{
affineAnimation = orientation + 4;
- if (GetPlayerSpeed() != 1)
+ if (GetPlayerSpeed() != PLAYER_SPEED_NORMAL)
affineAnimation += 8;
PlaySE(SE_ROTATING_GATE);
@@ -784,7 +779,7 @@ static void SpriteCallback_RotatingGate(struct Sprite *sprite)
{
affineAnimation = orientation + 8;
- if (GetPlayerSpeed() != 1)
+ if (GetPlayerSpeed() != PLAYER_SPEED_NORMAL)
affineAnimation += 8;
PlaySE(SE_ROTATING_GATE);
diff --git a/src/save.c b/src/save.c
index b539564383..dafc20868e 100644
--- a/src/save.c
+++ b/src/save.c
@@ -428,7 +428,7 @@ static u8 CopySectorSecurityByte(u16 sectorId, const struct SaveSectorLocation *
}
else
{
- // Succeded
+ // Succeeded
SetDamagedSectorBits(DISABLE, sector);
return SAVE_STATUS_OK;
}
@@ -734,7 +734,7 @@ u8 HandleSavingData(u8 saveType)
WriteSaveSectorOrSlot(FULL_SAVE_SLOT, gRamSaveSectorLocations);
break;
case SAVE_LINK:
- case SAVE_LINK2:
+ case SAVE_EREADER: // Dummied, now duplicate of SAVE_LINK
// Used by link / Battle Frontier
// Write only SaveBlocks 1 and 2 (skips the PC)
CopyPartyAndObjectsToSave();
diff --git a/src/save_location.c b/src/save_location.c
index b201ca1c0d..74d2f2c44d 100644
--- a/src/save_location.c
+++ b/src/save_location.c
@@ -1,6 +1,5 @@
#include "global.h"
#include "save_location.h"
-#include "constants/maps.h"
#define LIST_END 0xFFFF
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 6007fb4931..418bf58770 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -49,7 +49,6 @@
#include "tv.h"
#include "window.h"
#include "constants/event_objects.h"
-#include "constants/maps.h"
typedef u16 (*SpecialFunc)(void);
typedef void (*NativeFunc)(void);
@@ -58,11 +57,11 @@ EWRAM_DATA const u8 *gRamScriptRetAddr = NULL;
static EWRAM_DATA u32 sAddressOffset = 0; // For relative addressing in vgoto etc., used by saved scripts (e.g. Mystery Event)
static EWRAM_DATA u16 sPauseCounter = 0;
static EWRAM_DATA u16 sMovingNpcId = 0;
-static EWRAM_DATA u16 sMovingNpcMapBank = 0;
-static EWRAM_DATA u16 sMovingNpcMapId = 0;
+static EWRAM_DATA u16 sMovingNpcMapGroup = 0;
+static EWRAM_DATA u16 sMovingNpcMapNum = 0;
static EWRAM_DATA u16 sFieldEffectScriptId = 0;
-static u8 gBrailleWindowId;
+static u8 sBrailleWindowId;
extern const SpecialFunc gSpecials[];
extern const u8 *gStdScripts[];
@@ -287,7 +286,7 @@ bool8 ScrCmd_returnram(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_killscript(struct ScriptContext *ctx)
+bool8 ScrCmd_endram(struct ScriptContext *ctx)
{
ClearRamScript();
StopScript(ctx);
@@ -296,9 +295,9 @@ bool8 ScrCmd_killscript(struct ScriptContext *ctx)
bool8 ScrCmd_setmysteryeventstatus(struct ScriptContext *ctx)
{
- u8 value = ScriptReadByte(ctx);
+ u8 status = ScriptReadByte(ctx);
- SetMysteryEventScriptStatus(value);
+ SetMysteryEventScriptStatus(status);
return FALSE;
}
@@ -310,7 +309,7 @@ bool8 ScrCmd_loadword(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_loadbytefromaddr(struct ScriptContext *ctx)
+bool8 ScrCmd_loadbytefromptr(struct ScriptContext *ctx)
{
u8 index = ScriptReadByte(ctx);
@@ -318,7 +317,7 @@ bool8 ScrCmd_loadbytefromaddr(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_writebytetoaddr(struct ScriptContext *ctx)
+bool8 ScrCmd_setptr(struct ScriptContext *ctx)
{
u8 value = ScriptReadByte(ctx);
@@ -406,7 +405,7 @@ bool8 ScrCmd_compare_local_to_value(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_compare_local_to_addr(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_local_to_ptr(struct ScriptContext *ctx)
{
const u8 value1 = ctx->data[ScriptReadByte(ctx)];
const u8 value2 = *(const u8 *)ScriptReadWord(ctx);
@@ -415,7 +414,7 @@ bool8 ScrCmd_compare_local_to_addr(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_compare_addr_to_local(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_ptr_to_local(struct ScriptContext *ctx)
{
const u8 value1 = *(const u8 *)ScriptReadWord(ctx);
const u8 value2 = ctx->data[ScriptReadByte(ctx)];
@@ -424,7 +423,7 @@ bool8 ScrCmd_compare_addr_to_local(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_compare_addr_to_value(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_ptr_to_value(struct ScriptContext *ctx)
{
const u8 value1 = *(const u8 *)ScriptReadWord(ctx);
const u8 value2 = ScriptReadByte(ctx);
@@ -433,7 +432,7 @@ bool8 ScrCmd_compare_addr_to_value(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_compare_addr_to_addr(struct ScriptContext *ctx)
+bool8 ScrCmd_compare_ptr_to_ptr(struct ScriptContext *ctx)
{
const u8 value1 = *(const u8 *)ScriptReadWord(ctx);
const u8 value2 = *(const u8 *)ScriptReadWord(ctx);
@@ -610,11 +609,9 @@ bool8 ScrCmd_animateflash(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_setflashradius(struct ScriptContext *ctx)
+bool8 ScrCmd_setflashlevel(struct ScriptContext *ctx)
{
- u16 flashLevel = VarGet(ScriptReadHalfword(ctx));
-
- Overworld_SetFlashLevel(flashLevel);
+ SetFlashLevel(VarGet(ScriptReadHalfword(ctx)));
return FALSE;
}
@@ -649,17 +646,17 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx)
switch (mode)
{
- case FADE_TO_BLACK:
- case FADE_TO_WHITE:
- default:
- CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE);
- FadeScreen(mode, 0);
- break;
- case FADE_FROM_BLACK:
- case FADE_FROM_WHITE:
- CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE);
- FadeScreen(mode, 0);
- break;
+ case FADE_TO_BLACK:
+ case FADE_TO_WHITE:
+ default:
+ CpuCopy32(gPlttBufferUnfaded, gPaletteDecompressionBuffer, PLTT_DECOMP_BUFFER_SIZE);
+ FadeScreen(mode, 0);
+ break;
+ case FADE_FROM_BLACK:
+ case FADE_FROM_WHITE:
+ CpuCopy32(gPaletteDecompressionBuffer, gPlttBufferUnfaded, PLTT_DECOMP_BUFFER_SIZE);
+ FadeScreen(mode, 0);
+ break;
}
SetupNativeScript(ctx, IsPaletteNotActive);
@@ -668,9 +665,7 @@ bool8 ScrCmd_fadescreenswapbuffers(struct ScriptContext *ctx)
static bool8 RunPauseTimer(void)
{
- sPauseCounter--;
-
- if (sPauseCounter == 0)
+ if (--sPauseCounter == 0)
return TRUE;
else
return FALSE;
@@ -711,13 +706,13 @@ bool8 ScrCmd_setweather(struct ScriptContext *ctx)
{
u16 weather = VarGet(ScriptReadHalfword(ctx));
- SetSav1Weather(weather);
+ SetSavedWeather(weather);
return FALSE;
}
bool8 ScrCmd_resetweather(struct ScriptContext *ctx)
{
- SetSav1WeatherFromCurrMapHeader();
+ SetSavedWeatherFromCurrMapHeader();
return FALSE;
}
@@ -794,7 +789,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx)
if (mapGroup == MAP_GROUP(UNDEFINED) && mapNum == MAP_NUM(UNDEFINED))
SetWarpDestinationToFixedHoleWarp(x - MAP_OFFSET, y - MAP_OFFSET);
else
- SetWarpDestination(mapGroup, mapNum, -1, x - MAP_OFFSET, y - MAP_OFFSET);
+ SetWarpDestination(mapGroup, mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET);
DoFallWarp();
ResetInitialPlayerAvatarState();
return TRUE;
@@ -945,9 +940,9 @@ bool8 ScrCmd_waitfanfare(struct ScriptContext *ctx)
bool8 ScrCmd_playbgm(struct ScriptContext *ctx)
{
u16 songId = ScriptReadHalfword(ctx);
- bool8 val = ScriptReadByte(ctx);
+ bool8 save = ScriptReadByte(ctx);
- if (val == TRUE)
+ if (save == TRUE)
Overworld_SetSavedMusic(songId);
PlayNewMapMusic(songId);
return FALSE;
@@ -1004,7 +999,7 @@ bool8 ScrCmd_applymovement(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_applymovement_at(struct ScriptContext *ctx)
+bool8 ScrCmd_applymovementat(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
const void *movementScript = (const void *)ScriptReadWord(ctx);
@@ -1018,7 +1013,7 @@ bool8 ScrCmd_applymovement_at(struct ScriptContext *ctx)
static bool8 WaitForMovementFinish(void)
{
- return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapId, sMovingNpcMapBank);
+ return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapNum, sMovingNpcMapGroup);
}
bool8 ScrCmd_waitmovement(struct ScriptContext *ctx)
@@ -1027,24 +1022,24 @@ bool8 ScrCmd_waitmovement(struct ScriptContext *ctx)
if (localId != 0)
sMovingNpcId = localId;
- sMovingNpcMapBank = gSaveBlock1Ptr->location.mapGroup;
- sMovingNpcMapId = gSaveBlock1Ptr->location.mapNum;
+ sMovingNpcMapGroup = gSaveBlock1Ptr->location.mapGroup;
+ sMovingNpcMapNum = gSaveBlock1Ptr->location.mapNum;
SetupNativeScript(ctx, WaitForMovementFinish);
return TRUE;
}
-bool8 ScrCmd_waitmovement_at(struct ScriptContext *ctx)
+bool8 ScrCmd_waitmovementat(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
- u8 mapBank;
- u8 mapId;
+ u8 mapGroup;
+ u8 mapNum;
if (localId != 0)
sMovingNpcId = localId;
- mapBank = ScriptReadByte(ctx);
- mapId = ScriptReadByte(ctx);
- sMovingNpcMapBank = mapBank;
- sMovingNpcMapId = mapId;
+ mapGroup = ScriptReadByte(ctx);
+ mapNum = ScriptReadByte(ctx);
+ sMovingNpcMapGroup = mapGroup;
+ sMovingNpcMapNum = mapNum;
SetupNativeScript(ctx, WaitForMovementFinish);
return TRUE;
}
@@ -1057,7 +1052,7 @@ bool8 ScrCmd_removeobject(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx)
+bool8 ScrCmd_removeobjectat(struct ScriptContext *ctx)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
@@ -1075,7 +1070,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_addobject_at(struct ScriptContext *ctx)
+bool8 ScrCmd_addobjectat(struct ScriptContext *ctx)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
@@ -1101,7 +1096,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx)
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
- Overworld_SetObjEventTemplateCoords(localId, x, y);
+ SetObjEventTemplateCoords(localId, x, y);
return FALSE;
}
@@ -1113,7 +1108,7 @@ bool8 ScrCmd_copyobjectxytoperm(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_showobject_at(struct ScriptContext *ctx)
+bool8 ScrCmd_showobjectat(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
@@ -1123,7 +1118,7 @@ bool8 ScrCmd_showobject_at(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_hideobject_at(struct ScriptContext *ctx)
+bool8 ScrCmd_hideobjectat(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
@@ -1133,24 +1128,24 @@ bool8 ScrCmd_hideobject_at(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_setobjectpriority(struct ScriptContext *ctx)
+bool8 ScrCmd_setobjectsubpriority(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
u8 priority = ScriptReadByte(ctx);
- SetObjectPriority(localId, mapNum, mapGroup, priority + 83);
+ SetObjectSubpriority(localId, mapNum, mapGroup, priority + 83);
return FALSE;
}
-bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx)
+bool8 ScrCmd_resetobjectsubpriority(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
- ResetObjectPriority(localId, mapNum, mapGroup);
+ ResetObjectSubpriority(localId, mapNum, mapGroup);
return FALSE;
}
@@ -1178,29 +1173,29 @@ bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx)
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 movementType = ScriptReadByte(ctx);
- Overworld_SetObjEventTemplateMovementType(localId, movementType);
+ SetObjEventTemplateMovementType(localId, movementType);
return FALSE;
}
bool8 ScrCmd_createvobject(struct ScriptContext *ctx)
{
u8 graphicsId = ScriptReadByte(ctx);
- u8 objectEventId = ScriptReadByte(ctx);
+ u8 virtualObjId = ScriptReadByte(ctx);
u16 x = VarGet(ScriptReadHalfword(ctx));
u32 y = VarGet(ScriptReadHalfword(ctx));
u8 elevation = ScriptReadByte(ctx);
u8 direction = ScriptReadByte(ctx);
- CreateObjectSprite(graphicsId, objectEventId, x, y, elevation, direction);
+ CreateVirtualObject(graphicsId, virtualObjId, x, y, elevation, direction);
return FALSE;
}
bool8 ScrCmd_turnvobject(struct ScriptContext *ctx)
{
- u8 objectEventId = ScriptReadByte(ctx);
+ u8 virtualObjId = ScriptReadByte(ctx);
u8 direction = ScriptReadByte(ctx);
- TurnObjectEventSprite(objectEventId, direction);
+ TurnVirtualObject(virtualObjId, direction);
return FALSE;
}
@@ -1311,7 +1306,7 @@ bool8 ScrCmd_messageinstant(struct ScriptContext *ctx)
msg = (const u8 *)ctx->data[0];
LoadMessageBoxAndBorderGfx();
DrawDialogueFrame(0, 1);
- AddTextPrinterParameterized(0, FONT_NORMAL, msg, 0, 1, 0, 0);
+ AddTextPrinterParameterized(0, FONT_NORMAL, msg, 0, 1, 0, NULL);
return FALSE;
}
@@ -1463,7 +1458,9 @@ bool8 ScrCmd_showmonpic(struct ScriptContext *ctx)
bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx)
{
- bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc();
+ // The hide function returns a pointer to a function
+ // that returns true once the pic is hidden
+ bool8 (*func)(void) = ScriptMenu_HidePokemonPic();
if (func == NULL)
return FALSE;
@@ -1528,13 +1525,13 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
yText = (yText - yWindow - 1) * 8;
winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1);
- gBrailleWindowId = AddWindow(&winTemplate);
- LoadUserWindowBorderGfx(gBrailleWindowId, 0x214, 0xE0);
- DrawStdWindowFrame(gBrailleWindowId, 0);
- PutWindowTilemap(gBrailleWindowId);
- FillWindowPixelBuffer(gBrailleWindowId, PIXEL_FILL(1));
- AddTextPrinterParameterized(gBrailleWindowId, FONT_BRAILLE, gStringVar4, xText, yText, TEXT_SKIP_DRAW, NULL);
- CopyWindowToVram(gBrailleWindowId, COPYWIN_FULL);
+ sBrailleWindowId = AddWindow(&winTemplate);
+ LoadUserWindowBorderGfx(sBrailleWindowId, 0x214, 0xE0);
+ DrawStdWindowFrame(sBrailleWindowId, 0);
+ PutWindowTilemap(sBrailleWindowId);
+ FillWindowPixelBuffer(sBrailleWindowId, PIXEL_FILL(1));
+ AddTextPrinterParameterized(sBrailleWindowId, FONT_BRAILLE, gStringVar4, xText, yText, TEXT_SKIP_DRAW, NULL);
+ CopyWindowToVram(sBrailleWindowId, COPYWIN_FULL);
return FALSE;
}
@@ -1578,7 +1575,7 @@ bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx)
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, sScriptStringVars[stringVarIndex]);
- StringGetEnd10(sScriptStringVars[stringVarIndex]);
+ StringGet_Nickname(sScriptStringVars[stringVarIndex]);
return FALSE;
}
@@ -1638,12 +1635,12 @@ bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx)
+bool8 ScrCmd_buffercontestname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
- u16 index = VarGet(ScriptReadHalfword(ctx));
+ u16 category = VarGet(ScriptReadHalfword(ctx));
- BufferContestName(sScriptStringVars[stringVarIndex], index);
+ BufferContestName(sScriptStringVars[stringVarIndex], category);
return FALSE;
}
@@ -1656,7 +1653,7 @@ bool8 ScrCmd_bufferstring(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_vloadword(struct ScriptContext *ctx)
+bool8 ScrCmd_vbuffermessage(struct ScriptContext *ctx)
{
const u8 *ptr = (u8 *)(ScriptReadWord(ctx) - sAddressOffset);
@@ -1919,9 +1916,9 @@ bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx)
bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
{
- u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx));
+ u8 machineId = VarGet(ScriptReadHalfword(ctx));
- PlaySlotMachine(slotMachineIndex, CB2_ReturnToFieldContinueScriptPlayMapMusic);
+ PlaySlotMachine(machineId, CB2_ReturnToFieldContinueScriptPlayMapMusic);
ScriptContext1_Stop();
return TRUE;
}
@@ -1933,17 +1930,17 @@ bool8 ScrCmd_setberrytree(struct ScriptContext *ctx)
u8 growthStage = ScriptReadByte(ctx);
if (berry == 0)
- PlantBerryTree(treeId, 0, growthStage, FALSE);
+ PlantBerryTree(treeId, berry, growthStage, FALSE);
else
PlantBerryTree(treeId, berry, growthStage, FALSE);
return FALSE;
}
-bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx)
+bool8 ScrCmd_getpokenewsactive(struct ScriptContext *ctx)
{
u16 newsKind = VarGet(ScriptReadHalfword(ctx));
- gSpecialVar_Result = GetPriceReduction(newsKind);
+ gSpecialVar_Result = IsPokeNewsActive(newsKind);
return FALSE;
}
@@ -1985,7 +1982,7 @@ bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_setfieldeffectarg(struct ScriptContext *ctx)
+bool8 ScrCmd_setfieldeffectargument(struct ScriptContext *ctx)
{
u8 argNum = ScriptReadByte(ctx);
@@ -2049,7 +2046,7 @@ bool8 ScrCmd_setmetatile(struct ScriptContext *ctx)
if (!isImpassable)
MapGridSetMetatileIdAt(x, y, tileId);
else
- MapGridSetMetatileIdAt(x, y, tileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, tileId | MAPGRID_COLLISION_MASK);
return FALSE;
}
@@ -2230,9 +2227,7 @@ bool8 ScrCmd_checkmoneventlegal(struct ScriptContext *ctx)
return FALSE;
}
-// TODO: Should be renamed. Name implies general usage, but its specifically for Wonder Card
-// See GetSavedRamScriptIfValid, which is NULL if ValidateSavedWonderCard returns FALSE
-bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
+bool8 ScrCmd_trywondercardscript(struct ScriptContext *ctx)
{
const u8* script = GetSavedRamScriptIfValid();
@@ -2244,7 +2239,7 @@ bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
return FALSE;
}
-// Unused
+// This warp is only used by the Union Room.
// For the warp used by the Aqua Hideout, see DoTeleportTileWarp
bool8 ScrCmd_warpspinenter(struct ScriptContext *ctx)
{
@@ -2273,8 +2268,8 @@ bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx)
static void CloseBrailleWindow(void)
{
- ClearStdWindowAndFrame(gBrailleWindowId, 1);
- RemoveWindow(gBrailleWindowId);
+ ClearStdWindowAndFrame(sBrailleWindowId, 1);
+ RemoveWindow(sBrailleWindowId);
}
bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx)
@@ -2300,7 +2295,7 @@ void SetMovingNpcId(u16 npcId)
sMovingNpcId = npcId;
}
-bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx)
+bool8 ScrCmd_warpwhitefade(struct ScriptContext *ctx)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -2309,7 +2304,7 @@ bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- DoSootopolisLegendWarp();
+ DoWhiteFadeWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
diff --git a/src/script.c b/src/script.c
index b10e0db49d..4728e739cd 100644
--- a/src/script.c
+++ b/src/script.c
@@ -3,7 +3,7 @@
#include "event_data.h"
#include "mystery_gift.h"
#include "util.h"
-#include "constants/maps.h"
+#include "constants/event_objects.h"
#include "constants/map_scripts.h"
#define RAM_SCRIPT_MAGIC 51
@@ -399,6 +399,8 @@ const u8 *GetRamScript(u8 objectId, const u8 *script)
}
}
+#define NO_OBJECT OBJ_EVENT_ID_PLAYER
+
bool32 ValidateSavedRamScript(void)
{
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
@@ -408,7 +410,7 @@ bool32 ValidateSavedRamScript(void)
return FALSE;
if (scriptData->mapNum != MAP_NUM(UNDEFINED))
return FALSE;
- if (scriptData->objectId != 0xFF)
+ if (scriptData->objectId != NO_OBJECT)
return FALSE;
if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum)
return FALSE;
@@ -426,7 +428,7 @@ u8 *GetSavedRamScriptIfValid(void)
return NULL;
if (scriptData->mapNum != MAP_NUM(UNDEFINED))
return NULL;
- if (scriptData->objectId != 0xFF)
+ if (scriptData->objectId != NO_OBJECT)
return NULL;
if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum)
{
@@ -443,5 +445,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), 0xFF);
+ InitRamScript(script, scriptSize, MAP_GROUP(UNDEFINED), MAP_NUM(UNDEFINED), NO_OBJECT);
}
diff --git a/src/script_menu.c b/src/script_menu.c
index ae0fe91e67..1680758f21 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -563,6 +563,7 @@ static void Task_PokemonPicWindow(u8 taskId)
task->tState++;
break;
case 1:
+ // Wait until state is advanced by ScriptMenu_HidePokemonPic
break;
case 2:
FreeResourcesAndDestroySprite(&gSprites[task->tMonSpriteId], task->tMonSpriteId);
@@ -600,7 +601,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y)
}
}
-bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void)
+bool8 (*ScriptMenu_HidePokemonPic(void))(void)
{
u8 taskId = FindTaskIdByFunc(Task_PokemonPicWindow);
diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c
index 07e86656e0..ae7aa92dc8 100755
--- a/src/script_pokemon_util.c
+++ b/src/script_pokemon_util.c
@@ -150,7 +150,12 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item)
void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot)
{
+// Allows monIndex to go out of bounds of gPlayerParty. Doesn't occur in vanilla
+#ifdef BUGFIX
+ if (monIndex >= PARTY_SIZE)
+#else
if (monIndex > PARTY_SIZE)
+#endif
monIndex = gPlayerPartyCount - 1;
SetMonMoveSlot(&gPlayerParty[monIndex], move, slot);
diff --git a/src/secret_base.c b/src/secret_base.c
index 72560ee23b..fa424889e0 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -39,7 +39,6 @@
#include "constants/event_objects.h"
#include "constants/field_specials.h"
#include "constants/items.h"
-#include "constants/maps.h"
#include "constants/map_types.h"
#include "constants/metatile_behaviors.h"
#include "constants/metatile_labels.h"
@@ -306,7 +305,7 @@ static void FindMetatileIdMapCoords(s16 *x, s16 *y, u16 metatileId)
{
for (i = 0; i < mapLayout->width; i++)
{
- if ((mapLayout->map[j * mapLayout->width + i] & METATILE_ID_MASK) == metatileId)
+ if ((mapLayout->map[j * mapLayout->width + i] & MAPGRID_METATILE_ID_MASK) == metatileId)
{
*x = i;
*y = j;
@@ -331,7 +330,7 @@ void ToggleSecretBaseEntranceMetatile(void)
{
if (sSecretBaseEntranceMetatiles[i].closedMetatileId == metatileId)
{
- MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | MAPGRID_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
return;
}
@@ -342,7 +341,7 @@ void ToggleSecretBaseEntranceMetatile(void)
{
if (sSecretBaseEntranceMetatiles[i].openMetatileId == metatileId)
{
- MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].closedMetatileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].closedMetatileId | MAPGRID_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
return;
}
@@ -397,7 +396,7 @@ void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events)
{
if (sSecretBaseEntranceMetatiles[i].closedMetatileId == tile_id)
{
- MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, sSecretBaseEntranceMetatiles[i].openMetatileId | MAPGRID_COLLISION_MASK);
break;
}
}
@@ -446,7 +445,7 @@ void EnterSecretBase(void)
{
CreateTask(Task_EnterSecretBase, 0);
FadeScreen(FADE_TO_BLACK, 0);
- SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE);
}
bool8 SecretBaseMapPopupEnabled(void)
@@ -476,7 +475,7 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void)
FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC);
x += MAP_OFFSET;
y += MAP_OFFSET;
- MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, METATILE_SecretBase_PC | MAPGRID_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
FadeInFromBlack();
CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0);
@@ -490,7 +489,7 @@ static void Task_EnterNewlyCreatedSecretBase(u8 taskId)
SetWarpDestination(
gSaveBlock1Ptr->location.mapGroup,
gSaveBlock1Ptr->location.mapNum,
- -1,
+ WARP_ID_NONE,
GET_BASE_COMPUTER_X(secretBaseGroup),
GET_BASE_COMPUTER_Y(secretBaseGroup));
WarpIntoMap();
@@ -537,13 +536,13 @@ void InitSecretBaseAppearance(bool8 hidePC)
{
// Another player's secret base. Change PC type to the "Register" PC.
FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC);
- MapGridSetMetatileIdAt(x + MAP_OFFSET, y + MAP_OFFSET, METATILE_SecretBase_RegisterPC | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x + MAP_OFFSET, y + MAP_OFFSET, METATILE_SecretBase_RegisterPC | MAPGRID_COLLISION_MASK);
}
else if (hidePC == TRUE && VarGet(VAR_SECRET_BASE_INITIALIZED) == 1)
{
// Change PC to regular ground tile.
FindMetatileIdMapCoords(&x, &y, METATILE_SecretBase_PC);
- MapGridSetMetatileIdAt(x + MAP_OFFSET, y + MAP_OFFSET, METATILE_SecretBase_Ground | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x + MAP_OFFSET, y + MAP_OFFSET, METATILE_SecretBase_Ground | MAPGRID_COLLISION_MASK);
}
}
}
@@ -700,7 +699,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId)
gTasks[taskId].data[0] = 2;
break;
case 2:
- SetWarpDestinationToDynamicWarp(0x7e);
+ SetWarpDestinationToDynamicWarp(WARP_ID_SECRET_BASE);
WarpIntoMap();
gFieldCallback = FieldCB_DefaultWarpExit;
SetMainCallback2(CB2_LoadMap);
@@ -839,7 +838,7 @@ static void ClosePlayerSecretBaseEntrance(void)
{
MapGridSetMetatileIdAt(events->bgEvents[i].x + MAP_OFFSET,
events->bgEvents[i].y + MAP_OFFSET,
- sSecretBaseEntranceMetatiles[j].closedMetatileId | METATILE_COLLISION_MASK);
+ sSecretBaseEntranceMetatiles[j].closedMetatileId | MAPGRID_COLLISION_MASK);
break;
}
}
@@ -1028,7 +1027,7 @@ static void ShowRegistryMenuActions(u8 taskId)
tActionWindowId = AddWindow(&template);
SetStandardWindowBorderStyle(tActionWindowId, 0);
PrintMenuTable(tActionWindowId, ARRAY_COUNT(sRegistryMenuActions), sRegistryMenuActions);
- InitMenuInUpperLeftCornerNormal(tActionWindowId, 2, 0);
+ InitMenuInUpperLeftCornerNormal(tActionWindowId, ARRAY_COUNT(sRegistryMenuActions), 0);
ScheduleBgCopyTilemapToVram(0);
gTasks[taskId].func = HandleRegistryMenuActionsInput;
}
@@ -1215,109 +1214,108 @@ void SecretBasePerStepCallback(u8 taskId)
tState = 1;
break;
case 1:
+ // End if player hasn't moved
PlayerGetDestCoords(&x, &y);
- if (x != tPlayerX || y != tPlayerY)
- {
- tPlayerX = x;
- tPlayerY = y;
- VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1);
- behavior = MapGridGetMetatileBehaviorAt(x, y);
- tileId = MapGridGetMetatileIdAt(x, y);
- if (tileId == METATILE_SecretBase_SolidBoard_Top || tileId == METATILE_SecretBase_SolidBoard_Bottom)
- {
- if (sInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SOLID_BOARD);
- }
- }
- else if (tileId == METATILE_SecretBase_SmallChair
- || tileId == METATILE_SecretBase_PokemonChair
- || tileId == METATILE_SecretBase_HeavyChair
- || tileId == METATILE_SecretBase_PrettyChair
- || tileId == METATILE_SecretBase_ComfortChair
- || tileId == METATILE_SecretBase_RaggedChair
- || tileId == METATILE_SecretBase_BrickChair
- || tileId == METATILE_SecretBase_CampChair
- || tileId == METATILE_SecretBase_HardChair)
- {
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CHAIR);
- }
- else if (tileId == METATILE_SecretBase_RedTent_DoorTop
- || tileId == METATILE_SecretBase_RedTent_Door
- || tileId == METATILE_SecretBase_BlueTent_DoorTop
- || tileId == METATILE_SecretBase_BlueTent_Door)
- {
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TENT);
- }
- else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_CornerRight)
- || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_CornerLeft))
- {
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_STAND);
- }
- else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_StairLanding)
- {
- if (sInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_USED_SLIDE);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_DECLINED_SLIDE);
- }
- }
- else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide_SlideTop)
- {
- if (sInFriendSecretBase == TRUE)
- {
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SLIDE);
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_DECLINED_SLIDE);
- }
- }
- else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE)
- {
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_GLITTER_MAT);
- }
- else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE)
- {
- PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y);
- if (sInFriendSecretBase == TRUE)
- {
- switch ((int)MapGridGetMetatileIdAt(x, y))
- {
- case METATILE_SecretBase_RedBalloon:
- case METATILE_SecretBase_BlueBalloon:
- case METATILE_SecretBase_YellowBalloon:
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BALLOON);
- break;
- case METATILE_SecretBase_MudBall:
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_MUD_BALL);
- break;
- }
- }
- }
- else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE)
- {
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BREAKABLE_DOOR);
+ if (x == tPlayerX && y == tPlayerY)
+ return;
- ShatterSecretBaseBreakableDoor(x, y);
- }
- else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_NOTE_MAT);
- }
- else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE)
+ tPlayerX = x;
+ tPlayerY = y;
+ VarSet(VAR_SECRET_BASE_STEP_COUNTER, VarGet(VAR_SECRET_BASE_STEP_COUNTER) + 1);
+ behavior = MapGridGetMetatileBehaviorAt(x, y);
+ tileId = MapGridGetMetatileIdAt(x, y);
+ if (tileId == METATILE_SecretBase_SolidBoard_Top || tileId == METATILE_SecretBase_SolidBoard_Bottom)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SOLID_BOARD);
+ }
+ else if (tileId == METATILE_SecretBase_SmallChair
+ || tileId == METATILE_SecretBase_PokemonChair
+ || tileId == METATILE_SecretBase_HeavyChair
+ || tileId == METATILE_SecretBase_PrettyChair
+ || tileId == METATILE_SecretBase_ComfortChair
+ || tileId == METATILE_SecretBase_RaggedChair
+ || tileId == METATILE_SecretBase_BrickChair
+ || tileId == METATILE_SecretBase_CampChair
+ || tileId == METATILE_SecretBase_HardChair)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_CHAIR);
+ }
+ else if (tileId == METATILE_SecretBase_RedTent_DoorTop
+ || tileId == METATILE_SecretBase_RedTent_Door
+ || tileId == METATILE_SecretBase_BlueTent_DoorTop
+ || tileId == METATILE_SecretBase_BlueTent_Door)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_TENT);
+ }
+ else if ((behavior == MB_IMPASSABLE_NORTHEAST && tileId == METATILE_SecretBase_Stand_CornerRight)
+ || (behavior == MB_IMPASSABLE_NORTHWEST && MapGridGetMetatileIdAt(x, y) == METATILE_SecretBase_Stand_CornerLeft))
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_STAND);
+ }
+ else if (behavior == MB_IMPASSABLE_WEST_AND_EAST && tileId == METATILE_SecretBase_Slide_StairLanding)
+ {
+ if (sInFriendSecretBase == TRUE)
{
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_JUMP_MAT);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_USED_SLIDE);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_DECLINED_SLIDE);
}
- else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE)
+ }
+ else if (behavior == MB_SLIDE_SOUTH && tileId == METATILE_SecretBase_Slide_SlideTop)
+ {
+ if (sInFriendSecretBase == TRUE)
{
- if (sInFriendSecretBase == TRUE)
- VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SPIN_MAT);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SLIDE);
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) ^ SECRET_BASE_DECLINED_SLIDE);
}
}
+ else if (MetatileBehavior_IsSecretBaseGlitterMat(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_GLITTER_MAT);
+ }
+ else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE)
+ {
+ PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y);
+ if (sInFriendSecretBase == TRUE)
+ {
+ switch ((int)MapGridGetMetatileIdAt(x, y))
+ {
+ case METATILE_SecretBase_RedBalloon:
+ case METATILE_SecretBase_BlueBalloon:
+ case METATILE_SecretBase_YellowBalloon:
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_BALLOON);
+ break;
+ case METATILE_SecretBase_MudBall:
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_MUD_BALL);
+ break;
+ }
+ }
+ }
+ else if (MetatileBehavior_IsSecretBaseBreakableDoor(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_BREAKABLE_DOOR);
+
+ ShatterSecretBaseBreakableDoor(x, y);
+ }
+ else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_LOW_TV_FLAGS, VarGet(VAR_SECRET_BASE_LOW_TV_FLAGS) | SECRET_BASE_USED_NOTE_MAT);
+ }
+ else if (MetatileBehavior_IsSecretBaseJumpMat(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_JUMP_MAT);
+ }
+ else if (MetatileBehavior_IsSecretBaseSpinMat(behavior) == TRUE)
+ {
+ if (sInFriendSecretBase == TRUE)
+ VarSet(VAR_SECRET_BASE_HIGH_TV_FLAGS, VarGet(VAR_SECRET_BASE_HIGH_TV_FLAGS) | SECRET_BASE_USED_SPIN_MAT);
+ }
break;
case 2:
// This state is never reached, and tFldEff is never set
diff --git a/src/shop.c b/src/shop.c
index fa4a73bbbd..700a53e37a 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -562,7 +562,7 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y)
{
ConvertIntToDecimalStringN(
gStringVar1,
- ItemId_GetPrice(itemId) >> GetPriceReduction(POKENEWS_SLATEPORT),
+ ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT),
STR_CONV_MODE_LEFT_ALIGN,
5);
}
@@ -674,9 +674,9 @@ static void BuyMenuInitBgs(void)
static void BuyMenuDecompressBgGraphics(void)
{
- DecompressAndCopyTileDataToVram(1, gBuyMenuFrame_Gfx, 0x3A0, 0x3E3, 0);
- LZDecompressWram(gBuyMenuFrame_Tilemap, sShopData->tilemapBuffers[0]);
- LoadCompressedPalette(gMenuMoneyPal, 0xC0, 0x20);
+ DecompressAndCopyTileDataToVram(1, gShopMenu_Gfx, 0x3A0, 0x3E3, 0);
+ LZDecompressWram(gShopMenu_Tilemap, sShopData->tilemapBuffers[0]);
+ LoadCompressedPalette(gShopMenu_Pal, 0xC0, 0x20);
}
static void BuyMenuInitWindows(void)
@@ -743,7 +743,7 @@ static void BuyMenuDrawMapBg(void)
if (BuyMenuCheckForOverlapWithMenuBg(i, j) == TRUE)
metatileLayerType = MapGridGetMetatileLayerTypeAt(x + i, y + j);
else
- metatileLayerType = 1;
+ metatileLayerType = METATILE_LAYER_TYPE_COVERED;
if (metatile < NUM_METATILES_IN_PRIMARY)
{
@@ -764,15 +764,15 @@ static void BuyMenuDrawMapMetatile(s16 x, s16 y, const u16 *src, u8 metatileLaye
switch (metatileLayerType)
{
- case 0:
+ case METATILE_LAYER_TYPE_NORMAL:
BuyMenuDrawMapMetatileLayer(sShopData->tilemapBuffers[3], offset1, offset2, src);
BuyMenuDrawMapMetatileLayer(sShopData->tilemapBuffers[1], offset1, offset2, src + 4);
break;
- case 1:
+ case METATILE_LAYER_TYPE_COVERED:
BuyMenuDrawMapMetatileLayer(sShopData->tilemapBuffers[2], offset1, offset2, src);
BuyMenuDrawMapMetatileLayer(sShopData->tilemapBuffers[3], offset1, offset2, src + 4);
break;
- case 2:
+ case METATILE_LAYER_TYPE_SPLIT:
BuyMenuDrawMapMetatileLayer(sShopData->tilemapBuffers[2], offset1, offset2, src);
BuyMenuDrawMapMetatileLayer(sShopData->tilemapBuffers[1], offset1, offset2, src + 4);
break;
@@ -847,7 +847,7 @@ static void BuyMenuDrawObjectEvents(void)
graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[sShopData->viewportObjects[i][OBJ_EVENT_ID]].graphicsId);
- spriteId = AddPseudoObjectEvent(
+ spriteId = CreateObjectGraphicsSprite(
gObjectEvents[sShopData->viewportObjects[i][OBJ_EVENT_ID]].graphicsId,
SpriteCallbackDummy,
(u16)sShopData->viewportObjects[i][X_COORD] * 16 + 8,
@@ -866,7 +866,7 @@ static void BuyMenuDrawObjectEvents(void)
static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *object)
{
- if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != MB_SECRET_BASE_WALL)
+ if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != METATILE_LAYER_TYPE_COVERED)
{
return TRUE;
}
@@ -934,7 +934,7 @@ static void Task_BuyMenu(u8 taskId)
if (sMartInfo.martType == MART_TYPE_NORMAL)
{
- sShopData->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(POKENEWS_SLATEPORT));
+ sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT));
}
else
{
@@ -1014,7 +1014,7 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId)
if (AdjustQuantityAccordingToDPadInput(&tItemCount, sShopData->maxQuantity) == TRUE)
{
- sShopData->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(POKENEWS_SLATEPORT)) * tItemCount;
+ sShopData->totalCost = (ItemId_GetPrice(tItemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)) * tItemCount;
BuyMenuPrintItemQuantityAndPrice(taskId);
}
else
diff --git a/src/slot_machine.c b/src/slot_machine.c
index 1c21f230d3..1dfa026e5f 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -31,20 +31,60 @@
#define SLOTMACHINE_GFX_TILES 233
#define MAX_BET 3
-#define SYMBOLS_PER_REEL 21
-#define REEL_SYMBOL_HEIGHT 24
+#define SYMBOLS_PER_REEL 21
+#define REEL_SYMBOL_HEIGHT 24
+#define REEL_HEIGHT (SYMBOLS_PER_REEL * REEL_SYMBOL_HEIGHT)
-// Lucky Flags
-#define LUCKY_BIAS_REPLAY (1 << 0)
-#define LUCKY_BIAS_CHERRY (1 << 1)
-#define LUCKY_BIAS_LOTAD (1 << 2)
-#define LUCKY_BIAS_AZURILL (1 << 3)
-#define LUCKY_BIAS_POWER (1 << 4)
-#define LUCKY_BIAS_REELTIME (1 << 5)
-#define LUCKY_BIAS_MIXED_777 (1 << 6)
-#define LUCKY_BIAS_777 (1 << 7)
+#define REELTIME_SYMBOLS 6
+#define REELTIME_SYMBOL_HEIGHT 20
+#define REELTIME_REEL_HEIGHT (REELTIME_SYMBOLS * REELTIME_SYMBOL_HEIGHT)
+
+// There are three categories of biases: 7's, ReelTime, Regular
+// - 7's: BIAS_STRAIGHT_7, BIAS_MIXED_7
+// - ReelTime: BIAS_REELTIME
+// - Regular: everything else
+//
+// The 7's and ReelTime biases can be grouped together as 'Special' biases.
+//
+// There can be at most two biases at a time. If there are two, one bias will be
+// ReelTime and the other will be one of the Regular biases.
+//
+// A new bias is drawn every round, except during ReelTime. Bias towards 7's
+// persists across rounds until you match 7's. All other biases are reset after
+// the round.
+#define BIAS_REPLAY (1 << 0)
+#define BIAS_CHERRY (1 << 1)
+#define BIAS_LOTAD (1 << 2)
+#define BIAS_AZURILL (1 << 3)
+#define BIAS_POWER (1 << 4)
+#define BIAS_REELTIME (1 << 5)
+#define BIAS_MIXED_7 (1 << 6)
+#define BIAS_STRAIGHT_7 (1 << 7)
+
+#define BIAS_7 (BIAS_STRAIGHT_7 | BIAS_MIXED_7)
+#define BIAS_SPECIAL (BIAS_7 | BIAS_REELTIME)
+#define BIAS_REGULAR (BIAS_REPLAY | BIAS_CHERRY | BIAS_LOATAD | BIAS_AZURILL | BIAS_POWER)
+
+// The slot machine will try to manipulate the outcome by adding up to 4 extra
+// turns to the reel after you press stop.
+//
+// The only exception is when it is stopping the third reel and it has decided
+// you will lose. In this case, it adds as many turns as necessary to prevent a
+// match.
+#define MAX_EXTRA_TURNS 4
enum {
+ SYMBOL_7_RED,
+ SYMBOL_7_BLUE,
+ SYMBOL_AZURILL,
+ SYMBOL_LOTAD,
+ SYMBOL_CHERRY,
+ SYMBOL_POWER,
+ SYMBOL_REPLAY,
+};
+
+enum
+{
GFXTAG_7_RED,
GFXTAG_7_BLUE,
GFXTAG_AZURILL,
@@ -72,6 +112,10 @@ enum {
#define GFXTAG_SYMBOLS_START (GFXTAG_7_RED)
#define GFXTAG_NUMBERS_START (GFXTAG_NUM_0)
+#define REEL_NORMAL_SPEED 8
+#define REEL_HALF_SPEED 4
+#define REEL_QUARTER_SPEED 2
+
enum {
PALTAG_REEL,
PALTAG_REEL_TIME_PIKACHU,
@@ -84,16 +128,16 @@ enum {
};
enum {
- MATCHED_1CHERRY,
- MATCHED_2CHERRY,
- MATCHED_REPLAY,
- MATCHED_LOTAD,
- MATCHED_AZURILL,
- MATCHED_POWER,
- MATCHED_777_MIXED,
- MATCHED_777_RED,
- MATCHED_777_BLUE,
- MATCHED_NONE,
+ MATCH_CHERRY, // Cherry in center of first reel
+ MATCH_TOPBOT_CHERRY, // Cherry in top/bottom of first reel
+ MATCH_REPLAY,
+ MATCH_LOTAD,
+ MATCH_AZURILL,
+ MATCH_POWER,
+ MATCH_MIXED_7, // First two 7's are same color; last is other color
+ MATCH_RED_7,
+ MATCH_BLUE_7,
+ MATCH_NONE,
};
enum {
@@ -113,43 +157,78 @@ enum {
};
enum {
- SLOT_ACTION_UNFADE,
- SLOT_ACTION_WAIT_FADE,
- SLOT_ACTION_READY_NEW_SPIN,
- SLOT_ACTION_READY_NEW_RT_SPIN,
- SLOT_ACTION_ASK_INSERT_BET,
- SLOT_ACTION_BET_INPUT,
- SLOT_ACTION_MSG_NEED_3_COINS,
- SLOT_ACTION_WAIT_MSG_NEED_3_COINS,
- SLOT_ACTION_WAIT_INFO_BOX,
- SLOT_ACTION_START_SPIN,
- SLOT_ACTION_START_RT_SPIN,
- SLOT_ACTION_SET_LUCKY_SPINS,
- SLOT_ACTION_AWAIT_REEL_STOP,
- SLOT_ACTION_AWAIT_ALL_REELS_STOP,
- SLOT_ACTION_CHECK_MATCHES,
- SLOT_ACTION_WAIT_PAYOUT,
- SLOT_ACTION_END_PAYOUT,
- SLOT_ACTION_MATCHED_POWER,
- SLOT_ACTION_WAIT_RT_ANIM,
- SLOT_ACTION_RESET_BET_TILES,
- SLOT_ACTION_NO_MATCHES,
- SLOT_ACTION_ASK_QUIT,
- SLOT_ACTION_HANDLE_QUIT_INPUT,
- SLOT_ACTION_MSG_MAX_COINS,
- SLOT_ACTION_WAIT_MSG_MAX_COINS,
- SLOT_ACTION_MSG_NO_MORE_COINS,
- SLOT_ACTION_WAIT_MSG_NO_MORE_COINS,
- SLOT_ACTION_END,
- SLOT_ACTION_FREE,
+ SLOTTASK_UNFADE,
+ SLOTTASK_WAIT_FADE,
+ SLOTTASK_READY_NEW_SPIN,
+ SLOTTASK_READY_NEW_RT_SPIN,
+ SLOTTASK_ASK_INSERT_BET,
+ SLOTTASK_BET_INPUT,
+ SLOTTASK_MSG_NEED_3_COINS,
+ SLOTTASK_WAIT_MSG_NEED_3_COINS,
+ SLOTTASK_WAIT_INFO_BOX,
+ SLOTTASK_START_SPIN,
+ SLOTTASK_START_RT_SPIN,
+ SLOTTASK_RESET_BIAS_FAILURE,
+ SLOTTASK_WAIT_REEL_STOP,
+ SLOTTASK_WAIT_ALL_REELS_STOP,
+ SLOTTASK_CHECK_MATCHES,
+ SLOTTASK_WAIT_PAYOUT,
+ SLOTTASK_END_PAYOUT,
+ SLOTTASK_MATCHED_POWER,
+ SLOTTASK_WAIT_RT_ANIM,
+ SLOTTASK_RESET_BET_TILES,
+ SLOTTASK_NO_MATCHES,
+ SLOTTASK_ASK_QUIT,
+ SLOTTASK_HANDLE_QUIT_INPUT,
+ SLOTTASK_MSG_MAX_COINS,
+ SLOTTASK_WAIT_MSG_MAX_COINS,
+ SLOTTASK_MSG_NO_MORE_COINS,
+ SLOTTASK_WAIT_MSG_NO_MORE_COINS,
+ SLOTTASK_END,
+ SLOTTASK_FREE,
+};
+enum
+{
+ PAYOUT_TASK_INIT,
+ PAYOUT_TASK_GIVE_PAYOUT,
+ PAYOUT_TASK_FREE,
};
enum {
- REEL_ACTION_STILL,
- REEL_ACTION_SPIN,
- REEL_ACTION_STOP,
- REEL_ACTION_STOP_MOVE,
- REEL_ACTION_STOP_SHAKE,
+ REEL_TASK_STILL,
+ REEL_TASK_SPIN,
+ REEL_TASK_DECIDE_STOP,
+ REEL_TASK_STOP_MOVE,
+ REEL_TASK_STOP_SHAKE,
+};
+
+enum {
+ PIKABOLT_TASK_IDLE,
+ PIKABOLT_TASK_ADD_BOLT,
+ PIKABOLT_TASK_WAIT_ANIM,
+ PIKABOLT_TASK_CLEAR_ALL,
+};
+
+enum {
+ RT_TASK_INIT,
+ RT_TASK_WINDOW_ENTER,
+ RT_TASK_WAIT_START_PIKA,
+ RT_TASK_PIKA_SPEEDUP1,
+ RT_TASK_PIKA_SPEEDUP2,
+ RT_TASK_WAIT_REEL,
+ RT_TASK_CHECK_EXPLODE,
+ RT_TASK_LAND,
+ RT_TASK_PIKA_REACT,
+ RT_TASK_WAIT_CLEAR_POWER,
+ RT_TASK_CLOSE_WINDOW_SUCCESS,
+ RT_TASK_DESTROY_SPRITES,
+ RT_TASK_SET_REEL_SPEED,
+ RT_TASK_END_SUCCESS,
+ RT_TASK_EXPLODE,
+ RT_TASK_WAIT_EXPLODE,
+ RT_TASK_WAIT_SMOKE,
+ RT_TASK_CLOSE_WINDOW_FAILURE,
+ RT_TASK_END_FAILURE,
};
#define DIG_SPRITE_DUMMY {255, 0, 0}
@@ -235,29 +314,74 @@ enum {
DIG_DISPLAY_BONUS_BIG
};
+
+// How ReelTime works
+// ==================
+// Entering ReelTime:
+// - If the bias you draw at the start of the round is BIAS_REELTIME, the
+// ReelTime lottery begins.
+// - At the start of the lottery, the game selects how many ReelTime spins you
+// will get, based on how many Power bolts you've collected and whether it
+// is a lucky game.
+// - The lottery machine rolls until it lands on the selected number. If it
+// selected 0 spins, the lottery machine will mostly likely explode before
+// landing on 0.
+// - If you win:
+// - You receive the selected number of ReelTime spins
+// - You lose all the Power bolts you've collected thus far
+// - The lottery window closes and ReelTime officially begins
+//
+// During ReelTime:
+// - You still have to pay coins for bets.
+// - The slot reels may spin slower than usual in ReelTime. The machine draws a
+// reel speed at the beginning of each ReelTime spin. The more coins you've
+// lost to the machine, and the more consecutive ReelTime spins you've done,
+// the higher your chances of getting a slower reel speed.
+// - In ReelTime, the reel stops exactly on your input. That is, it won't add
+// extra turns to manipulate the outcome.
+// - ReelTime ends early if you win red 7's or blue 7's.
+
+
+// SlotMachine field explanations:
+//
+// luckyGame:
+// Determined at random when you start playing. Some events modify this:
+// - Blue 7 match: game becomes lucky
+// - Red 7 match: game becomes normal
+//
+// Effectively, a lucky game inreases the odds of getting more ReelTime spins.
+// If the game is lucky, you have a slightly higher chance of matching Power
+// bolts (at the expense of Replays). This helps you fill your Power bolt
+// gauge faster.
+//
+// During ReelTime, the more Power bolts you have, the greater your chances
+// of drawing more ReelTime spins. In a lucky game, you have greater odds of
+// drawing high yields (3+ RT spins). You also have greater odds of drawing 0
+// RT spins. But drawing 0 lets you keep all your Power bolts, allowing you to
+// fill your gauge further.
struct SlotMachine
{
/*0x00*/ u8 state;
/*0x01*/ u8 machineId;
- /*0x02*/ u8 pikaPower;
- /*0x03*/ u8 luckyGame;
- /*0x04*/ u8 luckyFlags;
+ /*0x02*/ u8 pikaPowerBolts;
+ /*0x03*/ bool8 luckyGame;
+ /*0x04*/ u8 machineBias;
/*0x05*/ u8 reelTimeDraw;
- /*0x06*/ u8 isLuckySpin;
- /*0x07*/ u8 biasTag;
- /*0x08*/ u16 matchedSymbols;
+ /*0x06*/ bool8 didNotFailBias;
+ /*0x07*/ u8 biasSymbol;
+ /*0x08*/ u16 matches;
/*0x0A*/ u8 reelTimeSpinsLeft;
/*0x0B*/ u8 reelTimeSpinsUsed;
/*0x0C*/ s16 coins;
/*0x0E*/ s16 payout;
- /*0x10*/ s16 netCoinLoss; // coins lost to machine (but never goes below 0)
+ /*0x10*/ s16 netCoinLoss; // never negative
/*0x12*/ s16 bet;
/*0x14*/ s16 reeltimePixelOffset;
/*0x16*/ s16 reeltimePosition;
- /*0x18*/ s16 currReel;
- /*0x1A*/ s16 reelIncrement; // speed of reel
+ /*0x18*/ s16 currentReel;
+ /*0x1A*/ s16 reelSpeed;
/*0x1C*/ s16 reelPixelOffsets[NUM_REELS];
- /*0x22*/ u16 reelPixelOffsetsWhileStopping[NUM_REELS];
+ /*0x22*/ u16 reelShockOffsets[NUM_REELS];
/*0x28*/ s16 reelPositions[NUM_REELS];
/*0x2E*/ s16 reelExtraTurns[NUM_REELS];
/*0x34*/ s16 winnerRows[NUM_REELS];
@@ -299,7 +423,7 @@ static void SlotMachineSetup_InitBgsWindows(void);
static void SlotMachineSetup_InitVRAM(void);
static void SlotMachineSetup_InitOAM(void);
static void SlotMachineSetup_InitGpuRegs(void);
-static void SlotMachineSetup_InitSlotMachineStruct(void);
+static void InitSlotMachine(void);
static void SlotMachineSetup_InitPalsSpritesTasks(void);
static void SlotMachineSetup_InitTilemaps(void);
static void SlotMachineSetup_LoadGfxAndTilemaps(void);
@@ -308,84 +432,84 @@ static void AllocDigitalDisplayGfx(void);
static void SetDigitalDisplayImagePtrs(void);
static void CreateSlotMachineSprites(void);
static void CreateGameplayTasks(void);
-static void CreateSlotMachineTask(void);
+static void CreateSlotMachineTasks(void);
static void DestroyDigitalDisplayScene(void);
static void Task_SlotMachine(u8);
-static bool8 SlotAction_UnfadeScreen(struct Task *);
-static bool8 SlotAction_WaitForUnfade(struct Task *);
-static bool8 SlotAction_ReadyNewSpin(struct Task *);
-static bool8 SlotAction_ReadyNewReelTimeSpin(struct Task *);
-static bool8 SlotAction_AskInsertBet(struct Task *);
-static bool8 SlotAction_HandleBetInput(struct Task *);
-static bool8 SlotAction_PrintMsg_Need3Coins(struct Task *);
-static bool8 SlotAction_WaitMsg_Need3Coins(struct Task *);
-static bool8 SlotAction_WaitForInfoBox(struct Task *);
-static bool8 SlotAction_StartSpin(struct Task *);
-static bool8 SlotAction_StartReelTimeSpin(struct Task *);
-static bool8 SlotAction_SetLuckySpins(struct Task *);
-static bool8 SlotAction_AwaitReelStop(struct Task *);
-static bool8 SlotAction_WaitForAllReelsToStop(struct Task *);
-static bool8 SlotAction_CheckMatches(struct Task *);
-static bool8 SlotAction_WaitForPayoutToBeAwarded(struct Task *);
-static bool8 SlotAction_EndPayout(struct Task *);
-static bool8 SlotAction_MatchedPower(struct Task *);
-static bool8 SlotAction_WaitReelTimeAnim(struct Task *);
-static bool8 SlotAction_ResetBetTiles(struct Task *);
-static bool8 SlotAction_NoMatches(struct Task *);
-static bool8 SlotAction_AskQuit(struct Task *);
-static bool8 SlotAction_HandleQuitInput(struct Task *);
-static bool8 SlotAction_PrintMsg_9999Coins(struct Task *);
-static bool8 SlotAction_WaitMsg_9999Coins(struct Task *);
-static bool8 SlotAction_PrintMsg_NoMoreCoins(struct Task *);
-static bool8 SlotAction_WaitMsg_NoMoreCoins(struct Task *);
-static bool8 SlotAction_EndGame(struct Task *);
-static bool8 SlotAction_FreeDataStructures(struct Task *);
-static void DrawLuckyFlags(void);
-static void SetLuckySpins(void);
-static bool8 IsThisRoundLucky(void);
-static u8 AttemptsAtLuckyFlags_Top3(void);
-static u16 SlowReelSpeed(void);
-static u8 AttemptsAtLuckyFlags_NotTop3(void);
+static bool8 SlotTask_UnfadeScreen(struct Task *);
+static bool8 SlotTask_WaitUnfade(struct Task *);
+static bool8 SlotTask_ReadyNewSpin(struct Task *);
+static bool8 SlotTask_ReadyNewReelTimeSpin(struct Task *);
+static bool8 SlotTask_AskInsertBet(struct Task *);
+static bool8 SlotTask_HandleBetInput(struct Task *);
+static bool8 SlotTask_PrintMsg_Need3Coins(struct Task *);
+static bool8 SlotTask_WaitMsg_Need3Coins(struct Task *);
+static bool8 SlotTask_WaitInfoBox(struct Task *);
+static bool8 SlotTask_StartSpin(struct Task *);
+static bool8 SlotTask_StartReelTimeSpin(struct Task *);
+static bool8 SlotTask_ResetBiasFailure(struct Task *);
+static bool8 SlotTask_WaitReelStop(struct Task *);
+static bool8 SlotTask_WaitAllReelsStop(struct Task *);
+static bool8 SlotTask_CheckMatches(struct Task *);
+static bool8 SlotTask_WaitPayout(struct Task *);
+static bool8 SlotTask_EndPayout(struct Task *);
+static bool8 SlotTask_MatchedPower(struct Task *);
+static bool8 SlotTask_WaitReelTimeAnim(struct Task *);
+static bool8 SlotTask_ResetBetTiles(struct Task *);
+static bool8 SlotTask_NoMatches(struct Task *);
+static bool8 SlotTask_AskQuit(struct Task *);
+static bool8 SlotTask_HandleQuitInput(struct Task *);
+static bool8 SlotTask_PrintMsg_MaxCoins(struct Task *);
+static bool8 SlotTask_WaitMsg_MaxCoins(struct Task *);
+static bool8 SlotTask_PrintMsg_NoMoreCoins(struct Task *);
+static bool8 SlotTask_WaitMsg_NoMoreCoins(struct Task *);
+static bool8 SlotTask_EndGame(struct Task *);
+static bool8 SlotTask_FreeDataStructures(struct Task *);
+static void DrawMachineBias(void);
+static void ResetBiasFailure(void);
+static bool8 ShouldTrySpecialBias(void);
+static u8 TrySelectBias_Special(void);
+static u16 ReelTimeSpeed(void);
+static u8 TrySelectBias_Regular(void);
static void CheckMatch(void);
static void CheckMatch_CenterRow(void);
static void CheckMatch_TopAndBottom(void);
static void CheckMatch_Diagonals(void);
static u8 GetMatchFromSymbols(u8, u8, u8);
static void AwardPayout(void);
-static void RunAwardPayoutActions(u8);
-static bool8 IsFinalTask_RunAwardPayoutActions(void);
-static bool8 AwardPayoutAction0(struct Task *);
-static bool8 AwardPayoutAction_GivePayoutToPlayer(struct Task *);
-static bool8 AwardPayoutAction_FreeTask(struct Task *);
-static u8 GetTagAtRest(u8, s16);
-static void CreateSlotReelTasks(void);
+static void Task_Payout(u8);
+static bool8 IsFinalTask_Task_Payout(void);
+static bool8 PayoutTask_Init(struct Task *);
+static bool8 PayoutTask_GivePayout(struct Task *);
+static bool8 PayoutTask_Free(struct Task *);
+static u8 GetSymbolAtRest(u8, s16);
+static void CreateReelTasks(void);
static void SpinSlotReel(u8);
static void StopSlotReel(u8);
static bool8 IsSlotReelMoving(u8);
-static void Task_RunSlotReelActions(u8);
-static bool8 SlotReelAction_StayStill(struct Task *);
-static bool8 SlotReelAction_Spin(struct Task *);
-static bool8 SlotReelAction_DecideWhereToStop(struct Task *);
-static bool8 SlotReelAction_MoveToStop(struct Task *);
-static bool8 SlotReelAction_OscillatingStop(struct Task *);
-static bool8 DecideReelTurns_BiasTag_Reel1(void);
-static bool8 DecideReelTurns_BiasTag_Reel1_Bet1(u8, u8);
-static bool8 DecideReelTurns_BiasTag_Reel1_Bet2or3(u8, u8);
-static bool8 DecideReelTurns_BiasTag_Reel2(void);
-static bool8 DecideReelTurns_BiasTag_Reel2_Bet1or2(void);
-static bool8 DecideReelTurns_BiasTag_Reel2_Bet3(void);
-static bool8 DecideReelTurns_BiasTag_Reel3(void);
-static bool8 DecideReelTurns_BiasTag_Reel3_Bet1or2(u8);
-static bool8 DecideReelTurns_BiasTag_Reel3_Bet3(u8);
-static void DecideReelTurns_NoBiasTag_Reel1(void);
-static void DecideReelTurns_NoBiasTag_Reel2(void);
-static void DecideReelTurns_NoBiasTag_Reel2_Bet1(void);
-static void DecideReelTurns_NoBiasTag_Reel2_Bet2(void);
-static void DecideReelTurns_NoBiasTag_Reel2_Bet3(void);
-static void DecideReelTurns_NoBiasTag_Reel3(void);
-static void DecideReelTurns_NoBiasTag_Reel3_Bet1(void);
-static void DecideReelTurns_NoBiasTag_Reel3_Bet2(void);
-static void DecideReelTurns_NoBiasTag_Reel3_Bet3(void);
+static void Task_Reel(u8);
+static bool8 ReelTask_StayStill(struct Task *);
+static bool8 ReelTask_Spin(struct Task *);
+static bool8 ReelTask_DecideStop(struct Task *);
+static bool8 ReelTask_MoveToStop(struct Task *);
+static bool8 ReelTask_ShakingStop(struct Task *);
+static bool8 DecideStop_Bias_Reel1(void);
+static bool8 DecideStop_Bias_Reel1_Bet1(u8, u8);
+static bool8 DecideStop_Bias_Reel1_Bet2or3(u8, u8);
+static bool8 DecideStop_Bias_Reel2(void);
+static bool8 DecideStop_Bias_Reel2_Bet1or2(void);
+static bool8 DecideStop_Bias_Reel2_Bet3(void);
+static bool8 DecideStop_Bias_Reel3(void);
+static bool8 DecideStop_Bias_Reel3_Bet1or2(u8);
+static bool8 DecideStop_Bias_Reel3_Bet3(u8);
+static void DecideStop_NoBias_Reel1(void);
+static void DecideStop_NoBias_Reel2(void);
+static void DecideStop_NoBias_Reel2_Bet1(void);
+static void DecideStop_NoBias_Reel2_Bet2(void);
+static void DecideStop_NoBias_Reel2_Bet3(void);
+static void DecideStop_NoBias_Reel3(void);
+static void DecideStop_NoBias_Reel3_Bet1(void);
+static void DecideStop_NoBias_Reel3_Bet2(void);
+static void DecideStop_NoBias_Reel3_Bet3(void);
static void PressStopReelButton(u8);
static void Task_PressStopReelButton(u8);
static void LightenBetTiles(u8);
@@ -427,7 +551,7 @@ static void ReelTime_PikachuReact(struct Task *);
static void ReelTime_WaitClearPikaPower(struct Task *);
static void ReelTime_CloseWindow(struct Task *);
static void ReelTime_DestroySprites(struct Task *);
-static void ReelTime_SetReelIncrement(struct Task *);
+static void ReelTime_SetReelSpeed(struct Task *);
static void ReelTime_EndSuccess(struct Task *);
static void ReelTime_ExplodeMachine(struct Task *);
static void ReelTime_WaitExplode(struct Task *);
@@ -437,11 +561,11 @@ static void LoadReelTimeWindowTilemap(s16, s16);
static void ClearReelTimeWindowTilemap(s16);
static void OpenInfoBox(u8);
static bool8 IsInfoBoxClosed(void);
-static void RunInfoBoxActions(u8 );
+static void Task_InfoBox(u8 );
static void InfoBox_FadeIn(struct Task *);
-static void InfoBox_WaitForFade(struct Task *);
+static void InfoBox_WaitFade(struct Task *);
static void InfoBox_DrawWindow(struct Task *);
-static void InfoBox_AwaitPlayerInput(struct Task *);
+static void InfoBox_WaitInput(struct Task *);
static void InfoBox_AddText(struct Task *);
static void InfoBox_LoadPikaPowerMeter(struct Task *);
static void InfoBox_LoadSlotMachineTilemap(struct Task *);
@@ -557,10 +681,10 @@ static struct SpriteFrameImage *sImageTables_DigitalDisplay[NUM_DIG_DISPLAY_SPRI
// Const rom data.
static const struct DigitalDisplaySprite *const sDigitalDisplayScenes[];
static const u16 sUnkPalette[];
-static const u8 sLuckyRoundProbabilities[][3];
-static const u8 sBiasTags[];
-static const u16 sLuckyFlagSettings_Top3[];
-static const u16 sLuckyFlagSettings_NotTop3[];
+static const u8 sSpecialDrawOdds[NUM_SLOT_MACHINE_IDS][MAX_BET];
+static const u8 sBiasSymbols[];
+static const u16 sBiasesSpecial[3];
+static const u16 sBiasesRegular[5];
static const s16 sDigitalDisplay_SpriteCoords[][2];
static const SpriteCallback sDigitalDisplay_SpriteCallbacks[];
static const struct SpriteTemplate *const sSpriteTemplates_DigitalDisplay[NUM_DIG_DISPLAY_SPRITES];
@@ -572,8 +696,8 @@ static const struct SpriteTemplate sSpriteTemplate_ReelTimeExplosion;
static const struct SpriteTemplate sSpriteTemplate_ReelTimePikachuAura;
static const u16 sReelTimeExplodeProbability[];
static const u16 *const sPokeballShiningPalTable[];
-static const u16 sReelIncrementTable[][2];
-static const u16 sReelTimeBonusIncrementTable[];
+static const u16 sReelTimeSpeed_Probabilities[][2];
+static const u16 sQuarterSpeed_ProbabilityBoost[];
static const u16 sSlotMatchFlags[];
static const u16 sSlotPayouts[];
static const u8 *const sReelBackground_Tilemap;
@@ -582,13 +706,13 @@ static const struct SpriteSheet sSlotMachineSpriteSheets[22];
static const struct SpritePalette sSlotMachineSpritePalettes[];
static const u16 *const sDigitalDisplay_Pal;
static const s16 sInitialReelPositions[NUM_REELS][2];
-static const u8 sLuckyFlagProbabilities_Top3[][6];
-static const u8 sLuckyFlagProbabilities_NotTop3[][6];
-static const u8 sReeltimeProbabilities_UnluckyGame[][17];
+static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS];
+static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS];
+static const u8 sReelTimeProbabilities_NormalGame[][17];
static const u8 sReelTimeProbabilities_LuckyGame[][17];
-static const u8 sSymToMatch[];
-static const u8 sReelTimeTags[];
-static const u8 sReelSymbolTileTags[NUM_REELS][SYMBOLS_PER_REEL];
+static const u8 sSymbolToMatch[];
+static const u8 sReelTimeSymbols[];
+static const u8 sReelSymbols[NUM_REELS][SYMBOLS_PER_REEL];
static const u16 *const sLitMatchLinePalTable[NUM_MATCH_LINES];
static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_LINES];
static const u8 sMatchLinePalOffsets[NUM_MATCH_LINES];
@@ -684,123 +808,131 @@ static const struct WindowTemplate sWindowTemplate_InfoBox =
static const u8 sColors_ReeltimeHelp[] = {TEXT_COLOR_LIGHT_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY};
-static bool8 (*const sSlotActions[])(struct Task *task) =
+static bool8 (*const sSlotTasks[])(struct Task *task) =
{
- [SLOT_ACTION_UNFADE] = SlotAction_UnfadeScreen,
- [SLOT_ACTION_WAIT_FADE] = SlotAction_WaitForUnfade,
- [SLOT_ACTION_READY_NEW_SPIN] = SlotAction_ReadyNewSpin,
- [SLOT_ACTION_READY_NEW_RT_SPIN] = SlotAction_ReadyNewReelTimeSpin,
- [SLOT_ACTION_ASK_INSERT_BET] = SlotAction_AskInsertBet,
- [SLOT_ACTION_BET_INPUT] = SlotAction_HandleBetInput,
- [SLOT_ACTION_MSG_NEED_3_COINS] = SlotAction_PrintMsg_Need3Coins,
- [SLOT_ACTION_WAIT_MSG_NEED_3_COINS] = SlotAction_WaitMsg_Need3Coins,
- [SLOT_ACTION_WAIT_INFO_BOX] = SlotAction_WaitForInfoBox,
- [SLOT_ACTION_START_SPIN] = SlotAction_StartSpin,
- [SLOT_ACTION_START_RT_SPIN] = SlotAction_StartReelTimeSpin,
- [SLOT_ACTION_SET_LUCKY_SPINS] = SlotAction_SetLuckySpins,
- [SLOT_ACTION_AWAIT_REEL_STOP] = SlotAction_AwaitReelStop,
- [SLOT_ACTION_AWAIT_ALL_REELS_STOP] = SlotAction_WaitForAllReelsToStop,
- [SLOT_ACTION_CHECK_MATCHES] = SlotAction_CheckMatches,
- [SLOT_ACTION_WAIT_PAYOUT] = SlotAction_WaitForPayoutToBeAwarded,
- [SLOT_ACTION_END_PAYOUT] = SlotAction_EndPayout,
- [SLOT_ACTION_MATCHED_POWER] = SlotAction_MatchedPower,
- [SLOT_ACTION_WAIT_RT_ANIM] = SlotAction_WaitReelTimeAnim,
- [SLOT_ACTION_RESET_BET_TILES] = SlotAction_ResetBetTiles,
- [SLOT_ACTION_NO_MATCHES] = SlotAction_NoMatches,
- [SLOT_ACTION_ASK_QUIT] = SlotAction_AskQuit,
- [SLOT_ACTION_HANDLE_QUIT_INPUT] = SlotAction_HandleQuitInput,
- [SLOT_ACTION_MSG_MAX_COINS] = SlotAction_PrintMsg_9999Coins,
- [SLOT_ACTION_WAIT_MSG_MAX_COINS] = SlotAction_WaitMsg_9999Coins,
- [SLOT_ACTION_MSG_NO_MORE_COINS] = SlotAction_PrintMsg_NoMoreCoins,
- [SLOT_ACTION_WAIT_MSG_NO_MORE_COINS] = SlotAction_WaitMsg_NoMoreCoins,
- [SLOT_ACTION_END] = SlotAction_EndGame,
- [SLOT_ACTION_FREE] = SlotAction_FreeDataStructures,
+ [SLOTTASK_UNFADE] = SlotTask_UnfadeScreen,
+ [SLOTTASK_WAIT_FADE] = SlotTask_WaitUnfade,
+ [SLOTTASK_READY_NEW_SPIN] = SlotTask_ReadyNewSpin,
+ [SLOTTASK_READY_NEW_RT_SPIN] = SlotTask_ReadyNewReelTimeSpin,
+ [SLOTTASK_ASK_INSERT_BET] = SlotTask_AskInsertBet,
+ [SLOTTASK_BET_INPUT] = SlotTask_HandleBetInput,
+ [SLOTTASK_MSG_NEED_3_COINS] = SlotTask_PrintMsg_Need3Coins,
+ [SLOTTASK_WAIT_MSG_NEED_3_COINS] = SlotTask_WaitMsg_Need3Coins,
+ [SLOTTASK_WAIT_INFO_BOX] = SlotTask_WaitInfoBox,
+ [SLOTTASK_START_SPIN] = SlotTask_StartSpin,
+ [SLOTTASK_START_RT_SPIN] = SlotTask_StartReelTimeSpin,
+ [SLOTTASK_RESET_BIAS_FAILURE] = SlotTask_ResetBiasFailure,
+ [SLOTTASK_WAIT_REEL_STOP] = SlotTask_WaitReelStop,
+ [SLOTTASK_WAIT_ALL_REELS_STOP] = SlotTask_WaitAllReelsStop,
+ [SLOTTASK_CHECK_MATCHES] = SlotTask_CheckMatches,
+ [SLOTTASK_WAIT_PAYOUT] = SlotTask_WaitPayout,
+ [SLOTTASK_END_PAYOUT] = SlotTask_EndPayout,
+ [SLOTTASK_MATCHED_POWER] = SlotTask_MatchedPower,
+ [SLOTTASK_WAIT_RT_ANIM] = SlotTask_WaitReelTimeAnim,
+ [SLOTTASK_RESET_BET_TILES] = SlotTask_ResetBetTiles,
+ [SLOTTASK_NO_MATCHES] = SlotTask_NoMatches,
+ [SLOTTASK_ASK_QUIT] = SlotTask_AskQuit,
+ [SLOTTASK_HANDLE_QUIT_INPUT] = SlotTask_HandleQuitInput,
+ [SLOTTASK_MSG_MAX_COINS] = SlotTask_PrintMsg_MaxCoins,
+ [SLOTTASK_WAIT_MSG_MAX_COINS] = SlotTask_WaitMsg_MaxCoins,
+ [SLOTTASK_MSG_NO_MORE_COINS] = SlotTask_PrintMsg_NoMoreCoins,
+ [SLOTTASK_WAIT_MSG_NO_MORE_COINS] = SlotTask_WaitMsg_NoMoreCoins,
+ [SLOTTASK_END] = SlotTask_EndGame,
+ [SLOTTASK_FREE] = SlotTask_FreeDataStructures,
};
-static bool8 (*const sAwardPayoutActions[])(struct Task *task) =
+static bool8 (*const sPayoutTasks[])(struct Task *task) =
{
- AwardPayoutAction0,
- AwardPayoutAction_GivePayoutToPlayer,
- AwardPayoutAction_FreeTask
+ [PAYOUT_TASK_INIT] = PayoutTask_Init,
+ [PAYOUT_TASK_GIVE_PAYOUT] = PayoutTask_GivePayout,
+ [PAYOUT_TASK_FREE] = PayoutTask_Free,
};
-static bool8 (*const sSlotReelActions[])(struct Task *task) =
+static bool8 (*const sReelTasks[])(struct Task *task) =
{
- [REEL_ACTION_STILL] = SlotReelAction_StayStill,
- [REEL_ACTION_SPIN] = SlotReelAction_Spin,
- [REEL_ACTION_STOP] = SlotReelAction_DecideWhereToStop,
- [REEL_ACTION_STOP_MOVE] = SlotReelAction_MoveToStop,
- [REEL_ACTION_STOP_SHAKE] = SlotReelAction_OscillatingStop
+ [REEL_TASK_STILL] = ReelTask_StayStill,
+ [REEL_TASK_SPIN] = ReelTask_Spin,
+ [REEL_TASK_DECIDE_STOP] = ReelTask_DecideStop,
+ [REEL_TASK_STOP_MOVE] = ReelTask_MoveToStop,
+ [REEL_TASK_STOP_SHAKE] = ReelTask_ShakingStop,
};
-// returns True if a match with the biasTag is possible in that reel
-// also modifies data in sSlotMachine reel arrays to indicate how to get to the matching state
-static bool8 (*const sDecideReelTurns_BiasTag[NUM_REELS])(void) =
+// Returns true if it is possible to match the bias symbol in the reel.
+//
+// Modifies the winnerRows and reelExtraTurns to indicate how to match the bias
+// symbol.
+static bool8 (*const sDecideStop_Bias[NUM_REELS])(void) =
{
- DecideReelTurns_BiasTag_Reel1,
- DecideReelTurns_BiasTag_Reel2,
- DecideReelTurns_BiasTag_Reel3
+ DecideStop_Bias_Reel1,
+ DecideStop_Bias_Reel2,
+ DecideStop_Bias_Reel3,
};
-static void (*const sDecideReelTurns_NoBiasTag[NUM_REELS])(void) =
+// The player will always lose (barring a few rare circumstances that were not
+// accounted for in implementation).
+//
+// Modifies the winnerRows and reelExtraTurns to indicate how to make the player
+// lose.
+static void (*const sDecideStop_NoBias[NUM_REELS])(void) =
{
- DecideReelTurns_NoBiasTag_Reel1,
- DecideReelTurns_NoBiasTag_Reel2,
- DecideReelTurns_NoBiasTag_Reel3
+ DecideStop_NoBias_Reel1,
+ DecideStop_NoBias_Reel2,
+ DecideStop_NoBias_Reel3,
};
+// The magnitude of the shock depends on how many extra turns are added.
static const u16 sReelStopShocks[] = {2, 4, 4, 4, 8};
-static bool8 (*const sDecideReelTurns_BiasTag_Reel1_Bets[MAX_BET])(u8 tag1, u8 tag2) =
+static bool8 (*const sDecideStop_Bias_Reel1_Bets[MAX_BET])(u8 sym1, u8 sym2) =
{
- DecideReelTurns_BiasTag_Reel1_Bet1,
- DecideReelTurns_BiasTag_Reel1_Bet2or3,
- DecideReelTurns_BiasTag_Reel1_Bet2or3
+ DecideStop_Bias_Reel1_Bet1,
+ DecideStop_Bias_Reel1_Bet2or3,
+ DecideStop_Bias_Reel1_Bet2or3,
};
-static bool8 (*const sDecideReelTurns_BiasTag_Reel2_Bets[MAX_BET])(void) =
+static bool8 (*const sDecideStop_Bias_Reel2_Bets[MAX_BET])(void) =
{
- DecideReelTurns_BiasTag_Reel2_Bet1or2,
- DecideReelTurns_BiasTag_Reel2_Bet1or2,
- DecideReelTurns_BiasTag_Reel2_Bet3
+ DecideStop_Bias_Reel2_Bet1or2,
+ DecideStop_Bias_Reel2_Bet1or2,
+ DecideStop_Bias_Reel2_Bet3,
};
-static bool8 (*const sDecideReelTurns_BiasTag_Reel3_Bets[MAX_BET])(u8 biasTag) =
+static bool8 (*const sDecideStop_Bias_Reel3_Bets[MAX_BET])(u8 biasSymbol) =
{
- DecideReelTurns_BiasTag_Reel3_Bet1or2,
- DecideReelTurns_BiasTag_Reel3_Bet1or2,
- DecideReelTurns_BiasTag_Reel3_Bet3
+ DecideStop_Bias_Reel3_Bet1or2,
+ DecideStop_Bias_Reel3_Bet1or2,
+ DecideStop_Bias_Reel3_Bet3,
};
-static void (*const sDecideReelTurns_NoBiasTag_Reel2_Bets[MAX_BET])(void) =
+static void (*const sDecideStop_NoBias_Reel2_Bets[MAX_BET])(void) =
{
- DecideReelTurns_NoBiasTag_Reel2_Bet1,
- DecideReelTurns_NoBiasTag_Reel2_Bet2,
- DecideReelTurns_NoBiasTag_Reel2_Bet3
+ DecideStop_NoBias_Reel2_Bet1,
+ DecideStop_NoBias_Reel2_Bet2,
+ DecideStop_NoBias_Reel2_Bet3,
};
-static void (*const sDecideReelTurns_NoBiasTag_Reel3_Bets[MAX_BET])(void) =
+static void (*const sDecideStop_NoBias_Reel3_Bets[MAX_BET])(void) =
{
- DecideReelTurns_NoBiasTag_Reel3_Bet1,
- DecideReelTurns_NoBiasTag_Reel3_Bet2,
- DecideReelTurns_NoBiasTag_Reel3_Bet3
+ DecideStop_NoBias_Reel3_Bet1,
+ DecideStop_NoBias_Reel3_Bet2,
+ DecideStop_NoBias_Reel3_Bet3,
};
-static void (*const sReelStopButtonFuncs[])(struct Task *task, u8 taskId) =
+static void (*const sReelStopButtonTasks[])(struct Task *task, u8 taskId) =
{
StopReelButton_Press,
StopReelButton_Wait,
- StopReelButton_Unpress
+ StopReelButton_Unpress,
};
static const s16 sReelButtonOffsets[NUM_REELS] = {5, 10, 15};
-static void (*const sPikaPowerBoltFuncs[])(struct Task *task) =
+static void (*const sPikaPowerBoltTasks[])(struct Task *task) =
{
PikaPowerBolt_Idle,
PikaPowerBolt_AddBolt,
PikaPowerBolt_WaitAnim,
- PikaPowerBolt_ClearAll
+ PikaPowerBolt_ClearAll,
};
static const u16 sPikaPowerTileTable[][2] =
@@ -810,65 +942,61 @@ static const u16 sPikaPowerTileTable[][2] =
{0xaf, 0x7f},
};
-static void (*const sReelTimeActions[])(struct Task *task) =
+static void (*const sReelTimeTasks[])(struct Task *task) =
{
- ReelTime_Init,
- ReelTime_WindowEnter,
- ReelTime_WaitStartPikachu,
- ReelTime_PikachuSpeedUp1,
- ReelTime_PikachuSpeedUp2,
- ReelTime_WaitReel,
- ReelTime_CheckExplode,
- ReelTime_LandOnOutcome,
- ReelTime_PikachuReact,
- ReelTime_WaitClearPikaPower,
- ReelTime_CloseWindow,
- ReelTime_DestroySprites,
- ReelTime_SetReelIncrement,
- ReelTime_EndSuccess,
- ReelTime_ExplodeMachine,
- ReelTime_WaitExplode,
- ReelTime_WaitSmoke,
- ReelTime_CloseWindow,
- ReelTime_EndFailure
+ [RT_TASK_INIT] = ReelTime_Init,
+ [RT_TASK_WINDOW_ENTER] = ReelTime_WindowEnter,
+ [RT_TASK_WAIT_START_PIKA] = ReelTime_WaitStartPikachu,
+ [RT_TASK_PIKA_SPEEDUP1] = ReelTime_PikachuSpeedUp1,
+ [RT_TASK_PIKA_SPEEDUP2] = ReelTime_PikachuSpeedUp2,
+ [RT_TASK_WAIT_REEL] = ReelTime_WaitReel,
+ [RT_TASK_CHECK_EXPLODE] = ReelTime_CheckExplode,
+ [RT_TASK_LAND] = ReelTime_LandOnOutcome,
+ [RT_TASK_PIKA_REACT] = ReelTime_PikachuReact,
+ [RT_TASK_WAIT_CLEAR_POWER] = ReelTime_WaitClearPikaPower,
+ [RT_TASK_CLOSE_WINDOW_SUCCESS] = ReelTime_CloseWindow,
+ [RT_TASK_DESTROY_SPRITES] = ReelTime_DestroySprites,
+ [RT_TASK_SET_REEL_SPEED] = ReelTime_SetReelSpeed,
+ [RT_TASK_END_SUCCESS] = ReelTime_EndSuccess,
+ [RT_TASK_EXPLODE] = ReelTime_ExplodeMachine,
+ [RT_TASK_WAIT_EXPLODE] = ReelTime_WaitExplode,
+ [RT_TASK_WAIT_SMOKE] = ReelTime_WaitSmoke,
+ [RT_TASK_CLOSE_WINDOW_FAILURE] = ReelTime_CloseWindow,
+ [RT_TASK_END_FAILURE] = ReelTime_EndFailure,
};
static const u8 sReelTimePikachuAnimIds[] = {1, 1, 2, 2};
static const s16 sReelTimeBoltDelays[] = {64, 48, 24, 8};
static const s16 sPikachuAuraFlashDelays[] = {10, 8, 6, 4};
-static void (*const sInfoBoxActions[])(struct Task *task) =
+static void (*const sInfoBoxTasks[])(struct Task *task) =
{
// Go to Info screen
InfoBox_FadeIn,
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
InfoBox_DrawWindow,
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
InfoBox_AddText,
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
// On Info screen
- InfoBox_AwaitPlayerInput,
+ InfoBox_WaitInput,
// Exit Info screen
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
InfoBox_LoadSlotMachineTilemap,
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
InfoBox_CreateDigitalDisplay,
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
InfoBox_LoadPikaPowerMeter,
- InfoBox_WaitForFade,
+ InfoBox_WaitFade,
InfoBox_FreeTask,
};
// Just idles, digital display is handled by CreateDigitalDisplayScene and sprite callbacks
-static void (*const sDigitalDisplayActions[])(struct Task *task) =
+static void (*const sDigitalDisplayTasks[])(struct Task *task) =
{
DigitalDisplay_Idle,
};
-
-
-
-// code
#define tState data[0]
static void Task_FadeToSlotMachine(u8 taskId)
@@ -889,12 +1017,12 @@ static void Task_FadeToSlotMachine(u8 taskId)
}
}
-void PlaySlotMachine(u8 slotMachineIndex, MainCallback exitCallback)
+void PlaySlotMachine(u8 machineId, MainCallback exitCallback)
{
u8 taskId;
sSlotMachine = AllocZeroed(sizeof(*sSlotMachine));
- PlaySlotMachine_Internal(slotMachineIndex, exitCallback);
+ PlaySlotMachine_Internal(machineId, exitCallback);
taskId = CreateTask(Task_FadeToSlotMachine, 0);
gTasks[taskId].tState = 0;
}
@@ -907,7 +1035,7 @@ static void CB2_SlotMachineSetup(void)
{
case 0:
SlotMachineSetup_InitBgsWindows();
- SlotMachineSetup_InitSlotMachineStruct();
+ InitSlotMachine();
gMain.state++;
break;
case 1:
@@ -981,25 +1109,31 @@ static void SlotMachine_VBlankCB(void)
SetGpuReg(REG_OFFSET_WINOUT, sSlotMachine->winOut);
}
-static void PlaySlotMachine_Internal(u8 slotMachineIndex, MainCallback exitCallback)
+#define tMachineId data[0]
+#define tExitCallback data[1]
+
+static void PlaySlotMachine_Internal(u8 machineId, MainCallback exitCallback)
{
struct Task *task = &gTasks[CreateTask(SlotMachineDummyTask, 0xFF)];
- task->data[0] = slotMachineIndex;
- StoreWordInTwoHalfwords(&task->data[1], (intptr_t)exitCallback);
+ task->tMachineId = machineId;
+ StoreWordInTwoHalfwords(&task->tExitCallback, (intptr_t)exitCallback);
}
-
-static void SlotMachineInitDummyTask(void)
+// Extracts and assigns machineId and exit callback from task.
+static void SlotMachine_InitFromTask(void)
{
struct Task *task = &gTasks[FindTaskIdByFunc(SlotMachineDummyTask)];
- sSlotMachine->machineId = task->data[0];
- LoadWordFromTwoHalfwords((u16 *)&task->data[1], (u32 *)&sSlotMachine->prevMainCb);
+ sSlotMachine->machineId = task->tMachineId;
+ LoadWordFromTwoHalfwords((u16 *)&task->tExitCallback, (u32 *)&sSlotMachine->prevMainCb);
}
static void SlotMachineDummyTask(u8 taskId)
{
}
+#undef tMachineId
+#undef tExitCallback
+
static void SlotMachineSetup_InitBgsWindows(void)
{
SetVBlankCallback(NULL);
@@ -1048,25 +1182,25 @@ static void SlotMachineSetup_InitGpuRegs(void)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(9, 8));
}
-// set up initial state of slot machine
-static void SlotMachineSetup_InitSlotMachineStruct(void)
+// Set up initial state of slot machine
+static void InitSlotMachine(void)
{
u8 i;
- SlotMachineInitDummyTask(); // assigns sSlotMachine->machineId, etc.
- sSlotMachine->state = 0;
- sSlotMachine->pikaPower = 0;
+ SlotMachine_InitFromTask();
+ sSlotMachine->state = SLOTTASK_UNFADE;
+ sSlotMachine->pikaPowerBolts = 0;
sSlotMachine->luckyGame = Random() & 1;
- sSlotMachine->luckyFlags = 0;
- sSlotMachine->matchedSymbols = 0;
+ sSlotMachine->machineBias = 0;
+ sSlotMachine->matches = 0;
sSlotMachine->reelTimeSpinsLeft = 0;
sSlotMachine->reelTimeSpinsUsed = 0;
sSlotMachine->coins = GetCoins();
sSlotMachine->payout = 0;
sSlotMachine->netCoinLoss = 0;
sSlotMachine->bet = 0;
- sSlotMachine->currReel = 0;
- sSlotMachine->reelIncrement = 8;
+ sSlotMachine->currentReel = LEFT_REEL;
+ sSlotMachine->reelSpeed = REEL_NORMAL_SPEED;
sSlotMachine->win0h = DISPLAY_WIDTH;
sSlotMachine->win0v = DISPLAY_HEIGHT;
sSlotMachine->winIn = WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR;
@@ -1075,10 +1209,10 @@ static void SlotMachineSetup_InitSlotMachineStruct(void)
for (i = 0; i < NUM_REELS; i++)
{
- sSlotMachine->reelPixelOffsetsWhileStopping[i] = 0;
+ sSlotMachine->reelShockOffsets[i] = 0;
sSlotMachine->reelPositions[i] = sInitialReelPositions[i][sSlotMachine->luckyGame] % SYMBOLS_PER_REEL;
- sSlotMachine->reelPixelOffsets[i] = SYMBOLS_PER_REEL * REEL_SYMBOL_HEIGHT - sSlotMachine->reelPositions[i] * REEL_SYMBOL_HEIGHT;
- sSlotMachine->reelPixelOffsets[i] %= SYMBOLS_PER_REEL * REEL_SYMBOL_HEIGHT;
+ sSlotMachine->reelPixelOffsets[i] = REEL_HEIGHT - sSlotMachine->reelPositions[i] * REEL_SYMBOL_HEIGHT;
+ sSlotMachine->reelPixelOffsets[i] %= REEL_HEIGHT;
}
AlertTVThatPlayerPlayedSlotMachine(GetCoins());
}
@@ -1129,89 +1263,92 @@ static void CreateSlotMachineSprites(void)
static void CreateGameplayTasks(void)
{
CreatePikaPowerBoltTask();
- CreateSlotReelTasks();
+ CreateReelTasks();
CreateDigitalDisplayTask();
- CreateSlotMachineTask();
+ CreateSlotMachineTasks();
}
-static void CreateSlotMachineTask(void)
+static void CreateSlotMachineTasks(void)
{
Task_SlotMachine(CreateTask(Task_SlotMachine, 0));
}
-// task->data[0] is a timer
static void Task_SlotMachine(u8 taskId)
{
- while (sSlotActions[sSlotMachine->state](&gTasks[taskId]))
+ while (sSlotTasks[sSlotMachine->state](&gTasks[taskId]))
;
}
-// SLOT_ACTION_UNFADE
-static bool8 SlotAction_UnfadeScreen(struct Task *task)
+#define tTimer data[0]
+#define tTimer2 data[1]
+
+// SLOTTASK_UNFADE
+static bool8 SlotTask_UnfadeScreen(struct Task *task)
{
BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB(0, 0, 0));
- LoadPikaPowerMeter(sSlotMachine->pikaPower);
- sSlotMachine->state++; // SLOT_ACTION_WAIT_FADE
+ LoadPikaPowerMeter(sSlotMachine->pikaPowerBolts);
+ sSlotMachine->state++; // SLOTTASK_WAIT_FADE
return FALSE;
}
-// SLOT_ACTION_WAIT_FADE
-static bool8 SlotAction_WaitForUnfade(struct Task *task)
+// SLOTTASK_WAIT_FADE
+static bool8 SlotTask_WaitUnfade(struct Task *task)
{
if (!gPaletteFade.active)
sSlotMachine->state++;
return FALSE;
}
-// SLOT_ACTION_READY_NEW_SPIN
-static bool8 SlotAction_ReadyNewSpin(struct Task *task)
+// SLOTTASK_READY_NEW_SPIN
+static bool8 SlotTask_ReadyNewSpin(struct Task *task)
{
sSlotMachine->payout = 0;
sSlotMachine->bet = 0;
- sSlotMachine->currReel = 0;
- sSlotMachine->luckyFlags &= (LUCKY_BIAS_777 | LUCKY_BIAS_MIXED_777);
- sSlotMachine->state = SLOT_ACTION_ASK_INSERT_BET;
+ sSlotMachine->currentReel = LEFT_REEL;
+ sSlotMachine->machineBias &= (BIAS_STRAIGHT_7 | BIAS_MIXED_7);
+ sSlotMachine->state = SLOTTASK_ASK_INSERT_BET;
if (sSlotMachine->coins <= 0)
{
- sSlotMachine->state = SLOT_ACTION_MSG_NO_MORE_COINS;
+ sSlotMachine->state = SLOTTASK_MSG_NO_MORE_COINS;
}
else if (sSlotMachine->reelTimeSpinsLeft)
{
- sSlotMachine->state = SLOT_ACTION_READY_NEW_RT_SPIN;
+ sSlotMachine->state = SLOTTASK_READY_NEW_RT_SPIN;
CreateDigitalDisplayScene(DIG_DISPLAY_REEL_TIME);
}
return TRUE;
}
-// SLOT_ACTION_READY_NEW_RT_SPIN
-static bool8 SlotAction_ReadyNewReelTimeSpin(struct Task *task)
+// SLOTTASK_READY_NEW_RT_SPIN
+static bool8 SlotTask_ReadyNewReelTimeSpin(struct Task *task)
{
if (IsDigitalDisplayAnimFinished())
- sSlotMachine->state = SLOT_ACTION_ASK_INSERT_BET;
+ sSlotMachine->state = SLOTTASK_ASK_INSERT_BET;
return FALSE;
}
-// SLOT_ACTION_ASK_INSERT_BET
-static bool8 SlotAction_AskInsertBet(struct Task *task)
+// SLOTTASK_ASK_INSERT_BET
+static bool8 SlotTask_AskInsertBet(struct Task *task)
{
CreateDigitalDisplayScene(DIG_DISPLAY_INSERT_BET);
- sSlotMachine->state = SLOT_ACTION_BET_INPUT;
+ sSlotMachine->state = SLOTTASK_BET_INPUT;
if (sSlotMachine->coins >= MAX_COINS)
- sSlotMachine->state = SLOT_ACTION_MSG_MAX_COINS;
+ sSlotMachine->state = SLOTTASK_MSG_MAX_COINS;
return TRUE;
}
-// SLOT_ACTION_BET_INPUT
-static bool8 SlotAction_HandleBetInput(struct Task *task)
+// SLOTTASK_BET_INPUT
+static bool8 SlotTask_HandleBetInput(struct Task *task)
{
s16 i;
if (JOY_NEW(SELECT_BUTTON))
{
OpenInfoBox(DIG_DISPLAY_INSERT_BET);
- sSlotMachine->state = SLOT_ACTION_WAIT_INFO_BOX;
+ sSlotMachine->state = SLOTTASK_WAIT_INFO_BOX;
}
- else if (JOY_NEW(R_BUTTON)) // bet the max amount
+ // Try to bet the max amount
+ else if (JOY_NEW(R_BUTTON))
{
if (sSlotMachine->coins - (MAX_BET - sSlotMachine->bet) >= 0)
{
@@ -1219,12 +1356,13 @@ static bool8 SlotAction_HandleBetInput(struct Task *task)
LightenBetTiles(i);
sSlotMachine->coins -= (MAX_BET - sSlotMachine->bet);
sSlotMachine->bet = MAX_BET;
- sSlotMachine->state = SLOT_ACTION_START_SPIN;
+ sSlotMachine->state = SLOTTASK_START_SPIN;
PlaySE(SE_SHOP);
}
- else // you didn't have enough coins to bet the max
+ // Not enough coins
+ else
{
- sSlotMachine->state = SLOT_ACTION_MSG_NEED_3_COINS;
+ sSlotMachine->state = SLOTTASK_MSG_NEED_3_COINS;
}
}
else
@@ -1240,48 +1378,48 @@ static bool8 SlotAction_HandleBetInput(struct Task *task)
// Maxed bet or finished betting
if (sSlotMachine->bet >= MAX_BET || (sSlotMachine->bet != 0 && JOY_NEW(A_BUTTON)))
- sSlotMachine->state = SLOT_ACTION_START_SPIN;
+ sSlotMachine->state = SLOTTASK_START_SPIN;
// Quit prompt
if (JOY_NEW(B_BUTTON))
- sSlotMachine->state = SLOT_ACTION_ASK_QUIT;
+ sSlotMachine->state = SLOTTASK_ASK_QUIT;
}
return FALSE;
}
-// SLOT_ACTION_NEED_3_COINS
-static bool8 SlotAction_PrintMsg_Need3Coins(struct Task *task)
+// SLOTTASK_MSG_NEED_3_COINS
+static bool8 SlotTask_PrintMsg_Need3Coins(struct Task *task)
{
DrawDialogueFrame(0, 0);
AddTextPrinterParameterized(0, FONT_NORMAL, gText_YouDontHaveThreeCoins, 0, 1, 0, 0);
CopyWindowToVram(0, COPYWIN_FULL);
- sSlotMachine->state = SLOT_ACTION_WAIT_MSG_NEED_3_COINS;
+ sSlotMachine->state = SLOTTASK_WAIT_MSG_NEED_3_COINS;
return FALSE;
}
-// SLOT_ACTION_WAIT_MSG_NEED_3_COINS
-static bool8 SlotAction_WaitMsg_Need3Coins(struct Task *task)
+// SLOTTASK_WAIT_MSG_NEED_3_COINS
+static bool8 SlotTask_WaitMsg_Need3Coins(struct Task *task)
{
if (JOY_NEW(A_BUTTON | B_BUTTON))
{
ClearDialogWindowAndFrame(0, TRUE);
- sSlotMachine->state = SLOT_ACTION_BET_INPUT;
+ sSlotMachine->state = SLOTTASK_BET_INPUT;
}
return FALSE;
}
-// SLOT_ACTION_WAIT_INFO_BOX
-static bool8 SlotAction_WaitForInfoBox(struct Task *task)
+// SLOTTASK_WAIT_INFO_BOX
+static bool8 SlotTask_WaitInfoBox(struct Task *task)
{
if (IsInfoBoxClosed())
- sSlotMachine->state = SLOT_ACTION_BET_INPUT;
+ sSlotMachine->state = SLOTTASK_BET_INPUT;
return FALSE;
}
-// SLOT_ACTION_START_SPIN
-static bool8 SlotAction_StartSpin(struct Task *task)
+// SLOTTASK_START_SPIN
+static bool8 SlotTask_StartSpin(struct Task *task)
{
- DrawLuckyFlags();
+ DrawMachineBias();
DestroyDigitalDisplayScene();
SpinSlotReel(LEFT_REEL);
@@ -1290,79 +1428,79 @@ static bool8 SlotAction_StartSpin(struct Task *task)
IncrementDailySlotsUses();
- task->data[0] = 0;
- if (sSlotMachine->luckyFlags & LUCKY_BIAS_REELTIME)
+ task->tTimer = 0;
+ if (sSlotMachine->machineBias & BIAS_REELTIME)
{
BeginReelTime();
- sSlotMachine->state = SLOT_ACTION_START_RT_SPIN;
+ sSlotMachine->state = SLOTTASK_START_RT_SPIN;
}
else
{
CreateDigitalDisplayScene(DIG_DISPLAY_STOP_REEL);
- sSlotMachine->state = SLOT_ACTION_SET_LUCKY_SPINS;
+ sSlotMachine->state = SLOTTASK_RESET_BIAS_FAILURE;
}
- sSlotMachine->reelIncrement = 8;
+ sSlotMachine->reelSpeed = REEL_NORMAL_SPEED;
if (sSlotMachine->reelTimeSpinsLeft)
- sSlotMachine->reelIncrement = SlowReelSpeed();
+ sSlotMachine->reelSpeed = ReelTimeSpeed();
return FALSE;
}
-// SLOT_ACTION_START_RT_SPIN
-static bool8 SlotAction_StartReelTimeSpin(struct Task *task)
+// SLOTTASK_START_RT_SPIN
+static bool8 SlotTask_StartReelTimeSpin(struct Task *task)
{
if (IsReelTimeTaskDone())
{
CreateDigitalDisplayScene(DIG_DISPLAY_STOP_REEL);
- sSlotMachine->luckyFlags &= ~LUCKY_BIAS_REELTIME;
- sSlotMachine->state = SLOT_ACTION_SET_LUCKY_SPINS;
+ sSlotMachine->machineBias &= ~BIAS_REELTIME;
+ sSlotMachine->state = SLOTTASK_RESET_BIAS_FAILURE;
}
return FALSE;
}
-// SLOT_ACTION_SET_LUCKY_SPINS
-static bool8 SlotAction_SetLuckySpins(struct Task *task)
+// SLOTTASK_RESET_BIAS_FAILURE
+static bool8 SlotTask_ResetBiasFailure(struct Task *task)
{
- if (++task->data[0] >= 30)
+ if (++task->tTimer >= 30)
{
- SetLuckySpins();
- sSlotMachine->state = SLOT_ACTION_AWAIT_REEL_STOP;
+ ResetBiasFailure();
+ sSlotMachine->state = SLOTTASK_WAIT_REEL_STOP;
}
return FALSE;
}
-// SLOT_ACTION_AWAIT_REEL_STOP
-static bool8 SlotAction_AwaitReelStop(struct Task *task)
+// SLOTTASK_WAIT_REEL_STOP
+static bool8 SlotTask_WaitReelStop(struct Task *task)
{
if (JOY_NEW(A_BUTTON))
{
PlaySE(SE_CONTEST_PLACE);
- StopSlotReel(sSlotMachine->currReel);
- PressStopReelButton(sSlotMachine->currReel);
- sSlotMachine->state = SLOT_ACTION_AWAIT_ALL_REELS_STOP;
+ StopSlotReel(sSlotMachine->currentReel);
+ PressStopReelButton(sSlotMachine->currentReel);
+ sSlotMachine->state = SLOTTASK_WAIT_ALL_REELS_STOP;
}
return FALSE;
}
-// SLOT_ACTION_AWAIT_ALL_REELS_STOP
-static bool8 SlotAction_WaitForAllReelsToStop(struct Task *task)
+// SLOTTASK_WAIT_ALL_REELS_STOP
+static bool8 SlotTask_WaitAllReelsStop(struct Task *task)
{
- if (!IsSlotReelMoving(sSlotMachine->currReel))
+ if (!IsSlotReelMoving(sSlotMachine->currentReel))
{
- sSlotMachine->currReel++;
- sSlotMachine->state = SLOT_ACTION_AWAIT_REEL_STOP;
- if (sSlotMachine->currReel >= NUM_REELS)
+ sSlotMachine->currentReel++;
+ sSlotMachine->state = SLOTTASK_WAIT_REEL_STOP;
+ if (sSlotMachine->currentReel >= NUM_REELS)
{
- sSlotMachine->state = SLOT_ACTION_CHECK_MATCHES;
+ sSlotMachine->state = SLOTTASK_CHECK_MATCHES;
}
return TRUE;
}
return FALSE;
}
-// SLOT_ACTION_CHECK_MATCHES
-static bool8 SlotAction_CheckMatches(struct Task *task)
+// SLOTTASK_CHECK_MATCHES
+static bool8 SlotTask_CheckMatches(struct Task *task)
{
- sSlotMachine->luckyFlags &= (LUCKY_BIAS_777 | LUCKY_BIAS_MIXED_777);
+ sSlotMachine->machineBias &= (BIAS_STRAIGHT_7 | BIAS_MIXED_7);
CheckMatch();
if (sSlotMachine->reelTimeSpinsLeft)
{
@@ -1370,21 +1508,21 @@ static bool8 SlotAction_CheckMatches(struct Task *task)
sSlotMachine->reelTimeSpinsUsed++;
}
- if (sSlotMachine->matchedSymbols)
+ if (sSlotMachine->matches)
{
- sSlotMachine->state = SLOT_ACTION_WAIT_PAYOUT;
+ sSlotMachine->state = SLOTTASK_WAIT_PAYOUT;
AwardPayout();
FlashSlotMachineLights();
if ((sSlotMachine->netCoinLoss -= sSlotMachine->payout) < 0)
{
sSlotMachine->netCoinLoss = 0;
}
- if (sSlotMachine->matchedSymbols & ((1 << MATCHED_777_BLUE) | (1 << MATCHED_777_RED)))
+ if (sSlotMachine->matches & ((1 << MATCH_BLUE_7) | (1 << MATCH_RED_7)))
{
PlayFanfare(MUS_SLOTS_JACKPOT);
CreateDigitalDisplayScene(DIG_DISPLAY_BONUS_BIG);
}
- else if (sSlotMachine->matchedSymbols & (1 << MATCHED_777_MIXED))
+ else if (sSlotMachine->matches & (1 << MATCH_MIXED_7))
{
PlayFanfare(MUS_SLOTS_JACKPOT);
CreateDigitalDisplayScene(DIG_DISPLAY_BONUS_REG);
@@ -1394,212 +1532,212 @@ static bool8 SlotAction_CheckMatches(struct Task *task)
PlayFanfare(MUS_SLOTS_WIN);
CreateDigitalDisplayScene(DIG_DISPLAY_WIN);
}
- // if you matched 777...
- if (sSlotMachine->matchedSymbols & ((1 << MATCHED_777_MIXED) | (1 << MATCHED_777_BLUE) | (1 << MATCHED_777_RED)))
+
+ if (sSlotMachine->matches & ((1 << MATCH_MIXED_7) | (1 << MATCH_BLUE_7) | (1 << MATCH_RED_7)))
{
- sSlotMachine->luckyFlags &= ~(LUCKY_BIAS_777 | LUCKY_BIAS_MIXED_777);
- if (sSlotMachine->matchedSymbols & ((1 << MATCHED_777_BLUE) | (1 << MATCHED_777_RED)))
+ sSlotMachine->machineBias &= ~(BIAS_STRAIGHT_7 | BIAS_MIXED_7);
+ if (sSlotMachine->matches & ((1 << MATCH_BLUE_7) | (1 << MATCH_RED_7)))
{
+ // ReelTime ends if it was ongoing
sSlotMachine->reelTimeSpinsLeft = 0;
sSlotMachine->reelTimeSpinsUsed = 0;
sSlotMachine->luckyGame = FALSE;
- if (sSlotMachine->matchedSymbols & (1 << MATCHED_777_BLUE))
- // this may be an error, but if you get blue 777, the game becomes lucky
+ if (sSlotMachine->matches & (1 << MATCH_BLUE_7))
sSlotMachine->luckyGame = TRUE;
}
}
- if (sSlotMachine->matchedSymbols & (1 << MATCHED_POWER) && sSlotMachine->pikaPower < 16)
+ if (sSlotMachine->matches & (1 << MATCH_POWER) && sSlotMachine->pikaPowerBolts < 16)
{
- sSlotMachine->pikaPower++;
- AddPikaPowerBolt(sSlotMachine->pikaPower);
+ sSlotMachine->pikaPowerBolts++;
+ AddPikaPowerBolt(sSlotMachine->pikaPowerBolts);
}
}
else
{
CreateDigitalDisplayScene(DIG_DISPLAY_LOSE);
- sSlotMachine->state = SLOT_ACTION_NO_MATCHES;
+ sSlotMachine->state = SLOTTASK_NO_MATCHES;
if ((sSlotMachine->netCoinLoss += sSlotMachine->bet) > MAX_COINS)
sSlotMachine->netCoinLoss = MAX_COINS;
}
return FALSE;
}
-// SLOT_ACTION_WAIT_PAYOUT
-static bool8 SlotAction_WaitForPayoutToBeAwarded(struct Task *task)
+// SLOTTASK_WAIT_PAYOUT
+static bool8 SlotTask_WaitPayout(struct Task *task)
{
- if (IsFinalTask_RunAwardPayoutActions())
- sSlotMachine->state = SLOT_ACTION_END_PAYOUT;
+ if (IsFinalTask_Task_Payout())
+ sSlotMachine->state = SLOTTASK_END_PAYOUT;
return FALSE;
}
-// SLOT_ACTION_END_PAYOUT
-static bool8 SlotAction_EndPayout(struct Task *task)
+// SLOTTASK_END_PAYOUT
+static bool8 SlotTask_EndPayout(struct Task *task)
{
if (TryStopSlotMachineLights())
{
- sSlotMachine->state = SLOT_ACTION_RESET_BET_TILES;
+ sSlotMachine->state = SLOTTASK_RESET_BET_TILES;
- if (sSlotMachine->matchedSymbols & ((1 << MATCHED_777_RED) | (1 << MATCHED_777_BLUE)))
+ if (sSlotMachine->matches & ((1 << MATCH_RED_7) | (1 << MATCH_BLUE_7)))
IncrementGameStat(GAME_STAT_SLOT_JACKPOTS);
- if (sSlotMachine->matchedSymbols & (1 << MATCHED_REPLAY))
+ if (sSlotMachine->matches & (1 << MATCH_REPLAY))
{
- sSlotMachine->currReel = 0;
- sSlotMachine->state = SLOT_ACTION_START_SPIN;
+ sSlotMachine->currentReel = LEFT_REEL;
+ sSlotMachine->state = SLOTTASK_START_SPIN;
}
- if (sSlotMachine->matchedSymbols & (1 << MATCHED_POWER))
- sSlotMachine->state = SLOT_ACTION_MATCHED_POWER;
+ if (sSlotMachine->matches & (1 << MATCH_POWER))
+ sSlotMachine->state = SLOTTASK_MATCHED_POWER;
- if (sSlotMachine->reelTimeSpinsLeft && sSlotMachine->matchedSymbols & (1 << MATCHED_REPLAY))
+ if (sSlotMachine->reelTimeSpinsLeft && sSlotMachine->matches & (1 << MATCH_REPLAY))
{
CreateDigitalDisplayScene(DIG_DISPLAY_REEL_TIME);
- sSlotMachine->state = SLOT_ACTION_WAIT_RT_ANIM;
+ sSlotMachine->state = SLOTTASK_WAIT_RT_ANIM;
}
}
return FALSE;
}
-// SLOT_ACTION_MATCHED_POWER
-static bool8 SlotAction_MatchedPower(struct Task *task)
+// SLOTTASK_MATCHED_POWER
+static bool8 SlotTask_MatchedPower(struct Task *task)
{
if (!IsPikaPowerBoltAnimating())
{
- sSlotMachine->state = SLOT_ACTION_RESET_BET_TILES;
- if (sSlotMachine->matchedSymbols & (1 << MATCHED_REPLAY))
+ sSlotMachine->state = SLOTTASK_RESET_BET_TILES;
+ if (sSlotMachine->matches & (1 << MATCH_REPLAY))
{
- sSlotMachine->state = SLOT_ACTION_START_SPIN;
+ sSlotMachine->state = SLOTTASK_START_SPIN;
if (sSlotMachine->reelTimeSpinsLeft)
{
CreateDigitalDisplayScene(DIG_DISPLAY_REEL_TIME);
- sSlotMachine->state = SLOT_ACTION_WAIT_RT_ANIM;
+ sSlotMachine->state = SLOTTASK_WAIT_RT_ANIM;
}
}
}
return FALSE;
}
-// SLOT_ACTION_WAIT_RT_ANIM
-static bool8 SlotAction_WaitReelTimeAnim(struct Task *task)
+// SLOTTASK_WAIT_RT_ANIM
+static bool8 SlotTask_WaitReelTimeAnim(struct Task *task)
{
if (IsDigitalDisplayAnimFinished())
{
- sSlotMachine->state = SLOT_ACTION_RESET_BET_TILES;
- if (sSlotMachine->matchedSymbols & (1 << MATCHED_REPLAY))
+ sSlotMachine->state = SLOTTASK_RESET_BET_TILES;
+ if (sSlotMachine->matches & (1 << MATCH_REPLAY))
{
- sSlotMachine->state = SLOT_ACTION_START_SPIN;
+ sSlotMachine->state = SLOTTASK_START_SPIN;
}
}
return FALSE;
}
-// SLOT_ACTION_RESET_BET_TILES
-static bool8 SlotAction_ResetBetTiles(struct Task *task)
+// SLOTTASK_RESET_BET_TILES
+static bool8 SlotTask_ResetBetTiles(struct Task *task)
{
DarkenBetTiles(0);
DarkenBetTiles(1);
DarkenBetTiles(2);
- sSlotMachine->state = SLOT_ACTION_READY_NEW_SPIN;
+ sSlotMachine->state = SLOTTASK_READY_NEW_SPIN;
return FALSE;
}
-// SLOT_ACTION_NO_MATCHES
-static bool8 SlotAction_NoMatches(struct Task *task)
+// SLOTTASK_NO_MATCHES
+static bool8 SlotTask_NoMatches(struct Task *task)
{
- if (++task->data[1] > 64)
+ if (++task->tTimer2 > 64)
{
- task->data[1] = 0;
- sSlotMachine->state = SLOT_ACTION_RESET_BET_TILES;
+ task->tTimer2 = 0;
+ sSlotMachine->state = SLOTTASK_RESET_BET_TILES;
}
return FALSE;
}
-// SLOT_ACTION_ASK_QUIT
-static bool8 SlotAction_AskQuit(struct Task *task)
+// SLOTTASK_ASK_QUIT
+static bool8 SlotTask_AskQuit(struct Task *task)
{
DrawDialogueFrame(0, 0);
AddTextPrinterParameterized(0, FONT_NORMAL, gText_QuitTheGame, 0, 1, 0, 0);
CopyWindowToVram(0, COPYWIN_FULL);
CreateYesNoMenuParameterized(0x15, 7, 0x214, 0x180, 0xE, 0xF);
- sSlotMachine->state = SLOT_ACTION_HANDLE_QUIT_INPUT;
+ sSlotMachine->state = SLOTTASK_HANDLE_QUIT_INPUT;
return FALSE;
}
-// SLOT_ACTION_HANDLE_QUIT_INPUT
-static bool8 SlotAction_HandleQuitInput(struct Task *task)
+// SLOTTASK_HANDLE_QUIT_INPUT
+static bool8 SlotTask_HandleQuitInput(struct Task *task)
{
s8 input = Menu_ProcessInputNoWrapClearOnChoose();
- if (input == 0) // player chooses to quit
+ if (input == 0) // Chose to quit
{
ClearDialogWindowAndFrame(0, TRUE);
DarkenBetTiles(0);
DarkenBetTiles(1);
DarkenBetTiles(2);
sSlotMachine->coins += sSlotMachine->bet;
- sSlotMachine->state = SLOT_ACTION_END;
+ sSlotMachine->state = SLOTTASK_END;
}
- else if (input == 1 || input == -1) // player chooses not to quit
+ else if (input == 1 || input == -1) // Chose not to quit
{
ClearDialogWindowAndFrame(0, TRUE);
- sSlotMachine->state = SLOT_ACTION_BET_INPUT;
+ sSlotMachine->state = SLOTTASK_BET_INPUT;
}
return FALSE;
}
-// SLOT_ACTION_MSG_MAX_COINS
-static bool8 SlotAction_PrintMsg_9999Coins(struct Task *task)
+// SLOTTASK_MSG_MAX_COINS
+static bool8 SlotTask_PrintMsg_MaxCoins(struct Task *task)
{
DrawDialogueFrame(0, 0);
AddTextPrinterParameterized(0, FONT_NORMAL, gText_YouveGot9999Coins, 0, 1, 0, 0);
CopyWindowToVram(0, COPYWIN_FULL);
- sSlotMachine->state = SLOT_ACTION_WAIT_MSG_MAX_COINS;
+ sSlotMachine->state = SLOTTASK_WAIT_MSG_MAX_COINS;
return FALSE;
}
-// SLOT_ACTION_WAIT_MSG_MAX_COINS
-static bool8 SlotAction_WaitMsg_9999Coins(struct Task *task)
+// SLOTTASK_WAIT_MSG_MAX_COINS
+static bool8 SlotTask_WaitMsg_MaxCoins(struct Task *task)
{
if (JOY_NEW(A_BUTTON | B_BUTTON))
{
ClearDialogWindowAndFrame(0, TRUE);
- sSlotMachine->state = SLOT_ACTION_BET_INPUT;
+ sSlotMachine->state = SLOTTASK_BET_INPUT;
}
return FALSE;
}
-// SLOT_ACTION_MSG_NO_MORE_COINS
-static bool8 SlotAction_PrintMsg_NoMoreCoins(struct Task *task)
+// SLOTTASK_MSG_NO_MORE_COINS
+static bool8 SlotTask_PrintMsg_NoMoreCoins(struct Task *task)
{
DrawDialogueFrame(0, 0);
AddTextPrinterParameterized(0, FONT_NORMAL, gText_YouveRunOutOfCoins, 0, 1, 0, 0);
CopyWindowToVram(0, COPYWIN_FULL);
- sSlotMachine->state = SLOT_ACTION_WAIT_MSG_NO_MORE_COINS;
+ sSlotMachine->state = SLOTTASK_WAIT_MSG_NO_MORE_COINS;
return FALSE;
}
-// SLOT_ACTION_WAIT_MSG_NO_MORE_COINS
-static bool8 SlotAction_WaitMsg_NoMoreCoins(struct Task *task)
+// SLOTTASK_WAIT_MSG_NO_MORE_COINS
+static bool8 SlotTask_WaitMsg_NoMoreCoins(struct Task *task)
{
if (JOY_NEW(A_BUTTON | B_BUTTON))
{
ClearDialogWindowAndFrame(0, TRUE);
- sSlotMachine->state = SLOT_ACTION_END;
+ sSlotMachine->state = SLOTTASK_END;
}
return FALSE;
}
-// SLOT_ACTION_END
-static bool8 SlotAction_EndGame(struct Task *task)
+// SLOTTASK_END
+static bool8 SlotTask_EndGame(struct Task *task)
{
SetCoins(sSlotMachine->coins);
TryPutFindThatGamerOnAir(GetCoins());
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0));
- sSlotMachine->state++; // SLOT_ACTION_FREE
+ sSlotMachine->state++; // SLOTTASK_FREE
return FALSE;
}
-// SLOT_ACTION_FREE
-static bool8 SlotAction_FreeDataStructures(struct Task *task)
+// SLOTTASK_FREE
+static bool8 SlotTask_FreeDataStructures(struct Task *task)
{
if (!gPaletteFade.active)
{
@@ -1640,97 +1778,122 @@ static bool8 SlotAction_FreeDataStructures(struct Task *task)
return FALSE;
}
-static void DrawLuckyFlags(void)
+# undef tTimer
+# undef tTimer2
+
+// Determine the biases for this round. There can be at most two biases, one of
+// which would need to be a ReelTime bias.
+//
+// HOW IT WORKS:
+// If the machine is already biased toward 7's, keep this bias.
+//
+// Otherwise, there are up to three draws. You first draw to see if you'll get
+// to draw a Special bias. If so, then you draw for the Special bias (and can
+// still potentially miss).
+//
+// If you didn't get to draw a Special bias, missed a Special bias, or drew a
+// ReelTime bias, then you can still try to draw a Regular bias.
+static void DrawMachineBias(void)
{
- u8 attempts;
+ u8 whichBias;
if (sSlotMachine->reelTimeSpinsLeft == 0)
{
- if (!(sSlotMachine->luckyFlags & (LUCKY_BIAS_777 | LUCKY_BIAS_MIXED_777)))
+ if (!(sSlotMachine->machineBias & (BIAS_STRAIGHT_7 | BIAS_MIXED_7)))
{
- if (IsThisRoundLucky())
+ if (ShouldTrySpecialBias())
{
- attempts = AttemptsAtLuckyFlags_Top3();
- if (attempts != 3) // if you found a lucky number
+ whichBias = TrySelectBias_Special();
+ if (whichBias != ARRAY_COUNT(sBiasesSpecial)) // A bias was selected
{
- // attempts == 1: reelTime flag set
- sSlotMachine->luckyFlags |= sLuckyFlagSettings_Top3[attempts];
- if (attempts != 1)
- {
- return;
- }
+ sSlotMachine->machineBias |= sBiasesSpecial[whichBias];
+
+ // ReelTime was not selected; don't add other biases
+ if (whichBias != 1) return;
}
}
- // if it's not a lucky round or you got reel time, roll for the lower lucky flags
- attempts = AttemptsAtLuckyFlags_NotTop3();
- if (attempts != 5) // if you found a lucky number
- {
- sSlotMachine->luckyFlags |= sLuckyFlagSettings_NotTop3[attempts];
- }
+
+ whichBias = TrySelectBias_Regular();
+ if (whichBias != ARRAY_COUNT(sBiasesRegular)) // A bias was selected
+ sSlotMachine->machineBias |= sBiasesRegular[whichBias];
}
}
}
-static void SetLuckySpins(void)
+// Reset `didNotFailBias` to match `machineBias`.
+static void ResetBiasFailure(void)
{
- sSlotMachine->isLuckySpin = FALSE;
- if (sSlotMachine->luckyFlags)
- sSlotMachine->isLuckySpin = TRUE;
+ sSlotMachine->didNotFailBias = FALSE;
+ if (sSlotMachine->machineBias)
+ sSlotMachine->didNotFailBias = TRUE;
}
-static u8 GetBiasTag(u8 luckyFlags)
+// See sBiasSymbols for each bias's corresponding symbol.
+static u8 GetBiasSymbol(u8 machineBias)
{
u8 i;
for (i = 0; i < 8; i++)
{
- if (luckyFlags & 1)
- return sBiasTags[i];
- luckyFlags >>= 1;
+ if (machineBias & 1)
+ return sBiasSymbols[i];
+ machineBias >>= 1;
}
return 0;
}
-// you have way more luck betting 3 coins than anything lower
-static bool8 IsThisRoundLucky(void)
+// Decides whether you will be given the opportunity to draw for a Special bias.
+// Depends on your bet and the machine you're using.
+//
+// The probability of getting to draw a Special is miniscule if you don't bet 3
+// coins: barely 1% even on the luckiest machine.
+//
+// The odds increase to roughly ~5% if you bet 3 coins.
+static bool8 ShouldTrySpecialBias(void)
{
u8 rval = Random();
- if (sLuckyRoundProbabilities[sSlotMachine->machineId][sSlotMachine->bet - 1] > rval)
+ if (sSpecialDrawOdds[sSlotMachine->machineId][sSlotMachine->bet - 1] > rval)
return TRUE;
return FALSE;
}
-static u8 AttemptsAtLuckyFlags_Top3(void)
+// Draws for a Special bias. Note that even when you're given the opportunity to
+// draw a Special bias, you can still miss.
+//
+// On the luckiest machine, there's a 61% chance of drawing no Special bias. On
+// the unluckiest, a 73% chance.
+static u8 TrySelectBias_Special(void)
{
- s16 count;
+ s16 whichBias;
- for (count = 0; count < 3; count++)
+ for (whichBias = 0; whichBias < (int)ARRAY_COUNT(sBiasesSpecial); whichBias++)
{
s16 rval = Random() & 0xff;
- s16 value = sLuckyFlagProbabilities_Top3[count][sSlotMachine->machineId];
+ s16 value = sBiasProbabilities_Special[whichBias][sSlotMachine->machineId];
if (value > rval)
break;
}
- return count;
+ return whichBias;
}
-static u8 AttemptsAtLuckyFlags_NotTop3(void)
+static u8 TrySelectBias_Regular(void)
{
- s16 count;
+ s16 whichBias;
- for (count = 0; count < 5; count++)
+ for (whichBias = 0; whichBias < (int)ARRAY_COUNT(sBiasesRegular); whichBias++)
{
- s16 rval = Random() & 0xff; // random byte
- s16 value = sLuckyFlagProbabilities_NotTop3[count][sSlotMachine->machineId];
- // make first attempt easier if it's a lucky game
- if (count == 0 && sSlotMachine->luckyGame == TRUE)
+ s16 rval = Random() & 0xff;
+ s16 value = sBiasProbabilities_Regular[whichBias][sSlotMachine->machineId];
+
+ // Boost odds of BIAS_POWER if it's a lucky game.
+ if (whichBias == 0 && sSlotMachine->luckyGame == TRUE)
{
value += 10;
if (value > 0x100)
value = 0x100;
}
- // make last attempt harder if it's a lucky game
- else if (count == 4 && sSlotMachine->luckyGame == TRUE)
+ // Reduce odds of BIAS_REPLAY if it's a lucky game
+ else if (whichBias == 4 && sSlotMachine->luckyGame == TRUE)
{
value -= 10;
if (value < 0)
@@ -1739,45 +1902,60 @@ static u8 AttemptsAtLuckyFlags_NotTop3(void)
if (value > rval)
break;
}
- return count;
+ return whichBias;
}
-static u8 GetReelTimeProbability(u8 reelTimeDraw)
+// Return the probability of drawing the given number of ReelTime spins.
+//
+// This depends on whether it is a lucky game and the number of Power bolts you
+// have collected.
+static u8 GetReelTimeSpinProbability(u8 spins)
{
if (sSlotMachine->luckyGame == FALSE)
- return sReeltimeProbabilities_UnluckyGame[reelTimeDraw][sSlotMachine->pikaPower];
+ return sReelTimeProbabilities_NormalGame[spins][sSlotMachine->pikaPowerBolts];
else
- return sReelTimeProbabilities_LuckyGame[reelTimeDraw][sSlotMachine->pikaPower];
+ return sReelTimeProbabilities_LuckyGame[spins][sSlotMachine->pikaPowerBolts];
}
-static void GetReeltimeDraw(void)
+// The way this is computed skews the odds much more toward drawing a 0 than
+// intended. It initially checks whether you draw a 0 (using the intended
+// probability). It then tries to draw positive values, but if these draws all
+// miss, you'll still draw a 0.
+//
+// As a result, even when the power gauge is maxed out, you still have a ~30%
+// chance of drawing 0 spins. See sReelTimeProbabilities for more details.
+//
+// Drawing a random number via a cumulative pdf would have prevented this.
+static void GetReelTimeDraw(void)
{
u8 rval;
- s16 reelTimeDraw;
+ s16 spins;
sSlotMachine->reelTimeDraw = 0;
rval = Random();
- if (rval < GetReelTimeProbability(0))
+ if (rval < GetReelTimeSpinProbability(0))
return;
- for (reelTimeDraw = 5; reelTimeDraw > 0; reelTimeDraw--)
+ for (spins = 5; spins > 0; spins--)
{
rval = Random();
- if (rval < GetReelTimeProbability(reelTimeDraw))
+ if (rval < GetReelTimeSpinProbability(spins))
break;
}
- sSlotMachine->reelTimeDraw = reelTimeDraw;
+ sSlotMachine->reelTimeDraw = spins;
}
-static bool8 ShouldReelTimeMachineExplode(u16 i)
+// Returns true if the ReelTime machine should explode. Each time we check,
+// the odds of explosion increase.
+static bool8 ShouldReelTimeMachineExplode(u16 check)
{
u16 rval = Random() & 0xff;
- if (rval < sReelTimeExplodeProbability[i])
+ if (rval < sReelTimeExplodeProbability[check])
return TRUE;
else
return FALSE;
}
-static u16 SlowReelSpeed(void)
+static u16 ReelTimeSpeed(void)
{
u8 i = 0;
u8 rval;
@@ -1790,20 +1968,23 @@ static u16 SlowReelSpeed(void)
i = 2;
else if (sSlotMachine->netCoinLoss >= 150)
i = 1;
+
rval = Random() % 100;
- value = sReelIncrementTable[i][0];
+ value = sReelTimeSpeed_Probabilities[i][0];
if (rval < value)
- return 4;
+ return REEL_HALF_SPEED;
+
rval = Random() % 100;
- value = sReelIncrementTable[i][1] + sReelTimeBonusIncrementTable[sSlotMachine->reelTimeSpinsUsed];
+ value = sReelTimeSpeed_Probabilities[i][1] + sQuarterSpeed_ProbabilityBoost[sSlotMachine->reelTimeSpinsUsed];
if (rval < value)
- return 2;
- return 8;
+ return REEL_QUARTER_SPEED;
+
+ return REEL_NORMAL_SPEED;
}
static void CheckMatch(void)
{
- sSlotMachine->matchedSymbols = 0;
+ sSlotMachine->matches = 0;
CheckMatch_CenterRow();
if (sSlotMachine->bet > 1)
CheckMatch_TopAndBottom();
@@ -1813,140 +1994,146 @@ static void CheckMatch(void)
static void CheckMatch_CenterRow(void)
{
- u8 c1, c2, c3, match;
+ u8 sym1, sym2, sym3, match;
- c1 = GetTagAtRest(LEFT_REEL, 2);
- c2 = GetTagAtRest(MIDDLE_REEL, 2);
- c3 = GetTagAtRest(RIGHT_REEL, 2);
- match = GetMatchFromSymbols(c1, c2, c3);
- if (match != MATCHED_NONE)
+ sym1 = GetSymbolAtRest(LEFT_REEL, 2);
+ sym2 = GetSymbolAtRest(MIDDLE_REEL, 2);
+ sym3 = GetSymbolAtRest(RIGHT_REEL, 2);
+ match = GetMatchFromSymbols(sym1, sym2, sym3);
+ if (match != MATCH_NONE)
{
sSlotMachine->payout += sSlotPayouts[match];
- sSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
+ sSlotMachine->matches |= sSlotMatchFlags[match];
FlashMatchLine(MATCH_MIDDLE_ROW);
}
}
static void CheckMatch_TopAndBottom(void)
{
- u8 c1, c2, c3, match;
+ u8 sym1, sym2, sym3, match;
- c1 = GetTagAtRest(LEFT_REEL, 1);
- c2 = GetTagAtRest(MIDDLE_REEL, 1);
- c3 = GetTagAtRest(RIGHT_REEL, 1);
- match = GetMatchFromSymbols(c1, c2, c3);
- if (match != MATCHED_NONE)
+ sym1 = GetSymbolAtRest(LEFT_REEL, 1);
+ sym2 = GetSymbolAtRest(MIDDLE_REEL, 1);
+ sym3 = GetSymbolAtRest(RIGHT_REEL, 1);
+ match = GetMatchFromSymbols(sym1, sym2, sym3);
+ if (match != MATCH_NONE)
{
- if (match == MATCHED_1CHERRY)
- match = MATCHED_2CHERRY;
+ if (match == MATCH_CHERRY)
+ match = MATCH_TOPBOT_CHERRY;
sSlotMachine->payout += sSlotPayouts[match];
- sSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
+ sSlotMachine->matches |= sSlotMatchFlags[match];
FlashMatchLine(MATCH_TOP_ROW);
}
- c1 = GetTagAtRest(LEFT_REEL, 3);
- c2 = GetTagAtRest(MIDDLE_REEL, 3);
- c3 = GetTagAtRest(RIGHT_REEL, 3);
- match = GetMatchFromSymbols(c1, c2, c3);
- if (match != MATCHED_NONE)
+ sym1 = GetSymbolAtRest(LEFT_REEL, 3);
+ sym2 = GetSymbolAtRest(MIDDLE_REEL, 3);
+ sym3 = GetSymbolAtRest(RIGHT_REEL, 3);
+ match = GetMatchFromSymbols(sym1, sym2, sym3);
+ if (match != MATCH_NONE)
{
- if (match == MATCHED_1CHERRY)
- match = MATCHED_2CHERRY;
+ if (match == MATCH_CHERRY)
+ match = MATCH_TOPBOT_CHERRY;
sSlotMachine->payout += sSlotPayouts[match];
- sSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
+ sSlotMachine->matches |= sSlotMatchFlags[match];
FlashMatchLine(MATCH_BOTTOM_ROW);
}
}
static void CheckMatch_Diagonals(void)
{
- u8 c1, c2, c3, match;
+ u8 sym1, sym2, sym3, match;
- c1 = GetTagAtRest(LEFT_REEL, 1);
- c2 = GetTagAtRest(MIDDLE_REEL, 2);
- c3 = GetTagAtRest(RIGHT_REEL, 3);
- match = GetMatchFromSymbols(c1, c2, c3);
- if (match != MATCHED_NONE)
+ sym1 = GetSymbolAtRest(LEFT_REEL, 1);
+ sym2 = GetSymbolAtRest(MIDDLE_REEL, 2);
+ sym3 = GetSymbolAtRest(RIGHT_REEL, 3);
+ match = GetMatchFromSymbols(sym1, sym2, sym3);
+ if (match != MATCH_NONE)
{
- if (match != MATCHED_1CHERRY)
+ // Don't add payout for cherry, since it's already counted in
+ // CheckMatch_TopAndBottom().
+ if (match != MATCH_CHERRY)
{
sSlotMachine->payout += sSlotPayouts[match];
- sSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
+ sSlotMachine->matches |= sSlotMatchFlags[match];
}
FlashMatchLine(MATCH_NWSE_DIAG);
}
- c1 = GetTagAtRest(LEFT_REEL, 3);
- c2 = GetTagAtRest(MIDDLE_REEL, 2);
- c3 = GetTagAtRest(RIGHT_REEL, 1);
- match = GetMatchFromSymbols(c1, c2, c3);
- if (match != MATCHED_NONE)
+ sym1 = GetSymbolAtRest(LEFT_REEL, 3);
+ sym2 = GetSymbolAtRest(MIDDLE_REEL, 2);
+ sym3 = GetSymbolAtRest(RIGHT_REEL, 1);
+ match = GetMatchFromSymbols(sym1, sym2, sym3);
+ if (match != MATCH_NONE)
{
- if (match != MATCHED_1CHERRY)
+ // Don't add payout for cherry, since it's already counted in
+ // CheckMatch_TopAndBottom().
+ if (match != MATCH_CHERRY)
{
sSlotMachine->payout += sSlotPayouts[match];
- sSlotMachine->matchedSymbols |= sSlotMatchFlags[match];
+ sSlotMachine->matches |= sSlotMatchFlags[match];
}
FlashMatchLine(MATCH_NESW_DIAG);
}
}
-static u8 GetMatchFromSymbols(u8 c1, u8 c2, u8 c3)
+static u8 GetMatchFromSymbols(u8 sym1, u8 sym2, u8 sym3)
{
- if (c1 == c2 && c1 == c3)
- return sSymToMatch[c1];
- if (c1 == GFXTAG_7_RED && c2 == GFXTAG_7_RED && c3 == GFXTAG_7_BLUE)
- return MATCHED_777_MIXED;
- if (c1 == GFXTAG_7_BLUE && c2 == GFXTAG_7_BLUE && c3 == GFXTAG_7_RED)
- return MATCHED_777_MIXED;
- if (c1 == GFXTAG_CHERRY)
- return MATCHED_1CHERRY;
- return MATCHED_NONE;
+ if (sym1 == sym2 && sym1 == sym3)
+ return sSymbolToMatch[sym1];
+ if (sym1 == SYMBOL_7_RED && sym2 == SYMBOL_7_RED && sym3 == SYMBOL_7_BLUE)
+ return MATCH_MIXED_7;
+ if (sym1 == SYMBOL_7_BLUE && sym2 == SYMBOL_7_BLUE && sym3 == SYMBOL_7_RED)
+ return MATCH_MIXED_7;
+ if (sym1 == SYMBOL_CHERRY)
+ return MATCH_CHERRY;
+ return MATCH_NONE;
}
static void AwardPayout(void)
{
- RunAwardPayoutActions(CreateTask(RunAwardPayoutActions, 4));
+ Task_Payout(CreateTask(Task_Payout, 4));
}
-static bool8 IsFinalTask_RunAwardPayoutActions(void)
+static bool8 IsFinalTask_Task_Payout(void)
{
- if (FindTaskIdByFunc(RunAwardPayoutActions) == TAIL_SENTINEL)
+ if (FindTaskIdByFunc(Task_Payout) == TAIL_SENTINEL)
return TRUE;
else
return FALSE;
}
-static void RunAwardPayoutActions(u8 taskId)
+static void Task_Payout(u8 taskId)
{
- while (sAwardPayoutActions[gTasks[taskId].data[0]](&gTasks[taskId]))
+ while (sPayoutTasks[gTasks[taskId].data[0]](&gTasks[taskId]))
;
}
-static bool8 AwardPayoutAction0(struct Task *task)
+#define tState data[0]
+#define tTimer data[1]
+
+static bool8 PayoutTask_Init(struct Task *task)
{
if (IsMatchLineDoneFlashingBeforePayout())
{
- task->data[0]++;
+ task->tState++; // PAYOUT_TASK_GIVE_PAYOUT
if (sSlotMachine->payout == 0)
{
- task->data[0] = 2;
+ task->tState = PAYOUT_TASK_FREE;
return TRUE;
}
}
return FALSE;
}
-// task->data[1]: timer
-static bool8 AwardPayoutAction_GivePayoutToPlayer(struct Task *task)
+static bool8 PayoutTask_GivePayout(struct Task *task)
{
- if (!task->data[1]--)
+ if (!task->tTimer--)
{
if (IsFanfareTaskInactive())
PlaySE(SE_PIN);
sSlotMachine->payout--;
if (sSlotMachine->coins < MAX_COINS)
sSlotMachine->coins++;
- task->data[1] = 8;
+ task->tTimer = 8;
if (JOY_HELD(A_BUTTON))
- task->data[1] = 4;
+ task->tTimer = 4;
}
if (IsFanfareTaskInactive() && JOY_NEW(START_BUTTON))
{
@@ -1957,19 +2144,22 @@ static bool8 AwardPayoutAction_GivePayoutToPlayer(struct Task *task)
sSlotMachine->payout = 0;
}
if (sSlotMachine->payout == 0)
- task->data[0]++;
+ task->tState++; // PAYOUT_TASK_FREE
return FALSE;
}
-static bool8 AwardPayoutAction_FreeTask(struct Task *task)
+static bool8 PayoutTask_Free(struct Task *task)
{
if (TryStopMatchLinesFlashing())
- DestroyTask(FindTaskIdByFunc(RunAwardPayoutActions));
+ DestroyTask(FindTaskIdByFunc(Task_Payout));
return FALSE;
}
-// Get the tag at position `offset` below the top of the reel's tape. Note that
-// if `offset` is negative, it wraps around to the bottom of the tape.
+#undef tState
+#undef tTimer
+
+// Get the symbol at position `offset` below the top of the reel's tape. Note
+// that if `offset` is negative, it wraps around to the bottom of the tape.
// .-----------------.
// | [ ] | [ ] | [ ] | <- offset = 0
// /-----|-----|-----\
@@ -1980,40 +2170,42 @@ static bool8 AwardPayoutAction_FreeTask(struct Task *task)
// | ... | ... | ... |
// | [ ] | [ ] | [ ] | <- offset = 20
// .-----------------.
-static u8 GetTagAtRest(u8 reel, s16 offset)
+static u8 GetSymbolAtRest(u8 reel, s16 offset)
{
s16 pos = (sSlotMachine->reelPositions[reel] + offset) % SYMBOLS_PER_REEL;
if (pos < 0)
pos += SYMBOLS_PER_REEL;
- return sReelSymbolTileTags[reel][pos];
+ return sReelSymbols[reel][pos];
}
-// Calculates GetTagAtRest as if the reel were snapped downwards into place.
-static u8 GetTag(u8 reel, s16 offset)
+// Calculates GetSymbolAtRest as if the reel were snapped downwards into place.
+static u8 GetSymbol(u8 reel, s16 offset)
{
s16 inc = 0;
s16 pixelOffset = sSlotMachine->reelPixelOffsets[reel] % REEL_SYMBOL_HEIGHT;
if (pixelOffset != 0)
inc = -1;
- return GetTagAtRest(reel, offset + inc);
+ return GetSymbolAtRest(reel, offset + inc);
}
-static u8 GetNearbyReelTimeTag(s16 n)
+static u8 GetReelTimeSymbol(s16 offset)
{
- s16 newPosition = (sSlotMachine->reeltimePosition + n) % 6;
+ s16 newPosition = (sSlotMachine->reeltimePosition + offset) % REELTIME_SYMBOLS;
if (newPosition < 0)
- newPosition += 6;
- return sReelTimeTags[newPosition];
+ newPosition += REELTIME_SYMBOLS;
+ return sReelTimeSymbols[newPosition];
}
static void AdvanceSlotReel(u8 reelIndex, s16 value)
{
sSlotMachine->reelPixelOffsets[reelIndex] += value;
- sSlotMachine->reelPixelOffsets[reelIndex] %= 504;
+ sSlotMachine->reelPixelOffsets[reelIndex] %= REEL_HEIGHT;
sSlotMachine->reelPositions[reelIndex] = SYMBOLS_PER_REEL - sSlotMachine->reelPixelOffsets[reelIndex] / REEL_SYMBOL_HEIGHT;
}
-s16 AdvanceSlotReelToNextTag(u8 reelIndex, s16 value)
+// Advances the reel no further than the next symbol. Returns the remaining
+// pixels until the next symbol.
+s16 AdvanceSlotReelToNextSymbol(u8 reelIndex, s16 value)
{
s16 offset = sSlotMachine->reelPixelOffsets[reelIndex] % REEL_SYMBOL_HEIGHT;
if (offset != 0)
@@ -2029,48 +2221,53 @@ s16 AdvanceSlotReelToNextTag(u8 reelIndex, s16 value)
static void AdvanceReeltimeReel(s16 value)
{
sSlotMachine->reeltimePixelOffset += value;
- sSlotMachine->reeltimePixelOffset %= 120;
- sSlotMachine->reeltimePosition = 6 - sSlotMachine->reeltimePixelOffset / 20;
+ sSlotMachine->reeltimePixelOffset %= REELTIME_REEL_HEIGHT;
+ sSlotMachine->reeltimePosition = REELTIME_SYMBOLS - sSlotMachine->reeltimePixelOffset / REELTIME_SYMBOL_HEIGHT;
}
-s16 AdvanceReeltimeReelToNextTag(s16 value)
+// Advances the reel no further than the next symbol. Returns the remaining
+// pixels until the next symbol.
+s16 AdvanceReeltimeReelToNextSymbol(s16 value)
{
- s16 offset = sSlotMachine->reeltimePixelOffset % 20;
+ s16 offset = sSlotMachine->reeltimePixelOffset % REELTIME_SYMBOL_HEIGHT;
if (offset != 0)
{
if (offset < value)
value = offset;
AdvanceReeltimeReel(value);
- offset = sSlotMachine->reeltimePixelOffset % 20;
+ offset = sSlotMachine->reeltimePixelOffset % REELTIME_SYMBOL_HEIGHT;
}
return offset;
}
-#define tState data[0]
-#define tMoving data[14]
-#define tReelId data[15]
+#define tState data[0]
+#define tExtraTurns data[1]
+#define tShockMagnitude data[1]
+#define tTimer data[2]
+#define tMoving data[14]
+#define tReelId data[15]
-static void CreateSlotReelTasks(void)
+static void CreateReelTasks(void)
{
u8 i;
for (i = 0; i < NUM_REELS; i++)
{
- u8 taskId = CreateTask(Task_RunSlotReelActions, 2);
+ u8 taskId = CreateTask(Task_Reel, 2);
gTasks[taskId].tReelId = i;
sSlotMachine->slotReelTasks[i] = taskId;
- Task_RunSlotReelActions(taskId);
+ Task_Reel(taskId);
}
}
static void SpinSlotReel(u8 reelIndex)
{
- gTasks[sSlotMachine->slotReelTasks[reelIndex]].tState = REEL_ACTION_SPIN;
+ gTasks[sSlotMachine->slotReelTasks[reelIndex]].tState = REEL_TASK_SPIN;
gTasks[sSlotMachine->slotReelTasks[reelIndex]].tMoving = TRUE;
}
static void StopSlotReel(u8 reelIndex)
{
- gTasks[sSlotMachine->slotReelTasks[reelIndex]].tState = REEL_ACTION_STOP;
+ gTasks[sSlotMachine->slotReelTasks[reelIndex]].tState = REEL_TASK_DECIDE_STOP;
}
static bool8 IsSlotReelMoving(u8 reelIndex)
@@ -2078,43 +2275,52 @@ static bool8 IsSlotReelMoving(u8 reelIndex)
return gTasks[sSlotMachine->slotReelTasks[reelIndex]].tMoving;
}
-static void Task_RunSlotReelActions(u8 taskId)
+static void Task_Reel(u8 taskId)
{
- while (sSlotReelActions[gTasks[taskId].tState](&gTasks[taskId]))
+ while (sReelTasks[gTasks[taskId].tState](&gTasks[taskId]))
;
}
-// task->data[1] reel turns
-static bool8 SlotReelAction_StayStill(struct Task *task)
+static bool8 ReelTask_StayStill(struct Task *task)
{
return FALSE;
}
-static bool8 SlotReelAction_Spin(struct Task *task)
+static bool8 ReelTask_Spin(struct Task *task)
{
- AdvanceSlotReel(task->tReelId, sSlotMachine->reelIncrement);
+ AdvanceSlotReel(task->tReelId, sSlotMachine->reelSpeed);
return FALSE;
}
-// As in previous generations, the slot machine often doesn't stop exactly when you press stop
-static bool8 SlotReelAction_DecideWhereToStop(struct Task *task)
+// In ReelTime, the reel stops immediately. Otherwise, the game may manipulate
+// the results by stopping after at most 4 extra turns. The exact behavior
+// differs depending on whether the machine has a bias.
+//
+// If the machine has a bias, it will try to match the bias symbol in each reel.
+//
+// Otherwise, if the machine doesn't have a bias or it could not line up the
+// bias symbol in any of the previous reels, it will perform the NoBias stopping
+// routine, which manipulates the outcome so the player loses.
+static bool8 ReelTask_DecideStop(struct Task *task)
{
- task->tState++;
- // initialize data for that reel --> these will be changed if sBiasTags can be lined up
+ task->tState++; // REEL_TASK_STOP_MOVE
sSlotMachine->winnerRows[task->tReelId] = 0;
sSlotMachine->reelExtraTurns[task->tReelId] = 0;
- if (sSlotMachine->reelTimeSpinsLeft == 0 && (sSlotMachine->luckyFlags == 0 || !sSlotMachine->isLuckySpin || !sDecideReelTurns_BiasTag[task->tReelId]()))
+ if (sSlotMachine->reelTimeSpinsLeft == 0)
{
- sSlotMachine->isLuckySpin = FALSE;
- sDecideReelTurns_NoBiasTag[task->tReelId]();
+ if (sSlotMachine->machineBias == 0 || !sSlotMachine->didNotFailBias || !sDecideStop_Bias[task->tReelId]())
+ {
+ sSlotMachine->didNotFailBias = FALSE;
+ sDecideStop_NoBias[task->tReelId]();
+ }
}
- task->data[1] = sSlotMachine->reelExtraTurns[task->tReelId];
+ task->tExtraTurns = sSlotMachine->reelExtraTurns[task->tReelId];
return TRUE;
}
-// go to next tag and then do any additional turns
-static bool8 SlotReelAction_MoveToStop(struct Task *task)
+// Go to the next symbol, then add any extra turns.
+static bool8 ReelTask_MoveToStop(struct Task *task)
{
u16 reelStopShocks[ARRAY_COUNT(sReelStopShocks)];
s16 reelPixelPos;
@@ -2122,112 +2328,147 @@ static bool8 SlotReelAction_MoveToStop(struct Task *task)
memcpy(reelStopShocks, sReelStopShocks, sizeof(sReelStopShocks));
reelPixelPos = sSlotMachine->reelPixelOffsets[task->tReelId] % REEL_SYMBOL_HEIGHT;
if (reelPixelPos != 0)
- reelPixelPos = AdvanceSlotReelToNextTag(task->tReelId, sSlotMachine->reelIncrement);
+ reelPixelPos = AdvanceSlotReelToNextSymbol(task->tReelId, sSlotMachine->reelSpeed);
else if (sSlotMachine->reelExtraTurns[task->tReelId])
{
sSlotMachine->reelExtraTurns[task->tReelId]--;
- AdvanceSlotReel(task->tReelId, sSlotMachine->reelIncrement);
+ AdvanceSlotReel(task->tReelId, sSlotMachine->reelSpeed);
reelPixelPos = sSlotMachine->reelPixelOffsets[task->tReelId] % REEL_SYMBOL_HEIGHT;
}
+
if (reelPixelPos == 0 && sSlotMachine->reelExtraTurns[task->tReelId] == 0)
{
- task->tState++;
- task->data[1] = reelStopShocks[task->data[1]];
- task->data[2] = 0;
+ task->tState++; // REEL_TASK_STOP_SHAKE
+ task->tShockMagnitude = reelStopShocks[task->tExtraTurns];
+ task->tTimer = 0;
}
return FALSE;
}
-// make selected tag oscillate before it becomes still
-static bool8 SlotReelAction_OscillatingStop(struct Task *task)
+// The reel shakes a little at the selected symbol before settling.
+static bool8 ReelTask_ShakingStop(struct Task *task)
{
- sSlotMachine->reelPixelOffsetsWhileStopping[task->tReelId] = task->data[1];
- task->data[1] = -task->data[1];
- task->data[2]++;
- if ((task->data[2] & 0x3) == 0)
- task->data[1] >>= 1;
- if (task->data[1] == 0)
+ sSlotMachine->reelShockOffsets[task->tReelId] = task->tShockMagnitude;
+ task->tShockMagnitude = -task->tShockMagnitude;
+ task->tTimer++;
+ if ((task->tTimer & 0x3) == 0)
+ task->tShockMagnitude >>= 1;
+ if (task->tShockMagnitude == 0)
{
task->tState = 0;
task->tMoving = FALSE;
- sSlotMachine->reelPixelOffsetsWhileStopping[task->tReelId] = 0;
+ sSlotMachine->reelShockOffsets[task->tReelId] = 0;
}
return FALSE;
}
#undef tState
+#undef tExtraTurns
+#undef tShockMagnitude
+#undef tTimer
#undef tMoving
#undef tReelId
-static bool8 DecideReelTurns_BiasTag_Reel1(void)
+// We pass along two symbols to bias toward. If the machine is biased toward
+// 7's, we pass both the 7 symbols. Otherwise, we just pass the bias symbol
+// twice.
+static bool8 DecideStop_Bias_Reel1(void)
{
- u8 tag2 = GetBiasTag(sSlotMachine->luckyFlags);
- u8 tag1 = tag2;
- if (sSlotMachine->luckyFlags & (LUCKY_BIAS_777 | LUCKY_BIAS_MIXED_777))
+ u8 sym2 = GetBiasSymbol(sSlotMachine->machineBias);
+ u8 sym1 = sym2;
+ if (sSlotMachine->machineBias & (BIAS_STRAIGHT_7 | BIAS_MIXED_7))
{
- tag1 = GFXTAG_7_RED;
- tag2 = GFXTAG_7_BLUE;
+ sym1 = SYMBOL_7_RED;
+ sym2 = SYMBOL_7_BLUE;
}
- return sDecideReelTurns_BiasTag_Reel1_Bets[sSlotMachine->bet - 1](tag1, tag2);
+ return sDecideStop_Bias_Reel1_Bets[sSlotMachine->bet - 1](sym1, sym2);
}
-static bool8 AreTagsAtPosition_Reel1(s16 pos, u8 tag1, u8 tag2)
+// The biasSymbol for subsequent reels is determined based on which of the bias
+// symbols can be found in reel 1. This really only matters when the machine is
+// biased toward 7's. It will try to match a 7 of the same color as reel 1.
+static bool8 EitherSymbolAtPos_Reel1(s16 pos, u8 sym1, u8 sym2)
{
- u8 tag = GetTag(LEFT_REEL, pos);
- if (tag == tag1 || tag == tag2)
+ u8 sym = GetSymbol(LEFT_REEL, pos);
+ if (sym == sym1 || sym == sym2)
{
- sSlotMachine->biasTag = tag;
+ sSlotMachine->biasSymbol = sym;
return TRUE;
}
return FALSE;
}
-static bool8 AreCherriesOnScreen_Reel1(s16 offsetFromCenter)
+// Returns true if there are cherries on screen in reel 1 after the given number
+// of turns.
+static bool8 AreCherriesOnScreen_Reel1(s16 turns)
{
- if (GetTag(LEFT_REEL, 1 - offsetFromCenter) == GFXTAG_CHERRY
- || GetTag(LEFT_REEL, 2 - offsetFromCenter) == GFXTAG_CHERRY
- || GetTag(LEFT_REEL, 3 - offsetFromCenter) == GFXTAG_CHERRY)
+ if (GetSymbol(LEFT_REEL, 1 - turns) == SYMBOL_CHERRY
+ || GetSymbol(LEFT_REEL, 2 - turns) == SYMBOL_CHERRY
+ || GetSymbol(LEFT_REEL, 3 - turns) == SYMBOL_CHERRY)
return TRUE;
else
return FALSE;
}
-static bool8 IsBiasTowardsCherryOr7s(void)
+static bool8 BiasedTowardCherryOr7s(void)
{
- if (sSlotMachine->luckyFlags & (LUCKY_BIAS_777 | LUCKY_BIAS_MIXED_777 | LUCKY_BIAS_CHERRY))
+ if (sSlotMachine->machineBias & (BIAS_STRAIGHT_7 | BIAS_MIXED_7 | BIAS_CHERRY))
return TRUE;
else
return FALSE;
}
-static bool8 DecideReelTurns_BiasTag_Reel1_Bet1(u8 tag1, u8 tag2)
+// If a bias symbol appears in the center of reel 1 within the next 4 turns,
+// stop there. That symbol becomes the biasSymbol for the subsequent reels.
+static bool8 DecideStop_Bias_Reel1_Bet1(u8 sym1, u8 sym2)
{
s16 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- // if a lucky tag appears in the center row within 4 turns
- if (AreTagsAtPosition_Reel1(2 - i, tag1, tag2))
+ if (EitherSymbolAtPos_Reel1(2 - i, sym1, sym2))
{
sSlotMachine->winnerRows[LEFT_REEL] = 2;
- sSlotMachine->reelExtraTurns[0] = i;
+ sSlotMachine->reelExtraTurns[LEFT_REEL] = i;
return TRUE;
}
}
return FALSE;
}
-static bool8 DecideReelTurns_BiasTag_Reel1_Bet2or3(u8 tag1, u8 tag2)
+// There is slightly different behavior depending on the machine's bias.
+//
+// Bias toward cherry or 7s:
+// - Check if a cherry or 7 is currently on screen. If so, stop immediately.
+// - Roll up to 4 extra turns to see if a cherry or 7 enters the screen:
+// - If it enters after 1 turn, stop the reel when it gets the bottom row.
+// - Otherwise, if it enters before the 4th turn, stop the reel when it gets
+// to the middle row.
+// - If it enters on the 4th turn, stop here. It will be in the top row.
+//
+// Other bias:
+// - This is very similar, except the game is checking for the bias symbol
+// rather than cherries / 7s.
+//
+// However, the game adds an additional constraint: it will not stop if there
+// will be any cherries on screen. Presumably, this ensures that you will not
+// get any matches if you fail to line up the bias symbol in the remaining
+// reels.
+//
+// This is programmed in such a way that it excludes more options than
+// necessary. If there are cherries in the two positions below the bias symbol,
+// it will skip over this option, even if those cherries would not have ended
+// up on screen.
+static bool8 DecideStop_Bias_Reel1_Bet2or3(u8 sym1, u8 sym2)
{
s16 i;
- bool8 biased = IsBiasTowardsCherryOr7s();
- // if lucky numbers or no cherries are currently on screen in reel 1...
- if (biased || !AreCherriesOnScreen_Reel1(0))
+ bool8 cherry7Bias = BiasedTowardCherryOr7s();
+ if (cherry7Bias || !AreCherriesOnScreen_Reel1(0))
{
- for (i = 1; i < 4; i++)
+ // Check the current screen
+ for (i = 1; i <= 3; i++)
{
- // if a bias tag is currently on the screen
- if (AreTagsAtPosition_Reel1(i, tag1, tag2))
+ if (EitherSymbolAtPos_Reel1(i, sym1, sym2))
{
sSlotMachine->winnerRows[0] = i;
sSlotMachine->reelExtraTurns[0] = 0;
@@ -2235,30 +2476,27 @@ static bool8 DecideReelTurns_BiasTag_Reel1_Bet2or3(u8 tag1, u8 tag2)
}
}
}
- for (i = 1; i < 5; i++)
+
+ // Check the next 4 turns
+ for (i = 1; i <= MAX_EXTRA_TURNS; i++)
{
- bool8 biasedCopy = biased; // redundant
- // if biased or if in the next 4 turns there is a screen with no cherries...
- if (biasedCopy || !AreCherriesOnScreen_Reel1(i))
+ bool8 cherry7BiasCopy = cherry7Bias; // redundant
+ if (cherry7BiasCopy || !AreCherriesOnScreen_Reel1(i))
{
- //...and if a bias tag is in top row of that screen
- if (AreTagsAtPosition_Reel1(1 - i, tag1, tag2))
+ if (EitherSymbolAtPos_Reel1(1 - i, sym1, sym2))
{
- //...and if it only took 1 turn and the lucky tag could also be the bottom row of a screen with no cherries...
- if (i == 1 && (biasedCopy || !AreCherriesOnScreen_Reel1(3)))
+ if (i == 1 && (cherry7BiasCopy || !AreCherriesOnScreen_Reel1(3)))
{
sSlotMachine->winnerRows[0] = 3;
sSlotMachine->reelExtraTurns[0] = 3;
return TRUE;
}
- //...or if it isn't the last turn and the lucky tag could be in the center row of a screen with no cherries...
- if (i < 4 && (biasedCopy || !AreCherriesOnScreen_Reel1(i + 1)))
+ if (i <= 3 && (cherry7BiasCopy || !AreCherriesOnScreen_Reel1(i + 1)))
{
sSlotMachine->winnerRows[0] = 2;
sSlotMachine->reelExtraTurns[0] = i + 1;
return TRUE;
}
- //...else
sSlotMachine->winnerRows[0] = 1;
sSlotMachine->reelExtraTurns[0] = i;
return TRUE;
@@ -2268,22 +2506,23 @@ static bool8 DecideReelTurns_BiasTag_Reel1_Bet2or3(u8 tag1, u8 tag2)
return FALSE;
}
-static bool8 DecideReelTurns_BiasTag_Reel2(void)
+static bool8 DecideStop_Bias_Reel2(void)
{
- return sDecideReelTurns_BiasTag_Reel2_Bets[sSlotMachine->bet - 1]();
+ return sDecideStop_Bias_Reel2_Bets[sSlotMachine->bet - 1]();
}
-static bool8 DecideReelTurns_BiasTag_Reel2_Bet1or2(void)
+// Turn at most 4 extra turns to try to line up the bias symbol in the same row
+// as reel 1.
+static bool8 DecideStop_Bias_Reel2_Bet1or2(void)
{
s16 i;
- s16 biasTagLocation_Reel1 = sSlotMachine->winnerRows[0];
+ s16 reel1BiasRow = sSlotMachine->winnerRows[0];
- for (i = 0; i < 5; i++)
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- // if biasTag appears in the same row within 4 turns
- if (GetTag(MIDDLE_REEL, biasTagLocation_Reel1 - i) == sSlotMachine->biasTag)
+ if (GetSymbol(MIDDLE_REEL, reel1BiasRow - i) == sSlotMachine->biasSymbol)
{
- sSlotMachine->winnerRows[1] = biasTagLocation_Reel1;
+ sSlotMachine->winnerRows[1] = reel1BiasRow;
sSlotMachine->reelExtraTurns[1] = i;
return TRUE;
}
@@ -2291,19 +2530,55 @@ static bool8 DecideReelTurns_BiasTag_Reel2_Bet1or2(void)
return FALSE;
}
-static bool8 DecideReelTurns_BiasTag_Reel2_Bet3(void)
+// Checks whether it can match the bias symbol diagonally, and sometimes skews
+// toward this type of match rather than a match straight across.
+//
+// The behavior is different depending on where the bias symbol landed in
+// reel 1:
+//
+// Landed in middle row:
+// A diagonal match is impossible. Just try to match the bias symbol in the
+// middle row of reel 2 within 4 turns.
+//
+// Landed in top/bottom row:
+// - If it would take 2 or 3 turns to get the bias symbol into the same row as
+// reel 1, force a diagonal match by stopping it in the middle row instead.
+// - Check if the bias symbol is already in the same row as reel 1, or if it
+// takes 1 or 4 turns to get it there. If so, stop when it reaches that row.
+// - Otherwise, check if the bias symbol is already in the middle row of
+// reel 2. If so, stop here.
+//
+// So in how many more cases would betting 3 coins let you win compared to
+// betting 2?
+// Not many. Most of the time, the game would have matched the symbol in the
+// same row as reel 1 if you had bet 2 coins. Betting 3 effectively adds
+// coverage for only two additional cases:
+// - Bias symbol is in top row of reel 1 and bias symbol is currently in
+// middle row of reel 2.
+// - Bias symbol is in bottom row of reel 1 and bias symbol could get to the
+// middle row of reel 2 in 4 turns.
+//
+// Assuming this is the implementation Game Freak intended, the game effectively
+// turns straight matches into diagonal matches with 2/5 probability.
+// Presumably, this makes the player feel fortunate that they bet 3 coins rather
+// than 2, even though most times the game would have still forced a match with
+// only 2 coins.
+static bool8 DecideStop_Bias_Reel2_Bet3(void)
{
s16 i;
- // if biasTag appears in the same row within 4 turns...
- if (DecideReelTurns_BiasTag_Reel2_Bet1or2())
+ // If you can line up the bias symbol in the same row as reel 1 within 4
+ // turns
+ if (DecideStop_Bias_Reel2_Bet1or2())
{
- //...and if the biasTag is not in middle row of reel 1 and if biasTag appears in middle row of reel 2 in 2 or 3 turns...
+ // If bias symbol is not in the middle row of reel 1 and it takes either
+ // 2 or 3 turns to get it in the same row for reel 2
if (sSlotMachine->winnerRows[0] != 2 && sSlotMachine->reelExtraTurns[1] > 1 && sSlotMachine->reelExtraTurns[1] != 4)
{
- for (i = 0; i < 5; i++)
+ // Try turning this into a diagonal match by lining up the bias
+ // symbol in the middle row of reel 2 within 4 turns.
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- //...and if the bias tag will appear in the middle row within 4 turns
- if (GetTag(MIDDLE_REEL, 2 - i) == sSlotMachine->biasTag)
+ if (GetSymbol(MIDDLE_REEL, 2 - i) == sSlotMachine->biasSymbol)
{
sSlotMachine->winnerRows[1] = 2;
sSlotMachine->reelExtraTurns[1] = i;
@@ -2313,13 +2588,16 @@ static bool8 DecideReelTurns_BiasTag_Reel2_Bet3(void)
}
return TRUE;
}
- // else if the biasTag is not in middle row of reel 1...
+
+ // If you can't line up the bias symbol in the same row in 4 turns, and the
+ // bias symbol is not in the middle row of reel 1
if (sSlotMachine->winnerRows[0] != 2)
{
- for (i = 0; i < 5; i++)
+ // Try to match the bias symbol in middle row of reel 2 within 4 turns.
+ // Adds coverage for the two cases mentioned above.
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- //...and if the biasTag will appear in the center row of reel 2 within 4 turns
- if (GetTag(MIDDLE_REEL, 2 - i) == sSlotMachine->biasTag)
+ if (GetSymbol(MIDDLE_REEL, 2 - i) == sSlotMachine->biasSymbol)
{
sSlotMachine->winnerRows[1] = 2;
sSlotMachine->reelExtraTurns[1] = i;
@@ -2330,31 +2608,34 @@ static bool8 DecideReelTurns_BiasTag_Reel2_Bet3(void)
return FALSE;
}
-static bool8 DecideReelTurns_BiasTag_Reel3(void)
+// If the machine is biased toward mixed 7's, swap the color of the bias symbol
+// from red 7 to blue 7, or vice versa.
+static bool8 DecideStop_Bias_Reel3(void)
{
- u8 biasTag = sSlotMachine->biasTag;
- if (sSlotMachine->luckyFlags & LUCKY_BIAS_MIXED_777)
+ u8 biasSymbol = sSlotMachine->biasSymbol;
+ if (sSlotMachine->machineBias & BIAS_MIXED_7)
{
- biasTag = GFXTAG_7_RED;
- if (sSlotMachine->biasTag == GFXTAG_7_RED)
+ biasSymbol = SYMBOL_7_RED;
+ if (sSlotMachine->biasSymbol == SYMBOL_7_RED)
{
- biasTag = GFXTAG_7_BLUE;
+ biasSymbol = SYMBOL_7_BLUE;
}
}
- return sDecideReelTurns_BiasTag_Reel3_Bets[sSlotMachine->bet - 1](biasTag);
+ return sDecideStop_Bias_Reel3_Bets[sSlotMachine->bet - 1](biasSymbol);
}
-static bool8 DecideReelTurns_BiasTag_Reel3_Bet1or2(u8 biasTag)
+// Turn at most 4 extra turns to try to line up the bias symbol in the same
+// row as reel 2.
+static bool8 DecideStop_Bias_Reel3_Bet1or2(u8 biasSymbol)
{
s16 i;
- s16 biasTagLocation_Reel2 = sSlotMachine->winnerRows[1];
+ s16 reel2BiasRow = sSlotMachine->winnerRows[1];
- for (i = 0; i < 5; i++)
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- // if the biasTag appears in the same row as in reel 2 within 4 turns
- if (GetTag(RIGHT_REEL, biasTagLocation_Reel2 - i) == biasTag)
+ if (GetSymbol(RIGHT_REEL, reel2BiasRow - i) == biasSymbol)
{
- sSlotMachine->winnerRows[2] = biasTagLocation_Reel2;
+ sSlotMachine->winnerRows[2] = reel2BiasRow;
sSlotMachine->reelExtraTurns[2] = i;
return TRUE;
}
@@ -2362,35 +2643,40 @@ static bool8 DecideReelTurns_BiasTag_Reel3_Bet1or2(u8 biasTag)
return FALSE;
}
-static bool8 DecideReelTurns_BiasTag_Reel3_Bet3(u8 biasTag)
+// Try to complete a match in reel 3 by lining up a bias symbol with the bias
+// symbols from the first two reels.
+static bool8 DecideStop_Bias_Reel3_Bet3(u8 biasSymbol)
{
s16 i;
- s16 biasTagFinalPos;
- // if the final position of the biasTag matches in reel 1 and reel 2...
+ s16 biasRow;
+
+ // First two bias symbols in the same row. Try to line up bias symbol in
+ // same the row here too
if (sSlotMachine->winnerRows[0] == sSlotMachine->winnerRows[1])
- //...then try to line it up in reel 3
- return DecideReelTurns_BiasTag_Reel3_Bet1or2(biasTag);
- // else place it in the row opposite reel 1's
+ return DecideStop_Bias_Reel3_Bet1or2(biasSymbol);
+
+ // Otherwise, try to line up the bias symbol diagonally
if (sSlotMachine->winnerRows[0] == 1)
- biasTagFinalPos = 3;
+ biasRow = 3;
else
- biasTagFinalPos = 1;
- for (i = 0; i < 5; i++)
+ biasRow = 1;
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- // if the biasTag lands in that position within 4 turns
- if (GetTag(RIGHT_REEL, biasTagFinalPos - i) == biasTag)
+ if (GetSymbol(RIGHT_REEL, biasRow - i) == biasSymbol)
{
sSlotMachine->reelExtraTurns[2] = i;
- sSlotMachine->winnerRows[2] = biasTagFinalPos;
+ sSlotMachine->winnerRows[2] = biasRow;
return TRUE;
}
}
return FALSE;
}
-// Advance until there are no cherries on screen in reel 1
-
-static void DecideReelTurns_NoBiasTag_Reel1(void)
+// Advance as many turns as needed until there are no cherries on screen in
+// reel 1, as cherries would cause a match.
+//
+// Based on the distribution of reel 1, this will add at most 3 extra turns.
+static void DecideStop_NoBias_Reel1(void)
{
s16 i = 0;
@@ -2399,41 +2685,60 @@ static void DecideReelTurns_NoBiasTag_Reel1(void)
sSlotMachine->reelExtraTurns[0] = i;
}
-static bool8 IsBiasTag777_SwitchColor(u8 *biasTagPtr)
+// If the bias symbol is one of the 7's, switch to the opposite color and return
+// true. Otherwise, return false.
+static bool8 IfSymbol7_SwitchColor(u8 *symbol)
{
- if (*biasTagPtr == GFXTAG_7_RED)
+ if (*symbol == SYMBOL_7_RED)
{
- *biasTagPtr = GFXTAG_7_BLUE;
+ *symbol = SYMBOL_7_BLUE;
return TRUE;
}
- if (*biasTagPtr == GFXTAG_7_BLUE)
+ if (*symbol == SYMBOL_7_BLUE)
{
- *biasTagPtr = GFXTAG_7_RED;
+ *symbol = SYMBOL_7_RED;
return TRUE;
}
return FALSE;
}
-static void DecideReelTurns_NoBiasTag_Reel2(void)
+// If the machine doesn't have a bias, the reel stops immediately.
+//
+// Otherwise, the machine tries to taunt the player if it is biased toward
+// straight 7's. This would only happen if the player did not stop near the
+// correct-color 7, so the machine couldn't force a match.
+//
+// Instead, the machine now tries to line up the opposite-color 7, which is not
+// a valid match.
+static void DecideStop_NoBias_Reel2(void)
{
- sDecideReelTurns_NoBiasTag_Reel2_Bets[sSlotMachine->bet - 1]();
+ sDecideStop_NoBias_Reel2_Bets[sSlotMachine->bet - 1]();
}
-// only does stuff if the biasTag is one of the 7's, plus other conditions
-static void DecideReelTurns_NoBiasTag_Reel2_Bet1(void)
+// If the machine has no bias, stop immediately.
+//
+// Otherwise, the machine manipulates the results if all the following
+// conditions are met:
+// If
+// - The machine is biased toward straight 7's
+// - The machine managed to match a 7 in the middle of reel 1
+// - The machine could not line up a 7 of the same color in reel 2
+// Then
+// The machine will try to line up a 7 of the opposite color in reel 2
+static void DecideStop_NoBias_Reel2_Bet1(void)
{
- if (sSlotMachine->winnerRows[0] != 0 && sSlotMachine->luckyFlags & LUCKY_BIAS_777)
+ if (sSlotMachine->winnerRows[0] != 0 && sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{
- u8 biasTag = GetTag(LEFT_REEL, 2 - sSlotMachine->reelExtraTurns[0]);
- //...and if biasTag is one of the 7's...
- if (IsBiasTag777_SwitchColor(&biasTag))
- //...swap color of biasTag...
+ // Note here and in other NoBias functions, reelExtraTurns is 0 if it
+ // corresponds to a previous reel. That reel has already stopped and any
+ // extra turns were applied.
+ u8 reel1MiddleSym = GetSymbol(LEFT_REEL, 2 - sSlotMachine->reelExtraTurns[0]);
+ if (IfSymbol7_SwitchColor(&reel1MiddleSym))
{
s16 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- //...and if the biasTag appears within 4 turns
- if (biasTag == GetTag(MIDDLE_REEL, 2 - i))
+ if (reel1MiddleSym == GetSymbol(MIDDLE_REEL, 2 - i))
{
sSlotMachine->winnerRows[1] = 2;
sSlotMachine->reelExtraTurns[1] = i;
@@ -2444,20 +2749,27 @@ static void DecideReelTurns_NoBiasTag_Reel2_Bet1(void)
}
}
-static void DecideReelTurns_NoBiasTag_Reel2_Bet2(void)
+// If the machine has no bias, stop immediately.
+//
+// Otherwise, the machine manipulates the results if all the following
+// conditions are met:
+// If
+// - The machine is biased toward straight 7's
+// - The machine managed to match a 7 anywhere in reel 1
+// - The machine could not line up a 7 of the same color in reel 2
+// Then
+// The machine will try to line up a 7 of the opposite color in reel 2
+static void DecideStop_NoBias_Reel2_Bet2(void)
{
- if (sSlotMachine->winnerRows[0] != 0 && sSlotMachine->luckyFlags & LUCKY_BIAS_777)
+ if (sSlotMachine->winnerRows[0] != 0 && sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{
- u8 biasTag = GetTag(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
- //...and if biasTag is one of the 7's...
- if (IsBiasTag777_SwitchColor(&biasTag))
- //...swap color of biasTag...
+ u8 reel1BiasSym = GetSymbol(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
+ if (IfSymbol7_SwitchColor(&reel1BiasSym))
{
s16 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- //...and if the biasTag appears in same row in reel 2 within 4 turns
- if (biasTag == GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[0] - i))
+ if (reel1BiasSym == GetSymbol(MIDDLE_REEL, sSlotMachine->winnerRows[0] - i))
{
sSlotMachine->winnerRows[1] = sSlotMachine->winnerRows[0];
sSlotMachine->reelExtraTurns[1] = i;
@@ -2468,146 +2780,225 @@ static void DecideReelTurns_NoBiasTag_Reel2_Bet2(void)
}
}
-static void DecideReelTurns_NoBiasTag_Reel2_Bet3(void)
+// If the machine has no bias, stop immediately.
+//
+// Otherwise, the machine manipulates the results if all the following
+// conditions are met:
+// If
+// - The machine is biased toward straight 7's
+// - The machine managed to match a 7 anywhere in reel 1
+// - The machine could not line up a 7 of the same color in reel 2
+// Then
+// The machine will try to line up a 7 of the opposite color in reel 2
+//
+// The way it tries to line up an opposite-color 7 differs depending on where
+// the 7 is in reel 1:
+//
+// Middle row:
+// Try to line up an opposite-color 7 in the middle of reel 2 within 4 turns.
+//
+// Top row:
+// - First check for an opposite-color 7 in the top and middle rows of the
+// current screen. If found, stop immediately.
+// - Otherwise, check if an opposite-color 7 will enter the top row within 4
+// turns.
+// - If one enters in 1 or 2 turns, stop the reel when it gets to the middle
+// row.
+// - If one enters in 3 or 4 turns, stop the reel when it gets to the top
+// row.
+//
+// Bottom row:
+// - First check for an opposite-color 7 in the middle and bottom rows of the
+// current screen. If found, stop immediately.
+// - Otherwise, check if an opposite-color 7 will enter the bottom row within 4
+// turns.
+// - If one enters in 1 or 2 turns, stop the reel when it gets to the bottom
+// row.
+// - If one enters in 3 or 4 turns, stop the reel when it gets to the middle
+// row.
+//
+// BUG: This procedure misses an opportunity to line up an opposite-color 7 in
+// one scenario, when:
+// - There is a 7 in the bottom row of reel 1
+// - And, you can get an opposite-color 7 in the middle row of reel 2 in 4
+// turns
+static void DecideStop_NoBias_Reel2_Bet3(void)
{
s16 i;
s16 j;
- // if reel 1 has a biasTag and bit 7 is set in luckyFlags...
- if (sSlotMachine->winnerRows[0] != 0 && sSlotMachine->luckyFlags & LUCKY_BIAS_777)
+ u8 reel1BiasSym;
+
+ if (sSlotMachine->winnerRows[0] != 0 && sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{
- //...and if biasTag appeared in the center row of reel 1
+ // Lined up 7 in middle of reel 1
if (sSlotMachine->winnerRows[0] == 2)
{
- DecideReelTurns_NoBiasTag_Reel2_Bet2();
+ DecideStop_NoBias_Reel2_Bet2();
+ return;
}
- else
+
+ reel1BiasSym = GetSymbol(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
+ if (IfSymbol7_SwitchColor(&reel1BiasSym))
{
- u8 biasTag = GetTag(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
- //...and if biasTag is one of the 7's...
- if (IsBiasTag777_SwitchColor(&biasTag))
- //...swap the color of the 7...
+ // Check current screen to see if there is already an opposite-color
+ // 7 lined up for a match.
+ j = 2;
+ if (sSlotMachine->winnerRows[0] == 3)
+ j = 3;
+ for (i = 0; i < 2; i++, j--)
{
- j = 2;
- if (sSlotMachine->winnerRows[0] == 3)
- j = 3;
- for (i = 0; i < 2; i++, j--)
+ if (reel1BiasSym == GetSymbol(MIDDLE_REEL, j))
{
- if (biasTag == GetTag(MIDDLE_REEL, j))
- {
- sSlotMachine->winnerRows[1] = j;
- sSlotMachine->reelExtraTurns[1] = 0;
- return;
- }
+ sSlotMachine->winnerRows[1] = j;
+ sSlotMachine->reelExtraTurns[1] = 0;
+ return;
}
- for (j = 1; j < 5; j++)
+ }
+
+ // Check if opposite-color 7 will appear in same row as reel 1 in
+ // over the next 4 turns
+ for (j = 1; j <= MAX_EXTRA_TURNS; j++)
+ {
+ if (reel1BiasSym == GetSymbol(MIDDLE_REEL, sSlotMachine->winnerRows[0] - j))
{
- if (biasTag == GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[0] - j))
+ // If 7 appeared in top row of reel 1
+ if (sSlotMachine->winnerRows[0] == 1)
{
- if (sSlotMachine->winnerRows[0] == 1)
+ if (j <= 2)
{
- if (j < 3)
- {
- sSlotMachine->winnerRows[1] = 2;
- sSlotMachine->reelExtraTurns[1] = j + 1;
- }
- else
- {
- sSlotMachine->winnerRows[1] = 1;
- sSlotMachine->reelExtraTurns[1] = j;
- }
+ sSlotMachine->winnerRows[1] = 2;
+ sSlotMachine->reelExtraTurns[1] = j + 1;
}
else
{
- if (j < 3)
- {
- sSlotMachine->winnerRows[1] = 3;
- sSlotMachine->reelExtraTurns[1] = j;
- }
- else
- {
- sSlotMachine->winnerRows[1] = 2;
- sSlotMachine->reelExtraTurns[1] = j - 1;
- }
+ sSlotMachine->winnerRows[1] = 1;
+ sSlotMachine->reelExtraTurns[1] = j;
}
- return;
}
+ // If 7 appeared in bottom row of reel 1
+ else
+ {
+ if (j <= 2)
+ {
+ sSlotMachine->winnerRows[1] = 3;
+ sSlotMachine->reelExtraTurns[1] = j;
+ }
+ else
+ {
+ sSlotMachine->winnerRows[1] = 2;
+ sSlotMachine->reelExtraTurns[1] = j - 1;
+ }
+ }
+ return;
}
}
}
}
}
-static bool8 AreTagsMixed77(u8 tag1, u8 tag2)
+// Returns true if the reel 1 and reel 2 symbols are opposite-color 7's.
+//
+// Note that if true, this does not constitue a MATCH_MIXED_7, as the first two
+// reels are not the same color.
+static bool8 MismatchedSyms_77(u8 sym1, u8 sym2)
{
- if ((tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_BLUE) || (tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_RED))
+ if ((sym1 == SYMBOL_7_RED && sym2 == SYMBOL_7_BLUE) || (sym1 == SYMBOL_7_BLUE && sym2 == SYMBOL_7_RED))
return TRUE;
else
return FALSE;
}
-static bool8 AreTagsMixed777(u8 tag1, u8 tag2, u8 tag3)
+// Returns true if the reel 1, reel 2 and reel 3 symbolss form a 7 mismatch,
+// i.e. {7R, 7B, 7R} or {7B, 7R, 7B}.
+static bool8 MismatchedSyms_777(u8 sym1, u8 sym2, u8 sym3)
{
- if ((tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED) ||
- (tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE))
+ if ((sym1 == SYMBOL_7_RED && sym2 == SYMBOL_7_BLUE && sym3 == SYMBOL_7_RED) ||
+ (sym1 == SYMBOL_7_BLUE && sym2 == SYMBOL_7_RED && sym3 == SYMBOL_7_BLUE))
return TRUE;
else
return FALSE;
}
-static bool8 TagsDontMatchOrHaveAny7s(u8 tag1, u8 tag2, u8 tag3)
+// Returns false if either:
+// - The symbols form a match (including MATCH_MIXED_7)
+// - Or, the symbols form a 7 mismatch (i.e., {7R, 7B, 7R} or {7B, 7R, 7B})
+//
+// Note, this does not account for cherry matches.
+static bool8 NeitherMatchNor7Mismatch(u8 sym1, u8 sym2, u8 sym3)
{
- if ((tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED) ||
- (tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE) ||
- (tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE) ||
- (tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED) ||
- (tag1 == tag2 && tag1 == tag3))
+ if ((sym1 == SYMBOL_7_RED && sym2 == SYMBOL_7_BLUE && sym3 == SYMBOL_7_RED)
+ || (sym1 == SYMBOL_7_BLUE && sym2 == SYMBOL_7_RED && sym3 == SYMBOL_7_BLUE)
+ || (sym1 == SYMBOL_7_RED && sym2 == SYMBOL_7_RED && sym3 == SYMBOL_7_BLUE)
+ || (sym1 == SYMBOL_7_BLUE && sym2 == SYMBOL_7_BLUE && sym3 == SYMBOL_7_RED)
+ || (sym1 == sym2 && sym1 == sym3))
{
return FALSE;
}
return TRUE;
}
-static void DecideReelTurns_NoBiasTag_Reel3(void)
+// Spin until there's no match, or try to taunt the player with a 7 mismatch if
+// they failed the straight 7 bias.
+static void DecideStop_NoBias_Reel3(void)
{
- sDecideReelTurns_NoBiasTag_Reel3_Bets[sSlotMachine->bet - 1]();
+ sDecideStop_NoBias_Reel3_Bets[sSlotMachine->bet - 1]();
}
-static void DecideReelTurns_NoBiasTag_Reel3_Bet1(void)
+// Spin until there is no match in reel 3. Additionally, if the player failed a
+// straight 7 bias, try to taunt them with a 7 mismatch.
+//
+// The way this plays out depends on the first two matched symbols.
+//
+// If first two symbols are the same:
+// Spin until you get a symbol that won't complete a match.
+//
+// Otherwise, if the first two symbols are opposite-color 7's:
+// - If the machine is biased toward straight 7's, then the player must have
+// failed with this bias. The machine tries to taunt the player by turning
+// up to 4 turns to complete a 7 mismatch (i.e., {7R, 7B, 7R} or
+// {7B, 7R, 7B}).
+// - Otherwise, spin until you get a symbol that won't complete a match.
+static void DecideStop_NoBias_Reel3_Bet1(void)
{
s16 i = 0;
- u8 tag1 = GetTag(LEFT_REEL, 2 - sSlotMachine->reelExtraTurns[0]);
- u8 tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
- // if tags match in first 2 reels...
- if (tag1 == tag2)
+ u8 sym1 = GetSymbol(LEFT_REEL, 2 - sSlotMachine->reelExtraTurns[0]);
+ u8 sym2 = GetSymbol(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
+
+ // If first two symbols match, spin until you get a non-matching symbol
+ if (sym1 == sym2)
{
- //...spin until you get non-matching tag
- while (1)
+ while (TRUE)
{
- u8 tag3;
- if (!(tag1 == (tag3 = GetTag(RIGHT_REEL, 2 - i)) || (tag1 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE) || (tag1 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED)))
+ u8 sym3;
+ if (!((sym1 == (sym3 = GetSymbol(RIGHT_REEL, 2 - i)))
+ || (sym1 == SYMBOL_7_RED && sym3 == SYMBOL_7_BLUE)
+ || (sym1 == SYMBOL_7_BLUE && sym3 == SYMBOL_7_RED)))
break;
i++;
}
}
- else if (AreTagsMixed77(tag1, tag2))
+ // First two symbols are opposite-color 7's
+ else if (MismatchedSyms_77(sym1, sym2))
{
- if (sSlotMachine->luckyFlags & LUCKY_BIAS_777)
+ // If biased toward straight 7's, try to complete the 7 mismatch in 4
+ // turns
+ if (sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{
- //...see if you can match with reel 1 within 4 turns
- for (i = 0; i < 5; i++)
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- if (tag1 == GetTag(RIGHT_REEL, 2 - i))
+ if (sym1 == GetSymbol(RIGHT_REEL, 2 - i))
{
sSlotMachine->reelExtraTurns[2] = i;
return;
}
}
}
- // turn until you aren't matching with reel 1
+
+ // Otherwise, just spin until you get a non-matching symbol
i = 0;
- while (1)
+ while (TRUE)
{
- if (tag1 != GetTag(RIGHT_REEL, 2 - i))
+ if (sym1 != GetSymbol(RIGHT_REEL, 2 - i))
break;
i++;
}
@@ -2615,25 +3006,49 @@ static void DecideReelTurns_NoBiasTag_Reel3_Bet1(void)
sSlotMachine->reelExtraTurns[2] = i;
}
-static void DecideReelTurns_NoBiasTag_Reel3_Bet2(void)
+// Spin until there is no match in reel 3. Additionally, if the player failed a
+// straight 7 bias, try to taunt them with a 7 mismatch.
+//
+// There are up to two stages, depending on the first two matched symbols:
+//
+// 1. [Optional] If first two symbols are opposite-color 7's in the same row and
+// the machine is biased toward straight 7's:
+// Check if a 7 with the same color as reel 1 appears in the same row
+// within 4 turns. If so, initially advance to that position.
+//
+// 2. Check rows. Keep advancing the reel a turn at a time as long as:
+// - There is a match in any row
+// - Or, there is a 7 mismatch in any row and the machine isn't biased
+// toward straight 7's
+//
+// Note, stage 2 is not limited to 4 turns. The reel keeps spinning until you
+// lose.
+static void DecideStop_NoBias_Reel3_Bet2(void)
{
s16 extraTurns = 0;
s16 i;
- u8 tag1;
- u8 tag2;
- u8 tag3;
- if (sSlotMachine->winnerRows[1] != 0 && sSlotMachine->winnerRows[0] == sSlotMachine->winnerRows[1] && sSlotMachine->luckyFlags & LUCKY_BIAS_777)
+ u8 sym1;
+ u8 sym2;
+ u8 sym3;
+
+ // Effectively, if you lined up two 7's in the same row
+ if (sSlotMachine->winnerRows[1] != 0 &&
+ sSlotMachine->winnerRows[0] == sSlotMachine->winnerRows[1] &&
+ sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{
- tag1 = GetTag(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
- tag2 = GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[1] - sSlotMachine->reelExtraTurns[1]);
- //...and if tags are mixed 7s...
- if (AreTagsMixed77(tag1, tag2))
+ sym1 = GetSymbol(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
+ sym2 = GetSymbol(MIDDLE_REEL, sSlotMachine->winnerRows[1] - sSlotMachine->reelExtraTurns[1]);
+
+ // If the first two 7's are opposite colors, see if you can line up a 7
+ // mismatch in the same row. If so, advance initially to that position.
+ // More turns may be added further below.
+ if (MismatchedSyms_77(sym1, sym2))
{
- //...try to match with reel 1 within 4 turns
- for (i = 0; i < 5; i++)
+ // Iterate over the next 4 turns
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- tag3 = GetTag(RIGHT_REEL, sSlotMachine->winnerRows[1] - i);
- if (tag1 == tag3)
+ sym3 = GetSymbol(RIGHT_REEL, sSlotMachine->winnerRows[1] - i);
+ if (sym1 == sym3)
{
extraTurns = i;
break;
@@ -2641,53 +3056,100 @@ static void DecideReelTurns_NoBiasTag_Reel3_Bet2(void)
}
}
}
- // GUESS: spin until there's no possible match within 4 turns of you stopping
- while (1)
+
+ while (TRUE)
{
- s16 loopExit;
- for (i = 1, loopExit = 0; i < 4; i++)
+ s16 numMatches;
+ // Iterate over the rows of the screen after `extraTurns` turns
+ for (i = 1, numMatches = 0; i <= 3; i++)
{
- tag1 = GetTag(LEFT_REEL, i - sSlotMachine->reelExtraTurns[0]); // why does this update with i
- tag2 = GetTag(MIDDLE_REEL, i - sSlotMachine->reelExtraTurns[1]);
- tag3 = GetTag(RIGHT_REEL, i - extraTurns);
- // if bit 7 of luckyFlags is unset...
- //...and if all 3 tags match and they're not mixed 7s
- if (!TagsDontMatchOrHaveAny7s(tag1, tag2, tag3) && (!AreTagsMixed777(tag1, tag2, tag3) || !(sSlotMachine->luckyFlags & LUCKY_BIAS_777)))
+ sym1 = GetSymbol(LEFT_REEL, i - sSlotMachine->reelExtraTurns[0]);
+ sym2 = GetSymbol(MIDDLE_REEL, i - sSlotMachine->reelExtraTurns[1]);
+ sym3 = GetSymbol(RIGHT_REEL, i - extraTurns);
+
+ // This boils down to:
+ // If there's a match on screen, keep spinning. Otherwise, if
+ // there's a 7 mismatch on screen, keep spinning if the machine
+ // isn't biased toward straight 7's.
+ if (!NeitherMatchNor7Mismatch(sym1, sym2, sym3) &&
+ !(MismatchedSyms_777(sym1, sym2, sym3) && (sSlotMachine->machineBias & BIAS_STRAIGHT_7)))
{
- loopExit++;
+ numMatches++;
break;
}
}
- if (loopExit == 0)
+
+ // If no matches were found, stop here. Otherwise, add an extra spin and
+ // check again.
+ if (numMatches == 0)
break;
extraTurns++;
}
sSlotMachine->reelExtraTurns[2] = extraTurns;
}
-static void DecideReelTurns_NoBiasTag_Reel3_Bet3(void)
+// Try to spin until there is no match in reel 3. Additionally, if the player
+// failed a straight 7 bias, try to taunt them with a 7 mismatch.
+//
+// There are up to four stages:
+//
+// 1. Advance the reel as if 2 coins were bet: to mildly oversimplify, spin
+// until there's no matches straight across in any rows.
+//
+// 2. [Optional] If you've lined up two opposite-color 7's diagonally and the
+// machine is biased toward straight 7's:
+// Check if a 7 with the same color as reel 1 appears in the final diagonal
+// position within 4 turns. If so, advance to that position.
+//
+// 3. Check NWSE diagonal. Keep advancing the reel a turn at a time as long as:
+// - There is a match in the diagonal
+// - Or, there is a 7 mismatch in the diagonal and the machine isn't
+// biased toward straight 7's
+//
+// 3. Check NESW diagonal. Keep advancing the reel a turn at a time as long as:
+// - There is a match in the diagonal
+// - Or, there is a 7 mismatch in the diagonal and the machine isn't
+// biased toward straight 7's
+//
+// Note that stages 3 and 4 are not limited to 4 turns.
+//
+// Also, note that it actually is possible to win a match here. After stage 1,
+// the game never again checks whether it will be matching any rows straight
+// across. So any extra turns added in stages 2-4 could result in a match
+// occurring straight across.
+static void DecideStop_NoBias_Reel3_Bet3(void)
{
- u8 tag1;
- u8 tag2;
- u8 tag3;
- s16 j;
+ u8 sym1;
+ u8 sym2;
+ u8 sym3;
+ s16 row;
s16 i;
- DecideReelTurns_NoBiasTag_Reel3_Bet2();
- if (sSlotMachine->winnerRows[1] != 0 && sSlotMachine->winnerRows[0] != sSlotMachine->winnerRows[1] && sSlotMachine->luckyFlags & LUCKY_BIAS_777)
+ // Spin until there's no matches in any row straight across, potentially
+ // skewing toward a 7 mismatch. Consider this the new starting position for
+ // this function.
+ DecideStop_NoBias_Reel3_Bet2();
+
+ // Essentially, if you lined up two 7's diagonally
+ if (sSlotMachine->winnerRows[1] != 0 &&
+ sSlotMachine->winnerRows[0] != sSlotMachine->winnerRows[1] &&
+ sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{
- tag1 = GetTag(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
- tag2 = GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[1] - sSlotMachine->reelExtraTurns[1]);
- //..and if tags are mixed 7s...
- if (AreTagsMixed77(tag1, tag2))
+ sym1 = GetSymbol(LEFT_REEL, sSlotMachine->winnerRows[0] - sSlotMachine->reelExtraTurns[0]);
+ sym2 = GetSymbol(MIDDLE_REEL, sSlotMachine->winnerRows[1] - sSlotMachine->reelExtraTurns[1]);
+
+ // If the first two 7's are opposite colors, try advancing up to 4
+ // additional turns to line up a diagonal 7 mismatch. More turns may be
+ // added further below.
+ if (MismatchedSyms_77(sym1, sym2))
{
- j = 1;
+ row = 1;
if (sSlotMachine->winnerRows[0] == 1)
- j = 3;
- for (i = 0; i < 5; i++)
+ row = 3;
+ for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{
- tag3 = GetTag(RIGHT_REEL, j - (sSlotMachine->reelExtraTurns[2] + i));
- if (tag1 == tag3)
+ sym3 = GetSymbol(RIGHT_REEL, row - (sSlotMachine->reelExtraTurns[2] + i));
+ if (sym1 == sym3)
{
sSlotMachine->reelExtraTurns[2] += i;
break;
@@ -2695,21 +3157,27 @@ static void DecideReelTurns_NoBiasTag_Reel3_Bet3(void)
}
}
}
- while (1)
+
+ while (TRUE)
{
- tag1 = GetTag(LEFT_REEL, 1 - sSlotMachine->reelExtraTurns[0]);
- tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
- tag3 = GetTag(RIGHT_REEL, 3 - sSlotMachine->reelExtraTurns[2]);
- if (TagsDontMatchOrHaveAny7s(tag1, tag2, tag3) || (AreTagsMixed777(tag1, tag2, tag3) && sSlotMachine->luckyFlags & LUCKY_BIAS_777))
+ // Check NWSE diagonal
+ sym1 = GetSymbol(LEFT_REEL, 1 - sSlotMachine->reelExtraTurns[0]);
+ sym2 = GetSymbol(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
+ sym3 = GetSymbol(RIGHT_REEL, 3 - sSlotMachine->reelExtraTurns[2]);
+ if (NeitherMatchNor7Mismatch(sym1, sym2, sym3)
+ || (MismatchedSyms_777(sym1, sym2, sym3) && sSlotMachine->machineBias & BIAS_STRAIGHT_7))
break;
sSlotMachine->reelExtraTurns[2]++;
}
- while (1)
+
+ while (TRUE)
{
- tag1 = GetTag(LEFT_REEL, 3 - sSlotMachine->reelExtraTurns[0]);
- tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
- tag3 = GetTag(RIGHT_REEL, 1 - sSlotMachine->reelExtraTurns[2]);
- if (TagsDontMatchOrHaveAny7s(tag1, tag2, tag3) || (AreTagsMixed777(tag1, tag2, tag3) && sSlotMachine->luckyFlags & LUCKY_BIAS_777))
+ // Check NESW diagonal
+ sym1 = GetSymbol(LEFT_REEL, 3 - sSlotMachine->reelExtraTurns[0]);
+ sym2 = GetSymbol(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
+ sym3 = GetSymbol(RIGHT_REEL, 1 - sSlotMachine->reelExtraTurns[2]);
+ if (NeitherMatchNor7Mismatch(sym1, sym2, sym3)
+ || (MismatchedSyms_777(sym1, sym2, sym3) && sSlotMachine->machineBias & BIAS_STRAIGHT_7))
break;
sSlotMachine->reelExtraTurns[2]++;
}
@@ -2724,7 +3192,7 @@ static void PressStopReelButton(u8 reelNum)
static void Task_PressStopReelButton(u8 taskId)
{
- sReelStopButtonFuncs[gTasks[taskId].data[0]](&gTasks[taskId], taskId);
+ sReelStopButtonTasks[gTasks[taskId].data[0]](&gTasks[taskId], taskId);
}
static void StopReelButton_Press(struct Task *task, u8 taskId)
@@ -2930,11 +3398,11 @@ static void CreatePikaPowerBoltTask(void)
sSlotMachine->pikaPowerBoltTaskId = CreateTask(Task_CreatePikaPowerBolt, 8);
}
-static void AddPikaPowerBolt(u8 pikaPower)
+static void AddPikaPowerBolt(u8 bolts)
{
struct Task *task = &gTasks[sSlotMachine->pikaPowerBoltTaskId];
ResetPikaPowerBoltTask(task);
- task->tState = 1;
+ task->tState = PIKABOLT_TASK_ADD_BOLT;
task->tNumBolts++;
task->tAnimating = TRUE;
}
@@ -2943,7 +3411,7 @@ static void ResetPikaPowerBolts(void)
{
struct Task *task = &gTasks[sSlotMachine->pikaPowerBoltTaskId];
ResetPikaPowerBoltTask(task);
- task->tState = 3;
+ task->tState = PIKABOLT_TASK_CLEAR_ALL;
task->tAnimating = TRUE;
}
@@ -2954,7 +3422,7 @@ static bool8 IsPikaPowerBoltAnimating(void)
static void Task_CreatePikaPowerBolt(u8 taskId)
{
- sPikaPowerBoltFuncs[gTasks[taskId].tState](&gTasks[taskId]);
+ sPikaPowerBoltTasks[gTasks[taskId].tState](&gTasks[taskId]);
}
static void PikaPowerBolt_Idle(struct Task *task)
@@ -2964,7 +3432,7 @@ static void PikaPowerBolt_Idle(struct Task *task)
static void PikaPowerBolt_AddBolt(struct Task *task)
{
task->tSpriteId = CreatePikaPowerBoltSprite((task->tNumBolts << 3) + 20, 20);
- task->tState++;
+ task->tState++; // PIKABOLT_TASK_WAIT_ANIM
}
// The bolt sprite spins around as it appears
@@ -2983,7 +3451,7 @@ static void PikaPowerBolt_WaitAnim(struct Task *task)
sSelectedPikaPowerTile[r2] = sPikaPowerTileTable[r3][0];
LoadBgTilemap(2, &sSelectedPikaPowerTile[r2], 2, r5 + 0x40);
DestroyPikaPowerBoltSprite(task->tSpriteId);
- task->tState = 0;
+ task->tState = PIKABOLT_TASK_IDLE;
task->tAnimating = 0;
}
}
@@ -3007,7 +3475,7 @@ static void PikaPowerBolt_ClearAll(struct Task *task)
task->tTimer = 0;
if (task->tNumBolts == 0)
{
- task->tState = 0;
+ task->tState = PIKABOLT_TASK_IDLE;
task->tAnimating = 0;
}
}
@@ -3020,17 +3488,17 @@ static void ResetPikaPowerBoltTask(struct Task *task)
task->data[i] = 0;
}
-static void LoadPikaPowerMeter(u8 pikaPower)
+static void LoadPikaPowerMeter(u8 bolts)
{
s16 i;
s16 r3 = 0, r1 = 0;
s16 r4 = 3;
- for (i = 0; i < pikaPower; i++, r4++)
+ for (i = 0; i < bolts; i++, r4++)
{
r3 = 0, r1 = 0;
if (i == 0)
r3 = 1, r1 = 1;
- else if (i == 15) // pikaPower meter is full
+ else if (i == 15) // meter is full
r3 = 2, r1 = 2;
sSelectedPikaPowerTile[r1] = sPikaPowerTileTable[r3][0];
LoadBgTilemap(2, &sSelectedPikaPowerTile[r1], 2, r4 + 0x40);
@@ -3045,7 +3513,7 @@ static void LoadPikaPowerMeter(u8 pikaPower)
sSelectedPikaPowerTile[r1] = sPikaPowerTileTable[r3][1];
LoadBgTilemap(2, &sSelectedPikaPowerTile[r1], 2, r4 + 0x40);
}
- gTasks[sSlotMachine->pikaPowerBoltTaskId].data[1] = pikaPower;
+ gTasks[sSlotMachine->pikaPowerBoltTaskId].data[1] = bolts;
}
#undef tState
@@ -3054,7 +3522,13 @@ static void LoadPikaPowerMeter(u8 pikaPower)
#undef tTimer
#undef tAnimating
-#define tState data[0]
+#define tState data[0]
+#define tReelSpeed data[1]
+#define tTimer3 data[2]
+#define tRtReelSpeed data[4]
+#define tTimer2 data[4]
+#define tTimer1 data[5]
+#define tExplodeChecks data[6]
static void BeginReelTime(void)
{
@@ -3071,10 +3545,7 @@ static bool8 IsReelTimeTaskDone(void)
static void Task_ReelTime(u8 taskId)
{
- // task.data[1] has something to do with the threshold
- // task.data[4] says how many pixels to advance the reel
- // task.data[5] is a timer
- sReelTimeActions[gTasks[taskId].tState](&gTasks[taskId]);
+ sReelTimeTasks[gTasks[taskId].tState](&gTasks[taskId]);
}
static void ReelTime_Init(struct Task *task)
@@ -3082,10 +3553,10 @@ static void ReelTime_Init(struct Task *task)
sSlotMachine->reelTimeSpinsLeft = 0;
sSlotMachine->reeltimePixelOffset = 0;
sSlotMachine->reeltimePosition = 0;
- task->tState++;
+ task->tState++; // RT_TASK_WINDOW_ENTER
task->data[1] = 0;
task->data[2] = 30;
- task->data[4] = 1280; // reel speed
+ task->tRtReelSpeed = 1280;
gSpriteCoordOffsetX = 0;
gSpriteCoordOffsetY = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
@@ -3096,7 +3567,7 @@ static void ReelTime_Init(struct Task *task)
CreateReelTimeNumberSprites();
CreateReelTimeShadowSprites();
CreateReelTimeNumberGapSprite();
- GetReeltimeDraw();
+ GetReelTimeDraw();
StopMapMusic();
PlayNewMapMusic(MUS_ROULETTE);
}
@@ -3116,18 +3587,18 @@ static void ReelTime_WindowEnter(struct Task *task)
}
if (task->data[1] >= 200)
{
- task->tState++;
+ task->tState++; // RT_TASK_WAIT_START_PIKA
task->data[3] = 0;
}
- AdvanceReeltimeReel(task->data[4] >> 8);
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
}
static void ReelTime_WaitStartPikachu(struct Task *task)
{
- AdvanceReeltimeReel(task->data[4] >> 8);
- if (++task->data[5] >= 60)
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
+ if (++task->tTimer1 >= 60)
{
- task->tState++;
+ task->tState++; // RT_TASK_PIKA_SPEEDUP1
CreateReelTimeBoltSprites();
CreateReelTimePikachuAuraSprites();
}
@@ -3144,29 +3615,29 @@ static void ReelTime_PikachuSpeedUp1(struct Task *task)
memcpy(reelTimeBoltDelays, sReelTimeBoltDelays, sizeof(sReelTimeBoltDelays));
memcpy(pikachuAuraFlashDelays, sPikachuAuraFlashDelays, sizeof(sPikachuAuraFlashDelays));
- AdvanceReeltimeReel(task->data[4] >> 8);
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
// gradually slow down the reel
- task->data[4] -= 4;
- i = 4 - (task->data[4] >> 8);
+ task->tRtReelSpeed -= 4;
+ i = 4 - (task->tRtReelSpeed >> 8);
SetReelTimeBoltDelay(reelTimeBoltDelays[i]);
SetReelTimePikachuAuraFlashDelay(pikachuAuraFlashDelays[i]);
StartSpriteAnimIfDifferent(&gSprites[sSlotMachine->reelTimePikachuSpriteId], pikachuAnimIds[i]);
- // once speed goes below 256, go to next ReelTimeAction and keep the speed level
- if (task->data[4] <= 0x100)
+ // once speed goes below 256, go to next ReelTime task and keep the speed level
+ if (task->tRtReelSpeed <= 0x100)
{
- task->tState++;
- task->data[4] = 0x100;
- task->data[5] = 0;
+ task->tState++; // RT_TASK_PIKA_SPEEDUP2
+ task->tRtReelSpeed = 0x100;
+ task->tTimer1 = 0;
}
}
static void ReelTime_PikachuSpeedUp2(struct Task *task)
{
- AdvanceReeltimeReel(task->data[4] >> 8);
- if (++task->data[5] >= 80)
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
+ if (++task->tTimer1 >= 80)
{
- task->tState++;
- task->data[5] = 0;
+ task->tState++; // RT_TASK_WAIT_REEL
+ task->tTimer1 = 0;
SetReelTimePikachuAuraFlashDelay(2);
StartSpriteAnimIfDifferent(&gSprites[sSlotMachine->reelTimePikachuSpriteId], 3);
}
@@ -3174,83 +3645,94 @@ static void ReelTime_PikachuSpeedUp2(struct Task *task)
static void ReelTime_WaitReel(struct Task *task)
{
- AdvanceReeltimeReel(task->data[4] >> 8);
- task->data[4] = (u8)task->data[4] + 0x80;
- if (++task->data[5] >= 80)
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
+ task->tRtReelSpeed = (u8)task->tRtReelSpeed + 0x80;
+ if (++task->tTimer1 >= 80)
{
- task->tState++;
- task->data[5] = 0;
+ task->tState++; // RT_TASK_CHECK_EXPLODE
+ task->tTimer1 = 0;
}
}
+// Check whether the ReelTime machine should explode.
+//
+// The ReelTime machine displays 0 when this task starts. If there is a positive
+// ReelTime draw, the machine keeps spinning until it lands on that number.
+//
+// Otherwise, it checks every 40 frames whether it should explode. If so, it
+// explodes immediately. After 4 checks, the machine won't explode but continues
+// to spin until it lands on 0.
static void ReelTime_CheckExplode(struct Task *task)
{
- AdvanceReeltimeReel(task->data[4] >> 8);
- task->data[4] = (u8)task->data[4] + 0x40;
- if (++task->data[5] >= 40)
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
+ task->tRtReelSpeed = (u8)task->tRtReelSpeed + 0x40;
+ if (++task->tTimer1 >= 40)
{
- task->data[5] = 0;
+ task->tTimer1 = 0;
if (sSlotMachine->reelTimeDraw)
{
- if (sSlotMachine->reelTimeSpinsLeft <= task->data[6])
- task->tState++;
+ if (sSlotMachine->reelTimeSpinsLeft <= task->tExplodeChecks)
+ task->tState++; // RT_TASK_LAND
}
- else if (task->data[6] > 3)
+ else if (task->tExplodeChecks > 3)
{
- task->tState++;
+ task->tState++; // RT_TASK_LAND
}
- else if (ShouldReelTimeMachineExplode(task->data[6]))
+ else if (ShouldReelTimeMachineExplode(task->tExplodeChecks))
{
- task->tState = 14; // ReelTime_ExplodeMachine
+ task->tState = RT_TASK_EXPLODE;
}
- task->data[6]++;
+ task->tExplodeChecks++;
}
}
+// Reel spins until it lands on the selected outcome.
static void ReelTime_LandOnOutcome(struct Task *task)
{
s16 reeltimePixelOffset = sSlotMachine->reeltimePixelOffset % 20;
if (reeltimePixelOffset)
{
- reeltimePixelOffset = AdvanceReeltimeReelToNextTag(task->data[4] >> 8);
- task->data[4] = (u8)task->data[4] + 0x40;
+ reeltimePixelOffset = AdvanceReeltimeReelToNextSymbol(task->tRtReelSpeed >> 8);
+ task->tRtReelSpeed = (u8)task->tRtReelSpeed + 0x40;
}
- else if (GetNearbyReelTimeTag(1) != sSlotMachine->reelTimeDraw)
+ else if (GetReelTimeSymbol(1) != sSlotMachine->reelTimeDraw)
{
- AdvanceReeltimeReel(task->data[4] >> 8);
+ AdvanceReeltimeReel(task->tRtReelSpeed >> 8);
reeltimePixelOffset = sSlotMachine->reeltimePixelOffset % 20;
- task->data[4] = (u8)task->data[4] + 0x40;
+ task->tRtReelSpeed = (u8)task->tRtReelSpeed + 0x40;
}
- if (reeltimePixelOffset == 0 && GetNearbyReelTimeTag(1) == sSlotMachine->reelTimeDraw)
+ if (reeltimePixelOffset == 0 && GetReelTimeSymbol(1) == sSlotMachine->reelTimeDraw)
{
- task->data[4] = 0; // stop moving
- task->tState++;
+ task->tRtReelSpeed = 0; // Also initializes task->tTimer2
+ task->tState++; // RT_TASK_PIKA_REACT
}
}
+// Animate Pikachu reaction. Clear any power bolts the player may have won if
+// they got a positive ReelTime draw.
static void ReelTime_PikachuReact(struct Task *task)
{
- if (++task->data[4] >= 60)
+ if (++task->tTimer2 >= 60)
{
StopMapMusic();
DestroyReelTimeBoltSprites();
DestroyReelTimePikachuAuraSprites();
- task->tState++;
+ task->tState++; // RT_TASK_WAIT_CLEAR_POWER
if(sSlotMachine->reelTimeDraw == 0)
{
- task->data[4] = 0xa0;
+ task->tTimer2 = 0xa0;
StartSpriteAnimIfDifferent(&gSprites[sSlotMachine->reelTimePikachuSpriteId], 5);
PlayFanfare(MUS_TOO_BAD);
}
else
{
- task->data[4] = 0xc0;
+ task->tTimer2 = 0xc0;
StartSpriteAnimIfDifferent(&gSprites[sSlotMachine->reelTimePikachuSpriteId], 4);
gSprites[sSlotMachine->reelTimePikachuSpriteId].animCmdIndex = 0;
- if (sSlotMachine->pikaPower)
+ if (sSlotMachine->pikaPowerBolts)
{
ResetPikaPowerBolts();
- sSlotMachine->pikaPower = 0;
+ sSlotMachine->pikaPowerBolts = 0;
}
PlayFanfare(MUS_SLOTS_WIN);
}
@@ -3259,8 +3741,8 @@ static void ReelTime_PikachuReact(struct Task *task)
static void ReelTime_WaitClearPikaPower(struct Task *task)
{
- if ((task->data[4] == 0 || --task->data[4] == 0) && !IsPikaPowerBoltAnimating())
- task->tState++;
+ if ((task->tTimer2 == 0 || --task->tTimer2 == 0) && !IsPikaPowerBoltAnimating())
+ task->tState++; // RT_TASK_CLOSE_WINDOW_SUCCESS
}
static void ReelTime_CloseWindow(struct Task *task)
@@ -3274,16 +3756,20 @@ static void ReelTime_CloseWindow(struct Task *task)
if (task->data[3] >> 3 <= 25)
ClearReelTimeWindowTilemap(r4);
else
- task->tState++;
+ task->tState++; // RT_TASK_DESTROY_SPRITES
}
+// Destroy sprites and wrap up the ReelTime task.
+//
+// If the player got a positive ReelTime draw, select the speed that the slot
+// reels will initially move at.
static void ReelTime_DestroySprites(struct Task *task)
{
sSlotMachine->reelTimeSpinsUsed = 0;
sSlotMachine->reelTimeSpinsLeft = sSlotMachine->reelTimeDraw;
gSpriteCoordOffsetX = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
- sSlotMachine->reelIncrement = 8;
+ sSlotMachine->reelSpeed = REEL_NORMAL_SPEED;
DestroyReelTimePikachuSprite();
DestroyReelTimeMachineSprites();
DestroyReelTimeShadowSprites();
@@ -3295,19 +3781,20 @@ static void ReelTime_DestroySprites(struct Task *task)
else
{
CreateDigitalDisplayScene(DIG_DISPLAY_REEL_TIME);
- task->data[1] = SlowReelSpeed();
- task->data[2] = 0;
+ task->tReelSpeed = ReelTimeSpeed();
+ task->tTimer3 = 0;
task->data[3] = 0;
- task->tState++;
+ task->tState++; // RT_TASK_SET_REEL_SPEED
}
}
-static void ReelTime_SetReelIncrement(struct Task *task)
+// Slow the slot reels down until they match the selected speed.
+static void ReelTime_SetReelSpeed(struct Task *task)
{
- if (sSlotMachine->reelIncrement == task->data[1])
- task->tState++;
- else if (sSlotMachine->reelPixelOffsets[0] % REEL_SYMBOL_HEIGHT == 0 && (++task->data[2]& 0x07) == 0)
- sSlotMachine->reelIncrement >>= 1;
+ if (sSlotMachine->reelSpeed == task->tReelSpeed)
+ task->tState++; // RT_TASK_END_SUCCESS
+ else if (sSlotMachine->reelPixelOffsets[0] % REEL_SYMBOL_HEIGHT == 0 && (++task->tTimer3 & 0x07) == 0)
+ sSlotMachine->reelSpeed >>= 1;
}
static void ReelTime_EndSuccess(struct Task *task)
@@ -3324,9 +3811,9 @@ static void ReelTime_ExplodeMachine(struct Task *task)
CreateReelTimeExplosionSprite();
gSprites[sSlotMachine->reelTimeShadowSpriteIds[0]].invisible = TRUE;
StartSpriteAnimIfDifferent(&gSprites[sSlotMachine->reelTimePikachuSpriteId], 5);
- task->tState++;
+ task->tState++; // RT_TASK_WAIT_EXPLODE
task->data[4] = 4;
- task->data[5] = 0;
+ task->tTimer1 = 0;
StopMapMusic();
PlayFanfare(MUS_TOO_BAD);
PlaySE(SE_M_EXPLOSION);
@@ -3336,9 +3823,9 @@ static void ReelTime_WaitExplode(struct Task *task)
{
gSpriteCoordOffsetY = task->data[4];
SetGpuReg(REG_OFFSET_BG1VOFS, task->data[4]);
- if (task->data[5] & 0x01)
+ if (task->tTimer1 & 0x01)
task->data[4] = -task->data[4];
- if ((++task->data[5] & 0x1f) == 0)
+ if ((++task->tTimer1 & 0x1f) == 0)
task->data[4] >>= 1;
if (task->data[4] == 0)
{
@@ -3347,8 +3834,8 @@ static void ReelTime_WaitExplode(struct Task *task)
CreateBrokenReelTimeMachineSprite();
CreateReelTimeSmokeSprite();
gSprites[sSlotMachine->reelTimeShadowSpriteIds[0]].invisible = FALSE;
- task->tState++;
- task->data[5] = 0;
+ task->tState++; // RT_TASK_WAIT_SMOKE
+ task->tTimer1 = 0;
}
}
@@ -3358,7 +3845,7 @@ static void ReelTime_WaitSmoke(struct Task *task)
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
if (IsReelTimeSmokeAnimFinished())
{
- task->tState++;
+ task->tState++; // RT_TASK_CLOSE_WINDOW_FAILURE
DestroyReelTimeSmokeSprite();
}
}
@@ -3396,28 +3883,33 @@ static void ClearReelTimeWindowTilemap(s16 a0)
}
#undef tState
+#undef tReelSpeed
+#undef tRtReelSpeed
+#undef tTimer2
+#undef tTimer1
+#undef tExplodeChecks
#define tState data[0]
// Info Box is the screen shown when Select is pressed
static void OpenInfoBox(u8 digDisplayId)
{
- u8 taskId = CreateTask(RunInfoBoxActions, 1);
+ u8 taskId = CreateTask(Task_InfoBox, 1);
gTasks[taskId].data[1] = digDisplayId;
- RunInfoBoxActions(taskId);
+ Task_InfoBox(taskId);
}
static bool8 IsInfoBoxClosed(void)
{
- if (FindTaskIdByFunc(RunInfoBoxActions) == TASK_NONE)
+ if (FindTaskIdByFunc(Task_InfoBox) == TASK_NONE)
return TRUE;
else
return FALSE;
}
-static void RunInfoBoxActions(u8 taskId)
+static void Task_InfoBox(u8 taskId)
{
- sInfoBoxActions[gTasks[taskId].tState](&gTasks[taskId]);
+ sInfoBoxTasks[gTasks[taskId].tState](&gTasks[taskId]);
}
static void InfoBox_FadeIn(struct Task *task)
@@ -3426,7 +3918,7 @@ static void InfoBox_FadeIn(struct Task *task)
task->tState++;
}
-static void InfoBox_WaitForFade(struct Task *task)
+static void InfoBox_WaitFade(struct Task *task)
{
if (!gPaletteFade.active)
task->tState++;
@@ -3450,7 +3942,7 @@ static void InfoBox_AddText(struct Task *task)
task->tState++;
}
-static void InfoBox_AwaitPlayerInput(struct Task *task)
+static void InfoBox_WaitInput(struct Task *task)
{
if (JOY_NEW(B_BUTTON | SELECT_BUTTON))
{
@@ -3478,14 +3970,14 @@ static void InfoBox_CreateDigitalDisplay(struct Task *task)
static void InfoBox_LoadPikaPowerMeter(struct Task *task)
{
- LoadPikaPowerMeter(sSlotMachine->pikaPower);
+ LoadPikaPowerMeter(sSlotMachine->pikaPowerBolts);
BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB(0, 0, 0));
task->tState++;
}
static void InfoBox_FreeTask(struct Task *task)
{
- DestroyTask(FindTaskIdByFunc(RunInfoBoxActions));
+ DestroyTask(FindTaskIdByFunc(Task_InfoBox));
}
#undef tState
@@ -3576,7 +4068,7 @@ static bool8 IsDigitalDisplayAnimFinished(void)
static void Task_DigitalDisplay(u8 taskId)
{
- sDigitalDisplayActions[gTasks[taskId].data[0]](&gTasks[taskId]);
+ sDigitalDisplayTasks[gTasks[taskId].data[0]](&gTasks[taskId]);
}
static void DigitalDisplay_Idle(struct Task *task)
@@ -3605,8 +4097,8 @@ static void SpriteCB_ReelSymbol(struct Sprite *sprite)
{
sprite->data[2] = sSlotMachine->reelPixelOffsets[sprite->data[0]] + sprite->data[1];
sprite->data[2] %= 120;
- sprite->y = sSlotMachine->reelPixelOffsetsWhileStopping[sprite->data[0]] + 28 + sprite->data[2];
- sprite->sheetTileStart = GetSpriteTileStartByTag(GetTagAtRest(sprite->data[0], sprite->data[2] / 24));
+ sprite->y = sSlotMachine->reelShockOffsets[sprite->data[0]] + 28 + sprite->data[2];
+ sprite->sheetTileStart = GetSpriteTileStartByTag(GetSymbolAtRest(sprite->data[0], sprite->data[2] / 24));
SetSpriteSheetFrameTileNum(sprite);
}
@@ -3777,7 +4269,7 @@ static void SpriteCB_ReelTimeNumbers(struct Sprite *sprite)
s16 r0 = (u16)(sSlotMachine->reeltimePixelOffset + sprite->data[7]);
r0 %= 40;
sprite->y = r0 + 59;
- StartSpriteAnimIfDifferent(sprite, GetNearbyReelTimeTag(r0 / 20));
+ StartSpriteAnimIfDifferent(sprite, GetReelTimeSymbol(r0 / 20));
}
static void CreateReelTimeShadowSprites(void)
@@ -4724,135 +5216,233 @@ static void AllocDigitalDisplayGfx(void)
sImageTable_DigitalDisplay_DPad[1].size = 0x180;
}
-static const u8 sReelSymbolTileTags[NUM_REELS][SYMBOLS_PER_REEL] =
+static const u8 sReelSymbols[NUM_REELS][SYMBOLS_PER_REEL] =
{
[LEFT_REEL] = {
- GFXTAG_7_RED,
- GFXTAG_CHERRY,
- GFXTAG_AZURILL,
- GFXTAG_REPLAY,
- GFXTAG_POWER,
- GFXTAG_LOTAD,
- GFXTAG_7_BLUE,
- GFXTAG_LOTAD,
- GFXTAG_CHERRY,
- GFXTAG_POWER,
- GFXTAG_REPLAY,
- GFXTAG_AZURILL,
- GFXTAG_7_RED,
- GFXTAG_POWER,
- GFXTAG_LOTAD,
- GFXTAG_REPLAY,
- GFXTAG_AZURILL,
- GFXTAG_7_BLUE,
- GFXTAG_POWER,
- GFXTAG_LOTAD,
- GFXTAG_REPLAY
+ SYMBOL_7_RED,
+ SYMBOL_CHERRY,
+ SYMBOL_AZURILL,
+ SYMBOL_REPLAY,
+ SYMBOL_POWER,
+ SYMBOL_LOTAD,
+ SYMBOL_7_BLUE,
+ SYMBOL_LOTAD,
+ SYMBOL_CHERRY,
+ SYMBOL_POWER,
+ SYMBOL_REPLAY,
+ SYMBOL_AZURILL,
+ SYMBOL_7_RED,
+ SYMBOL_POWER,
+ SYMBOL_LOTAD,
+ SYMBOL_REPLAY,
+ SYMBOL_AZURILL,
+ SYMBOL_7_BLUE,
+ SYMBOL_POWER,
+ SYMBOL_LOTAD,
+ SYMBOL_REPLAY
},
[MIDDLE_REEL] = {
- GFXTAG_7_RED,
- GFXTAG_CHERRY,
- GFXTAG_REPLAY,
- GFXTAG_LOTAD,
- GFXTAG_AZURILL,
- GFXTAG_CHERRY,
- GFXTAG_REPLAY,
- GFXTAG_POWER,
- GFXTAG_POWER,
- GFXTAG_LOTAD,
- GFXTAG_7_BLUE,
- GFXTAG_LOTAD,
- GFXTAG_REPLAY,
- GFXTAG_CHERRY,
- GFXTAG_AZURILL,
- GFXTAG_LOTAD,
- GFXTAG_REPLAY,
- GFXTAG_CHERRY,
- GFXTAG_LOTAD,
- GFXTAG_REPLAY,
- GFXTAG_CHERRY
+ SYMBOL_7_RED,
+ SYMBOL_CHERRY,
+ SYMBOL_REPLAY,
+ SYMBOL_LOTAD,
+ SYMBOL_AZURILL,
+ SYMBOL_CHERRY,
+ SYMBOL_REPLAY,
+ SYMBOL_POWER,
+ SYMBOL_POWER,
+ SYMBOL_LOTAD,
+ SYMBOL_7_BLUE,
+ SYMBOL_LOTAD,
+ SYMBOL_REPLAY,
+ SYMBOL_CHERRY,
+ SYMBOL_AZURILL,
+ SYMBOL_LOTAD,
+ SYMBOL_REPLAY,
+ SYMBOL_CHERRY,
+ SYMBOL_LOTAD,
+ SYMBOL_REPLAY,
+ SYMBOL_CHERRY
},
[RIGHT_REEL] = {
- GFXTAG_7_RED,
- GFXTAG_POWER,
- GFXTAG_7_BLUE,
- GFXTAG_REPLAY,
- GFXTAG_LOTAD,
- GFXTAG_AZURILL,
- GFXTAG_REPLAY,
- GFXTAG_LOTAD,
- GFXTAG_POWER,
- GFXTAG_AZURILL,
- GFXTAG_REPLAY,
- GFXTAG_LOTAD,
- GFXTAG_AZURILL,
- GFXTAG_POWER,
- GFXTAG_REPLAY,
- GFXTAG_LOTAD,
- GFXTAG_AZURILL,
- GFXTAG_POWER,
- GFXTAG_REPLAY,
- GFXTAG_LOTAD,
- GFXTAG_CHERRY
+ SYMBOL_7_RED,
+ SYMBOL_POWER,
+ SYMBOL_7_BLUE,
+ SYMBOL_REPLAY,
+ SYMBOL_LOTAD,
+ SYMBOL_AZURILL,
+ SYMBOL_REPLAY,
+ SYMBOL_LOTAD,
+ SYMBOL_POWER,
+ SYMBOL_AZURILL,
+ SYMBOL_REPLAY,
+ SYMBOL_LOTAD,
+ SYMBOL_AZURILL,
+ SYMBOL_POWER,
+ SYMBOL_REPLAY,
+ SYMBOL_LOTAD,
+ SYMBOL_AZURILL,
+ SYMBOL_POWER,
+ SYMBOL_REPLAY,
+ SYMBOL_LOTAD,
+ SYMBOL_CHERRY
},
};
-static const u8 sReelTimeTags[] = {
+static const u8 sReelTimeSymbols[] = {
1, 0, 5, 4, 3, 2
};
+// Column 0: Normal game
+// Column 1: Lucky game
static const s16 sInitialReelPositions[NUM_REELS][2] = {
[LEFT_REEL] = {0, 6},
[MIDDLE_REEL] = {0, 10},
[RIGHT_REEL] = {0, 2}
};
-static const u8 sLuckyRoundProbabilities[][3] = {
- {1, 1, 12},
- {1, 1, 14},
- {2, 2, 14},
- {2, 2, 14},
- {2, 3, 16},
- {3, 3, 16}
+static const u8 sSpecialDrawOdds[NUM_SLOT_MACHINE_IDS][MAX_BET] = {
+ [SLOT_MACHINE_UNLUCKIEST] = {1, 1, 12},
+ [SLOT_MACHINE_UNLUCKIER] = {1, 1, 14},
+ [SLOT_MACHINE_UNLUCKY] = {2, 2, 14},
+ [SLOT_MACHINE_LUCKY] = {2, 2, 14},
+ [SLOT_MACHINE_LUCKIER] = {2, 3, 16},
+ [SLOT_MACHINE_LUCKIEST] = {3, 3, 16}
};
-static const u8 sLuckyFlagProbabilities_Top3[][6] = {
- {25, 25, 30, 40, 40, 50},
- {25, 25, 30, 30, 35, 35},
- {25, 25, 30, 25, 25, 30}
+static const u8 sBiasProbabilities_Special[][NUM_SLOT_MACHINE_IDS] = {
+ {
+ // Probabilities for BIAS_STRAIGHT_7
+ [SLOT_MACHINE_UNLUCKIEST] = 25,
+ [SLOT_MACHINE_UNLUCKIER] = 25,
+ [SLOT_MACHINE_UNLUCKY] = 30,
+ [SLOT_MACHINE_LUCKY] = 40,
+ [SLOT_MACHINE_LUCKIER] = 40,
+ [SLOT_MACHINE_LUCKIEST] = 50
+ },
+ {
+ // Probabilities for BIAS_REELTIME
+ [SLOT_MACHINE_UNLUCKIEST] = 25,
+ [SLOT_MACHINE_UNLUCKIER] = 25,
+ [SLOT_MACHINE_UNLUCKY] = 30,
+ [SLOT_MACHINE_LUCKY] = 30,
+ [SLOT_MACHINE_LUCKIER] = 35,
+ [SLOT_MACHINE_LUCKIEST] = 35
+ },
+ {
+ // Probabilities for BIAS_MIXED_7
+ [SLOT_MACHINE_UNLUCKIEST] = 25,
+ [SLOT_MACHINE_UNLUCKIER] = 25,
+ [SLOT_MACHINE_UNLUCKY] = 30,
+ [SLOT_MACHINE_LUCKY] = 25,
+ [SLOT_MACHINE_LUCKIER] = 25,
+ [SLOT_MACHINE_LUCKIEST] = 30
+ }
};
-static const u8 sLuckyFlagProbabilities_NotTop3[][6] = {
- {20, 25, 25, 20, 25, 25},
- {12, 15, 15, 18, 19, 22},
- {25, 25, 25, 30, 30, 40},
- {25, 25, 20, 20, 15, 15},
- {40, 40, 35, 35, 40, 40}
+static const u8 sBiasProbabilities_Regular[][NUM_SLOT_MACHINE_IDS] = {
+ {
+ // Probabilities for BIAS_POWER
+ [SLOT_MACHINE_UNLUCKIEST] = 20,
+ [SLOT_MACHINE_UNLUCKIER] = 25,
+ [SLOT_MACHINE_UNLUCKY] = 25,
+ [SLOT_MACHINE_LUCKY] = 20,
+ [SLOT_MACHINE_LUCKIER] = 25,
+ [SLOT_MACHINE_LUCKIEST] = 25
+ },
+ {
+ // Probabilities for BIAS_AZURILL
+ [SLOT_MACHINE_UNLUCKIEST] = 12,
+ [SLOT_MACHINE_UNLUCKIER] = 15,
+ [SLOT_MACHINE_UNLUCKY] = 15,
+ [SLOT_MACHINE_LUCKY] = 18,
+ [SLOT_MACHINE_LUCKIER] = 19,
+ [SLOT_MACHINE_LUCKIEST] = 22
+ },
+ {
+ // Probabilities for BIAS_LOTAD
+ [SLOT_MACHINE_UNLUCKIEST] = 25,
+ [SLOT_MACHINE_UNLUCKIER] = 25,
+ [SLOT_MACHINE_UNLUCKY] = 25,
+ [SLOT_MACHINE_LUCKY] = 30,
+ [SLOT_MACHINE_LUCKIER] = 30,
+ [SLOT_MACHINE_LUCKIEST] = 40
+ },
+ {
+ // Probabilities for BIAS_CHERRY
+ [SLOT_MACHINE_UNLUCKIEST] = 25,
+ [SLOT_MACHINE_UNLUCKIER] = 25,
+ [SLOT_MACHINE_UNLUCKY] = 20,
+ [SLOT_MACHINE_LUCKY] = 20,
+ [SLOT_MACHINE_LUCKIER] = 15,
+ [SLOT_MACHINE_LUCKIEST] = 15
+ },
+ {
+ // Probabilities for BIAS_REPLAY
+ [SLOT_MACHINE_UNLUCKIEST] = 40,
+ [SLOT_MACHINE_UNLUCKIER] = 40,
+ [SLOT_MACHINE_UNLUCKY] = 35,
+ [SLOT_MACHINE_LUCKY] = 35,
+ [SLOT_MACHINE_LUCKIER] = 40,
+ [SLOT_MACHINE_LUCKIEST] = 40
+ }
};
-static const u8 sReeltimeProbabilities_UnluckyGame[][17] = {
- {243, 243, 243, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5},
- { 5, 5, 5, 150, 150, 150, 150, 130, 130, 130, 130, 130, 130, 100, 100, 100, 5},
- { 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40},
- { 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 45, 45, 45, 100},
- { 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 100},
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6}
+// INTENTION:
+// As you get more Power bolts, the odds of getting higher yields (3+ spins)
+// increases modestly. There's a high chance of getting at least 1 spin, which
+// will clear your Power bolts.
+//
+// NOTE: The way these probabilities are drawn significantly skews the odds
+// toward drawing 0 spins:
+//
+// | Up to N bolts | Prob intended | Prob actual |
+// |---------------|---------------|-------------|
+// | 2 | 94% | 99% |
+// | 6 | 31% | 57% |
+// | 12 | 16% | 44% |
+// | 15 | 2% | 31% |
+// | 16 | 2% | 31% |
+static const u8 sReelTimeProbabilities_NormalGame[][17] = {
+ {243, 243, 243, 80, 80, 80, 80, 40, 40, 40, 40, 40, 40, 5, 5, 5, 5}, // 0 spins
+ { 5, 5, 5, 150, 150, 150, 150, 130, 130, 130, 130, 130, 130, 100, 100, 100, 5}, // 1 spin
+ { 4, 4, 4, 20, 20, 20, 20, 80, 80, 80, 80, 80, 80, 100, 100, 100, 40}, // 2 spins
+ { 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 45, 45, 45, 100}, // 3 spins
+ { 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 100}, // 4 spins
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6} // 5 spins
};
+// INTENTION:
+// As you get more Power bolts, the odds of getting higher yields (3+ spins)
+// increases substantially. There is always a high chance of getting no spins,
+// which lets you keep your Power bolts.
+//
+// NOTE: The way these probabilities are drawn significantly skews the odds
+// toward drawing 0 spins:
+//
+// | Up to N bolts | Prob intended | Prob actual |
+// |---------------|---------------|-------------|
+// | 2 | 94% | 99% |
+// | 6 | 78% | 96% |
+// | 12 | 63% | 88% |
+// | 15 | 27% | 58% |
+// | 16 | 2% | 33% |
static const u8 sReelTimeProbabilities_LuckyGame[][17] = {
- { 243, 243, 243, 200, 200, 200, 200, 160, 160, 160, 160, 160, 160, 70, 70, 70, 5},
- { 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6},
- { 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35},
- { 2, 2, 2, 3, 3, 3, 3, 30, 30, 30, 30, 30, 30, 100, 100, 100, 50},
- { 1, 1, 1, 2, 2, 2, 2, 30, 30, 30, 30, 30, 30, 40, 40, 40, 100},
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60}
+ { 243, 243, 243, 200, 200, 200, 200, 160, 160, 160, 160, 160, 160, 70, 70, 70, 5}, // 0 spins
+ { 5, 5, 5, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 2, 2, 2, 6}, // 1 spin
+ { 4, 4, 4, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 40, 40, 40, 35}, // 2 spins
+ { 2, 2, 2, 3, 3, 3, 3, 30, 30, 30, 30, 30, 30, 100, 100, 100, 50}, // 3 spins
+ { 1, 1, 1, 2, 2, 2, 2, 30, 30, 30, 30, 30, 30, 40, 40, 40, 100}, // 4 spins
+ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 60} // 5 spins
};
static const u16 sReelTimeExplodeProbability[] = {
128, 175, 200, 225, 256
};
-static const u16 sReelIncrementTable[][2] = {
+// Column 0: Probability of half-speed
+// Column 1: Base probability of quarter-speed
+static const u16 sReelTimeSpeed_Probabilities[][2] = {
{10, 5},
{10, 10},
{10, 15},
@@ -4860,55 +5450,62 @@ static const u16 sReelIncrementTable[][2] = {
{10, 35}
};
-static const u16 sReelTimeBonusIncrementTable[] = {
+// Boosted odds of quarter speed during ReelTime
+static const u16 sQuarterSpeed_ProbabilityBoost[] = {
0, 5, 10, 15, 20
};
-// tentative name
-static const u8 sBiasTags[] = {
- GFXTAG_REPLAY, GFXTAG_CHERRY, GFXTAG_LOTAD, GFXTAG_AZURILL, GFXTAG_POWER, GFXTAG_7_RED, GFXTAG_7_RED, GFXTAG_7_RED
+static const u8 sBiasSymbols[] = {
+ SYMBOL_REPLAY, // BIAS_REPLAY
+ SYMBOL_CHERRY, // BIAS_CHERRY
+ SYMBOL_LOTAD, // BIAS_LOTAD
+ SYMBOL_AZURILL, // BIAS_AZURILL
+ SYMBOL_POWER, // BIAS_POWER
+ SYMBOL_7_RED, // BIAS_REELTIME
+ SYMBOL_7_RED, // BIAS_MIXED_7
+ SYMBOL_7_RED // BIAS_STRAIGHT_7
};
-static const u16 sLuckyFlagSettings_Top3[] = {
- LUCKY_BIAS_777, LUCKY_BIAS_REELTIME, LUCKY_BIAS_MIXED_777
+static const u16 sBiasesSpecial[] = {
+ BIAS_STRAIGHT_7, BIAS_REELTIME, BIAS_MIXED_7
};
-static const u16 sLuckyFlagSettings_NotTop3[] = {
- LUCKY_BIAS_POWER, LUCKY_BIAS_AZURILL, LUCKY_BIAS_LOTAD, LUCKY_BIAS_CHERRY, LUCKY_BIAS_REPLAY
+static const u16 sBiasesRegular[] = {
+ BIAS_POWER, BIAS_AZURILL, BIAS_LOTAD, BIAS_CHERRY, BIAS_REPLAY
};
-static const u8 sSymToMatch[] = {
- [GFXTAG_7_RED] = MATCHED_777_RED,
- [GFXTAG_7_BLUE] = MATCHED_777_BLUE,
- [GFXTAG_AZURILL] = MATCHED_AZURILL,
- [GFXTAG_LOTAD] = MATCHED_LOTAD,
- [GFXTAG_CHERRY] = MATCHED_1CHERRY,
- [GFXTAG_POWER] = MATCHED_POWER,
- [GFXTAG_REPLAY] = MATCHED_REPLAY
+static const u8 sSymbolToMatch[] = {
+ [SYMBOL_7_RED] = MATCH_RED_7,
+ [SYMBOL_7_BLUE] = MATCH_BLUE_7,
+ [SYMBOL_AZURILL] = MATCH_AZURILL,
+ [SYMBOL_LOTAD] = MATCH_LOTAD,
+ [SYMBOL_CHERRY] = MATCH_CHERRY,
+ [SYMBOL_POWER] = MATCH_POWER,
+ [SYMBOL_REPLAY] = MATCH_REPLAY
};
static const u16 sSlotMatchFlags[] = {
- [MATCHED_1CHERRY] = 1 << MATCHED_1CHERRY,
- [MATCHED_2CHERRY] = 1 << MATCHED_2CHERRY,
- [MATCHED_REPLAY] = 1 << MATCHED_REPLAY,
- [MATCHED_LOTAD] = 1 << MATCHED_LOTAD,
- [MATCHED_AZURILL] = 1 << MATCHED_AZURILL,
- [MATCHED_POWER] = 1 << MATCHED_POWER,
- [MATCHED_777_MIXED] = 1 << MATCHED_777_MIXED,
- [MATCHED_777_RED] = 1 << MATCHED_777_RED,
- [MATCHED_777_BLUE] = 1 << MATCHED_777_BLUE
+ [MATCH_CHERRY] = 1 << MATCH_CHERRY,
+ [MATCH_TOPBOT_CHERRY] = 1 << MATCH_TOPBOT_CHERRY,
+ [MATCH_REPLAY] = 1 << MATCH_REPLAY,
+ [MATCH_LOTAD] = 1 << MATCH_LOTAD,
+ [MATCH_AZURILL] = 1 << MATCH_AZURILL,
+ [MATCH_POWER] = 1 << MATCH_POWER,
+ [MATCH_MIXED_7] = 1 << MATCH_MIXED_7,
+ [MATCH_RED_7] = 1 << MATCH_RED_7,
+ [MATCH_BLUE_7] = 1 << MATCH_BLUE_7
};
static const u16 sSlotPayouts[] = {
- [MATCHED_1CHERRY] = 2,
- [MATCHED_2CHERRY] = 4,
- [MATCHED_REPLAY] = 0,
- [MATCHED_LOTAD] = 6,
- [MATCHED_AZURILL] = 12,
- [MATCHED_POWER] = 3,
- [MATCHED_777_MIXED] = 90,
- [MATCHED_777_RED] = 300,
- [MATCHED_777_BLUE] = 300
+ [MATCH_CHERRY] = 2,
+ [MATCH_TOPBOT_CHERRY] = 4,
+ [MATCH_REPLAY] = 0,
+ [MATCH_LOTAD] = 6,
+ [MATCH_AZURILL] = 12,
+ [MATCH_POWER] = 3,
+ [MATCH_MIXED_7] = 90,
+ [MATCH_RED_7] = 300,
+ [MATCH_BLUE_7] = 300
};
static const s16 sDigitalDisplay_SpriteCoords[][2] = {
@@ -5708,7 +6305,7 @@ static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Insert =
static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Stop =
{
- .tileTag = 18,
+ .tileTag = GFXTAG_STOP,
.paletteTag = PALTAG_DIG_DISPLAY,
.oam = &sOam_8x8,
.anims = sAnims_SingleFrame,
@@ -5741,7 +6338,7 @@ static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Lose =
static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Bonus =
{
- .tileTag = 19,
+ .tileTag = GFXTAG_BONUS,
.paletteTag = PALTAG_DIG_DISPLAY,
.oam = &sOam_8x8,
.anims = sAnims_SingleFrame,
@@ -5752,7 +6349,7 @@ static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Bonus =
static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Big =
{
- .tileTag = 20,
+ .tileTag = GFXTAG_BIG,
.paletteTag = PALTAG_DIG_DISPLAY,
.oam = &sOam_8x8,
.anims = sAnims_SingleFrame,
@@ -5763,7 +6360,7 @@ static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Big =
static const struct SpriteTemplate sSpriteTemplate_DigitalDisplay_Reg =
{
- .tileTag = 21,
+ .tileTag = GFXTAG_REG,
.paletteTag = PALTAG_DIG_DISPLAY,
.oam = &sOam_8x8,
.anims = sAnims_SingleFrame,
@@ -7102,18 +7699,18 @@ static const struct SpriteSheet sSlotMachineSpriteSheets[22] =
static const u8 *const sReelBackground_Tilemap = gSlotMachineReelBackground_Tilemap;
-static const u16 sUnused[] =
+static const u16 sUnusedColors[] =
{
- 0x6F7B,
- 0x6968,
- 0x36AB,
- 0x7FFF,
- 0x5750,
- 0x7EC0,
- 0x02BA,
- 0x02BA,
- 0x01FD,
- 0x01FD,
+ RGB(27, 27, 27),
+ RGB(8, 11, 26),
+ RGB(11, 21, 13),
+ RGB(31, 31, 31),
+ RGB(16, 26, 21),
+ RGB(0, 22, 31),
+ RGB(26, 21, 0),
+ RGB(26, 21, 0),
+ RGB(29, 15, 0),
+ RGB(29, 15, 0),
};
// The Bet 2 and 3 match line palettes are duplicated unnecessarily
@@ -7151,8 +7748,8 @@ static const u8 sMatchLinePalOffsets[NUM_MATCH_LINES] = {
static const u8 sBetToMatchLineIds[MAX_BET][2] =
{
{MATCH_MIDDLE_ROW, MATCH_MIDDLE_ROW}, // Bet 1
- {MATCH_TOP_ROW, MATCH_BOTTOM_ROW}, // Bet 2
- {MATCH_NWSE_DIAG, MATCH_NESW_DIAG}, // Bet 3
+ {MATCH_TOP_ROW, MATCH_BOTTOM_ROW}, // Bet 2
+ {MATCH_NWSE_DIAG, MATCH_NESW_DIAG}, // Bet 3
};
static const u8 sMatchLinesPerBet[MAX_BET] = { 1, 2, 2 };
@@ -7182,7 +7779,10 @@ static const u16 *const sPokeballShiningPalTable[] =
};
static const u16 *const sDigitalDisplay_Pal = gSlotMachineDigitalDisplay_Pal;
-static const u16 sUnkPalette[] = INCBIN_U16("graphics/slot_machine/85A8524.bin");
+static const u16 sUnkPalette[16] = {
+ [1] = RGB_WHITEALPHA,
+ [3] = RGB(8, 8, 8),
+};
static const struct SpritePalette sSlotMachineSpritePalettes[] =
{
diff --git a/src/starter_choose.c b/src/starter_choose.c
index ca393c4d81..81a88e7714 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -53,17 +53,17 @@ static u16 sStarterLabelWindowId;
const u16 gBirchBagGrassPal[][16] =
{
- INCBIN_U16("graphics/misc/birch_bag.gbapal"),
- INCBIN_U16("graphics/misc/birch_grass.gbapal"),
+ INCBIN_U16("graphics/starter_choose/birch_bag.gbapal"),
+ INCBIN_U16("graphics/starter_choose/birch_grass.gbapal"),
};
-static const u16 sPokeballSelection_Pal[] = INCBIN_U16("graphics/misc/pokeball_selection.gbapal");
-static const u16 sStarterCircle_Pal[] = INCBIN_U16("graphics/misc/starter_circle.gbapal");
-const u32 gBirchBagTilemap[] = INCBIN_U32("graphics/misc/birch_bag_map.bin.lz");
-const u32 gBirchGrassTilemap[] = INCBIN_U32("graphics/misc/birch_grass_map.bin.lz");
-const u32 gBirchHelpGfx[] = INCBIN_U32("graphics/misc/birch_help.4bpp.lz"); // Birch bag and grass combined
-const u32 gPokeballSelection_Gfx[] = INCBIN_U32("graphics/misc/pokeball_selection.4bpp.lz");
-static const u32 sStarterCircle_Gfx[] = INCBIN_U32("graphics/misc/starter_circle.4bpp.lz");
+static const u16 sPokeballSelection_Pal[] = INCBIN_U16("graphics/starter_choose/pokeball_selection.gbapal");
+static const u16 sStarterCircle_Pal[] = INCBIN_U16("graphics/starter_choose/starter_circle.gbapal");
+const u32 gBirchBagTilemap[] = INCBIN_U32("graphics/starter_choose/birch_bag.bin.lz");
+const u32 gBirchGrassTilemap[] = INCBIN_U32("graphics/starter_choose/birch_grass.bin.lz");
+const u32 gBirchHelpGfx[] = INCBIN_U32("graphics/starter_choose/birch_help.4bpp.lz"); // Birch bag and grass combined
+const u32 gPokeballSelection_Gfx[] = INCBIN_U32("graphics/starter_choose/pokeball_selection.4bpp.lz");
+static const u32 sStarterCircle_Gfx[] = INCBIN_U32("graphics/starter_choose/starter_circle.4bpp.lz");
static const struct WindowTemplate sWindowTemplates[] =
{
diff --git a/src/tileset_anims.c b/src/tileset_anims.c
index 71f8044f9f..3676006a6a 100644
--- a/src/tileset_anims.c
+++ b/src/tileset_anims.c
@@ -632,45 +632,45 @@ void InitTilesetAnim_Building(void)
static void TilesetAnim_General(u16 timer)
{
if (timer % 16 == 0)
- QueueAnimTiles_General_Flower(timer >> 4);
+ QueueAnimTiles_General_Flower(timer / 16);
if (timer % 16 == 1)
- QueueAnimTiles_General_Water(timer >> 4);
+ QueueAnimTiles_General_Water(timer / 16);
if (timer % 16 == 2)
- QueueAnimTiles_General_SandWaterEdge(timer >> 4);
+ QueueAnimTiles_General_SandWaterEdge(timer / 16);
if (timer % 16 == 3)
- QueueAnimTiles_General_Waterfall(timer >> 4);
+ QueueAnimTiles_General_Waterfall(timer / 16);
if (timer % 16 == 4)
- QueueAnimTiles_General_LandWaterEdge(timer >> 4);
+ QueueAnimTiles_General_LandWaterEdge(timer / 16);
}
static void TilesetAnim_Building(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_Building_TVTurnedOn(timer >> 3);
+ QueueAnimTiles_Building_TVTurnedOn(timer / 8);
}
static void QueueAnimTiles_General_Flower(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_General_Flower[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(508)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_General_Flower);
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_Flower[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(508)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_General_Water(u16 timer)
{
- u8 i = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_General_Water[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(432)), 0x3C0);
+ u8 i = timer % ARRAY_COUNT(gTilesetAnims_General_Water);
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_Water[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(432)), 30 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_General_SandWaterEdge(u16 timer)
{
- u16 i = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_General_SandWaterEdge[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(464)), 0x140);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_General_SandWaterEdge);
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_SandWaterEdge[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(464)), 10 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_General_Waterfall(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_General_Waterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0xc0);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_General_Waterfall);
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_Waterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 6 * TILE_SIZE_4BPP);
}
void InitTilesetAnim_Petalburg(void)
@@ -838,336 +838,336 @@ static void TilesetAnim_Rustboro(u16 timer)
{
if (timer % 8 == 0)
{
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 0);
- QueueAnimTiles_Rustboro_Fountain(timer >> 3);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 0);
+ QueueAnimTiles_Rustboro_Fountain(timer / 8);
}
if (timer % 8 == 1)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 1);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 1);
if (timer % 8 == 2)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 2);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 2);
if (timer % 8 == 3)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 3);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 3);
if (timer % 8 == 4)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 4);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 4);
if (timer % 8 == 5)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 5);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 5);
if (timer % 8 == 6)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 6);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 6);
if (timer % 8 == 7)
- QueueAnimTiles_Rustboro_WindyWater(timer >> 3, 7);
+ QueueAnimTiles_Rustboro_WindyWater(timer / 8, 7);
}
static void TilesetAnim_Dewford(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_Dewford_Flag(timer >> 3);
+ QueueAnimTiles_Dewford_Flag(timer / 8);
}
static void TilesetAnim_Slateport(u16 timer)
{
if (timer % 16 == 0)
- QueueAnimTiles_Slateport_Balloons(timer >> 4);
+ QueueAnimTiles_Slateport_Balloons(timer / 16);
}
static void TilesetAnim_Mauville(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 0);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 0);
if (timer % 8 == 1)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 1);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 1);
if (timer % 8 == 2)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 2);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 2);
if (timer % 8 == 3)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 3);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 3);
if (timer % 8 == 4)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 4);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 4);
if (timer % 8 == 5)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 5);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 5);
if (timer % 8 == 6)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 6);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 6);
if (timer % 8 == 7)
- QueueAnimTiles_Mauville_Flowers(timer >> 3, 7);
+ QueueAnimTiles_Mauville_Flowers(timer / 8, 7);
}
static void TilesetAnim_Lavaridge(u16 timer)
{
if (timer % 16 == 0)
- QueueAnimTiles_Lavaridge_Steam(timer >> 4);
+ QueueAnimTiles_Lavaridge_Steam(timer / 16);
if (timer % 16 == 1)
- QueueAnimTiles_Lavaridge_Lava(timer >> 4);
+ QueueAnimTiles_Lavaridge_Lava(timer / 16);
}
static void TilesetAnim_EverGrande(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 0);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 0);
if (timer % 8 == 1)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 1);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 1);
if (timer % 8 == 2)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 2);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 2);
if (timer % 8 == 3)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 3);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 3);
if (timer % 8 == 4)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 4);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 4);
if (timer % 8 == 5)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 5);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 5);
if (timer % 8 == 6)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 6);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 6);
if (timer % 8 == 7)
- QueueAnimTiles_EverGrande_Flowers(timer >> 3, 7);
+ QueueAnimTiles_EverGrande_Flowers(timer / 8, 7);
}
static void TilesetAnim_Pacifidlog(u16 timer)
{
if (timer % 16 == 0)
- QueueAnimTiles_Pacifidlog_LogBridges(timer >> 4);
+ QueueAnimTiles_Pacifidlog_LogBridges(timer / 16);
if (timer % 16 == 1)
- QueueAnimTiles_Pacifidlog_WaterCurrents(timer >> 4);
+ QueueAnimTiles_Pacifidlog_WaterCurrents(timer / 16);
}
static void TilesetAnim_Sootopolis(u16 timer)
{
if (timer % 16 == 0)
- QueueAnimTiles_Sootopolis_StormyWater(timer >> 4);
+ QueueAnimTiles_Sootopolis_StormyWater(timer / 16);
}
static void TilesetAnim_Underwater(u16 timer)
{
if (timer % 16 == 0)
- QueueAnimTiles_Underwater_Seaweed(timer >> 4);
+ QueueAnimTiles_Underwater_Seaweed(timer / 16);
}
static void TilesetAnim_Cave(u16 timer)
{
if (timer % 16 == 1)
- QueueAnimTiles_Cave_Lava(timer >> 4);
+ QueueAnimTiles_Cave_Lava(timer / 16);
}
static void TilesetAnim_BattleFrontierOutsideWest(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_BattleFrontierOutsideWest_Flag(timer >> 3);
+ QueueAnimTiles_BattleFrontierOutsideWest_Flag(timer / 8);
}
static void TilesetAnim_BattleFrontierOutsideEast(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_BattleFrontierOutsideEast_Flag(timer >> 3);
+ QueueAnimTiles_BattleFrontierOutsideEast_Flag(timer / 8);
}
static void QueueAnimTiles_General_LandWaterEdge(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_General_LandWaterEdge[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(480)), 0x140);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_General_LandWaterEdge);
+ AppendTilesetAnimToBuffer(gTilesetAnims_General_LandWaterEdge[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(480)), 10 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Lavaridge_Steam(u8 timer)
{
- u8 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Steam[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 288)), 0x80);
+ u8 i = timer % ARRAY_COUNT(gTilesetAnims_Lavaridge_Steam);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Steam[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 288)), 4 * TILE_SIZE_4BPP);
- i = (timer + 2) % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Steam[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 292)), 0x80);
+ i = (timer + 2) % (int)ARRAY_COUNT(gTilesetAnims_Lavaridge_Steam);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Steam[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 292)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Pacifidlog_LogBridges(u8 timer)
{
- u8 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog_LogBridges[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x3C0);
+ u8 i = timer % ARRAY_COUNT(gTilesetAnims_Pacifidlog_LogBridges);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog_LogBridges[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 30 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Underwater_Seaweed(u8 timer)
{
- u8 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Underwater_Seaweed[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x80);
+ u8 i = timer % ARRAY_COUNT(gTilesetAnims_Underwater_Seaweed);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Underwater_Seaweed[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Pacifidlog_WaterCurrents(u8 timer)
{
- u8 i = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog_WaterCurrents[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x100);
+ u8 i = timer % ARRAY_COUNT(gTilesetAnims_Pacifidlog_WaterCurrents);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog_WaterCurrents[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 8 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Mauville_Flowers(u16 timer_div, u8 timer_mod)
{
timer_div -= timer_mod;
- if (timer_div < 12) // almost certainly a typo
+ if (timer_div < min(ARRAY_COUNT(gTilesetAnims_Mauville_Flower1), ARRAY_COUNT(gTilesetAnims_Mauville_Flower2)))
{
- timer_div %= 12;
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower1[timer_div], gTilesetAnims_Mauville_Flower1_VDests[timer_mod], 0x80);
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower2[timer_div], gTilesetAnims_Mauville_Flower2_VDests[timer_mod], 0x80);
+ timer_div %= min(ARRAY_COUNT(gTilesetAnims_Mauville_Flower1), ARRAY_COUNT(gTilesetAnims_Mauville_Flower2));
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower1[timer_div], gTilesetAnims_Mauville_Flower1_VDests[timer_mod], 4 * TILE_SIZE_4BPP);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower2[timer_div], gTilesetAnims_Mauville_Flower2_VDests[timer_mod], 4 * TILE_SIZE_4BPP);
}
else
{
- timer_div %= 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower1_B[timer_div], gTilesetAnims_Mauville_Flower1_VDests[timer_mod], 0x80);
- AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower2_B[timer_div], gTilesetAnims_Mauville_Flower2_VDests[timer_mod], 0x80);
+ timer_div %= min(ARRAY_COUNT(gTilesetAnims_Mauville_Flower1_B), ARRAY_COUNT(gTilesetAnims_Mauville_Flower2_B));
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower1_B[timer_div], gTilesetAnims_Mauville_Flower1_VDests[timer_mod], 4 * TILE_SIZE_4BPP);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville_Flower2_B[timer_div], gTilesetAnims_Mauville_Flower2_VDests[timer_mod], 4 * TILE_SIZE_4BPP);
}
}
static void QueueAnimTiles_Rustboro_WindyWater(u16 timer_div, u8 timer_mod)
{
timer_div -= timer_mod;
- timer_div %= 8;
+ timer_div %= ARRAY_COUNT(gTilesetAnims_Rustboro_WindyWater);
if (gTilesetAnims_Rustboro_WindyWater[timer_div])
- AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro_WindyWater[timer_div], gTilesetAnims_Rustboro_WindyWater_VDests[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro_WindyWater[timer_div], gTilesetAnims_Rustboro_WindyWater_VDests[timer_mod], 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Rustboro_Fountain(u16 timer)
{
- u16 i = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro_Fountain[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 448)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Rustboro_Fountain);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro_Fountain[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 448)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Lavaridge_Lava(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Cave_Lava[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 160)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Lavaridge_Cave_Lava);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Cave_Lava[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 160)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_EverGrande_Flowers(u16 timer_div, u8 timer_mod)
{
timer_div -= timer_mod;
- timer_div %= 8;
+ timer_div %= ARRAY_COUNT(gTilesetAnims_EverGrande_Flowers);
- AppendTilesetAnimToBuffer(gTilesetAnims_EverGrande_Flowers[timer_div], gTilesetAnims_EverGrande_VDests[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_EverGrande_Flowers[timer_div], gTilesetAnims_EverGrande_VDests[timer_mod], 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Cave_Lava(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Cave_Lava[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 416)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Lavaridge_Cave_Lava);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge_Cave_Lava[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 416)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Dewford_Flag(u16 timer)
{
- u16 id = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Dewford_Flag[id], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 170)), 0xC0);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Dewford_Flag);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Dewford_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 170)), 6 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_BattleFrontierOutsideWest_Flag(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_BattleFrontierOutsideWest_Flag);
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 6 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_BattleFrontierOutsideEast_Flag(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 0xC0);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_BattleFrontierOutsideEast_Flag);
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast_Flag[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 218)), 6 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Slateport_Balloons(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_Slateport_Balloons[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Slateport_Balloons);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Slateport_Balloons[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 224)), 4 * TILE_SIZE_4BPP);
}
static void TilesetAnim_MauvilleGym(u16 timer)
{
if (timer % 2 == 0)
- QueueAnimTiles_MauvilleGym_ElectricGates(timer >> 1);
+ QueueAnimTiles_MauvilleGym_ElectricGates(timer / 2);
}
static void TilesetAnim_SootopolisGym(u16 timer)
{
if (timer % 8 == 0)
- QueueAnimTiles_SootopolisGym_Waterfalls(timer >> 3);
+ QueueAnimTiles_SootopolisGym_Waterfalls(timer / 8);
}
static void TilesetAnim_EliteFour(u16 timer)
{
if (timer % 64 == 1)
- QueueAnimTiles_EliteFour_GroundLights(timer >> 6);
+ QueueAnimTiles_EliteFour_GroundLights(timer / 64);
if (timer % 8 == 1)
- QueueAnimTiles_EliteFour_WallLights(timer >> 3);
+ QueueAnimTiles_EliteFour_WallLights(timer / 8);
}
static void TilesetAnim_BikeShop(u16 timer)
{
if (timer % 4 == 0)
- QueueAnimTiles_BikeShop_BlinkingLights(timer >> 2);
+ QueueAnimTiles_BikeShop_BlinkingLights(timer / 4);
}
static void TilesetAnim_BattlePyramid(u16 timer)
{
if (timer % 8 == 0)
{
- QueueAnimTiles_BattlePyramid_Torch(timer >> 3);
- QueueAnimTiles_BattlePyramid_StatueShadow(timer >> 3);
+ QueueAnimTiles_BattlePyramid_Torch(timer / 8);
+ QueueAnimTiles_BattlePyramid_StatueShadow(timer / 8);
}
}
static void TilesetAnim_BattleDome(u16 timer)
{
if (timer % 4 == 0)
- BlendAnimPalette_BattleDome_FloorLights(timer >> 2);
+ BlendAnimPalette_BattleDome_FloorLights(timer / 4);
}
static void TilesetAnim_BattleDome2(u16 timer)
{
if (timer % 4 == 0)
- BlendAnimPalette_BattleDome_FloorLightsNoBlend(timer >> 2);
+ BlendAnimPalette_BattleDome_FloorLightsNoBlend(timer / 4);
}
static void QueueAnimTiles_Building_TVTurnedOn(u16 timer)
{
- u16 i = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_Building_TvTurnedOn[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Building_TvTurnedOn);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Building_TvTurnedOn[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(496)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_SootopolisGym_Waterfalls(u16 timer)
{
- u16 i = timer % 3;
- AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym_SideWaterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x180);
- AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym_FrontWaterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 0x280);
+ u16 i = timer % min(ARRAY_COUNT(gTilesetAnims_SootopolisGym_SideWaterfall), ARRAY_COUNT(gTilesetAnims_SootopolisGym_FrontWaterfall));
+ AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym_SideWaterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 12 * TILE_SIZE_4BPP);
+ AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym_FrontWaterfall[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 464)), 20 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_EliteFour_WallLights(u16 timer)
{
- u16 i = timer % 4;
- AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour_WallLights[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 504)), 0x20);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_EliteFour_WallLights);
+ AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour_WallLights[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 504)), 1 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_EliteFour_GroundLights(u16 timer)
{
- u16 i = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour_FloorLight[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 480)), 0x80);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_EliteFour_FloorLight);
+ AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour_FloorLight[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 480)), 4 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_MauvilleGym_ElectricGates(u16 timer)
{
- u16 i = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym_ElectricGates[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), 0x200);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_MauvilleGym_ElectricGates);
+ AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym_ElectricGates[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 144)), 16 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_BikeShop_BlinkingLights(u16 timer)
{
- u16 i = timer % 2;
- AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop_BlinkingLights[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 0x120);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_BikeShop_BlinkingLights);
+ AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop_BlinkingLights[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 496)), 9 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_Sootopolis_StormyWater(u16 timer)
{
- u16 i = timer % 8;
- AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis_StormyWater[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 240)), 0xc00);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_Sootopolis_StormyWater);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis_StormyWater[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 240)), 96 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_BattlePyramid_Torch(u16 timer)
{
- u16 i = timer % 3;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid_Torch[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 151)), 0x100);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_BattlePyramid_Torch);
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid_Torch[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 151)), 8 * TILE_SIZE_4BPP);
}
static void QueueAnimTiles_BattlePyramid_StatueShadow(u16 timer)
{
- u16 i = timer % 3;
- AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid_StatueShadow[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 135)), 0x100);
+ u16 i = timer % ARRAY_COUNT(gTilesetAnims_BattlePyramid_StatueShadow);
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid_StatueShadow[i], (u16 *)(BG_VRAM + TILE_OFFSET_4BPP(NUM_TILES_IN_PRIMARY + 135)), 8 * TILE_SIZE_4BPP);
}
static void BlendAnimPalette_BattleDome_FloorLights(u16 timer)
{
- CpuCopy16(gTilesetAnims_BattleDomeFloorLightPals[timer % 4], gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gTilesetAnims_BattleDomeFloorLightPals[timer % ARRAY_COUNT(gTilesetAnims_BattleDomeFloorLightPals)], &gPlttBufferUnfaded[0x80], 32);
BlendPalette(0x80, 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
if ((u8)FindTaskIdByFunc(Task_BattleTransition_Intro) != TASK_NONE)
{
@@ -1178,7 +1178,7 @@ static void BlendAnimPalette_BattleDome_FloorLights(u16 timer)
static void BlendAnimPalette_BattleDome_FloorLightsNoBlend(u16 timer)
{
- CpuCopy16(gTilesetAnims_BattleDomeFloorLightPals[timer % 4], gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gTilesetAnims_BattleDomeFloorLightPals[timer % ARRAY_COUNT(gTilesetAnims_BattleDomeFloorLightPals)], &gPlttBufferUnfaded[0x80], 32);
if ((u8)FindTaskIdByFunc(Task_BattleTransition_Intro) == TASK_NONE)
{
BlendPalette(0x80, 16, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
diff --git a/src/title_screen.c b/src/title_screen.c
index 93e01327c2..d64ee6024f 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -52,7 +52,7 @@ static void SpriteCB_PressStartCopyrightBanner(struct Sprite *sprite);
static void SpriteCB_PokemonLogoShine(struct Sprite *sprite);
// const rom data
-static const u16 sUnusedUnknownPal[] = INCBIN_U16("graphics/title_screen/unk_853EF78.gbapal");
+static const u16 sUnusedUnknownPal[] = INCBIN_U16("graphics/title_screen/unused.gbapal");
static const u32 sTitleScreenRayquazaGfx[] = INCBIN_U32("graphics/title_screen/rayquaza.4bpp.lz");
static const u32 sTitleScreenRayquazaTilemap[] = INCBIN_U32("graphics/title_screen/rayquaza.bin.lz");
diff --git a/src/trade.c b/src/trade.c
index a1e4f7094e..dd0851bbda 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -44,7 +44,6 @@
#include "util.h"
#include "window.h"
#include "constants/contest.h"
-#include "constants/easy_chat.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/region_map_sections.h"
@@ -1395,7 +1394,7 @@ static void TradeMenuProcessInput(void)
DrawTextBorderOuter(1, 1, 14);
FillWindowPixelBuffer(1, PIXEL_FILL(1));
PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions);
- InitMenuInUpperLeftCornerNormal(1, 2, 0);
+ InitMenuInUpperLeftCornerNormal(1, ARRAY_COUNT(sSelectTradeMonActions), 0);
PutWindowTilemap(1);
CopyWindowToVram(1, COPYWIN_FULL);
sTradeMenuData->tradeMenuFunc = TRADEMENUFUNC_SELECTED_MON;
@@ -1880,7 +1879,7 @@ static u8 GetMonNicknameWidth(u8 *str, u8 whichParty, u8 monIdx)
else
GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname);
- StringCopy10(str, nickname);
+ StringCopy_Nickname(str, nickname);
return GetStringWidth(FONT_SMALL, str, GetFontAttribute(FONT_SMALL, FONTATTR_LETTER_SPACING));
}
@@ -1942,7 +1941,7 @@ static void PrintPartyNicknamesForTradeMenu(u8 whichParty)
for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
{
GetMonData(&party[i], MON_DATA_NICKNAME, nickname);
- StringCopy10(str, nickname);
+ StringCopy_Nickname(str, nickname);
PrintMonNicknameForTradeMenu(whichParty, i, str);
}
}
@@ -3266,17 +3265,17 @@ static void BufferTradeSceneStrings(void)
mpId = GetMultiplayerId();
StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name);
GetMonData(&gEnemyParty[gSelectedTradeMonPositions[TRADE_PARTNER] % PARTY_SIZE], MON_DATA_NICKNAME, name);
- StringCopy10(gStringVar3, name);
+ StringCopy_Nickname(gStringVar3, name);
GetMonData(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], MON_DATA_NICKNAME, name);
- StringCopy10(gStringVar2, name);
+ StringCopy_Nickname(gStringVar2, name);
}
else
{
ingameTrade = &sIngameTrades[gSpecialVar_0x8004];
StringCopy(gStringVar1, ingameTrade->otName);
- StringCopy10(gStringVar3, ingameTrade->nickname);
+ StringCopy_Nickname(gStringVar3, ingameTrade->nickname);
GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name);
- StringCopy10(gStringVar2, name);
+ StringCopy_Nickname(gStringVar2, name);
}
}
@@ -4479,7 +4478,7 @@ static void BufferInGameTradeMonName(void)
u8 nickname[32];
const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004];
GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname);
- StringCopy10(gStringVar1, nickname);
+ StringCopy_Nickname(gStringVar1, nickname);
StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]);
}
@@ -4531,7 +4530,8 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade)
CalculateMonStats(&gEnemyParty[0]);
}
-static void SetInGameTradeMail(struct Mail *mail, const struct InGameTrade *trade) {
+static void SetInGameTradeMail(struct Mail *mail, const struct InGameTrade *trade)
+{
s32 i;
for (i = 0; i < MAIL_WORDS_COUNT; i++)
diff --git a/src/trader.c b/src/trader.c
index 1d4424e751..040ee695b3 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[] =
+static const u8 * const sDefaultTraderNames[NUM_TRADER_ITEMS] =
{
gText_Tristan,
gText_Philip,
@@ -23,7 +23,7 @@ static const u8 * const sDefaultTraderNames[] =
gText_Roberto,
};
-static const u8 sDefaultTraderDecorations[] =
+static const u8 sDefaultTraderDecorations[NUM_TRADER_ITEMS] =
{
DECOR_DUSKULL_DOLL,
DECOR_BALL_CUSHION,
@@ -39,7 +39,7 @@ void TraderSetup(void)
trader->id = MAUVILLE_MAN_TRADER;
trader->alreadyTraded = FALSE;
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
StringCopy(trader->playerNames[i], sDefaultTraderNames[i]);
trader->decorations[i] = sDefaultTraderDecorations[i];
@@ -53,15 +53,25 @@ void Trader_ResetFlag(void)
trader->alreadyTraded = FALSE;
}
+#define tWindowId data[3]
+
void CreateAvailableDecorationsMenu(u8 taskId)
{
u8 i;
s16 * data = gTasks[taskId].data;
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
- struct WindowTemplate windowTemplate = {0, 1, 1, 10, 10, 15, 1};
+ struct WindowTemplate windowTemplate = {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 10,
+ .height = 10,
+ .paletteNum = 15,
+ .baseBlock = 1
+ };
s32 windowWidth = GetStringWidth(FONT_NORMAL, gText_Exit, 0);
s32 fiveMarksWidth = GetStringWidth(FONT_NORMAL, gText_FiveMarks, 0);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
s32 curWidth;
if (trader->decorations[i] > NUM_DECORATIONS)
@@ -72,17 +82,17 @@ void CreateAvailableDecorationsMenu(u8 taskId)
windowWidth = curWidth;
}
windowTemplate.width = ConvertPixelWidthToTileWidth(windowWidth);
- data[3] = AddWindow(&windowTemplate);
- DrawStdFrameWithCustomTileAndPalette(data[3], FALSE, 0x214, 14);
- for (i = 0; i < 4; i++)
+ tWindowId = AddWindow(&windowTemplate);
+ DrawStdFrameWithCustomTileAndPalette(tWindowId, FALSE, 0x214, 14);
+ for (i = 0; i < NUM_TRADER_ITEMS; i++)
{
if (trader->decorations[i] > NUM_DECORATIONS)
- AddTextPrinterParameterized(data[3], FONT_NORMAL, gText_FiveMarks, 8, 16 * i + 1, 255, NULL);
+ AddTextPrinterParameterized(tWindowId, FONT_NORMAL, gText_FiveMarks, 8, 16 * i + 1, TEXT_SKIP_DRAW, NULL);
else
- AddTextPrinterParameterized(data[3], FONT_NORMAL, gDecorations[trader->decorations[i]].name, 8, 16 * i + 1, 255, NULL);
+ AddTextPrinterParameterized(tWindowId, FONT_NORMAL, gDecorations[trader->decorations[i]].name, 8, 16 * i + 1, TEXT_SKIP_DRAW, NULL);
}
- AddTextPrinterParameterized(data[3], FONT_NORMAL, gText_Exit, 8, 16 * i + 1, 255, NULL);
- InitMenuInUpperLeftCornerNormal(data[3], 5, 0);
+ AddTextPrinterParameterized(tWindowId, FONT_NORMAL, gText_Exit, 8, 16 * i + 1, TEXT_SKIP_DRAW, NULL);
+ InitMenuInUpperLeftCornerNormal(tWindowId, NUM_TRADER_ITEMS + 1, 0);
ScheduleBgCopyTilemapToVram(0);
}
@@ -90,17 +100,13 @@ void Task_BufferDecorSelectionAndCloseWindow(u8 taskId, u8 decorationId)
{
s16 * data = gTasks[taskId].data;
if (decorationId > NUM_DECORATIONS)
- {
gSpecialVar_0x8004 = 0xFFFF;
- }
else
- {
gSpecialVar_0x8004 = decorationId;
- }
- ClearStdWindowAndFrameToTransparent(data[3], FALSE);
- ClearWindowTilemap(data[3]);
- RemoveWindow(data[3]);
+ ClearStdWindowAndFrameToTransparent(tWindowId, FALSE);
+ ClearWindowTilemap(tWindowId);
+ RemoveWindow(tWindowId);
ScheduleBgCopyTilemapToVram(0);
DestroyTask(taskId);
EnableBothScriptContexts();
@@ -116,7 +122,7 @@ void Task_HandleGetDecorationMenuInput(u8 taskId)
case MENU_NOTHING_CHOSEN:
break;
case MENU_B_PRESSED:
- case 4:
+ case NUM_TRADER_ITEMS: // EXIT
PlaySE(SE_SELECT);
Task_BufferDecorSelectionAndCloseWindow(taskId, 0);
break;
@@ -140,7 +146,7 @@ void DoesPlayerHaveNoDecorations(void)
{
u8 i;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < DECORCAT_COUNT; i++)
{
if (GetNumOwnedDecorationsInCategory(i))
{
diff --git a/src/trainer_hill.c b/src/trainer_hill.c
index 2c34f196e5..39c6202a0f 100644
--- a/src/trainer_hill.c
+++ b/src/trainer_hill.c
@@ -28,9 +28,7 @@
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/moves.h"
-#include "constants/maps.h"
#include "constants/trainers.h"
-#include "constants/easy_chat.h"
#include "constants/trainer_hill.h"
#include "constants/trainer_types.h"
@@ -201,7 +199,7 @@ static const u16 *const *const sPrizeListSets[] =
sPrizeLists2
};
-static const u16 sEReader_Pal[] = INCBIN_U16("graphics/misc/trainer_hill_ereader.gbapal");
+static const u16 sEReader_Pal[] = INCBIN_U16("graphics/trainer_hill/ereader.gbapal");
static const u8 sRecordWinColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY};
static const struct TrHillTag *const sDataPerTag[] =
@@ -679,9 +677,9 @@ static u16 GetMetatileForFloor(u8 floorId, u32 x, u32 y, u32 stride) // stride i
impassable = (sHillData->floors[floorId].display.collisionData[y] >> (15 - x) & 1);
metatile = sHillData->floors[floorId].display.metatileData[stride * y + x] + NUM_METATILES_IN_PRIMARY;
- elevation = 3 << METATILE_ELEVATION_SHIFT;
+ elevation = 3 << MAPGRID_ELEVATION_SHIFT;
- return ((impassable << METATILE_COLLISION_SHIFT) & METATILE_COLLISION_MASK) | elevation | (metatile & METATILE_ID_MASK);
+ return ((impassable << MAPGRID_COLLISION_SHIFT) & MAPGRID_COLLISION_MASK) | elevation | (metatile & MAPGRID_METATILE_ID_MASK);
}
void GenerateTrainerHillFloorLayout(u16 *mapArg)
diff --git a/src/trainer_see.c b/src/trainer_see.c
index dfc898cf76..f3e0d7ccdd 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -60,9 +60,9 @@ bool8 gTrainerApproachedPlayer;
EWRAM_DATA u8 gApproachingTrainerId = 0;
// const rom data
-static const u8 sEmotion_ExclamationMarkGfx[] = INCBIN_U8("graphics/misc/emotion_exclamation.4bpp");
-static const u8 sEmotion_QuestionMarkGfx[] = INCBIN_U8("graphics/misc/emotion_question.4bpp");
-static const u8 sEmotion_HeartGfx[] = INCBIN_U8("graphics/misc/emotion_heart.4bpp");
+static const u8 sEmotion_ExclamationMarkGfx[] = INCBIN_U8("graphics/field_effects/pics/emotion_exclamation.4bpp");
+static const u8 sEmotion_QuestionMarkGfx[] = INCBIN_U8("graphics/field_effects/pics/emotion_question.4bpp");
+static const u8 sEmotion_HeartGfx[] = INCBIN_U8("graphics/field_effects/pics/emotion_heart.4bpp");
static u8 (*const sDirectionalApproachDistanceFuncs[])(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) =
{
@@ -373,8 +373,6 @@ static u8 GetTrainerApproachDistanceEast(struct ObjectEvent *trainerObj, s16 ran
return 0;
}
-#define COLLISION_MASK (~1)
-
static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 approachDistance, u8 direction)
{
s16 x, y;
@@ -391,8 +389,9 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 ap
MoveCoords(direction, &x, &y);
for (i = 0; i < approachDistance - 1; i++, MoveCoords(direction, &x, &y))
{
+ // Check for collisions on approach, ignoring the "out of range" collision for regular movement
collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction);
- if (collision != 0 && (collision & COLLISION_MASK))
+ if (collision != 0 && (collision & ~(1 << (COLLISION_OUTSIDE_RANGE - 1))))
return 0;
}
diff --git a/src/tv.c b/src/tv.c
index 310163e94d..b9d064026c 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -36,11 +36,11 @@
#include "data.h"
#include "constants/battle_frontier.h"
#include "constants/contest.h"
+#include "constants/decorations.h"
#include "constants/event_objects.h"
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/lilycove_lady.h"
-#include "constants/maps.h"
#include "constants/metatile_behaviors.h"
#include "constants/metatile_labels.h"
#include "constants/moves.h"
@@ -140,13 +140,13 @@ static void TryPutRandomPokeNewsOnAir(void);
static void SortPurchasesByQuantity(void);
static void UpdateMassOutbreakTimeLeft(u16);
static void TryEndMassOutbreak(u16);
-static void UpdatePokeNewsTimeLeft(u16);
+static void UpdatePokeNewsCountdown(u16);
static void ResolveWorldOfMastersShow(u16);
static void ResolveNumberOneShow(u16);
static void TryPutFishingAdviceOnAir(void);
static u8 MonDataIdxToRibbon(u8);
static void TryPutNumberOneOnAir(u8);
-static bool8 IsPriceDiscounted(u8);
+static bool8 ShouldApplyPokeNewsEffect(u8);
static void TryPutWorldOfMastersOnAir(void);
static void InterviewBefore_FanClubLetter(void);
static void InterviewBefore_RecentHappenings(void);
@@ -228,24 +228,24 @@ static const struct {
}
};
-static const u16 sGoldSymbolFlags[] = {
- FLAG_SYS_TOWER_GOLD,
- FLAG_SYS_DOME_GOLD,
- FLAG_SYS_PALACE_GOLD,
- FLAG_SYS_ARENA_GOLD,
- FLAG_SYS_FACTORY_GOLD,
- FLAG_SYS_PIKE_GOLD,
- FLAG_SYS_PYRAMID_GOLD
+static const u16 sGoldSymbolFlags[NUM_FRONTIER_FACILITIES] = {
+ [FRONTIER_FACILITY_TOWER] = FLAG_SYS_TOWER_GOLD,
+ [FRONTIER_FACILITY_DOME] = FLAG_SYS_DOME_GOLD,
+ [FRONTIER_FACILITY_PALACE] = FLAG_SYS_PALACE_GOLD,
+ [FRONTIER_FACILITY_ARENA] = FLAG_SYS_ARENA_GOLD,
+ [FRONTIER_FACILITY_FACTORY] = FLAG_SYS_FACTORY_GOLD,
+ [FRONTIER_FACILITY_PIKE] = FLAG_SYS_PIKE_GOLD,
+ [FRONTIER_FACILITY_PYRAMID] = FLAG_SYS_PYRAMID_GOLD
};
-static const u16 sSilverSymbolFlags[] = {
- FLAG_SYS_TOWER_SILVER,
- FLAG_SYS_DOME_SILVER,
- FLAG_SYS_PALACE_SILVER,
- FLAG_SYS_ARENA_SILVER,
- FLAG_SYS_FACTORY_SILVER,
- FLAG_SYS_PIKE_SILVER,
- FLAG_SYS_PYRAMID_SILVER
+static const u16 sSilverSymbolFlags[NUM_FRONTIER_FACILITIES] = {
+ [FRONTIER_FACILITY_TOWER] = FLAG_SYS_TOWER_SILVER,
+ [FRONTIER_FACILITY_DOME] = FLAG_SYS_DOME_SILVER,
+ [FRONTIER_FACILITY_PALACE] = FLAG_SYS_PALACE_SILVER,
+ [FRONTIER_FACILITY_ARENA] = FLAG_SYS_ARENA_SILVER,
+ [FRONTIER_FACILITY_FACTORY] = FLAG_SYS_FACTORY_SILVER,
+ [FRONTIER_FACILITY_PIKE] = FLAG_SYS_PIKE_SILVER,
+ [FRONTIER_FACILITY_PYRAMID] = FLAG_SYS_PYRAMID_SILVER
};
static const u16 sNumberOneVarsAndThresholds[][2] = {
@@ -258,28 +258,28 @@ static const u16 sNumberOneVarsAndThresholds[][2] = {
{VAR_DAILY_BP, 30}
};
-static const u8 *const sPokeNewsTextGroup_Upcoming[] = {
- NULL,
- gPokeNewsTextSlateport_Upcoming,
- gPokeNewsTextGameCorner_Upcoming,
- gPokeNewsTextLilycove_Upcoming,
- gPokeNewsTextBlendMaster_Upcoming
+static const u8 *const sPokeNewsTextGroup_Upcoming[NUM_POKENEWS_TYPES + 1] = {
+ [POKENEWS_NONE] = NULL,
+ [POKENEWS_SLATEPORT] = gPokeNewsTextSlateport_Upcoming,
+ [POKENEWS_GAME_CORNER] = gPokeNewsTextGameCorner_Upcoming,
+ [POKENEWS_LILYCOVE] = gPokeNewsTextLilycove_Upcoming,
+ [POKENEWS_BLENDMASTER] = gPokeNewsTextBlendMaster_Upcoming
};
-static const u8 *const sPokeNewsTextGroup_Ongoing[] = {
- NULL,
- gPokeNewsTextSlateport_Ongoing,
- gPokeNewsTextGameCorner_Ongoing,
- gPokeNewsTextLilycove_Ongoing,
- gPokeNewsTextBlendMaster_Ongoing
+static const u8 *const sPokeNewsTextGroup_Ongoing[NUM_POKENEWS_TYPES + 1] = {
+ [POKENEWS_NONE] = NULL,
+ [POKENEWS_SLATEPORT] = gPokeNewsTextSlateport_Ongoing,
+ [POKENEWS_GAME_CORNER] = gPokeNewsTextGameCorner_Ongoing,
+ [POKENEWS_LILYCOVE] = gPokeNewsTextLilycove_Ongoing,
+ [POKENEWS_BLENDMASTER] = gPokeNewsTextBlendMaster_Ongoing
};
-static const u8 *const sPokeNewsTextGroup_Ending[] = {
- NULL,
- gPokeNewsTextSlateport_Ending,
- gPokeNewsTextGameCorner_Ending,
- gPokeNewsTextLilycove_Ending,
- gPokeNewsTextBlendMaster_Ending
+static const u8 *const sPokeNewsTextGroup_Ending[NUM_POKENEWS_TYPES + 1] = {
+ [POKENEWS_NONE] = NULL,
+ [POKENEWS_SLATEPORT] = gPokeNewsTextSlateport_Ending,
+ [POKENEWS_GAME_CORNER] = gPokeNewsTextGameCorner_Ending,
+ [POKENEWS_LILYCOVE] = gPokeNewsTextLilycove_Ending,
+ [POKENEWS_BLENDMASTER] = gPokeNewsTextBlendMaster_Ending
};
u8 *const gTVStringVarPtrs[] = {
@@ -852,7 +852,7 @@ void UpdateTVScreensOnMap(int width, int height)
}
}
-static void SetTVMetatilesOnMap(int width, int height, u16 tileId)
+static void SetTVMetatilesOnMap(int width, int height, u16 metatileId)
{
int x;
int y;
@@ -862,7 +862,7 @@ static void SetTVMetatilesOnMap(int width, int height, u16 tileId)
for (x = 0; x < width; x++)
{
if (MapGridGetMetatileBehaviorAt(x, y) == MB_TELEVISION)
- MapGridSetMetatileIdAt(x, y, tileId | METATILE_COLLISION_MASK);
+ MapGridSetMetatileIdAt(x, y, metatileId | MAPGRID_COLLISION_MASK);
}
}
}
@@ -1526,7 +1526,7 @@ void TryPutSmartShopperOnAir(void)
show->smartshopperShow.itemIds[i] = gMartPurchaseHistory[i].itemId;
show->smartshopperShow.itemAmounts[i] = gMartPurchaseHistory[i].quantity;
}
- show->smartshopperShow.priceReduced = GetPriceReduction(POKENEWS_SLATEPORT);
+ show->smartshopperShow.priceReduced = IsPokeNewsActive(POKENEWS_SLATEPORT);
StringCopy(show->smartshopperShow.playerName, gSaveBlock2Ptr->playerName);
StorePlayerIdInRecordMixShow(show);
show->smartshopperShow.language = gGameLanguage;
@@ -1569,13 +1569,13 @@ void StartMassOutbreak(void)
gSaveBlock1Ptr->outbreakLocationMapNum = show->massOutbreak.locationMapNum;
gSaveBlock1Ptr->outbreakLocationMapGroup = show->massOutbreak.locationMapGroup;
gSaveBlock1Ptr->outbreakPokemonLevel = show->massOutbreak.level;
- gSaveBlock1Ptr->outbreakUnk1 = show->massOutbreak.var02;
- gSaveBlock1Ptr->outbreakUnk2 = show->massOutbreak.var0E;
+ gSaveBlock1Ptr->outbreakUnused1 = show->massOutbreak.unused1;
+ gSaveBlock1Ptr->outbreakUnused2 = show->massOutbreak.unused2;
gSaveBlock1Ptr->outbreakPokemonMoves[0] = show->massOutbreak.moves[0];
gSaveBlock1Ptr->outbreakPokemonMoves[1] = show->massOutbreak.moves[1];
gSaveBlock1Ptr->outbreakPokemonMoves[2] = show->massOutbreak.moves[2];
gSaveBlock1Ptr->outbreakPokemonMoves[3] = show->massOutbreak.moves[3];
- gSaveBlock1Ptr->outbreakUnk4 = show->massOutbreak.var03;
+ gSaveBlock1Ptr->outbreakUnused3 = show->massOutbreak.unused3;
gSaveBlock1Ptr->outbreakPokemonProbability = show->massOutbreak.probability;
gSaveBlock1Ptr->outbreakDaysLeft = 2;
}
@@ -1668,19 +1668,19 @@ static void TryStartRandomMassOutbreak(void)
show->massOutbreak.kind = TVSHOW_MASS_OUTBREAK;
show->massOutbreak.active = TRUE;
show->massOutbreak.level = sPokeOutbreakSpeciesList[outbreakIdx].level;
- show->massOutbreak.var02 = 0;
- show->massOutbreak.var03 = 0;
+ show->massOutbreak.unused1 = 0;
+ show->massOutbreak.unused3 = 0;
show->massOutbreak.species = sPokeOutbreakSpeciesList[outbreakIdx].species;
- show->massOutbreak.var0E = 0;
+ show->massOutbreak.unused2 = 0;
show->massOutbreak.moves[0] = sPokeOutbreakSpeciesList[outbreakIdx].moves[0];
show->massOutbreak.moves[1] = sPokeOutbreakSpeciesList[outbreakIdx].moves[1];
show->massOutbreak.moves[2] = sPokeOutbreakSpeciesList[outbreakIdx].moves[2];
show->massOutbreak.moves[3] = sPokeOutbreakSpeciesList[outbreakIdx].moves[3];
show->massOutbreak.locationMapNum = sPokeOutbreakSpeciesList[outbreakIdx].location;
show->massOutbreak.locationMapGroup = 0;
- show->massOutbreak.var12 = 0;
+ show->massOutbreak.unused4 = 0;
show->massOutbreak.probability = 50;
- show->massOutbreak.var15 = 0;
+ show->massOutbreak.unused5 = 0;
show->massOutbreak.daysLeft = 1;
StorePlayerIdInNormalShow(show);
show->massOutbreak.language = gGameLanguage;
@@ -1695,13 +1695,13 @@ void EndMassOutbreak(void)
gSaveBlock1Ptr->outbreakLocationMapNum = 0;
gSaveBlock1Ptr->outbreakLocationMapGroup = 0;
gSaveBlock1Ptr->outbreakPokemonLevel = 0;
- gSaveBlock1Ptr->outbreakUnk1 = 0;
- gSaveBlock1Ptr->outbreakUnk2 = 0;
+ gSaveBlock1Ptr->outbreakUnused1 = 0;
+ gSaveBlock1Ptr->outbreakUnused2 = 0;
gSaveBlock1Ptr->outbreakPokemonMoves[0] = MOVE_NONE;
gSaveBlock1Ptr->outbreakPokemonMoves[1] = MOVE_NONE;
gSaveBlock1Ptr->outbreakPokemonMoves[2] = MOVE_NONE;
gSaveBlock1Ptr->outbreakPokemonMoves[3] = MOVE_NONE;
- gSaveBlock1Ptr->outbreakUnk4 = 0;
+ gSaveBlock1Ptr->outbreakUnused3 = 0;
gSaveBlock1Ptr->outbreakPokemonProbability = 0;
gSaveBlock1Ptr->outbreakDaysLeft = 0;
}
@@ -1710,7 +1710,7 @@ void UpdateTVShowsPerDay(u16 days)
{
UpdateMassOutbreakTimeLeft(days);
TryEndMassOutbreak(days);
- UpdatePokeNewsTimeLeft(days);
+ UpdatePokeNewsCountdown(days);
ResolveWorldOfMastersShow(days);
ResolveNumberOneShow(days);
}
@@ -1798,9 +1798,7 @@ void SetPokemonAnglerSpecies(u16 species)
// Either way the temporary version of the show in the last slot is deleted.
static void ResolveWorldOfMastersShow(u16 days)
{
- TVShow *show;
-
- show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX];
+ TVShow *show = &gSaveBlock1Ptr->tvShows[LAST_TVSHOW_IDX];
if (show->worldOfMasters.kind == TVSHOW_WORLD_OF_MASTERS)
{
if (show->worldOfMasters.numPokeCaught >= 20)
@@ -1864,7 +1862,7 @@ void TryPutTodaysRivalTrainerOnAir(void)
show->rivalTrainer.mapLayoutId = gMapHeader.mapLayoutId;
show->rivalTrainer.nSilverSymbols = 0;
show->rivalTrainer.nGoldSymbols = 0;
- for (i = 0; i < 7; i++)
+ for (i = 0; i < NUM_FRONTIER_FACILITIES; i++)
{
if (FlagGet(sSilverSymbolFlags[i]) == TRUE)
show->rivalTrainer.nSilverSymbols++;
@@ -1990,33 +1988,39 @@ static void SecretBaseVisit_CalculateDecorationData(TVShow *show)
u8 decoration;
for (i = 0; i < DECOR_MAX_SECRET_BASE; i++)
- sTV_DecorationsBuffer[i] = 0;
+ sTV_DecorationsBuffer[i] = DECOR_NONE;
+ // Count (and save) the unique decorations in the base
for (i = 0, n = 0; i < DECOR_MAX_SECRET_BASE; i++)
{
decoration = gSaveBlock1Ptr->secretBases[0].decorations[i];
- if (decoration)
+ if (decoration != DECOR_NONE)
{
+ // Search for an empty spot to save decoration
for (j = 0; j < DECOR_MAX_SECRET_BASE; j++)
{
- if (sTV_DecorationsBuffer[j] == 0)
+ if (sTV_DecorationsBuffer[j] == DECOR_NONE)
{
+ // Save and count new unique decoration
sTV_DecorationsBuffer[j] = decoration;
n++;
break;
}
+
+ // Decoration has already been saved, skip and move on to the next base decoration
if (sTV_DecorationsBuffer[j] == decoration)
break;
}
}
}
- if (n > 4)
- show->secretBaseVisit.nDecorations = 4;
+ // Cap the number of unique decorations to the number the TV show will talk about
+ if (n > ARRAY_COUNT(show->secretBaseVisit.decorations))
+ show->secretBaseVisit.numDecorations = ARRAY_COUNT(show->secretBaseVisit.decorations);
else
- show->secretBaseVisit.nDecorations = n;
+ show->secretBaseVisit.numDecorations = n;
- switch (show->secretBaseVisit.nDecorations)
+ switch (show->secretBaseVisit.numDecorations)
{
case 0:
break;
@@ -2024,16 +2028,16 @@ static void SecretBaseVisit_CalculateDecorationData(TVShow *show)
show->secretBaseVisit.decorations[0] = sTV_DecorationsBuffer[0];
break;
default:
+ // More than 1 decoration, randomize the full list
for (k = 0; k < n * n; k++)
{
decoration = Random() % n;
j = Random() % n;
- i = sTV_DecorationsBuffer[decoration];
- sTV_DecorationsBuffer[decoration] = sTV_DecorationsBuffer[j];
- sTV_DecorationsBuffer[j] = i;
+ SWAP(sTV_DecorationsBuffer[decoration], sTV_DecorationsBuffer[j], i);
}
- for (i = 0; i < show->secretBaseVisit.nDecorations; i++)
+ // Pick the first decorations in the randomized list to talk about on the show
+ for (i = 0; i < show->secretBaseVisit.numDecorations; i++)
show->secretBaseVisit.decorations[i] = sTV_DecorationsBuffer[i];
break;
}
@@ -2044,50 +2048,55 @@ static void SecretBaseVisit_CalculatePartyData(TVShow *show)
u8 i;
u16 move;
u16 j;
- u8 nMoves;
- u8 nPokemon;
+ u8 numMoves;
+ u8 numPokemon;
u16 sum;
- for (i = 0, nPokemon = 0; i < PARTY_SIZE; i++)
+ for (i = 0, numPokemon = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
{
- sTV_SecretBaseVisitMonsTemp[nPokemon].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
- sTV_SecretBaseVisitMonsTemp[nPokemon].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES);
- nMoves = 0;
+ sTV_SecretBaseVisitMonsTemp[numPokemon].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
+ sTV_SecretBaseVisitMonsTemp[numPokemon].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES);
+
+ // Check all the Pokémon's moves, then randomly select one to save
+ numMoves = 0;
move = GetMonData(&gPlayerParty[i], MON_DATA_MOVE1);
if (move != MOVE_NONE)
{
- sTV_SecretBaseVisitMovesTemp[nMoves] = move;
- nMoves++;
+ sTV_SecretBaseVisitMovesTemp[numMoves] = move;
+ numMoves++;
}
move = GetMonData(&gPlayerParty[i], MON_DATA_MOVE2);
if (move != MOVE_NONE)
{
- sTV_SecretBaseVisitMovesTemp[nMoves] = move;
- nMoves++;
+ sTV_SecretBaseVisitMovesTemp[numMoves] = move;
+ numMoves++;
}
move = GetMonData(&gPlayerParty[i], MON_DATA_MOVE3);
if (move != MOVE_NONE)
{
- sTV_SecretBaseVisitMovesTemp[nMoves] = move;
- nMoves++;
+ sTV_SecretBaseVisitMovesTemp[numMoves] = move;
+ numMoves++;
}
move = GetMonData(&gPlayerParty[i], MON_DATA_MOVE4);
if (move != MOVE_NONE)
{
- sTV_SecretBaseVisitMovesTemp[nMoves] = move;
- nMoves++;
+ sTV_SecretBaseVisitMovesTemp[numMoves] = move;
+ numMoves++;
}
- sTV_SecretBaseVisitMonsTemp[nPokemon].move = sTV_SecretBaseVisitMovesTemp[Random() % nMoves];
- nPokemon++;
+ sTV_SecretBaseVisitMonsTemp[numPokemon].move = sTV_SecretBaseVisitMovesTemp[Random() % numMoves];
+ numPokemon++;
}
}
- for (i = 0, sum = 0; i < nPokemon; i++)
+
+ for (i = 0, sum = 0; i < numPokemon; i++)
sum += sTV_SecretBaseVisitMonsTemp[i].level;
- show->secretBaseVisit.avgLevel = sum / nPokemon;
- j = Random() % nPokemon;
+ // Using the data calculated above, save the data to talk about on the show
+ // (average level, and one randomly selected species / move)
+ show->secretBaseVisit.avgLevel = sum / numPokemon;
+ j = Random() % numPokemon;
show->secretBaseVisit.species = sTV_SecretBaseVisitMonsTemp[j].species;
show->secretBaseVisit.move = sTV_SecretBaseVisitMonsTemp[j].move;
}
@@ -2225,7 +2234,7 @@ void TryPutBattleSeminarOnAir(u16 foeSpecies, u16 species, u8 moveIdx, const u16
}
}
-void TryPutSafariFanClubOnAir(u8 nMonsCaught, u8 nPkblkUsed)
+void TryPutSafariFanClubOnAir(u8 monsCaught, u8 pokeblocksUsed)
{
TVShow *show;
@@ -2236,8 +2245,8 @@ void TryPutSafariFanClubOnAir(u8 nMonsCaught, u8 nPkblkUsed)
show->safariFanClub.kind = TVSHOW_SAFARI_FAN_CLUB;
show->safariFanClub.active = FALSE; // NOTE: Show is not active until passed via Record Mix.
StringCopy(show->safariFanClub.playerName, gSaveBlock2Ptr->playerName);
- show->safariFanClub.nMonsCaught = nMonsCaught;
- show->safariFanClub.nPkblkUsed = nPkblkUsed;
+ show->safariFanClub.monsCaught = monsCaught;
+ show->safariFanClub.pokeblocksUsed = pokeblocksUsed;
StorePlayerIdInRecordMixShow(show);
show->safariFanClub.language = gGameLanguage;
}
@@ -2537,12 +2546,12 @@ static void TryPutRandomPokeNewsOnAir(void)
sCurTVShowSlot = GetFirstEmptyPokeNewsSlot(gSaveBlock1Ptr->pokeNews);
if (sCurTVShowSlot != -1 && rbernoulli(1, 100) != TRUE)
{
- u8 newsKind = (Random() % NUM_POKENEWS_TYPES) + POKENEWS_SLATEPORT;
+ u8 newsKind = (Random() % NUM_POKENEWS_TYPES) + 1; // +1 to skip over POKENEWS_NONE
if (IsAddingPokeNewsDisallowed(newsKind) != TRUE)
{
gSaveBlock1Ptr->pokeNews[sCurTVShowSlot].kind = newsKind;
- gSaveBlock1Ptr->pokeNews[sCurTVShowSlot].days = 4;
- gSaveBlock1Ptr->pokeNews[sCurTVShowSlot].state = 1;
+ gSaveBlock1Ptr->pokeNews[sCurTVShowSlot].dayCountdown = POKENEWS_COUNTDOWN;
+ gSaveBlock1Ptr->pokeNews[sCurTVShowSlot].state = POKENEWS_STATE_UPCOMING;
}
}
}
@@ -2571,8 +2580,8 @@ static void ClearPokeNews(void)
static void ClearPokeNewsBySlot(u8 i)
{
gSaveBlock1Ptr->pokeNews[i].kind = POKENEWS_NONE;
- gSaveBlock1Ptr->pokeNews[i].state = FALSE;
- gSaveBlock1Ptr->pokeNews[i].days = 0;
+ gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_INACTIVE;
+ gSaveBlock1Ptr->pokeNews[i].dayCountdown = 0;
}
static void CompactPokeNews(void)
@@ -2604,8 +2613,8 @@ static u8 FindAnyPokeNewsOnTheAir(void)
for (i = 0; i < POKE_NEWS_COUNT; i++)
{
if (gSaveBlock1Ptr->pokeNews[i].kind != POKENEWS_NONE
- && gSaveBlock1Ptr->pokeNews[i].state == 1
- && gSaveBlock1Ptr->pokeNews[i].days < 3)
+ && gSaveBlock1Ptr->pokeNews[i].state == POKENEWS_STATE_UPCOMING
+ && gSaveBlock1Ptr->pokeNews[i].dayCountdown < POKENEWS_COUNTDOWN - 1)
return i;
}
return 0xFF;
@@ -2613,19 +2622,17 @@ static u8 FindAnyPokeNewsOnTheAir(void)
void DoPokeNews(void)
{
- u8 i;
- u16 n;
-
- i = FindAnyPokeNewsOnTheAir();
+ u8 i = FindAnyPokeNewsOnTheAir();
if (i == 0xFF)
{
gSpecialVar_Result = FALSE;
}
else
{
- if (gSaveBlock1Ptr->pokeNews[i].days == 0)
+ if (gSaveBlock1Ptr->pokeNews[i].dayCountdown == 0)
{
- gSaveBlock1Ptr->pokeNews[i].state = 2;
+ // News event is occurring, make comment depending on how much time is left
+ gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_ACTIVE;
if (gLocalTime.hours < 20)
ShowFieldMessage(sPokeNewsTextGroup_Ongoing[gSaveBlock1Ptr->pokeNews[i].kind]);
else
@@ -2633,16 +2640,20 @@ void DoPokeNews(void)
}
else
{
- n = gSaveBlock1Ptr->pokeNews[i].days;
- ConvertIntToDecimalStringN(gStringVar1, n, STR_CONV_MODE_LEFT_ALIGN, 1);
- gSaveBlock1Ptr->pokeNews[i].state = 0;
+ // News event is upcoming, make comment about countdown to event
+ u16 dayCountdown = gSaveBlock1Ptr->pokeNews[i].dayCountdown;
+ ConvertIntToDecimalStringN(gStringVar1, dayCountdown, STR_CONV_MODE_LEFT_ALIGN, 1);
+
+ // Mark as inactive so the countdown TV airing doesn't repeat
+ // Will be flagged as "upcoming" again by UpdatePokeNewsCountdown
+ gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_INACTIVE;
ShowFieldMessage(sPokeNewsTextGroup_Upcoming[gSaveBlock1Ptr->pokeNews[i].kind]);
}
gSpecialVar_Result = TRUE;
}
}
-bool8 GetPriceReduction(u8 newsKind)
+bool8 IsPokeNewsActive(u8 newsKind)
{
u8 i;
@@ -2653,7 +2664,7 @@ bool8 GetPriceReduction(u8 newsKind)
{
if (gSaveBlock1Ptr->pokeNews[i].kind == newsKind)
{
- if (gSaveBlock1Ptr->pokeNews[i].state == 2 && IsPriceDiscounted(newsKind))
+ if (gSaveBlock1Ptr->pokeNews[i].state == POKENEWS_STATE_ACTIVE && ShouldApplyPokeNewsEffect(newsKind))
return TRUE;
return FALSE;
@@ -2662,16 +2673,23 @@ bool8 GetPriceReduction(u8 newsKind)
return FALSE;
}
-static bool8 IsPriceDiscounted(u8 newsKind)
+// Returns TRUE if the effects of the given PokeNews should be applied.
+// For POKENEWS_SLATEPORT / POKENEWS_LILYCOVE, only apply the effect if
+// the player is talking to the Energy Guru / at the Dept Store Rooftop.
+// For any other type of PokeNews this is always TRUE.
+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) && gSpecialVar_LastTalked == 25)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SLATEPORT_CITY)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(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(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP))
return TRUE;
return FALSE;
}
@@ -2693,7 +2711,7 @@ static bool8 IsAddingPokeNewsDisallowed(u8 newsKind)
return FALSE;
}
-static void UpdatePokeNewsTimeLeft(u16 days)
+static void UpdatePokeNewsCountdown(u16 days)
{
u8 i;
@@ -2701,16 +2719,18 @@ static void UpdatePokeNewsTimeLeft(u16 days)
{
if (gSaveBlock1Ptr->pokeNews[i].kind != POKENEWS_NONE)
{
- if (gSaveBlock1Ptr->pokeNews[i].days < days)
+ if (gSaveBlock1Ptr->pokeNews[i].dayCountdown < days)
{
+ // News event has elapsed, clear it from list
ClearPokeNewsBySlot(i);
}
else
{
- if (gSaveBlock1Ptr->pokeNews[i].state == 0 && FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE)
- gSaveBlock1Ptr->pokeNews[i].state = 1;
+ // Progress countdown to news event
+ if (gSaveBlock1Ptr->pokeNews[i].state == POKENEWS_STATE_INACTIVE && FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE)
+ gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_UPCOMING;
- gSaveBlock1Ptr->pokeNews[i].days -= days;
+ gSaveBlock1Ptr->pokeNews[i].dayCountdown -= days;
}
}
}
@@ -2760,9 +2780,7 @@ void CopyContestCategoryToStringVar(u8 varIdx, u8 category)
void SetContestCategoryStringVarForInterview(void)
{
- TVShow *show;
-
- show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
+ TVShow *show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
CopyContestCategoryToStringVar(1, show->bravoTrainer.contestCategory);
}
@@ -2789,9 +2807,7 @@ size_t CountDigits(int value)
static void SmartShopper_BufferPurchaseTotal(u8 varIdx, TVShow *show)
{
u8 i;
- int price;
-
- price = 0;
+ int price = 0;
for (i = 0; i < SMARTSHOPPER_NUM_ITEMS; i++)
{
if (show->smartshopperShow.itemIds[i] != ITEM_NONE)
@@ -2832,21 +2848,19 @@ static bool8 IsRecordMixShowAlreadySpawned(u8 kind, bool8 delete)
static void SortPurchasesByQuantity(void)
{
u8 i, j;
- u16 tmpId;
- u16 tmpQn;
-
+
for (i = 0; i < SMARTSHOPPER_NUM_ITEMS - 1; i++)
{
for (j = i + 1; j < SMARTSHOPPER_NUM_ITEMS; j++)
{
if (gMartPurchaseHistory[i].quantity < gMartPurchaseHistory[j].quantity)
{
- tmpId = gMartPurchaseHistory[i].itemId;
- tmpQn = gMartPurchaseHistory[i].quantity;
+ u16 tempItemId = gMartPurchaseHistory[i].itemId;
+ u16 tempQuantity = gMartPurchaseHistory[i].quantity;
gMartPurchaseHistory[i].itemId = gMartPurchaseHistory[j].itemId;
gMartPurchaseHistory[i].quantity = gMartPurchaseHistory[j].quantity;
- gMartPurchaseHistory[j].itemId = tmpId;
- gMartPurchaseHistory[j].quantity = tmpQn;
+ gMartPurchaseHistory[j].itemId = tempItemId;
+ gMartPurchaseHistory[j].quantity = tempQuantity;
}
}
}
@@ -2923,7 +2937,8 @@ static void InterviewBefore_FanClubLetter(void)
if (!gSpecialVar_Result)
{
StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]);
- InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words, 6);
+ InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words,
+ ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words));
}
}
@@ -2932,7 +2947,8 @@ static void InterviewBefore_RecentHappenings(void)
TryReplaceOldTVShowOfKind(TVSHOW_RECENT_HAPPENINGS);
if (!gSpecialVar_Result)
{
- InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].recentHappenings.words, 6);
+ InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].recentHappenings.words,
+ ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].recentHappenings.words));
}
}
@@ -2943,8 +2959,9 @@ static void InterviewBefore_PkmnFanClubOpinions(void)
{
StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]);
GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, gStringVar2);
- StringGetEnd10(gStringVar2);
- InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubOpinions.words, 2);
+ StringGet_Nickname(gStringVar2);
+ InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubOpinions.words,
+ ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubOpinions.words));
}
}
@@ -2962,7 +2979,8 @@ static void InterviewBefore_BravoTrainerPkmnProfile(void)
{
TryReplaceOldTVShowOfKind(TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE);
if (!gSpecialVar_Result)
- InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainer.words, 2);
+ InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainer.words,
+ ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainer.words));
}
static void InterviewBefore_ContestLiveUpdates(void)
@@ -2979,14 +2997,16 @@ static void InterviewBefore_BravoTrainerBTProfile(void)
{
TryReplaceOldTVShowOfKind(TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE);
if (!gSpecialVar_Result)
- InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainerTower.words, 1);
+ InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainerTower.words,
+ ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainerTower.words));
}
static void InterviewBefore_FanClubSpecial(void)
{
TryReplaceOldTVShowOfKind(TVSHOW_FAN_CLUB_SPECIAL);
if (!gSpecialVar_Result)
- InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanClubSpecial.words, 1);
+ InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanClubSpecial.words,
+ ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanClubSpecial.words));
}
static bool8 IsPartyMonNicknamedOrNotEnglish(u8 monIdx)
@@ -3058,23 +3078,19 @@ static void CompactTVShowArray(TVShow *shows)
}
}
-static u16 GetRandomDifferentSpeciesAndNameSeenByPlayer(u8 varIdx, u16 passedSpecies)
+static u16 GetRandomDifferentSpeciesAndNameSeenByPlayer(u8 varIdx, u16 excludedSpecies)
{
- u16 species;
-
- species = GetRandomDifferentSpeciesSeenByPlayer(passedSpecies);
+ u16 species = GetRandomDifferentSpeciesSeenByPlayer(excludedSpecies);
StringCopy(gTVStringVarPtrs[varIdx], gSpeciesNames[species]);
return species;
}
-static u16 GetRandomDifferentSpeciesSeenByPlayer(u16 passedSpecies)
+static u16 GetRandomDifferentSpeciesSeenByPlayer(u16 excludedSpecies)
{
- u16 species;
- u16 initSpecies;
+ u16 species = Random() % (NUM_SPECIES - 1) + 1;
+ u16 initSpecies = species;
- species = (Random() % (NUM_SPECIES - 1)) + 1;
- initSpecies = species;
- while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN) != TRUE || species == passedSpecies)
+ while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN) != TRUE || species == excludedSpecies)
{
if (species == SPECIES_NONE + 1)
species = NUM_SPECIES - 1;
@@ -3083,7 +3099,8 @@ static u16 GetRandomDifferentSpeciesSeenByPlayer(u16 passedSpecies)
if (species == initSpecies)
{
- species = passedSpecies;
+ // Looped back to initial species (only Pokémon seen), must choose excluded species
+ species = excludedSpecies;
return species;
}
};
@@ -3308,7 +3325,7 @@ static void ChangeBoxPokemonNickname_CB(void)
void BufferMonNickname(void)
{
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1);
- StringGetEnd10(gStringVar1);
+ StringGet_Nickname(gStringVar1);
}
void IsMonOTIDNotPlayers(void)
@@ -3798,7 +3815,7 @@ void DeactivateAllNormalTVShows(void)
}
}
-// Ensures a minimum of 5 empty mixed show slots
+// Ensures a minimum of 5 empty record mixed show slots
static void DeleteExcessMixedShows(void)
{
s8 i;
@@ -3897,8 +3914,8 @@ static bool8 TryMixPokeNewsShow(PokeNews *dest, PokeNews *src, s8 slot)
return FALSE;
}
dest[slot].kind = src->kind;
- dest[slot].state = 1;
- dest[slot].days = src->days;
+ dest[slot].state = POKENEWS_STATE_UPCOMING;
+ dest[slot].dayCountdown = src->dayCountdown;
return TRUE;
}
@@ -3929,7 +3946,7 @@ static void ClearPokeNewsIfGameNotComplete(void)
if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE)
{
for (i = 0; i < POKE_NEWS_COUNT; i++)
- gSaveBlock1Ptr->pokeNews[i].state = 0;
+ gSaveBlock1Ptr->pokeNews[i].state = POKENEWS_STATE_INACTIVE;
}
}
@@ -5907,21 +5924,21 @@ static void DoTVShowSecretBaseVisit(void)
{
case 0:
TVShowConvertInternationalString(gStringVar1, show->secretBaseVisit.playerName, show->secretBaseVisit.language);
- if (show->secretBaseVisit.nDecorations == 0)
+ if (show->secretBaseVisit.numDecorations == 0)
sTVShowState = 2;
else
sTVShowState = 1;
break;
case 1:
StringCopy(gStringVar2, gDecorations[show->secretBaseVisit.decorations[0]].name);
- if (show->secretBaseVisit.nDecorations == 1)
+ if (show->secretBaseVisit.numDecorations == 1)
sTVShowState = 4;
else
sTVShowState = 3;
break;
case 3:
StringCopy(gStringVar2, gDecorations[show->secretBaseVisit.decorations[1]].name);
- switch (show->secretBaseVisit.nDecorations)
+ switch (show->secretBaseVisit.numDecorations)
{
case 2:
sTVShowState = 7;
@@ -5985,21 +6002,13 @@ static void DoTVShowPokemonLotteryWinnerFlashReport(void)
state = sTVShowState;
TVShowConvertInternationalString(gStringVar1, show->lottoWinner.playerName, show->lottoWinner.language);
if (show->lottoWinner.whichPrize == 0)
- {
StringCopy(gStringVar2, gText_Jackpot);
- }
else if (show->lottoWinner.whichPrize == 1)
- {
StringCopy(gStringVar2, gText_First);
- }
else if (show->lottoWinner.whichPrize == 2)
- {
StringCopy(gStringVar2, gText_Second);
- }
else
- {
StringCopy(gStringVar2, gText_Third);
- }
StringCopy(gStringVar3, ItemId_GetName(show->lottoWinner.item));
TVShowDone();
ShowFieldMessage(sTVPokemonLotteryWinnerFlashReportTextGroup[state]);
@@ -6712,23 +6721,23 @@ static void DoTVShowSafariFanClub(void)
switch (state)
{
case 0:
- if (show->safariFanClub.nMonsCaught == 0)
+ if (show->safariFanClub.monsCaught == 0)
sTVShowState = 6;
- else if (show->safariFanClub.nMonsCaught < 4)
+ else if (show->safariFanClub.monsCaught < 4)
sTVShowState = 5;
else
sTVShowState = 1;
break;
case 1:
TVShowConvertInternationalString(gStringVar1, show->safariFanClub.playerName, show->safariFanClub.language);
- ConvertIntToDecimalString(1, show->safariFanClub.nMonsCaught);
- if (show->safariFanClub.nPkblkUsed == 0)
+ ConvertIntToDecimalString(1, show->safariFanClub.monsCaught);
+ if (show->safariFanClub.pokeblocksUsed == 0)
sTVShowState = 3;
else
sTVShowState = 2;
break;
case 2:
- ConvertIntToDecimalString(1, show->safariFanClub.nPkblkUsed);
+ ConvertIntToDecimalString(1, show->safariFanClub.pokeblocksUsed);
sTVShowState = 4;
break;
case 3:
@@ -6740,21 +6749,21 @@ static void DoTVShowSafariFanClub(void)
break;
case 5:
TVShowConvertInternationalString(gStringVar1, show->safariFanClub.playerName, show->safariFanClub.language);
- ConvertIntToDecimalString(1, show->safariFanClub.nMonsCaught);
- if (show->safariFanClub.nPkblkUsed == 0)
+ ConvertIntToDecimalString(1, show->safariFanClub.monsCaught);
+ if (show->safariFanClub.pokeblocksUsed == 0)
sTVShowState = 8;
else
sTVShowState = 7;
break;
case 6:
TVShowConvertInternationalString(gStringVar1, show->safariFanClub.playerName, show->safariFanClub.language);
- if (show->safariFanClub.nPkblkUsed == 0)
+ if (show->safariFanClub.pokeblocksUsed == 0)
sTVShowState = 8;
else
sTVShowState = 7;
break;
case 7:
- ConvertIntToDecimalString(1, show->safariFanClub.nPkblkUsed);
+ ConvertIntToDecimalString(1, show->safariFanClub.pokeblocksUsed);
sTVShowState = 9;
break;
case 8:
diff --git a/src/union_room.c b/src/union_room.c
index 1400a0b1d4..9a743dbab9 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -49,7 +49,6 @@
#include "constants/battle_frontier.h"
#include "constants/cable_club.h"
#include "constants/game_stat.h"
-#include "constants/maps.h"
#include "constants/party_menu.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -1593,8 +1592,8 @@ void StartUnionRoomBattle(u16 battleFlags)
static void WarpForWirelessMinigame(u16 linkService, u16 x, u16 y)
{
VarSet(VAR_CABLE_CLUB_STATE, linkService);
- SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
- SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y);
+ SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x, y);
+ SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, WARP_ID_NONE, x, y);
WarpIntoMap();
}
@@ -1605,7 +1604,7 @@ static void WarpForCableClubActivity(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 l
gFieldLinkPlayerCount = GetLinkPlayerCount();
gLocalLinkPlayerId = GetMultiplayerId();
SetCableClubWarp();
- SetWarpDestination(mapGroup, mapNum, -1, x, y);
+ SetWarpDestination(mapGroup, mapNum, WARP_ID_NONE, x, y);
WarpIntoMap();
}
@@ -4503,6 +4502,6 @@ static void ViewURoomPartnerTrainerCard(u8 *unused, struct WirelessLink_URoom *d
static void CopyAndTranslatePlayerName(u8 *dest, struct RfuPlayer *player)
{
- StringCopy7(dest, player->rfu.name);
+ StringCopy_PlayerName(dest, player->rfu.name);
ConvertInternationalString(dest, player->rfu.data.compatibility.language);
}
diff --git a/src/union_room_chat.c b/src/union_room_chat.c
index 22268ef4ac..9890bc1f88 100755
--- a/src/union_room_chat.c
+++ b/src/union_room_chat.c
@@ -2987,7 +2987,7 @@ static void ShowKeyboardSwapMenu(void)
{
FillWindowPixelBuffer(3, PIXEL_FILL(1));
DrawTextBorderOuter(3, 1, 13);
- PrintMenuActionTextsAtPos(3, FONT_SHORT, 8, 1, 14, 5, sKeyboardPageTitleTexts);
+ PrintMenuActionTextsAtPos(3, FONT_SHORT, 8, 1, 14, ARRAY_COUNT(sKeyboardPageTitleTexts), sKeyboardPageTitleTexts);
InitMenuNormal(3, FONT_SHORT, 0, 1, 14, 5, GetCurrentKeyboardPage());
PutWindowTilemap(3);
}
diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c
index 2253861659..908eb8f21f 100644
--- a/src/union_room_player_avatar.c
+++ b/src/union_room_player_avatar.c
@@ -400,12 +400,12 @@ void CreateUnionRoomPlayerSprites(u8 * spriteIds, s32 leaderId)
for (memberId = 0; memberId < MAX_RFU_PLAYERS; memberId++)
{
s32 id = UR_PLAYER_SPRITE_ID(leaderId, memberId);
- spriteIds[id] = CreateObjectSprite(OBJ_EVENT_GFX_MAN_4,
+ spriteIds[id] = CreateVirtualObject(OBJ_EVENT_GFX_MAN_4,
id - UR_SPRITE_START_ID,
sUnionRoomPlayerCoords[leaderId][0] + sUnionRoomGroupOffsets[memberId][0],
sUnionRoomPlayerCoords[leaderId][1] + sUnionRoomGroupOffsets[memberId][1],
3, 1);
- SetObjectEventSpriteInvisibility(id - UR_SPRITE_START_ID, TRUE);
+ SetVirtualObjectInvisibility(id - UR_SPRITE_START_ID, TRUE);
}
}
@@ -443,7 +443,7 @@ static u8 GetNewFacingDirectionForUnionRoomPlayer(u32 memberId, u32 leaderId, st
static bool32 IsUnionRoomPlayerInvisible(u32 leaderId, u32 memberId)
{
- return IsObjectEventSpriteInvisible(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID);
+ return IsVirtualObjectInvisible(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID);
}
static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct RfuGameData * gameData)
@@ -452,10 +452,10 @@ static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct R
s32 id = UR_PLAYER_SPRITE_ID(leaderId, memberId);
if (IsUnionRoomPlayerInvisible(leaderId, memberId) == TRUE)
{
- SetObjectEventSpriteInvisibility(id - UR_SPRITE_START_ID, FALSE);
- SetObjectEventSpriteAnim(id - UR_SPRITE_START_ID, UNION_ROOM_SPAWN_IN);
+ SetVirtualObjectInvisibility(id - UR_SPRITE_START_ID, FALSE);
+ SetVirtualObjectSpriteAnim(id - UR_SPRITE_START_ID, UNION_ROOM_SPAWN_IN);
}
- SetObjectEventSpriteGraphics(id - UR_SPRITE_START_ID, graphicsId);
+ SetVirtualObjectGraphics(id - UR_SPRITE_START_ID, graphicsId);
SetUnionRoomObjectFacingDirection(memberId, leaderId, GetNewFacingDirectionForUnionRoomPlayer(memberId, leaderId, gameData));
GetUnionRoomPlayerCoords(leaderId, memberId, &x, &y);
MapGridSetMetatileImpassabilityAt(x, y, TRUE);
@@ -464,7 +464,7 @@ static void SpawnGroupMember(u32 leaderId, u32 memberId, u8 graphicsId, struct R
static void DespawnGroupMember(u32 leaderId, u32 memberId)
{
s32 x, y;
- SetObjectEventSpriteAnim(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID, UNION_ROOM_SPAWN_OUT);
+ SetVirtualObjectSpriteAnim(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID, UNION_ROOM_SPAWN_OUT);
GetUnionRoomPlayerCoords(leaderId, memberId, &x, &y);
MapGridSetMetatileImpassabilityAt(x, y, FALSE);
}
@@ -476,7 +476,7 @@ static void AssembleGroup(u32 leaderId, struct RfuGameData * gameData)
PlayerGetDestCoords(&x, &y);
player_get_pos_including_state_based_drift(&x2, &y2);
- if (IsObjectEventSpriteInvisible(UR_PLAYER_SPRITE_ID(leaderId, 0) - UR_SPRITE_START_ID) == TRUE)
+ if (IsVirtualObjectInvisible(UR_PLAYER_SPRITE_ID(leaderId, 0) - UR_SPRITE_START_ID) == TRUE)
{
if (IsUnionRoomPlayerAt(leaderId, 0, x, y) == TRUE || IsUnionRoomPlayerAt(leaderId, 0, x2, y2) == TRUE)
return;
@@ -576,9 +576,9 @@ bool32 TryInteractWithUnionRoomMember(struct RfuPlayerList *list, s16 *memberIdP
continue;
// Has a group member spawned at this position?
- if (IsObjectEventSpriteInvisible(id - UR_SPRITE_START_ID))
+ if (IsVirtualObjectInvisible(id - UR_SPRITE_START_ID))
continue;
- if (IsObjectEventSpriteAnimating(id - UR_SPRITE_START_ID))
+ if (IsVirtualObjectAnimating(id - UR_SPRITE_START_ID))
continue;
if (leaders[i].groupScheduledAnim != UNION_ROOM_SPAWN_IN)
continue;
@@ -595,9 +595,9 @@ bool32 TryInteractWithUnionRoomMember(struct RfuPlayerList *list, s16 *memberIdP
static void SetUnionRoomObjectFacingDirection(s32 memberId, s32 leaderId, u8 newDirection)
{
- TurnObjectEventSprite(MAX_RFU_PLAYERS * leaderId - UR_SPRITE_START_ID + memberId, newDirection);
+ TurnVirtualObject(MAX_RFU_PLAYERS * leaderId - UR_SPRITE_START_ID + memberId, newDirection);
// should be line below, but order is swapped here
- // TurnObjectEventSprite(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID, newDirection);
+ // TurnVirtualObject(UR_PLAYER_SPRITE_ID(leaderId, memberId) - UR_SPRITE_START_ID, newDirection);
}
void UpdateUnionRoomMemberFacing(u32 memberId, u32 leaderId, struct RfuPlayerList *list)
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index 312e2107e8..8f041a6ff2 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -868,7 +868,7 @@ static void AskUsePokeblock(void)
u8 stringBuffer[0x40];
GetMonData(&gPlayerParty[GetPartyIdFromSelectionId(sMenu->info.curSelection)], MON_DATA_NICKNAME, stringBuffer);
- StringGetEnd10(stringBuffer);
+ StringGet_Nickname(stringBuffer);
StringAppend(stringBuffer, gText_GetsAPokeBlockQuestion);
StringCopy(gStringVar4, stringBuffer);
FillWindowPixelBuffer(WIN_TEXT, 17);
diff --git a/src/wallclock.c b/src/wallclock.c
index 759b1d11ff..5e0fae3a13 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -41,6 +41,8 @@ static void SpriteCB_HourHand(struct Sprite *sprite);
static void SpriteCB_PMIndicator(struct Sprite *sprite);
static void SpriteCB_AMIndicator(struct Sprite *sprite);
+#define sTaskId data[0]
+
#define tMinuteHandAngle data[0]
#define tHourHandAngle data[1]
#define tHours data[2]
@@ -696,21 +698,21 @@ void CB2_StartWallClock(void)
gTasks[taskId].tHourHandAngle = 300;
spriteId = CreateSprite(&sSpriteTemplate_MinuteHand, 120, 80, 1);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0;
spriteId = CreateSprite(&sSpriteTemplate_HourHand, 120, 80, 0);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1;
spriteId = CreateSprite(&sSpriteTemplate_PM, 120, 80, 2);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].data[1] = 45;
spriteId = CreateSprite(&sSpriteTemplate_AM, 120, 80, 2);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].data[1] = 90;
WallClockInit();
@@ -744,21 +746,21 @@ void CB2_ViewWallClock(void)
}
spriteId = CreateSprite(&sSpriteTemplate_MinuteHand, 120, 80, 1);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0;
spriteId = CreateSprite(&sSpriteTemplate_HourHand, 120, 80, 0);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1;
spriteId = CreateSprite(&sSpriteTemplate_PM, 120, 80, 2);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].data[1] = angle1;
spriteId = CreateSprite(&sSpriteTemplate_AM, 120, 80, 2);
- gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].data[1] = angle2;
WallClockInit();
@@ -1015,7 +1017,7 @@ static void InitClockWithRtc(u8 taskId)
static void SpriteCB_MinuteHand(struct Sprite *sprite)
{
- u16 angle = gTasks[sprite->data[0]].tMinuteHandAngle;
+ u16 angle = gTasks[sprite->sTaskId].tMinuteHandAngle;
s16 sin = Sin2(angle) / 16;
s16 cos = Cos2(angle) / 16;
u16 x, y;
@@ -1035,7 +1037,7 @@ static void SpriteCB_MinuteHand(struct Sprite *sprite)
static void SpriteCB_HourHand(struct Sprite *sprite)
{
- u16 angle = gTasks[sprite->data[0]].tHourHandAngle;
+ u16 angle = gTasks[sprite->sTaskId].tHourHandAngle;
s16 sin = Sin2(angle) / 16;
s16 cos = Cos2(angle) / 16;
u16 x, y;
@@ -1053,58 +1055,44 @@ static void SpriteCB_HourHand(struct Sprite *sprite)
sprite->y2 = y;
}
+#define sAngle data[1]
+
static void SpriteCB_PMIndicator(struct Sprite *sprite)
{
- if (gTasks[sprite->data[0]].tPeriod != PERIOD_AM)
+ if (gTasks[sprite->sTaskId].tPeriod != PERIOD_AM)
{
- if (sprite->data[1] >= 60 && sprite->data[1] < 90)
- {
- sprite->data[1] += 5;
- }
- if (sprite->data[1] < 60)
- {
- sprite->data[1]++;
- }
+ if (sprite->sAngle >= 60 && sprite->sAngle < 90)
+ sprite->sAngle += 5;
+ if (sprite->sAngle < 60)
+ sprite->sAngle++;
}
else
{
- if (sprite->data[1] >= 46 && sprite->data[1] < 76)
- {
- sprite->data[1] -= 5;
- }
- if (sprite->data[1] > 75)
- {
- sprite->data[1]--;
- }
+ if (sprite->sAngle >= 46 && sprite->sAngle < 76)
+ sprite->sAngle -= 5;
+ if (sprite->sAngle > 75)
+ sprite->sAngle--;
}
- sprite->x2 = Cos2(sprite->data[1]) * 30 / 0x1000;
- sprite->y2 = Sin2(sprite->data[1]) * 30 / 0x1000;
+ sprite->x2 = Cos2(sprite->sAngle) * 30 / 0x1000;
+ sprite->y2 = Sin2(sprite->sAngle) * 30 / 0x1000;
}
static void SpriteCB_AMIndicator(struct Sprite *sprite)
{
- if (gTasks[sprite->data[0]].tPeriod != PERIOD_AM)
+ if (gTasks[sprite->sTaskId].tPeriod != PERIOD_AM)
{
- if (sprite->data[1] >= 105 && sprite->data[1] < 135)
- {
- sprite->data[1] += 5;
- }
- if (sprite->data[1] < 105)
- {
- sprite->data[1]++;
- }
+ if (sprite->sAngle >= 105 && sprite->sAngle < 135)
+ sprite->sAngle += 5;
+ if (sprite->sAngle < 105)
+ sprite->sAngle++;
}
else
{
- if (sprite->data[1] >= 91 && sprite->data[1] < 121)
- {
- sprite->data[1] -= 5;
- }
- if (sprite->data[1] > 120)
- {
- sprite->data[1]--;
- }
+ if (sprite->sAngle >= 91 && sprite->sAngle < 121)
+ sprite->sAngle -= 5;
+ if (sprite->sAngle > 120)
+ sprite->sAngle--;
}
- sprite->x2 = Cos2(sprite->data[1]) * 30 / 0x1000;
- sprite->y2 = Sin2(sprite->data[1]) * 30 / 0x1000;
+ sprite->x2 = Cos2(sprite->sAngle) * 30 / 0x1000;
+ sprite->y2 = Sin2(sprite->sAngle) * 30 / 0x1000;
}
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 65d8c86d09..4b3402e5ac 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -20,7 +20,6 @@
#include "constants/game_stat.h"
#include "constants/items.h"
#include "constants/layouts.h"
-#include "constants/maps.h"
#include "constants/weather.h"
extern const u8 EventScript_RepelWoreOff[];
@@ -46,6 +45,8 @@ enum {
#define WILD_CHECK_REPEL (1 << 0)
#define WILD_CHECK_KEEN_EYE (1 << 1)
+#define HEADER_NONE 0xFFFF
+
static u16 FeebasRandom(void);
static void FeebasSeedRng(u16 seed);
static bool8 IsWildLevelAllowedByRepel(u8 level);
@@ -173,6 +174,7 @@ static void FeebasSeedRng(u16 seed)
sFeebasRngValue = seed;
}
+// LAND_WILD_COUNT
static u8 ChooseWildMonIndex_Land(void)
{
u8 rand = Random() % ENCOUNTER_CHANCE_LAND_MONS_TOTAL;
@@ -203,6 +205,7 @@ static u8 ChooseWildMonIndex_Land(void)
return 11;
}
+// ROCK_WILD_COUNT / WATER_WILD_COUNT
static u8 ChooseWildMonIndex_WaterRock(void)
{
u8 rand = Random() % ENCOUNTER_CHANCE_WATER_MONS_TOTAL;
@@ -219,6 +222,7 @@ static u8 ChooseWildMonIndex_WaterRock(void)
return 4;
}
+// FISH_WILD_COUNT
static u8 ChooseWildMonIndex_Fishing(u8 rod)
{
u8 wildMonIndex = 0;
@@ -311,7 +315,7 @@ static u16 GetCurrentMapWildMonHeaderId(void)
gSaveBlock1Ptr->location.mapNum == MAP_NUM(ALTERING_CAVE))
{
u16 alteringCaveId = VarGet(VAR_ALTERING_CAVE_WILD_SET);
- if (alteringCaveId > 8)
+ if (alteringCaveId >= NUM_ALTERING_CAVE_TABLES)
alteringCaveId = 0;
i += alteringCaveId;
@@ -321,7 +325,7 @@ static u16 GetCurrentMapWildMonHeaderId(void)
}
}
- return -1;
+ return HEADER_NONE;
}
static u8 PickWildMonNature(void)
@@ -542,7 +546,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi
return FALSE;
headerId = GetCurrentMapWildMonHeaderId();
- if (headerId == 0xFFFF)
+ if (headerId == HEADER_NONE)
{
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)
{
@@ -653,7 +657,7 @@ void RockSmashWildEncounter(void)
{
u16 headerId = GetCurrentMapWildMonHeaderId();
- if (headerId != 0xFFFF)
+ if (headerId != HEADER_NONE)
{
const struct WildPokemonInfo *wildPokemonInfo = gWildMonHeaders[headerId].rockSmashMonsInfo;
@@ -685,7 +689,7 @@ bool8 SweetScentWildEncounter(void)
PlayerGetDestCoords(&x, &y);
headerId = GetCurrentMapWildMonHeaderId();
- if (headerId == 0xFFFF)
+ if (headerId == HEADER_NONE)
{
if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS)
{
@@ -755,7 +759,7 @@ bool8 DoesCurrentMapHaveFishingMons(void)
{
u16 headerId = GetCurrentMapWildMonHeaderId();
- if (headerId != 0xFFFF && gWildMonHeaders[headerId].fishingMonsInfo != NULL)
+ if (headerId != HEADER_NONE && gWildMonHeaders[headerId].fishingMonsInfo != NULL)
return TRUE;
else
return FALSE;
@@ -789,7 +793,7 @@ u16 GetLocalWildMon(bool8 *isWaterMon)
*isWaterMon = FALSE;
headerId = GetCurrentMapWildMonHeaderId();
- if (headerId == 0xFFFF)
+ if (headerId == HEADER_NONE)
return SPECIES_NONE;
landMonsInfo = gWildMonHeaders[headerId].landMonsInfo;
waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo;
@@ -821,7 +825,7 @@ u16 GetLocalWaterMon(void)
{
u16 headerId = GetCurrentMapWildMonHeaderId();
- if (headerId != 0xFFFF)
+ if (headerId != HEADER_NONE)
{
const struct WildPokemonInfo *waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo;
diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c
index ffb86488aa..1fbd83fcda 100644
--- a/src/wireless_communication_status_screen.c
+++ b/src/wireless_communication_status_screen.c
@@ -51,9 +51,9 @@ static void Task_WirelessCommunicationScreen(u8);
static void WCSS_AddTextPrinterParameterized(u8, u8, const u8 *, u8, u8, u8);
static bool32 UpdateCommunicationCounts(u32 *, u32 *, u32 *, u8);
-static const u16 sBgTiles_Pal[] = INCBIN_U16("graphics/interface/wireless_info_screen.gbapal");
-static const u32 sBgTiles_Gfx[] = INCBIN_U32("graphics/interface/wireless_info_screen.4bpp.lz");
-static const u32 sBgTiles_Tilemap[] = INCBIN_U32("graphics/interface/wireless_info_screen.bin.lz");
+static const u16 sBgTiles_Pal[] = INCBIN_U16("graphics/link/wireless_info_screen.gbapal");
+static const u32 sBgTiles_Gfx[] = INCBIN_U32("graphics/link/wireless_info_screen.4bpp.lz");
+static const u32 sBgTiles_Tilemap[] = INCBIN_U32("graphics/link/wireless_info_screen.bin.lz");
static const struct BgTemplate sBgTemplates[] = {
{
diff --git a/sym_bss.txt b/sym_bss.txt
index 75da960bf9..3a23e74789 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -55,6 +55,7 @@
.include "src/ereader_helpers.o"
.include "src/faraway_island.o"
.include "src/m4a_1.o"
+ .include "data/sound_data.o"
.include "src/agb_flash.o"
.include "src/siirtc.o"
.include "*libgcc.a:dp-bit.o"
diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c
index 3dad6fcf80..720db1acae 100644
--- a/tools/aif2pcm/main.c
+++ b/tools/aif2pcm/main.c
@@ -51,8 +51,12 @@ do \
typedef struct {
unsigned long num_samples;
- uint8_t *samples;
+ union {
+ uint8_t *samples8;
+ uint16_t *samples16;
+ };
uint8_t midi_note;
+ uint8_t sample_size;
bool has_loop;
unsigned long loop_offset;
double sample_rate;
@@ -208,11 +212,11 @@ void read_aif(struct Bytes *aif, AifData *aif_data)
num_sample_frames |= (aif->data[pos++] << 8);
num_sample_frames |= (uint8_t)aif->data[pos++];
- short sample_size = (aif->data[pos++] << 8);
- sample_size |= (uint8_t)aif->data[pos++];
- if (sample_size != 8)
+ aif_data->sample_size = (aif->data[pos++] << 8);
+ aif_data->sample_size |= (uint8_t)aif->data[pos++];
+ if (aif_data->sample_size != 8 && aif_data->sample_size != 16)
{
- FATAL_ERROR("sampleSize (%d) in the COMM Chunk must be 8!\n", sample_size);
+ FATAL_ERROR("sampleSize (%d) in the COMM Chunk must be 8 or 16!\n", aif_data->sample_size);
}
double sample_rate = ieee754_read_extended((uint8_t*)(aif->data + pos));
@@ -295,11 +299,28 @@ void read_aif(struct Bytes *aif, AifData *aif_data)
pos += 8;
unsigned long num_samples = chunk_size - 8;
- uint8_t *sample_data = (uint8_t *)malloc(num_samples * sizeof(uint8_t));
- memcpy(sample_data, &aif->data[pos], num_samples);
-
- aif_data->samples = sample_data;
- aif_data->real_num_samples = num_samples;
+ if (aif_data->sample_size == 8)
+ {
+ uint8_t *sample_data = (uint8_t *)malloc(num_samples * sizeof(uint8_t));
+ memcpy(sample_data, &aif->data[pos], num_samples);
+
+ aif_data->samples8 = sample_data;
+ aif_data->real_num_samples = num_samples;
+ }
+ else
+ {
+ uint16_t *sample_data = (uint16_t *)malloc(num_samples * sizeof(uint16_t));
+ uint16_t *sample_data_swapped = (uint16_t *)malloc(num_samples * sizeof(uint16_t));
+ memcpy(sample_data, &aif->data[pos], num_samples);
+ for (long unsigned i = 0; i < num_samples; i++)
+ {
+ sample_data_swapped[i] = __builtin_bswap16(sample_data[i]);
+ }
+
+ aif_data->samples16 = sample_data_swapped;
+ aif_data->real_num_samples = num_samples;
+ free(sample_data);
+ }
pos += chunk_size - 8;
}
else
@@ -550,8 +571,21 @@ do { \
void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress)
{
struct Bytes *aif = read_bytearray(aif_filename);
- AifData aif_data = {0,0,0,0,0,0,0};
+ AifData aif_data = {0};
read_aif(aif, &aif_data);
+
+ // Convert 16-bit to 8-bit if necessary
+ if (aif_data.sample_size == 16)
+ {
+ aif_data.real_num_samples /= 2;
+ uint8_t *converted_samples = malloc(aif_data.real_num_samples * sizeof(uint8_t));
+ for (unsigned long i = 0; i < aif_data.real_num_samples; i++)
+ {
+ converted_samples[i] = aif_data.samples16[i] >> 8;
+ }
+ free(aif_data.samples16);
+ aif_data.samples8 = converted_samples;
+ }
int header_size = 0x10;
struct Bytes *pcm;
@@ -560,7 +594,7 @@ void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress)
if (compress)
{
struct Bytes *input = malloc(sizeof(struct Bytes));
- input->data = aif_data.samples;
+ input->data = aif_data.samples8;
input->length = aif_data.real_num_samples;
pcm = delta_compress(input);
free(input);
@@ -568,7 +602,7 @@ void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress)
else
{
pcm = malloc(sizeof(struct Bytes));
- pcm->data = aif_data.samples;
+ pcm->data = aif_data.samples8;
pcm->length = aif_data.real_num_samples;
}
output.length = header_size + pcm->length;
@@ -591,7 +625,7 @@ void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress)
free(aif);
free(pcm);
free(output.data);
- free(aif_data.samples);
+ free(aif_data.samples8);
}
// Reads a .pcm file containing an array of 8-bit samples and produces an .aif file.
@@ -631,8 +665,8 @@ void pcm2aif(const char *pcm_filename, const char *aif_filename, uint32_t base_n
pcm->data += 0x10;
}
- aif_data->samples = malloc(pcm->length);
- memcpy(aif_data->samples, pcm->data, pcm->length);
+ aif_data->samples8 = malloc(pcm->length);
+ memcpy(aif_data->samples8, pcm->data, pcm->length);
struct Bytes *aif = malloc(sizeof(struct Bytes));
aif->length = 54 + 60 + pcm->length;
@@ -819,14 +853,14 @@ void pcm2aif(const char *pcm_filename, const char *aif_filename, uint32_t base_n
// Sound Data Chunk soundData
for (unsigned int i = 0; i < aif_data->loop_offset; i++)
{
- aif->data[pos++] = aif_data->samples[i];
+ aif->data[pos++] = aif_data->samples8[i];
}
int j = 0;
for (unsigned int i = aif_data->loop_offset; i < pcm->length; i++)
{
int pcm_index = aif_data->loop_offset + (j++ % (pcm->length - aif_data->loop_offset));
- aif->data[pos++] = aif_data->samples[pcm_index];
+ aif->data[pos++] = aif_data->samples8[pcm_index];
}
aif->length = pos;
diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp
index 0c7d7e2711..c5f86bdf0e 100644
--- a/tools/mapjson/mapjson.cpp
+++ b/tools/mapjson/mapjson.cpp
@@ -230,7 +230,7 @@ string generate_map_events_text(Json map_data) {
text << bgs_label << ":\n";
for (auto &bg_event : map_data["bg_events"].array_items()) {
if (bg_event["type"] == "sign") {
- text << "\tbg_event "
+ text << "\tbg_sign_event "
<< bg_event["x"].int_value() << ", "
<< bg_event["y"].int_value() << ", "
<< bg_event["elevation"].int_value() << ", "