mirror of
https://github.com/pret/pokeemerald.git
synced 2026-09-12 13:07:17 -05:00
Merge with master
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -1,5 +1,5 @@
|
||||
*.pal text eol=crlf
|
||||
|
||||
*.sh text eol=lf
|
||||
*.s text eol=lf
|
||||
*.txt text eol=lf
|
||||
Makefile text eol=lf
|
||||
|
||||
@@ -9,6 +9,8 @@ open(my $file, $ARGV[0])
|
||||
|
||||
my $src = 0;
|
||||
my $asm = 0;
|
||||
my $srcdata = 0;
|
||||
my $data = 0;
|
||||
while (my $line = <$file>)
|
||||
{
|
||||
if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/.+\.o/)
|
||||
@@ -28,9 +30,22 @@ while (my $line = <$file>)
|
||||
$asm += $size;
|
||||
}
|
||||
}
|
||||
elsif ($section =~ /rodata/)
|
||||
{
|
||||
if ($dir eq 'src')
|
||||
{
|
||||
$srcdata += $size;
|
||||
}
|
||||
elsif ($dir eq 'data')
|
||||
{
|
||||
$data += $size;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(my $elffname = $ARGV[0]) =~ s/\.map/.elf/;
|
||||
|
||||
# Note that the grep filters out all branch labels. It also requires a minimum
|
||||
# line length of 5, to filter out a ton of generated symbols (like AcCn). No
|
||||
# settings to nm seem to remove these symbols. Finally, nm prints out a separate
|
||||
@@ -40,7 +55,7 @@ while (my $line = <$file>)
|
||||
#
|
||||
# You'd expect this to take a while, because of uniq. It runs in under a second,
|
||||
# though. Uniq is pretty fast!
|
||||
my $base_cmd = "nm pokeemerald.elf | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq";
|
||||
my $base_cmd = "nm $elffname | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq";
|
||||
|
||||
# This looks for Unknown_, Unknown_, or sub_, followed by just numbers. Note that
|
||||
# it matches even if stuff precedes the unknown, like sUnknown/gUnknown.
|
||||
@@ -118,3 +133,11 @@ print "$total_syms total symbols\n";
|
||||
print "$documented symbols documented ($docPct%)\n";
|
||||
print "$partial_documented symbols partially documented ($partialPct%)\n";
|
||||
print "$undocumented symbols undocumented ($undocPct%)\n";
|
||||
|
||||
print "\n";
|
||||
my $dataTotal = $srcdata + $data;
|
||||
my $srcDataPct = sprintf("%.4f", 100 * $srcdata / $dataTotal);
|
||||
my $dataPct = sprintf("%.4f", 100 * $data / $dataTotal);
|
||||
print "$dataTotal total bytes of data\n";
|
||||
print "$srcdata bytes of data in src ($srcDataPct%)\n";
|
||||
print "$data bytes of data in data ($dataPct%)\n";
|
||||
|
||||
128
INSTALL.md
128
INSTALL.md
@@ -1,116 +1,90 @@
|
||||
Follow the OS-specific instructions below.
|
||||
# Prerequisites
|
||||
|
||||
# Linux
|
||||
| Linux | macOS | Windows 10 (build 18917+) | Windows 10 (1709+) | Windows Vista, 7, 8, 8.1, and 10 (1507, 1511, 1607, and 1703)
|
||||
| ----- | ----- | ------------------------- | ------------------ | ---------------------------------------------------------
|
||||
| none | [Xcode Command Line Tools package][xcode] | [Windows Subsystem for Linux 2][wsl2] | [Windows Subsystem for Linux][wsl] | MSYS2 (see below)
|
||||
|
||||
Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM).
|
||||
[xcode]: https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-DOWNLOADING_COMMAND_LINE_TOOLS_IS_NOT_AVAILABLE_IN_XCODE_FOR_MACOS_10_9__HOW_CAN_I_INSTALL_THEM_ON_MY_MACHINE_
|
||||
[wsl2]: https://docs.microsoft.com/windows/wsl/wsl2-install
|
||||
[wsl]: https://docs.microsoft.com/windows/wsl/install-win10
|
||||
|
||||
Make sure that there is an environment variable called DEVKITARM with the path of the directory before the "bin" directory containing "arm-none-eabi-as", "arm-none-eabi-cpp", "arm-none-eabi-ld" and "arm-none-eabi-objcopy".
|
||||
The [prerelease version of the Linux subsystem](https://docs.microsoft.com/windows/wsl/install-legacy) available in the 1607 and 1703 releases of Windows 10 is obsolete so consider uninstalling it.
|
||||
|
||||
Then get the compiler from https://github.com/pret/agbcc and run the following commands.
|
||||
Make sure that the `build-essential`, `git`, and `libpng-dev` packages are installed. The `build-essential` package includes the `make`, `gcc-core`, and `g++` packages so they do not have to be obtained separately. MSYS2 does not include `libpng-dev` so it must be built from source.
|
||||
|
||||
```
|
||||
./build.sh
|
||||
./install.sh PATH_OF_POKEEMERALD_DIRECTORY
|
||||
```
|
||||
Install the **devkitARM** toolchain of [devkitPro](https://devkitpro.org/wiki/Getting_Started) and add its environment variables. For Windows versions without the Linux subsystem, the devkitPro [graphical installer](https://github.com/devkitPro/installer/releases) includes a preconfigured MSYS2 environment, thus the steps below are not required.
|
||||
|
||||
Finally, build the rom.
|
||||
|
||||
```
|
||||
make
|
||||
```
|
||||
|
||||
# Windows
|
||||
|
||||
Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM).
|
||||
|
||||
Then get the compiled tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder over the `tools/` folder in your pokeemerald directory.
|
||||
|
||||
You can then build pokeemerald using `make` in the MSYS environment provided with devkitARM.
|
||||
|
||||
# Mac
|
||||
|
||||
Installing pokeemerald on a Mac requires macOS >= 10.12 (Sierra or higher).
|
||||
|
||||
Download a [devkitPRO pacman](https://github.com/devkitPro/pacman/releases/tag/v1.0.0)
|
||||
|
||||
Run the following commands in Terminal:
|
||||
export DEVKITPRO=/opt/devkitpro
|
||||
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
|
||||
export DEVKITARM=$DEVKITPRO/devkitARM
|
||||
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc
|
||||
|
||||
|
||||
```
|
||||
xcode-select --install
|
||||
# Installation
|
||||
|
||||
sudo dkp-pacman -S devkitARM
|
||||
To set up the repository:
|
||||
|
||||
export DEVKITPRO=/opt/devkitpro
|
||||
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
|
||||
export DEVKITARM=$DEVKITPRO/devkitARM
|
||||
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc
|
||||
echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile
|
||||
git clone https://github.com/pret/pokeemerald
|
||||
git clone https://github.com/pret/agbcc
|
||||
|
||||
git clone https://github.com/pret/pokeemerald
|
||||
git clone https://github.com/pret/agbcc
|
||||
cd ./agbcc
|
||||
./build.sh
|
||||
./install.sh ../pokeemerald
|
||||
|
||||
cd agbcc/
|
||||
./build.sh
|
||||
./install.sh ../pokeemerald
|
||||
cd ../pokeemerald
|
||||
|
||||
cd ../pokeemerald
|
||||
./build_tools.sh
|
||||
```
|
||||
To build **pokeemerald.gba** and confirm it matches the official ROM image:
|
||||
|
||||
And build the ROM with `make`.
|
||||
make compare
|
||||
|
||||
If the step `./build.sh` in the above list of commands fails with the error `Makefile:1: /opt/devkitpro/devkitARM/base_tools: No such file or directory`, then try installing the pacman package `devkitarm-rules` by executing the command
|
||||
## Notes
|
||||
|
||||
```
|
||||
sudo dkp-pacman -S devkitarm-rules
|
||||
```
|
||||
* If the base tools are not found on macOS in new Terminal sessions after the first successful build, run `echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile` once to prevent the issue from occurring again. Verify that the `devkitarm-rules` package is installed as well; if not, install it by running `sudo dkp-pacman -S devkitarm-rules`.
|
||||
|
||||
Executing `./build.sh` again should now succeed.
|
||||
* If the repository was previously set up using Cygwin, delete the `.exe` files in the subfolders of the `tools` folder except for `agbcc` and try building again. [Learn the differences between MSYS2 and Cygwin.](https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-from-Cygwin)
|
||||
|
||||
# Faster builds
|
||||
# Guidance
|
||||
|
||||
After the first build, subsequent builds are faster. You can further speed up the build:
|
||||
To build **pokeemerald.gba** with your changes:
|
||||
|
||||
## Parallel build
|
||||
make
|
||||
|
||||
This significantly speeds up the build on modern machines.
|
||||
## Parallel builds
|
||||
|
||||
By default `make` only runs a single thread. You can tell `make` to run on multiple threads with `make -j`. See the manfile for usage (`man make`).
|
||||
See [the GNU docs](https://www.gnu.org/software/make/manual/html_node/Parallel.html) and [this Stack Exchange thread](https://unix.stackexchange.com/questions/208568) for more information.
|
||||
|
||||
The optimal value for `-j` is the number of logical cores on your machine. You can run `nproc` to see the exact number.
|
||||
To speed up building, run:
|
||||
|
||||
```
|
||||
$ nproc
|
||||
8
|
||||
```
|
||||
make -j$(nproc)
|
||||
|
||||
If you have 8 cores, run: `make -j8`
|
||||
`nproc` is not available on macOS. The alternative is `sysctl -n hw.ncpu` ([relevant Stack Overflow thread](https://stackoverflow.com/questions/1715580)).
|
||||
|
||||
`-j` on its own will spawn a new thread for each job. A clean build will have thousands of jobs, which will be slower than not using -j at all.
|
||||
## Building without dependency scanning
|
||||
|
||||
## Disable the dependency scanning
|
||||
If only `.c` or `.s` files were changed, turn off the dependency scanning temporarily. Changes to any other files will be ignored and the build will either fail or not reflect those changes.
|
||||
|
||||
If you've only changed `.c` or `.s` files, you can turn off the dependency scanning temporarily. Changes to any other files will be ignored, and the build will either fail or not reflect those changes.
|
||||
make NODEP=1
|
||||
|
||||
`make NODEP=1`
|
||||
## Building with devkitARM's C compiler
|
||||
|
||||
# Building with devkitARM's C compiler
|
||||
This project supports the `arm-none-eabi-gcc` compiler included with devkitARM r52. To build this target, simply run:
|
||||
|
||||
This project supports the `arm-none-eabi-gcc` compiler which ships with devkitARM r52. To build this target, simply run:
|
||||
make modern
|
||||
|
||||
make modern
|
||||
## Building with other toolchains
|
||||
|
||||
# Building with your own toolchain
|
||||
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`.
|
||||
|
||||
To build Pokemon Emerald with a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain. Example:
|
||||
make TOOLCHAIN="/path/to/toolchain/here"
|
||||
|
||||
make compare TOOLCHAIN=/usr/local/arm-none-eabi
|
||||
The following is an example:
|
||||
|
||||
The path you pass to the `TOOLCHAIN` variable must contain the subdirectory `bin`. If you compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present.
|
||||
make TOOLCHAIN="/usr/local/arm-none-eabi"
|
||||
|
||||
# Building with debug info
|
||||
To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present.
|
||||
|
||||
To build the ELF file with enhanced debug info, use the `DINFO` variable:
|
||||
## Building with debug info
|
||||
|
||||
make compare DINFO=1
|
||||
To build **pokeemerald.elf** with enhanced debug info, use the `DINFO` variable.
|
||||
|
||||
make DINFO=1
|
||||
|
||||
19
Makefile
19
Makefile
@@ -1,4 +1,17 @@
|
||||
TOOLCHAIN := $(DEVKITARM)
|
||||
|
||||
ifeq ($(CC),)
|
||||
HOSTCC := gcc
|
||||
else
|
||||
HOSTCC := $(CC)
|
||||
endif
|
||||
|
||||
ifeq ($(CXX),)
|
||||
HOSTCXX := g++
|
||||
else
|
||||
HOSTCXX := $(CXX)
|
||||
endif
|
||||
|
||||
ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
|
||||
include $(TOOLCHAIN)/base_tools
|
||||
else
|
||||
@@ -136,7 +149,7 @@ all: rom
|
||||
tools: $(TOOLDIRS)
|
||||
|
||||
$(TOOLDIRS):
|
||||
@$(MAKE) -C $@
|
||||
@$(MAKE) -C $@ CC=$(HOSTCC) CXX=$(HOSTCXX)
|
||||
|
||||
rom: $(ROM)
|
||||
|
||||
@@ -165,6 +178,10 @@ ifeq ($(MODERN),0)
|
||||
@$(MAKE) tidy MODERN=1
|
||||
endif
|
||||
|
||||
ifneq ($(MODERN),0)
|
||||
$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member
|
||||
endif
|
||||
|
||||
include graphics_file_rules.mk
|
||||
include map_data_rules.mk
|
||||
include spritesheet_rules.mk
|
||||
|
||||
48
README.md
48
README.md
@@ -2,37 +2,35 @@
|
||||
|
||||
[![Build Status][travis-badge]][travis]
|
||||
|
||||
This is a disassembly of Pokémon Emerald.
|
||||
[travis]: https://travis-ci.org/pret/pokeemerald
|
||||
[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master
|
||||
|
||||
It builds the following rom:
|
||||
This is a decompilation of Pokémon Emerald.
|
||||
|
||||
* pokeemerald.gba `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7`
|
||||
It builds the following ROM:
|
||||
|
||||
* [**pokeemerald.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1961) `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7`
|
||||
|
||||
To set up the repository, see [INSTALL.md](INSTALL.md).
|
||||
|
||||
|
||||
## See also
|
||||
|
||||
* Disassembly of [**Pokémon Red/Blue**][pokered]
|
||||
* Disassembly of [**Pokémon Yellow**][pokeyellow]
|
||||
* Disassembly of [**Pokémon Gold**][pokegold]
|
||||
* Disassembly of [**Pokémon Crystal**][pokecrystal]
|
||||
* Disassembly of [**Pokémon Pinball**][pokepinball]
|
||||
* Disassembly of [**Pokémon TCG**][poketcg]
|
||||
* Disassembly of [**Pokémon Ruby**][pokeruby]
|
||||
* Disassembly of [**Pokémon Fire Red**][pokefirered]
|
||||
* Discord: [**pret**][Discord]
|
||||
* irc: **irc.freenode.net** [**#pret**][irc]
|
||||
Other disassembly and/or decompilation projects:
|
||||
* [**Pokémon Red and Blue**](https://github.com/pret/pokered)
|
||||
* [**Pokémon Gold and Silver (Space World '97 demo)**](https://github.com/pret/pokegold-spaceworld)
|
||||
* [**Pokémon Yellow**](https://github.com/pret/pokeyellow)
|
||||
* [**Pokémon Trading Card Game**](https://github.com/pret/poketcg)
|
||||
* [**Pokémon Pinball**](https://github.com/pret/pokepinball)
|
||||
* [**Pokémon Stadium**](https://github.com/pret/pokestadium)
|
||||
* [**Pokémon Gold and Silver**](https://github.com/pret/pokegold)
|
||||
* [**Pokémon Crystal**](https://github.com/pret/pokecrystal)
|
||||
* [**Pokémon Ruby and Sapphire**](https://github.com/pret/pokeruby)
|
||||
* [**Pokémon Pinball: Ruby & Sapphire**](https://github.com/pret/pokepinballrs)
|
||||
* [**Pokémon FireRed and LeafGreen**](https://github.com/pret/pokefirered)
|
||||
* [**Pokémon Mystery Dungeon: Red Rescue Team**](https://github.com/pret/pmd-red)
|
||||
|
||||
[pokered]: https://github.com/pret/pokered
|
||||
[pokeyellow]: https://github.com/pret/pokeyellow
|
||||
[pokegold]: https://github.com/pret/pokegold
|
||||
[pokecrystal]: https://github.com/pret/pokecrystal
|
||||
[pokepinball]: https://github.com/pret/pokepinball
|
||||
[poketcg]: https://github.com/pret/poketcg
|
||||
[pokeruby]: https://github.com/pret/pokeruby
|
||||
[pokefirered]: https://github.com/pret/pokefirered
|
||||
[Discord]: https://discord.gg/6EuWgX9
|
||||
[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret
|
||||
[travis]: https://travis-ci.org/pret/pokeemerald
|
||||
[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master
|
||||
|
||||
## Contacts
|
||||
|
||||
You can find us on [Discord](https://discord.gg/6EuWgX9) and [IRC](https://kiwiirc.com/client/irc.freenode.net/?#pret).
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
||||
thumb_func_start sub_8021A28
|
||||
sub_8021A28: @ 8021A28
|
||||
push {r4-r7,lr}
|
||||
|
||||
2239
asm/pokenav_unk_2.s
2239
asm/pokenav_unk_2.s
File diff suppressed because it is too large
Load Diff
1165
asm/pokenav_unk_8.s
1165
asm/pokenav_unk_8.s
File diff suppressed because it is too large
Load Diff
1393
asm/pokenav_unk_9.s
1393
asm/pokenav_unk_9.s
File diff suppressed because it is too large
Load Diff
@@ -1118,7 +1118,7 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
|
||||
call_if_unset FLAG_RECEIVED_BELDUM, EverGrandeCity_HallOfFame_EventScript_27183F
|
||||
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
|
||||
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
|
||||
compare VAR_0x40D3, 0
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 0
|
||||
call_if_eq EverGrandeCity_HallOfFame_EventScript_271851
|
||||
return
|
||||
|
||||
@@ -1145,7 +1145,7 @@ EverGrandeCity_HallOfFame_EventScript_271843:: @ 8271843
|
||||
return
|
||||
|
||||
EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851
|
||||
setvar VAR_0x40D3, 1
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1
|
||||
return
|
||||
|
||||
EventScript_WhiteOut:: @ 8271857
|
||||
|
||||
@@ -52,7 +52,7 @@ CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D
|
||||
playse SE_KAIDAN
|
||||
fadescreenspeed 1, 4
|
||||
setflag FLAG_WALLACE_GOES_TO_SKY_PILLAR
|
||||
setvar VAR_RAYQUAZA_STATE, 3
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 3
|
||||
removeobject 1
|
||||
clearflag FLAG_HIDE_SKY_PILLAR_WALLACE
|
||||
fadescreen 0
|
||||
|
||||
@@ -138,7 +138,7 @@ DewfordTown_EventScript_1E9660:: @ 81E9660
|
||||
clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
|
||||
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
|
||||
hideobjectat 4, MAP_DEWFORD_TOWN
|
||||
setvar VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 2
|
||||
setvar VAR_BOARD_BRINEY_BOAT_STATE, 2
|
||||
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
|
||||
warp MAP_ROUTE104_MR_BRINEYS_HOUSE, 255, 5, 4
|
||||
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
|
||||
|
||||
@@ -9,9 +9,9 @@ LavaridgeTown_OnTransition: @ 81EA4DE
|
||||
call_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, LavaridgeTown_EventScript_1EA53F
|
||||
call Common_EventScript_SetupRivalGender
|
||||
call Common_EventScript_SetupRivalOnBikeGender
|
||||
compare VAR_LAVARIDGE_RIVAL_STATE, 1
|
||||
compare VAR_LAVARIDGE_TOWN_STATE, 1
|
||||
call_if_eq LavaridgeTown_EventScript_1EA518
|
||||
compare VAR_LAVARIDGE_RIVAL_STATE, 1
|
||||
compare VAR_LAVARIDGE_TOWN_STATE, 1
|
||||
call_if_eq LavaridgeTown_EventScript_1EA543
|
||||
end
|
||||
|
||||
@@ -41,7 +41,7 @@ LavaridgeTown_EventScript_1EA543:: @ 81EA543
|
||||
return
|
||||
|
||||
LavaridgeTown_MapScript2_1EA547: @ 81EA547
|
||||
map_script_2 VAR_LAVARIDGE_RIVAL_STATE, 1, LavaridgeTown_EventScript_1EA551
|
||||
map_script_2 VAR_LAVARIDGE_TOWN_STATE, 1, LavaridgeTown_EventScript_1EA551
|
||||
.2byte 0
|
||||
|
||||
LavaridgeTown_EventScript_1EA551:: @ 81EA551
|
||||
@@ -94,7 +94,7 @@ LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF
|
||||
compare VAR_0x8008, 9
|
||||
call_if_ne LavaridgeTown_EventScript_1EA6C9
|
||||
removeobject 7
|
||||
setvar VAR_LAVARIDGE_RIVAL_STATE, 2
|
||||
setvar VAR_LAVARIDGE_TOWN_STATE, 2
|
||||
clearflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
savebgm MUS_DUMMY
|
||||
fadedefaultbgm
|
||||
|
||||
@@ -82,7 +82,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
|
||||
setvar VAR_0x8008, 4
|
||||
call LavaridgeTown_Gym_1F_EventScript_271F43
|
||||
setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
|
||||
setvar VAR_LAVARIDGE_RIVAL_STATE, 1
|
||||
setvar VAR_LAVARIDGE_TOWN_STATE, 1
|
||||
call LavaridgeTown_Gym_1F_EventScript_1FE841
|
||||
closemessage
|
||||
delay 30
|
||||
|
||||
@@ -3,9 +3,9 @@ LilycoveCity_DepartmentStore_5F_MapScripts:: @ 821FF7A
|
||||
.byte 0
|
||||
|
||||
LilycoveCity_DepartmentStore_5F_MapScript2_21FF80: @ 821FF80
|
||||
map_script_2 VAR_RAYQUAZA_STATE, 1, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
|
||||
map_script_2 VAR_RAYQUAZA_STATE, 2, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
|
||||
map_script_2 VAR_RAYQUAZA_STATE, 3, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
|
||||
map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
|
||||
map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 2, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
|
||||
map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
|
||||
.2byte 0
|
||||
|
||||
LilycoveCity_DepartmentStore_5F_EventScript_21FF9A:: @ 821FF9A
|
||||
@@ -125,9 +125,9 @@ LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075
|
||||
lockall
|
||||
applymovement 7, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 0
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 0
|
||||
goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_22009C
|
||||
goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7
|
||||
end
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
"x": 10,
|
||||
"y": 1,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "0",
|
||||
"script": "LittlerootTown_EventScript_1E8091"
|
||||
},
|
||||
@@ -163,7 +163,7 @@
|
||||
"x": 11,
|
||||
"y": 1,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "0",
|
||||
"script": "LittlerootTown_EventScript_1E80EF"
|
||||
},
|
||||
@@ -172,7 +172,7 @@
|
||||
"x": 11,
|
||||
"y": 1,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "1",
|
||||
"script": "LittlerootTown_EventScript_1E811F"
|
||||
},
|
||||
@@ -181,7 +181,7 @@
|
||||
"x": 8,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "3",
|
||||
"script": "LittlerootTown_EventScript_1E81F9"
|
||||
},
|
||||
@@ -190,7 +190,7 @@
|
||||
"x": 9,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "3",
|
||||
"script": "LittlerootTown_EventScript_1E8205"
|
||||
},
|
||||
@@ -199,7 +199,7 @@
|
||||
"x": 10,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "3",
|
||||
"script": "LittlerootTown_EventScript_1E81E1"
|
||||
},
|
||||
@@ -208,7 +208,7 @@
|
||||
"x": 11,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "3",
|
||||
"script": "LittlerootTown_EventScript_1E81ED"
|
||||
},
|
||||
@@ -217,7 +217,7 @@
|
||||
"x": 10,
|
||||
"y": 2,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "3",
|
||||
"script": "LittlerootTown_EventScript_1E81BB"
|
||||
},
|
||||
@@ -226,7 +226,7 @@
|
||||
"x": 11,
|
||||
"y": 2,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4050",
|
||||
"var": "VAR_LITTLEROOT_TOWN_STATE",
|
||||
"var_value": "3",
|
||||
"script": "LittlerootTown_EventScript_1E81CE"
|
||||
}
|
||||
@@ -265,4 +265,4 @@
|
||||
"script": "LittlerootTown_EventScript_1E818F"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,24 +10,24 @@ LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB
|
||||
compare VAR_LITTLEROOT_INTRO_STATE, 2
|
||||
call_if_eq LittlerootTown_EventScript_1E7E67
|
||||
call_if_unset FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E7E6F
|
||||
compare VAR_0x4050, 3
|
||||
compare VAR_LITTLEROOT_TOWN_STATE, 3
|
||||
call_if_eq LittlerootTown_EventScript_1E7E92
|
||||
compare VAR_LITTLEROOT_HOUSES_STATE, 4
|
||||
call_if_eq LittlerootTown_EventScript_1E7E5C
|
||||
compare VAR_LITTLEROOT_HOUSES_STATE_2, 4
|
||||
call_if_eq LittlerootTown_EventScript_1E7E5C
|
||||
compare VAR_OLDALE_STATE, 1
|
||||
compare VAR_OLDALE_RIVAL_STATE, 1
|
||||
call_if_eq LittlerootTown_EventScript_1E7E53
|
||||
compare VAR_LITTLEROOT_RIVAL_STATE, 3
|
||||
call_if_eq LittlerootTown_EventScript_1E7E4F
|
||||
compare VAR_0x40D3, 1
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1
|
||||
call_if_eq LittlerootTown_EventScript_1E7E4B
|
||||
compare VAR_0x40D3, 2
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
|
||||
call_if_eq LittlerootTown_EventScript_1E7E45
|
||||
end
|
||||
|
||||
LittlerootTown_EventScript_1E7E45:: @ 81E7E45
|
||||
setvar VAR_0x40D3, 3
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
|
||||
return
|
||||
|
||||
LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B
|
||||
@@ -39,7 +39,7 @@ LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F
|
||||
return
|
||||
|
||||
LittlerootTown_EventScript_1E7E53:: @ 81E7E53
|
||||
setvar VAR_OLDALE_STATE, 2
|
||||
setvar VAR_OLDALE_RIVAL_STATE, 2
|
||||
setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
|
||||
return
|
||||
|
||||
@@ -53,7 +53,7 @@ LittlerootTown_EventScript_1E7E67:: @ 81E7E67
|
||||
return
|
||||
|
||||
LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F
|
||||
compare VAR_0x4050, 0
|
||||
compare VAR_LITTLEROOT_TOWN_STATE, 0
|
||||
goto_if_eq LittlerootTown_EventScript_1E7E86
|
||||
setobjectxyperm 1, 10, 1
|
||||
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
|
||||
@@ -85,7 +85,7 @@ LittlerootTown_EventScript_1E7EB9:: @ 81E7EB9
|
||||
LittlerootTown_MapScript2_1E7EC1: @ 81E7EC1
|
||||
map_script_2 VAR_LITTLEROOT_INTRO_STATE, 1, LittlerootTown_EventScript_1E7EDB
|
||||
map_script_2 VAR_LITTLEROOT_INTRO_STATE, 2, LittlerootTown_EventScript_1E7EF9
|
||||
map_script_2 VAR_0x40D3, 1, LittlerootTown_EventScript_1E7FB1
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_1E7FB1
|
||||
.2byte 0
|
||||
|
||||
LittlerootTown_EventScript_1E7EDB:: @ 81E7EDB
|
||||
@@ -201,7 +201,7 @@ LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1
|
||||
end
|
||||
|
||||
LittlerootTown_MapScript2_1E7FE2: @ 81E7FE2
|
||||
map_script_2 VAR_0x40D3, 1, LittlerootTown_EventScript_1E7FEC
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_EventScript_1E7FEC
|
||||
.2byte 0
|
||||
|
||||
LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC
|
||||
@@ -236,7 +236,7 @@ LittlerootTown_EventScript_1E8034:: @ 81E8034
|
||||
faceplayer
|
||||
goto_if_set FLAG_ADVENTURE_STARTED, LittlerootTown_EventScript_1E8087
|
||||
goto_if_set FLAG_RESCUED_BIRCH, LittlerootTown_EventScript_1E807A
|
||||
compare VAR_0x4050, 0
|
||||
compare VAR_LITTLEROOT_TOWN_STATE, 0
|
||||
goto_if_ne LittlerootTown_EventScript_1E805D
|
||||
msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -248,7 +248,7 @@ LittlerootTown_EventScript_1E805D:: @ 81E805D
|
||||
closemessage
|
||||
applymovement 1, Common_Movement_FaceOriginalDirection
|
||||
waitmovement 0
|
||||
setvar VAR_0x4050, 2
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 2
|
||||
release
|
||||
end
|
||||
|
||||
@@ -366,7 +366,7 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F
|
||||
closemessage
|
||||
applymovement 1, Common_Movement_FaceOriginalDirection
|
||||
waitmovement 0
|
||||
setvar VAR_0x4050, 2
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 2
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -909,7 +909,7 @@ LittlerootTown_EventScript_1E863D:: @ 81E863D
|
||||
LittlerootTown_EventScript_1E8686:: @ 81E8686
|
||||
removeobject 4
|
||||
setflag FLAG_SYS_B_DASH
|
||||
setvar VAR_0x4050, 4
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 4
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
|
||||
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
|
||||
delay 30
|
||||
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
|
||||
setvar VAR_0x4050, 1
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 1
|
||||
savebgm MUS_DUMMY
|
||||
fadedefaultbgm
|
||||
releaseall
|
||||
|
||||
@@ -24,7 +24,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433
|
||||
checkplayergender
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456
|
||||
compare VAR_0x40D3, 2
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
|
||||
goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309
|
||||
setobjectxyperm 1, 0, 2
|
||||
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
|
||||
@@ -84,7 +84,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
|
||||
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
|
||||
setvar VAR_0x4050, 1
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 1
|
||||
savebgm MUS_DUMMY
|
||||
fadedefaultbgm
|
||||
releaseall
|
||||
|
||||
@@ -211,7 +211,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
|
||||
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
|
||||
delay 30
|
||||
setvar VAR_LITTLEROOT_RIVAL_STATE, 3
|
||||
setvar VAR_0x4050, 1
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 1
|
||||
savebgm MUS_DUMMY
|
||||
fadedefaultbgm
|
||||
releaseall
|
||||
|
||||
@@ -24,7 +24,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6
|
||||
checkplayergender
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309
|
||||
compare VAR_0x40D3, 2
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
|
||||
goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309
|
||||
setobjectxyperm 1, 8, 2
|
||||
setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
|
||||
@@ -85,7 +85,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
|
||||
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
|
||||
setvar VAR_0x4050, 1
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 1
|
||||
savebgm MUS_DUMMY
|
||||
fadedefaultbgm
|
||||
releaseall
|
||||
|
||||
@@ -7,11 +7,11 @@ LittlerootTown_ProfessorBirchsLab_MapScripts:: @ 81F9C91
|
||||
LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1
|
||||
call Common_EventScript_SetupRivalGender
|
||||
call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD
|
||||
compare VAR_0x40D3, 6
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7
|
||||
compare VAR_0x40D3, 4
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
|
||||
compare VAR_0x40D3, 3
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
|
||||
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD
|
||||
end
|
||||
|
||||
@@ -24,7 +24,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD
|
||||
end
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9:: @ 81F9CE9
|
||||
setvar VAR_0x40D3, 4
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4
|
||||
goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3:: @ 81F9CF3
|
||||
@@ -39,12 +39,12 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7:: @ 81F9CF7
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06
|
||||
map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40
|
||||
map_script_2 VAR_0x40D3, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
|
||||
map_script_2 VAR_0x40D3, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
|
||||
map_script_2 VAR_0x40D3, 3, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
|
||||
map_script_2 VAR_0x40D3, 6, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
|
||||
map_script_2 VAR_0x40D3, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
|
||||
map_script_2 VAR_0x40D3, 5, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
|
||||
.2byte 0
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40
|
||||
@@ -87,8 +87,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75:: @ 81F9D75
|
||||
LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9: @ 81F9DB9
|
||||
map_script_2 VAR_BIRCH_LAB_STATE, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB
|
||||
map_script_2 VAR_BIRCH_LAB_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67
|
||||
map_script_2 VAR_0x40D3, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80
|
||||
map_script_2 VAR_0x40D3, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80
|
||||
map_script_2 VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62
|
||||
.2byte 0
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB
|
||||
@@ -194,7 +194,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
|
||||
closemessage
|
||||
setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
|
||||
setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
|
||||
setvar VAR_0x40D3, 2
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
|
||||
setvar VAR_SCOTT_CALL_STEP_COUNTER, 0
|
||||
setflag FLAG_SCOTT_CALL_NATIONAL_DEX
|
||||
releaseall
|
||||
@@ -247,7 +247,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62
|
||||
applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C
|
||||
waitmovement 0
|
||||
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT
|
||||
setvar VAR_0x40D3, 5
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -284,7 +284,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB
|
||||
release
|
||||
compare VAR_0x40D3, 6
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
|
||||
applymovement 2, Common_Movement_WalkInPlaceRight
|
||||
waitmovement 0
|
||||
@@ -297,7 +297,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF
|
||||
release
|
||||
compare VAR_0x40D3, 6
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
|
||||
applymovement 2, Common_Movement_WalkInPlaceRight
|
||||
waitmovement 0
|
||||
@@ -310,7 +310,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023
|
||||
release
|
||||
compare VAR_0x40D3, 6
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
|
||||
applymovement 2, Common_Movement_WalkInPlaceRight
|
||||
waitmovement 0
|
||||
@@ -373,7 +373,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD
|
||||
erasemonpic
|
||||
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
|
||||
setvar VAR_0x40D3, 6
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -418,7 +418,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E
|
||||
erasemonpic
|
||||
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
|
||||
setvar VAR_0x40D3, 6
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -463,7 +463,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F
|
||||
erasemonpic
|
||||
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
|
||||
setvar VAR_0x40D3, 6
|
||||
setvar VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -477,9 +477,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F:: @ 81FA24F
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_0x40D3, 5
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
|
||||
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A
|
||||
compare VAR_0x40D3, 2
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
|
||||
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294
|
||||
goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
|
||||
goto_if_unset FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2
|
||||
@@ -498,9 +498,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E
|
||||
goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, LittlerootTown_ProfessorBirchsLab_EventScript_272141
|
||||
compare VAR_0x40D3, 3
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 3
|
||||
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141
|
||||
compare VAR_0x40D3, 6
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_272141
|
||||
compare VAR_BIRCH_LAB_STATE, 5
|
||||
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4
|
||||
@@ -519,7 +519,7 @@ Route101_EventScript_1FA2D2:: @ 81FA2D2
|
||||
closemessage
|
||||
delay 30
|
||||
setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL
|
||||
setvar VAR_0x40DA, 2
|
||||
setvar VAR_REGISTER_BIRCH_STATE, 2
|
||||
release
|
||||
end
|
||||
|
||||
@@ -539,9 +539,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
|
||||
call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F
|
||||
setvar VAR_BIRCH_LAB_STATE, 5
|
||||
setflag FLAG_ADVENTURE_STARTED
|
||||
setvar VAR_ROUTE102_ACCESSIBLE, 1
|
||||
setvar VAR_OLDALE_TOWN_STATE, 1
|
||||
setvar VAR_LITTLEROOT_RIVAL_STATE, 4
|
||||
setvar VAR_0x4050, 3
|
||||
setvar VAR_LITTLEROOT_TOWN_STATE, 3
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -598,11 +598,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3:: @ 81FA3E3
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_0x40D3, 5
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 5
|
||||
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A
|
||||
compare VAR_0x40D3, 6
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 6
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA465
|
||||
compare VAR_0x40D3, 2
|
||||
compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2
|
||||
goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA490
|
||||
checkplayergender
|
||||
compare VAR_RESULT, MALE
|
||||
|
||||
@@ -62,7 +62,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
|
||||
closemessage
|
||||
clearflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
|
||||
clearflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
|
||||
setvar VAR_SLATEPORT_STATE, 1
|
||||
setvar VAR_SLATEPORT_CITY_STATE, 1
|
||||
setflag FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT
|
||||
setvar VAR_SLATEPORT_HARBOR_STATE, 1
|
||||
fadescreen 1
|
||||
|
||||
@@ -52,7 +52,7 @@ MirageTower_4F_EventScript_23ADCA:: @ 823ADCA
|
||||
waitstate
|
||||
special DoMirageTowerCeilingCrumble
|
||||
waitstate
|
||||
setvar VAR_ROUTE_111_STATE, 1
|
||||
setvar VAR_MIRAGE_TOWER_STATE, 1
|
||||
clearflag FLAG_LANDMARK_MIRAGE_TOWER
|
||||
warp MAP_ROUTE111, 255, 19, 59
|
||||
waitstate
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
"x": 42,
|
||||
"y": 21,
|
||||
"elevation": 5,
|
||||
"var": "VAR_MOSSDEEP_STATE",
|
||||
"var": "VAR_MOSSDEEP_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "MossdeepCity_EventScript_1E4B41"
|
||||
},
|
||||
@@ -375,7 +375,7 @@
|
||||
"x": 41,
|
||||
"y": 22,
|
||||
"elevation": 5,
|
||||
"var": "VAR_MOSSDEEP_STATE",
|
||||
"var": "VAR_MOSSDEEP_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "MossdeepCity_EventScript_1E4B41"
|
||||
},
|
||||
@@ -384,7 +384,7 @@
|
||||
"x": 41,
|
||||
"y": 23,
|
||||
"elevation": 5,
|
||||
"var": "VAR_MOSSDEEP_STATE",
|
||||
"var": "VAR_MOSSDEEP_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "MossdeepCity_EventScript_1E4B41"
|
||||
},
|
||||
@@ -393,7 +393,7 @@
|
||||
"x": 41,
|
||||
"y": 24,
|
||||
"elevation": 5,
|
||||
"var": "VAR_MOSSDEEP_STATE",
|
||||
"var": "VAR_MOSSDEEP_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "MossdeepCity_EventScript_1E4B41"
|
||||
},
|
||||
@@ -402,7 +402,7 @@
|
||||
"x": 40,
|
||||
"y": 25,
|
||||
"elevation": 5,
|
||||
"var": "VAR_MOSSDEEP_STATE",
|
||||
"var": "VAR_MOSSDEEP_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "MossdeepCity_EventScript_1E4B41"
|
||||
},
|
||||
@@ -411,7 +411,7 @@
|
||||
"x": 40,
|
||||
"y": 26,
|
||||
"elevation": 5,
|
||||
"var": "VAR_MOSSDEEP_STATE",
|
||||
"var": "VAR_MOSSDEEP_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "MossdeepCity_EventScript_1E4B41"
|
||||
}
|
||||
@@ -482,4 +482,4 @@
|
||||
"script": "MossdeepCity_EventScript_1E4B14"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ MossdeepCity_EventScript_1E4B41:: @ 81E4B41
|
||||
removeobject 12
|
||||
removeobject 13
|
||||
delay 30
|
||||
setvar VAR_MOSSDEEP_STATE, 2
|
||||
setvar VAR_MOSSDEEP_CITY_STATE, 2
|
||||
setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -71,7 +71,7 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
|
||||
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
|
||||
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
|
||||
clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
|
||||
setvar VAR_MOSSDEEP_STATE, 1
|
||||
setvar VAR_MOSSDEEP_CITY_STATE, 1
|
||||
setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN
|
||||
setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 1
|
||||
call MossdeepCity_Gym_EventScript_22095B
|
||||
|
||||
@@ -4,7 +4,7 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41
|
||||
.byte 0
|
||||
|
||||
MossdeepCity_SpaceCenter_1F_OnTransition: @ 8222F4C
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58
|
||||
end
|
||||
|
||||
@@ -39,7 +39,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA
|
||||
end
|
||||
|
||||
MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_222FCE
|
||||
end
|
||||
|
||||
@@ -50,7 +50,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE
|
||||
MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223024
|
||||
dotimebasedevents
|
||||
specialvar VAR_RESULT, GetWeekCount
|
||||
@@ -98,7 +98,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_22305A:: @ 822305A
|
||||
MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A
|
||||
msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -114,7 +114,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A
|
||||
MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA
|
||||
goto_if_set FLAG_RECEIVED_SUN_STONE_MOSSDEEP, MossdeepCity_SpaceCenter_1F_EventScript_2230D0
|
||||
msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT
|
||||
@@ -155,9 +155,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_223154
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_223154
|
||||
goto MossdeepCity_SpaceCenter_1F_EventScript_22315E
|
||||
end
|
||||
@@ -176,9 +176,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_22318F
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_22318F
|
||||
goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4
|
||||
end
|
||||
|
||||
@@ -4,7 +4,7 @@ MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58
|
||||
.byte 0
|
||||
|
||||
MossdeepCity_SpaceCenter_2F_OnTransition: @ 8223D63
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D7A
|
||||
compare VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2
|
||||
call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D9F
|
||||
@@ -98,9 +98,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EB4
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EB4
|
||||
goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE
|
||||
end
|
||||
@@ -119,9 +119,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EEF
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EEF
|
||||
goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9
|
||||
end
|
||||
@@ -140,9 +140,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223F2A
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34
|
||||
compare VAR_MOSSDEEP_STATE, 2
|
||||
compare VAR_MOSSDEEP_CITY_STATE, 2
|
||||
goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223F2A
|
||||
goto MossdeepCity_SpaceCenter_2F_EventScript_223F34
|
||||
end
|
||||
@@ -287,7 +287,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
|
||||
delay 20
|
||||
msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_MOSSDEEP_STATE, 3
|
||||
setvar VAR_MOSSDEEP_CITY_STATE, 3
|
||||
fadedefaultbgm
|
||||
fadescreen 1
|
||||
setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 3
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
"x": 0,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
"var": "VAR_ROUTE102_ACCESSIBLE",
|
||||
"var": "VAR_OLDALE_TOWN_STATE",
|
||||
"var_value": "0",
|
||||
"script": "OldaleTown_EventScript_1E903F"
|
||||
},
|
||||
@@ -128,7 +128,7 @@
|
||||
"x": 8,
|
||||
"y": 19,
|
||||
"elevation": 3,
|
||||
"var": "VAR_OLDALE_STATE",
|
||||
"var": "VAR_OLDALE_RIVAL_STATE",
|
||||
"var_value": "1",
|
||||
"script": "OldaleTown_EventScript_1E9086"
|
||||
},
|
||||
@@ -137,7 +137,7 @@
|
||||
"x": 9,
|
||||
"y": 19,
|
||||
"elevation": 3,
|
||||
"var": "VAR_OLDALE_STATE",
|
||||
"var": "VAR_OLDALE_RIVAL_STATE",
|
||||
"var_value": "1",
|
||||
"script": "OldaleTown_EventScript_1E90A6"
|
||||
},
|
||||
@@ -146,7 +146,7 @@
|
||||
"x": 10,
|
||||
"y": 19,
|
||||
"elevation": 3,
|
||||
"var": "VAR_OLDALE_STATE",
|
||||
"var": "VAR_OLDALE_RIVAL_STATE",
|
||||
"var_value": "1",
|
||||
"script": "OldaleTown_EventScript_1E90C6"
|
||||
}
|
||||
@@ -193,4 +193,4 @@
|
||||
"script": "Common_EventScript_ShowPokemartSign"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ OldaleTown_OnTransition: @ 81E8EA8
|
||||
end
|
||||
|
||||
OldaleTown_EventScript_1E8ECC:: @ 81E8ECC
|
||||
setvar VAR_ROUTE102_ACCESSIBLE, 1
|
||||
setvar VAR_OLDALE_TOWN_STATE, 1
|
||||
return
|
||||
|
||||
OldaleTown_EventScript_1E8ED2:: @ 81E8ED2
|
||||
@@ -280,7 +280,7 @@ OldaleTown_EventScript_1E911A:: @ 81E911A
|
||||
applymovement 4, OldaleTown_Movement_1E9177
|
||||
waitmovement 0
|
||||
removeobject 4
|
||||
setvar VAR_OLDALE_STATE, 2
|
||||
setvar VAR_OLDALE_RIVAL_STATE, 2
|
||||
setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
"x": 8,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
"var": "VAR_PETALBURG_STATE",
|
||||
"var": "VAR_PETALBURG_CITY_STATE",
|
||||
"var_value": "0",
|
||||
"script": "PetalburgCity_EventScript_1DC49A"
|
||||
},
|
||||
@@ -202,7 +202,7 @@
|
||||
"x": 8,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
"var": "VAR_PETALBURG_STATE",
|
||||
"var": "VAR_PETALBURG_CITY_STATE",
|
||||
"var_value": "0",
|
||||
"script": "PetalburgCity_EventScript_1DC4A6"
|
||||
},
|
||||
@@ -211,7 +211,7 @@
|
||||
"x": 8,
|
||||
"y": 12,
|
||||
"elevation": 3,
|
||||
"var": "VAR_PETALBURG_STATE",
|
||||
"var": "VAR_PETALBURG_CITY_STATE",
|
||||
"var_value": "0",
|
||||
"script": "PetalburgCity_EventScript_1DC4B2"
|
||||
},
|
||||
@@ -220,7 +220,7 @@
|
||||
"x": 8,
|
||||
"y": 13,
|
||||
"elevation": 3,
|
||||
"var": "VAR_PETALBURG_STATE",
|
||||
"var": "VAR_PETALBURG_CITY_STATE",
|
||||
"var_value": "0",
|
||||
"script": "PetalburgCity_EventScript_1DC4BE"
|
||||
},
|
||||
@@ -327,4 +327,4 @@
|
||||
"flag": "FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,11 @@ PetalburgCity_MapScripts::
|
||||
|
||||
PetalburgCity_OnTransition: @ 81DC2D7
|
||||
setflag FLAG_VISITED_PETALBURG_CITY
|
||||
compare VAR_PETALBURG_STATE, 0
|
||||
compare VAR_PETALBURG_CITY_STATE, 0
|
||||
call_if_eq PetalburgCity_EventScript_1DC307
|
||||
compare VAR_PETALBURG_STATE, 2
|
||||
compare VAR_PETALBURG_CITY_STATE, 2
|
||||
call_if_eq PetalburgCity_EventScript_1DC30F
|
||||
compare VAR_PETALBURG_STATE, 4
|
||||
compare VAR_PETALBURG_CITY_STATE, 4
|
||||
call_if_eq PetalburgCity_EventScript_1DC30F
|
||||
compare VAR_PETALBURG_GYM_STATE, 8
|
||||
call_if_eq PetalburgCity_EventScript_1DC316
|
||||
@@ -29,8 +29,8 @@ PetalburgCity_EventScript_1DC316:: @ 81DC316
|
||||
return
|
||||
|
||||
PetalburgCity_MapScript2_1DC31C: @ 81DC31C
|
||||
map_script_2 VAR_PETALBURG_STATE, 2, PetalburgCity_EventScript_1DC32E
|
||||
map_script_2 VAR_PETALBURG_STATE, 4, PetalburgCity_EventScript_1DC390
|
||||
map_script_2 VAR_PETALBURG_CITY_STATE, 2, PetalburgCity_EventScript_1DC32E
|
||||
map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_EventScript_1DC390
|
||||
.2byte 0
|
||||
|
||||
PetalburgCity_EventScript_1DC32E:: @ 81DC32E
|
||||
@@ -49,7 +49,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E
|
||||
msgbox PetalburgCity_Text_1EC297, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
clearflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
setvar VAR_PETALBURG_STATE, 3
|
||||
setvar VAR_PETALBURG_CITY_STATE, 3
|
||||
fadedefaultbgm
|
||||
clearflag FLAG_SPECIAL_FLAG_0x4001
|
||||
special LoadPlayerParty
|
||||
|
||||
@@ -217,7 +217,7 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
|
||||
removeobject 10
|
||||
setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT
|
||||
setvar VAR_PETALBURG_GYM_STATE, 1
|
||||
setvar VAR_PETALBURG_STATE, 2
|
||||
setvar VAR_PETALBURG_CITY_STATE, 2
|
||||
clearflag FLAG_HIDE_PETALBURG_CITY_WALLY
|
||||
clearflag FLAG_HIDE_PETALBURG_GYM_WALLY
|
||||
setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
|
||||
@@ -496,7 +496,7 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
|
||||
compare VAR_0x8008, 3
|
||||
call_if_eq PetalburgCity_Gym_EventScript_20506C
|
||||
removeobject 11
|
||||
setvar VAR_PETALBURG_STATE, 4
|
||||
setvar VAR_PETALBURG_CITY_STATE, 4
|
||||
clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
|
||||
warp MAP_PETALBURG_CITY, 255, 15, 8
|
||||
waitstate
|
||||
|
||||
@@ -4,7 +4,7 @@ PetalburgCity_WallysHouse_MapScripts:: @ 8204229
|
||||
.byte 0
|
||||
|
||||
PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234
|
||||
map_script_2 VAR_PETALBURG_STATE, 4, PetalburgCity_WallysHouse_EventScript_20423E
|
||||
map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_20423E
|
||||
.2byte 0
|
||||
|
||||
PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E
|
||||
@@ -13,7 +13,7 @@ PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E
|
||||
end
|
||||
|
||||
PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247
|
||||
map_script_2 VAR_PETALBURG_STATE, 4, PetalburgCity_WallysHouse_EventScript_204251
|
||||
map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_204251
|
||||
.2byte 0
|
||||
|
||||
PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251
|
||||
@@ -22,7 +22,7 @@ PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251
|
||||
giveitem_std ITEM_HM03
|
||||
setflag FLAG_RECEIVED_HM03
|
||||
msgbox PetalburgCity_WallysHouse_Text_20461A, MSGBOX_DEFAULT
|
||||
setvar VAR_PETALBURG_STATE, 5
|
||||
setvar VAR_PETALBURG_CITY_STATE, 5
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ Route103_EventScript_1EC5A2:: @ 81EC5A2
|
||||
setvar VAR_BIRCH_LAB_STATE, 4
|
||||
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
|
||||
setflag FLAG_DEFEATED_RIVAL_ROUTE103
|
||||
setvar VAR_OLDALE_STATE, 1
|
||||
setvar VAR_OLDALE_RIVAL_STATE, 1
|
||||
clearflag FLAG_HIDE_OLDALE_TOWN_RIVAL
|
||||
savebgm MUS_DUMMY
|
||||
fadedefaultbgm
|
||||
|
||||
@@ -537,7 +537,7 @@
|
||||
"x": 17,
|
||||
"y": 51,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x4063",
|
||||
"var": "VAR_ROUTE104_STATE",
|
||||
"var_value": "1",
|
||||
"script": "Route104_EventScript_1ECCB3"
|
||||
}
|
||||
@@ -624,4 +624,4 @@
|
||||
"flag": "FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ Route104_MapScripts:: @ 81ECC32
|
||||
.byte 0
|
||||
|
||||
Route104_MapScript2_1ECC3D: @ 81ECC3D
|
||||
map_script_2 VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 1, Route104_EventScript_1ECC47
|
||||
map_script_2 VAR_BOARD_BRINEY_BOAT_STATE, 1, Route104_EventScript_1ECC47
|
||||
.2byte 0
|
||||
|
||||
Route104_EventScript_1ECC47:: @ 81ECC47
|
||||
@@ -29,7 +29,7 @@ Route104_EventScript_1ECC74:: @ 81ECC74
|
||||
return
|
||||
|
||||
Route104_EventScript_1ECC78:: @ 81ECC78
|
||||
compare VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 1
|
||||
compare VAR_BOARD_BRINEY_BOAT_STATE, 1
|
||||
goto_if_ge Route104_EventScript_1ECC9D
|
||||
goto_if_set FLAG_MET_RIVAL_RUSTBORO, Route104_EventScript_1ECC9D
|
||||
goto_if_unset FLAG_REGISTER_RIVAL_POKENAV, Route104_EventScript_1ECC9D
|
||||
@@ -49,8 +49,8 @@ Route104_EventScript_1ECC9E:: @ 81ECC9E
|
||||
Route104_EventScript_1ECCB3:: @ 81ECCB3
|
||||
lockall
|
||||
setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
|
||||
setvar VAR_RUSTBORO_STATE, 8
|
||||
setvar VAR_0x4063, 2
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 8
|
||||
setvar VAR_ROUTE104_STATE, 2
|
||||
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
|
||||
waitmovement 0
|
||||
delay 10
|
||||
@@ -417,7 +417,7 @@ Route104_EventScript_1ED139:: @ 81ED139
|
||||
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
|
||||
resetobjectpriority 2, MAP_DEWFORD_TOWN
|
||||
moveobjectoffscreen 2
|
||||
setvar VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 0
|
||||
setvar VAR_BOARD_BRINEY_BOAT_STATE, 0
|
||||
goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1B4
|
||||
goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1BE
|
||||
end
|
||||
|
||||
@@ -75,12 +75,12 @@ Route104_MrBrineysHouse_EventScript_229E1D:: @ 8229E1D
|
||||
Route104_MrBrineysHouse_EventScript_229E27:: @ 8229E27
|
||||
msgbox Route104_MrBrineysHouse_Text_229FE9, MSGBOX_DEFAULT
|
||||
call Route104_MrBrineysHouse_EventScript_271E95
|
||||
setvar VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, 1
|
||||
setvar VAR_BOARD_BRINEY_BOAT_STATE, 1
|
||||
clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY
|
||||
setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
|
||||
setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
|
||||
setvar VAR_RUSTBORO_STATE, 8
|
||||
setvar VAR_0x4063, 2
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 8
|
||||
setvar VAR_ROUTE104_STATE, 2
|
||||
setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
|
||||
setflag FLAG_HIDE_ROUTE_104_RIVAL
|
||||
warp MAP_ROUTE104, 255, 13, 51
|
||||
|
||||
@@ -594,7 +594,7 @@
|
||||
"x": 7,
|
||||
"y": 85,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x40DA",
|
||||
"var": "VAR_REGISTER_BIRCH_STATE",
|
||||
"var_value": "1",
|
||||
"script": "Route110_EventScript_1EF9CB"
|
||||
},
|
||||
@@ -603,7 +603,7 @@
|
||||
"x": 8,
|
||||
"y": 85,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x40DA",
|
||||
"var": "VAR_REGISTER_BIRCH_STATE",
|
||||
"var_value": "1",
|
||||
"script": "Route110_EventScript_1EF9D6"
|
||||
},
|
||||
@@ -612,7 +612,7 @@
|
||||
"x": 9,
|
||||
"y": 85,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x40DA",
|
||||
"var": "VAR_REGISTER_BIRCH_STATE",
|
||||
"var_value": "1",
|
||||
"script": "Route110_EventScript_1EF9E1"
|
||||
},
|
||||
@@ -621,7 +621,7 @@
|
||||
"x": 10,
|
||||
"y": 85,
|
||||
"elevation": 3,
|
||||
"var": "VAR_0x40DA",
|
||||
"var": "VAR_REGISTER_BIRCH_STATE",
|
||||
"var_value": "1",
|
||||
"script": "Route110_EventScript_1EF9EC"
|
||||
}
|
||||
@@ -762,4 +762,4 @@
|
||||
"script": "Route110_EventScript_1EF34A"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -660,7 +660,7 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7
|
||||
compare VAR_0x8008, 4
|
||||
call_if_eq Route110_EventScript_1EFB25
|
||||
removeobject 36
|
||||
setvar VAR_0x40DA, 2
|
||||
setvar VAR_REGISTER_BIRCH_STATE, 2
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ Route111_MapScripts:: @ 81F0CA7
|
||||
|
||||
Route111_MapScript1_1F0CBC: @ 81F0CBC
|
||||
call_if_unset FLAG_REGI_DOORS_OPENED, Route111_EventScript_1F0CD1
|
||||
compare VAR_ROUTE_111_STATE, 1
|
||||
compare VAR_MIRAGE_TOWER_STATE, 1
|
||||
call_if_eq Route111_EventScript_1F0CE4
|
||||
end
|
||||
|
||||
@@ -41,9 +41,9 @@ Route111_OnTransition: @ 81F0D87
|
||||
setvar VAR_TRAINER_HILL_IS_ACTIVE, 0
|
||||
special SetMirageTowerVisibility
|
||||
call_if_unset FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F0E3C
|
||||
compare VAR_ROUTE_111_STATE, 1
|
||||
compare VAR_MIRAGE_TOWER_STATE, 1
|
||||
call_if_eq Route111_EventScript_1F0DC2
|
||||
compare VAR_ROUTE_111_STATE, 2
|
||||
compare VAR_MIRAGE_TOWER_STATE, 2
|
||||
call_if_eq Route111_EventScript_1F0E40
|
||||
call Route111_EventScript_1F0DE6
|
||||
call Route111_EventScript_28CCC7
|
||||
@@ -101,11 +101,11 @@ Route111_EventScript_1F0E3C:: @ 81F0E3C
|
||||
return
|
||||
|
||||
Route111_EventScript_1F0E40:: @ 81F0E40
|
||||
setvar VAR_ROUTE_111_STATE, 3
|
||||
setvar VAR_MIRAGE_TOWER_STATE, 3
|
||||
return
|
||||
|
||||
Route111_MapScript2_1F0E46: @ 81F0E46
|
||||
map_script_2 VAR_ROUTE_111_STATE, 1, Route111_EventScript_1F0E50
|
||||
map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_1F0E50
|
||||
.2byte 0
|
||||
|
||||
Route111_EventScript_1F0E50:: @ 81F0E50
|
||||
@@ -113,7 +113,7 @@ Route111_EventScript_1F0E50:: @ 81F0E50
|
||||
end
|
||||
|
||||
Route111_MapScript2_1F0E56: @ 81F0E56
|
||||
map_script_2 VAR_ROUTE_111_STATE, 1, Route111_EventScript_1F0E60
|
||||
map_script_2 VAR_MIRAGE_TOWER_STATE, 1, Route111_EventScript_1F0E60
|
||||
.2byte 0
|
||||
|
||||
Route111_EventScript_1F0E60:: @ 81F0E60
|
||||
@@ -134,7 +134,7 @@ Route111_EventScript_1F0E60:: @ 81F0E60
|
||||
waitstate
|
||||
special StartMirageTowerFossilFallAndSink
|
||||
waitstate
|
||||
setvar VAR_ROUTE_111_STATE, 2
|
||||
setvar VAR_MIRAGE_TOWER_STATE, 2
|
||||
clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
|
||||
goto_if_set FLAG_CHOSE_ROOT_FOSSIL, Route111_EventScript_1F0EA7
|
||||
msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT
|
||||
@@ -411,9 +411,9 @@ Route111_EventScript_1F1192:: @ 81F1192
|
||||
Route111_EventScript_1F119B:: @ 81F119B
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_ROUTE_111_STATE, 3
|
||||
compare VAR_MIRAGE_TOWER_STATE, 3
|
||||
goto_if_eq Route111_EventScript_1F11C6
|
||||
compare VAR_ROUTE_111_STATE, 2
|
||||
compare VAR_MIRAGE_TOWER_STATE, 2
|
||||
goto_if_eq Route111_EventScript_1F11D0
|
||||
goto_if_set FLAG_MIRAGE_TOWER_VISIBLE, Route111_EventScript_1F11DA
|
||||
msgbox Route111_Text_1F1A22, MSGBOX_DEFAULT
|
||||
|
||||
@@ -14,7 +14,7 @@ Route129_MapScript1_1F7294: @ 81F7294
|
||||
Route129_OnTransition: @ 81F72AB
|
||||
compare VAR_SHOULD_END_UNUSUAL_WEATHER, 1
|
||||
call_if_eq Route129_EventScript_273D13
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
call_if_ge Route129_EventScript_1F72D8
|
||||
compare VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_ROUTE_129_WEST
|
||||
call_if_eq UnusualWeather_StartKyogreWeather
|
||||
|
||||
@@ -3,7 +3,7 @@ Route130_MapScripts:: @ 81F735F
|
||||
.byte 0
|
||||
|
||||
Route130_OnTransition: @ 81F7365
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
call_if_ge Route130_EventScript_1F73B5
|
||||
specialvar VAR_RESULT, IsMirageIslandPresent
|
||||
compare VAR_RESULT, 1
|
||||
|
||||
@@ -3,7 +3,7 @@ Route131_MapScripts:: @ 81F7404
|
||||
.byte 0
|
||||
|
||||
Route131_OnTransition: @ 81F740A
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
call_if_ge Route131_EventScript_1F741F
|
||||
call Route131_EventScript_1F741B
|
||||
end
|
||||
|
||||
@@ -331,7 +331,7 @@
|
||||
"x": 23,
|
||||
"y": 20,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "RustboroCity_EventScript_1E095A"
|
||||
},
|
||||
@@ -340,7 +340,7 @@
|
||||
"x": 23,
|
||||
"y": 21,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "RustboroCity_EventScript_1E0971"
|
||||
},
|
||||
@@ -349,7 +349,7 @@
|
||||
"x": 23,
|
||||
"y": 22,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "RustboroCity_EventScript_1E0988"
|
||||
},
|
||||
@@ -358,7 +358,7 @@
|
||||
"x": 23,
|
||||
"y": 23,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "RustboroCity_EventScript_1E099F"
|
||||
},
|
||||
@@ -367,7 +367,7 @@
|
||||
"x": 23,
|
||||
"y": 24,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "1",
|
||||
"script": "RustboroCity_EventScript_1E09B6"
|
||||
},
|
||||
@@ -376,7 +376,7 @@
|
||||
"x": 30,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "2",
|
||||
"script": "RustboroCity_EventScript_1E0AFE"
|
||||
},
|
||||
@@ -385,7 +385,7 @@
|
||||
"x": 29,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "2",
|
||||
"script": "RustboroCity_EventScript_1E0B0A"
|
||||
},
|
||||
@@ -394,7 +394,7 @@
|
||||
"x": 30,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "2",
|
||||
"script": "RustboroCity_EventScript_1E0B16"
|
||||
},
|
||||
@@ -403,7 +403,7 @@
|
||||
"x": 30,
|
||||
"y": 12,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "2",
|
||||
"script": "RustboroCity_EventScript_1E0B22"
|
||||
},
|
||||
@@ -412,7 +412,7 @@
|
||||
"x": 30,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "4",
|
||||
"script": "RustboroCity_EventScript_1E0C2B"
|
||||
},
|
||||
@@ -421,7 +421,7 @@
|
||||
"x": 31,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "4",
|
||||
"script": "RustboroCity_EventScript_1E0C37"
|
||||
},
|
||||
@@ -430,7 +430,7 @@
|
||||
"x": 30,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "4",
|
||||
"script": "RustboroCity_EventScript_1E0C43"
|
||||
},
|
||||
@@ -439,7 +439,7 @@
|
||||
"x": 30,
|
||||
"y": 12,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "4",
|
||||
"script": "RustboroCity_EventScript_1E0C4F"
|
||||
},
|
||||
@@ -448,7 +448,7 @@
|
||||
"x": 12,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0DF3"
|
||||
},
|
||||
@@ -457,7 +457,7 @@
|
||||
"x": 13,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0E33"
|
||||
},
|
||||
@@ -466,7 +466,7 @@
|
||||
"x": 14,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0E73"
|
||||
},
|
||||
@@ -475,7 +475,7 @@
|
||||
"x": 15,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0EB3"
|
||||
},
|
||||
@@ -484,7 +484,7 @@
|
||||
"x": 16,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0EF3"
|
||||
},
|
||||
@@ -493,7 +493,7 @@
|
||||
"x": 17,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0F33"
|
||||
},
|
||||
@@ -502,7 +502,7 @@
|
||||
"x": 18,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0F73"
|
||||
},
|
||||
@@ -511,7 +511,7 @@
|
||||
"x": 19,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
"var": "VAR_RUSTBORO_STATE",
|
||||
"var": "VAR_RUSTBORO_CITY_STATE",
|
||||
"var_value": "7",
|
||||
"script": "RustboroCity_EventScript_1E0FB3"
|
||||
}
|
||||
@@ -598,4 +598,4 @@
|
||||
"script": "RustboroCity_EventScript_1E0919"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ RustboroCity_MapScripts:: @ 81E06BD
|
||||
RustboroCity_OnTransition: @ 81E06C8
|
||||
setflag FLAG_VISITED_RUSTBORO_CITY
|
||||
call Common_EventScript_SetupRivalGender
|
||||
compare VAR_RUSTBORO_STATE, 6
|
||||
compare VAR_RUSTBORO_CITY_STATE, 6
|
||||
call_if_eq RustboroCity_EventScript_1E0707
|
||||
getplayerxy VAR_TEMP_0, VAR_TEMP_1
|
||||
compare VAR_RUSTBORO_STATE, 6
|
||||
compare VAR_RUSTBORO_CITY_STATE, 6
|
||||
goto_if_eq RustboroCity_EventScript_1E06EC
|
||||
end
|
||||
|
||||
@@ -28,12 +28,12 @@ RustboroCity_EventScript_1E0707:: @ 81E0707
|
||||
return
|
||||
|
||||
RustboroCity_MapScript2_1E070B: @ 81E070B
|
||||
map_script_2 VAR_RUSTBORO_STATE, 6, RustboroCity_EventScript_1E0715
|
||||
map_script_2 VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_1E0715
|
||||
.2byte 0
|
||||
|
||||
RustboroCity_EventScript_1E0715:: @ 81E0715
|
||||
lockall
|
||||
setvar VAR_0x4063, 1
|
||||
setvar VAR_ROUTE104_STATE, 1
|
||||
applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_1E0850
|
||||
waitmovement 0
|
||||
playse SE_KAIDAN
|
||||
@@ -99,7 +99,7 @@ RustboroCity_EventScript_1E07BD:: @ 81E07BD
|
||||
playse SE_KAIDAN
|
||||
removeobject 15
|
||||
setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
|
||||
setvar VAR_RUSTBORO_STATE, 7
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 7
|
||||
clearflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
releaseall
|
||||
end
|
||||
@@ -302,7 +302,7 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD
|
||||
setobjectxyperm 9, 30, 10
|
||||
clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
|
||||
setflag FLAG_DEVON_GOODS_STOLEN
|
||||
setvar VAR_RUSTBORO_STATE, 2
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 2
|
||||
setvar VAR_RUSTURF_TUNNEL_STATE, 2
|
||||
setvar VAR_ROUTE116_STATE, 1
|
||||
clearflag FLAG_HIDE_ROUTE_116_MR_BRINEY
|
||||
@@ -493,7 +493,7 @@ RustboroCity_EventScript_1E0B2E:: @ 81E0B2E
|
||||
compare VAR_TEMP_1, 3
|
||||
call_if_eq RustboroCity_EventScript_1E0BF3
|
||||
setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN
|
||||
setvar VAR_RUSTBORO_STATE, 3
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 3
|
||||
moveobjectoffscreen 9
|
||||
msgbox RustboroCity_Text_1E183E, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
@@ -596,7 +596,7 @@ RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
|
||||
closemessage
|
||||
setflag FLAG_RETURNED_DEVON_GOODS
|
||||
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
|
||||
setvar VAR_RUSTBORO_STATE, 5
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 5
|
||||
delay 30
|
||||
warp MAP_RUSTBORO_CITY_DEVON_CORP_3F, 255, 2, 2
|
||||
waitstate
|
||||
@@ -840,8 +840,8 @@ RustboroCity_EventScript_1E100B:: @ 81E100B
|
||||
closemessage
|
||||
delay 30
|
||||
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
|
||||
setvar VAR_RUSTBORO_STATE, 8
|
||||
setvar VAR_0x4063, 2
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 8
|
||||
setvar VAR_ROUTE104_STATE, 2
|
||||
setvar VAR_0x8008, 0
|
||||
msgbox RustboroCity_Text_1E1AFA, MSGBOX_YESNO
|
||||
compare VAR_RESULT, 1
|
||||
@@ -911,8 +911,8 @@ RustboroCity_EventScript_1E1114:: @ 81E1114
|
||||
closemessage
|
||||
delay 30
|
||||
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
|
||||
setvar VAR_RUSTBORO_STATE, 8
|
||||
setvar VAR_0x4063, 2
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 8
|
||||
setvar VAR_ROUTE104_STATE, 2
|
||||
msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq RustboroCity_EventScript_1E1191
|
||||
|
||||
@@ -281,7 +281,7 @@ RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF
|
||||
faceplayer
|
||||
compare VAR_FOSSIL_RESURRECTION_STATE, 1
|
||||
call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
|
||||
compare VAR_RUSTBORO_STATE, 6
|
||||
compare VAR_RUSTBORO_CITY_STATE, 6
|
||||
goto_if_ge RustboroCity_DevonCorp_2F_EventScript_211BF1
|
||||
msgbox RustboroCity_DevonCorp_2F_Text_212338, MSGBOX_DEFAULT
|
||||
release
|
||||
|
||||
@@ -68,7 +68,7 @@ RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E
|
||||
setvar VAR_BRINEY_LOCATION, 1
|
||||
clearflag FLAG_HIDE_RUSBORO_CITY_RIVAL
|
||||
setvar VAR_DEVON_CORP_3F_STATE, 1
|
||||
setvar VAR_RUSTBORO_STATE, 6
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 6
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ RustboroCity_Gym_EventScript_212F66:: @ 8212F66
|
||||
msgbox RustboroCity_Gym_Text_213816, MSGBOX_DEFAULT
|
||||
setflag FLAG_DEFEATED_RUSTBORO_GYM
|
||||
setflag FLAG_BADGE01_GET
|
||||
setvar VAR_RUSTBORO_STATE, 1
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 1
|
||||
addvar VAR_PETALBURG_GYM_STATE, 1
|
||||
setvar VAR_0x8008, 1
|
||||
call RustboroCity_Gym_EventScript_271F43
|
||||
|
||||
@@ -345,7 +345,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
|
||||
removeobject 7
|
||||
clearflag FLAG_DEVON_GOODS_STOLEN
|
||||
setflag FLAG_RECOVERED_DEVON_GOODS
|
||||
setvar VAR_RUSTBORO_STATE, 4
|
||||
setvar VAR_RUSTBORO_CITY_STATE, 4
|
||||
setvar VAR_BRINEY_HOUSE_STATE, 1
|
||||
setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
|
||||
release
|
||||
|
||||
@@ -119,7 +119,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
|
||||
waitmovement 0
|
||||
msgbox SeafloorCavern_Room9_Text_235723, MSGBOX_DEFAULT
|
||||
setvar VAR_ROUTE128_STATE, 1
|
||||
setvar VAR_RAYQUAZA_STATE, 1
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
|
||||
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
|
||||
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
|
||||
|
||||
@@ -5,9 +5,9 @@ SkyPillar_Outside_MapScripts:: @ 82392A8
|
||||
.byte 0
|
||||
|
||||
SkyPillar_Outside_OnTransition: @ 82392B8
|
||||
compare VAR_RAYQUAZA_STATE, 3
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 3
|
||||
call_if_eq SkyPillar_Outside_EventScript_2392CF
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
call_if_ge SkyPillar_Outside_EventScript_2392D3
|
||||
end
|
||||
|
||||
@@ -29,7 +29,7 @@ SkyPillar_Outside_EventScript_2392E7:: @ 82392E7
|
||||
return
|
||||
|
||||
SkyPillar_Outside_MapScript2_2392FA: @ 82392FA
|
||||
map_script_2 VAR_RAYQUAZA_STATE, 3, SkyPillar_Outside_EventScript_239304
|
||||
map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 3, SkyPillar_Outside_EventScript_239304
|
||||
.2byte 0
|
||||
|
||||
SkyPillar_Outside_EventScript_239304:: @ 8239304
|
||||
@@ -82,7 +82,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
|
||||
playse SE_KAIDAN
|
||||
fadescreenswapbuffers 1
|
||||
clearflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
setvar VAR_RAYQUAZA_STATE, 4
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
removeobject 1
|
||||
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
|
||||
fadescreenswapbuffers 0
|
||||
|
||||
@@ -130,7 +130,7 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A
|
||||
applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_23985C
|
||||
waitmovement 0
|
||||
special RemoveCameraObject
|
||||
setvar VAR_RAYQUAZA_STATE, 5
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
setvar VAR_SKY_PILLAR_STATE, 1
|
||||
setvar VAR_SKY_PILLAR_RAQUAZA_CRY_DONE, 1
|
||||
releaseall
|
||||
|
||||
@@ -6,7 +6,7 @@ SlateportCity_MapScripts:: @ 81DCC61
|
||||
SlateportCity_OnTransition: @ 81DCC6C
|
||||
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 0
|
||||
call SlateportCity_EventScript_1DCC8D
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCC99
|
||||
compare VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCCE7
|
||||
@@ -170,7 +170,7 @@ SlateportCity_EventScript_1DCE38:: @ 81DCE38
|
||||
SlateportCity_EventScript_1DCE42:: @ 81DCE42
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCE59
|
||||
msgbox SlateportCity_Text_1DD81A, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -184,7 +184,7 @@ SlateportCity_EventScript_1DCE59:: @ 81DCE59
|
||||
SlateportCity_EventScript_1DCE63:: @ 81DCE63
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCE7A
|
||||
msgbox SlateportCity_Text_1DD8A6, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -198,7 +198,7 @@ SlateportCity_EventScript_1DCE7A:: @ 81DCE7A
|
||||
SlateportCity_EventScript_1DCE84:: @ 81DCE84
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCEA4
|
||||
goto_if_set FLAG_RECEIVED_SECRET_POWER, SlateportCity_EventScript_1DCEAE
|
||||
msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT
|
||||
@@ -218,7 +218,7 @@ SlateportCity_EventScript_1DCEAE:: @ 81DCEAE
|
||||
SlateportCity_EventScript_1DCEB8:: @ 81DCEB8
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCECF
|
||||
msgbox SlateportCity_Text_1DDA34, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -230,7 +230,7 @@ SlateportCity_EventScript_1DCECF:: @ 81DCECF
|
||||
end
|
||||
|
||||
SlateportCity_EventScript_1DCED9:: @ 81DCED9
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
goto_if_eq SlateportCity_EventScript_1DCEED
|
||||
msgbox SlateportCity_Text_1DDA9A, MSGBOX_NPC
|
||||
end
|
||||
@@ -242,7 +242,7 @@ SlateportCity_EventScript_1DCEED:: @ 81DCEED
|
||||
SlateportCity_EventScript_1DCEF6:: @ 81DCEF6
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCF0D
|
||||
msgbox SlateportCity_Text_1DDB21, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -323,7 +323,7 @@ SlateportCity_EventScript_1DCFB2:: @ 81DCFB2
|
||||
SlateportCity_EventScript_1DCFBB:: @ 81DCFBB
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_SLATEPORT_STATE, 1
|
||||
compare VAR_SLATEPORT_CITY_STATE, 1
|
||||
call_if_eq SlateportCity_EventScript_1DCFD2
|
||||
msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -609,7 +609,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
|
||||
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW
|
||||
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
|
||||
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
|
||||
setvar VAR_SLATEPORT_STATE, 2
|
||||
setvar VAR_SLATEPORT_CITY_STATE, 2
|
||||
warp MAP_SLATEPORT_CITY_HARBOR, 255, 11, 14
|
||||
waitstate
|
||||
releaseall
|
||||
|
||||
@@ -81,7 +81,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
|
||||
special HealPlayerParty
|
||||
removeobject 1
|
||||
setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA
|
||||
compare VAR_0x40DA, 0
|
||||
compare VAR_REGISTER_BIRCH_STATE, 0
|
||||
call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC8C
|
||||
setflag FLAG_DELIVERED_DEVON_GOODS
|
||||
clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
|
||||
@@ -92,7 +92,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
|
||||
end
|
||||
|
||||
SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C
|
||||
setvar VAR_0x40DA, 1
|
||||
setvar VAR_REGISTER_BIRCH_STATE, 1
|
||||
return
|
||||
|
||||
SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92
|
||||
|
||||
@@ -33,31 +33,31 @@ SootopolisCity_EventScript_1E56E5:: @ 81E56E5
|
||||
|
||||
SootopolisCity_OnTransition: @ 81E56EF
|
||||
setflag FLAG_VISITED_SOOTOPOLIS_CITY
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
call_if_eq SootopolisCity_EventScript_1E5781
|
||||
compare VAR_SKY_PILLAR_STATE, 1
|
||||
call_if_eq SootopolisCity_EventScript_1E5781
|
||||
call SootopolisCity_EventScript_1E5805
|
||||
call SootopolisCity_EventScript_1E57B2
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
call_if_eq SootopolisCity_EventScript_1E5785
|
||||
compare VAR_RAYQUAZA_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
call_if_eq SootopolisCity_EventScript_1E5785
|
||||
compare VAR_RAYQUAZA_STATE, 3
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 3
|
||||
call_if_eq SootopolisCity_EventScript_1E5785
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
call_if_eq SootopolisCity_EventScript_1E5785
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
call_if_eq SootopolisCity_EventScript_1E5785
|
||||
compare VAR_RAYQUAZA_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
call_if_eq SootopolisCity_EventScript_1E5842
|
||||
compare VAR_RAYQUAZA_STATE, 3
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 3
|
||||
call_if_eq SootopolisCity_EventScript_1E5842
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
call_if_eq SootopolisCity_EventScript_1E585B
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
call_if_eq SootopolisCity_EventScript_1E5871
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
call_if_eq SootopolisCity_EventScript_1E58D3
|
||||
end
|
||||
|
||||
@@ -77,17 +77,17 @@ SootopolisCity_EventScript_1E5785:: @ 81E5785
|
||||
return
|
||||
|
||||
SootopolisCity_EventScript_1E57B2:: @ 81E57B2
|
||||
compare VAR_RAYQUAZA_STATE, 0
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 0
|
||||
goto_if_eq SootopolisCity_EventScript_1E5800
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E5800
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
goto_if_eq SootopolisCity_EventScript_1E5801
|
||||
compare VAR_RAYQUAZA_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
goto_if_eq SootopolisCity_EventScript_1E5801
|
||||
compare VAR_RAYQUAZA_STATE, 3
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 3
|
||||
goto_if_eq SootopolisCity_EventScript_1E5801
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
goto_if_eq SootopolisCity_EventScript_1E5801
|
||||
compare VAR_SKY_PILLAR_STATE, 1
|
||||
goto_if_le SootopolisCity_EventScript_1E5801
|
||||
@@ -101,11 +101,11 @@ SootopolisCity_EventScript_1E5801:: @ 81E5801
|
||||
return
|
||||
|
||||
SootopolisCity_EventScript_1E5805:: @ 81E5805
|
||||
compare VAR_RAYQUAZA_STATE, 0
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 0
|
||||
goto_if_eq SootopolisCity_EventScript_1E583D
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E583D
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
goto_if_eq SootopolisCity_EventScript_1E583E
|
||||
compare VAR_SKY_PILLAR_STATE, 1
|
||||
goto_if_eq SootopolisCity_EventScript_1E583E
|
||||
@@ -140,11 +140,11 @@ SootopolisCity_EventScript_1E5871:: @ 81E5871
|
||||
setobjectxyperm 7, 29, 33
|
||||
setobjectxyperm 16, 33, 35
|
||||
setobjectxyperm 17, 34, 35
|
||||
compare VAR_SOOTOPOLIS_STATE, 0
|
||||
compare VAR_SOOTOPOLIS_WALLACE_STATE, 0
|
||||
call_if_eq SootopolisCity_EventScript_1E58AF
|
||||
compare VAR_SOOTOPOLIS_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_WALLACE_STATE, 1
|
||||
call_if_eq SootopolisCity_EventScript_1E58BB
|
||||
compare VAR_SOOTOPOLIS_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_WALLACE_STATE, 2
|
||||
call_if_eq SootopolisCity_EventScript_1E58C7
|
||||
return
|
||||
|
||||
@@ -168,7 +168,7 @@ SootopolisCity_EventScript_1E58D3:: @ 81E58D3
|
||||
return
|
||||
|
||||
SootopolisCity_MapScript2_1E58DB: @ 81E58DB
|
||||
map_script_2 VAR_RAYQUAZA_STATE, 5, SootopolisCity_EventScript_1E58E5
|
||||
map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 5, SootopolisCity_EventScript_1E58E5
|
||||
.2byte 0
|
||||
|
||||
SootopolisCity_EventScript_1E58E5:: @ 81E58E5
|
||||
@@ -192,7 +192,7 @@ SootopolisCity_MapScript1_1E590B: @ 81E590B
|
||||
end
|
||||
|
||||
SootopolisCity_MapScript2_1E5914: @ 81E5914
|
||||
map_script_2 VAR_RAYQUAZA_STATE, 1, SootopolisCity_EventScript_1E5926
|
||||
map_script_2 VAR_SOOTOPOLIS_CITY_STATE, 1, SootopolisCity_EventScript_1E5926
|
||||
map_script_2 VAR_SKY_PILLAR_STATE, 1, SootopolisCity_EventScript_1E5BFE
|
||||
.2byte 0
|
||||
|
||||
@@ -271,7 +271,7 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946
|
||||
applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A75
|
||||
waitmovement 0
|
||||
special RemoveCameraObject
|
||||
setvar VAR_RAYQUAZA_STATE, 2
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
clearflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
releaseall
|
||||
end
|
||||
@@ -371,7 +371,7 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82
|
||||
applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BAE
|
||||
waitmovement 0
|
||||
special RemoveCameraObject
|
||||
setvar VAR_RAYQUAZA_STATE, 2
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
clearflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
releaseall
|
||||
end
|
||||
@@ -694,11 +694,11 @@ SootopolisCity_Movement_1E5E7F: @ 81E5E7F
|
||||
SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E5EC4
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E5ECE
|
||||
compare VAR_RAYQUAZA_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
goto_if_ge SootopolisCity_EventScript_1E5EBA
|
||||
msgbox SootopolisCity_Text_1E6D77, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -722,11 +722,11 @@ SootopolisCity_EventScript_1E5ECE:: @ 81E5ECE
|
||||
SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
goto_if_le SootopolisCity_EventScript_1E5F1B
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E5F1B
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E5F10
|
||||
msgbox SootopolisCity_Text_1E6BFF, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -794,7 +794,7 @@ SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2
|
||||
lockall
|
||||
applymovement 2, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E600D
|
||||
msgbox SootopolisCity_Text_1E71A1, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -811,7 +811,7 @@ SootopolisCity_EventScript_1E600D:: @ 81E600D
|
||||
SootopolisCity_EventScript_1E6017:: @ 81E6017
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E602E
|
||||
msgbox SootopolisCity_Text_1E6CCA, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -825,11 +825,11 @@ SootopolisCity_EventScript_1E602E:: @ 81E602E
|
||||
SootopolisCity_EventScript_1E6038:: @ 81E6038
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E607A
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E6084
|
||||
compare VAR_RAYQUAZA_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
goto_if_ge SootopolisCity_EventScript_1E6065
|
||||
msgbox SootopolisCity_Text_1E6F90, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -857,11 +857,11 @@ SootopolisCity_EventScript_1E608E:: @ 81E608E
|
||||
lockall
|
||||
applymovement 4, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E60D9
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E60CF
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
goto_if_le SootopolisCity_EventScript_1E60CF
|
||||
msgbox SootopolisCity_Text_1E690B, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -884,12 +884,12 @@ SootopolisCity_EventScript_1E60E3:: @ 81E60E3
|
||||
lockall
|
||||
applymovement 5, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E612D
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_1E6137
|
||||
compare VAR_RAYQUAZA_STATE, 6
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
goto_if_ge SootopolisCity_EventScript_1E6141
|
||||
compare VAR_RAYQUAZA_STATE, 1
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 1
|
||||
goto_if_le SootopolisCity_EventScript_1E6141
|
||||
msgbox SootopolisCity_Text_1E6692, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -930,11 +930,11 @@ SootopolisCity_EventScript_1E6166:: @ 81E6166
|
||||
applymovement 7, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
call_if_unset FLAG_STEVEN_GUIDES_TO_CAVE_OF_ORIGIN, SootopolisCity_EventScript_1E61CC
|
||||
compare VAR_RAYQUAZA_STATE, 2
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 2
|
||||
goto_if_eq SootopolisCity_EventScript_1E61AE
|
||||
compare VAR_RAYQUAZA_STATE, 3
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 3
|
||||
goto_if_eq SootopolisCity_EventScript_1E61C2
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
goto_if_eq SootopolisCity_EventScript_1E61C2
|
||||
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E61B8
|
||||
msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT
|
||||
@@ -1263,7 +1263,7 @@ SootopolisCity_EventScript_1E635D:: @ 81E635D
|
||||
lockall
|
||||
applymovement 15, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E6388
|
||||
msgbox SootopolisCity_Text_1E67DC, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -1280,7 +1280,7 @@ SootopolisCity_EventScript_1E6388:: @ 81E6388
|
||||
|
||||
SootopolisCity_EventScript_1E6393:: @ 81E6393
|
||||
lockall
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E63C7
|
||||
msgbox SootopolisCity_Text_1E6936, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -1304,7 +1304,7 @@ SootopolisCity_EventScript_1E63DB:: @ 81E63DB
|
||||
lockall
|
||||
applymovement 13, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E6406
|
||||
msgbox SootopolisCity_Text_1E6C7C, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -1323,7 +1323,7 @@ SootopolisCity_EventScript_1E6411:: @ 81E6411
|
||||
lockall
|
||||
applymovement 12, Common_Movement_FacePlayer
|
||||
waitmovement 0
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E643C
|
||||
msgbox SootopolisCity_Text_1E6A50, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -1340,7 +1340,7 @@ SootopolisCity_EventScript_1E643C:: @ 81E643C
|
||||
SootopolisCity_EventScript_1E6446:: @ 81E6446
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_RAYQUAZA_STATE, 4
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 4
|
||||
goto_if_eq SootopolisCity_EventScript_1E64D8
|
||||
goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_1E64E2
|
||||
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_1E646F
|
||||
@@ -1367,14 +1367,14 @@ SootopolisCity_EventScript_1E64B2:: @ 81E64B2
|
||||
applymovement 18, SootopolisCity_Movement_1E64EC
|
||||
waitmovement 0
|
||||
moveobjectoffscreen 18
|
||||
setvar VAR_SOOTOPOLIS_STATE, 1
|
||||
setvar VAR_SOOTOPOLIS_WALLACE_STATE, 1
|
||||
return
|
||||
|
||||
SootopolisCity_EventScript_1E64C5:: @ 81E64C5
|
||||
applymovement 18, SootopolisCity_Movement_1E64EF
|
||||
waitmovement 0
|
||||
moveobjectoffscreen 18
|
||||
setvar VAR_SOOTOPOLIS_STATE, 2
|
||||
setvar VAR_SOOTOPOLIS_WALLACE_STATE, 2
|
||||
return
|
||||
|
||||
SootopolisCity_EventScript_1E64D8:: @ 81E64D8
|
||||
@@ -1399,7 +1399,7 @@ SootopolisCity_Movement_1E64EF: @ 81E64EF
|
||||
|
||||
SootopolisCity_EventScript_1E64F2:: @ 81E64F2
|
||||
lockall
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E6509
|
||||
msgbox SootopolisCity_Text_1E72DB, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -1415,7 +1415,7 @@ SootopolisCity_EventScript_1E6509:: @ 81E6509
|
||||
|
||||
SootopolisCity_EventScript_1E651F:: @ 81E651F
|
||||
lockall
|
||||
compare VAR_RAYQUAZA_STATE, 5
|
||||
compare VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
goto_if_eq SootopolisCity_EventScript_1E6536
|
||||
msgbox SootopolisCity_Text_1E7460, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
|
||||
@@ -106,7 +106,7 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
|
||||
setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
|
||||
setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
|
||||
setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
|
||||
setvar VAR_RAYQUAZA_STATE, 6
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 6
|
||||
clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1
|
||||
setvar VAR_0x8008, 8
|
||||
call SootopolisCity_Gym_1F_EventScript_271F43
|
||||
|
||||
14
include/bg.h
14
include/bg.h
@@ -27,13 +27,13 @@ enum
|
||||
|
||||
struct BgTemplate
|
||||
{
|
||||
u32 bg:2; // 0x1, 0x2 -> 0x3
|
||||
u32 charBaseIndex:2; // 0x4, 0x8 -> 0xC
|
||||
u32 mapBaseIndex:5; // 0x10, 0x20, 0x40, 0x80, 0x100 -> 0x1F0
|
||||
u32 screenSize:2; // 0x200, 0x400 -> 0x600
|
||||
u32 paletteMode:1; // 0x800
|
||||
u32 priority:2; // 0x1000, 0x2000 > 0x3000
|
||||
u32 baseTile:10;
|
||||
u16 bg:2; // 0x1, 0x2 -> 0x3
|
||||
u16 charBaseIndex:2; // 0x4, 0x8 -> 0xC
|
||||
u16 mapBaseIndex:5; // 0x10, 0x20, 0x40, 0x80, 0x100 -> 0x1F0
|
||||
u16 screenSize:2; // 0x200, 0x400 -> 0x600
|
||||
u16 paletteMode:1; // 0x800
|
||||
u16 priority:2; // 0x1000, 0x2000 > 0x3000
|
||||
u16 baseTile:10;
|
||||
};
|
||||
|
||||
void ResetBgs(void);
|
||||
|
||||
@@ -94,56 +94,56 @@
|
||||
#define VAR_POKELOT_PRIZE_PLACE 0x404D
|
||||
#define VAR_UNUSED_0x404E 0x404E // Unused Var
|
||||
#define VAR_LOTAD_SIZE_RECORD 0x404F
|
||||
#define VAR_0x4050 0x4050
|
||||
#define VAR_ROUTE102_ACCESSIBLE 0x4051
|
||||
#define VAR_UNUSED_0x4052 0x4052 // Unused Var
|
||||
#define VAR_LAVARIDGE_RIVAL_STATE 0x4053
|
||||
#define VAR_CURRENT_SECRET_BASE 0x4054
|
||||
#define VAR_UNUSED_0x4055 0x4055 // Unused Var
|
||||
#define VAR_UNUSED_0x4056 0x4056 // Unused Var
|
||||
#define VAR_PETALBURG_STATE 0x4057
|
||||
#define VAR_SLATEPORT_STATE 0x4058
|
||||
#define VAR_UNUSED_0x4059 0x4059 // Unused Var
|
||||
#define VAR_RUSTBORO_STATE 0x405A
|
||||
#define VAR_UNUSED_0x405B 0x405B // Unused Var
|
||||
#define VAR_UNUSED_0x405C 0x405C // Unused Var
|
||||
#define VAR_MOSSDEEP_STATE 0x405D
|
||||
#define VAR_RAYQUAZA_STATE 0x405E
|
||||
#define VAR_UNUSED_0x405F 0x405F // Unused Var
|
||||
#define VAR_LITTLEROOT_TOWN_STATE 0x4050
|
||||
#define VAR_OLDALE_TOWN_STATE 0x4051
|
||||
#define VAR_DEWFORD_TOWN_STATE 0x4052 // Unused Var
|
||||
#define VAR_LAVARIDGE_TOWN_STATE 0x4053
|
||||
#define VAR_CURRENT_SECRET_BASE 0x4054 // was probably allocated for VAR_FALLARBOR_TOWN_STATE at one point
|
||||
#define VAR_VERDANTURF_TOWN_STATE 0x4055 // Unused Var
|
||||
#define VAR_PACIFIDLOG_TOWN_STATE 0x4056 // Unused Var
|
||||
#define VAR_PETALBURG_CITY_STATE 0x4057
|
||||
#define VAR_SLATEPORT_CITY_STATE 0x4058
|
||||
#define VAR_MAUVILLE_CITY_STATE 0x4059 // Unused Var
|
||||
#define VAR_RUSTBORO_CITY_STATE 0x405A
|
||||
#define VAR_FORTREE_CITY_STATE 0x405B // Unused Var
|
||||
#define VAR_LILYCOVE_CITY_STATE 0x405C // Unused Var
|
||||
#define VAR_MOSSDEEP_CITY_STATE 0x405D
|
||||
#define VAR_SOOTOPOLIS_CITY_STATE 0x405E
|
||||
#define VAR_EVER_GRANDE_CITY_STATE 0x405F // Unused Var
|
||||
#define VAR_ROUTE101_STATE 0x4060
|
||||
#define VAR_UNUSED_0x4061 0x4061 // Unused Var
|
||||
#define VAR_UNUSED_0x4062 0x4062 // Unused Var
|
||||
#define VAR_0x4063 0x4063
|
||||
#define VAR_UNUSED_0x4064 0x4064 // Unused Var
|
||||
#define VAR_UNUSED_0x4065 0x4065 // Unused Var
|
||||
#define VAR_UNUSED_0x4066 0x4066 // Unused Var
|
||||
#define VAR_UNUSED_0x4067 0x4067 // Unused Var
|
||||
#define VAR_UNUSED_0x4068 0x4068 // Unused Var
|
||||
#define VAR_ROUTE102_STATE 0x4061 // Unused Var
|
||||
#define VAR_ROUTE103_STATE 0x4062 // Unused Var
|
||||
#define VAR_ROUTE104_STATE 0x4063
|
||||
#define VAR_ROUTE105_STATE 0x4064 // Unused Var
|
||||
#define VAR_ROUTE106_STATE 0x4065 // Unused Var
|
||||
#define VAR_ROUTE107_STATE 0x4066 // Unused Var
|
||||
#define VAR_ROUTE108_STATE 0x4067 // Unused Var
|
||||
#define VAR_ROUTE109_STATE 0x4068 // Unused Var
|
||||
#define VAR_ROUTE110_STATE 0x4069
|
||||
#define VAR_UNUSED_0x406A 0x406A // Unused Var
|
||||
#define VAR_UNUSED_0x406B 0x406B // Unused Var
|
||||
#define VAR_UNUSED_0x406C 0x406C // Unused Var
|
||||
#define VAR_UNUSED_0x406D 0x406D // Unused Var
|
||||
#define VAR_UNUSED_0x406E 0x406E // Unused Var
|
||||
#define VAR_ROUTE111_STATE 0x406A // Unused Var
|
||||
#define VAR_ROUTE112_STATE 0x406B // Unused Var
|
||||
#define VAR_ROUTE113_STATE 0x406C // Unused Var
|
||||
#define VAR_ROUTE114_STATE 0x406D // Unused Var
|
||||
#define VAR_ROUTE115_STATE 0x406E // Unused Var
|
||||
#define VAR_ROUTE116_STATE 0x406F
|
||||
#define VAR_UNUSED_0x4070 0x4070 // Unused Var
|
||||
#define VAR_ROUTE117_STATE 0x4070 // Unused Var
|
||||
#define VAR_ROUTE118_STATE 0x4071
|
||||
#define VAR_ROUTE119_STATE 0x4072
|
||||
#define VAR_UNUSED_0x4073 0x4073 // Unused Var
|
||||
#define VAR_ROUTE120_STATE 0x4073 // Unused Var
|
||||
#define VAR_ROUTE121_STATE 0x4074
|
||||
#define VAR_UNUSED_0x4075 0x4075 // Unused Var
|
||||
#define VAR_UNUSED_0x4076 0x4076 // Unused Var
|
||||
#define VAR_UNUSED_0x4077 0x4077 // Unused Var
|
||||
#define VAR_UNUSED_0x4078 0x4078 // Unused Var
|
||||
#define VAR_UNUSED_0x4079 0x4079 // Unused Var
|
||||
#define VAR_UNUSED_0x407A 0x407A // Unused Var
|
||||
#define VAR_ROUTE122_STATE 0x4075 // Unused Var
|
||||
#define VAR_ROUTE123_STATE 0x4076 // Unused Var
|
||||
#define VAR_ROUTE124_STATE 0x4077 // Unused Var
|
||||
#define VAR_ROUTE125_STATE 0x4078 // Unused Var
|
||||
#define VAR_ROUTE126_STATE 0x4079 // Unused Var
|
||||
#define VAR_ROUTE127_STATE 0x407A // Unused Var
|
||||
#define VAR_ROUTE128_STATE 0x407B
|
||||
#define VAR_UNUSED_0x407C 0x407C // Unused Var
|
||||
#define VAR_UNUSED_0x407D 0x407D // Unused Var
|
||||
#define VAR_UNUSED_0x407E 0x407E // Unused Var
|
||||
#define VAR_UNUSED_0x407F 0x407F // Unused Var
|
||||
#define VAR_UNUSED_0x4080 0x4080 // Unused Var
|
||||
#define VAR_UNUSED_0x4081 0x4081 // Unused Var
|
||||
#define VAR_ROUTE129_STATE 0x407C // Unused Var
|
||||
#define VAR_ROUTE130_STATE 0x407D // Unused Var
|
||||
#define VAR_ROUTE131_STATE 0x407E // Unused Var
|
||||
#define VAR_ROUTE132_STATE 0x407F // Unused Var
|
||||
#define VAR_ROUTE133_STATE 0x4080 // Unused Var
|
||||
#define VAR_ROUTE134_STATE 0x4081 // Unused Var
|
||||
#define VAR_LITTLEROOT_HOUSES_STATE 0x4082
|
||||
#define VAR_UNUSED_0x4083 0x4083 // Unused Var
|
||||
#define VAR_BIRCH_LAB_STATE 0x4084
|
||||
@@ -156,7 +156,7 @@
|
||||
#define VAR_UNUSED_0x408B 0x408B // Unused Var
|
||||
#define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C
|
||||
#define VAR_LITTLEROOT_RIVAL_STATE 0x408D
|
||||
#define VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE 0x408E
|
||||
#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E
|
||||
#define VAR_DEVON_CORP_3F_STATE 0x408F
|
||||
#define VAR_BRINEY_HOUSE_STATE 0x4090
|
||||
#define VAR_UNUSED_0x4091 0x4091 // Unused Var
|
||||
@@ -165,7 +165,7 @@
|
||||
#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094
|
||||
#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095
|
||||
#define VAR_BRINEY_LOCATION 0x4096
|
||||
#define VAR_INIT_SECRET_BASE 0x4097
|
||||
#define VAR_INIT_SECRET_BASE 0x4097
|
||||
#define VAR_PETALBURG_WOODS_STATE 0x4098
|
||||
#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099
|
||||
#define VAR_RUSTURF_TUNNEL_STATE 0x409A
|
||||
@@ -213,11 +213,11 @@
|
||||
#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4
|
||||
#define VAR_WHICH_FOSSIL_REVIVED 0x40C5
|
||||
#define VAR_STEVENS_HOUSE_STATE 0x40C6
|
||||
#define VAR_OLDALE_STATE 0x40C7
|
||||
#define VAR_OLDALE_RIVAL_STATE 0x40C7
|
||||
#define VAR_JAGGED_PASS_STATE 0x40C8
|
||||
#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9
|
||||
#define VAR_SKY_PILLAR_STATE 0x40CA
|
||||
#define VAR_ROUTE_111_STATE 0x40CB
|
||||
#define VAR_MIRAGE_TOWER_STATE 0x40CB
|
||||
#define VAR_FOSSIL_MANIAC_STATE 0x40CC
|
||||
#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD
|
||||
#define VAR_FRONTIER_BATTLE_MODE 0x40CE
|
||||
@@ -225,14 +225,14 @@
|
||||
#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag.
|
||||
#define VAR_SCOTT_STATE 0x40D1
|
||||
#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2
|
||||
#define VAR_0x40D3 0x40D3
|
||||
#define VAR_DEX_UPGRADE_JOHTO_STARTER_STATE 0x40D3
|
||||
#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL
|
||||
#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios
|
||||
#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6
|
||||
#define VAR_SKY_PILLAR_RAQUAZA_CRY_DONE 0x40D7
|
||||
#define VAR_SOOTOPOLIS_STATE 0x40D8
|
||||
#define VAR_SOOTOPOLIS_WALLACE_STATE 0x40D8
|
||||
#define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9
|
||||
#define VAR_0x40DA 0x40DA
|
||||
#define VAR_REGISTER_BIRCH_STATE 0x40DA
|
||||
#define VAR_UNUSED_0x40DB 0x40DB // Unused Var
|
||||
#define VAR_UNUSED_0x40DC 0x40DC // Unused Var
|
||||
#define VAR_EVENT_PICHU_SLOT 0x40DD
|
||||
|
||||
@@ -19,16 +19,23 @@
|
||||
#if defined (__APPLE__) || defined (__CYGWIN__) || defined (_MSC_VER)
|
||||
#define _(x) x
|
||||
#define __(x) x
|
||||
#define INCBIN_U8 {0}
|
||||
#define INCBIN_U16 {0}
|
||||
#define INCBIN_U32 {0}
|
||||
#define INCBIN_S8 {0}
|
||||
#define INCBIN_S16 {0}
|
||||
#define INCBIN_S32 {0}
|
||||
|
||||
// Fool CLion IDE
|
||||
#define INCBIN(x) {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
|
||||
|
||||
#define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0]))
|
||||
|
||||
// GameFreak used a macro called "NELEMS", as evidenced by
|
||||
// AgbAssert calls.
|
||||
#define NELEMS(arr) (sizeof(arr)/sizeof(*(arr)))
|
||||
|
||||
#define SWAP(a, b, temp) \
|
||||
{ \
|
||||
temp = a; \
|
||||
|
||||
@@ -4732,6 +4732,20 @@ extern const u32 gBattleAnimSpritePal_PowerGem[];
|
||||
extern const u32 gBattleAnimSpritePal_StoneEdge[];
|
||||
extern const u32 gBattleAnimSpritePal_StealthRock[];
|
||||
extern const u32 gBattleAnimSpritePal_PoisonJab[];
|
||||
// New Battle Anim Particles
|
||||
extern const u32 gBattleAnimSpriteGfx_WhiteStreak[];
|
||||
extern const u32 gBattleAnimSpritePal_WhiteStreak[];
|
||||
extern const u32 gBattleAnimSpriteGfx_PurpleJab[];
|
||||
extern const u32 gBattleAnimSpritePal_PurpleJab[];
|
||||
extern const u32 gBattleAnimSpritePal_ToxicSpikes[];
|
||||
extern const u32 gBattleAnimSpriteGfx_EnergyBall[];
|
||||
extern const u32 gBattleAnimSpritePal_EnergyBall[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaStone[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaStone[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaParticles[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaParticles[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaSymbol[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaSymbol[];
|
||||
|
||||
extern const u32 gBattleAnimBgImage_Dark[];
|
||||
extern const u32 gBattleAnimBgImage_Ghost[];
|
||||
@@ -4993,19 +5007,11 @@ extern const u16 gUsePokeblockCondition_Pal[];
|
||||
extern const u32 gUnknown_08DE34B8[];
|
||||
extern const u16 gUnknown_08DE3398[];
|
||||
|
||||
// New Battle Anim Particles
|
||||
extern const u32 gBattleAnimSpriteGfx_WhiteStreak[];
|
||||
extern const u32 gBattleAnimSpritePal_WhiteStreak[];
|
||||
extern const u32 gBattleAnimSpriteGfx_PurpleJab[];
|
||||
extern const u32 gBattleAnimSpritePal_PurpleJab[];
|
||||
extern const u32 gBattleAnimSpritePal_ToxicSpikes[];
|
||||
extern const u32 gBattleAnimSpriteGfx_EnergyBall[];
|
||||
extern const u32 gBattleAnimSpritePal_EnergyBall[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaStone[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaStone[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaParticles[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaParticles[];
|
||||
extern const u32 gBattleAnimSpriteGfx_MegaSymbol[];
|
||||
extern const u32 gBattleAnimSpritePal_MegaSymbol[];
|
||||
// Pokenav
|
||||
extern const u32 gPokenavMessageBox_Gfx[];
|
||||
extern const u32 gPokenavMessageBox_Tilemap[];
|
||||
extern const u16 gPokenavMessageBox_Pal[];
|
||||
extern const u32 gPokenavOptions_Gfx[];
|
||||
extern const u16 gPokenavOptions_Pal[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
||||
@@ -7,16 +7,18 @@
|
||||
|
||||
typedef u32 (*LoopedTask)(s32 state);
|
||||
|
||||
struct PokenavMonList
|
||||
{
|
||||
u8 boxId;
|
||||
u8 monId;
|
||||
u16 unk6;
|
||||
};
|
||||
|
||||
struct PokenavSub18
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
struct PokenavMonList
|
||||
{
|
||||
u8 boxId;
|
||||
u8 monId;
|
||||
u16 unk6;
|
||||
} unk4[TOTAL_BOXES_COUNT * IN_BOX_COUNT + PARTY_SIZE];
|
||||
struct PokenavMonList unk4[TOTAL_BOXES_COUNT * IN_BOX_COUNT + PARTY_SIZE];
|
||||
};
|
||||
|
||||
// Return values of LoopedTask functions.
|
||||
@@ -75,7 +77,7 @@ void SetVBlankCallback_(IntrCallback callback);
|
||||
// pokenav_match_call_ui.c
|
||||
struct MatchCallListTemplate
|
||||
{
|
||||
u32 unk0;
|
||||
struct PokenavMonList * unk0;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
u8 unk8;
|
||||
@@ -85,9 +87,10 @@ struct MatchCallListTemplate
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
void (*unk10)(u32, u8 *a1);
|
||||
void (*unk10)(struct PokenavMonList *, u8 *a1);
|
||||
void (*unk14)(u16 a0, u32 a1, u32 a2);
|
||||
};
|
||||
|
||||
u32 GetSelectedMatchCall(void);
|
||||
bool32 sub_81C8224(void);
|
||||
int MatchCall_MoveCursorUp(void);
|
||||
@@ -138,44 +141,51 @@ void sub_81C7B40(void);
|
||||
struct Sprite *PauseSpinningPokenavSprite(void);
|
||||
void ResumeSpinningPokenavSprite(void);
|
||||
void sub_81C7E14(u32 arg0);
|
||||
void sub_81C7FC4(u32 arg0, bool32 arg1);
|
||||
void sub_81C7880(void);
|
||||
void sub_81C7990(u32 a0, u16 a1);
|
||||
u32 PokenavMainMenuLoopedTaskIsActive(void);
|
||||
bool32 WaitForPokenavShutdownFade(void);
|
||||
void sub_81C7834(void *func1, void *func2);
|
||||
void ShutdownPokenav(void);
|
||||
|
||||
// pokenav_unk_1.c
|
||||
bool32 sub_81C9298(void);
|
||||
bool32 sub_81C92CC(void);
|
||||
bool32 sub_81C9304(void);
|
||||
bool32 sub_81C9338(void);
|
||||
bool32 sub_81C9368(void);
|
||||
bool32 PokenavCallback_Init_0(void);
|
||||
bool32 PokenavCallback_Init_4(void);
|
||||
bool32 PokenavCallback_Init_5(void);
|
||||
bool32 PokenavCallback_Init_2(void);
|
||||
bool32 PokenavCallback_Init_3(void);
|
||||
u32 sub_81C941C(void);
|
||||
void sub_81C9430(void);
|
||||
int sub_81C9894(void);
|
||||
const u8 *sub_81CAF78(int index, u8 *arg1);
|
||||
int sub_81C98A4(void);
|
||||
int sub_81C98B4(void);
|
||||
u16 sub_81C98C4(void);
|
||||
|
||||
// pokenav_unk_2.c
|
||||
bool32 sub_81C9924(void);
|
||||
bool32 sub_81C9940(void);
|
||||
void sub_81C9990(s32 ltIdx);
|
||||
bool32 sub_81C99C0(void);
|
||||
void sub_81C99D4(void);
|
||||
void sub_81CAADC(void);
|
||||
|
||||
// pokenav_unk_3.c
|
||||
struct Pokenav3Struct_Unk1C
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
};
|
||||
bool32 sub_81CAAE8(void);
|
||||
bool32 PokenavCallback_Init_11(void);
|
||||
u32 sub_81CAB24(void);
|
||||
void sub_81CAB38(void);
|
||||
int sub_81CAE28(void);
|
||||
int sub_81CAE38(void);
|
||||
int sub_81CAE48(void);
|
||||
struct Pokenav3Struct_Unk1C *sub_81CAE94(void);
|
||||
struct PokenavMonList *sub_81CAE94(void);
|
||||
u16 sub_81CAEA4(int);
|
||||
bool32 sub_81CAEBC(int index);
|
||||
int sub_81CAF04(int index);
|
||||
const u8 *sub_81CAFD8(int index, int textType);
|
||||
u16 sub_81CB01C(void);
|
||||
u16 sub_81CB02C(int arg0);
|
||||
void sub_81CB050(u32 arg0, u8 *str);
|
||||
void sub_81CB050(struct PokenavMonList * arg0, u8 *str);
|
||||
u8 sub_81CB0C8(int rematchIndex);
|
||||
int sub_81CB0E4(int index);
|
||||
bool32 sub_81CAE08(int);
|
||||
@@ -183,21 +193,25 @@ int sub_81CB128(int index);
|
||||
|
||||
// pokenav_unk_4.c
|
||||
bool32 sub_81CB260(void);
|
||||
void sub_81CB29C(int index);
|
||||
void sub_81CB29C(s32 index);
|
||||
u32 sub_81CB2CC(void);
|
||||
void sub_81CB2E0(void);
|
||||
void sub_81CBD48(u16 windowId, u32 a1);
|
||||
|
||||
// pokenav_unk_5.c
|
||||
u32 sub_81CC4D4(void);
|
||||
u32 PokenavCallback_Init_6(void);
|
||||
void sub_81CC524(void);
|
||||
u32 sub_81CC554(void);
|
||||
bool32 sub_81CC5F4(void);
|
||||
void sub_81CC62C(int);
|
||||
void sub_81CC62C(s32);
|
||||
u32 sub_81CC65C(void);
|
||||
void sub_81CC670(void);
|
||||
|
||||
// pokenav_unk_6.c
|
||||
u32 PokenavCallback_Init_7(void);
|
||||
u32 PokenavCallback_Init_9(void);
|
||||
u32 sub_81CD070(void);
|
||||
void sub_81CD1C0(void);
|
||||
bool32 sub_81CD3C4(void);
|
||||
bool32 sub_81CDD5C(void);
|
||||
struct UnknownStruct_81D1ED4 *sub_81CDC70(void);
|
||||
@@ -213,6 +227,41 @@ void *sub_81CDCB4(u8 id);
|
||||
void *sub_81CDCD4(u8 id);
|
||||
|
||||
// pokenav_unk_7.c
|
||||
bool32 sub_81CDDD4(void);
|
||||
void sub_81CDE2C(s32);
|
||||
u32 sub_81CDE64(void);
|
||||
void sub_81CECA0(void);
|
||||
u8 sub_81CEF14(void);
|
||||
|
||||
// pokenav_unk_8.c
|
||||
u32 PokenavCallback_Init_8(void);
|
||||
u32 PokenavCallback_Init_10(void);
|
||||
u32 sub_81CEFDC(void);
|
||||
void sub_81CEFF0(void);
|
||||
bool32 sub_81CF330(void);
|
||||
bool32 sub_81CF368(void);
|
||||
void sub_81CF3A0(s32);
|
||||
u32 sub_81CF3D0(void);
|
||||
void sub_81CF3F8(void);
|
||||
|
||||
// pokenav_unk_9.c
|
||||
u32 PokenavCallback_Init_12(void);
|
||||
u32 PokenavCallback_Init_14(void);
|
||||
u32 sub_81CFA34(void);
|
||||
void sub_81CFA48(void);
|
||||
bool32 sub_81CFDD0(void);
|
||||
bool32 sub_81CFE08(void);
|
||||
void sub_81CFE40(s32);
|
||||
u32 sub_81CFE70(void);
|
||||
void sub_81CFE98(void);
|
||||
|
||||
// pokenav_unk_10.c
|
||||
u32 PokenavCallback_Init_13(void);
|
||||
u32 sub_81D04A0(void);
|
||||
void sub_81D04B8(void);
|
||||
bool32 sub_81D0978(void);
|
||||
void sub_81D09B0(s32);
|
||||
u32 sub_81D09E0(void);
|
||||
void sub_81D09F4(void);
|
||||
|
||||
#endif // GUARD_POKENAV_H
|
||||
|
||||
@@ -2766,12 +2766,16 @@ extern const u8 gUnknown_085EBE06[];
|
||||
extern const u8 gUnknown_085EBE19[];
|
||||
extern const u8 gUnknown_085EBE2D[];
|
||||
extern const u8 gUnknown_085EBE41[];
|
||||
extern const u8 gText_NoRibbonWinners[];
|
||||
|
||||
// pokenav_unk_4
|
||||
extern const u8 gUnknown_085EC017[];
|
||||
extern const u8 gUnknown_085EC01C[];
|
||||
extern const u8 gUnknown_085EC022[];
|
||||
|
||||
// pokenav_unk_8
|
||||
extern const u8 gText_NumberF700[];
|
||||
|
||||
// pokenav_unk_10
|
||||
extern const u8 gText_RibbonsF700[];
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ const struct WarpEvent* sub_81D6134(u8 warpEventId);
|
||||
u16 LocalIdToHillTrainerId(u8 localId);
|
||||
bool8 GetHillTrainerFlag(u8 eventObjectId);
|
||||
void SetHillTrainerFlag(void);
|
||||
const u8 *sub_81D62AC(void);
|
||||
const u8 *GetTrainerHillTrainerScript(void);
|
||||
void FillHillTrainerParty(void);
|
||||
void FillHillTrainersParties(void);
|
||||
u32 sub_81D63C4(void);
|
||||
|
||||
701
ld_script.txt
701
ld_script.txt
@@ -47,292 +47,290 @@ SECTIONS {
|
||||
.text :
|
||||
ALIGN(4)
|
||||
{
|
||||
asm/crt0.o(.text*);
|
||||
src/main.o(.text*);
|
||||
src/alloc.o(.text*);
|
||||
src/dma3_manager.o(.text*);
|
||||
src/gpu_regs.o(.text*);
|
||||
src/bg.o(.text*);
|
||||
src/blit.o(.text*);
|
||||
src/window.o(.text*);
|
||||
src/text.o(.text*);
|
||||
src/sprite.o(.text*);
|
||||
src/string_util.o(.text*);
|
||||
src/link.o(.text*);
|
||||
src/link_rfu.o(.text*);
|
||||
src/union_room.o(.text*);
|
||||
src/mystery_gift.o(.text*);
|
||||
src/union_room_player_avatar.o(.text*);
|
||||
src/union_room_battle.o(.text*);
|
||||
src/mevent2.o(.text*);
|
||||
src/mevent_801BAAC.o(.text*);
|
||||
src/mevent_server.o(.text*);
|
||||
src/mevent_client.o(.text*);
|
||||
src/mevent_server_helpers.o(.text*);
|
||||
src/mevent_news.o(.text*);
|
||||
src/union_room_chat.o(.text*);
|
||||
src/berry_crush.o(.text*);
|
||||
asm/berry_crush.o(.text*);
|
||||
src/berry_powder.o(.text*);
|
||||
src/dodrio_berry_picking.o(.text*);
|
||||
src/pokemon_jump.o(.text*);
|
||||
src/rtc.o(.text*);
|
||||
src/main_menu.o(.text*);
|
||||
src/battle_controllers.o(.text*);
|
||||
src/decompress.o(.text*);
|
||||
src/rom_8034C54.o(.text*);
|
||||
src/battle_bg.o(.text*);
|
||||
src/battle_main.o(.text*);
|
||||
src/battle_util.o(.text*);
|
||||
src/battle_script_commands.o(.text*);
|
||||
src/battle_util2.o(.text*);
|
||||
src/battle_controller_player.o(.text*);
|
||||
src/battle_gfx_sfx_util.o(.text*);
|
||||
src/battle_controller_opponent.o(.text*);
|
||||
src/battle_ai_switch_items.o(.text*);
|
||||
src/battle_controller_link_opponent.o(.text*);
|
||||
src/pokemon.o(.text*);
|
||||
src/trig.o(.text*);
|
||||
src/random.o(.text*);
|
||||
src/util.o(.text*);
|
||||
src/daycare.o(.text*);
|
||||
src/egg_hatch.o(.text*);
|
||||
src/battle_interface.o(.text*);
|
||||
src/smokescreen.o(.text*);
|
||||
src/pokeball.o(.text*);
|
||||
src/load_save.o(.text*);
|
||||
src/trade.o(.text*);
|
||||
src/berry_blender.o(.text*);
|
||||
src/play_time.o(.text*);
|
||||
src/new_game.o(.text*);
|
||||
src/overworld.o(.text*);
|
||||
src/fieldmap.o(.text*);
|
||||
src/metatile_behavior.o(.text*);
|
||||
src/field_camera.o(.text*);
|
||||
src/field_door.o(.text*);
|
||||
src/field_player_avatar.o(.text*);
|
||||
src/event_object_movement.o(.text*);
|
||||
src/field_message_box.o(.text*);
|
||||
src/event_obj_lock.o(.text*);
|
||||
src/text_window.o(.text*);
|
||||
src/script.o(.text*);
|
||||
src/scrcmd.o(.text*);
|
||||
src/field_control_avatar.o(.text*);
|
||||
src/event_data.o(.text*);
|
||||
src/coord_event_weather.o(.text*);
|
||||
src/field_tasks.o(.text*);
|
||||
src/clock.o(.text*);
|
||||
src/reset_rtc_screen.o(.text*);
|
||||
src/start_menu.o(.text*);
|
||||
src/tileset_anims.o(.text*);
|
||||
src/palette.o(.text*);
|
||||
src/sound.o(.text*);
|
||||
src/battle_anim.o(.text*);
|
||||
src/battle_anim_mons.o(.text*);
|
||||
src/task.o(.text*);
|
||||
src/reshow_battle_screen.o(.text*);
|
||||
src/battle_anim_status_effects.o(.text*);
|
||||
src/title_screen.o(.text*);
|
||||
src/field_weather.o(.text*);
|
||||
src/field_weather_effect.o(.text*);
|
||||
src/field_screen_effect.o(.text*);
|
||||
src/battle_setup.o(.text*);
|
||||
src/cable_club.o(.text*);
|
||||
src/trainer_see.o(.text*);
|
||||
src/wild_encounter.o(.text*);
|
||||
src/field_effect.o(.text*);
|
||||
src/scanline_effect.o(.text*);
|
||||
src/option_menu.o(.text*);
|
||||
src/pokedex.o(.text*);
|
||||
src/trainer_card.o(.text*);
|
||||
src/frontier_pass.o(.text*);
|
||||
src/pokemon_storage_system.o(.text*);
|
||||
src/pokemon_icon.o(.text*);
|
||||
src/script_movement.o(.text*);
|
||||
src/fldeff_cut.o(.text*);
|
||||
src/mail_data.o(.text*);
|
||||
src/map_name_popup.o(.text*);
|
||||
src/item_menu_icons.o(.text*);
|
||||
src/battle_anim_mon_movement.o(.text*);
|
||||
src/item.o(.text*);
|
||||
src/contest.o(.text*);
|
||||
src/shop.o(.text*);
|
||||
src/fldeff_escalator.o(.text*);
|
||||
src/berry.o(.text*);
|
||||
src/script_menu.o(.text*);
|
||||
src/naming_screen.o(.text*);
|
||||
src/money.o(.text*);
|
||||
src/contest_effect.o(.text*);
|
||||
src/record_mixing.o(.text*);
|
||||
src/secret_base.o(.text*);
|
||||
src/tv.o(.text*);
|
||||
src/contest_link_80F57C4.o(.text*);
|
||||
src/script_pokemon_util_80F87D8.o(.text*);
|
||||
src/field_poison.o(.text*);
|
||||
src/pokemon_size_record.o(.text*);
|
||||
src/fldeff_misc.o(.text*);
|
||||
src/field_special_scene.o(.text*);
|
||||
src/rotating_gate.o(.text*);
|
||||
src/safari_zone.o(.text*);
|
||||
src/contest_link_80FC4F4.o(.text*);
|
||||
src/item_use.o(.text*);
|
||||
src/battle_anim_effects_1.o(.text*);
|
||||
src/battle_anim_effects_2.o(.text*);
|
||||
src/water.o(.text*);
|
||||
src/fire.o(.text*);
|
||||
src/electric.o(.text*);
|
||||
src/ice.o(.text*);
|
||||
src/fight.o(.text*);
|
||||
src/poison.o(.text*);
|
||||
src/flying.o(.text*);
|
||||
src/psychic.o(.text*);
|
||||
src/bug.o(.text*);
|
||||
src/rock.o(.text*);
|
||||
src/ghost.o(.text*);
|
||||
src/dragon.o(.text*);
|
||||
src/dark.o(.text*);
|
||||
src/ground.o(.text*);
|
||||
src/normal.o(.text*);
|
||||
src/battle_anim_utility_funcs.o(.text*);
|
||||
src/battle_intro.o(.text*);
|
||||
src/bike.o(.text*);
|
||||
src/easy_chat.o(.text*);
|
||||
src/mon_markings.o(.text*);
|
||||
src/mauville_old_man.o(.text*);
|
||||
src/mail.o(.text*);
|
||||
src/menu_helpers.o(.text*);
|
||||
src/dewford_trend.o(.text*);
|
||||
src/heal_location.o(.text*);
|
||||
src/region_map.o(.text*);
|
||||
src/contest_painting_effects.o(.text*);
|
||||
src/decoration.o(.text*);
|
||||
src/slot_machine.o(.text*);
|
||||
src/contest_painting.o(.text*);
|
||||
src/battle_ai_script_commands.o(.text*);
|
||||
src/trader.o(.text*);
|
||||
src/starter_choose.o(.text*);
|
||||
src/wallclock.o(.text*);
|
||||
src/fldeff_rocksmash.o(.text*);
|
||||
src/fldeff_dig.o(.text*);
|
||||
src/pokeblock.o(.text*);
|
||||
src/fldeff_flash.o(.text*);
|
||||
src/post_battle_event_funcs.o(.text*);
|
||||
src/time_events.o(.text*);
|
||||
src/birch_pc.o(.text*);
|
||||
src/hof_pc.o(.text*);
|
||||
src/field_specials.o(.text*);
|
||||
src/battle_records.o(.text*);
|
||||
src/pokedex_area_screen.o(.text*);
|
||||
src/evolution_scene.o(.text*);
|
||||
src/roulette.o(.text*);
|
||||
src/pokedex_cry_screen.o(.text*);
|
||||
src/coins.o(.text*);
|
||||
src/landmark.o(.text*);
|
||||
src/fldeff_strength.o(.text*);
|
||||
src/battle_transition.o(.text*);
|
||||
src/battle_controller_link_partner.o(.text*);
|
||||
src/battle_message.o(.text*);
|
||||
src/cable_car.o(.text*);
|
||||
src/math_util.o(.text*);
|
||||
src/roulette_util.o(.text*);
|
||||
src/rom_81520A8.o(.text*);
|
||||
src/save.o(.text*);
|
||||
src/mystery_event_script.o(.text*);
|
||||
src/field_effect_helpers.o(.text*);
|
||||
src/contest_ai.o(.text*);
|
||||
src/battle_anim_sound_tasks.o(.text*);
|
||||
src/battle_controller_safari.o(.text*);
|
||||
src/fldeff_sweetscent.o(.text*);
|
||||
src/battle_anim_effects_3.o(.text*);
|
||||
src/move_relearner.o(.text*);
|
||||
src/fldeff_softboiled.o(.text*);
|
||||
src/decoration_inventory.o(.text*);
|
||||
src/roamer.o(.text*);
|
||||
src/battle_tower.o(.text*);
|
||||
src/use_pokeblock.o(.text*);
|
||||
src/battle_controller_wally.o(.text*);
|
||||
src/player_pc.o(.text*);
|
||||
src/intro.o(.text*);
|
||||
src/reset_save_heap.o(.text*);
|
||||
src/field_region_map.o(.text*);
|
||||
src/battle_anim_special.o(.text*);
|
||||
src/hall_of_fame.o(.text*);
|
||||
src/credits.o(.text*);
|
||||
src/lottery_corner.o(.text*);
|
||||
src/diploma.o(.text*);
|
||||
src/berry_tag_screen.o(.text*);
|
||||
src/mystery_event_menu.o(.text*);
|
||||
src/save_failed_screen.o(.text*);
|
||||
src/braille_puzzles.o(.text*);
|
||||
src/pokeblock_feed.o(.text*);
|
||||
src/clear_save_data_screen.o(.text*);
|
||||
src/intro_credits_graphics.o(.text*);
|
||||
src/evolution_graphics.o(.text*);
|
||||
src/bard_music.o(.text*);
|
||||
src/fldeff_teleport.o(.text*);
|
||||
src/battle_tv.o(.text*);
|
||||
src/pokemon_animation.o(.text*);
|
||||
src/recorded_battle.o(.text*);
|
||||
src/battle_controller_recorded_opponent.o(.text*);
|
||||
src/battle_controller_recorded_player.o(.text*);
|
||||
src/trainer_pokemon_sprites.o(.text*);
|
||||
src/lilycove_lady.o(.text*);
|
||||
src/battle_dome.o(.text*);
|
||||
src/battle_palace.o(.text*);
|
||||
src/match_call.o(.text*);
|
||||
src/menu.o(.text*);
|
||||
src/battle_factory_screen.o(.text*);
|
||||
src/apprentice.o(.text*);
|
||||
src/frontier_util.o(.text*);
|
||||
src/battle_arena.o(.text*);
|
||||
src/battle_factory.o(.text*);
|
||||
src/battle_pike.o(.text*);
|
||||
src/mossdeep_gym.o(.text*);
|
||||
src/battle_pyramid.o(.text*);
|
||||
src/item_menu.o(.text*);
|
||||
src/list_menu.o(.text*);
|
||||
src/dynamic_placeholder_text_util.o(.text*);
|
||||
src/save_location.o(.text*);
|
||||
src/item_icon.o(.text*);
|
||||
src/party_menu.o(.text*);
|
||||
src/battle_tent.o(.text*);
|
||||
src/unk_text_util_2.o(.text*);
|
||||
src/multiboot.o(.text*);
|
||||
src/unk_81BAD84.o(.text*);
|
||||
src/battle_controller_player_partner.o(.text*);
|
||||
src/mirage_tower.o(.text*);
|
||||
src/berry_fix_program.o(.text*);
|
||||
src/pokemon_summary_screen.o(.text*);
|
||||
src/unk_pokedex_area_screen_helper.o(.text*);
|
||||
src/battle_pyramid_bag.o(.text*);
|
||||
src/pokenav.o(.text*);
|
||||
src/pokenav_main_menu.o(.text*);
|
||||
src/pokenav_match_call_ui.o(.text*);
|
||||
src/pokenav_unk_1.o(.text*);
|
||||
src/pokenav_unk_2.o(.text*);
|
||||
asm/pokenav_unk_2.o(.text*);
|
||||
src/pokenav_unk_3.o(.text*);
|
||||
src/pokenav_unk_4.o(.text*);
|
||||
src/pokenav_unk_5.o(.text*);
|
||||
src/pokenav_unk_6.o(.text*);
|
||||
src/pokenav_unk_7.o(.text*);
|
||||
src/pokenav_unk_8.o(.text*);
|
||||
asm/pokenav_unk_8.o(.text*);
|
||||
asm/pokenav_unk_9.o(.text*);
|
||||
src/pokenav_unk_10.o(.text*);
|
||||
src/pokenav_match_call_data.o(.text*);
|
||||
src/menu_specialized.o(.text*);
|
||||
src/ereader_helpers.o(.text*);
|
||||
src/faraway_island.o(.text*);
|
||||
src/ereader_screen.o(.text*);
|
||||
src/trainer_hill.o(.text*);
|
||||
src/rayquaza_scene.o(.text*);
|
||||
src/walda_phrase.o(.text*);
|
||||
src/contest_link_81D9DE4.o(.text*);
|
||||
src/gym_leader_rematch.o(.text*);
|
||||
src/unk_transition.o(.text*);
|
||||
src/battle_debug.o(.text*);
|
||||
src/international_string_util.o(.text*);
|
||||
asm/crt0.o(.text);
|
||||
src/main.o(.text);
|
||||
src/alloc.o(.text);
|
||||
src/dma3_manager.o(.text);
|
||||
src/gpu_regs.o(.text);
|
||||
src/bg.o(.text);
|
||||
src/blit.o(.text);
|
||||
src/window.o(.text);
|
||||
src/text.o(.text);
|
||||
src/sprite.o(.text);
|
||||
src/string_util.o(.text);
|
||||
src/link.o(.text);
|
||||
src/link_rfu.o(.text);
|
||||
src/union_room.o(.text);
|
||||
src/mystery_gift.o(.text);
|
||||
src/union_room_player_avatar.o(.text);
|
||||
src/union_room_battle.o(.text);
|
||||
src/mevent2.o(.text);
|
||||
src/mevent_801BAAC.o(.text);
|
||||
src/mevent_server.o(.text);
|
||||
src/mevent_client.o(.text);
|
||||
src/mevent_server_helpers.o(.text);
|
||||
src/mevent_news.o(.text);
|
||||
src/union_room_chat.o(.text);
|
||||
src/berry_crush.o(.text);
|
||||
asm/berry_crush.o(.text);
|
||||
src/berry_powder.o(.text);
|
||||
src/dodrio_berry_picking.o(.text);
|
||||
src/pokemon_jump.o(.text);
|
||||
src/rtc.o(.text);
|
||||
src/main_menu.o(.text);
|
||||
src/battle_controllers.o(.text);
|
||||
src/decompress.o(.text);
|
||||
src/rom_8034C54.o(.text);
|
||||
src/battle_bg.o(.text);
|
||||
src/battle_main.o(.text);
|
||||
src/battle_util.o(.text);
|
||||
src/battle_script_commands.o(.text);
|
||||
src/battle_util2.o(.text);
|
||||
src/battle_controller_player.o(.text);
|
||||
src/battle_gfx_sfx_util.o(.text);
|
||||
src/battle_controller_opponent.o(.text);
|
||||
src/battle_ai_switch_items.o(.text);
|
||||
src/battle_controller_link_opponent.o(.text);
|
||||
src/battle_debug.o(.text);
|
||||
src/pokemon.o(.text);
|
||||
src/trig.o(.text);
|
||||
src/random.o(.text);
|
||||
src/util.o(.text);
|
||||
src/daycare.o(.text);
|
||||
src/egg_hatch.o(.text);
|
||||
src/battle_interface.o(.text);
|
||||
src/smokescreen.o(.text);
|
||||
src/pokeball.o(.text);
|
||||
src/load_save.o(.text);
|
||||
src/trade.o(.text);
|
||||
src/berry_blender.o(.text);
|
||||
src/play_time.o(.text);
|
||||
src/new_game.o(.text);
|
||||
src/overworld.o(.text);
|
||||
src/fieldmap.o(.text);
|
||||
src/metatile_behavior.o(.text);
|
||||
src/field_camera.o(.text);
|
||||
src/field_door.o(.text);
|
||||
src/field_player_avatar.o(.text);
|
||||
src/event_object_movement.o(.text);
|
||||
src/field_message_box.o(.text);
|
||||
src/event_obj_lock.o(.text);
|
||||
src/text_window.o(.text);
|
||||
src/script.o(.text);
|
||||
src/scrcmd.o(.text);
|
||||
src/field_control_avatar.o(.text);
|
||||
src/event_data.o(.text);
|
||||
src/coord_event_weather.o(.text);
|
||||
src/field_tasks.o(.text);
|
||||
src/clock.o(.text);
|
||||
src/reset_rtc_screen.o(.text);
|
||||
src/start_menu.o(.text);
|
||||
src/tileset_anims.o(.text);
|
||||
src/palette.o(.text);
|
||||
src/sound.o(.text);
|
||||
src/battle_anim.o(.text);
|
||||
src/battle_anim_mons.o(.text);
|
||||
src/task.o(.text);
|
||||
src/reshow_battle_screen.o(.text);
|
||||
src/battle_anim_status_effects.o(.text);
|
||||
src/title_screen.o(.text);
|
||||
src/field_weather.o(.text);
|
||||
src/field_weather_effect.o(.text);
|
||||
src/field_screen_effect.o(.text);
|
||||
src/battle_setup.o(.text);
|
||||
src/cable_club.o(.text);
|
||||
src/trainer_see.o(.text);
|
||||
src/wild_encounter.o(.text);
|
||||
src/field_effect.o(.text);
|
||||
src/scanline_effect.o(.text);
|
||||
src/option_menu.o(.text);
|
||||
src/pokedex.o(.text);
|
||||
src/trainer_card.o(.text);
|
||||
src/frontier_pass.o(.text);
|
||||
src/pokemon_storage_system.o(.text);
|
||||
src/pokemon_icon.o(.text);
|
||||
src/script_movement.o(.text);
|
||||
src/fldeff_cut.o(.text);
|
||||
src/mail_data.o(.text);
|
||||
src/map_name_popup.o(.text);
|
||||
src/item_menu_icons.o(.text);
|
||||
src/battle_anim_mon_movement.o(.text);
|
||||
src/item.o(.text);
|
||||
src/contest.o(.text);
|
||||
src/shop.o(.text);
|
||||
src/fldeff_escalator.o(.text);
|
||||
src/berry.o(.text);
|
||||
src/script_menu.o(.text);
|
||||
src/naming_screen.o(.text);
|
||||
src/money.o(.text);
|
||||
src/contest_effect.o(.text);
|
||||
src/record_mixing.o(.text);
|
||||
src/secret_base.o(.text);
|
||||
src/tv.o(.text);
|
||||
src/contest_link_80F57C4.o(.text);
|
||||
src/script_pokemon_util_80F87D8.o(.text);
|
||||
src/field_poison.o(.text);
|
||||
src/pokemon_size_record.o(.text);
|
||||
src/fldeff_misc.o(.text);
|
||||
src/field_special_scene.o(.text);
|
||||
src/rotating_gate.o(.text);
|
||||
src/safari_zone.o(.text);
|
||||
src/contest_link_80FC4F4.o(.text);
|
||||
src/item_use.o(.text);
|
||||
src/battle_anim_effects_1.o(.text);
|
||||
src/battle_anim_effects_2.o(.text);
|
||||
src/water.o(.text);
|
||||
src/fire.o(.text);
|
||||
src/electric.o(.text);
|
||||
src/ice.o(.text);
|
||||
src/fight.o(.text);
|
||||
src/poison.o(.text);
|
||||
src/flying.o(.text);
|
||||
src/psychic.o(.text);
|
||||
src/bug.o(.text);
|
||||
src/rock.o(.text);
|
||||
src/ghost.o(.text);
|
||||
src/dragon.o(.text);
|
||||
src/dark.o(.text);
|
||||
src/ground.o(.text);
|
||||
src/normal.o(.text);
|
||||
src/battle_anim_utility_funcs.o(.text);
|
||||
src/battle_intro.o(.text);
|
||||
src/bike.o(.text);
|
||||
src/easy_chat.o(.text);
|
||||
src/mon_markings.o(.text);
|
||||
src/mauville_old_man.o(.text);
|
||||
src/mail.o(.text);
|
||||
src/menu_helpers.o(.text);
|
||||
src/dewford_trend.o(.text);
|
||||
src/heal_location.o(.text);
|
||||
src/region_map.o(.text);
|
||||
src/contest_painting_effects.o(.text);
|
||||
src/decoration.o(.text);
|
||||
src/slot_machine.o(.text);
|
||||
src/contest_painting.o(.text);
|
||||
src/battle_ai_script_commands.o(.text);
|
||||
src/trader.o(.text);
|
||||
src/starter_choose.o(.text);
|
||||
src/wallclock.o(.text);
|
||||
src/fldeff_rocksmash.o(.text);
|
||||
src/fldeff_dig.o(.text);
|
||||
src/pokeblock.o(.text);
|
||||
src/fldeff_flash.o(.text);
|
||||
src/post_battle_event_funcs.o(.text);
|
||||
src/time_events.o(.text);
|
||||
src/birch_pc.o(.text);
|
||||
src/hof_pc.o(.text);
|
||||
src/field_specials.o(.text);
|
||||
src/battle_records.o(.text);
|
||||
src/pokedex_area_screen.o(.text);
|
||||
src/evolution_scene.o(.text);
|
||||
src/roulette.o(.text);
|
||||
src/pokedex_cry_screen.o(.text);
|
||||
src/coins.o(.text);
|
||||
src/landmark.o(.text);
|
||||
src/fldeff_strength.o(.text);
|
||||
src/battle_transition.o(.text);
|
||||
src/battle_controller_link_partner.o(.text);
|
||||
src/battle_message.o(.text);
|
||||
src/cable_car.o(.text);
|
||||
src/math_util.o(.text);
|
||||
src/roulette_util.o(.text);
|
||||
src/rom_81520A8.o(.text);
|
||||
src/save.o(.text);
|
||||
src/mystery_event_script.o(.text);
|
||||
src/field_effect_helpers.o(.text);
|
||||
src/contest_ai.o(.text);
|
||||
src/battle_anim_sound_tasks.o(.text);
|
||||
src/battle_controller_safari.o(.text);
|
||||
src/fldeff_sweetscent.o(.text);
|
||||
src/battle_anim_effects_3.o(.text);
|
||||
src/move_relearner.o(.text);
|
||||
src/fldeff_softboiled.o(.text);
|
||||
src/decoration_inventory.o(.text);
|
||||
src/roamer.o(.text);
|
||||
src/battle_tower.o(.text);
|
||||
src/use_pokeblock.o(.text);
|
||||
src/battle_controller_wally.o(.text);
|
||||
src/player_pc.o(.text);
|
||||
src/intro.o(.text);
|
||||
src/reset_save_heap.o(.text);
|
||||
src/field_region_map.o(.text);
|
||||
src/battle_anim_special.o(.text);
|
||||
src/hall_of_fame.o(.text);
|
||||
src/credits.o(.text);
|
||||
src/lottery_corner.o(.text);
|
||||
src/diploma.o(.text);
|
||||
src/berry_tag_screen.o(.text);
|
||||
src/mystery_event_menu.o(.text);
|
||||
src/save_failed_screen.o(.text);
|
||||
src/braille_puzzles.o(.text);
|
||||
src/pokeblock_feed.o(.text);
|
||||
src/clear_save_data_screen.o(.text);
|
||||
src/intro_credits_graphics.o(.text);
|
||||
src/evolution_graphics.o(.text);
|
||||
src/bard_music.o(.text);
|
||||
src/fldeff_teleport.o(.text);
|
||||
src/battle_tv.o(.text);
|
||||
src/pokemon_animation.o(.text);
|
||||
src/recorded_battle.o(.text);
|
||||
src/battle_controller_recorded_opponent.o(.text);
|
||||
src/battle_controller_recorded_player.o(.text);
|
||||
src/trainer_pokemon_sprites.o(.text);
|
||||
src/lilycove_lady.o(.text);
|
||||
src/battle_dome.o(.text);
|
||||
src/battle_palace.o(.text);
|
||||
src/match_call.o(.text);
|
||||
src/menu.o(.text);
|
||||
src/battle_factory_screen.o(.text);
|
||||
src/apprentice.o(.text);
|
||||
src/frontier_util.o(.text);
|
||||
src/battle_arena.o(.text);
|
||||
src/battle_factory.o(.text);
|
||||
src/battle_pike.o(.text);
|
||||
src/mossdeep_gym.o(.text);
|
||||
src/battle_pyramid.o(.text);
|
||||
src/item_menu.o(.text);
|
||||
src/list_menu.o(.text);
|
||||
src/dynamic_placeholder_text_util.o(.text);
|
||||
src/save_location.o(.text);
|
||||
src/item_icon.o(.text);
|
||||
src/party_menu.o(.text);
|
||||
src/battle_tent.o(.text);
|
||||
src/unk_text_util_2.o(.text);
|
||||
src/multiboot.o(.text);
|
||||
src/unk_81BAD84.o(.text);
|
||||
src/battle_controller_player_partner.o(.text);
|
||||
src/mirage_tower.o(.text);
|
||||
src/berry_fix_program.o(.text);
|
||||
src/pokemon_summary_screen.o(.text);
|
||||
src/unk_pokedex_area_screen_helper.o(.text);
|
||||
src/battle_pyramid_bag.o(.text);
|
||||
src/pokenav.o(.text);
|
||||
src/pokenav_main_menu.o(.text);
|
||||
src/pokenav_match_call_ui.o(.text);
|
||||
src/pokenav_unk_1.o(.text);
|
||||
src/pokenav_unk_2.o(.text);
|
||||
src/pokenav_unk_3.o(.text);
|
||||
src/pokenav_unk_4.o(.text);
|
||||
src/pokenav_unk_5.o(.text);
|
||||
src/pokenav_unk_6.o(.text);
|
||||
src/pokenav_unk_7.o(.text);
|
||||
src/pokenav_unk_8.o(.text);
|
||||
src/pokenav_unk_9.o(.text);
|
||||
src/pokenav_unk_10.o(.text);
|
||||
src/pokenav_match_call_data.o(.text);
|
||||
src/menu_specialized.o(.text);
|
||||
src/ereader_helpers.o(.text);
|
||||
src/faraway_island.o(.text);
|
||||
src/ereader_screen.o(.text);
|
||||
src/trainer_hill.o(.text);
|
||||
src/rayquaza_scene.o(.text);
|
||||
src/walda_phrase.o(.text);
|
||||
src/contest_link_81D9DE4.o(.text);
|
||||
src/gym_leader_rematch.o(.text);
|
||||
src/unk_transition.o(.text);
|
||||
src/international_string_util.o(.text);
|
||||
} =0
|
||||
|
||||
script_data :
|
||||
@@ -351,71 +349,70 @@ SECTIONS {
|
||||
lib_text :
|
||||
ALIGN(4)
|
||||
{
|
||||
asm/libgcnmultiboot.o(.text*);
|
||||
asm/m4a_1.o(.text*);
|
||||
src/m4a.o(.text*);
|
||||
src/agb_flash.o(.text*);
|
||||
src/agb_flash_1m.o(.text*);
|
||||
src/agb_flash_mx.o(.text*);
|
||||
src/siirtc.o(.text*);
|
||||
src/librfu_stwi.o(.text*);
|
||||
src/librfu_intr.o(.text*);
|
||||
asm/librfu_intr.o(.text*);
|
||||
src/librfu_rfu.o(.text*);
|
||||
src/librfu.o(.text*);
|
||||
asm/librfu.o(.text*);
|
||||
asm/libagbsyscall.o(.text*);
|
||||
*libgcc.a:_call_via_rX.o(.text*);
|
||||
*libgcc.a:_divdi3.o(.text*);
|
||||
*libgcc.a:_divsi3.o(.text*);
|
||||
*libgcc.a:_dvmd_tls.o(.text*);
|
||||
*libgcc.a:_fixunsdfsi.o(.text*);
|
||||
*libgcc.a:_fixunssfsi.o(.text*);
|
||||
*libgcc.a:_modsi3.o(.text*);
|
||||
*libgcc.a:_muldi3.o(.text*);
|
||||
*libgcc.a:_udivdi3.o(.text*);
|
||||
*libgcc.a:_udivsi3.o(.text*);
|
||||
*libgcc.a:_umodsi3.o(.text*);
|
||||
*libgcc.a:dp-bit.o(.text*);
|
||||
*libgcc.a:fp-bit.o(.text*);
|
||||
*libgcc.a:_lshrdi3.o(.text*);
|
||||
*libgcc.a:_negdi2.o(.text*);
|
||||
*libc.a:memcpy.o(.text*);
|
||||
*libc.a:memset.o(.text*);
|
||||
*libc.a:strcmp.o(.text*);
|
||||
*libc.a:strcpy.o(.text*);
|
||||
*libc.a:vfprintf.o(.text*);
|
||||
*libc.a:vsprintf.o(.text*);
|
||||
*libc.a:fvwrite.o(.text*);
|
||||
*libc.a:locale.o(.text*);
|
||||
*libc.a:findfp.o(.text*);
|
||||
*libc.a:fflush.o(.text*);
|
||||
*libc.a:wsetup.o(.text*);
|
||||
*libc.a:mbtowc_r.o(.text*);
|
||||
*libc.a:s_isinf.o(.text*);
|
||||
*libc.a:s_isnan.o(.text*);
|
||||
*libc.a:memchr.o(.text*);
|
||||
*libc.a:strlen.o(.text*);
|
||||
*libc.a:dtoa.o(.text*);
|
||||
*libc.a:memmove.o(.text*);
|
||||
*libc.a:stdio.o(.text*);
|
||||
*libc.a:mprec.o(.text*);
|
||||
*libc.a:mallocr.o(.text*);
|
||||
*libc.a:fwalk.o(.text*);
|
||||
*libc.a:freer.o(.text*);
|
||||
*libc.a:makebuf.o(.text*);
|
||||
*libc.a:readr.o(.text*);
|
||||
*libc.a:writer.o(.text*);
|
||||
*libc.a:lseekr.o(.text*);
|
||||
*libc.a:closer.o(.text*);
|
||||
*libc.a:callocr.o(.text*);
|
||||
*libc.a:sbrkr.o(.text*);
|
||||
*libc.a:mlock.o(.text*);
|
||||
*libc.a:fstatr.o(.text*);
|
||||
*libc.a:libcfunc.o(.text*);
|
||||
*libc.a:syscalls.o(.text*);
|
||||
*libc.a:errno.o(.text*);
|
||||
src/libisagbprn.o(.text*);
|
||||
asm/libgcnmultiboot.o(.text);
|
||||
asm/m4a_1.o(.text);
|
||||
src/m4a.o(.text);
|
||||
src/agb_flash.o(.text);
|
||||
src/agb_flash_1m.o(.text);
|
||||
src/agb_flash_mx.o(.text);
|
||||
src/siirtc.o(.text);
|
||||
src/librfu_stwi.o(.text);
|
||||
src/librfu_intr.o(.text);
|
||||
asm/librfu_intr.o(.text);
|
||||
src/librfu_rfu.o(.text);
|
||||
asm/librfu.o(.text);
|
||||
asm/libagbsyscall.o(.text);
|
||||
*libgcc.a:_call_via_rX.o(.text);
|
||||
*libgcc.a:_divdi3.o(.text);
|
||||
*libgcc.a:_divsi3.o(.text);
|
||||
*libgcc.a:_dvmd_tls.o(.text);
|
||||
*libgcc.a:_fixunsdfsi.o(.text);
|
||||
*libgcc.a:_fixunssfsi.o(.text);
|
||||
*libgcc.a:_modsi3.o(.text);
|
||||
*libgcc.a:_muldi3.o(.text);
|
||||
*libgcc.a:_udivdi3.o(.text);
|
||||
*libgcc.a:_udivsi3.o(.text);
|
||||
*libgcc.a:_umodsi3.o(.text);
|
||||
*libgcc.a:dp-bit.o(.text);
|
||||
*libgcc.a:fp-bit.o(.text);
|
||||
*libgcc.a:_lshrdi3.o(.text);
|
||||
*libgcc.a:_negdi2.o(.text);
|
||||
*libc.a:memcpy.o(.text);
|
||||
*libc.a:memset.o(.text);
|
||||
*libc.a:strcmp.o(.text);
|
||||
*libc.a:strcpy.o(.text);
|
||||
*libc.a:vfprintf.o(.text);
|
||||
*libc.a:vsprintf.o(.text);
|
||||
*libc.a:fvwrite.o(.text);
|
||||
*libc.a:locale.o(.text);
|
||||
*libc.a:findfp.o(.text);
|
||||
*libc.a:fflush.o(.text);
|
||||
*libc.a:wsetup.o(.text);
|
||||
*libc.a:mbtowc_r.o(.text);
|
||||
*libc.a:s_isinf.o(.text);
|
||||
*libc.a:s_isnan.o(.text);
|
||||
*libc.a:memchr.o(.text);
|
||||
*libc.a:strlen.o(.text);
|
||||
*libc.a:dtoa.o(.text);
|
||||
*libc.a:memmove.o(.text);
|
||||
*libc.a:stdio.o(.text);
|
||||
*libc.a:mprec.o(.text);
|
||||
*libc.a:mallocr.o(.text);
|
||||
*libc.a:fwalk.o(.text);
|
||||
*libc.a:freer.o(.text);
|
||||
*libc.a:makebuf.o(.text);
|
||||
*libc.a:readr.o(.text);
|
||||
*libc.a:writer.o(.text);
|
||||
*libc.a:lseekr.o(.text);
|
||||
*libc.a:closer.o(.text);
|
||||
*libc.a:callocr.o(.text);
|
||||
*libc.a:sbrkr.o(.text);
|
||||
*libc.a:mlock.o(.text);
|
||||
*libc.a:fstatr.o(.text);
|
||||
*libc.a:libcfunc.o(.text);
|
||||
*libc.a:syscalls.o(.text);
|
||||
*libc.a:errno.o(.text);
|
||||
src/libisagbprn.o(.text);
|
||||
} =0
|
||||
|
||||
.rodata :
|
||||
@@ -461,6 +458,7 @@ SECTIONS {
|
||||
src/battle_controller_opponent.o(.rodata);
|
||||
src/battle_ai_switch_items.o(.rodata);
|
||||
src/battle_controller_link_opponent.o(.rodata);
|
||||
src/battle_debug.o(.rodata);
|
||||
src/pokemon.o(.rodata);
|
||||
src/trig.o(.rodata);
|
||||
src/util.o(.rodata);
|
||||
@@ -674,7 +672,6 @@ SECTIONS {
|
||||
src/walda_phrase.o(.rodata);
|
||||
src/gym_leader_rematch.o(.rodata);
|
||||
src/unk_transition.o(.rodata);
|
||||
src/battle_debug.o(.rodata);
|
||||
data/text_input_strings.o(.rodata);
|
||||
data/fonts.o(.rodata);
|
||||
src/mystery_event_msg.o(.rodata);
|
||||
|
||||
@@ -304,7 +304,7 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8
|
||||
gSpecialVar_Facing = direction;
|
||||
|
||||
if (InTrainerHill() == TRUE)
|
||||
script = sub_81D62AC();
|
||||
script = GetTrainerHillTrainerScript();
|
||||
else
|
||||
script = GetEventObjectScriptPointerByEventObjectId(eventObjectId);
|
||||
|
||||
|
||||
@@ -2482,7 +2482,7 @@ void WipeTrainerNameRecords(void)
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_5(const char *unused_0, u8 unused_1, u8 unused_2)
|
||||
void nullsub_5(const void *unused_0, u8 unused_1, u8 unused_2)
|
||||
{
|
||||
// debug?
|
||||
}
|
||||
@@ -2512,7 +2512,7 @@ void sub_800E604(void)
|
||||
sub_800D724(&gUnknown_03005000.unk_9e8);
|
||||
CpuFill16(0, gSendCmd, sizeof gSendCmd);
|
||||
CpuFill16(0, gRecvCmds, sizeof gRecvCmds);
|
||||
CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers)
|
||||
CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers);
|
||||
}
|
||||
|
||||
void sub_800E6D0(void)
|
||||
|
||||
@@ -318,7 +318,7 @@ void SetMirageTowerVisibility(void)
|
||||
u16 rand;
|
||||
bool8 visible;
|
||||
|
||||
if (VarGet(VAR_ROUTE_111_STATE))
|
||||
if (VarGet(VAR_MIRAGE_TOWER_STATE))
|
||||
{
|
||||
FlagClear(FLAG_MIRAGE_TOWER_VISIBLE);
|
||||
return;
|
||||
|
||||
@@ -1040,7 +1040,7 @@ static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp)
|
||||
case MAP_NUM(ROUTE128):
|
||||
return TRUE;
|
||||
default:
|
||||
if (VarGet(VAR_RAYQUAZA_STATE) < 4)
|
||||
if (VarGet(VAR_SOOTOPOLIS_CITY_STATE) < 4)
|
||||
return FALSE;
|
||||
switch (warp->mapNum)
|
||||
{
|
||||
@@ -1081,9 +1081,9 @@ static bool16 IsInfiltratedWeatherInstitute(struct WarpData *warp)
|
||||
|
||||
static bool16 IsInflitratedSpaceCenter(struct WarpData *warp)
|
||||
{
|
||||
if (VarGet(VAR_MOSSDEEP_STATE) == 0)
|
||||
if (VarGet(VAR_MOSSDEEP_CITY_STATE) == 0)
|
||||
return FALSE;
|
||||
else if (VarGet(VAR_MOSSDEEP_STATE) > 2)
|
||||
else if (VarGet(VAR_MOSSDEEP_CITY_STATE) > 2)
|
||||
return FALSE;
|
||||
else if (warp->mapGroup != MAP_GROUP(MOSSDEEP_CITY_SPACE_CENTER_1F))
|
||||
return FALSE;
|
||||
|
||||
@@ -1319,7 +1319,7 @@ void CB2_Pokedex(void)
|
||||
default:
|
||||
SetVBlankCallback(NULL);
|
||||
sub_80C09B0(0);
|
||||
DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000)
|
||||
DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000);
|
||||
DmaClear32(3, OAM, OAM_SIZE);
|
||||
DmaClear16(3, PLTT, PLTT_SIZE);
|
||||
gMain.state = 1;
|
||||
|
||||
114
src/pokenav.c
114
src/pokenav.c
@@ -31,72 +31,30 @@ struct UnknownPokenavCallbackStruct
|
||||
bool32 (*unk0)(void);
|
||||
u32 (*unk4)(void);
|
||||
bool32 (*unk8)(void);
|
||||
void (*unkC)(int);
|
||||
void (*unkC)(s32);
|
||||
u32 (*unk10)(void);
|
||||
void (*unk14)(void);
|
||||
void (*unk18)(void);
|
||||
};
|
||||
|
||||
extern bool32 sub_81C9924(void);
|
||||
extern u32 sub_81C99C0(void);
|
||||
extern void sub_81C9990(int);
|
||||
extern bool32 sub_81C9940(void);
|
||||
extern u32 sub_81CCFD8(void);
|
||||
extern u32 sub_81CD070(void);
|
||||
extern bool32 sub_81CDDD4(void);
|
||||
extern void sub_81CDE2C(int);
|
||||
extern u32 sub_81CDE64(void);
|
||||
extern void sub_81CD1C0(void);
|
||||
extern void sub_81CECA0(void);
|
||||
extern u32 sub_81CEF3C(void);
|
||||
extern u32 sub_81CEFDC(void);
|
||||
extern bool32 sub_81CF330(void);
|
||||
extern void sub_81CF3A0(int);
|
||||
extern u32 sub_81CF3D0(void);
|
||||
extern void sub_81CEFF0(void);
|
||||
extern void sub_81CF3F8(void);
|
||||
extern u32 sub_81CD024(void);
|
||||
extern u32 sub_81CEF98(void);
|
||||
extern bool32 sub_81CF368(void);
|
||||
extern u32 sub_81CF9BC(void);
|
||||
extern u32 sub_81CFA34(void);
|
||||
extern bool32 sub_81CFDD0(void);
|
||||
extern void sub_81CFE40(int);
|
||||
extern u32 sub_81CFE70(void);
|
||||
extern void sub_81CFA48(void);
|
||||
extern void sub_81CFE98(void);
|
||||
extern u32 sub_81D0450(void);
|
||||
extern u32 sub_81D04A0(void);
|
||||
extern bool32 sub_81D0978(void);
|
||||
extern void sub_81D09B0(int);
|
||||
extern u32 sub_81D09E0(void);
|
||||
extern void sub_81D04B8(void);
|
||||
extern void sub_81D09F4(void);
|
||||
extern u32 sub_81CFA04(void);
|
||||
extern bool32 sub_81CFE08(void);
|
||||
|
||||
static u32 sub_81C75E0(void);
|
||||
static u32 sub_81C75D4(void);
|
||||
static bool32 SetActivePokenavMenu(u32 menuId);
|
||||
static bool32 AnyMonHasRibbon(void);
|
||||
u32 sub_81C75E0(void);
|
||||
u32 sub_81C75D4(void);
|
||||
u32 PokenavMainMenuLoopedTaskIsActive(void);
|
||||
bool32 WaitForPokenavShutdownFade(void);
|
||||
void sub_81C7834(void *func1, void *func2);
|
||||
static void InitPokenavResources(struct PokenavResources *a0);
|
||||
void Task_RunLoopedTask_LinkMode(u8 a0);
|
||||
void Task_RunLoopedTask(u8 taskId);
|
||||
void sub_81C742C(u8 taskId);
|
||||
void ShutdownPokenav(void);
|
||||
static void InitKeys_(void);
|
||||
static void FreePokenavResources(void);
|
||||
static void VBlankCB_Pokenav(void);
|
||||
static void CB2_Pokenav(void);
|
||||
void sub_81C72BC(void);
|
||||
static void Task_RunLoopedTask_LinkMode(u8 a0);
|
||||
static void Task_RunLoopedTask(u8 taskId);
|
||||
static void sub_81C742C(u8 taskId);
|
||||
static void sub_81C72BC(void);
|
||||
|
||||
const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
{
|
||||
{
|
||||
.unk0 = sub_81C9298,
|
||||
.unk0 = PokenavCallback_Init_0,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9924,
|
||||
.unkC = sub_81C9990,
|
||||
@@ -105,7 +63,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81C9298,
|
||||
.unk0 = PokenavCallback_Init_0,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9940,
|
||||
.unkC = sub_81C9990,
|
||||
@@ -114,7 +72,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81C9338,
|
||||
.unk0 = PokenavCallback_Init_2,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9940,
|
||||
.unkC = sub_81C9990,
|
||||
@@ -123,7 +81,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81C9368,
|
||||
.unk0 = PokenavCallback_Init_3,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9940,
|
||||
.unkC = sub_81C9990,
|
||||
@@ -132,16 +90,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81C92CC,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9940,
|
||||
.unkC = sub_81C9990,
|
||||
.unk10 =sub_81C99C0,
|
||||
.unk14 = sub_81C9430,
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81C9304,
|
||||
.unk0 = PokenavCallback_Init_4,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9940,
|
||||
.unkC = sub_81C9990,
|
||||
@@ -150,7 +99,16 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CC4D4,
|
||||
.unk0 = PokenavCallback_Init_5,
|
||||
.unk4 = sub_81C941C,
|
||||
.unk8 = sub_81C9940,
|
||||
.unkC = sub_81C9990,
|
||||
.unk10 = sub_81C99C0,
|
||||
.unk14 = sub_81C9430,
|
||||
.unk18 = sub_81C99D4,
|
||||
},
|
||||
{
|
||||
.unk0 = PokenavCallback_Init_6,
|
||||
.unk4 = sub_81CC554,
|
||||
.unk8 = sub_81CC5F4,
|
||||
.unkC = sub_81CC62C,
|
||||
@@ -159,7 +117,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CC670,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CCFD8,
|
||||
.unk0 = PokenavCallback_Init_7,
|
||||
.unk4 = sub_81CD070,
|
||||
.unk8 = sub_81CDDD4,
|
||||
.unkC = sub_81CDE2C,
|
||||
@@ -168,7 +126,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CECA0,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CEF3C,
|
||||
.unk0 = PokenavCallback_Init_8,
|
||||
.unk4 = sub_81CEFDC,
|
||||
.unk8 = sub_81CF330,
|
||||
.unkC = sub_81CF3A0,
|
||||
@@ -177,7 +135,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CF3F8,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CD024,
|
||||
.unk0 = PokenavCallback_Init_9,
|
||||
.unk4 = sub_81CD070,
|
||||
.unk8 = sub_81CDDD4,
|
||||
.unkC = sub_81CDE2C,
|
||||
@@ -186,7 +144,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CECA0,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CEF98,
|
||||
.unk0 = PokenavCallback_Init_10,
|
||||
.unk4 = sub_81CEFDC,
|
||||
.unk8 = sub_81CF368,
|
||||
.unkC = sub_81CF3A0,
|
||||
@@ -195,7 +153,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CF3F8,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CAAE8,
|
||||
.unk0 = PokenavCallback_Init_11,
|
||||
.unk4 = sub_81CAB24,
|
||||
.unk8 = sub_81CB260,
|
||||
.unkC = sub_81CB29C,
|
||||
@@ -204,7 +162,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CB2E0,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CF9BC,
|
||||
.unk0 = PokenavCallback_Init_12,
|
||||
.unk4 = sub_81CFA34,
|
||||
.unk8 = sub_81CFDD0,
|
||||
.unkC = sub_81CFE40,
|
||||
@@ -213,7 +171,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81CFE98,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81D0450,
|
||||
.unk0 = PokenavCallback_Init_13,
|
||||
.unk4 = sub_81D04A0,
|
||||
.unk8 = sub_81D0978,
|
||||
.unkC = sub_81D09B0,
|
||||
@@ -222,7 +180,7 @@ const struct UnknownPokenavCallbackStruct PokenavMenuCallbacks[15] =
|
||||
.unk18 = sub_81D09F4,
|
||||
},
|
||||
{
|
||||
.unk0 = sub_81CFA04,
|
||||
.unk0 = PokenavCallback_Init_14,
|
||||
.unk4 = sub_81CFA34,
|
||||
.unk8 = sub_81CFE08,
|
||||
.unkC = sub_81CFE40,
|
||||
@@ -277,7 +235,7 @@ bool32 FuncIsActiveLoopedTask(LoopedTask func)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void Task_RunLoopedTask(u8 taskId)
|
||||
static void Task_RunLoopedTask(u8 taskId)
|
||||
{
|
||||
LoopedTask loopedTask = (LoopedTask)GetWordTaskArg(taskId, 1);
|
||||
s16 *state = &gTasks[taskId].data[0];
|
||||
@@ -310,7 +268,7 @@ void Task_RunLoopedTask(u8 taskId)
|
||||
}
|
||||
|
||||
// Every "Continue" action pauses instead.
|
||||
void Task_RunLoopedTask_LinkMode(u8 taskId)
|
||||
static void Task_RunLoopedTask_LinkMode(u8 taskId)
|
||||
{
|
||||
LoopedTask task;
|
||||
s16 *state;
|
||||
@@ -365,7 +323,7 @@ void sub_81C72A4(void)
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
|
||||
void sub_81C72BC(void)
|
||||
static void sub_81C72BC(void)
|
||||
{
|
||||
UpdatePaletteFade();
|
||||
if (gPaletteFade.active)
|
||||
@@ -458,7 +416,7 @@ static void VBlankCB_Pokenav(void)
|
||||
ProcessSpriteCopyRequests();
|
||||
}
|
||||
|
||||
void sub_81C742C(u8 taskId)
|
||||
static void sub_81C742C(u8 taskId)
|
||||
{
|
||||
u32 v1;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
@@ -544,12 +502,12 @@ static bool32 SetActivePokenavMenu(u32 menuId)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_81C75D4(void)
|
||||
static u32 sub_81C75D4(void)
|
||||
{
|
||||
return sub_81C786C();
|
||||
}
|
||||
|
||||
u32 sub_81C75E0(void)
|
||||
static u32 sub_81C75E0(void)
|
||||
{
|
||||
return gPokenavResources->currentMenuCb1();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -55,7 +55,7 @@ static u8 GetPokenavMainMenuType(void)
|
||||
return retVal;
|
||||
}
|
||||
|
||||
bool32 sub_81C9298(void)
|
||||
bool32 PokenavCallback_Init_0(void)
|
||||
{
|
||||
struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct));
|
||||
if (!state)
|
||||
@@ -69,7 +69,7 @@ bool32 sub_81C9298(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81C92CC(void)
|
||||
bool32 PokenavCallback_Init_4(void)
|
||||
{
|
||||
struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct));
|
||||
if (!state)
|
||||
@@ -83,7 +83,7 @@ bool32 sub_81C92CC(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81C9304(void)
|
||||
bool32 PokenavCallback_Init_5(void)
|
||||
{
|
||||
struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct));
|
||||
if (!state)
|
||||
@@ -96,7 +96,7 @@ bool32 sub_81C9304(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81C9338(void)
|
||||
bool32 PokenavCallback_Init_2(void)
|
||||
{
|
||||
struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct));
|
||||
if (!state)
|
||||
@@ -110,7 +110,7 @@ bool32 sub_81C9338(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81C9368(void)
|
||||
bool32 PokenavCallback_Init_3(void)
|
||||
{
|
||||
struct Pokenav1Struct *state = AllocSubstruct(1, sizeof(struct Pokenav1Struct));
|
||||
if (!state)
|
||||
@@ -459,7 +459,7 @@ int sub_81C98B4(void)
|
||||
return state->descriptionId;
|
||||
}
|
||||
|
||||
int sub_81C98C4(void)
|
||||
u16 sub_81C98C4(void)
|
||||
{
|
||||
struct Pokenav1Struct *state = GetSubstructPtr(1);
|
||||
return state->helpBarIndex;
|
||||
|
||||
@@ -158,7 +158,7 @@ static const LoopedTask gUnknown_08624BA0[] =
|
||||
};
|
||||
|
||||
// code
|
||||
bool32 sub_81D0450(void)
|
||||
bool32 PokenavCallback_Init_13(void)
|
||||
{
|
||||
struct PokenavSub13 *structPtr = AllocSubstruct(13, sizeof(struct PokenavSub13));
|
||||
if (structPtr == NULL)
|
||||
@@ -235,7 +235,7 @@ u32 sub_81D0548(struct PokenavSub13 *structPtr)
|
||||
|
||||
u32 sub_81D05D4(struct PokenavSub13 *structPtr)
|
||||
{
|
||||
return 0x186ae;
|
||||
return 100014;
|
||||
}
|
||||
|
||||
bool32 sub_81D05DC(struct PokenavSub13 *structPtr)
|
||||
@@ -472,7 +472,7 @@ bool32 sub_81D0978(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81D09B0(int id)
|
||||
void sub_81D09B0(s32 id)
|
||||
{
|
||||
struct PokenavSub14 *structPtr = GetSubstructPtr(14);
|
||||
structPtr->loopedTaskId = CreateLoopedTask(gUnknown_08624BA0[id], 1);
|
||||
|
||||
1164
src/pokenav_unk_2.c
1164
src/pokenav_unk_2.c
File diff suppressed because it is too large
Load Diff
@@ -26,7 +26,7 @@ struct Pokenav3Struct
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 (*callback)(struct Pokenav3Struct*);
|
||||
struct Pokenav3Struct_Unk1C unk1C[99];
|
||||
struct PokenavMonList unk1C[99];
|
||||
};
|
||||
|
||||
static u32 sub_81CAB44(struct Pokenav3Struct *);
|
||||
@@ -42,7 +42,7 @@ static bool32 sub_81CB1D0(void);
|
||||
const u8 gUnknown_08622508[] = {0, 2};
|
||||
const u8 gUnknown_0862250A[] = {0, 1, 2};
|
||||
|
||||
bool32 sub_81CAAE8(void)
|
||||
bool32 PokenavCallback_Init_11(void)
|
||||
{
|
||||
struct Pokenav3Struct *state = AllocSubstruct(5, sizeof(struct Pokenav3Struct));
|
||||
if (!state)
|
||||
@@ -84,7 +84,7 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state)
|
||||
state->callback = sub_81CAC04;
|
||||
state->unk0 = 0;
|
||||
selectedMatchCall = GetSelectedMatchCall();
|
||||
if (!state->unk1C[selectedMatchCall].unk0 || sub_81D17E8(state->unk1C[selectedMatchCall].unk2))
|
||||
if (!state->unk1C[selectedMatchCall].boxId || sub_81D17E8(state->unk1C[selectedMatchCall].unk6))
|
||||
{
|
||||
state->unk4 = gUnknown_0862250A;
|
||||
state->unk2 = 2;
|
||||
@@ -206,9 +206,9 @@ static u32 sub_81CAD20(s32 taskState)
|
||||
{
|
||||
if (MatchCallFlagGetByIndex(j))
|
||||
{
|
||||
state->unk1C[state->unkA].unk2 = j;
|
||||
state->unk1C[state->unkA].unk0 = 1;
|
||||
state->unk1C[state->unkA].unk1 = MatchCallMapSecGetByIndex(j);
|
||||
state->unk1C[state->unkA].unk6 = j;
|
||||
state->unk1C[state->unkA].boxId = 1;
|
||||
state->unk1C[state->unkA].monId = MatchCallMapSecGetByIndex(j);
|
||||
state->unkA++;
|
||||
}
|
||||
|
||||
@@ -226,9 +226,9 @@ static u32 sub_81CAD20(s32 taskState)
|
||||
{
|
||||
if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8))
|
||||
{
|
||||
state->unk1C[state->unkA].unk2 = state->unk8;
|
||||
state->unk1C[state->unkA].unk0 = 0;
|
||||
state->unk1C[state->unkA].unk1 = sub_81CB0C8(j);
|
||||
state->unk1C[state->unkA].unk6 = state->unk8;
|
||||
state->unk1C[state->unkA].boxId = 0;
|
||||
state->unk1C[state->unkA].monId = sub_81CB0C8(j);
|
||||
state->unkA++;
|
||||
}
|
||||
|
||||
@@ -284,10 +284,10 @@ int unref_sub_81CAE6C(int arg0)
|
||||
if (arg0 >= state->unkA)
|
||||
return REMATCH_TABLE_ENTRIES;
|
||||
|
||||
return state->unk1C[arg0].unk2;
|
||||
return state->unk1C[arg0].unk6;
|
||||
}
|
||||
|
||||
struct Pokenav3Struct_Unk1C *sub_81CAE94(void)
|
||||
struct PokenavMonList *sub_81CAE94(void)
|
||||
{
|
||||
struct Pokenav3Struct *state = GetSubstructPtr(5);
|
||||
return state->unk1C;
|
||||
@@ -296,16 +296,16 @@ struct Pokenav3Struct_Unk1C *sub_81CAE94(void)
|
||||
u16 sub_81CAEA4(int index)
|
||||
{
|
||||
struct Pokenav3Struct *state = GetSubstructPtr(5);
|
||||
return state->unk1C[index].unk1;
|
||||
return state->unk1C[index].monId;
|
||||
}
|
||||
|
||||
bool32 sub_81CAEBC(int index)
|
||||
{
|
||||
struct Pokenav3Struct *state = GetSubstructPtr(5);
|
||||
if (!state->unk1C[index].unk0)
|
||||
index = state->unk1C[index].unk2;
|
||||
if (!state->unk1C[index].boxId)
|
||||
index = state->unk1C[index].unk6;
|
||||
else
|
||||
index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk2);
|
||||
index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
|
||||
|
||||
if (index == REMATCH_TABLE_ENTRIES)
|
||||
return FALSE;
|
||||
@@ -317,13 +317,13 @@ int sub_81CAF04(int index)
|
||||
{
|
||||
int var0;
|
||||
struct Pokenav3Struct *state = GetSubstructPtr(5);
|
||||
if (!state->unk1C[index].unk0)
|
||||
if (!state->unk1C[index].boxId)
|
||||
{
|
||||
index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk2);
|
||||
index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk6);
|
||||
return gTrainers[index].trainerPic;
|
||||
}
|
||||
|
||||
var0 = state->unk1C[index].unk2;
|
||||
var0 = state->unk1C[index].unk6;
|
||||
index = MatchCall_GetRematchTableIdx(var0);
|
||||
if (index != REMATCH_TABLE_ENTRIES)
|
||||
{
|
||||
@@ -342,10 +342,10 @@ const u8 *sub_81CAF78(int index, u8 *arg1)
|
||||
if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType))
|
||||
return gText_CallCantBeMadeHere;
|
||||
|
||||
if (!state->unk1C[index].unk0)
|
||||
*arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk2), gStringVar4);
|
||||
if (!state->unk1C[index].boxId)
|
||||
*arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk6), gStringVar4);
|
||||
else
|
||||
MatchCall_GetMessage(state->unk1C[index].unk2, gStringVar4);
|
||||
MatchCall_GetMessage(state->unk1C[index].unk6, gStringVar4);
|
||||
|
||||
return gStringVar4;
|
||||
}
|
||||
@@ -354,15 +354,15 @@ const u8 *sub_81CAFD8(int index, int textType)
|
||||
{
|
||||
int var0;
|
||||
struct Pokenav3Struct *state = GetSubstructPtr(5);
|
||||
if (state->unk1C[index].unk0)
|
||||
if (state->unk1C[index].boxId)
|
||||
{
|
||||
var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk2);
|
||||
var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
|
||||
if (var0 == REMATCH_TABLE_ENTRIES)
|
||||
return sub_81D1B40(state->unk1C[index].unk2, textType);
|
||||
return sub_81D1B40(state->unk1C[index].unk6, textType);
|
||||
}
|
||||
else
|
||||
{
|
||||
var0 = state->unk1C[index].unk2;
|
||||
var0 = state->unk1C[index].unk6;
|
||||
}
|
||||
|
||||
return gMatchCallMessages[var0][textType];
|
||||
@@ -383,14 +383,13 @@ u16 sub_81CB02C(int arg0)
|
||||
return state->unk4[arg0];
|
||||
}
|
||||
|
||||
void sub_81CB050(u32 arg0, u8 *str)
|
||||
void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
|
||||
{
|
||||
struct Pokenav3Struct_Unk1C *var0 = (struct Pokenav3Struct_Unk1C *)arg0;
|
||||
const u8 *trainerName;
|
||||
const u8 *className;
|
||||
if (!var0->unk0)
|
||||
if (!arg0->boxId)
|
||||
{
|
||||
int index = GetTrainerIdxByRematchIdx(var0->unk2);
|
||||
int index = GetTrainerIdxByRematchIdx(arg0->unk6);
|
||||
const struct Trainer *trainer = &gTrainers[index];
|
||||
int class = trainer->trainerClass;
|
||||
className = gTrainerClassNames[class];
|
||||
@@ -398,7 +397,7 @@ void sub_81CB050(u32 arg0, u8 *str)
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_81D1A78(var0->unk2, &className, &trainerName);
|
||||
sub_81D1A78(arg0->unk6, &className, &trainerName);
|
||||
}
|
||||
|
||||
if (className && trainerName)
|
||||
@@ -425,9 +424,9 @@ int sub_81CB0E4(int index)
|
||||
int count = 1;
|
||||
while (++index < state->unkA)
|
||||
{
|
||||
if (!state->unk1C[index].unk0)
|
||||
if (!state->unk1C[index].boxId)
|
||||
return count;
|
||||
if (sub_81D17E8(state->unk1C[index].unk2))
|
||||
if (sub_81D17E8(state->unk1C[index].unk6))
|
||||
return count;
|
||||
|
||||
count++;
|
||||
@@ -442,9 +441,9 @@ int sub_81CB128(int index)
|
||||
int count = -1;
|
||||
while (--index >= 0)
|
||||
{
|
||||
if (!state->unk1C[index].unk0)
|
||||
if (!state->unk1C[index].boxId)
|
||||
return count;
|
||||
if (sub_81D17E8(state->unk1C[index].unk2))
|
||||
if (sub_81D17E8(state->unk1C[index].unk6))
|
||||
return count;
|
||||
|
||||
count--;
|
||||
@@ -480,17 +479,17 @@ static bool32 sub_81CB1D0(void)
|
||||
{
|
||||
struct Pokenav3Struct *state = GetSubstructPtr(5);
|
||||
int index = GetSelectedMatchCall();
|
||||
if (!state->unk1C[index].unk0)
|
||||
if (!state->unk1C[index].boxId)
|
||||
{
|
||||
if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId)
|
||||
{
|
||||
if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk2])
|
||||
if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk6])
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (state->unk1C[index].unk2 == 11)
|
||||
if (state->unk1C[index].unk6 == 11)
|
||||
{
|
||||
if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId
|
||||
&& FlagGet(FLAG_BADGE05_GET) == TRUE)
|
||||
|
||||
@@ -290,7 +290,7 @@ bool32 sub_81CB260(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81CB29C(int index)
|
||||
void sub_81CB29C(s32 index)
|
||||
{
|
||||
struct Pokenav4Struct *state = GetSubstructPtr(6);
|
||||
state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1);
|
||||
@@ -870,7 +870,7 @@ u32 sub_81CBB74(s32 taskState)
|
||||
static void sub_81CBBB8(void)
|
||||
{
|
||||
struct MatchCallListTemplate template;
|
||||
template.unk0 = (u32)sub_81CAE94();
|
||||
template.unk0 = sub_81CAE94();
|
||||
template.unk4 = sub_81CAE38();
|
||||
template.unk8 = 4;
|
||||
template.unk6 = 0;
|
||||
|
||||
@@ -166,7 +166,7 @@ const struct SpriteTemplate gUnknown_086231D0 =
|
||||
.callback = sub_81CCEF4,
|
||||
};
|
||||
|
||||
u32 sub_81CC4D4(void)
|
||||
u32 PokenavCallback_Init_6(void)
|
||||
{
|
||||
struct Pokenav5Struct *state = AllocSubstruct(3, sizeof(struct Pokenav5Struct));
|
||||
if (!state)
|
||||
@@ -194,7 +194,7 @@ void sub_81CC524(void)
|
||||
u32 sub_81CC554(void)
|
||||
{
|
||||
struct Pokenav5Struct *state = GetSubstructPtr(3);
|
||||
state->unk10(state);
|
||||
return state->unk10(state);
|
||||
}
|
||||
|
||||
static u32 sub_81CC568(struct Pokenav5Struct *state)
|
||||
@@ -248,7 +248,7 @@ bool32 sub_81CC5F4(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81CC62C(int index)
|
||||
void sub_81CC62C(s32 index)
|
||||
{
|
||||
struct Pokenav5Struct_2 *state = GetSubstructPtr(4);
|
||||
state->unk4 = CreateLoopedTask(gUnknown_086230E4[index], 1);
|
||||
|
||||
@@ -47,7 +47,7 @@ void sub_81CDA1C(s16 arg0, u8 arg1);
|
||||
void sub_81CDB98(s16 arg0, u8 arg1);
|
||||
|
||||
// code
|
||||
bool32 sub_81CCFD8(void)
|
||||
bool32 PokenavCallback_Init_7(void)
|
||||
{
|
||||
struct PokenavSub11 *structPtr = AllocSubstruct(11, sizeof(struct PokenavSub11));
|
||||
|
||||
@@ -61,7 +61,7 @@ bool32 sub_81CCFD8(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81CD024(void)
|
||||
bool32 PokenavCallback_Init_9(void)
|
||||
{
|
||||
struct PokenavSub11 *structPtr = AllocSubstruct(11, sizeof(struct PokenavSub11));
|
||||
|
||||
@@ -147,9 +147,9 @@ u32 sub_81CD110(struct PokenavSub11 *structPtr)
|
||||
u32 sub_81CD19C(struct PokenavSub11 *structPtr)
|
||||
{
|
||||
if (structPtr->unk6300 == 0)
|
||||
return 0x186A2;
|
||||
return 100002;
|
||||
else
|
||||
return 0x186AA;
|
||||
return 100010;
|
||||
}
|
||||
|
||||
void sub_81CD1C0(void)
|
||||
@@ -365,7 +365,7 @@ u8 *sub_81CD624(u8 *str, u16 id, bool8 arg3)
|
||||
|
||||
str_ = str; // For some reason, a variable is needed to match.
|
||||
while (*str_ != EOS)
|
||||
*(str_++);
|
||||
(str_++);
|
||||
|
||||
*(str_++) = EXT_CTRL_CODE_BEGIN;
|
||||
*(str_++) = 0x12;
|
||||
|
||||
@@ -168,7 +168,7 @@ bool32 sub_81CDDD4(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81CDE2C(int id)
|
||||
void sub_81CDE2C(s32 id)
|
||||
{
|
||||
struct Pokenav7Struct *structPtr = GetSubstructPtr(0xC);
|
||||
structPtr->loopedTaskId = CreateLoopedTask(gUnknown_08623384[id], 1);
|
||||
|
||||
@@ -1,22 +1,63 @@
|
||||
#include "global.h"
|
||||
#include "pokenav.h"
|
||||
#include "bg.h"
|
||||
#include "menu.h"
|
||||
#include "window.h"
|
||||
#include "sound.h"
|
||||
#include "dynamic_placeholder_text_util.h"
|
||||
#include "strings.h"
|
||||
#include "string_util.h"
|
||||
#include "international_string_util.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
u32 sub_81CF134(void);
|
||||
u32 sub_81CF1C4(void);
|
||||
u32 sub_81CF1D8(void);
|
||||
u32 sub_81CF278(void);
|
||||
u32 sub_81CF578(s32);
|
||||
u32 sub_81CF5F0(s32);
|
||||
u32 sub_81CF668(s32);
|
||||
u32 sub_81CF6E0(s32);
|
||||
u32 sub_81CF758(s32);
|
||||
u32 sub_81CF798(s32);
|
||||
struct PokenavSub7
|
||||
{
|
||||
u32 (*unk0)(struct PokenavSub7 *);
|
||||
u32 loopedTaskId;
|
||||
u8 fill1[4];
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
struct PokenavSub18 *unkPtr;
|
||||
};
|
||||
|
||||
const u32 gUnknown_086233A0[] = {0x16, 0x17, 0x18, 0x21, 0x2F};
|
||||
struct PokenavSub8
|
||||
{
|
||||
bool32 (*callback)(void);
|
||||
u32 ltid;
|
||||
u16 winid;
|
||||
bool32 unkC;
|
||||
u8 buff[BG_SCREEN_SIZE];
|
||||
}; // size: 0x810
|
||||
|
||||
u32 (*const gUnknown_086233B4[])(void) =
|
||||
static u32 sub_81CF010(struct PokenavSub7 *structPtr);
|
||||
static u32 sub_81CF030(struct PokenavSub7 *structPtr);
|
||||
static u32 sub_81CF0B8(struct PokenavSub7 *structPtr);
|
||||
static u32 sub_81CF0B0(struct PokenavSub7 *structPtr);
|
||||
static u32 sub_81CF11C(s32 state);
|
||||
static u32 sub_81CF134(s32 state);
|
||||
static u32 sub_81CF1C4(s32 state);
|
||||
static u32 sub_81CF1D8(s32 state);
|
||||
static u32 sub_81CF278(s32 state);
|
||||
static u32 sub_81CF578(s32 state);
|
||||
static u32 sub_81CF5F0(s32 state);
|
||||
static u32 sub_81CF668(s32 state);
|
||||
static u32 sub_81CF6E0(s32 state);
|
||||
static u32 sub_81CF758(s32 state);
|
||||
static u32 sub_81CF798(s32 state);
|
||||
static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *item);
|
||||
static bool32 sub_81CF3E4(void);
|
||||
static u32 sub_81CF418(s32 state);
|
||||
static void sub_81CF7C8(struct PokenavSub8 *);
|
||||
static void sub_81CF7F4(struct PokenavSub8 *);
|
||||
static void sub_81CF88C(void);
|
||||
static void sub_81CF8E4(struct PokenavMonList *, u8 *);
|
||||
|
||||
static const u32 gUnknown_086233A0[] = {0x16, 0x17, 0x18, 0x21, 0x2F};
|
||||
|
||||
static const LoopedTask gUnknown_086233B4[] =
|
||||
{
|
||||
sub_81CF134,
|
||||
sub_81CF1C4,
|
||||
@@ -24,34 +65,33 @@ u32 (*const gUnknown_086233B4[])(void) =
|
||||
sub_81CF278
|
||||
};
|
||||
|
||||
const u16 gUnknown_086233C4[] = INCBIN_U16("graphics/pokenav/condition_search2.gbapal");
|
||||
const u32 gUnknown_086233E4[] = INCBIN_U32("graphics/pokenav/condition_search2.4bpp.lz");
|
||||
const u32 gUnknown_086234AC[] = INCBIN_U32("graphics/pokenav/condition_search2.bin.lz");
|
||||
const u16 gUnknown_08623570[] = INCBIN_U16("graphics/pokenav/8623570.gbapal");
|
||||
static const u16 gUnknown_086233C4[] = INCBIN_U16("graphics/pokenav/condition_search2.gbapal");
|
||||
static const u32 gUnknown_086233E4[] = INCBIN_U32("graphics/pokenav/condition_search2.4bpp.lz");
|
||||
static const u32 gUnknown_086234AC[] = INCBIN_U32("graphics/pokenav/condition_search2.bin.lz");
|
||||
static const u16 gUnknown_08623570[] = INCBIN_U16("graphics/pokenav/8623570.gbapal");
|
||||
|
||||
const struct BgTemplate gUnknown_08623590 =
|
||||
static const struct BgTemplate gUnknown_08623590[] =
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 0x06,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 0x06,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0
|
||||
}, {
|
||||
.bg = 2,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 0x07,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
}
|
||||
};
|
||||
|
||||
const struct BgTemplate gUnknown_08623594 =
|
||||
{
|
||||
.bg = 2,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 0x07,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
};
|
||||
|
||||
const LoopedTask gUnknown_08623598[] =
|
||||
static const LoopedTask gUnknown_08623598[] =
|
||||
{
|
||||
NULL,
|
||||
sub_81CF578,
|
||||
@@ -62,7 +102,7 @@ const LoopedTask gUnknown_08623598[] =
|
||||
sub_81CF798
|
||||
};
|
||||
|
||||
const struct WindowTemplate gUnknown_086235B4 =
|
||||
static const struct WindowTemplate gUnknown_086235B4 =
|
||||
{
|
||||
.bg = 1,
|
||||
.tilemapLeft = 1,
|
||||
@@ -73,28 +113,11 @@ const struct WindowTemplate gUnknown_086235B4 =
|
||||
.baseBlock = 20
|
||||
};
|
||||
|
||||
const u8 gUnknown_086235BC[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
const u8 gUnknown_086235C8[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
const u8 gUnknown_086235D4[] = _("{UNK_SPACER}");
|
||||
static const u8 gUnknown_086235BC[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
static const u8 gUnknown_086235C8[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
static const u8 gUnknown_086235D4[] = _("{UNK_SPACER}");
|
||||
|
||||
struct PokenavSub7
|
||||
{
|
||||
u32 (*unk0)(struct PokenavSub7 *);
|
||||
u32 loopedTaskId;
|
||||
u8 fill1[12];
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
struct PokenavSub18 *unkPtr;
|
||||
};
|
||||
|
||||
u32 sub_81CF010(struct PokenavSub7 *structPtr);
|
||||
u32 sub_81CF030(struct PokenavSub7 *structPtr);
|
||||
u32 sub_81CF0B8(struct PokenavSub7 *structPtr);
|
||||
u32 sub_81CF0B0(struct PokenavSub7 *structPtr);
|
||||
u32 sub_81CF11C(s32 state);
|
||||
|
||||
bool32 sub_81CEF3C(void)
|
||||
bool32 PokenavCallback_Init_8(void)
|
||||
{
|
||||
struct PokenavSub7 *structPtr = AllocSubstruct(7, sizeof(struct PokenavSub7));
|
||||
if (structPtr == NULL)
|
||||
@@ -111,7 +134,7 @@ bool32 sub_81CEF3C(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81CEF98(void)
|
||||
bool32 PokenavCallback_Init_10(void)
|
||||
{
|
||||
struct PokenavSub7 *structPtr = AllocSubstruct(7, sizeof(struct PokenavSub7));
|
||||
if (structPtr == NULL)
|
||||
@@ -138,14 +161,14 @@ void sub_81CEFF0(void)
|
||||
FreePokenavSubstruct(7);
|
||||
}
|
||||
|
||||
bool32 sub_81CF010(struct PokenavSub7 *structPtr)
|
||||
static bool32 sub_81CF010(struct PokenavSub7 *structPtr)
|
||||
{
|
||||
if (!IsLoopedTaskActive(structPtr->loopedTaskId))
|
||||
structPtr->unk0 = sub_81CF030;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u32 sub_81CF030(struct PokenavSub7 *structPtr)
|
||||
static u32 sub_81CF030(struct PokenavSub7 *structPtr)
|
||||
{
|
||||
if (gMain.newAndRepeatedKeys & DPAD_UP)
|
||||
return 1;
|
||||
@@ -172,18 +195,516 @@ u32 sub_81CF030(struct PokenavSub7 *structPtr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 sub_81CF0B0(struct PokenavSub7 *structPtr)
|
||||
static u32 sub_81CF0B0(struct PokenavSub7 *structPtr)
|
||||
{
|
||||
return 0x186A3;
|
||||
return 100003;
|
||||
}
|
||||
|
||||
u32 sub_81CF0B8(struct PokenavSub7 *structPtr)
|
||||
static u32 sub_81CF0B8(struct PokenavSub7 *structPtr)
|
||||
{
|
||||
return 0x186A9;
|
||||
return 100009;
|
||||
}
|
||||
|
||||
u32 sub_81CF0C0(void)
|
||||
static u32 sub_81CF0C0(void)
|
||||
{
|
||||
struct PokenavSub7 *structPtr = GetSubstructPtr(7);
|
||||
return structPtr->unk18;
|
||||
}
|
||||
|
||||
static struct PokenavMonList * sub_81CF0D0(void)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
return ptr->unkPtr->unk4;
|
||||
}
|
||||
|
||||
static u16 sub_81CF0E0(void)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
return ptr->unkPtr->unk0;
|
||||
}
|
||||
|
||||
static s32 sub_81CF0F0(void)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
s32 i = GetSelectedMatchCall();
|
||||
return ptr->unkPtr->unk4[i].unk6;
|
||||
}
|
||||
|
||||
static u16 sub_81CF10C(void)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
return ptr->unkPtr->unk2;
|
||||
}
|
||||
|
||||
static u32 sub_81CF11C(s32 state)
|
||||
{
|
||||
return gUnknown_086233B4[state](state);
|
||||
}
|
||||
|
||||
static u32 sub_81CF134(s32 state)
|
||||
{
|
||||
s32 i;
|
||||
struct PokenavMonList item;
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
|
||||
ptr->unkPtr->unk0 = 0;
|
||||
ptr->unkPtr->unk2 = 0;
|
||||
item.boxId = 14;
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
struct Pokemon * pokemon = &gPlayerParty[i];
|
||||
if (!GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES))
|
||||
return LT_INC_AND_CONTINUE;
|
||||
if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG))
|
||||
{
|
||||
item.monId = i;
|
||||
item.unk6 = GetMonData(pokemon, ptr->unk14);
|
||||
sub_81CF2C4(ptr, &item);
|
||||
}
|
||||
}
|
||||
|
||||
return LT_INC_AND_CONTINUE;
|
||||
}
|
||||
|
||||
static u32 sub_81CF1C4(s32 state)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
ptr->unk10 = 0;
|
||||
ptr->unkC = 0;
|
||||
return LT_INC_AND_CONTINUE;
|
||||
}
|
||||
|
||||
static u32 sub_81CF1D8(s32 state)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
s32 boxId = ptr->unkC;
|
||||
s32 monId = ptr->unk10;
|
||||
s32 boxCount = 0;
|
||||
struct PokenavMonList item;
|
||||
|
||||
while (boxId < TOTAL_BOXES_COUNT)
|
||||
{
|
||||
while (monId < IN_BOX_COUNT)
|
||||
{
|
||||
if (CheckBoxMonSanityAt(boxId, monId))
|
||||
{
|
||||
item.boxId = boxId;
|
||||
item.monId = monId;
|
||||
item.unk6 = GetBoxMonDataAt(boxId, monId, ptr->unk14);
|
||||
sub_81CF2C4(ptr, &item);
|
||||
}
|
||||
boxCount++;
|
||||
monId++;
|
||||
if (boxCount > 14)
|
||||
{
|
||||
ptr->unkC = boxId;
|
||||
ptr->unk10 = monId;
|
||||
return LT_CONTINUE;
|
||||
}
|
||||
}
|
||||
monId = 0;
|
||||
boxId++;
|
||||
}
|
||||
|
||||
return LT_INC_AND_CONTINUE;
|
||||
}
|
||||
|
||||
static u32 sub_81CF278(s32 state)
|
||||
{
|
||||
struct PokenavSub7 * ptr = GetSubstructPtr(7);
|
||||
s32 r6 = ptr->unkPtr->unk0;
|
||||
s32 r4 = ptr->unkPtr->unk4[0].unk6;
|
||||
s32 i;
|
||||
ptr->unkPtr->unk4[0].unk6 = 1;
|
||||
for (i = 1; i < r6; i++)
|
||||
{
|
||||
if (ptr->unkPtr->unk4[i].unk6 == r4)
|
||||
{
|
||||
ptr->unkPtr->unk4[i].unk6 = ptr->unkPtr->unk4[i - 1].unk6;
|
||||
}
|
||||
else
|
||||
{
|
||||
r4 = ptr->unkPtr->unk4[i].unk6;
|
||||
ptr->unkPtr->unk4[i].unk6 = i + 1;
|
||||
}
|
||||
}
|
||||
ptr->unk18 = 1;
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *item)
|
||||
{
|
||||
u32 left = 0;
|
||||
u32 right = structPtr->unkPtr->unk0;
|
||||
u32 insertionIdx = left + (right - left) / 2;
|
||||
|
||||
while (right != insertionIdx)
|
||||
{
|
||||
if (item->unk6 > structPtr->unkPtr->unk4[insertionIdx].unk6)
|
||||
right = insertionIdx;
|
||||
else
|
||||
left = insertionIdx + 1;
|
||||
insertionIdx = left + (right - left) / 2;
|
||||
}
|
||||
for (right = structPtr->unkPtr->unk0; right > insertionIdx; right--)
|
||||
structPtr->unkPtr->unk4[right] = structPtr->unkPtr->unk4[right - 1];
|
||||
structPtr->unkPtr->unk4[insertionIdx] = *item;
|
||||
structPtr->unkPtr->unk0++;
|
||||
}
|
||||
|
||||
bool32 sub_81CF330(void)
|
||||
{
|
||||
struct PokenavSub8 * unk = AllocSubstruct(8, sizeof(struct PokenavSub8));
|
||||
if (unk == NULL)
|
||||
return FALSE;
|
||||
unk->ltid = CreateLoopedTask(sub_81CF418, 1);
|
||||
unk->callback = sub_81CF3E4;
|
||||
unk->unkC = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81CF368(void)
|
||||
{
|
||||
struct PokenavSub8 * unk = AllocSubstruct(8, sizeof(struct PokenavSub8));
|
||||
if (unk == NULL)
|
||||
return FALSE;
|
||||
unk->ltid = CreateLoopedTask(sub_81CF418, 1);
|
||||
unk->callback = sub_81CF3E4;
|
||||
unk->unkC = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81CF3A0(s32 idx)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
unk->ltid = CreateLoopedTask(gUnknown_08623598[idx], 1);
|
||||
unk->callback = sub_81CF3E4;
|
||||
}
|
||||
|
||||
bool32 sub_81CF3D0(void)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
return unk->callback();
|
||||
}
|
||||
|
||||
bool32 sub_81CF3E4(void)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
return IsLoopedTaskActive(unk->ltid);
|
||||
}
|
||||
|
||||
void sub_81CF3F8(void)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
sub_81C8234();
|
||||
RemoveWindow(unk->winid);
|
||||
FreePokenavSubstruct(8);
|
||||
}
|
||||
|
||||
static u32 sub_81CF418(s32 state)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
InitBgTemplates(gUnknown_08623590, NELEMS(gUnknown_08623590));
|
||||
decompress_and_copy_tile_data_to_vram(1, gUnknown_086233E4, 0, 0, 0);
|
||||
SetBgTilemapBuffer(1, unk->buff);
|
||||
CopyToBgTilemapBuffer(1, gUnknown_086234AC, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyPaletteIntoBufferUnfaded(gUnknown_086233C4, 0x10, 0x20);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return LT_PAUSE;
|
||||
if (!sub_81CF0C0())
|
||||
return LT_PAUSE;
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 2:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return LT_PAUSE;
|
||||
CopyPaletteIntoBufferUnfaded(gUnknown_08623570, 0x20, 0x20);
|
||||
sub_81CF88C();
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (sub_81C8224())
|
||||
return LT_PAUSE;
|
||||
sub_81CF7C8(unk);
|
||||
sub_81C7BA4(3);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 4:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return LT_PAUSE;
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ShowBg(1);
|
||||
ShowBg(2);
|
||||
HideBg(3);
|
||||
if (!unk->unkC)
|
||||
{
|
||||
u8 r4 = sub_81C76AC() + 8;
|
||||
LoadLeftHeaderGfxForIndex(r4);
|
||||
sub_81C7FA0(r4, 1, 0);
|
||||
sub_81C7FA0(1, 1, 0);
|
||||
}
|
||||
sub_81C7AC0(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 5:
|
||||
if (IsPaletteFadeActive())
|
||||
return LT_PAUSE;
|
||||
if (sub_81C8010())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CF578(s32 state)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_MoveCursorUp())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81CF7F4(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CF5F0(s32 state)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_MoveCursorDown())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81CF7F4(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CF668(s32 state)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_PageUp())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81CF7F4(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CF6E0(s32 state)
|
||||
{
|
||||
struct PokenavSub8 * unk = GetSubstructPtr(8);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_PageDown())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81CF7F4(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CF758(s32 state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81C7AC0(0);
|
||||
sub_81C78A0();
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (IsPaletteFadeActive())
|
||||
return LT_PAUSE;
|
||||
if (MainMenuLoopedTaskIsBusy())
|
||||
return LT_PAUSE;
|
||||
sub_81C7FDC();
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CF798(s32 state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81C7AC0(0);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (IsPaletteFadeActive())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static void sub_81CF7C8(struct PokenavSub8 * ptr)
|
||||
{
|
||||
ptr->winid = AddWindow(&gUnknown_086235B4);
|
||||
PutWindowTilemap(ptr->winid);
|
||||
CopyWindowToVram(ptr->winid, 1);
|
||||
sub_81CF7F4(ptr);
|
||||
}
|
||||
|
||||
static void sub_81CF7F4(struct PokenavSub8 * ptr)
|
||||
{
|
||||
s32 r7 = sub_81CF0F0();
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
|
||||
*gStringVar1 = EOS;
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar2, gText_NumberF700);
|
||||
AddTextPrinterParameterized(ptr->winid, 1, gStringVar2, 4, 1, 0xFF, NULL);
|
||||
ConvertIntToDecimalStringN(gStringVar1, r7, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
AddTextPrinterParameterized(ptr->winid, 1, gStringVar1, 34, 1, 0xFF, NULL);
|
||||
CopyWindowToVram(ptr->winid, 2);
|
||||
}
|
||||
|
||||
static void sub_81CF88C(void)
|
||||
{
|
||||
struct MatchCallListTemplate template;
|
||||
template.unk0 = sub_81CF0D0();
|
||||
template.unk4 = sub_81CF0E0();
|
||||
template.unk8 = 4;
|
||||
template.unk6 = sub_81CF10C();
|
||||
template.unk9 = 13;
|
||||
template.unkA = 17;
|
||||
template.unkB = 1;
|
||||
template.unkC = 8;
|
||||
template.unkD = 2;
|
||||
template.unkE = 1;
|
||||
template.unk10 = sub_81CF8E4;
|
||||
template.unk14 = NULL;
|
||||
sub_81C81D4(&gUnknown_08623590[1], &template, 0);
|
||||
}
|
||||
|
||||
static void sub_81CF8E4(struct PokenavMonList * item, u8 * dest)
|
||||
{
|
||||
u8 gender;
|
||||
u8 level;
|
||||
u8 * s;
|
||||
const u8 * genderStr;
|
||||
if (item->boxId == 14)
|
||||
{
|
||||
struct Pokemon * mon = &gPlayerParty[item->monId];
|
||||
gender = GetMonGender(mon);
|
||||
level = GetLevelFromMonExp(mon);
|
||||
GetMonData(mon, MON_DATA_NICKNAME, gStringVar3);
|
||||
}
|
||||
else
|
||||
{
|
||||
struct BoxPokemon * mon = GetBoxedMonPtr(item->boxId, item->monId);
|
||||
gender = GetBoxMonGender(mon);
|
||||
level = GetLevelFromBoxMonExp(mon);
|
||||
GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3);
|
||||
}
|
||||
StringGetEnd10(gStringVar3);
|
||||
dest = sub_81DB494(dest, 1, gStringVar3, 60);
|
||||
switch (gender)
|
||||
{
|
||||
default:
|
||||
genderStr = gUnknown_086235D4;
|
||||
break;
|
||||
case MON_MALE:
|
||||
genderStr = gUnknown_086235BC;
|
||||
break;
|
||||
case MON_FEMALE:
|
||||
genderStr = gUnknown_086235C8;
|
||||
break;
|
||||
}
|
||||
s = StringCopy(gStringVar1, genderStr);
|
||||
*s++ = CHAR_SLASH;
|
||||
*s++ = CHAR_SPECIAL_F9;
|
||||
*s++ = 5; // LV
|
||||
ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
sub_81DB494(dest, 1, gStringVar1, 40);
|
||||
}
|
||||
|
||||
@@ -1,53 +1,91 @@
|
||||
#include "global.h"
|
||||
#include "pokenav.h"
|
||||
#include "bg.h"
|
||||
#include "menu.h"
|
||||
#include "window.h"
|
||||
#include "sound.h"
|
||||
#include "string_util.h"
|
||||
#include "international_string_util.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
u32 sub_81CFB8C(void);
|
||||
u32 sub_81CFC2C(void);
|
||||
u32 sub_81CFC40(void);
|
||||
u32 sub_81CFFFC(s32);
|
||||
u32 sub_81D0074(s32);
|
||||
u32 sub_81D00EC(s32);
|
||||
u32 sub_81D0164(s32);
|
||||
u32 sub_81D01DC(s32);
|
||||
u32 sub_81D021C(s32);
|
||||
struct PokenavSub9
|
||||
{
|
||||
u32 (*unk0)(struct PokenavSub9*);
|
||||
u32 loopedTaskId;
|
||||
u16 winid;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
struct PokenavSub18 *unk1C;
|
||||
};
|
||||
|
||||
u32 (*const gUnknown_086235D8[])(void) =
|
||||
struct PokenavSub10
|
||||
{
|
||||
bool32 (*callback)(void);
|
||||
u32 ltid;
|
||||
u16 winid;
|
||||
bool32 unkC;
|
||||
u8 buff[BG_SCREEN_SIZE];
|
||||
};
|
||||
|
||||
static u32 sub_81CFA68(struct PokenavSub9 *structPtr);
|
||||
static u32 sub_81CFA88(struct PokenavSub9 *structPtr);
|
||||
static u32 sub_81CFB08(struct PokenavSub9 *structPtr);
|
||||
static u32 sub_81CFB10(struct PokenavSub9 *structPtr);
|
||||
static u32 sub_81CFB8C(s32 state);
|
||||
static u32 sub_81CFC2C(s32 state);
|
||||
static u32 sub_81CFC40(s32 state);
|
||||
static u32 sub_81CFB74(s32 state);
|
||||
static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *item);
|
||||
static u32 sub_81CFEB8(s32 state);
|
||||
static bool32 sub_81CFE84(void);
|
||||
static u32 sub_81CFFFC(s32 state);
|
||||
static u32 sub_81D0074(s32 state);
|
||||
static u32 sub_81D00EC(s32 state);
|
||||
static u32 sub_81D0164(s32 state);
|
||||
static u32 sub_81D01DC(s32 state);
|
||||
static u32 sub_81D021C(s32 state);
|
||||
static void sub_81D02B0(s32 windowId, s32 val1, s32 val2);
|
||||
static void sub_81D024C(struct PokenavSub10 *ptr);
|
||||
static void sub_81D0288(struct PokenavSub10 *ptr);
|
||||
static void sub_81D0304(void);
|
||||
static void sub_81D035C(struct PokenavMonList *, u8 *);
|
||||
|
||||
static const LoopedTask gUnknown_086235D8[] =
|
||||
{
|
||||
sub_81CFB8C,
|
||||
sub_81CFC2C,
|
||||
sub_81CFC40
|
||||
};
|
||||
|
||||
const u16 gUnknown_086235E4[] = INCBIN_U16("graphics/pokenav/ui_ribbons.gbapal");
|
||||
const u32 gUnknown_08623604[] = INCBIN_U32("graphics/pokenav/ui_ribbons.4bpp.lz");
|
||||
const u32 gUnknown_086236CC[] = INCBIN_U32("graphics/pokenav/ui_ribbons.bin.lz");
|
||||
const u16 gUnknown_08623790[] = INCBIN_U16("graphics/pokenav/8623790.gbapal");
|
||||
static const u16 gUnknown_086235E4[] = INCBIN_U16("graphics/pokenav/ui_ribbons.gbapal");
|
||||
static const u32 gUnknown_08623604[] = INCBIN_U32("graphics/pokenav/ui_ribbons.4bpp.lz");
|
||||
static const u32 gUnknown_086236CC[] = INCBIN_U32("graphics/pokenav/ui_ribbons.bin.lz");
|
||||
static const u16 gUnknown_08623790[] = INCBIN_U16("graphics/pokenav/8623790.gbapal");
|
||||
|
||||
const struct BgTemplate gUnknown_086237B0 =
|
||||
static const struct BgTemplate gUnknown_086237B0[] =
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 0x06,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 0x06,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0
|
||||
}, {
|
||||
.bg = 2,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 0x07,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
}
|
||||
};
|
||||
|
||||
const struct BgTemplate gUnknown_086237B4 =
|
||||
{
|
||||
.bg = 2,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 0x07,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
};
|
||||
|
||||
const LoopedTask gUnknown_086237B8[] =
|
||||
static const LoopedTask gUnknown_086237B8[] =
|
||||
{
|
||||
NULL,
|
||||
sub_81CFFFC,
|
||||
@@ -58,7 +96,7 @@ const LoopedTask gUnknown_086237B8[] =
|
||||
sub_81D021C
|
||||
};
|
||||
|
||||
const struct WindowTemplate gUnknown_086237D4 =
|
||||
static const struct WindowTemplate gUnknown_086237D4 =
|
||||
{
|
||||
.bg = 1,
|
||||
.tilemapLeft = 1,
|
||||
@@ -69,6 +107,620 @@ const struct WindowTemplate gUnknown_086237D4 =
|
||||
.baseBlock = 20
|
||||
};
|
||||
|
||||
const u8 gUnknown_086237DC[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
const u8 gUnknown_086237E8[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
const u8 gUnknown_086237F4[] = _("{UNK_SPACER}");
|
||||
static const u8 gUnknown_086237DC[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_RED}{WHITE}{GREEN}♂{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
static const u8 gUnknown_086237E8[] = _("{COLOR_HIGHLIGHT_SHADOW}{LIGHT_GREEN}{WHITE}{BLUE}♀{COLOR_HIGHLIGHT_SHADOW}{DARK_GREY}{WHITE}{LIGHT_GREY}");
|
||||
static const u8 gUnknown_086237F4[] = _("{UNK_SPACER}");
|
||||
|
||||
bool32 PokenavCallback_Init_12(void)
|
||||
{
|
||||
struct PokenavSub9 *structPtr = AllocSubstruct(9, sizeof(struct PokenavSub9));
|
||||
if (structPtr == NULL)
|
||||
return FALSE;
|
||||
|
||||
structPtr->unk1C = AllocSubstruct(18, sizeof(struct PokenavSub18));
|
||||
if (structPtr->unk1C == NULL)
|
||||
return FALSE;
|
||||
|
||||
structPtr->unk0 = sub_81CFA68;
|
||||
structPtr->loopedTaskId = CreateLoopedTask(sub_81CFB74, 1);
|
||||
structPtr->unk14 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 PokenavCallback_Init_14(void)
|
||||
{
|
||||
struct PokenavSub9 *structPtr = AllocSubstruct(9, sizeof(struct PokenavSub9));
|
||||
if (structPtr == NULL)
|
||||
return FALSE;
|
||||
|
||||
structPtr->unk1C = GetSubstructPtr(18);
|
||||
structPtr->unk0 = sub_81CFA88;
|
||||
structPtr->unk14 = 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_81CFA34(void)
|
||||
{
|
||||
struct PokenavSub9 *structPtr = GetSubstructPtr(9);
|
||||
return structPtr->unk0(structPtr);
|
||||
}
|
||||
|
||||
void sub_81CFA48(void)
|
||||
{
|
||||
struct PokenavSub9 *structPtr = GetSubstructPtr(9);
|
||||
if (!structPtr->unk18)
|
||||
FreePokenavSubstruct(18);
|
||||
FreePokenavSubstruct(9);
|
||||
}
|
||||
|
||||
static u32 sub_81CFA68(struct PokenavSub9 *structPtr)
|
||||
{
|
||||
if (!IsLoopedTaskActive(structPtr->loopedTaskId))
|
||||
structPtr->unk0 = sub_81CFA88;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u32 sub_81CFA88(struct PokenavSub9 *structPtr)
|
||||
{
|
||||
if (gMain.newAndRepeatedKeys & DPAD_UP)
|
||||
return 1;
|
||||
if (gMain.newAndRepeatedKeys & DPAD_DOWN)
|
||||
return 2;
|
||||
if (gMain.newKeys & DPAD_LEFT)
|
||||
return 3;
|
||||
if (gMain.newKeys & DPAD_RIGHT)
|
||||
return 4;
|
||||
if (gMain.newKeys & B_BUTTON)
|
||||
{
|
||||
structPtr->unk18 = 0;
|
||||
structPtr->unk0 = sub_81CFB08;
|
||||
return 5;
|
||||
}
|
||||
if (gMain.newKeys & A_BUTTON)
|
||||
{
|
||||
structPtr->unk1C->unk2 = GetSelectedMatchCall();
|
||||
structPtr->unk18 = 1;
|
||||
structPtr->unk0 = sub_81CFB10;
|
||||
return 6;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u32 sub_81CFB08(struct PokenavSub9 *structPtr)
|
||||
{
|
||||
return 100005;
|
||||
}
|
||||
|
||||
static u32 sub_81CFB10(struct PokenavSub9 *structPtr)
|
||||
{
|
||||
return 100013;
|
||||
}
|
||||
|
||||
static u32 sub_81CFB18(void)
|
||||
{
|
||||
struct PokenavSub9 *structPtr = GetSubstructPtr(9);
|
||||
return structPtr->unk14;
|
||||
}
|
||||
|
||||
static struct PokenavMonList * sub_81CFB28(void)
|
||||
{
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
return ptr->unk1C->unk4;
|
||||
}
|
||||
|
||||
static s32 sub_81CFB38(void)
|
||||
{
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
return ptr->unk1C->unk0;
|
||||
}
|
||||
|
||||
static s32 sub_81CFB48(void)
|
||||
{
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
s32 idx = GetSelectedMatchCall();
|
||||
return ptr->unk1C->unk4[idx].unk6;
|
||||
}
|
||||
|
||||
static s32 sub_81CFB64(void)
|
||||
{
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
return ptr->unk1C->unk2;
|
||||
}
|
||||
|
||||
static u32 sub_81CFB74(s32 state)
|
||||
{
|
||||
return gUnknown_086235D8[state](state);
|
||||
}
|
||||
|
||||
static u32 sub_81CFB8C(s32 state)
|
||||
{
|
||||
s32 i;
|
||||
struct PokenavMonList item;
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
|
||||
ptr->unk1C->unk0 = 0;
|
||||
ptr->unk1C->unk2 = 0;
|
||||
item.boxId = 14;
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
struct Pokemon * pokemon = &gPlayerParty[i];
|
||||
if (!GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES))
|
||||
return LT_INC_AND_CONTINUE;
|
||||
if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG) && !GetMonData(pokemon, MON_DATA_SANITY_IS_BAD_EGG))
|
||||
{
|
||||
u32 ribbonCount = GetMonData(pokemon, MON_DATA_RIBBON_COUNT);
|
||||
if (ribbonCount != 0)
|
||||
{
|
||||
item.monId = i;
|
||||
item.unk6 = ribbonCount;
|
||||
sub_81CFCEC(ptr, &item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return LT_INC_AND_CONTINUE;
|
||||
}
|
||||
|
||||
static u32 sub_81CFC2C(s32 state)
|
||||
{
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
ptr->unk10 = 0;
|
||||
ptr->unkC = 0;
|
||||
return LT_INC_AND_CONTINUE;
|
||||
}
|
||||
|
||||
static u32 sub_81CFC40(s32 state)
|
||||
{
|
||||
struct PokenavSub9 * ptr = GetSubstructPtr(9);
|
||||
s32 boxId = ptr->unkC;
|
||||
s32 monId = ptr->unk10;
|
||||
s32 boxCount = 0;
|
||||
struct PokenavMonList item;
|
||||
|
||||
while (boxId < TOTAL_BOXES_COUNT)
|
||||
{
|
||||
while (monId < IN_BOX_COUNT)
|
||||
{
|
||||
if (CheckBoxMonSanityAt(boxId, monId))
|
||||
{
|
||||
u32 ribbonCount = GetBoxMonDataAt(boxId, monId, MON_DATA_RIBBON_COUNT);
|
||||
if (ribbonCount != 0)
|
||||
{
|
||||
item.boxId = boxId;
|
||||
item.monId = monId;
|
||||
item.unk6 = ribbonCount;
|
||||
sub_81CFCEC(ptr, &item);
|
||||
}
|
||||
}
|
||||
boxCount++;
|
||||
monId++;
|
||||
if (boxCount > 14)
|
||||
{
|
||||
ptr->unkC = boxId;
|
||||
ptr->unk10 = monId;
|
||||
return LT_CONTINUE;
|
||||
}
|
||||
}
|
||||
monId = 0;
|
||||
boxId++;
|
||||
}
|
||||
|
||||
ptr->unk14 = 1;
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *item)
|
||||
{
|
||||
u32 left = 0;
|
||||
u32 right = structPtr->unk1C->unk0;
|
||||
u32 insertionIdx = left + (right - left) / 2;
|
||||
|
||||
while (right != insertionIdx)
|
||||
{
|
||||
if (item->unk6 > structPtr->unk1C->unk4[insertionIdx].unk6)
|
||||
right = insertionIdx;
|
||||
else
|
||||
left = insertionIdx + 1;
|
||||
insertionIdx = left + (right - left) / 2;
|
||||
}
|
||||
for (right = structPtr->unk1C->unk0; right > insertionIdx; right--)
|
||||
structPtr->unk1C->unk4[right] = structPtr->unk1C->unk4[right - 1];
|
||||
structPtr->unk1C->unk4[insertionIdx] = *item;
|
||||
structPtr->unk1C->unk0++;
|
||||
}
|
||||
|
||||
static bool32 sub_81CFD58(void)
|
||||
{
|
||||
s32 i, j;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
struct Pokemon * mon = &gPlayerParty[i];
|
||||
if (!GetMonData(mon, MON_DATA_SANITY_HAS_SPECIES))
|
||||
continue;
|
||||
if (GetMonData(mon, MON_DATA_SANITY_IS_EGG))
|
||||
continue;
|
||||
if (GetMonData(mon, MON_DATA_RIBBONS))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (i = 0; i < TOTAL_BOXES_COUNT; i++)
|
||||
{
|
||||
for (j = 0; j < IN_BOX_COUNT; j++)
|
||||
{
|
||||
if (!CheckBoxMonSanityAt(i, j))
|
||||
continue;
|
||||
if (GetBoxMonDataAt(i, j, MON_DATA_RIBBONS))
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 sub_81CFDD0(void)
|
||||
{
|
||||
struct PokenavSub10 * ptr = AllocSubstruct(10, sizeof(struct PokenavSub10));
|
||||
if (ptr == NULL)
|
||||
return FALSE;
|
||||
ptr->ltid = CreateLoopedTask(sub_81CFEB8, 1);
|
||||
ptr->callback = sub_81CFE84;
|
||||
ptr->unkC = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_81CFE08(void)
|
||||
{
|
||||
struct PokenavSub10 * ptr = AllocSubstruct(10, sizeof(struct PokenavSub10));
|
||||
if (ptr == NULL)
|
||||
return FALSE;
|
||||
ptr->ltid = CreateLoopedTask(sub_81CFEB8, 1);
|
||||
ptr->callback = sub_81CFE84;
|
||||
ptr->unkC = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81CFE40(s32 idx)
|
||||
{
|
||||
struct PokenavSub10 * ptr = GetSubstructPtr(10);
|
||||
ptr->ltid = CreateLoopedTask(gUnknown_086237B8[idx], 1);
|
||||
ptr->callback = sub_81CFE84;
|
||||
}
|
||||
|
||||
bool32 sub_81CFE70(void)
|
||||
{
|
||||
struct PokenavSub10 * ptr = GetSubstructPtr(10);
|
||||
return ptr->callback();
|
||||
}
|
||||
|
||||
bool32 sub_81CFE84(void)
|
||||
{
|
||||
struct PokenavSub10 * ptr = GetSubstructPtr(10);
|
||||
return IsLoopedTaskActive(ptr->ltid);
|
||||
}
|
||||
|
||||
void sub_81CFE98(void)
|
||||
{
|
||||
struct PokenavSub10 * ptr = GetSubstructPtr(10);
|
||||
sub_81C8234();
|
||||
RemoveWindow(ptr->winid);
|
||||
FreePokenavSubstruct(10);
|
||||
}
|
||||
|
||||
static u32 sub_81CFEB8(s32 state)
|
||||
{
|
||||
struct PokenavSub10 * unk = GetSubstructPtr(10);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
InitBgTemplates(gUnknown_086237B0, NELEMS(gUnknown_086237B0));
|
||||
decompress_and_copy_tile_data_to_vram(1, gUnknown_08623604, 0, 0, 0);
|
||||
SetBgTilemapBuffer(1, unk->buff);
|
||||
CopyToBgTilemapBuffer(1, gUnknown_086236CC, 0, 0);
|
||||
CopyPaletteIntoBufferUnfaded(gUnknown_086235E4, 0x10, 0x20);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return LT_PAUSE;
|
||||
if (!sub_81CFB18())
|
||||
return LT_PAUSE;
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ShowBg(1);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 2:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return LT_PAUSE;
|
||||
CopyPaletteIntoBufferUnfaded(gUnknown_08623790, 0x20, 0x20);
|
||||
sub_81D0304();
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (sub_81C8224())
|
||||
return LT_PAUSE;
|
||||
sub_81D024C(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 4:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return LT_PAUSE;
|
||||
ShowBg(2);
|
||||
HideBg(3);
|
||||
sub_81C7BA4(9);
|
||||
sub_81C7AC0(1);
|
||||
if (!unk->unkC)
|
||||
{
|
||||
LoadLeftHeaderGfxForIndex(2);
|
||||
sub_81C7FA0(2, 1, 0);
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 5:
|
||||
if (IsPaletteFadeActive())
|
||||
return LT_PAUSE;
|
||||
if (sub_81C8010())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81CFFFC(s32 state)
|
||||
{
|
||||
struct PokenavSub10 * unk = GetSubstructPtr(10);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_MoveCursorUp())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81D0288(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81D0074(s32 state)
|
||||
{
|
||||
struct PokenavSub10 * unk = GetSubstructPtr(10);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_MoveCursorDown())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81D0288(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81D00EC(s32 state)
|
||||
{
|
||||
struct PokenavSub10 * unk = GetSubstructPtr(10);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_PageUp())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81D0288(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81D0164(s32 state)
|
||||
{
|
||||
struct PokenavSub10 * unk = GetSubstructPtr(10);
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
switch (MatchCall_PageDown())
|
||||
{
|
||||
case 0:
|
||||
return LT_FINISH;
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
return LT_SET_STATE(2);
|
||||
case 2:
|
||||
PlaySE(SE_SELECT);
|
||||
break;
|
||||
}
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (sub_81C8630())
|
||||
return LT_PAUSE;
|
||||
// fallthrough
|
||||
case 2:
|
||||
sub_81D0288(unk);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 3:
|
||||
if (IsDma3ManagerBusyWithBgCopy())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81D01DC(s32 state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81C7AC0(0);
|
||||
sub_81C78A0();
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (IsPaletteFadeActive())
|
||||
return LT_PAUSE;
|
||||
if (MainMenuLoopedTaskIsBusy())
|
||||
return LT_PAUSE;
|
||||
sub_81C7FDC();
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static u32 sub_81D021C(s32 state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81C7AC0(0);
|
||||
return LT_INC_AND_PAUSE;
|
||||
case 1:
|
||||
if (IsPaletteFadeActive())
|
||||
return LT_PAUSE;
|
||||
break;
|
||||
}
|
||||
return LT_FINISH;
|
||||
}
|
||||
|
||||
static void sub_81D024C(struct PokenavSub10 * ptr)
|
||||
{
|
||||
s32 r2;
|
||||
ptr->winid = AddWindow(&gUnknown_086237D4);
|
||||
PutWindowTilemap(ptr->winid);
|
||||
r2 = sub_81CFB38();
|
||||
sub_81D02B0(ptr->winid, 0, r2);
|
||||
CopyWindowToVram(ptr->winid, 1);
|
||||
sub_81D0288(ptr);
|
||||
}
|
||||
|
||||
static void sub_81D0288(struct PokenavSub10 * ptr)
|
||||
{
|
||||
s32 r4 = GetSelectedMatchCall();
|
||||
s32 r2 = sub_81CFB38();
|
||||
sub_81D02B0(ptr->winid, r4 + 1, r2);
|
||||
CopyWindowToVram(ptr->winid, 2);
|
||||
}
|
||||
|
||||
static void sub_81D02B0(s32 windowId, s32 val1, s32 val2)
|
||||
{
|
||||
u8 strbuf[16];
|
||||
u32 x;
|
||||
|
||||
u8 * ptr = strbuf;
|
||||
ptr = ConvertIntToDecimalStringN(ptr, val1, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
*ptr++ = CHAR_SLASH;
|
||||
ConvertIntToDecimalStringN(ptr, val2, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
x = GetStringCenterAlignXOffset(1, strbuf, 56);
|
||||
AddTextPrinterParameterized(windowId, 1, strbuf,x, 1, 0xFF, NULL);
|
||||
}
|
||||
|
||||
static void sub_81D0304(void)
|
||||
{
|
||||
struct MatchCallListTemplate template;
|
||||
template.unk0 = sub_81CFB28();
|
||||
template.unk4 = sub_81CFB38();
|
||||
template.unk8 = 4;
|
||||
template.unk6 = sub_81CFB64();
|
||||
template.unk9 = 13;
|
||||
template.unkA = 17;
|
||||
template.unkB = 1;
|
||||
template.unkC = 8;
|
||||
template.unkD = 2;
|
||||
template.unkE = 1;
|
||||
template.unk10 = sub_81D035C;
|
||||
template.unk14 = NULL;
|
||||
sub_81C81D4(&gUnknown_086237B0[1], &template, 0);
|
||||
}
|
||||
|
||||
static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
|
||||
{
|
||||
u8 gender;
|
||||
u8 level;
|
||||
u8 * s;
|
||||
const u8 * genderStr;
|
||||
struct PokenavMonList * item = item0;
|
||||
if (item->boxId == 14)
|
||||
{
|
||||
struct Pokemon * mon = &gPlayerParty[item->monId];
|
||||
gender = GetMonGender(mon);
|
||||
level = GetLevelFromMonExp(mon);
|
||||
GetMonData(mon, MON_DATA_NICKNAME, gStringVar3);
|
||||
}
|
||||
else
|
||||
{
|
||||
struct BoxPokemon * mon = GetBoxedMonPtr(item->boxId, item->monId);
|
||||
gender = GetBoxMonGender(mon);
|
||||
level = GetLevelFromBoxMonExp(mon);
|
||||
GetBoxMonData(mon, MON_DATA_NICKNAME, gStringVar3);
|
||||
}
|
||||
StringGetEnd10(gStringVar3);
|
||||
dest = sub_81DB494(dest, 1, gStringVar3, 60);
|
||||
switch (gender)
|
||||
{
|
||||
default:
|
||||
genderStr = gUnknown_086237F4;
|
||||
break;
|
||||
case MON_MALE:
|
||||
genderStr = gUnknown_086237DC;
|
||||
break;
|
||||
case MON_FEMALE:
|
||||
genderStr = gUnknown_086237E8;
|
||||
break;
|
||||
}
|
||||
s = StringCopy(gStringVar1, genderStr);
|
||||
*s++ = CHAR_SLASH;
|
||||
*s++ = CHAR_SPECIAL_F9;
|
||||
*s++ = 5; // LV
|
||||
ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
dest = sub_81DB494(dest, 1, gStringVar1, 54);
|
||||
ConvertIntToDecimalStringN(dest, item->unk6, STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||
}
|
||||
|
||||
@@ -915,7 +915,7 @@ void SetHillTrainerFlag(void)
|
||||
}
|
||||
}
|
||||
|
||||
const u8 *sub_81D62AC(void)
|
||||
const u8 *GetTrainerHillTrainerScript(void)
|
||||
{
|
||||
return EventScript_2C83F0;
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ static u8 CheckTrainer(u8 eventObjectId)
|
||||
u8 approachDistance;
|
||||
|
||||
if (InTrainerHill() == TRUE)
|
||||
scriptPtr = sub_81D62AC();
|
||||
scriptPtr = GetTrainerHillTrainerScript();
|
||||
else
|
||||
scriptPtr = GetEventObjectScriptPointerByEventObjectId(eventObjectId);
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CC = gcc
|
||||
CC ?= gcc
|
||||
|
||||
CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CC = gcc
|
||||
CC ?= gcc
|
||||
|
||||
CFLAGS = -Wall -Wextra -Werror -std=c11 -O2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CC = gcc
|
||||
CC ?= gcc
|
||||
.PHONY: all clean
|
||||
|
||||
SRCS = gbafix.c
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CC = gcc
|
||||
CC ?= gcc
|
||||
|
||||
CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CXX := g++
|
||||
CXX ?= g++
|
||||
|
||||
CXXFLAGS := -Wall -std=c++11 -O2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CXX := g++
|
||||
CXX ?= g++
|
||||
|
||||
CXXFLAGS := -Wall -std=c++11 -O2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CXX := g++
|
||||
CXX ?= g++
|
||||
|
||||
CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CXX := g++
|
||||
CXX ?= g++
|
||||
|
||||
CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CXX := g++
|
||||
CXX ?= g++
|
||||
|
||||
CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CC = gcc
|
||||
CC ?= gcc
|
||||
|
||||
CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CXX = g++
|
||||
CXX ?= g++
|
||||
|
||||
CXXFLAGS = -Wall -Werror -std=c++11 -O2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user