merge with be
This commit is contained in:
commit
b8a71cabd1
@ -1,10 +1,5 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
# Only run this script if it's the master branch build.
|
||||
if [[ "$TRAVIS_BRANCH" != "master" || "$TRAVIS_PULL_REQUEST" != "false" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
build_name=$1
|
||||
map_file=$build_name.map
|
||||
if [ ! -f $map_file ]; then
|
||||
@ -13,4 +8,4 @@ if [ ! -f $map_file ]; then
|
||||
fi
|
||||
|
||||
output=$(perl $(dirname "$0")/calcrom.pl $build_name.map | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
|
||||
curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL\", \"content\":\"\`\`\`$build_name progress:\\n$output\`\`\`\"}" -H "Content-Type: application/json" -X POST $CALCROM_DISCORD_WEBHOOK_URL
|
||||
curl -d "{\"username\": \"$CALCROM_DISCORD_WEBHOOK_USERNAME\", \"avatar_url\": \"$CALCROM_DISCORD_WEBHOOK_AVATAR_URL\", \"content\":\"\`\`\`$build_name progress:\\n$output\`\`\`\"}" -H "Content-Type: application/json" -X POST "$CALCROM_DISCORD_WEBHOOK_URL"
|
||||
50
.github/workflows/build.yml
vendored
Normal file
50
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- battle_engine
|
||||
- pokemon_expansion
|
||||
- item_expansion
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GAME_VERSION: EMERALD
|
||||
GAME_REVISION: 0
|
||||
GAME_LANGUAGE: ENGLISH
|
||||
MODERN: 0
|
||||
COMPARE: 0
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Checkout agbcc
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: agbcc
|
||||
repository: pret/agbcc
|
||||
|
||||
- name: Install binutils
|
||||
run: sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
|
||||
# build-essential, git, and libpng-dev are already installed
|
||||
# gcc-arm-none-eabi is only needed for the modern build
|
||||
# as an alternative to dkP
|
||||
|
||||
- name: Install agbcc
|
||||
run: |
|
||||
./build.sh
|
||||
./install.sh ../
|
||||
working-directory: agbcc
|
||||
|
||||
- name: Agbcc
|
||||
run: make -j${nproc} all
|
||||
|
||||
- name: Modern
|
||||
env:
|
||||
MODERN: 1
|
||||
COMPARE: 0
|
||||
run: make -j${nproc} all
|
||||
39
.travis.yml
39
.travis.yml
@ -1,39 +0,0 @@
|
||||
language: generic
|
||||
dist: bionic
|
||||
sudo: false
|
||||
env:
|
||||
global:
|
||||
- DEVKITPRO=$HOME
|
||||
- DEVKITARM=$DEVKITPRO/devkitARM
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- gcc-multilib
|
||||
- linux-libc-dev
|
||||
cache:
|
||||
apt: true
|
||||
install:
|
||||
- pushd $HOME
|
||||
- travis_retry wget https://github.com/devkitPro/buildscripts/releases/download/devkitARM_r52/devkitARM_r52-linux.tar.xz
|
||||
- tar xJf devkitARM*.tar.xz
|
||||
- travis_retry wget https://github.com/devkitPro/devkitarm-rules/releases/download/v1.0.0/devkitarm-rules-1.0.0.tar.xz
|
||||
- tar xJf devkitarm-rules-*.tar.xz -C $DEVKITARM
|
||||
- travis_retry git clone https://github.com/pret/agbcc.git
|
||||
- cd agbcc && ./build.sh && ./install.sh $TRAVIS_BUILD_DIR
|
||||
- popd
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-7
|
||||
env: _="Build"
|
||||
script:
|
||||
- make -j2 tools CXX=g++-7
|
||||
- make -j2 compare
|
||||
- make -j2 modern
|
||||
after_success:
|
||||
- .travis/calcrom/webhook.sh pokeemerald
|
||||
572
INSTALL.md
572
INSTALL.md
@ -1,96 +1,570 @@
|
||||
# Prerequisites
|
||||
# Instructions
|
||||
|
||||
| Linux | macOS | Windows 10
|
||||
| - | - | -
|
||||
| none | [Xcode Command Line Tools Package][xcode] | [Windows Terminal][terminal] and [Windows Subsystem for Linux (WSL)][wsl]
|
||||
These instructions explain how to set up the tools required to build **pokeemerald**, which assembles the source files into a ROM.
|
||||
|
||||
[xcode]: https://developer.apple.com/library/archive/technotes/tn2339/_index.html
|
||||
[terminal]: https://docs.microsoft.com/windows/terminal/get-started
|
||||
[wsl]: https://docs.microsoft.com/windows/wsl/install-win10
|
||||
These instructions come with notes which can be expanded by clicking the "<i>Note...</i>" text.
|
||||
In general, you should not need to open these unless if you get an error or if you need additional clarification.
|
||||
|
||||
Independently from the specific OS, make sure that the `gcc`, `g++`, `make`, `git`, and `libpng-dev` packages or their equivalents are installed and accessible to the development tools that are used by the project (this means that, for example, on Windows, the packages have to be installed in the WSL environment). The package names and installation methods may vary with each OS.
|
||||
If you run into trouble, ask for help on Discord or IRC (see [README.md](README.md)).
|
||||
|
||||
Install the devkitARM toolchain of devkitPro as per [the instructions on their wiki](https://devkitpro.org/wiki/devkitPro_pacman). On Windows, follow the Linux instructions inside WSL as any steps about the Windows installer do not apply.
|
||||
## Windows
|
||||
Windows has instructions for building with three possible terminals, providing 3 different options in case the user stumbles upon unexpected errors.
|
||||
- [Windows 10 (WSL1)](#windows-10-wsl1) (**Fastest, highly recommended**, Windows 10 only)
|
||||
- [Windows (msys2)](#windows-msys2) (Second fastest)
|
||||
- [Windows (Cygwin)](#windows-cygwin) (Slowest)
|
||||
|
||||
**Debian-based distro users:** This applies to Debian, Ubuntu, and similar distros, including in WSL. If necessary, install the `libarchive13`, `pkg-config`, and `gdebi-core` packages to be able to install devkitPro.
|
||||
Unscientific benchmarks suggest **msys2 is 2x slower** than WSL1, and **Cygwin is 5-6x slower** than WSL1.
|
||||
<details>
|
||||
<summary><i>Note for advanced users: <b>WSL2</b>...</i></summary>
|
||||
|
||||
**Windows 10 users:** WSL 2 is available in the 1903 release (build 18362) and later, therefore existing WSL 1 and [prerelease WSL](https://docs.microsoft.com/windows/wsl/install-legacy) users are recommended to update. Right-click the Start button or press `Win`+`X`, choose Run, and run `ms-settings:about` to determine the Windows version. Also check Windows Update to make sure your installation is up-to-date.
|
||||
> <b>WSL2</b> is an option and is even faster than <b>WSL1</b> if files are stored on the WSL2 file system, but some tools may have trouble interacting
|
||||
> with the WSL2 file system over the network drive. For example, tools which use Qt versions before 5.15.2 such as <a href="https://github.com/huderlem/porymap">porymap</a>
|
||||
> may <a href="https://bugreports.qt.io/browse/QTBUG-86277">have problems with parsing the <code>\\wsl$</code> network drive path</a>.
|
||||
</details>
|
||||
|
||||
**Windows 7 and 8.1 users:** pret is no longer focusing on support in pokeemerald for [old versions of Windows](https://support.microsoft.com/help/13853) so consider upgrading to a current release of Windows 10 or try a third-party guide like [this one](https://www.pokecommunity.com/showthread.php?t=425246) instead.
|
||||
All of the Windows instructions assume that the default drive is C:\\. If this differs to your actual drive letter, then replace C with the correct drive letter when reading the instructions.
|
||||
|
||||
**A note of caution**: As Windows 7 is officially unsupported by Microsoft and Windows 8 has very little usage, some maintainers are unwilling to maintain the Windows 7/8 instructions. Thus, these instructions may break in the future with fixes taking longer than fixes to the Windows 10 instructions.
|
||||
|
||||
# Installation
|
||||
## Windows 10 (WSL1)
|
||||
WSL1 is the preferred terminal to build **pokeemerald**. The following instructions will explain how to install WSL1 (referred to interchangeably as WSL).
|
||||
- If WSL (Debian or Ubuntu) is **not installed**, then go to [Installing WSL1](#Installing-WSL1).
|
||||
- Otherwise, if WSL is installed, but it **hasn't previously been set up for another decompilation project**, then go to [Setting up WSL1](#Setting-up-WSL1).
|
||||
- Otherwise, **open WSL** and go to [Choosing where to store pokeemerald (WSL1)](#Choosing-where-to-store-pokeemerald-WSL1).
|
||||
|
||||
To set up the repository:
|
||||
### Installing WSL1
|
||||
1. Open [Windows Powershell **as Administrator**](https://i.imgur.com/QKmVbP9.png), and run the following command (Right Click or Shift+Insert is paste in the Powershell).
|
||||
|
||||
git clone https://github.com/pret/pokeemerald
|
||||
git clone https://github.com/pret/agbcc
|
||||
```powershell
|
||||
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
|
||||
```
|
||||
|
||||
cd ./agbcc
|
||||
./build.sh
|
||||
./install.sh ../pokeemerald
|
||||
2. Once the process finishes, restart your machine.
|
||||
|
||||
cd ../pokeemerald
|
||||
3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice.
|
||||
<details>
|
||||
<summary><i>Note for advanced users...</i></summary>
|
||||
|
||||
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
|
||||
</details>
|
||||
|
||||
To build **pokeemerald.gba** for the first time and confirm it matches the official ROM image:
|
||||
4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution.
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
make compare
|
||||
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
|
||||
> Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number).
|
||||
</details>
|
||||
|
||||
### Setting up WSL1
|
||||
Some tips before proceeding:
|
||||
- In WSL, Copy and Paste is either done via
|
||||
- **right-click** (selection + right click to Copy, right click with no selection to Paste)
|
||||
- **Ctrl+Shift+C/Ctrl+Shift+V** (enabled by right-clicking the title bar, going to Properties, then checking the checkbox next to "Use Ctrl+Shift+C/V as Copy/Paste").
|
||||
- Some of the commands that you'll run will ask for your WSL password and/or confirmation to perform the stated action. This is to be expected, just enter your WSL password and/or the yes action when necessary.
|
||||
|
||||
1. Open **Ubuntu** (e.g. using Search).
|
||||
2. WSL/Ubuntu will set up its own installation when it runs for the first time. Once WSL/Ubuntu finishes installing, it will ask for a username and password (to be input in).
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> When typing in the password, there will be no visible response, but the terminal will still read in input.
|
||||
</details>
|
||||
|
||||
3. Update WSL/Ubuntu before continuing. Do this by running the following command. These commands will likely take a long time to finish:
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt upgrade
|
||||
```
|
||||
|
||||
> Note: If the repository you plan to build has an **[older revision of the INSTALL.md](https://github.com/pret/pokeemerald/blob/571c598/INSTALL.md)**, then follow the [legacy WSL1 instructions](docs/legacy_WSL1_INSTALL.md) from here.
|
||||
|
||||
4. Certain packages are required to build pokeemerald. Install these packages by running the following command:
|
||||
|
||||
```bash
|
||||
sudo apt install build-essential binutils-arm-none-eabi git libpng-dev
|
||||
```
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> If the above command does not work, try the above command but replacing `apt` with `apt-get`.
|
||||
</details>
|
||||
|
||||
### Choosing where to store pokeemerald (WSL1)
|
||||
WSL has its own file system that's not natively accessible from Windows, but Windows files *are* accessible from WSL. So you're going to want to store pokeemerald within Windows.
|
||||
|
||||
For example, say you want to store pokeemerald (and agbcc) in **C:\Users\\_\<user>_\Desktop\decomps**. First, ensure that the folder already exists. Then, enter this command to **change directory** to said folder, where *\<user>* is your **Windows** username:
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/<user>/Desktop/decomps
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
|
||||
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
|
||||
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
|
||||
</details>
|
||||
|
||||
If this works, then proceed to [Installation](#installation).
|
||||
|
||||
Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using msys2](#windows-msys2).
|
||||
|
||||
## Windows (msys2)
|
||||
|
||||
- If devkitARM is **not installed**, then go to [Installing devkitARM](#installing-devkitarm).
|
||||
- If devkitARM is installed, but msys2 **hasn't previously been set up for another decompilation project**, then go to [Setting up msys2](#setting-up-msys2).
|
||||
- Otherwise, **open msys2** and go to [Choosing where to store pokeemerald (msys2)](#choosing-where-to-store-pokeemerald-msys2).
|
||||
|
||||
### Installing devkitARM
|
||||
1. Download the devkitPro installer [here](https://github.com/devkitPro/installer/releases).
|
||||
2. Run the devkitPro installer. In the "Choose Components" screen, uncheck everything except GBA Development unless if you plan to install other devkitPro components for other purposes. Keep the install location as C:\devkitPro and leave the Start Menu option unchanged.
|
||||
|
||||
### Setting up msys2
|
||||
|
||||
Note that in msys2, Copy is Ctrl+Insert and Paste is Shift+Insert.
|
||||
|
||||
1. Open msys2 at C:\devkitPro\msys2\msys2_shell.bat.
|
||||
|
||||
2. Certain packages are required to build pokeemerald. Install these by running the following command:
|
||||
|
||||
```bash
|
||||
pacman -S make gcc zlib-devel git
|
||||
```
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> This command will ask for confirmation, just enter the yes action when prompted.
|
||||
</details>
|
||||
|
||||
3. Download [libpng](https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download).
|
||||
|
||||
4. Change directory to where libpng was downloaded. By default, msys2 will start in the current user's profile folder, located at **C:\Users\\⁠_\<user>_**, where *\<user>* is your Windows username. In most cases, libpng should be saved within a subfolder of the profile folder. For example, if libpng was saved to **C:\Users\\_\<user>_\Downloads** (the Downloads location for most users), enter this command:
|
||||
|
||||
```bash
|
||||
cd Downloads
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
> Note 1: While not shown, msys uses forward slashes `/` instead of backwards slashes `\` as the directory separator.
|
||||
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Downloads/My Downloads"`.
|
||||
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn’t needed.
|
||||
> Note 4: If libpng was saved elsewhere, you will need to specify the full path to where libpng was downloaded, e.g. `cd c:/devkitpro/msys2` if it was saved there.
|
||||
</details>
|
||||
|
||||
5. Run the following commands to uncompress and install libpng.
|
||||
|
||||
```bash
|
||||
tar xf libpng-1.6.37.tar.xz
|
||||
cd libpng-1.6.37
|
||||
./configure --prefix=/usr
|
||||
make check
|
||||
make install
|
||||
```
|
||||
|
||||
6. Then finally, run the following command to change back to the user profile folder.
|
||||
|
||||
```bash
|
||||
cd
|
||||
```
|
||||
|
||||
### Choosing where to store pokeemerald (msys2)
|
||||
At this point, you can choose a folder to store pokeemerald into. If you're okay with storing pokeemerald in the user profile folder, then proceed to [Installation](#installation). Otherwise, you'll need to account for where pokeemerald is stored when changing directory to the pokeemerald folder.
|
||||
|
||||
For example, if you want to store pokeemerald (and agbcc) in **C:\Users\\_\<user>_\Desktop\decomps** (where *\<user>* is your **Windows** username), enter this command:
|
||||
|
||||
```bash
|
||||
cd Desktop/decomps
|
||||
```
|
||||
|
||||
If this works, then proceed to [Installation](#installation).
|
||||
|
||||
Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using Cygwin](#windows-cygwin).
|
||||
|
||||
## Windows (Cygwin)
|
||||
1. If devkitARM is **not installed**, then follow the instructions used to [install devkitARM](#installing-devkitarm) for the msys2 setup before continuing. *Remember to not continue following the msys2 instructions by mistake!*
|
||||
|
||||
2.
|
||||
- If Cygwin is **not installed**, or does not have all of the required packages installed, then go to [Installing Cygwin](#installing-cygwin).
|
||||
- If Cygwin is installed, but **is not configured to work with devkitARM**, then go to [Configuring devkitARM for Cygwin](#configuring-devkitarm-for-cygwin).
|
||||
- Otherwise, **open Cygwin** and go to [Choosing where to store pokeemerald (Cygwin)](#choosing-where-to-store-pokeemerald-cygwin)
|
||||
|
||||
### Installing Cygwin
|
||||
1. Download [Cygwin](https://cygwin.com/install.html): setup-x86_64.exe for 64-bit Windows, setup-x86.exe for 32-bit.
|
||||
|
||||
2. Run the Cygwin setup. Within the Cygwin setup, leave the default settings until the "Choose A Download Site" screen.
|
||||
|
||||
3. At "Choose a Download Site", select any mirror within the Available Download Sites.
|
||||
|
||||
4. At "Select Packages", set the view to "Full" (top left) and search for the following packages:
|
||||
- `make`
|
||||
- `git`
|
||||
- `gcc-core`
|
||||
- `gcc-g++`
|
||||
- `libpng-devel`
|
||||
|
||||
To quickly find these, use the search bar and type the name of each package. Ensure that the selected package name is the **exact** same as the one you're trying to download, e.g. `cmake` is **NOT** the same as `make`.
|
||||
|
||||
5. For each package, double click on the text that says "**Skip**" next to each package to select the most recent version to install. If the text says anything other than "**Skip**", (e.g. Keep or a version number), then the package is or will be installed and you don't need to do anything.
|
||||
|
||||
6. Once all required packages have been selected, finish the installation.
|
||||
|
||||
### Configuring devkitARM for Cygwin
|
||||
|
||||
Note that in Cygwin, Copy is Ctrl+Insert and Paste is Shift+Insert.
|
||||
|
||||
1. Open **Cygwin**.
|
||||
|
||||
2. Run the following commands to configure devkitPro to work with Cygwin.
|
||||
|
||||
```bash
|
||||
export DEVKITPRO=/cygdrive/c/devkitpro
|
||||
echo export DEVKITPRO=$DEVKITPRO >> ~/.bashrc
|
||||
export DEVKITARM=$DEVKITPRO/devkitARM
|
||||
echo export DEVKITARM=$DEVKITARM >> ~/.bashrc
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> Replace the drive letter c with the actual drive letter if it is not c.
|
||||
</details>
|
||||
|
||||
### Choosing where to store pokeemerald (Cygwin)
|
||||
|
||||
Cygwin has its own file system that's within Windows, at **C:\cygwin64\home\\_\<user>_**. If you don't want to store pokeemerald there, you'll need to account for where pokeemerald is stored when **changing directory** to the pokeemerald folder.
|
||||
|
||||
For example, if you want to store pokeemerald (and agbcc) in **C:\Users\\_\<user>_\Desktop\decomps**, enter this command, where *\<user>* is your **Windows** username:
|
||||
```bash
|
||||
cd c:/Users/<user>/Desktop/decomps
|
||||
```
|
||||
Note that the directory **must exist** in Windows. If you want to store pokeemerald in a dedicated folder that doesn't exist (e.g. the example provided above), then create the folder (e.g. using Windows Explorer) before executing the `cd` command.
|
||||
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
|
||||
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
|
||||
</details>
|
||||
|
||||
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
|
||||
|
||||
## macOS
|
||||
1. If the Xcode Command Line Tools are not installed, download the tools [here](https://developer.apple.com/xcode/resources/), open your Terminal, and run the following command:
|
||||
|
||||
```bash
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
2. - If libpng is **not installed**, then go to [Installing libpng (macOS)](#installing-libpng-macos).
|
||||
- If devkitARM is **not installed**, then go to [Installing devkitARM (macOS)](#installing-devkitarm-macos).
|
||||
- Otherwise, **open the Terminal** and go to [Choosing where to store pokeemerald (macOS)](#choosing-where-to-store-pokeemerald-macos)
|
||||
|
||||
### Installing libpng (macOS)
|
||||
<details>
|
||||
<summary><i>Note for advanced users...</i></summary>
|
||||
|
||||
> This guide installs libpng via Homebrew as it is the easiest method, however advanced users can install libpng through other means if they so desire.
|
||||
</details>
|
||||
|
||||
1. Open the Terminal.
|
||||
2. If Homebrew is not installed, then install [Homebrew](https://brew.sh/) by following the instructions on the website.
|
||||
3. Run the following command to install libpng.
|
||||
|
||||
```bash
|
||||
brew install libpng
|
||||
```
|
||||
libpng is now installed.
|
||||
|
||||
Continue to [Installing devkitARM (macOS)](#installing-devkitarm-macos) if **devkitARM is not installed**, otherwise, go to [Choosing where to store pokeemerald (macOS)](#choosing-where-to-store-pokeemerald-macos).
|
||||
|
||||
### Installing devkitARM (macOS)
|
||||
1. Download the `devkitpro-pacman-installer.pkg` package from [here](https://github.com/devkitPro/pacman/releases).
|
||||
2. Open the package to install devkitPro pacman.
|
||||
3. In the Terminal, run the following commands to install devkitARM:
|
||||
|
||||
```bash
|
||||
sudo dkp-pacman -Sy
|
||||
sudo dkp-pacman -S gba-dev
|
||||
sudo dkp-pacman -S devkitarm-rules
|
||||
```
|
||||
|
||||
The command with gba-dev will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
|
||||
|
||||
4. After the tools are installed, devkitARM must now be made accessible from anywhere by the system. To do so, run the following commands:
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
### Choosing where to store pokeemerald (macOS)
|
||||
At this point, you can choose a folder to store pokeemerald into. If you're okay with storing pokeemerald in the user folder, then proceed to [Installation](#installation). Otherwise, you'll need to account for where pokeemerald is stored when changing directory to the pokeemerald folder.
|
||||
|
||||
For example, if you want to store pokeemerald (and agbcc) in **~/Desktop/decomps**, enter this command to **change directory** to the desired folder:
|
||||
```bash
|
||||
cd Desktop/decomps
|
||||
```
|
||||
Note that the directory **must exist** in the folder system. If you want to store pokeemerald in a dedicated folder that doesn't exist (e.g. the example provided above), then create the folder (e.g. using Finder) before executing the `cd` command.
|
||||
|
||||
<details>
|
||||
<summary><i>Note..</i>.</summary>
|
||||
|
||||
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
|
||||
</details>
|
||||
|
||||
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
|
||||
|
||||
## Linux
|
||||
Open Terminal and enter the following commands, depending on which distro you're using.
|
||||
|
||||
### Debian/Ubuntu-based distributions
|
||||
Run the following command to install the necessary packages:
|
||||
```bash
|
||||
sudo apt install build-essential binutils-arm-none-eabi git libpng-dev
|
||||
```
|
||||
Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to-store-pokeemerald-linux).
|
||||
<details>
|
||||
<summary><i>Note for legacy repos...</i></summary>
|
||||
|
||||
> If the repository you plan to build has an **[older revision of the INSTALL.md](https://github.com/pret/pokeemerald/blob/571c598/INSTALL.md)**,
|
||||
> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
|
||||
> [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions).
|
||||
</details>
|
||||
|
||||
### Other distributions
|
||||
_(Specific instructions for other distributions would be greatly appreciated!)_
|
||||
|
||||
1. Try to find the required software in its repositories:
|
||||
- `gcc`
|
||||
- `g++`
|
||||
- `make`
|
||||
- `git`
|
||||
- `libpng-dev`
|
||||
|
||||
2. Follow the instructions [here](https://devkitpro.org/wiki/devkitPro_pacman) to install devkitPro pacman. As a reminder, the goal is to configure an existing pacman installation to recognize devkitPro's repositories.
|
||||
3. Once devkitPro pacman is configured, run the following commands:
|
||||
|
||||
```bash
|
||||
sudo pacman -Sy
|
||||
sudo pacman -S gba-dev
|
||||
```
|
||||
|
||||
The last command will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
|
||||
|
||||
### Choosing where to store pokeemerald (Linux)
|
||||
At this point, you can choose a folder to store pokeemerald (and agbcc) into. If so, you'll have to account for the modified folder path when changing directory to the pokeemerald folder.
|
||||
|
||||
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
|
||||
|
||||
## Installation
|
||||
|
||||
<details>
|
||||
<summary><i>Note for Windows users...</i></summary>
|
||||
|
||||
> Consider adding an exception for the `pokeemerald` and/or `decomps` folder in Windows Security using
|
||||
> [these instructions](https://support.microsoft.com/help/4028485). This prevents Microsoft Defender from
|
||||
> scanning them which might improve performance while building.
|
||||
</details>
|
||||
|
||||
1. If pokeemerald is not already downloaded (some users may prefer to download pokeemerald via a git client like GitHub Desktop), run:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/pret/pokeemerald
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><i>Note for WSL1...</i></summary>
|
||||
|
||||
> If you get an error stating `fatal: could not set 'core.filemode' to 'false'`, then run the following commands:
|
||||
> ```bash
|
||||
> cd
|
||||
> sudo umount /mnt/c
|
||||
> sudo mount -t drvfs C: /mnt/c -o metadata,noatime
|
||||
> cd <folder where pokeemerald is to be stored>
|
||||
> ```
|
||||
> Where *\<folder where pokeemerald is to be stored>* is the path of the folder [where you chose to store pokeemerald](#Choosing-where-to-store-pokeemerald-WSL1). Then run the `git clone` command again.
|
||||
</details>
|
||||
|
||||
2. Install agbcc into pokeemerald. The commands to run depend on certain conditions. **You should only follow one of the listed instructions**:
|
||||
- If agbcc has **not been built before** in the folder where you chose to store pokeemerald, run the following commands to build and install it into pokeemerald:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/pret/agbcc
|
||||
cd agbcc
|
||||
./build.sh
|
||||
./install.sh ../pokeemerald
|
||||
```
|
||||
|
||||
- **Otherwise**, if agbcc has been built before (e.g. if the git clone above fails), but was **last built on a different terminal** than the one currently used (only relevant to Windows, e.g. switching from msys2 to WSL1), then run the following commands to build and install it into pokeemerald:
|
||||
|
||||
```bash
|
||||
cd agbcc
|
||||
git clean -fX
|
||||
./build.sh
|
||||
./install.sh ../pokeemerald
|
||||
```
|
||||
|
||||
- **Otherwise**, if agbcc has been built before on the same terminal, run the following commands to install agbcc into pokeemerald:
|
||||
|
||||
```bash
|
||||
cd agbcc
|
||||
./install.sh ../pokeemerald
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> If building agbcc or pokeemerald results in an error, try deleting the agbcc folder and re-installing agbcc as if it has not been built before.
|
||||
</details>
|
||||
|
||||
3. Once agbcc is installed, change directory back to the base directory where pokeemerald and agbcc are stored:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
```
|
||||
|
||||
Now you're ready to [build **pokeemerald**](#build-pokeemerald)
|
||||
## Build pokeemerald
|
||||
If you aren't in the pokeemerald directory already, then **change directory** to the pokeemerald folder:
|
||||
```bash
|
||||
cd pokeemerald
|
||||
```
|
||||
To build **pokeemerald.gba** for the first time and confirm it matches the official ROM image (Note: to speed up builds, see [Parallel builds](#parallel-builds)):
|
||||
```bash
|
||||
make compare
|
||||
```
|
||||
If an OK is returned, then the installation went smoothly.
|
||||
|
||||
**Windows users:** Consider adding exceptions for the `pokeemerald` and `agbcc` folders in Windows Security using [these instructions](https://support.microsoft.com/help/4028485). This prevents Microsoft Defender from scanning them which might improve performance while building.
|
||||
|
||||
|
||||
# Start
|
||||
<details>
|
||||
<summary>Note for Windows...</summary>
|
||||
> If you switched terminals since the last build (e.g. from msys2 to WSL1), you must run `make clean-tools` once before any subsequent `make` commands.
|
||||
</details>
|
||||
|
||||
To build **pokeemerald.gba** with your changes:
|
||||
|
||||
make
|
||||
|
||||
**macOS users:** If the base tools are not found 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`.
|
||||
|
||||
```bash
|
||||
make
|
||||
```
|
||||
|
||||
# Building guidance
|
||||
|
||||
|
||||
## Parallel builds
|
||||
|
||||
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.
|
||||
|
||||
To speed up building, run:
|
||||
|
||||
make -j$(nproc)
|
||||
To speed up building, first get the value of `nproc` by running the following command:
|
||||
```bash
|
||||
nproc
|
||||
```
|
||||
Builds can then be sped up by running the following command:
|
||||
```bash
|
||||
make -j<output of nproc>
|
||||
```
|
||||
Replace `<output of nproc>` with the number that the `nproc` command returned.
|
||||
|
||||
`nproc` is not available on macOS. The alternative is `sysctl -n hw.ncpu` ([relevant Stack Overflow thread](https://stackoverflow.com/questions/1715580)).
|
||||
|
||||
|
||||
## Debug info
|
||||
|
||||
To build **pokeemerald.elf** with enhanced debug info:
|
||||
|
||||
make DINFO=1
|
||||
|
||||
```bash
|
||||
make DINFO=1
|
||||
```
|
||||
|
||||
## 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 included with devkitARM. If devkitARM (a.k.a. gba-dev) has already been installed as part of the platform-specific instructions, simply run:
|
||||
```bash
|
||||
make modern
|
||||
```
|
||||
Otherwise, follow the instructions below to install devkitARM.
|
||||
### Installing devkitARM on WSL1
|
||||
|
||||
make modern
|
||||
1. `gdebi-core` must be installed beforehand in order to install devkitPro pacman (which facilitates the installation of devkitARM). Install this with the following command:
|
||||
|
||||
```bash
|
||||
sudo apt install gdebi-core
|
||||
```
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> If the above command does not work, try the above command but replacing `apt` with `apt-get`.
|
||||
</details>
|
||||
|
||||
2. Once `gdebi-core` is done installing, download the devkitPro pacman package [here](https://github.com/devkitPro/pacman/releases). The file to download is `devkitpro-pacman.amd64.deb`.
|
||||
3. Change directory to where the package was downloaded. For example, if the package file was saved to **C:\Users\\_\<user>_\Downloads** (the Downloads location for most users), enter this command, where *\<user> is your **Windows** username:
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/<user>/Downloads
|
||||
```
|
||||
|
||||
4. Once the directory has been changed to the folder containing the devkitPro pacman package, run the following commands to install devkitARM.
|
||||
|
||||
```bash
|
||||
sudo gdebi devkitpro-pacman.amd64.deb
|
||||
sudo dkp-pacman -Sy
|
||||
sudo dkp-pacman -S gba-dev
|
||||
```
|
||||
The last command will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
|
||||
|
||||
<details>
|
||||
<summary><i>Note...</i></summary>
|
||||
|
||||
> Note: `devkitpro-pacman.amd64.deb` is the expected filename of the devkitPro package downloaded (for the first command). If the downloaded package filename differs, then use that filename instead.
|
||||
</details>
|
||||
|
||||
5. Run the following command to set devkitPro related environment variables (alternatively, close and re-open WSL):
|
||||
|
||||
```bash
|
||||
source /etc/profile.d/devkit-env.sh
|
||||
```
|
||||
|
||||
devkitARM is now installed.
|
||||
|
||||
### Installing devkitARM on Debian/Ubuntu-based distributions
|
||||
1. If `gdebi-core` is not installed, run the following command:
|
||||
|
||||
```bash
|
||||
sudo apt install gdebi-core
|
||||
```
|
||||
2. Download the devkitPro pacman package [here](https://github.com/devkitPro/pacman/releases). The file to download is `devkitpro-pacman.amd64.deb`.
|
||||
3. Change directory to where the package was downloaded. Then, run the following commands to install devkitARM:
|
||||
|
||||
```bash
|
||||
sudo gdebi devkitpro-pacman.amd64.deb
|
||||
sudo dkp-pacman -Sy
|
||||
sudo dkp-pacman -S gba-dev
|
||||
```
|
||||
The last command will ask for the selection of packages to install. Just press Enter to install all of them, followed by entering Y to proceed with the installation.
|
||||
|
||||
> Note: `devkitpro-pacman.amd64.deb` is the expected filename of the devkitPro package downloaded (for the first command). If the downloaded package filename differs, then use that filename instead.
|
||||
|
||||
4. Run the following command to set devkitPro related environment variables (alternatively, close and re-open the Terminal):
|
||||
|
||||
```bash
|
||||
source /etc/profile.d/devkit-env.sh
|
||||
```
|
||||
|
||||
devkitARM is now installed.
|
||||
|
||||
## Other toolchains
|
||||
|
||||
To build using a toolchain other than devkitARM, override the `TOOLCHAIN` environment variable with the path to your toolchain, which must contain the subdirectory `bin`.
|
||||
|
||||
make TOOLCHAIN="/path/to/toolchain/here"
|
||||
|
||||
```bash
|
||||
make TOOLCHAIN="/path/to/toolchain/here"
|
||||
```
|
||||
The following is an example:
|
||||
|
||||
make TOOLCHAIN="/usr/local/arm-none-eabi"
|
||||
|
||||
```bash
|
||||
make TOOLCHAIN="/usr/local/arm-none-eabi"
|
||||
```
|
||||
To compile the `modern` target with this toolchain, the subdirectories `lib`, `include`, and `arm-none-eabi` must also be present.
|
||||
|
||||
|
||||
# Useful additional tools
|
||||
|
||||
* [porymap](https://github.com/huderlem/porymap) for viewing and editing maps
|
||||
|
||||
273
Makefile
273
Makefile
@ -1,29 +1,34 @@
|
||||
TOOLCHAIN := $(DEVKITARM)
|
||||
COMPARE ?= 0
|
||||
|
||||
ifeq ($(CC),)
|
||||
HOSTCC := gcc
|
||||
else
|
||||
HOSTCC := $(CC)
|
||||
ifeq (compare,$(MAKECMDGOALS))
|
||||
COMPARE := 1
|
||||
endif
|
||||
|
||||
ifeq ($(CXX),)
|
||||
HOSTCXX := g++
|
||||
else
|
||||
HOSTCXX := $(CXX)
|
||||
endif
|
||||
# don't use dkP's base_tools anymore
|
||||
# because the redefinition of $(CC) conflicts
|
||||
# with when we want to use $(CC) to preprocess files
|
||||
# thus, manually create the variables for the bin
|
||||
# files, or use arm-none-eabi binaries on the system
|
||||
# if dkP is not installed on this system
|
||||
|
||||
ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
|
||||
include $(TOOLCHAIN)/base_tools
|
||||
else
|
||||
ifneq (,$(TOOLCHAIN))
|
||||
ifneq ($(wildcard $(TOOLCHAIN)/bin),)
|
||||
export PATH := $(TOOLCHAIN)/bin:$(PATH)
|
||||
endif
|
||||
endif
|
||||
|
||||
PREFIX := arm-none-eabi-
|
||||
OBJCOPY := $(PREFIX)objcopy
|
||||
export CC := $(PREFIX)gcc
|
||||
export AS := $(PREFIX)as
|
||||
endif
|
||||
export CPP := $(PREFIX)cpp
|
||||
export LD := $(PREFIX)ld
|
||||
OBJDUMP := $(PREFIX)objdump
|
||||
AS := $(PREFIX)as
|
||||
|
||||
LD := $(PREFIX)ld
|
||||
|
||||
# note: the makefile must be set up so MODERNCC is never called
|
||||
# if MODERN=0
|
||||
MODERNCC := $(PREFIX)gcc
|
||||
PATH_MODERNCC := PATH=$(TOOLCHAIN)/bin:PATH $(MODERNCC)
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
EXE := .exe
|
||||
@ -37,10 +42,42 @@ MAKER_CODE := 01
|
||||
REVISION := 0
|
||||
MODERN ?= 0
|
||||
|
||||
ifeq (modern,$(MAKECMDGOALS))
|
||||
MODERN := 1
|
||||
endif
|
||||
|
||||
# use arm-none-eabi-cpp for macOS
|
||||
# as macOS's default compiler is clang
|
||||
# and clang's preprocessor will warn on \u
|
||||
# when preprocessing asm files, expecting a unicode literal
|
||||
# we can't unconditionally use arm-none-eabi-cpp
|
||||
# as installations which install binutils-arm-none-eabi
|
||||
# don't come with it
|
||||
ifneq ($(MODERN),1)
|
||||
ifeq ($(shell uname -s),Darwin)
|
||||
CPP := $(PREFIX)cpp
|
||||
else
|
||||
CPP := $(CC) -E
|
||||
endif
|
||||
else
|
||||
CPP := $(PREFIX)cpp
|
||||
endif
|
||||
|
||||
ROM_NAME := pokeemerald.gba
|
||||
ELF_NAME := $(ROM_NAME:.gba=.elf)
|
||||
MAP_NAME := $(ROM_NAME:.gba=.map)
|
||||
OBJ_DIR_NAME := build/emerald
|
||||
|
||||
MODERN_ROM_NAME := pokeemerald_modern.gba
|
||||
MODERN_ELF_NAME := $(MODERN_ROM_NAME:.gba=.elf)
|
||||
MODERN_MAP_NAME := $(MODERN_ROM_NAME:.gba=.map)
|
||||
MODERN_OBJ_DIR_NAME := build/modern
|
||||
|
||||
SHELL := /bin/bash -o pipefail
|
||||
|
||||
ELF = $(ROM:.gba=.elf)
|
||||
MAP = $(ROM:.gba=.map)
|
||||
SYM = $(ROM:.gba=.sym)
|
||||
|
||||
C_SUBDIR = src
|
||||
GFLIB_SUBDIR = gflib
|
||||
@ -64,26 +101,26 @@ ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=$(MODERN)
|
||||
ifeq ($(MODERN),0)
|
||||
CC1 := tools/agbcc/bin/agbcc$(EXE)
|
||||
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -g
|
||||
ROM := pokeemerald.gba
|
||||
OBJ_DIR := build/emerald
|
||||
ROM := $(ROM_NAME)
|
||||
OBJ_DIR := $(OBJ_DIR_NAME)
|
||||
LIBPATH := -L ../../tools/agbcc/lib
|
||||
LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall
|
||||
else
|
||||
CC1 = $(shell $(CC) --print-prog-name=cc1) -quiet
|
||||
CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet
|
||||
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -g
|
||||
ROM := pokeemerald_modern.gba
|
||||
OBJ_DIR := build/modern
|
||||
LIBPATH := -L "$(dir $(shell $(CC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(CC) -mthumb -print-file-name=libc.a))"
|
||||
ROM := $(MODERN_ROM_NAME)
|
||||
OBJ_DIR := $(MODERN_OBJ_DIR_NAME)
|
||||
LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))"
|
||||
LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall
|
||||
endif
|
||||
|
||||
CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=$(MODERN)
|
||||
ifeq ($(MODERN),0)
|
||||
CPPFLAGS += -I tools/agbcc/include -I tools/agbcc
|
||||
ifneq ($(MODERN),1)
|
||||
CPPFLAGS += -I tools/agbcc/include -I tools/agbcc -nostdinc -undef
|
||||
endif
|
||||
|
||||
LDFLAGS = -Map ../../$(MAP)
|
||||
|
||||
LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall
|
||||
|
||||
SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c
|
||||
GFX := tools/gbagfx/gbagfx$(EXE)
|
||||
AIF := tools/aif2pcm/aif2pcm$(EXE)
|
||||
@ -95,6 +132,8 @@ FIX := tools/gbafix/gbafix$(EXE)
|
||||
MAPJSON := tools/mapjson/mapjson$(EXE)
|
||||
JSONPROC := tools/jsonproc/jsonproc$(EXE)
|
||||
|
||||
PERL := perl
|
||||
|
||||
TOOLDIRS := $(filter-out tools/agbcc tools/binutils,$(wildcard tools/*))
|
||||
TOOLBASE = $(TOOLDIRS:tools/%=%)
|
||||
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
|
||||
@ -111,18 +150,34 @@ MAKEFLAGS += --no-print-directory
|
||||
# Secondary expansion is required for dependency variables in object rules.
|
||||
.SECONDEXPANSION:
|
||||
|
||||
.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall modern
|
||||
.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall modern tidymodern tidynonmodern
|
||||
|
||||
infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line))))
|
||||
|
||||
# Build tools when building the rom
|
||||
# Disable dependency scanning for clean/tidy/tools
|
||||
ifeq (,$(filter-out all rom compare modern berry_fix libagbsyscall,$(MAKECMDGOALS)))
|
||||
$(call infoshell, $(MAKE) tools)
|
||||
# Use a separate minimal makefile for speed
|
||||
# Since we don't need to reload most of this makefile
|
||||
ifeq (,$(filter-out all rom compare modern berry_fix libagbsyscall syms,$(MAKECMDGOALS)))
|
||||
$(call infoshell, $(MAKE) -f make_tools.mk)
|
||||
else
|
||||
NODEP := 1
|
||||
NODEP ?= 1
|
||||
endif
|
||||
|
||||
# check if we need to scan dependencies based on the rule
|
||||
ifeq (,$(MAKECMDGOALS))
|
||||
SCAN_DEPS ?= 1
|
||||
else
|
||||
# clean, tidy, tools, mostlyclean, clean-tools, $(TOOLDIRS), tidymodern, tidynonmodern don't even build the ROM
|
||||
# berry_fix and libagbsyscall do their own thing
|
||||
ifeq (,$(filter-out clean tidy tools mostlyclean clean-tools $(TOOLDIRS) tidymodern tidynonmodern berry_fix libagbsyscall,$(MAKECMDGOALS)))
|
||||
SCAN_DEPS ?= 0
|
||||
else
|
||||
SCAN_DEPS ?= 1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SCAN_DEPS),1)
|
||||
C_SRCS_IN := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
|
||||
C_SRCS := $(foreach src,$(C_SRCS_IN),$(if $(findstring .inc.c,$(src)),,$(src)))
|
||||
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
|
||||
@ -152,17 +207,19 @@ OBJS := $(C_OBJS) $(GFLIB_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $
|
||||
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
|
||||
|
||||
SUBDIRS := $(sort $(dir $(OBJS)))
|
||||
$(shell mkdir -p $(SUBDIRS))
|
||||
endif
|
||||
|
||||
AUTO_GEN_TARGETS :=
|
||||
|
||||
$(shell mkdir -p $(SUBDIRS))
|
||||
|
||||
all: rom
|
||||
|
||||
tools: $(TOOLDIRS)
|
||||
|
||||
syms: $(SYM)
|
||||
|
||||
$(TOOLDIRS):
|
||||
@$(MAKE) -C $@ CC=$(HOSTCC) CXX=$(HOSTCXX)
|
||||
@$(MAKE) -C $@
|
||||
|
||||
rom: $(ROM)
|
||||
ifeq ($(COMPARE),1)
|
||||
@ -170,14 +227,14 @@ ifeq ($(COMPARE),1)
|
||||
endif
|
||||
|
||||
# For contributors to make sure a change didn't affect the contents of the ROM.
|
||||
compare: ; @$(MAKE) COMPARE=1
|
||||
compare: all
|
||||
|
||||
clean: mostlyclean clean-tools
|
||||
|
||||
clean-tools:
|
||||
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
|
||||
|
||||
mostlyclean: tidy
|
||||
mostlyclean: tidynonmodern tidymodern
|
||||
rm -f $(SAMPLE_SUBDIR)/*.bin
|
||||
rm -f $(CRY_SUBDIR)/*.bin
|
||||
rm -f $(MID_SUBDIR)/*.s
|
||||
@ -189,13 +246,16 @@ mostlyclean: tidy
|
||||
@$(MAKE) clean -C berry_fix
|
||||
@$(MAKE) clean -C libagbsyscall
|
||||
|
||||
tidy:
|
||||
rm -f $(ROM) $(ELF) $(MAP)
|
||||
rm -r $(OBJ_DIR)
|
||||
ifeq ($(MODERN),0)
|
||||
@$(MAKE) tidy MODERN=1
|
||||
endif
|
||||
tidy: tidynonmodern tidymodern
|
||||
|
||||
tidynonmodern:
|
||||
rm -f $(ROM_NAME) $(ELF_NAME) $(MAP_NAME)
|
||||
rm -rf $(OBJ_DIR_NAME)
|
||||
|
||||
tidymodern:
|
||||
rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME)
|
||||
rm -rf $(MODERN_OBJ_DIR_NAME)
|
||||
|
||||
ifneq ($(MODERN),0)
|
||||
$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member
|
||||
endif
|
||||
@ -223,7 +283,7 @@ sound/%.bin: sound/%.aif ; $(AIF) $< $@
|
||||
|
||||
|
||||
ifeq ($(MODERN),0)
|
||||
$(C_BUILDDIR)/libc.o: CC1 := tools/agbcc/bin/old_agbcc
|
||||
$(C_BUILDDIR)/libc.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
|
||||
$(C_BUILDDIR)/libc.o: CFLAGS := -O2
|
||||
|
||||
$(C_BUILDDIR)/siirtc.o: CFLAGS := -mthumb-interwork
|
||||
@ -232,56 +292,88 @@ $(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork
|
||||
$(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
|
||||
$(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
|
||||
|
||||
$(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc
|
||||
$(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
|
||||
|
||||
$(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding
|
||||
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm
|
||||
$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm$(EXE)
|
||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet
|
||||
else
|
||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
|
||||
endif
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(C_BUILDDIR)/%.o: c_dep :=
|
||||
else
|
||||
$(C_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include -I gflib $(C_SUBDIR)/$*.c)
|
||||
endif
|
||||
|
||||
ifeq ($(DINFO),1)
|
||||
override CFLAGS += -g
|
||||
endif
|
||||
|
||||
$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
|
||||
@$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i
|
||||
@$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(GFLIB_BUILDDIR)/%.o: c_dep :=
|
||||
else
|
||||
$(GFLIB_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(GFLIB_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include -I gflib $(GFLIB_SUBDIR)/$*.c)
|
||||
endif
|
||||
|
||||
$(GFLIB_BUILDDIR)/%.o : $(GFLIB_SUBDIR)/%.c $$(c_dep)
|
||||
@$(CPP) $(CPPFLAGS) $< -o $(GFLIB_BUILDDIR)/$*.i
|
||||
@$(PREPROC) $(GFLIB_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(GFLIB_BUILDDIR)/$*.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $(GFLIB_BUILDDIR)/$*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $(GFLIB_BUILDDIR)/$*.s
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(C_BUILDDIR)/%.o: c_asm_dep :=
|
||||
else
|
||||
$(C_BUILDDIR)/%.o: c_asm_dep = $(shell [[ -f $(C_SUBDIR)/$*.s ]] && $(SCANINC) -I "" $(C_SUBDIR)/$*.s)
|
||||
endif
|
||||
|
||||
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s $$(c_asm_dep)
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
# The dep rules have to be explicit or else missing files won't be reported.
|
||||
# As a side effect, they're evaluated immediately instead of when the rule is invoked.
|
||||
# It doesn't look like $(shell) can be deferred so there might not be a better way.
|
||||
|
||||
ifeq ($(SCAN_DEPS),1)
|
||||
ifeq ($(NODEP),1)
|
||||
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.c
|
||||
ifeq (,$(KEEP_TEMPS))
|
||||
@echo "$(CC1) <flags> -o $@ $<"
|
||||
@$(CPP) $(CPPFLAGS) $< | $(PREPROC) $< charmap.txt -i | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ -
|
||||
else
|
||||
@$(CPP) $(CPPFLAGS) $< -o $(C_BUILDDIR)/$*.i
|
||||
@$(PREPROC) $(C_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(C_BUILDDIR)/$*.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
|
||||
endif
|
||||
else
|
||||
define C_DEP
|
||||
$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include -I gflib $2)
|
||||
ifeq (,$$(KEEP_TEMPS))
|
||||
@echo "$$(CC1) <flags> -o $$@ $$<"
|
||||
@$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ -
|
||||
else
|
||||
@$$(CPP) $$(CPPFLAGS) $$< -o $$(C_BUILDDIR)/$3.i
|
||||
@$$(PREPROC) $$(C_BUILDDIR)/$3.i charmap.txt | $$(CC1) $$(CFLAGS) -o $$(C_BUILDDIR)/$3.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $$(C_BUILDDIR)/$3.s
|
||||
$$(AS) $$(ASFLAGS) -o $$@ $$(C_BUILDDIR)/$3.s
|
||||
endif
|
||||
endef
|
||||
$(foreach src, $(C_SRCS), $(eval $(call C_DEP,$(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(src)),$(src),$(patsubst $(C_SUBDIR)/%.c,%,$(src)))))
|
||||
endif
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(GFLIB_BUILDDIR)/%.o: $(GFLIB_SUBDIR)/%.c $$(c_dep)
|
||||
ifeq (,$(KEEP_TEMPS))
|
||||
@echo "$(CC1) <flags> -o $@ $<"
|
||||
@$(CPP) $(CPPFLAGS) $< | $(PREPROC) $< charmap.txt -i | $(CC1) $(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $(AS) $(ASFLAGS) -o $@ -
|
||||
else
|
||||
@$(CPP) $(CPPFLAGS) $< -o $(GFLIB_BUILDDIR)/$*.i
|
||||
@$(PREPROC) $(GFLIB_BUILDDIR)/$*.i charmap.txt | $(CC1) $(CFLAGS) -o $(GFLIB_BUILDDIR)/$*.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $(GFLIB_BUILDDIR)/$*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $(GFLIB_BUILDDIR)/$*.s
|
||||
endif
|
||||
else
|
||||
define GFLIB_DEP
|
||||
$1: $2 $$(shell $(SCANINC) -I include -I tools/agbcc/include -I gflib $2)
|
||||
ifeq (,$$(KEEP_TEMPS))
|
||||
@echo "$$(CC1) <flags> -o $$@ $$<"
|
||||
@$$(CPP) $$(CPPFLAGS) $$< | $$(PREPROC) $$< charmap.txt -i | $$(CC1) $$(CFLAGS) -o - - | cat - <(echo -e ".text\n\t.align\t2, 0") | $$(AS) $$(ASFLAGS) -o $$@ -
|
||||
else
|
||||
@$$(CPP) $$(CPPFLAGS) $$< -o $$(GFLIB_BUILDDIR)/$3.i
|
||||
@$$(PREPROC) $$(GFLIB_BUILDDIR)/$3.i charmap.txt | $$(CC1) $$(CFLAGS) -o $$(GFLIB_BUILDDIR)/$3.s
|
||||
@echo -e ".text\n\t.align\t2, 0\n" >> $$(GFLIB_BUILDDIR)/$3.s
|
||||
$$(AS) $$(ASFLAGS) -o $$@ $$(GFLIB_BUILDDIR)/$3.s
|
||||
endif
|
||||
endef
|
||||
$(foreach src, $(GFLIB_SRCS), $(eval $(call GFLIB_DEP,$(patsubst $(GFLIB_SUBDIR)/%.c,$(GFLIB_BUILDDIR)/%.o, $(src)),$(src),$(patsubst $(GFLIB_SUBDIR)/%.c,%, $(src)))))
|
||||
endif
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s
|
||||
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@
|
||||
else
|
||||
define SRC_ASM_DATA_DEP
|
||||
$1: $2 $$(shell $(SCANINC) -I include -I "" $2)
|
||||
$$(PREPROC) $$< charmap.txt | $$(CPP) -I include - | $$(AS) $$(ASFLAGS) -o $$@
|
||||
endef
|
||||
$(foreach src, $(C_ASM_SRCS), $(eval $(call SRC_ASM_DATA_DEP,$(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o, $(src)),$(src))))
|
||||
endif
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s
|
||||
@ -296,13 +388,10 @@ endif
|
||||
|
||||
ifeq ($(NODEP),1)
|
||||
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s
|
||||
$(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
|
||||
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@
|
||||
else
|
||||
define DATA_ASM_DEP
|
||||
$1: $2 $$(shell $(SCANINC) -I include -I "" $2)
|
||||
$$(PREPROC) $$< charmap.txt | $$(CPP) -I include | $$(AS) $$(ASFLAGS) -o $$@
|
||||
endef
|
||||
$(foreach src, $(REGULAR_DATA_ASM_SRCS), $(eval $(call DATA_ASM_DEP,$(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o, $(src)),$(src))))
|
||||
$(foreach src, $(REGULAR_DATA_ASM_SRCS), $(eval $(call SRC_ASM_DATA_DEP,$(patsubst $(DATA_ASM_SUBDIR)/%.s,$(DATA_ASM_BUILDDIR)/%.o, $(src)),$(src))))
|
||||
endif
|
||||
endif
|
||||
|
||||
$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
|
||||
@ -329,19 +418,27 @@ $(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)
|
||||
cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT) > ld_script.ld
|
||||
|
||||
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) berry_fix libagbsyscall
|
||||
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
|
||||
@echo "cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ <objects> <lib>"
|
||||
@cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
|
||||
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
|
||||
|
||||
$(ROM): $(ELF)
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
$(FIX) $@ -p --silent
|
||||
|
||||
modern: ; @$(MAKE) MODERN=1
|
||||
modern: all
|
||||
|
||||
berry_fix/berry_fix.gba: berry_fix
|
||||
|
||||
berry_fix:
|
||||
@$(MAKE) -C berry_fix COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN)
|
||||
@$(MAKE) -C berry_fix COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
|
||||
|
||||
libagbsyscall:
|
||||
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN)
|
||||
@$(MAKE) -C libagbsyscall TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
|
||||
|
||||
###################
|
||||
### Symbol file ###
|
||||
###################
|
||||
|
||||
$(SYM): $(ELF)
|
||||
$(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" | $(PERL) -p -e 's/^(\w{8}) (\w).{6} \S+\t(\w{8}) (\S+)$$/\1 \2 \3 \4/g' > $@
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
# Pokémon Emerald
|
||||
|
||||
[![Build Status][travis-badge]][travis]
|
||||
|
||||
[travis]: https://travis-ci.org/pret/pokeemerald
|
||||
[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master
|
||||
|
||||
This is a decompilation of Pokémon Emerald.
|
||||
|
||||
It builds the following ROM:
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
.include "asm/macros/movement.inc"
|
||||
.include "asm/macros/window.inc"
|
||||
.include "asm/macros/pokemon_data.inc"
|
||||
.include "asm/macros/ec.inc"
|
||||
.include "asm/macros/map.inc"
|
||||
.include "asm/macros/field_effect_script.inc"
|
||||
.include "asm/macros/trainer_hill.inc"
|
||||
|
||||
@ -178,11 +178,11 @@
|
||||
.byte \case
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpiftype battler:req, type:req, ptr:req
|
||||
jumpbasedontype \battler, \type, 1, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnottype battler:req, type:req, ptr:req
|
||||
jumpbasedontype \battler, \type, 0, \ptr
|
||||
.endm
|
||||
@ -409,33 +409,33 @@
|
||||
.byte \param0
|
||||
.byte \param1
|
||||
.endm
|
||||
|
||||
|
||||
@ Help macros for 5 uses of moveend command
|
||||
|
||||
|
||||
@ All cases
|
||||
.macro moveendall
|
||||
setbyte sMOVEEND_STATE, 0
|
||||
moveend 0, 0
|
||||
.endm
|
||||
|
||||
|
||||
@ Chosen case
|
||||
.macro moveendcase case:req
|
||||
setbyte sMOVEEND_STATE, \case
|
||||
moveend 1, 0
|
||||
.endm
|
||||
|
||||
|
||||
@ All cases from (inclusive)
|
||||
.macro moveendfrom from:req
|
||||
setbyte sMOVEEND_STATE, \from
|
||||
moveend 0, 0
|
||||
.endm
|
||||
|
||||
|
||||
@ All cases from 0 to (not inclusive)
|
||||
.macro moveendto to:req
|
||||
setbyte sMOVEEND_STATE, 0
|
||||
moveend 2, \to
|
||||
.endm
|
||||
|
||||
|
||||
@ Cases from (inclusive) to (not inclusive)
|
||||
.macro moveendfromto from:req, to:req
|
||||
setbyte sMOVEEND_STATE, \from
|
||||
@ -510,7 +510,7 @@
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro atk57
|
||||
.macro endlinkbattle
|
||||
.byte 0x57
|
||||
.endm
|
||||
|
||||
@ -1262,407 +1262,407 @@
|
||||
.byte 0xf8
|
||||
.byte \param0
|
||||
.endm
|
||||
|
||||
|
||||
.macro settelekinesis ptr:req
|
||||
.byte 0xf9
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro swapstatstages stat:req
|
||||
.byte 0xfa
|
||||
.byte \stat
|
||||
.endm
|
||||
|
||||
|
||||
.macro averagestats stat:req
|
||||
.byte 0xfb
|
||||
.byte \stat
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifoppositegenders ptr:req
|
||||
.byte 0xfc
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trygetbaddreamstarget ptr:req
|
||||
.byte 0xfd
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryworryseed ptr:req
|
||||
.byte 0xfe
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro metalburstdamagecalculator ptr:req
|
||||
.byte 0xff
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
@ various command changed to more readable macros
|
||||
.macro cancelmultiturnmoves battler:req
|
||||
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||
.endm
|
||||
|
||||
|
||||
.macro setmagiccoattarget battler:req
|
||||
various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
|
||||
.endm
|
||||
|
||||
|
||||
.macro getifcantrunfrombattle battler:req
|
||||
various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
|
||||
.endm
|
||||
|
||||
|
||||
.macro getmovetarget battler:req
|
||||
various \battler, VARIOUS_GET_MOVE_TARGET
|
||||
.endm
|
||||
|
||||
|
||||
.macro getbattlerfainted battler:req
|
||||
various \battler, VARIOUS_GET_BATTLER_FAINTED
|
||||
.endm
|
||||
|
||||
|
||||
.macro resetintimidatetracebits battler:req
|
||||
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
|
||||
.endm
|
||||
|
||||
|
||||
.macro updatechoicemoveonlvlup battler:req
|
||||
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
|
||||
.endm
|
||||
|
||||
|
||||
.macro various7 battler:req
|
||||
various \battler, 7
|
||||
.endm
|
||||
|
||||
|
||||
.macro palaceflavortext battler:req
|
||||
various \battler, VARIOUS_PALACE_FLAVOR_TEXT
|
||||
.endm
|
||||
|
||||
|
||||
.macro arenajudgmentwindow
|
||||
various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW
|
||||
.endm
|
||||
|
||||
|
||||
.macro arenaopponentmonlost
|
||||
various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST
|
||||
.endm
|
||||
|
||||
|
||||
.macro arenaplayermonlost
|
||||
various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST
|
||||
.endm
|
||||
|
||||
|
||||
.macro arenabothmonlost
|
||||
various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST
|
||||
.endm
|
||||
|
||||
|
||||
.macro forfeityesnobox battler:req
|
||||
various \battler, VARIOUS_EMIT_YESNOBOX
|
||||
.endm
|
||||
|
||||
|
||||
.macro various14 battler:req
|
||||
various \battler, 14
|
||||
.endm
|
||||
|
||||
|
||||
.macro various15 battler:req
|
||||
various \battler, 15
|
||||
.endm
|
||||
|
||||
.macro arenajudmengtstring id:req
|
||||
|
||||
.macro arenajudgmentstring id:req
|
||||
various \id, VARIOUS_ARENA_JUDGMENT_STRING
|
||||
.endm
|
||||
|
||||
|
||||
.macro arenawaitmessage id:req
|
||||
various \id, VARIOUS_ARENA_WAIT_STRING
|
||||
.endm
|
||||
|
||||
|
||||
.macro waitcry battler:req
|
||||
various \battler, VARIOUS_WAIT_CRY
|
||||
.endm
|
||||
|
||||
|
||||
.macro returnopponentmon1toball battler:req
|
||||
various \battler, VARIOUS_RETURN_OPPONENT_MON1
|
||||
.endm
|
||||
|
||||
|
||||
.macro returnopponentmon2toball battler:req
|
||||
various \battler, VARIOUS_RETURN_OPPONENT_MON2
|
||||
.endm
|
||||
|
||||
|
||||
.macro volumedown
|
||||
various BS_ATTACKER, VARIOUS_VOLUME_DOWN
|
||||
.endm
|
||||
|
||||
|
||||
.macro volumeup
|
||||
various BS_ATTACKER, VARIOUS_VOLUME_UP
|
||||
.endm
|
||||
|
||||
|
||||
.macro setalreadystatusedmoveattempt battler:req
|
||||
various \battler, 23
|
||||
.endm
|
||||
|
||||
|
||||
.macro various24 battler:req
|
||||
various \battler, 24
|
||||
.endm
|
||||
|
||||
|
||||
.macro setoutcomeonteleport battler:req
|
||||
various \battler, VARIOUS_SET_TELEPORT_OUTCOME
|
||||
.endm
|
||||
|
||||
|
||||
.macro playtrainerdefeatbgm battler:req
|
||||
various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
|
||||
.endm
|
||||
|
||||
|
||||
.macro stattextbuffer battler:req
|
||||
various \battler, VARIOUS_STAT_TEXT_BUFFER
|
||||
.endm
|
||||
|
||||
|
||||
.macro switchinabilities battler:req
|
||||
various \battler, VARIOUS_SWITCHIN_ABILITIES
|
||||
.endm
|
||||
|
||||
|
||||
.macro savetarget
|
||||
various BS_TARGET, VARIOUS_SAVE_TARGET
|
||||
.endm
|
||||
|
||||
|
||||
.macro restoretarget
|
||||
various BS_TARGET, VARIOUS_RESTORE_TARGET
|
||||
.endm
|
||||
|
||||
|
||||
.macro instanthpdrop battler:req
|
||||
various \battler, VARIOUS_INSTANT_HP_DROP
|
||||
.endm
|
||||
|
||||
|
||||
.macro clearstatus battler:req
|
||||
various \battler, VARIOUS_CLEAR_STATUS
|
||||
.endm
|
||||
|
||||
|
||||
.macro restorepp battler:req
|
||||
various \battler, VARIOUS_RESTORE_PP
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryactivatemoxie battler:req
|
||||
various \battler, VARIOUS_TRY_ACTIVATE_MOXIE
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryactivatebeastboost battler:req
|
||||
various \battler, VARIOUS_TRY_ACTIVATE_BEAST_BOOST
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryactivatereceiver battler:req
|
||||
various \battler, VARIOUS_TRY_ACTIVATE_RECEIVER
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryactivatesoulheart
|
||||
various BS_ATTACKER, VARIOUS_TRY_ACTIVATE_SOULHEART
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryactivatefellstinger battler:req
|
||||
various \battler, VARIOUS_TRY_ACTIVATE_FELL_STINGER
|
||||
.endm
|
||||
|
||||
|
||||
.macro playmoveanimation battler:req, move:req
|
||||
various \battler, VARIOUS_PLAY_MOVE_ANIMATION
|
||||
.2byte \move
|
||||
.endm
|
||||
|
||||
|
||||
.macro setluckychant battler:req, ptr:req
|
||||
various \battler VARIOUS_SET_LUCKY_CHANT
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro suckerpunchcheck ptr:req
|
||||
various BS_ATTACKER, VARIOUS_SUCKER_PUNCH_CHECK
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro setabilitysimple battler:req, ptr:req
|
||||
various \battler VARIOUS_SET_SIMPLE_BEAM
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryentrainment ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_ENTRAINMENT
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro setlastusedability battler:req
|
||||
various \battler, VARIOUS_SET_LAST_USED_ABILITY
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryhealpulse battler:req, ptr:req
|
||||
various \battler, VARIOUS_TRY_HEAL_PULSE
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryquash ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_QUASH
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryafteryou ptr:req
|
||||
various BS_ATTACKER, VARIOUS_AFTER_YOU
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trybestow ptr:req
|
||||
various BS_ATTACKER, VARIOUS_BESTOW
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro invertstatstages battler:req
|
||||
various \battler, VARIOUS_INVERT_STAT_STAGES
|
||||
.endm
|
||||
|
||||
|
||||
.macro setterrain ptr:req
|
||||
various BS_ATTACKER, VARIOUS_SET_TERRAIN
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trymefirst ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_ME_FIRST
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifbattleend ptr:req
|
||||
various BS_ATTACKER, VARIOUS_JUMP_IF_BATTLE_END
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryelectrify ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_ELECTRIFY
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryreflecttype ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_REFLECT_TYPE
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trysoak ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_SOAK
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro handlemegaevo battler:req, case:req
|
||||
various \battler, VARIOUS_HANDLE_MEGA_EVO
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
|
||||
.macro handleformchange battler:req, case:req
|
||||
various \battler, VARIOUS_HANDLE_FORM_CHANGE
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifcantuselastresort battler:req, ptr:req
|
||||
various \battler, VARIOUS_TRY_LAST_RESORT
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro argumentstatuseffect
|
||||
various BS_ATTACKER, VARIOUS_ARGUMENT_STATUS_EFFECT
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryhitswitchtarget ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_HIT_SWITCH_TARGET
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryautotomize battler:req, ptr:req
|
||||
various \battler, VARIOUS_TRY_AUTOTOMIZE
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifcantusesynchronoise ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_SYNCHRONOISE
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trycopycat ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_COPYCAT
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro showabilitypopup battler:req
|
||||
various \battler, VARIOUS_ABILITY_POPUP
|
||||
.endm
|
||||
|
||||
|
||||
.macro defogclear battler:req, clear:req, ptr:req
|
||||
various \battler, VARIOUS_DEFOG
|
||||
.byte \clear
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpiftargetally ptr:req
|
||||
various BS_ATTACKER, VARIOUS_JUMP_IF_TARGET_ALLY
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trypsychoshift ptr:req
|
||||
various BS_ATTACKER, VARIOUS_PSYCHO_SHIFT
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro curestatus battler:req
|
||||
various \battler, VARIOUS_CURE_STATUS
|
||||
.endm
|
||||
|
||||
|
||||
.macro powertrick battler:req
|
||||
various \battler, VARIOUS_POWER_TRICK
|
||||
.endm
|
||||
|
||||
|
||||
.macro argumenttomoveeffect
|
||||
various BS_ATTACKER, VARIOUS_ARGUMENT_TO_MOVE_EFFECT
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnotgrounded battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_NOT_GROUNDED
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro handletrainerslidemsg battler:req, field:req
|
||||
various \battler, VARIOUS_HANDLE_TRAINER_SLIDE_MSG
|
||||
.byte \field
|
||||
.endm
|
||||
|
||||
|
||||
.macro trytrainerslidefirstdownmsg battler:req
|
||||
various \battler, VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF
|
||||
.endm
|
||||
|
||||
|
||||
.macro trytrainerslidelastonmsg battler:req
|
||||
various \battler, VARIOUS_TRY_TRAINER_SLIDE_MSG_LAST_ON
|
||||
.endm
|
||||
|
||||
|
||||
.macro setauroraveil battler:req
|
||||
various \battler, VARIOUS_SET_AURORA_VEIL
|
||||
.endm
|
||||
|
||||
|
||||
.macro trysetthirdtype battler:req, ptr:req
|
||||
various \battler, VARIOUS_TRY_THIRD_TYPE
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryaccupressure battler:req, ptr:req
|
||||
various \battler, VARIOUS_ACUPRESSURE
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro setpowder battler:req
|
||||
various \battler, VARIOUS_SET_POWDER
|
||||
.endm
|
||||
|
||||
|
||||
.macro spectralthiefprintstats
|
||||
various BS_ATTACKER, VARIOUS_SPECTRAL_THIEF
|
||||
.endm
|
||||
|
||||
|
||||
.macro bringdownairbornebattler battler:req
|
||||
various \battler, VARIOUS_GRAVITY_ON_AIRBORNE_MONS
|
||||
.endm
|
||||
|
||||
|
||||
.macro checkgrassyterrainheal battler:req, ptr:req
|
||||
various \battler, VARIOUS_CHECK_IF_GRASSY_TERRAIN_HEALS
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnotberry battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_NOT_BERRY
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifroarfails ptr:req
|
||||
various BS_ATTACKER, VARIOUS_JUMP_IF_ROAR_FAILS
|
||||
.4byte \ptr
|
||||
@ -1672,43 +1672,43 @@
|
||||
various BS_ATTACKER, VARIOUS_TRY_INSTRUCT
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro settracedability battler:req
|
||||
various \battler, VARIOUS_TRACE_ABILITY
|
||||
.endm
|
||||
|
||||
|
||||
.macro updatenick battler:req
|
||||
various \battler, VARIOUS_UPDATE_NICK
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryillusionoff battler:req
|
||||
various \battler, VARIOUS_TRY_ILLUSION_OFF
|
||||
.endm
|
||||
|
||||
|
||||
.macro spriteignore0hp val:req
|
||||
various BS_ATTACKER, VARIOUS_SET_SPRITEIGNORE0HP
|
||||
.byte \val
|
||||
.endm
|
||||
|
||||
|
||||
.macro getstatvalue battler:req, statId:req
|
||||
various \battler, VARIOUS_GET_STAT_VALUE
|
||||
.byte \statId
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpiffullhp battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_FULL_HP
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro losetype battler:req, type:req
|
||||
various \battler, VARIOUS_LOSE_TYPE
|
||||
.byte \type
|
||||
.endm
|
||||
|
||||
|
||||
.macro tryfriskmsg battler:req
|
||||
various \battler, VARIOUS_TRY_FRISK
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifshieldsdown battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_SHIELDS_DOWN_PROTECTED
|
||||
.4byte \ptr
|
||||
@ -1725,32 +1725,32 @@
|
||||
.byte \target
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro trysetfairylock ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TRY_FAIRY_LOCK
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnoally battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_NO_ALLY
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnoholdeffect battler:req, holdEffet:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_NO_HOLD_EFFECT
|
||||
.byte \holdEffet
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro infatuatewithbattler battler1:req, battler2:req
|
||||
various \battler1, VARIOUS_INFATUATE_WITH_BATTLER
|
||||
.byte \battler2
|
||||
.endm
|
||||
|
||||
|
||||
.macro setlastuseditem battler:req
|
||||
various \battler, VARIOUS_SET_LAST_USED_ITEM
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifabsent battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_ABSENT
|
||||
.4byte \ptr
|
||||
@ -1764,57 +1764,69 @@
|
||||
various BS_ATTACKER, VARIOUS_TOTEM_BOOST
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro tryactivategrimneigh, battler:req
|
||||
various \battler, VARIOUS_TRY_ACTIVATE_GRIM_NEIGH
|
||||
.endm
|
||||
|
||||
.macro activateitemeffects battler:req
|
||||
various \battler, VARIOUS_MOVEEND_ITEM_EFFECTS
|
||||
.endm
|
||||
|
||||
.macro pickpocketsteal
|
||||
various 0, VARIOUS_PICKPOCKET
|
||||
.endm
|
||||
|
||||
@ helpful macros
|
||||
.macro setstatchanger stat:req, stages:req, down:req
|
||||
setbyte sSTATCHANGER \stat | \stages << 3 | \down << 7
|
||||
.endm
|
||||
|
||||
|
||||
.macro setmoveeffect effect:req
|
||||
sethword sMOVE_EFFECT \effect
|
||||
sethword sSAVED_MOVE_EFFECT \effect
|
||||
.endm
|
||||
|
||||
|
||||
.macro chosenstatus1animation battler:req, status:req
|
||||
chosenstatusanimation \battler, 0x0, \status
|
||||
.endm
|
||||
|
||||
|
||||
.macro chosenstatus2animation battler:req, status:req
|
||||
chosenstatusanimation \battler, 0x1, \status
|
||||
.endm
|
||||
|
||||
|
||||
.macro sethword dst:req, value:req
|
||||
setbyte \dst, (\value) & 0xFF
|
||||
setbyte \dst + 1, ((\value) >> 8) & 0xFF
|
||||
.endm
|
||||
|
||||
|
||||
.macro setword dst:req, value:req
|
||||
setbyte \dst, (\value) & 0xFF
|
||||
setbyte \dst + 1, ((\value) >> 8) & 0xFF
|
||||
setbyte \dst + 2, ((\value) >> 16) & 0xFF
|
||||
setbyte \dst + 3, ((\value) >> 24) & 0xFF
|
||||
.endm
|
||||
|
||||
|
||||
.macro copybyte dst:req, src:req
|
||||
copyarray \dst, \src, 0x1
|
||||
.endm
|
||||
|
||||
|
||||
.macro copyhword dst:req, src:req
|
||||
copyarray \dst, \src, 0x2
|
||||
.endm
|
||||
|
||||
|
||||
.macro copyword dst:req, src:req
|
||||
copyarray \dst, \src, 0x4
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
|
||||
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
|
||||
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifmove move:req, jumpptr:req
|
||||
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
|
||||
.endm
|
||||
@ -1830,39 +1842,39 @@
|
||||
.macro jumpifstatus3 battler, status:req, jumpptr:req
|
||||
jumpifstatus3condition \battler, \status, 0x0, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnostatus3 battler:req, status:req, jumpptr:req
|
||||
jumpifstatus3condition \battler, \status, 0x1, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifmovehadnoeffect jumpptr:req
|
||||
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifbattletype flags:req, jumpptr:req
|
||||
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifnotbattletype flags:req, jumpptr:req
|
||||
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro dmg_1_8_targethp
|
||||
manipulatedamage DMG_1_8_TARGET_HP
|
||||
.endm
|
||||
|
||||
|
||||
.macro dmgtomaxattackerhp
|
||||
manipulatedamage DMG_FULL_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
|
||||
.macro dmgtocurrattackerhp
|
||||
manipulatedamage DMG_CURR_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
|
||||
.macro dmg_1_2_attackerhp
|
||||
manipulatedamage DMG_1_2_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifflowerveil jumpptr:req
|
||||
jumpifnottype BS_TARGET, TYPE_GRASS, 1f
|
||||
jumpifability BS_TARGET_SIDE, ABILITY_FLOWER_VEIL, \jumpptr
|
||||
@ -1883,7 +1895,7 @@
|
||||
jumpifability BS_TARGET, ABILITY_LEAF_GUARD, \jumpptr
|
||||
1:
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifsafeguard jumpptr:req
|
||||
jumpifability BS_ATTACKER, ABILITY_INFILTRATOR, 1f
|
||||
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, \jumpptr
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
.macro ec_word word
|
||||
.2byte EC_WORD_\word
|
||||
.endm
|
||||
|
||||
.macro ec_move1 name
|
||||
.2byte (EC_GROUP_MOVE_1 << 9) | MOVE_\name
|
||||
.endm
|
||||
|
||||
.macro ec_move2 name
|
||||
.2byte (EC_GROUP_MOVE_2 << 9) | MOVE_\name
|
||||
.endm
|
||||
|
||||
.macro ec_pokemon1 name
|
||||
.2byte (EC_GROUP_POKEMON << 9) | SPECIES_\name
|
||||
.endm
|
||||
|
||||
.macro ec_pokemon2 name
|
||||
.2byte (EC_GROUP_POKEMON2 << 9) | SPECIES_\name
|
||||
.endm
|
||||
@ -345,11 +345,12 @@
|
||||
.byte 0x32
|
||||
.endm
|
||||
|
||||
@ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00.
|
||||
.macro playbgm song_number:req, unknown:req
|
||||
@ Plays the specified (song_number) song. If save_song is TRUE, the
|
||||
@ specified (song_number) will be saved as if savebgm was called with it.
|
||||
.macro playbgm song_number:req, save_song:req
|
||||
.byte 0x33
|
||||
.2byte \song_number
|
||||
.byte \unknown
|
||||
.byte \save_song
|
||||
.endm
|
||||
|
||||
@ Saves the specified (song_number) song to be played later.
|
||||
@ -812,12 +813,12 @@
|
||||
.byte 0x68
|
||||
.endm
|
||||
|
||||
@ Ceases movement for all Objects on-screen.
|
||||
@ Freezes all objects immediately except the player. The player is frozen once their movement is finished.
|
||||
.macro lockall
|
||||
.byte 0x69
|
||||
.endm
|
||||
|
||||
@ If the script was called by an Object, then that Object's movement will cease.
|
||||
@ Freezes all objects immediately except the player and the selected object. The player and selected object are frozen once their movement is finished.
|
||||
.macro lock
|
||||
.byte 0x6a
|
||||
.endm
|
||||
@ -846,38 +847,40 @@
|
||||
.endm
|
||||
|
||||
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
|
||||
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
|
||||
.macro multichoice x:req, y:req, list:req, b:req
|
||||
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
|
||||
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
|
||||
.macro multichoice x:req, y:req, multichoiceId:req, ignoreBPress:req
|
||||
.byte 0x6f
|
||||
.byte \x
|
||||
.byte \y
|
||||
.byte \list
|
||||
.byte \b
|
||||
.byte \multichoiceId
|
||||
.byte \ignoreBPress
|
||||
.endm
|
||||
|
||||
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
|
||||
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. The default argument determines
|
||||
@ the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00.
|
||||
@ If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
|
||||
.macro multichoicedefault x:req, y:req, list:req, default:req, b:req
|
||||
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
|
||||
@ The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00.
|
||||
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
|
||||
.macro multichoicedefault x:req, y:req, multichoiceId:req, default:req, ignoreBPress:req
|
||||
.byte 0x70
|
||||
.byte \x
|
||||
.byte \y
|
||||
.byte \list
|
||||
.byte \multichoiceId
|
||||
.byte \default
|
||||
.byte \b
|
||||
.byte \ignoreBPress
|
||||
.endm
|
||||
|
||||
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
|
||||
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list.
|
||||
@ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
|
||||
@ The per_row argument determines how many list items will be shown on a single row of the box.
|
||||
.macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req
|
||||
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
|
||||
.macro multichoicegrid x:req, y:req, multichoiceId:req, per_row:req, ignoreBPress:req
|
||||
.byte 0x71
|
||||
.byte \x
|
||||
.byte \y
|
||||
.byte \list
|
||||
.byte \multichoiceId
|
||||
.byte \per_row
|
||||
.byte \B
|
||||
.byte \ignoreBPress
|
||||
.endm
|
||||
|
||||
@ Nopped in Emerald.
|
||||
@ -886,21 +889,21 @@
|
||||
.endm
|
||||
|
||||
@ Nopped in Emerald, but still consumes parameters.
|
||||
.macro erasebox byte1:req, byte2:req, byte3:req, byte4:req
|
||||
.macro erasebox left:req, top:req, right:req, bottom:req
|
||||
.byte 0x73
|
||||
.byte \byte1
|
||||
.byte \byte2
|
||||
.byte \byte3
|
||||
.byte \byte4
|
||||
.byte \left
|
||||
.byte \top
|
||||
.byte \right
|
||||
.byte \bottom
|
||||
.endm
|
||||
|
||||
@ Nopped in Emerald, but still consumes parameters.
|
||||
.macro drawboxtext byte1:req, byte2:req, byte3:req, byte4:req
|
||||
.macro drawboxtext left:req, top:req, multichoiceId:req, ignoreBPress:req
|
||||
.byte 0x74
|
||||
.byte \byte1
|
||||
.byte \byte2
|
||||
.byte \byte3
|
||||
.byte \byte4
|
||||
.byte \left
|
||||
.byte \top
|
||||
.byte \multichoiceId
|
||||
.byte \ignoreBPress
|
||||
.endm
|
||||
|
||||
@ Displays a box containing the front sprite for the specified (species) Pokemon species.
|
||||
@ -916,10 +919,10 @@
|
||||
.byte 0x76
|
||||
.endm
|
||||
|
||||
@ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.)
|
||||
.macro showcontestwinner a:req
|
||||
@ Draws an image of the winner of the contest. winnerId is any CONTEST_WINNER_* constant.
|
||||
.macro showcontestpainting winnerId:req
|
||||
.byte 0x77
|
||||
.byte \a
|
||||
.byte \winnerId
|
||||
.endm
|
||||
|
||||
@ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille
|
||||
@ -930,6 +933,17 @@
|
||||
.4byte \text
|
||||
.endm
|
||||
|
||||
@ Formatting for the braille window, to be put at the start of a pointer used by braillemessage.
|
||||
@ These are from RS and are ignored in Emerald (see ScrCmd_braillemessage, and comment above)
|
||||
.macro brailleformat winLeft:req, winTop:req, winRight:req, winBottom:req, textLeft:req, textTop:req
|
||||
.byte \winLeft
|
||||
.byte \winTop
|
||||
.byte \winRight
|
||||
.byte \winBottom
|
||||
.byte \textLeft
|
||||
.byte \textTop
|
||||
.endm
|
||||
|
||||
@ Gives the player one of the specified (species) Pokemon at level level holding item. The trailing 0s are unused parameters
|
||||
.macro givemon species:req, level:req, item:req
|
||||
.byte 0x79
|
||||
@ -1481,15 +1495,15 @@
|
||||
.4byte \value
|
||||
.endm
|
||||
|
||||
@ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
|
||||
.macro setmonobedient slot:req
|
||||
@ Sets the Pokemon in the specified slot of the player party's eventLegal bit.
|
||||
.macro setmoneventlegal slot:req
|
||||
.byte 0xcd
|
||||
.2byte \slot
|
||||
.endm
|
||||
|
||||
@ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient,
|
||||
@ VAR_RESULT is TRUE. If the Pokemon is obedient (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
|
||||
.macro checkmonobedience slot:req
|
||||
@ Checks if the Pokemon in the specified slot of the player's party has its eventLegal bit set. If it isn't set,
|
||||
@ VAR_RESULT is TRUE. If the bit is set (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
|
||||
.macro checkmoneventlegal slot:req
|
||||
.byte 0xce
|
||||
.2byte \slot
|
||||
.endm
|
||||
@ -1556,11 +1570,11 @@
|
||||
.2byte \y
|
||||
.endm
|
||||
|
||||
.macro cmdD8
|
||||
.macro selectapproachingtrainer
|
||||
.byte 0xd8
|
||||
.endm
|
||||
|
||||
.macro cmdD9
|
||||
.macro lockfortrainer
|
||||
.byte 0xd9
|
||||
.endm
|
||||
|
||||
@ -1568,7 +1582,7 @@
|
||||
.byte 0xda
|
||||
.endm
|
||||
|
||||
.macro message3 pointer:req
|
||||
.macro messageinstant pointer:req
|
||||
.byte 0xdb
|
||||
.4byte \pointer
|
||||
.endm
|
||||
|
||||
@ -51,25 +51,25 @@
|
||||
inc _num_traps
|
||||
.endm
|
||||
|
||||
.macro bg_event x, y, elevation, kind, arg6, arg7, arg8
|
||||
.macro bg_event x, y, elevation, kind, arg6, arg7
|
||||
.2byte \x, \y
|
||||
.byte \elevation, \kind
|
||||
.2byte 0
|
||||
.if \kind < 5
|
||||
.if \kind != BG_EVENT_HIDDEN_ITEM
|
||||
.4byte \arg6
|
||||
.else
|
||||
.2byte \arg6
|
||||
.byte \arg7, \arg8
|
||||
.2byte \arg7
|
||||
.endif
|
||||
inc _num_signs
|
||||
.endm
|
||||
|
||||
.macro bg_hidden_item_event x, y, height, item, flag
|
||||
bg_event \x, \y, \height, 7, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START), 0
|
||||
bg_event \x, \y, \height, BG_EVENT_HIDDEN_ITEM, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START)
|
||||
.endm
|
||||
|
||||
.macro bg_secret_base_event x, y, height, secret_base_id
|
||||
bg_event \x, \y, \height, 8, \secret_base_id, 0, 0
|
||||
bg_event \x, \y, \height, BG_EVENT_SECRET_BASE, \secret_base_id
|
||||
.endm
|
||||
|
||||
.macro map_events npcs, warps, traps, signs
|
||||
|
||||
10
asmdiff.sh
10
asmdiff.sh
@ -1,11 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb"
|
||||
if [[ -d "$DEVKITARM/bin/" ]]; then
|
||||
OBJDUMP_BIN="$DEVKITARM/bin/arm-none-eabi-objdump"
|
||||
else
|
||||
OBJDUMP_BIN="arm-none-eabi-objdump"
|
||||
fi
|
||||
|
||||
OBJDUMP="$OBJDUMP_BIN -D -bbinary -marmv4t -Mforce-thumb"
|
||||
|
||||
if [ $(($1)) -ge $((0x8000000)) ]; then
|
||||
OPTIONS="--adjust-vma=0x8000000 --start-address=$(($1)) --stop-address=$(($1 + $2))"
|
||||
else
|
||||
OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))"
|
||||
fi
|
||||
|
||||
$OBJDUMP $OPTIONS baserom.gba > baserom.dump
|
||||
$OBJDUMP $OPTIONS pokeemerald.gba > pokeemerald.dump
|
||||
diff -u baserom.dump pokeemerald.dump
|
||||
|
||||
@ -1,29 +1,27 @@
|
||||
TOOLCHAIN := $(DEVKITARM)
|
||||
COMPARE ?= 0
|
||||
|
||||
ifeq ($(CC),)
|
||||
HOSTCC := gcc
|
||||
else
|
||||
HOSTCC := $(CC)
|
||||
endif
|
||||
# don't use dkP's base_tools anymore
|
||||
# because the redefinition of $(CC) conflicts
|
||||
# with when we want to use $(CC) to preprocess files
|
||||
# thus, manually create the variables for the bin
|
||||
# files, or use arm-none-eabi binaries on the system
|
||||
# if dkP is not installed on this system
|
||||
|
||||
ifeq ($(CXX),)
|
||||
HOSTCXX := g++
|
||||
else
|
||||
HOSTCXX := $(CXX)
|
||||
endif
|
||||
|
||||
ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
|
||||
include $(TOOLCHAIN)/base_tools
|
||||
else
|
||||
ifneq (,$(TOOLCHAIN))
|
||||
ifneq ($(wildcard $(TOOLCHAIN)/bin),)
|
||||
export PATH := $(TOOLCHAIN)/bin:$(PATH)
|
||||
endif
|
||||
endif
|
||||
|
||||
PREFIX := arm-none-eabi-
|
||||
OBJCOPY := $(PREFIX)objcopy
|
||||
export CC := $(PREFIX)gcc
|
||||
export AS := $(PREFIX)as
|
||||
endif
|
||||
export CPP := $(PREFIX)cpp
|
||||
export LD := $(PREFIX)ld
|
||||
AS := $(PREFIX)as
|
||||
LD := $(PREFIX)ld
|
||||
|
||||
# note: the makefile must be set up so MODERNCC is never called
|
||||
# if MODERN=0
|
||||
MODERNCC := $(PREFIX)gcc
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
EXE := .exe
|
||||
@ -31,6 +29,23 @@ else
|
||||
EXE :=
|
||||
endif
|
||||
|
||||
# use arm-none-eabi-cpp for macOS
|
||||
# as macOS's default compiler is clang
|
||||
# and clang's preprocessor will warn on \u
|
||||
# when preprocessing asm files, expecting a unicode literal
|
||||
# we can't unconditionally use arm-none-eabi-cpp
|
||||
# as installations which install binutils-arm-none-eabi
|
||||
# don't come with it
|
||||
ifneq ($(MODERN),1)
|
||||
ifeq ($(shell uname -s),Darwin)
|
||||
CPP := $(PREFIX)cpp
|
||||
else
|
||||
CPP := $(CC) -E
|
||||
endif
|
||||
else
|
||||
CPP := $(PREFIX)cpp
|
||||
endif
|
||||
|
||||
GAME_CODE := AGBJ
|
||||
MAKER_CODE := 01
|
||||
REVISION := 0
|
||||
@ -166,7 +181,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
|
||||
endif
|
||||
|
||||
payload:
|
||||
@$(MAKE) -C payload COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN)
|
||||
@$(MAKE) -C payload COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN) MODERN=$(MODERN)
|
||||
|
||||
payload/payload.gba: payload
|
||||
|
||||
|
||||
@ -434,8 +434,8 @@ RESUME_MUSIC = FC 18
|
||||
|
||||
TRANSPARENT = 00
|
||||
WHITE = 01
|
||||
DARK_GREY = 02
|
||||
LIGHT_GREY = 03
|
||||
DARK_GRAY = 02
|
||||
LIGHT_GRAY = 03
|
||||
RED = 04
|
||||
LIGHT_RED = 05
|
||||
GREEN = 06
|
||||
|
||||
@ -1,29 +1,27 @@
|
||||
TOOLCHAIN := $(DEVKITARM)
|
||||
COMPARE ?= 0
|
||||
|
||||
ifeq ($(CC),)
|
||||
HOSTCC := gcc
|
||||
else
|
||||
HOSTCC := $(CC)
|
||||
endif
|
||||
# don't use dkP's base_tools anymore
|
||||
# because the redefinition of $(CC) conflicts
|
||||
# with when we want to use $(CC) to preprocess files
|
||||
# thus, manually create the variables for the bin
|
||||
# files, or use arm-none-eabi binaries on the system
|
||||
# if dkP is not installed on this system
|
||||
|
||||
ifeq ($(CXX),)
|
||||
HOSTCXX := g++
|
||||
else
|
||||
HOSTCXX := $(CXX)
|
||||
endif
|
||||
|
||||
ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
|
||||
include $(TOOLCHAIN)/base_tools
|
||||
else
|
||||
ifneq (,$(TOOLCHAIN))
|
||||
ifneq ($(wildcard $(TOOLCHAIN)/bin),)
|
||||
export PATH := $(TOOLCHAIN)/bin:$(PATH)
|
||||
endif
|
||||
endif
|
||||
|
||||
PREFIX := arm-none-eabi-
|
||||
OBJCOPY := $(PREFIX)objcopy
|
||||
export CC := $(PREFIX)gcc
|
||||
export AS := $(PREFIX)as
|
||||
endif
|
||||
export CPP := $(PREFIX)cpp
|
||||
export LD := $(PREFIX)ld
|
||||
AS := $(PREFIX)as
|
||||
LD := $(PREFIX)ld
|
||||
|
||||
# note: the makefile must be set up so MODERNCC is never called
|
||||
# if MODERN=0
|
||||
MODERNCC := $(PREFIX)gcc
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
EXE := .exe
|
||||
@ -31,6 +29,23 @@ else
|
||||
EXE :=
|
||||
endif
|
||||
|
||||
# use arm-none-eabi-cpp for macOS
|
||||
# as macOS's default compiler is clang
|
||||
# and clang's preprocessor will warn on \u
|
||||
# when preprocessing asm files, expecting a unicode literal
|
||||
# we can't unconditionally use arm-none-eabi-cpp
|
||||
# as installations which install binutils-arm-none-eabi
|
||||
# don't come with it
|
||||
ifneq ($(MODERN),1)
|
||||
ifeq ($(shell uname -s),Darwin)
|
||||
CPP := $(PREFIX)cpp
|
||||
else
|
||||
CPP := $(CC) -E
|
||||
endif
|
||||
else
|
||||
CPP := $(PREFIX)cpp
|
||||
endif
|
||||
|
||||
SHELL := /bin/bash -o pipefail
|
||||
|
||||
CPPFLAGS := -I ../../tools/agbcc/include -I ../../tools/agbcc -iquote include -nostdinc -undef
|
||||
|
||||
@ -434,8 +434,8 @@ RESUME_MUSIC = FC 18
|
||||
|
||||
TRANSPARENT = 00
|
||||
WHITE = 01
|
||||
DARK_GREY = 02
|
||||
LIGHT_GREY = 03
|
||||
DARK_GRAY = 02
|
||||
LIGHT_GRAY = 03
|
||||
RED = 04
|
||||
LIGHT_RED = 05
|
||||
GREEN = 06
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#ifndef GUARD_GBA_DEFINES
|
||||
#define GUARD_GBA_DEFINES
|
||||
#ifndef GUARD_GBA_DEFINES_H
|
||||
#define GUARD_GBA_DEFINES_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
@ -84,4 +84,4 @@
|
||||
#define RGB_CYAN RGB(0, 31, 31)
|
||||
#define RGB_WHITEALPHA (RGB_WHITE | 0x8000)
|
||||
|
||||
#endif // GUARD_GBA_DEFINES
|
||||
#endif // GUARD_GBA_DEFINES_H
|
||||
|
||||
@ -419,7 +419,7 @@ void SetPokemonCryPitch(s16 val);
|
||||
void SetPokemonCryLength(u16 val);
|
||||
void SetPokemonCryRelease(u8 val);
|
||||
void SetPokemonCryProgress(u32 val);
|
||||
int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo);
|
||||
bool32 IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo);
|
||||
void SetPokemonCryChorus(s8 val);
|
||||
void SetPokemonCryStereo(u32 val);
|
||||
void SetPokemonCryPriority(u8 val);
|
||||
|
||||
@ -447,8 +447,8 @@ RESUME_MUSIC = FC 18
|
||||
|
||||
TRANSPARENT = 00
|
||||
WHITE = 01
|
||||
DARK_GREY = 02
|
||||
LIGHT_GREY = 03
|
||||
DARK_GRAY = 02
|
||||
LIGHT_GRAY = 03
|
||||
RED = 04
|
||||
LIGHT_RED = 05
|
||||
GREEN = 06
|
||||
|
||||
@ -1 +1 @@
|
||||
gUnknown_030062E8
|
||||
gFactorySelect_CurrentOptionFunc
|
||||
|
||||
@ -6,4 +6,4 @@ gBattlerControllerFuncs
|
||||
gHealthboxSpriteIds
|
||||
gMultiUsePlayerCursor
|
||||
gNumberOfMovesToChoose
|
||||
gUnknown_03005D7C
|
||||
gBattleControllerData
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
gFonts
|
||||
gUnknown_03002F84
|
||||
gUnknown_03002F90
|
||||
gDisableTextPrinters
|
||||
gCurGlyph
|
||||
gTextFlags
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
filler_03002F58
|
||||
filler_03002F5C
|
||||
gUnusedWindowVar1
|
||||
gUnusedWindowVar2
|
||||
gTransparentTileNumber
|
||||
filler_03002F64
|
||||
gUnknown_03002F70
|
||||
gUnusedWindowVar3
|
||||
gWindowBgTilemapBuffers
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
.equiv ID_NUMBER, 0x68736d53
|
||||
|
||||
.equiv PCM_DMA_BUF_SIZE, 1584
|
||||
.equiv MAX_DIRECTSOUND_CHANNELS, 12
|
||||
|
||||
.equiv C_V, 0x40
|
||||
|
||||
@ -93,7 +94,7 @@
|
||||
struct_field o_SoundInfo_plynote, 4
|
||||
struct_field o_SoundInfo_ExtVolPit, 4
|
||||
struct_field o_SoundInfo_gap2, 16
|
||||
struct_field o_SoundInfo_chans, 768
|
||||
struct_field o_SoundInfo_chans, MAX_DIRECTSOUND_CHANNELS * 64
|
||||
struct_field o_SoundInfo_pcmBuffer, PCM_DMA_BUF_SIZE * 2
|
||||
struct_field SoundInfo_size, 0
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForBallThrow:: @ 82DBD08
|
||||
gBattlescriptsForBallThrow::
|
||||
.4byte BattleScript_BallThrow @ ITEM_NONE
|
||||
.4byte BattleScript_BallThrow @ ITEM_MASTER_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_ULTRA_BALL
|
||||
@ -29,20 +29,20 @@ gBattlescriptsForBallThrow:: @ 82DBD08
|
||||
.4byte BattleScript_BallThrow @ ITEM_PREMIER_BALL
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForUsingItem:: @ 82DBD3C
|
||||
gBattlescriptsForUsingItem::
|
||||
.4byte BattleScript_PlayerUsesItem
|
||||
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_FULL_RESTORE
|
||||
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_HEAL_HP
|
||||
.4byte BattleScript_OpponentUsesStatusCureItem @ AI_ITEM_CURE_CONDITION
|
||||
.4byte BattleScript_OpponentUsesXItem @ AI_ITEM_X_STAT
|
||||
.4byte BattleScript_OpponentUsesGuardSpecs @ AI_ITEM_GUARD_SPECS
|
||||
.4byte BattleScript_OpponentUsesGuardSpec @ AI_ITEM_GUARD_SPEC
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForRunningByItem:: @ 82DBD54
|
||||
gBattlescriptsForRunningByItem::
|
||||
.4byte BattleScript_RunByUsingItem
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForSafariActions:: @ 82DBD58
|
||||
gBattlescriptsForSafariActions::
|
||||
.4byte BattleScript_ActionWatchesCarefully
|
||||
.4byte BattleScript_ActionGetNear
|
||||
.4byte BattleScript_ActionThrowPokeblock
|
||||
@ -69,23 +69,23 @@ BattleScript_SuccessBallThrow::
|
||||
BattleScript_PrintCaughtMonInfo::
|
||||
printstring STRINGID_GOTCHAPKMNCAUGHT
|
||||
jumpifbyte CMP_NOT_EQUAL, sEXP_CATCH, TRUE, BattleScript_TryPrintCaughtMonInfo
|
||||
setbyte sGIVEEXP_STATE, 0x0
|
||||
setbyte sGIVEEXP_STATE, 0
|
||||
getexp BS_TARGET
|
||||
sethword gBattle_BG2_X, 0x0
|
||||
sethword gBattle_BG2_X, 0
|
||||
BattleScript_TryPrintCaughtMonInfo:
|
||||
trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon
|
||||
printstring STRINGID_PKMNDATAADDEDTODEX
|
||||
waitstate
|
||||
setbyte gBattleCommunication, 0x0
|
||||
setbyte gBattleCommunication, 0
|
||||
displaydexinfo
|
||||
BattleScript_TryNicknameCaughtMon::
|
||||
printstring STRINGID_GIVENICKNAMECAPTURED
|
||||
waitstate
|
||||
setbyte gBattleCommunication, 0x0
|
||||
setbyte gBattleCommunication, 0
|
||||
trygivecaughtmonnick BattleScript_GiveCaughtMonEnd
|
||||
givecaughtmon
|
||||
printfromtable gCaughtMonStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_SuccessBallThrowEnd
|
||||
BattleScript_GiveCaughtMonEnd::
|
||||
givecaughtmon
|
||||
@ -100,84 +100,79 @@ BattleScript_WallyBallThrow::
|
||||
|
||||
BattleScript_ShakeBallThrow::
|
||||
printfromtable gBallEscapeStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd
|
||||
jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_ShakeBallThrowEnd
|
||||
jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0, BattleScript_ShakeBallThrowEnd
|
||||
printstring STRINGID_OUTOFSAFARIBALLS
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
setbyte gBattleOutcome, B_OUTCOME_NO_SAFARI_BALLS
|
||||
BattleScript_ShakeBallThrowEnd::
|
||||
finishaction
|
||||
|
||||
BattleScript_TrainerBallBlock::
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
printstring STRINGID_TRAINERBLOCKEDBALL
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
printstring STRINGID_DONTBEATHIEF
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
finishaction
|
||||
|
||||
BattleScript_PlayerUsesItem::
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
end
|
||||
|
||||
BattleScript_OpponentUsesHealItem::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
|
||||
useitemonopponent
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate BS_ATTACKER
|
||||
datahpupdate BS_ATTACKER
|
||||
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
updatestatusicon BS_ATTACKER
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_OpponentUsesStatusCureItem::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
printfromtable gTrainerItemCuredStatusStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
updatestatusicon BS_ATTACKER
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_OpponentUsesXItem::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
printfromtable gStatUpStringIds
|
||||
waitmessage 0x40
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_OpponentUsesGuardSpecs::
|
||||
BattleScript_OpponentUsesGuardSpec::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
printfromtable gMistUsedStringIds
|
||||
waitmessage 0x40
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_RunByUsingItem::
|
||||
@ -187,33 +182,33 @@ BattleScript_RunByUsingItem::
|
||||
|
||||
BattleScript_ActionWatchesCarefully:
|
||||
printstring STRINGID_PKMNWATCHINGCAREFULLY
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_ActionGetNear:
|
||||
printfromtable gSafariGetNearStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_ActionThrowPokeblock:
|
||||
printstring STRINGID_THREWPOKEBLOCKATPKMN
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
playanimation BS_ATTACKER, B_ANIM_POKEBLOCK_THROW, NULL
|
||||
printfromtable gSafariPokeblockResultStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_ActionWallyThrow:
|
||||
printstring STRINGID_RETURNMON
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
returnatktoball
|
||||
waitstate
|
||||
trainerslidein BS_TARGET
|
||||
waitstate
|
||||
printstring STRINGID_YOUTHROWABALLNOWRIGHT
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
|
||||
BattleScript_TrainerSlideMsgRet::
|
||||
handletrainerslidemsg BS_SCRIPTING, 0
|
||||
trainerslidein 1
|
||||
@ -223,7 +218,7 @@ BattleScript_TrainerSlideMsgRet::
|
||||
handletrainerslidemsg BS_SCRIPTING, 2
|
||||
waitstate
|
||||
return
|
||||
|
||||
|
||||
BattleScript_TrainerSlideMsgEnd2::
|
||||
call BattleScript_TrainerSlideMsgRet
|
||||
end2
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
enum MON_4
|
||||
|
||||
.align 2
|
||||
gContestAI_ScriptsTable:: @ 82DE350
|
||||
gContestAI_ScriptsTable::
|
||||
.4byte AI_CheckBadMove @ CONTEST_AI_CHECK_BAD_MOVE
|
||||
.4byte AI_CheckCombo @ CONTEST_AI_CHECK_COMBO
|
||||
.4byte AI_CheckBoring @ CONTEST_AI_CHECK_BORING
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
#include "constants/apprentice.h"
|
||||
#include "constants/battle.h"
|
||||
#include "constants/battle_arena.h"
|
||||
#include "constants/battle_config.h"
|
||||
#include "constants/battle_dome.h"
|
||||
#include "constants/battle_factory.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
@ -61,7 +62,7 @@
|
||||
@ 81DB67C
|
||||
.include "data/script_cmd_table.inc"
|
||||
|
||||
gSpecialVars:: @ 81DBA0C
|
||||
gSpecialVars::
|
||||
.4byte gSpecialVar_0x8000
|
||||
.4byte gSpecialVar_0x8001
|
||||
.4byte gSpecialVar_0x8002
|
||||
@ -87,7 +88,7 @@ gSpecialVars:: @ 81DBA0C
|
||||
|
||||
.include "data/specials.inc"
|
||||
|
||||
gStdScripts:: @ 81DC2A0
|
||||
gStdScripts::
|
||||
.4byte Std_ObtainItem @ STD_OBTAIN_ITEM
|
||||
.4byte Std_FindItem @ STD_FIND_ITEM
|
||||
.4byte Std_MsgboxNPC @ MSGBOX_NPC
|
||||
@ -99,7 +100,7 @@ gStdScripts:: @ 81DC2A0
|
||||
.4byte Std_RegisteredInMatchCall @ STD_REGISTER_MATCH_CALL
|
||||
.4byte Std_MsgboxGetPoints @ MSGBOX_GETPOINTS
|
||||
.4byte Std_10
|
||||
gStdScripts_End:: @ 81DC2CC
|
||||
gStdScripts_End::
|
||||
|
||||
.include "data/maps/PetalburgCity/scripts.inc"
|
||||
.include "data/maps/SlateportCity/scripts.inc"
|
||||
@ -576,12 +577,12 @@ gStdScripts_End:: @ 81DC2CC
|
||||
.include "data/scripts/new_game.inc"
|
||||
.include "data/scripts/hall_of_fame.inc"
|
||||
|
||||
EventScript_WhiteOut:: @ 8271857
|
||||
EventScript_WhiteOut::
|
||||
call EverGrandeCity_HallOfFame_EventScript_ResetEliteFour
|
||||
goto EventScript_ResetMrBriney
|
||||
end
|
||||
|
||||
EventScript_ResetMrBriney:: @ 8271862
|
||||
EventScript_ResetMrBriney::
|
||||
compare VAR_BRINEY_LOCATION, 1
|
||||
goto_if_eq EventScript_MoveMrBrineyToHouse
|
||||
compare VAR_BRINEY_LOCATION, 2
|
||||
@ -590,7 +591,7 @@ EventScript_ResetMrBriney:: @ 8271862
|
||||
goto_if_eq EventScript_MoveMrBrineyToRoute109
|
||||
end
|
||||
|
||||
EventScript_MoveMrBrineyToHouse:: @ 8271884
|
||||
EventScript_MoveMrBrineyToHouse::
|
||||
setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
|
||||
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
|
||||
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
|
||||
@ -600,7 +601,7 @@ EventScript_MoveMrBrineyToHouse:: @ 8271884
|
||||
clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
|
||||
end
|
||||
|
||||
EventScript_MoveMrBrineyToDewford:: @ 827189A
|
||||
EventScript_MoveMrBrineyToDewford::
|
||||
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
|
||||
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
|
||||
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
|
||||
@ -611,7 +612,7 @@ EventScript_MoveMrBrineyToDewford:: @ 827189A
|
||||
clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
|
||||
end
|
||||
|
||||
EventScript_MoveMrBrineyToRoute109:: @ 82718B3
|
||||
EventScript_MoveMrBrineyToRoute109::
|
||||
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
|
||||
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
|
||||
setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
|
||||
@ -622,7 +623,7 @@ EventScript_MoveMrBrineyToRoute109:: @ 82718B3
|
||||
clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
|
||||
end
|
||||
|
||||
EverGrandeCity_HallOfFame_EventScript_ResetEliteFour:: @ 82718CC
|
||||
EverGrandeCity_HallOfFame_EventScript_ResetEliteFour::
|
||||
clearflag FLAG_DEFEATED_ELITE_4_SIDNEY
|
||||
clearflag FLAG_DEFEATED_ELITE_4_PHOEBE
|
||||
clearflag FLAG_DEFEATED_ELITE_4_GLACIA
|
||||
@ -630,7 +631,7 @@ EverGrandeCity_HallOfFame_EventScript_ResetEliteFour:: @ 82718CC
|
||||
setvar VAR_ELITE_4_STATE, 0
|
||||
return
|
||||
|
||||
Common_EventScript_UpdateBrineyLocation:: @ 82718DE
|
||||
Common_EventScript_UpdateBrineyLocation::
|
||||
goto_if_unset FLAG_RECEIVED_POKENAV, Common_EventScript_NopReturn
|
||||
goto_if_set FLAG_DEFEATED_PETALBURG_GYM, Common_EventScript_NopReturn
|
||||
goto_if_unset FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT, EventScript_SetBrineyLocation_House
|
||||
@ -638,15 +639,15 @@ Common_EventScript_UpdateBrineyLocation:: @ 82718DE
|
||||
goto_if_unset FLAG_HIDE_ROUTE_109_MR_BRINEY, EventScript_SetBrineyLocation_Route109
|
||||
return
|
||||
|
||||
EventScript_SetBrineyLocation_House:: @ 827190C
|
||||
EventScript_SetBrineyLocation_House::
|
||||
setvar VAR_BRINEY_LOCATION, 1
|
||||
return
|
||||
|
||||
EventScript_SetBrineyLocation_Dewford:: @ 8271912
|
||||
EventScript_SetBrineyLocation_Dewford::
|
||||
setvar VAR_BRINEY_LOCATION, 2
|
||||
return
|
||||
|
||||
EventScript_SetBrineyLocation_Route109:: @ 8271918
|
||||
EventScript_SetBrineyLocation_Route109::
|
||||
setvar VAR_BRINEY_LOCATION, 3
|
||||
return
|
||||
|
||||
@ -656,32 +657,32 @@ EventScript_SetBrineyLocation_Route109:: @ 8271918
|
||||
.include "data/scripts/pc.inc"
|
||||
|
||||
@ scripts/notices.inc? signs.inc? See comment about text/notices.inc
|
||||
Common_EventScript_ShowPokemartSign:: @ 8271E6A
|
||||
Common_EventScript_ShowPokemartSign::
|
||||
msgbox gText_PokemartSign, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
Common_EventScript_ShowPokemonCenterSign:: @ 8271E73
|
||||
Common_EventScript_ShowPokemonCenterSign::
|
||||
msgbox gText_PokemonCenterSign, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
Common_ShowEasyChatScreen:: @ 8271E7C
|
||||
Common_ShowEasyChatScreen::
|
||||
fadescreen FADE_TO_BLACK
|
||||
special ShowEasyChatScreen
|
||||
fadescreen FADE_FROM_BLACK
|
||||
return
|
||||
|
||||
Common_EventScript_ReadyPetalburgGymForBattle:: @ 8271E84
|
||||
Common_EventScript_ReadyPetalburgGymForBattle::
|
||||
clearflag FLAG_HIDE_PETALBURG_GYM_GREETER
|
||||
setflag FLAG_PETALBURG_MART_EXPANDED_ITEMS
|
||||
return
|
||||
|
||||
Common_EventScript_BufferTrendyPhrase:: @ 8271E8B
|
||||
Common_EventScript_BufferTrendyPhrase::
|
||||
dotimebasedevents
|
||||
setvar VAR_0x8004, 0
|
||||
special BufferTrendyPhraseString
|
||||
return
|
||||
|
||||
EventScript_BackupMrBrineyLocation:: @ 8271E95
|
||||
EventScript_BackupMrBrineyLocation::
|
||||
copyvar VAR_0x8008, VAR_BRINEY_LOCATION
|
||||
setvar VAR_BRINEY_LOCATION, 0
|
||||
return
|
||||
@ -690,34 +691,34 @@ EventScript_BackupMrBrineyLocation:: @ 8271E95
|
||||
.include "data/scripts/rival_graphics.inc"
|
||||
.include "data/scripts/set_gym_trainers.inc"
|
||||
|
||||
Common_EventScript_ShowBagIsFull:: @ 8272054
|
||||
Common_EventScript_ShowBagIsFull::
|
||||
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
Common_EventScript_BagIsFull:: @ 827205E
|
||||
Common_EventScript_BagIsFull::
|
||||
msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
Common_EventScript_ShowNoRoomForDecor:: @ 8272067
|
||||
Common_EventScript_ShowNoRoomForDecor::
|
||||
msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
Common_EventScript_NoRoomForDecor:: @ 8272071
|
||||
Common_EventScript_NoRoomForDecor::
|
||||
msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
Common_EventScript_SetAbnormalWeather:: @ 827207A
|
||||
Common_EventScript_SetAbnormalWeather::
|
||||
setweather WEATHER_ABNORMAL
|
||||
return
|
||||
|
||||
Common_EventScript_PlayGymBadgeFanfare:: @ 827207E
|
||||
Common_EventScript_PlayGymBadgeFanfare::
|
||||
playfanfare MUS_OBTAIN_BADGE
|
||||
waitfanfare
|
||||
return
|
||||
|
||||
Common_EventScript_OutOfCenterPartyHeal:: @ 8272083
|
||||
Common_EventScript_OutOfCenterPartyHeal::
|
||||
fadescreen FADE_TO_BLACK
|
||||
playfanfare MUS_HEAL
|
||||
waitfanfare
|
||||
@ -725,7 +726,7 @@ Common_EventScript_OutOfCenterPartyHeal:: @ 8272083
|
||||
fadescreen FADE_FROM_BLACK
|
||||
return
|
||||
|
||||
EventScript_RegionMap:: @ 827208F
|
||||
EventScript_RegionMap::
|
||||
lockall
|
||||
msgbox Common_Text_LookCloserAtMap, MSGBOX_DEFAULT
|
||||
fadescreen FADE_TO_BLACK
|
||||
@ -734,12 +735,12 @@ EventScript_RegionMap:: @ 827208F
|
||||
releaseall
|
||||
end
|
||||
|
||||
Common_EventScript_PlayBrineysBoatMusic:: @ 82720A0
|
||||
Common_EventScript_PlayBrineysBoatMusic::
|
||||
setflag FLAG_DONT_TRANSITION_MUSIC
|
||||
playbgm MUS_SAILING, 0
|
||||
playbgm MUS_SAILING, FALSE
|
||||
return
|
||||
|
||||
Common_EventScript_StopBrineysBoatMusic:: @ 82720A8
|
||||
Common_EventScript_StopBrineysBoatMusic::
|
||||
clearflag FLAG_DONT_TRANSITION_MUSIC
|
||||
fadedefaultbgm
|
||||
return
|
||||
@ -747,13 +748,13 @@ Common_EventScript_StopBrineysBoatMusic:: @ 82720A8
|
||||
.include "data/scripts/prof_birch.inc"
|
||||
|
||||
@ Below could be split as ferry.inc aside from the Rusturf tunnel script
|
||||
Common_EventScript_FerryDepart:: @ 82721E2
|
||||
Common_EventScript_FerryDepart::
|
||||
delay 60
|
||||
applymovement VAR_0x8004, Movement_FerryDepart
|
||||
waitmovement 0
|
||||
return
|
||||
|
||||
Movement_FerryDepart: @ 82721F0
|
||||
Movement_FerryDepart:
|
||||
walk_slow_right
|
||||
walk_slow_right
|
||||
walk_slow_right
|
||||
@ -763,7 +764,7 @@ Movement_FerryDepart: @ 82721F0
|
||||
walk_right
|
||||
step_end
|
||||
|
||||
EventScript_HideMrBriney:: @ 82721F8
|
||||
EventScript_HideMrBriney::
|
||||
setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
|
||||
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
|
||||
setflag FLAG_HIDE_ROUTE_109_MR_BRINEY
|
||||
@ -775,7 +776,7 @@ EventScript_HideMrBriney:: @ 82721F8
|
||||
setvar VAR_BRINEY_LOCATION, 0
|
||||
return
|
||||
|
||||
RusturfTunnel_EventScript_SetRusturfTunnelOpen:: @ 8272216
|
||||
RusturfTunnel_EventScript_SetRusturfTunnelOpen::
|
||||
removeobject LOCALID_WANDAS_BF
|
||||
removeobject LOCALID_WANDA
|
||||
clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND
|
||||
@ -784,7 +785,7 @@ RusturfTunnel_EventScript_SetRusturfTunnelOpen:: @ 8272216
|
||||
setflag FLAG_RUSTURF_TUNNEL_OPENED
|
||||
return
|
||||
|
||||
EventScript_UnusedBoardFerry:: @ 827222B
|
||||
EventScript_UnusedBoardFerry::
|
||||
delay 30
|
||||
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFastestUp
|
||||
waitmovement 0
|
||||
@ -795,11 +796,11 @@ EventScript_UnusedBoardFerry:: @ 827222B
|
||||
delay 30
|
||||
return
|
||||
|
||||
Movement_UnusedBoardFerry: @ 827224E
|
||||
Movement_UnusedBoardFerry:
|
||||
walk_up
|
||||
step_end
|
||||
|
||||
Common_EventScript_FerryDepartIsland:: @ 8272250
|
||||
Common_EventScript_FerryDepartIsland::
|
||||
compare VAR_FACING, DIR_SOUTH
|
||||
call_if_eq Ferry_EventScript_DepartIslandSouth
|
||||
compare VAR_FACING, DIR_WEST
|
||||
@ -812,13 +813,13 @@ Common_EventScript_FerryDepartIsland:: @ 8272250
|
||||
.include "data/scripts/cave_of_origin.inc"
|
||||
.include "data/scripts/kecleon.inc"
|
||||
|
||||
Common_EventScript_NameReceivedPartyMon:: @ 82723DD
|
||||
Common_EventScript_NameReceivedPartyMon::
|
||||
fadescreen FADE_TO_BLACK
|
||||
special ChangePokemonNickname
|
||||
waitstate
|
||||
return
|
||||
|
||||
Common_EventScript_PlayerHandedOverTheItem:: @ 82723E4
|
||||
Common_EventScript_PlayerHandedOverTheItem::
|
||||
bufferitemname 0, VAR_0x8004
|
||||
playfanfare MUS_OBTAIN_TMHM
|
||||
message gText_PlayerHandedOverTheItem
|
||||
@ -837,32 +838,32 @@ Common_EventScript_PlayerHandedOverTheItem:: @ 82723E4
|
||||
.include "data/text/obtain_item.inc"
|
||||
|
||||
@ The below and surf.inc could be split into some text/notices.inc
|
||||
gText_PokemartSign:: @ 8272B6A
|
||||
gText_PokemartSign::
|
||||
.string "“Selected items for your convenience!”\n"
|
||||
.string "POKéMON MART$"
|
||||
|
||||
gText_PokemonCenterSign:: @ 8272B9E
|
||||
gText_PokemonCenterSign::
|
||||
.string "“Rejuvenate your tired partners!”\n"
|
||||
.string "POKéMON CENTER$"
|
||||
|
||||
gText_MomOrDadMightLikeThisProgram:: @ 8272BCF
|
||||
gText_MomOrDadMightLikeThisProgram::
|
||||
.string "{STR_VAR_1} might like this program.\n"
|
||||
.string "… … … … … … … … … … … … … … … …\p"
|
||||
.string "Better get going!$"
|
||||
|
||||
gText_WhichFloorWouldYouLike:: @ 8272C1D
|
||||
gText_WhichFloorWouldYouLike::
|
||||
.string "Welcome to LILYCOVE DEPARTMENT STORE.\p"
|
||||
.string "Which floor would you like?$"
|
||||
|
||||
gText_SandstormIsVicious:: @ 8272C5F
|
||||
gText_SandstormIsVicious::
|
||||
.string "The sandstorm is vicious.\n"
|
||||
.string "It's impossible to keep going.$"
|
||||
|
||||
gText_SelectWithoutRegisteredItem:: @ 8272C98
|
||||
gText_SelectWithoutRegisteredItem::
|
||||
.string "An item in the BAG can be\n"
|
||||
.string "registered to SELECT for easy use.$"
|
||||
|
||||
gText_PokemonTrainerSchoolEmail:: @ 8272CD5
|
||||
gText_PokemonTrainerSchoolEmail::
|
||||
.string "There's an e-mail from POKéMON TRAINER\n"
|
||||
.string "SCHOOL.\p"
|
||||
.string "… … … … … …\p"
|
||||
@ -871,25 +872,25 @@ gText_PokemonTrainerSchoolEmail:: @ 8272CD5
|
||||
.string "move sets chosen for POKéMON.\p"
|
||||
.string "… … … … … …$"
|
||||
|
||||
gText_PlayerHouseBootPC:: @ 8272D87
|
||||
gText_PlayerHouseBootPC::
|
||||
.string "{PLAYER} booted up the PC.$"
|
||||
|
||||
gText_PokeblockLinkCanceled:: @ 8272D9C
|
||||
gText_PokeblockLinkCanceled::
|
||||
.string "The link was canceled.$"
|
||||
|
||||
gText_UnusedNicknameReceivedPokemon:: @ 8272DB3
|
||||
gText_UnusedNicknameReceivedPokemon::
|
||||
.string "Want to give a nickname to\n"
|
||||
.string "the {STR_VAR_2} you received?$"
|
||||
|
||||
gText_PlayerWhitedOut:: @ 8272DE3
|
||||
gText_PlayerWhitedOut::
|
||||
.string "{PLAYER} is out of usable\n"
|
||||
.string "POKéMON!\p{PLAYER} whited out!$"
|
||||
|
||||
gText_RegisteredTrainerinPokeNav:: @ 8272E0F
|
||||
gText_RegisteredTrainerinPokeNav::
|
||||
.string "Registered {STR_VAR_1} {STR_VAR_2}\n"
|
||||
.string "in the POKéNAV.$"
|
||||
|
||||
gText_ComeBackWithSecretPower:: @ 8272E30
|
||||
gText_ComeBackWithSecretPower::
|
||||
.string "Do you know the TM SECRET POWER?\p"
|
||||
.string "Our group, we love the TM SECRET\n"
|
||||
.string "POWER.\p"
|
||||
@ -898,7 +899,7 @@ gText_ComeBackWithSecretPower:: @ 8272E30
|
||||
.string "We'll accept you as a member and sell\n"
|
||||
.string "you good stuff in secrecy.$"
|
||||
|
||||
gText_PokerusExplanation:: @ 8272F07
|
||||
gText_PokerusExplanation::
|
||||
.string "Your POKéMON may be infected with\n"
|
||||
.string "POKéRUS.\p"
|
||||
.string "Little is known about the POKéRUS\n"
|
||||
@ -909,94 +910,94 @@ gText_PokerusExplanation:: @ 8272F07
|
||||
|
||||
.include "data/text/surf.inc"
|
||||
|
||||
gText_DoorOpenedFarAway:: @ 827301B
|
||||
gText_DoorOpenedFarAway::
|
||||
.string "It sounded as if a door opened\n"
|
||||
.string "somewhere far away.$"
|
||||
|
||||
gText_BigHoleInTheWall:: @ 827304E
|
||||
gText_BigHoleInTheWall::
|
||||
.string "There is a big hole in the wall.$"
|
||||
|
||||
gText_SorryWirelessClubAdjustments:: @ 827306F
|
||||
gText_SorryWirelessClubAdjustments::
|
||||
.string "I'm terribly sorry.\n"
|
||||
.string "The POKéMON WIRELESS CLUB is\l"
|
||||
.string "undergoing adjustments now.$"
|
||||
|
||||
gText_UndergoingAdjustments:: @ 82730BC
|
||||
gText_UndergoingAdjustments::
|
||||
.string "It appears to be undergoing\n"
|
||||
.string "adjustments…$"
|
||||
|
||||
@ Unused
|
||||
gText_SorryTradeCenterInspections:: @ 82730E5
|
||||
gText_SorryTradeCenterInspections::
|
||||
.string "I'm terribly sorry. The TRADE CENTER\n"
|
||||
.string "is undergoing inspections.$"
|
||||
|
||||
@ Unused
|
||||
gText_SorryRecordCornerPreparation:: @ 8273125
|
||||
gText_SorryRecordCornerPreparation::
|
||||
.string "I'm terribly sorry. The RECORD CORNER\n"
|
||||
.string "is under preparation.$"
|
||||
|
||||
gText_PlayerHandedOverTheItem:: @ 8273161
|
||||
gText_PlayerHandedOverTheItem::
|
||||
.string "{PLAYER} handed over the\n"
|
||||
.string "{STR_VAR_1}.$"
|
||||
|
||||
gText_ThankYouForAccessingMysteryGift:: @ 8273178
|
||||
gText_ThankYouForAccessingMysteryGift::
|
||||
.string "Thank you for accessing the\n"
|
||||
.string "MYSTERY GIFT System.$"
|
||||
|
||||
gText_PlayerFoundOneTMHM:: @ 82731A9
|
||||
gText_PlayerFoundOneTMHM::
|
||||
.string "{PLAYER} found one {STR_VAR_1}\n"
|
||||
.string "{STR_VAR_2}!$"
|
||||
|
||||
gText_Sudowoodo_Attacked:: @ 82731BD
|
||||
gText_Sudowoodo_Attacked::
|
||||
.string "The weird tree doesn't like the\n"
|
||||
.string "WAILMER PAIL!\p"
|
||||
.string "The weird tree attacked!$"
|
||||
|
||||
gText_LegendaryFlewAway:: @ 8273204
|
||||
gText_LegendaryFlewAway::
|
||||
.string "The {STR_VAR_1} flew away!$"
|
||||
|
||||
.include "data/text/pc_transfer.inc"
|
||||
.include "data/text/mevent.inc"
|
||||
.include "data/text/abnormal_weather.inc"
|
||||
|
||||
EventScript_SelectWithoutRegisteredItem:: @ 82736B3
|
||||
EventScript_SelectWithoutRegisteredItem::
|
||||
msgbox gText_SelectWithoutRegisteredItem, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
.include "data/scripts/field_poison.inc"
|
||||
|
||||
Common_EventScript_NopReturn:: @ 827374E
|
||||
Common_EventScript_NopReturn::
|
||||
return
|
||||
|
||||
@ Unused
|
||||
EventScript_CableClub_SetVarResult1:: @ 827374F
|
||||
EventScript_CableClub_SetVarResult1::
|
||||
setvar VAR_RESULT, 1
|
||||
return
|
||||
|
||||
EventScript_CableClub_SetVarResult0:: @ 8273755
|
||||
EventScript_CableClub_SetVarResult0::
|
||||
setvar VAR_RESULT, 0
|
||||
return
|
||||
|
||||
Common_EventScript_UnionRoomAttendant:: @ 827375B
|
||||
Common_EventScript_UnionRoomAttendant::
|
||||
call CableClub_EventScript_UnionRoomAttendant
|
||||
end
|
||||
|
||||
Common_EventScript_WirelessClubAttendant:: @ 8273761
|
||||
Common_EventScript_WirelessClubAttendant::
|
||||
call CableClub_EventScript_WirelessClubAttendant
|
||||
end
|
||||
|
||||
Common_EventScript_DirectCornerAttendant:: @ 8273767
|
||||
Common_EventScript_DirectCornerAttendant::
|
||||
call CableClub_EventScript_DirectCornerAttendant
|
||||
end
|
||||
|
||||
Common_EventScript_RemoveStaticPokemon:: @ 827376D
|
||||
Common_EventScript_RemoveStaticPokemon::
|
||||
fadescreenswapbuffers FADE_TO_BLACK
|
||||
removeobject VAR_LAST_TALKED
|
||||
fadescreenswapbuffers FADE_FROM_BLACK
|
||||
release
|
||||
end
|
||||
|
||||
Common_EventScript_LegendaryFlewAway:: @ 8273776
|
||||
Common_EventScript_LegendaryFlewAway::
|
||||
fadescreenswapbuffers FADE_TO_BLACK
|
||||
removeobject VAR_LAST_TALKED
|
||||
fadescreenswapbuffers FADE_FROM_BLACK
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
.align 2
|
||||
gFieldEffectScriptPointers:: @ 82DB9D4
|
||||
gFieldEffectScriptPointers::
|
||||
.4byte gFieldEffectScript_ExclamationMarkIcon1 @ FLDEFF_EXCLAMATION_MARK_ICON
|
||||
.4byte gFieldEffectScript_UseCutOnTallGrass @ FLDEFF_USE_CUT_ON_GRASS
|
||||
.4byte gFieldEffectScript_UseCutOnTree @ FLDEFF_USE_CUT_ON_TREE
|
||||
@ -73,273 +73,273 @@ gFieldEffectScriptPointers:: @ 82DB9D4
|
||||
.4byte gFieldEffectScript_DestroyDeoxysRock @ FLDEFF_DESTROY_DEOXYS_ROCK
|
||||
.4byte gFieldEffectScript_MoveDeoxysRock @ FLDEFF_MOVE_DEOXYS_ROCK
|
||||
|
||||
gFieldEffectScript_ExclamationMarkIcon1:: @ 82DBAE0
|
||||
gFieldEffectScript_ExclamationMarkIcon1::
|
||||
field_eff_callnative FldEff_ExclamationMarkIcon
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseCutOnTallGrass:: @ 82DBAE6
|
||||
gFieldEffectScript_UseCutOnTallGrass::
|
||||
field_eff_callnative FldEff_UseCutOnGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseCutOnTree:: @ 82DBAEC
|
||||
gFieldEffectScript_UseCutOnTree::
|
||||
field_eff_callnative FldEff_UseCutOnTree
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Shadow:: @ 82DBAF2
|
||||
gFieldEffectScript_Shadow::
|
||||
field_eff_callnative FldEff_Shadow
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_TallGrass:: @ 82DBAF8
|
||||
gFieldEffectScript_TallGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_TallGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Ripple:: @ 82DBB02
|
||||
gFieldEffectScript_Ripple::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_Ripple
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_FieldMoveShowMon:: @ 82DBB0C
|
||||
gFieldEffectScript_FieldMoveShowMon::
|
||||
field_eff_callnative FldEff_FieldMoveShowMon
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Ash:: @ 82DBB12
|
||||
gFieldEffectScript_Ash::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_Ash
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SurfBlob:: @ 82DBB1C
|
||||
gFieldEffectScript_SurfBlob::
|
||||
field_eff_callnative FldEff_SurfBlob
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseSurf:: @ 82DBB22
|
||||
gFieldEffectScript_UseSurf::
|
||||
field_eff_callnative FldEff_UseSurf
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_GroundImpactDust:: @ 82DBB28
|
||||
gFieldEffectScript_GroundImpactDust::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_Dust
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseSecretPowerCave:: @ 82DBB32
|
||||
gFieldEffectScript_UseSecretPowerCave::
|
||||
field_eff_callnative FldEff_UseSecretPowerCave
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_JumpTallGrass:: @ 82DBB38
|
||||
gFieldEffectScript_JumpTallGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_JumpTallGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SandFootprints:: @ 82DBB42
|
||||
gFieldEffectScript_SandFootprints::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_SandFootprints
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_JumpBigSplash:: @ 82DBB4C
|
||||
gFieldEffectScript_JumpBigSplash::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_JumpBigSplash
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Splash:: @ 82DBB56
|
||||
gFieldEffectScript_Splash::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_Splash
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_JumpSmallSplash:: @ 82DBB60
|
||||
gFieldEffectScript_JumpSmallSplash::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_JumpSmallSplash
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_LongGrass:: @ 82DBB6A
|
||||
gFieldEffectScript_LongGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_LongGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_JumpLongGrass:: @ 82DBB74
|
||||
gFieldEffectScript_JumpLongGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_JumpLongGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UnusedGrass:: @ 82DBB7E
|
||||
gFieldEffectScript_UnusedGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_UnusedGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UnusedGrass2:: @ 82DBB88
|
||||
gFieldEffectScript_UnusedGrass2::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_UnusedGrass2
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UnusedSand:: @ 82DBB92
|
||||
gFieldEffectScript_UnusedSand::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_UnusedSand
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_WaterSurfacing:: @ 82DBB9C
|
||||
gFieldEffectScript_WaterSurfacing::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_WaterSurfacing
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_BerryTreeGrowthSparkle:: @ 82DBBA6
|
||||
gFieldEffectScript_BerryTreeGrowthSparkle::
|
||||
field_eff_callnative FldEff_BerryTreeGrowthSparkle
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_DeepSandFootprints:: @ 82DBBAC
|
||||
gFieldEffectScript_DeepSandFootprints::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_DeepSandFootprints
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_PokeCenterHeal:: @ 82DBBB6
|
||||
gFieldEffectScript_PokeCenterHeal::
|
||||
field_eff_loadfadedpal gSpritePalette_PokeballGlow
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_PokecenterHeal
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseSecretPowerTree:: @ 82DBBC5
|
||||
gFieldEffectScript_UseSecretPowerTree::
|
||||
field_eff_callnative FldEff_UseSecretPowerTree
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseSecretPowerShrub:: @ 82DBBCB
|
||||
gFieldEffectScript_UseSecretPowerShrub::
|
||||
field_eff_callnative FldEff_UseSecretPowerShrub
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_TreeDisguise:: @ 82DBBD1
|
||||
gFieldEffectScript_TreeDisguise::
|
||||
field_eff_callnative ShowTreeDisguiseFieldEffect
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_MountainDisguise:: @ 82DBBD7
|
||||
gFieldEffectScript_MountainDisguise::
|
||||
field_eff_callnative ShowMountainDisguiseFieldEffect
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_NPCUseFly:: @ 82DBBDD
|
||||
gFieldEffectScript_NPCUseFly::
|
||||
field_eff_callnative FldEff_NPCFlyOut
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseFly:: @ 82DBBE3
|
||||
gFieldEffectScript_UseFly::
|
||||
field_eff_callnative FldEff_UseFly
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_FlyIn:: @ 82DBBE9
|
||||
gFieldEffectScript_FlyIn::
|
||||
field_eff_callnative FldEff_FlyIn
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_QuestionMarkIcon:: @ 82DBBEF
|
||||
gFieldEffectScript_QuestionMarkIcon::
|
||||
field_eff_callnative FldEff_QuestionMarkIcon
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_FeetInFlowingWater:: @ 82DBBF5
|
||||
gFieldEffectScript_FeetInFlowingWater::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_FeetInFlowingWater
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_BikeTireTracks:: @ 82DBBFF
|
||||
gFieldEffectScript_BikeTireTracks::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_BikeTireTracks
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SandDisguisePlaceholder:: @ 82DBC09
|
||||
gFieldEffectScript_SandDisguisePlaceholder::
|
||||
field_eff_callnative ShowSandDisguiseFieldEffect
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseRockSmash:: @ 82DBC0F
|
||||
gFieldEffectScript_UseRockSmash::
|
||||
field_eff_callnative FldEff_UseRockSmash
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseStrength:: @ 82DBC15
|
||||
gFieldEffectScript_UseStrength::
|
||||
field_eff_callnative FldEff_UseStrength
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseDig:: @ 82DBC1B
|
||||
gFieldEffectScript_UseDig::
|
||||
field_eff_callnative FldEff_UseDig
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SandPile:: @ 82DBC21
|
||||
gFieldEffectScript_SandPile::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_SandPile
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_ShortGrass:: @ 82DBC2B
|
||||
gFieldEffectScript_ShortGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_ShortGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_HotSpringsWater:: @ 82DBC35
|
||||
gFieldEffectScript_HotSpringsWater::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect1, FldEff_HotSpringsWater
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseWaterfall:: @ 82DBC3F
|
||||
gFieldEffectScript_UseWaterfall::
|
||||
field_eff_callnative FldEff_UseWaterfall
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseDive:: @ 82DBC45
|
||||
gFieldEffectScript_UseDive::
|
||||
field_eff_callnative FldEff_UseDive
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Pokeball:: @ 82DBC4B
|
||||
gFieldEffectScript_Pokeball::
|
||||
field_eff_loadpal gSpritePalette_Pokeball
|
||||
field_eff_callnative FldEff_Pokeball
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_HeartIcon:: @ 82DBC56
|
||||
gFieldEffectScript_HeartIcon::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_HeartIcon
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Nop47:: @ 82DBC60
|
||||
gFieldEffectScript_Nop47::
|
||||
field_eff_callnative FldEff_Nop47
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Nop48:: @ 82DBC66
|
||||
gFieldEffectScript_Nop48::
|
||||
field_eff_callnative FldEff_Nop48
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_AshPuff:: @ 82DBC6C
|
||||
gFieldEffectScript_AshPuff::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_Ash, FldEff_AshPuff
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_AshLaunch:: @ 82DBC76
|
||||
gFieldEffectScript_AshLaunch::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_Ash, FldEff_AshLaunch
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SweetScent:: @ 82DBC80
|
||||
gFieldEffectScript_SweetScent::
|
||||
field_eff_callnative FldEff_SweetScent
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SandPillar:: @ 82DBC86
|
||||
gFieldEffectScript_SandPillar::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_SandPillar, FldEff_SandPillar
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Bubbles:: @ 82DBC90
|
||||
gFieldEffectScript_Bubbles::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_Bubbles
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_Sparkle:: @ 82DBC9A
|
||||
gFieldEffectScript_Sparkle::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_SmallSparkle, FldEff_Sparkle
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_ShowSecretPowerCave:: @ 82DBCA4
|
||||
gFieldEffectScript_ShowSecretPowerCave::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_SecretPower_Cave, FldEff_SecretPowerCave
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_ShowSecretPowerTree:: @ 82DBCAE
|
||||
gFieldEffectScript_ShowSecretPowerTree::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_SecretPower_Plant, FldEff_SecretPowerTree
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_ShowSecretPowerShrub:: @ 82DBCB8
|
||||
gFieldEffectScript_ShowSecretPowerShrub::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_SecretPower_Plant, FldEff_SecretPowerShrub
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_ShowCutGrass:: @ 82DBCC2
|
||||
gFieldEffectScript_ShowCutGrass::
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_CutGrass, FldEff_CutGrass
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_FieldMoveShowMonInit:: @ 82DBCCC
|
||||
gFieldEffectScript_FieldMoveShowMonInit::
|
||||
field_eff_callnative FldEff_FieldMoveShowMonInit
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UsePuzzleEffect:: @ 82DBCD2
|
||||
gFieldEffectScript_UsePuzzleEffect::
|
||||
field_eff_callnative FldEff_UsePuzzleEffect
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_SecretBaseBootPC:: @ 82DBCD8
|
||||
gFieldEffectScript_SecretBaseBootPC::
|
||||
field_eff_callnative FldEff_SecretBasePCTurnOn
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_HallOfFameRecord:: @ 82DBCDE
|
||||
gFieldEffectScript_HallOfFameRecord::
|
||||
field_eff_loadfadedpal gSpritePalette_PokeballGlow
|
||||
field_eff_loadfadedpal_callnative gSpritePalette_HofMonitor, FldEff_HallOfFameRecord
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_UseTeleport:: @ 82DBCED
|
||||
gFieldEffectScript_UseTeleport::
|
||||
field_eff_callnative FldEff_UseTeleport
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_RayquazaSpotlight:: @ 82DBCF3
|
||||
gFieldEffectScript_RayquazaSpotlight::
|
||||
field_eff_callnative FldEff_RayquazaSpotlight
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_DestroyDeoxysRock:: @ 82DBCF9
|
||||
gFieldEffectScript_DestroyDeoxysRock::
|
||||
field_eff_callnative FldEff_DestroyDeoxysRock
|
||||
field_eff_end
|
||||
|
||||
gFieldEffectScript_MoveDeoxysRock:: @ 82DBCFF
|
||||
gFieldEffectScript_MoveDeoxysRock::
|
||||
field_eff_callnative FldEff_MoveDeoxysRock
|
||||
field_eff_end
|
||||
|
||||
36
data/fonts.s
36
data/fonts.s
@ -4,73 +4,73 @@
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gFont8LatinGlyphs:: @ 862BAE4
|
||||
gFont8LatinGlyphs::
|
||||
.incbin "graphics/fonts/font8.latfont"
|
||||
|
||||
.align 2
|
||||
gFont8LatinGlyphWidths:: @ 8633AE4
|
||||
gFont8LatinGlyphWidths::
|
||||
.include "graphics/fonts/font8_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont0LatinGlyphs:: @ 8633CE4
|
||||
gFont0LatinGlyphs::
|
||||
.incbin "graphics/fonts/font0.latfont"
|
||||
|
||||
.align 2
|
||||
gFont0LatinGlyphWidths:: @ 863BCE4
|
||||
gFont0LatinGlyphWidths::
|
||||
.include "graphics/fonts/font0_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont7LatinGlyphs:: @ 863BEE4
|
||||
gFont7LatinGlyphs::
|
||||
.incbin "graphics/fonts/font7.latfont"
|
||||
|
||||
.align 2
|
||||
gFont7LatinGlyphWidths:: @ 8643EE4
|
||||
gFont7LatinGlyphWidths::
|
||||
.include "graphics/fonts/font7_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont2LatinGlyphs:: @ 86440E4
|
||||
gFont2LatinGlyphs::
|
||||
.incbin "graphics/fonts/font2.latfont"
|
||||
|
||||
.align 2
|
||||
gFont2LatinGlyphWidths:: @ 864C0E4
|
||||
gFont2LatinGlyphWidths::
|
||||
.include "graphics/fonts/font2_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont1LatinGlyphs:: @ 864C2E4
|
||||
gFont1LatinGlyphs::
|
||||
.incbin "graphics/fonts/font1.latfont"
|
||||
|
||||
.align 2
|
||||
gFont1LatinGlyphWidths:: @ 86542E4
|
||||
gFont1LatinGlyphWidths::
|
||||
.include "graphics/fonts/font1_latin_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont0JapaneseGlyphs:: @ 86544E4
|
||||
gFont0JapaneseGlyphs::
|
||||
.incbin "graphics/fonts/font0.hwjpnfont"
|
||||
|
||||
.align 2
|
||||
gFont1JapaneseGlyphs:: @ 86584E4
|
||||
gFont1JapaneseGlyphs::
|
||||
.incbin "graphics/fonts/font1.hwjpnfont"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenMaleFontGlyphs:: @ 865C4E4
|
||||
gUnusedJapaneseFireRedLeafGreenMaleFontGlyphs::
|
||||
.incbin "graphics/fonts/unused_frlg_male.fwjpnfont"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenMaleFontGlyphWidths:: @ 86644E4
|
||||
gUnusedJapaneseFireRedLeafGreenMaleFontGlyphWidths::
|
||||
.include "graphics/fonts/unused_japanese_frlg_male_font_widths.inc"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenFemaleFontGlyphs:: @ 86646E4
|
||||
gUnusedJapaneseFireRedLeafGreenFemaleFontGlyphs::
|
||||
.incbin "graphics/fonts/unused_frlg_female.fwjpnfont"
|
||||
|
||||
.align 2
|
||||
gUnusedJapaneseFireRedLeafGreenFemaleFontGlyphWidths:: @ 866C6E4
|
||||
gUnusedJapaneseFireRedLeafGreenFemaleFontGlyphWidths::
|
||||
.include "graphics/fonts/unused_japanese_frlg_female_font_widths.inc"
|
||||
|
||||
.align 2
|
||||
gFont2JapaneseGlyphs:: @ 866C8E4
|
||||
gFont2JapaneseGlyphs::
|
||||
.incbin "graphics/fonts/font2.fwjpnfont"
|
||||
|
||||
.align 2
|
||||
gFont2JapaneseGlyphWidths:: @ 86748E4
|
||||
gFont2JapaneseGlyphWidths::
|
||||
.include "graphics/fonts/font2_japanese_widths.inc"
|
||||
|
||||
@ -1,308 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2, 0
|
||||
|
||||
gPointillismPoints:: @ 85A1F94
|
||||
.byte 0x00, 0x1d, 0x1c, 0x0e, 0x1e, 0x1b, 0x00, 0x01, 0x32, 0x2e, 0x1e, 0x37, 0x0a, 0x22, 0x1f, 0x05, 0x26, 0x2e, 0x12, 0x17, 0x1e, 0x1a, 0x03, 0x11, 0x05, 0x11, 0x18, 0x05, 0x27, 0x2f, 0x1a, 0x3f
|
||||
.byte 0x12, 0x22, 0x3f, 0x16, 0x2b, 0x2f, 0x2e, 0x11, 0x02, 0x2d, 0x23, 0x0d, 0x28, 0x17, 0x0c, 0x19, 0x2f, 0x0e, 0x13, 0x30, 0x18, 0x20, 0x2d, 0x28, 0x22, 0x01, 0x03, 0x19, 0x0e, 0x2a, 0x2b, 0x22
|
||||
.byte 0x15, 0x25, 0x22, 0x0a, 0x26, 0x39, 0x06, 0x23, 0x16, 0x07, 0x2f, 0x22, 0x3a, 0x1b, 0x3b, 0x36, 0x35, 0x0a, 0x2b, 0x24, 0x36, 0x09, 0x12, 0x1c, 0x2f, 0x23, 0x2e, 0x38, 0x2c, 0x05, 0x2a, 0x20
|
||||
.byte 0x07, 0x14, 0x32, 0x31, 0x08, 0x17, 0x1a, 0x24, 0x2d, 0x22, 0x0a, 0x16, 0x1b, 0x26, 0x2b, 0x29, 0x16, 0x11, 0x35, 0x08, 0x14, 0x1e, 0x08, 0x14, 0x05, 0x31, 0x14, 0x38, 0x31, 0x17, 0x34, 0x33
|
||||
.byte 0x12, 0x11, 0x09, 0x1f, 0x28, 0x3d, 0x32, 0x35, 0x03, 0x1e, 0x3c, 0x2b, 0x2e, 0x10, 0x01, 0x17, 0x03, 0x3e, 0x22, 0x17, 0x18, 0x34, 0x08, 0x29, 0x19, 0x03, 0x24, 0x28, 0x3d, 0x33, 0x2f, 0x31
|
||||
.byte 0x24, 0x19, 0x1b, 0x18, 0x26, 0x07, 0x0d, 0x25, 0x2d, 0x3f, 0x12, 0x2f, 0x15, 0x25, 0x29, 0x0f, 0x12, 0x07, 0x2c, 0x12, 0x2c, 0x0b, 0x26, 0x12, 0x1a, 0x16, 0x00, 0x0b, 0x2f, 0x16, 0x35, 0x24
|
||||
.byte 0x1f, 0x1c, 0x22, 0x29, 0x33, 0x27, 0x3b, 0x30, 0x17, 0x11, 0x06, 0x35, 0x3e, 0x31, 0x2f, 0x11, 0x3a, 0x25, 0x2a, 0x02, 0x19, 0x33, 0x18, 0x35, 0x2a, 0x20, 0x21, 0x2e, 0x32, 0x1b, 0x3b, 0x1f
|
||||
.byte 0x23, 0x39, 0x29, 0x2a, 0x2e, 0x31, 0x29, 0x2a, 0x0e, 0x2d, 0x2d, 0x00, 0x1f, 0x38, 0x28, 0x1b, 0x14, 0x3b, 0x2b, 0x2e, 0x04, 0x26, 0x36, 0x30, 0x11, 0x3b, 0x21, 0x2d, 0x2b, 0x3f, 0x1b, 0x20
|
||||
.byte 0x13, 0x31, 0x33, 0x0c, 0x30, 0x22, 0x2b, 0x2b, 0x16, 0x02, 0x1e, 0x1c, 0x12, 0x1c, 0x0f, 0x3c, 0x36, 0x38, 0x10, 0x2d, 0x18, 0x2f, 0x2d, 0x35, 0x3b, 0x11, 0x37, 0x31, 0x13, 0x13, 0x3d, 0x2f
|
||||
.byte 0x1e, 0x2c, 0x33, 0x2e, 0x37, 0x12, 0x3c, 0x1f, 0x33, 0x32, 0x2a, 0x27, 0x0d, 0x3b, 0x1c, 0x35, 0x2a, 0x27, 0x09, 0x3d, 0x27, 0x12, 0x0b, 0x18, 0x0c, 0x15, 0x1d, 0x20, 0x01, 0x1c, 0x08, 0x3b
|
||||
.byte 0x1c, 0x12, 0x37, 0x33, 0x15, 0x03, 0x2c, 0x2a, 0x3b, 0x31, 0x0f, 0x04, 0x35, 0x08, 0x17, 0x33, 0x38, 0x3d, 0x2a, 0x2f, 0x35, 0x16, 0x10, 0x35, 0x16, 0x23, 0x13, 0x2c, 0x2f, 0x06, 0x20, 0x27
|
||||
.byte 0x3a, 0x24, 0x00, 0x1c, 0x2a, 0x03, 0x39, 0x1d, 0x28, 0x07, 0x1a, 0x20, 0x0a, 0x37, 0x07, 0x35, 0x2d, 0x15, 0x2f, 0x2c, 0x10, 0x2c, 0x23, 0x3f, 0x29, 0x14, 0x2a, 0x21, 0x36, 0x34, 0x1a, 0x2c
|
||||
.byte 0x1c, 0x3d, 0x33, 0x38, 0x2b, 0x22, 0x35, 0x28, 0x1f, 0x3d, 0x0f, 0x1c, 0x1e, 0x3e, 0x1b, 0x0c, 0x3e, 0x1f, 0x2b, 0x31, 0x2c, 0x32, 0x39, 0x11, 0x05, 0x09, 0x11, 0x04, 0x38, 0x2a, 0x32, 0x00
|
||||
.byte 0x16, 0x13, 0x0b, 0x31, 0x34, 0x2a, 0x13, 0x2c, 0x22, 0x21, 0x39, 0x2f, 0x15, 0x37, 0x28, 0x1e, 0x07, 0x3b, 0x2d, 0x11, 0x03, 0x28, 0x2d, 0x30, 0x1e, 0x31, 0x11, 0x11, 0x23, 0x01, 0x1e, 0x3d
|
||||
.byte 0x31, 0x34, 0x1c, 0x02, 0x34, 0x21, 0x0e, 0x25, 0x3d, 0x07, 0x17, 0x33, 0x15, 0x10, 0x29, 0x32, 0x32, 0x18, 0x1f, 0x30, 0x2d, 0x3b, 0x30, 0x27, 0x3e, 0x16, 0x31, 0x15, 0x12, 0x30, 0x25, 0x17
|
||||
.byte 0x33, 0x06, 0x34, 0x00, 0x29, 0x18, 0x3c, 0x03, 0x12, 0x2c, 0x0c, 0x11, 0x09, 0x30, 0x30, 0x10, 0x0e, 0x11, 0x27, 0x16, 0x1b, 0x0c, 0x3b, 0x2e, 0x2b, 0x33, 0x1e, 0x13, 0x2d, 0x2d, 0x11, 0x24
|
||||
.byte 0x29, 0x34, 0x3e, 0x2b, 0x24, 0x1e, 0x21, 0x27, 0x1a, 0x2d, 0x04, 0x39, 0x16, 0x3e, 0x33, 0x26, 0x1b, 0x2e, 0x25, 0x0c, 0x06, 0x19, 0x25, 0x19, 0x18, 0x1d, 0x33, 0x33, 0x1d, 0x28, 0x2d, 0x1c
|
||||
.byte 0x10, 0x2a, 0x1f, 0x35, 0x1e, 0x34, 0x02, 0x10, 0x2b, 0x3a, 0x14, 0x0d, 0x0b, 0x15, 0x0c, 0x2c, 0x10, 0x37, 0x3a, 0x19, 0x06, 0x13, 0x17, 0x24, 0x10, 0x25, 0x24, 0x04, 0x1e, 0x00, 0x35, 0x34
|
||||
.byte 0x3a, 0x00, 0x37, 0x3c, 0x07, 0x1a, 0x2b, 0x28, 0x36, 0x34, 0x39, 0x2f, 0x28, 0x09, 0x1f, 0x38, 0x31, 0x30, 0x16, 0x25, 0x31, 0x18, 0x28, 0x31, 0x18, 0x0c, 0x22, 0x06, 0x39, 0x2d, 0x3d, 0x20
|
||||
.byte 0x24, 0x2e, 0x27, 0x21, 0x3e, 0x18, 0x18, 0x15, 0x3c, 0x24, 0x06, 0x1b, 0x26, 0x15, 0x0e, 0x22, 0x0a, 0x0d, 0x1f, 0x18, 0x16, 0x34, 0x10, 0x28, 0x21, 0x20, 0x11, 0x11, 0x36, 0x32, 0x15, 0x3b
|
||||
.byte 0x2e, 0x24, 0x1f, 0x2d, 0x12, 0x36, 0x2e, 0x20, 0x0b, 0x17, 0x33, 0x26, 0x03, 0x1f, 0x08, 0x19, 0x31, 0x2a, 0x18, 0x25, 0x35, 0x2d, 0x2d, 0x30, 0x38, 0x18, 0x1c, 0x25, 0x14, 0x1c, 0x22, 0x28
|
||||
.byte 0x08, 0x23, 0x21, 0x26, 0x1e, 0x30, 0x19, 0x0f, 0x15, 0x10, 0x2f, 0x22, 0x12, 0x02, 0x25, 0x3c, 0x01, 0x1d, 0x0e, 0x14, 0x18, 0x0d, 0x18, 0x17, 0x22, 0x0b, 0x31, 0x13, 0x34, 0x21, 0x0f, 0x2d
|
||||
.byte 0x36, 0x39, 0x1f, 0x25, 0x18, 0x10, 0x1f, 0x2d, 0x20, 0x20, 0x19, 0x0b, 0x31, 0x33, 0x13, 0x14, 0x2e, 0x11, 0x21, 0x2d, 0x0a, 0x37, 0x07, 0x15, 0x1b, 0x32, 0x04, 0x32, 0x06, 0x18, 0x1b, 0x13
|
||||
.byte 0x24, 0x12, 0x36, 0x22, 0x16, 0x1d, 0x29, 0x1c, 0x35, 0x17, 0x21, 0x36, 0x17, 0x2b, 0x35, 0x32, 0x19, 0x2a, 0x0f, 0x2e, 0x10, 0x00, 0x34, 0x02, 0x0e, 0x28, 0x31, 0x32, 0x32, 0x3b, 0x05, 0x20
|
||||
.byte 0x36, 0x26, 0x12, 0x34, 0x06, 0x34, 0x1e, 0x31, 0x32, 0x35, 0x05, 0x34, 0x1e, 0x13, 0x15, 0x15, 0x14, 0x2c, 0x29, 0x1c, 0x18, 0x24, 0x24, 0x12, 0x22, 0x29, 0x18, 0x34, 0x36, 0x30, 0x1e, 0x01
|
||||
.byte 0x23, 0x0c, 0x3c, 0x24, 0x0a, 0x3d, 0x16, 0x27, 0x1e, 0x23, 0x15, 0x02, 0x12, 0x11, 0x19, 0x2a, 0x1d, 0x31, 0x15, 0x03, 0x3b, 0x2a, 0x21, 0x19, 0x2c, 0x0a, 0x23, 0x11, 0x25, 0x11, 0x1a, 0x1a
|
||||
.byte 0x0a, 0x34, 0x3b, 0x0b, 0x33, 0x21, 0x0b, 0x37, 0x01, 0x31, 0x28, 0x35, 0x1d, 0x27, 0x2c, 0x30, 0x31, 0x2e, 0x39, 0x2d, 0x30, 0x05, 0x2c, 0x12, 0x2a, 0x2b, 0x39, 0x22, 0x20, 0x15, 0x34, 0x1c
|
||||
.byte 0x1c, 0x01, 0x15, 0x20, 0x16, 0x22, 0x13, 0x04, 0x18, 0x1e, 0x13, 0x10, 0x25, 0x33, 0x15, 0x39, 0x03, 0x31, 0x3f, 0x36, 0x18, 0x14, 0x23, 0x10, 0x2f, 0x1e, 0x1f, 0x1f, 0x17, 0x2c, 0x02, 0x16
|
||||
.byte 0x31, 0x20, 0x18, 0x30, 0x2e, 0x18, 0x37, 0x3b, 0x0e, 0x30, 0x10, 0x39, 0x24, 0x26, 0x39, 0x1e, 0x30, 0x26, 0x2e, 0x12, 0x01, 0x14, 0x37, 0x2a, 0x2e, 0x21, 0x06, 0x1d, 0x2a, 0x16, 0x32, 0x09
|
||||
.byte 0x38, 0x1c, 0x07, 0x22, 0x17, 0x3b, 0x2d, 0x15, 0x07, 0x1e, 0x2e, 0x1b, 0x2e, 0x1d, 0x04, 0x09, 0x30, 0x30, 0x2d, 0x37, 0x2d, 0x34, 0x24, 0x18, 0x24, 0x25, 0x0e, 0x2d, 0x26, 0x23, 0x0a, 0x16
|
||||
.byte 0x12, 0x2d, 0x11, 0x21, 0x28, 0x2e, 0x0f, 0x01, 0x21, 0x01, 0x31, 0x12, 0x3f, 0x1b, 0x1e, 0x21, 0x25, 0x2b, 0x26, 0x18, 0x13, 0x15, 0x2d, 0x34, 0x23, 0x21, 0x36, 0x0e, 0x2e, 0x1c, 0x14, 0x22
|
||||
.byte 0x1c, 0x2c, 0x0b, 0x28, 0x1a, 0x18, 0x21, 0x21, 0x07, 0x1a, 0x24, 0x26, 0x29, 0x2b, 0x0a, 0x34, 0x3e, 0x27, 0x33, 0x12, 0x34, 0x1b, 0x1f, 0x01, 0x2a, 0x2e, 0x06, 0x23, 0x2f, 0x1f, 0x14, 0x18
|
||||
.byte 0x06, 0x26, 0x31, 0x1f, 0x2b, 0x22, 0x26, 0x2e, 0x1e, 0x15, 0x16, 0x20, 0x22, 0x28, 0x15, 0x37, 0x12, 0x25, 0x04, 0x2c, 0x1f, 0x04, 0x2e, 0x0c, 0x13, 0x18, 0x07, 0x0b, 0x36, 0x1d, 0x1c, 0x2a
|
||||
.byte 0x30, 0x22, 0x1c, 0x2e, 0x12, 0x2f, 0x2b, 0x21, 0x1e, 0x16, 0x38, 0x30, 0x04, 0x02, 0x16, 0x05, 0x14, 0x20, 0x38, 0x3c, 0x33, 0x21, 0x1b, 0x2f, 0x14, 0x2a, 0x27, 0x38, 0x14, 0x1b, 0x2b, 0x1f
|
||||
.byte 0x2b, 0x29, 0x2b, 0x25, 0x27, 0x36, 0x21, 0x11, 0x22, 0x1b, 0x29, 0x03, 0x1b, 0x18, 0x24, 0x28, 0x21, 0x2d, 0x36, 0x3c, 0x2c, 0x24, 0x33, 0x17, 0x1f, 0x2a, 0x3a, 0x21, 0x0a, 0x23, 0x37, 0x00
|
||||
.byte 0x0b, 0x21, 0x11, 0x38, 0x19, 0x0f, 0x0e, 0x1c, 0x1f, 0x0f, 0x37, 0x3c, 0x10, 0x37, 0x38, 0x31, 0x35, 0x07, 0x15, 0x28, 0x1e, 0x2e, 0x19, 0x26, 0x10, 0x33, 0x3d, 0x35, 0x2f, 0x3a, 0x04, 0x34
|
||||
.byte 0x0d, 0x18, 0x1a, 0x01, 0x2d, 0x15, 0x3d, 0x1a, 0x17, 0x17, 0x3f, 0x32, 0x0b, 0x21, 0x11, 0x1e, 0x26, 0x2b, 0x0d, 0x19, 0x24, 0x2e, 0x04, 0x1b, 0x1b, 0x33, 0x20, 0x15, 0x21, 0x1d, 0x1f, 0x04
|
||||
.byte 0x21, 0x0f, 0x12, 0x1f, 0x2d, 0x2a, 0x32, 0x03, 0x37, 0x1f, 0x35, 0x07, 0x27, 0x24, 0x1f, 0x31, 0x2f, 0x30, 0x15, 0x06, 0x00, 0x24, 0x0b, 0x22, 0x1a, 0x0c, 0x3b, 0x29, 0x14, 0x1a, 0x17, 0x37
|
||||
.byte 0x20, 0x25, 0x3f, 0x26, 0x37, 0x3a, 0x3e, 0x10, 0x22, 0x04, 0x11, 0x28, 0x12, 0x1c, 0x03, 0x2e, 0x2e, 0x0e, 0x38, 0x28, 0x01, 0x29, 0x22, 0x1e, 0x33, 0x19, 0x06, 0x21, 0x27, 0x33, 0x19, 0x1a
|
||||
.byte 0x02, 0x05, 0x17, 0x11, 0x11, 0x2c, 0x1f, 0x26, 0x1e, 0x39, 0x1f, 0x28, 0x2e, 0x2f, 0x12, 0x22, 0x34, 0x13, 0x3b, 0x26, 0x2f, 0x34, 0x00, 0x14, 0x10, 0x31, 0x11, 0x1d, 0x2d, 0x2a, 0x08, 0x08
|
||||
.byte 0x37, 0x15, 0x18, 0x34, 0x04, 0x2b, 0x24, 0x2f, 0x1e, 0x27, 0x22, 0x2a, 0x24, 0x07, 0x14, 0x25, 0x01, 0x27, 0x19, 0x29, 0x0a, 0x29, 0x3d, 0x1c, 0x2f, 0x0d, 0x1f, 0x1c, 0x24, 0x3d, 0x32, 0x36
|
||||
.byte 0x1d, 0x24, 0x14, 0x21, 0x16, 0x1a, 0x0d, 0x29, 0x3f, 0x2b, 0x2a, 0x1a, 0x3e, 0x35, 0x11, 0x28, 0x18, 0x32, 0x05, 0x15, 0x21, 0x2e, 0x34, 0x2d, 0x14, 0x2a, 0x3c, 0x08, 0x37, 0x3f, 0x34, 0x1e
|
||||
.byte 0x27, 0x24, 0x1c, 0x16, 0x16, 0x33, 0x29, 0x3b, 0x19, 0x36, 0x2f, 0x1c, 0x03, 0x25, 0x2c, 0x0b, 0x16, 0x36, 0x1c, 0x1d, 0x1b, 0x2c, 0x27, 0x1b, 0x0b, 0x1f, 0x2b, 0x08, 0x10, 0x27, 0x3f, 0x25
|
||||
.byte 0x2f, 0x33, 0x13, 0x1f, 0x04, 0x31, 0x37, 0x0e, 0x2f, 0x12, 0x08, 0x23, 0x20, 0x3a, 0x1a, 0x1e, 0x2f, 0x0b, 0x1f, 0x1e, 0x20, 0x19, 0x23, 0x3b, 0x14, 0x25, 0x00, 0x27, 0x14, 0x04, 0x25, 0x36
|
||||
.byte 0x1a, 0x2b, 0x27, 0x21, 0x15, 0x28, 0x13, 0x2c, 0x0e, 0x3c, 0x35, 0x0c, 0x2d, 0x2b, 0x37, 0x16, 0x15, 0x29, 0x15, 0x1d, 0x17, 0x34, 0x36, 0x09, 0x0a, 0x31, 0x37, 0x22, 0x28, 0x17, 0x2b, 0x35
|
||||
.byte 0x14, 0x2b, 0x12, 0x08, 0x13, 0x1f, 0x31, 0x13, 0x28, 0x06, 0x07, 0x35, 0x23, 0x3a, 0x29, 0x0f, 0x24, 0x2e, 0x07, 0x35, 0x26, 0x0e, 0x12, 0x15, 0x23, 0x33, 0x2c, 0x0e, 0x21, 0x26, 0x1c, 0x12
|
||||
.byte 0x25, 0x23, 0x1d, 0x2f, 0x04, 0x35, 0x33, 0x16, 0x01, 0x24, 0x3d, 0x2c, 0x2e, 0x35, 0x0a, 0x25, 0x11, 0x13, 0x25, 0x1b, 0x1b, 0x15, 0x15, 0x39, 0x10, 0x0b, 0x35, 0x24, 0x3a, 0x27, 0x30, 0x2e
|
||||
.byte 0x2f, 0x15, 0x10, 0x1f, 0x35, 0x1b, 0x28, 0x35, 0x26, 0x30, 0x37, 0x34, 0x37, 0x2b, 0x0f, 0x30, 0x29, 0x2e, 0x3f, 0x2b, 0x38, 0x34, 0x2b, 0x2b, 0x2f, 0x25, 0x0d, 0x28, 0x2a, 0x33, 0x18, 0x10
|
||||
.byte 0x21, 0x12, 0x11, 0x1f, 0x22, 0x34, 0x11, 0x25, 0x23, 0x21, 0x3f, 0x11, 0x26, 0x27, 0x25, 0x28, 0x36, 0x12, 0x15, 0x26, 0x32, 0x11, 0x18, 0x24, 0x32, 0x25, 0x37, 0x27, 0x3a, 0x33, 0x35, 0x07
|
||||
.byte 0x1c, 0x1a, 0x0e, 0x2a, 0x1e, 0x2f, 0x1f, 0x00, 0x2e, 0x21, 0x1b, 0x3c, 0x14, 0x2f, 0x3a, 0x2f, 0x3e, 0x38, 0x15, 0x1a, 0x13, 0x2f, 0x29, 0x0d, 0x2f, 0x37, 0x17, 0x18, 0x30, 0x1c, 0x35, 0x15
|
||||
.byte 0x34, 0x14, 0x28, 0x11, 0x2c, 0x2c, 0x25, 0x2a, 0x20, 0x3f, 0x28, 0x0c, 0x34, 0x1b, 0x30, 0x2e, 0x25, 0x37, 0x1c, 0x24, 0x1f, 0x25, 0x26, 0x0c, 0x19, 0x34, 0x18, 0x10, 0x35, 0x0a, 0x13, 0x11
|
||||
.byte 0x25, 0x13, 0x20, 0x13, 0x19, 0x11, 0x20, 0x28, 0x1d, 0x3e, 0x30, 0x1b, 0x23, 0x24, 0x21, 0x0d, 0x23, 0x23, 0x1d, 0x28, 0x2e, 0x2d, 0x12, 0x1f, 0x0e, 0x2e, 0x2b, 0x0b, 0x31, 0x32, 0x24, 0x3c
|
||||
.byte 0x2c, 0x13, 0x3c, 0x12, 0x28, 0x16, 0x2a, 0x05, 0x0c, 0x32, 0x39, 0x0b, 0x32, 0x21, 0x04, 0x14, 0x10, 0x31, 0x32, 0x12, 0x1f, 0x23, 0x39, 0x2e, 0x2e, 0x22, 0x3d, 0x27, 0x0c, 0x1e, 0x18, 0x25
|
||||
.byte 0x00, 0x17, 0x06, 0x31, 0x14, 0x13, 0x21, 0x1a, 0x14, 0x20, 0x35, 0x0a, 0x3b, 0x25, 0x33, 0x08, 0x28, 0x3d, 0x02, 0x33, 0x23, 0x00, 0x13, 0x22, 0x21, 0x28, 0x30, 0x14, 0x2e, 0x14, 0x32, 0x36
|
||||
.byte 0x39, 0x23, 0x1e, 0x1c, 0x11, 0x30, 0x37, 0x16, 0x30, 0x15, 0x31, 0x1f, 0x34, 0x28, 0x2c, 0x35, 0x05, 0x29, 0x37, 0x33, 0x2a, 0x1c, 0x17, 0x2e, 0x10, 0x06, 0x16, 0x32, 0x1f, 0x2f, 0x00, 0x29
|
||||
.byte 0x1e, 0x04, 0x01, 0x16, 0x3b, 0x23, 0x1e, 0x1b, 0x34, 0x2a, 0x30, 0x11, 0x2b, 0x03, 0x00, 0x1f, 0x1d, 0x37, 0x1a, 0x3a, 0x18, 0x25, 0x1c, 0x16, 0x2c, 0x04, 0x3f, 0x33, 0x26, 0x23, 0x2d, 0x15
|
||||
.byte 0x2c, 0x27, 0x02, 0x35, 0x27, 0x07, 0x35, 0x33, 0x1a, 0x0c, 0x10, 0x28, 0x26, 0x2c, 0x2f, 0x36, 0x16, 0x37, 0x0b, 0x27, 0x1b, 0x3d, 0x18, 0x27, 0x1f, 0x20, 0x2b, 0x2a, 0x33, 0x0b, 0x0f, 0x20
|
||||
.byte 0x35, 0x3c, 0x2f, 0x33, 0x21, 0x15, 0x2d, 0x26, 0x34, 0x1f, 0x1a, 0x21, 0x2f, 0x2c, 0x2a, 0x1a, 0x32, 0x1a, 0x3b, 0x3f, 0x21, 0x13, 0x3f, 0x13, 0x0f, 0x24, 0x22, 0x14, 0x1b, 0x10, 0x21, 0x06
|
||||
.byte 0x28, 0x25, 0x34, 0x10, 0x2e, 0x0e, 0x14, 0x3c, 0x3e, 0x25, 0x16, 0x06, 0x30, 0x0b, 0x04, 0x1f, 0x3e, 0x02, 0x24, 0x0c, 0x17, 0x25, 0x2b, 0x3c, 0x2d, 0x15, 0x36, 0x33, 0x18, 0x23, 0x2a, 0x1d
|
||||
.byte 0x10, 0x2a, 0x35, 0x17, 0x28, 0x00, 0x37, 0x24, 0x0a, 0x3b, 0x15, 0x1d, 0x0b, 0x1f, 0x3c, 0x31, 0x25, 0x1d, 0x0f, 0x1d, 0x20, 0x13, 0x34, 0x11, 0x2b, 0x2e, 0x23, 0x0c, 0x2e, 0x24, 0x02, 0x14
|
||||
.byte 0x31, 0x16, 0x19, 0x0e, 0x23, 0x35, 0x1a, 0x10, 0x16, 0x14, 0x04, 0x19, 0x2d, 0x27, 0x37, 0x33, 0x02, 0x31, 0x02, 0x04, 0x16, 0x0d, 0x22, 0x25, 0x25, 0x00, 0x16, 0x2a, 0x3f, 0x26, 0x20, 0x0c
|
||||
.byte 0x12, 0x2f, 0x2e, 0x35, 0x1b, 0x0d, 0x22, 0x1e, 0x01, 0x34, 0x05, 0x22, 0x21, 0x34, 0x2a, 0x32, 0x0b, 0x09, 0x1d, 0x3f, 0x32, 0x2f, 0x3d, 0x18, 0x2d, 0x0b, 0x38, 0x36, 0x39, 0x17, 0x28, 0x34
|
||||
.byte 0x04, 0x24, 0x36, 0x0e, 0x2a, 0x38, 0x01, 0x14, 0x3c, 0x24, 0x22, 0x21, 0x03, 0x18, 0x32, 0x2f, 0x12, 0x29, 0x24, 0x31, 0x0a, 0x3b, 0x12, 0x1a, 0x1c, 0x20, 0x30, 0x31, 0x1b, 0x1a, 0x21, 0x10
|
||||
.byte 0x05, 0x29, 0x10, 0x26, 0x2d, 0x13, 0x16, 0x0c, 0x1d, 0x2b, 0x06, 0x1b, 0x06, 0x12, 0x14, 0x38, 0x0f, 0x35, 0x23, 0x3a, 0x2c, 0x00, 0x19, 0x33, 0x29, 0x14, 0x2d, 0x2a, 0x21, 0x29, 0x14, 0x31
|
||||
.byte 0x14, 0x1a, 0x06, 0x1e, 0x18, 0x1b, 0x28, 0x3b, 0x16, 0x29, 0x15, 0x1e, 0x12, 0x34, 0x0a, 0x14, 0x1b, 0x05, 0x27, 0x0b, 0x01, 0x26, 0x2a, 0x22, 0x35, 0x21, 0x20, 0x18, 0x20, 0x37, 0x17, 0x14
|
||||
.byte 0x1f, 0x11, 0x1d, 0x11, 0x25, 0x24, 0x2b, 0x2f, 0x07, 0x3f, 0x1f, 0x2c, 0x25, 0x25, 0x2a, 0x29, 0x18, 0x11, 0x24, 0x28, 0x31, 0x2c, 0x2a, 0x39, 0x0b, 0x26, 0x28, 0x10, 0x26, 0x22, 0x06, 0x16
|
||||
.byte 0x09, 0x2c, 0x13, 0x34, 0x19, 0x15, 0x3a, 0x12, 0x21, 0x1d, 0x38, 0x23, 0x12, 0x25, 0x24, 0x21, 0x30, 0x12, 0x37, 0x1a, 0x12, 0x24, 0x3b, 0x25, 0x32, 0x15, 0x23, 0x0d, 0x1a, 0x10, 0x16, 0x2e
|
||||
.byte 0x26, 0x1d, 0x14, 0x16, 0x3e, 0x2e, 0x1f, 0x0a, 0x16, 0x10, 0x1d, 0x30, 0x2b, 0x04, 0x3a, 0x19, 0x08, 0x2d, 0x2e, 0x28, 0x1e, 0x33, 0x0a, 0x12, 0x2e, 0x0d, 0x03, 0x2f, 0x26, 0x3a, 0x1e, 0x35
|
||||
.byte 0x3b, 0x2a, 0x03, 0x1a, 0x18, 0x3f, 0x0b, 0x27, 0x04, 0x05, 0x34, 0x36, 0x0b, 0x27, 0x3b, 0x17, 0x11, 0x0d, 0x27, 0x26, 0x2c, 0x1f, 0x20, 0x26, 0x10, 0x20, 0x25, 0x23, 0x2d, 0x37, 0x09, 0x13
|
||||
.byte 0x14, 0x17, 0x2d, 0x2e, 0x3d, 0x23, 0x1d, 0x1a, 0x1f, 0x21, 0x33, 0x2e, 0x28, 0x17, 0x13, 0x26, 0x3c, 0x36, 0x14, 0x1a, 0x33, 0x32, 0x20, 0x2b, 0x19, 0x3e, 0x20, 0x0c, 0x02, 0x2d, 0x3c, 0x3c
|
||||
.byte 0x2a, 0x30, 0x30, 0x28, 0x25, 0x3f, 0x1e, 0x03, 0x17, 0x1e, 0x35, 0x11, 0x1c, 0x1b, 0x14, 0x2a, 0x28, 0x3a, 0x23, 0x0e, 0x1f, 0x12, 0x36, 0x21, 0x20, 0x07, 0x3b, 0x10, 0x23, 0x19, 0x34, 0x0d
|
||||
.byte 0x2e, 0x18, 0x3f, 0x20, 0x25, 0x3e, 0x3b, 0x15, 0x0b, 0x2e, 0x12, 0x37, 0x0b, 0x23, 0x3d, 0x32, 0x1f, 0x16, 0x03, 0x27, 0x14, 0x0c, 0x21, 0x18, 0x03, 0x30, 0x3e, 0x21, 0x13, 0x0f, 0x00, 0x32
|
||||
.byte 0x3f, 0x23, 0x16, 0x0e, 0x31, 0x1d, 0x18, 0x1c, 0x1d, 0x30, 0x0e, 0x1e, 0x21, 0x20, 0x23, 0x3f, 0x0c, 0x1e, 0x14, 0x33, 0x22, 0x22, 0x21, 0x15, 0x36, 0x05, 0x1e, 0x1d, 0x31, 0x14, 0x20, 0x11
|
||||
.byte 0x37, 0x0d, 0x33, 0x19, 0x25, 0x05, 0x36, 0x1e, 0x31, 0x20, 0x35, 0x3a, 0x2f, 0x32, 0x2f, 0x30, 0x14, 0x23, 0x2d, 0x35, 0x1e, 0x29, 0x05, 0x05, 0x1b, 0x09, 0x1f, 0x26, 0x2f, 0x0b, 0x15, 0x15
|
||||
.byte 0x11, 0x13, 0x29, 0x1b, 0x18, 0x1c, 0x13, 0x35, 0x34, 0x31, 0x23, 0x27, 0x3f, 0x2f, 0x09, 0x30, 0x19, 0x23, 0x12, 0x34, 0x02, 0x2a, 0x21, 0x09, 0x3c, 0x1d, 0x0c, 0x02, 0x10, 0x22, 0x05, 0x17
|
||||
.byte 0x22, 0x08, 0x1b, 0x0a, 0x0f, 0x15, 0x02, 0x11, 0x13, 0x01, 0x21, 0x22, 0x16, 0x39, 0x33, 0x24, 0x38, 0x34, 0x0f, 0x1e, 0x2b, 0x2b, 0x15, 0x15, 0x20, 0x22, 0x2e, 0x3a, 0x3f, 0x31, 0x1a, 0x27
|
||||
.byte 0x2b, 0x29, 0x34, 0x14, 0x16, 0x39, 0x2f, 0x13, 0x3e, 0x16, 0x36, 0x21, 0x30, 0x00, 0x24, 0x2b, 0x24, 0x21, 0x30, 0x15, 0x31, 0x13, 0x10, 0x37, 0x24, 0x08, 0x07, 0x23, 0x21, 0x09, 0x25, 0x05
|
||||
.byte 0x3c, 0x32, 0x19, 0x03, 0x25, 0x0f, 0x29, 0x2b, 0x16, 0x07, 0x13, 0x3e, 0x3d, 0x25, 0x36, 0x0b, 0x28, 0x2e, 0x2b, 0x16, 0x0c, 0x31, 0x11, 0x30, 0x13, 0x2d, 0x26, 0x3e, 0x37, 0x29, 0x2f, 0x2e
|
||||
.byte 0x15, 0x3d, 0x17, 0x1c, 0x2e, 0x21, 0x33, 0x2f, 0x10, 0x0d, 0x05, 0x1d, 0x1c, 0x1a, 0x12, 0x0e, 0x18, 0x37, 0x1b, 0x11, 0x14, 0x06, 0x14, 0x21, 0x31, 0x0e, 0x27, 0x1a, 0x03, 0x10, 0x00, 0x34
|
||||
.byte 0x31, 0x3f, 0x0b, 0x1d, 0x0f, 0x12, 0x1f, 0x1a, 0x15, 0x10, 0x0f, 0x00, 0x24, 0x3e, 0x0a, 0x2a, 0x30, 0x2b, 0x24, 0x26, 0x31, 0x10, 0x2d, 0x2f, 0x2f, 0x3f, 0x0c, 0x13, 0x12, 0x0b, 0x16, 0x15
|
||||
.byte 0x07, 0x1f, 0x28, 0x10, 0x32, 0x0f, 0x17, 0x15, 0x0b, 0x27, 0x33, 0x34, 0x1d, 0x10, 0x1c, 0x3a, 0x12, 0x2c, 0x27, 0x37, 0x0a, 0x1a, 0x32, 0x05, 0x1f, 0x21, 0x24, 0x0d, 0x1f, 0x1c, 0x17, 0x24
|
||||
.byte 0x2f, 0x3b, 0x32, 0x3b, 0x25, 0x10, 0x03, 0x2f, 0x21, 0x0c, 0x10, 0x23, 0x0e, 0x3a, 0x2c, 0x33, 0x03, 0x2c, 0x12, 0x06, 0x1c, 0x2a, 0x37, 0x30, 0x3f, 0x01, 0x1e, 0x35, 0x16, 0x37, 0x2c, 0x32
|
||||
.byte 0x35, 0x05, 0x11, 0x22, 0x29, 0x09, 0x20, 0x2b, 0x0d, 0x1f, 0x18, 0x0d, 0x20, 0x23, 0x39, 0x16, 0x0f, 0x3a, 0x18, 0x21, 0x35, 0x2b, 0x36, 0x26, 0x2b, 0x23, 0x05, 0x2f, 0x1b, 0x08, 0x17, 0x3e
|
||||
.byte 0x09, 0x16, 0x2d, 0x3a, 0x37, 0x15, 0x35, 0x35, 0x29, 0x0a, 0x12, 0x02, 0x39, 0x1f, 0x14, 0x34, 0x33, 0x17, 0x1d, 0x18, 0x16, 0x1d, 0x1a, 0x01, 0x39, 0x22, 0x1e, 0x27, 0x36, 0x32, 0x14, 0x26
|
||||
.byte 0x0a, 0x39, 0x36, 0x1f, 0x0d, 0x1e, 0x0b, 0x0a, 0x19, 0x35, 0x1d, 0x34, 0x03, 0x12, 0x16, 0x0c, 0x13, 0x2e, 0x0c, 0x34, 0x1e, 0x10, 0x14, 0x1e, 0x23, 0x32, 0x27, 0x02, 0x10, 0x29, 0x35, 0x18
|
||||
.byte 0x33, 0x33, 0x1d, 0x1a, 0x3c, 0x15, 0x23, 0x3e, 0x3f, 0x22, 0x2a, 0x02, 0x2c, 0x28, 0x0a, 0x2f, 0x1a, 0x06, 0x35, 0x3c, 0x17, 0x2b, 0x03, 0x12, 0x17, 0x2f, 0x0a, 0x26, 0x12, 0x38, 0x11, 0x36
|
||||
.byte 0x1b, 0x23, 0x01, 0x39, 0x35, 0x19, 0x19, 0x17, 0x09, 0x28, 0x22, 0x1e, 0x27, 0x2c, 0x35, 0x33, 0x2c, 0x27, 0x25, 0x31, 0x06, 0x31, 0x2d, 0x1a, 0x39, 0x28, 0x2d, 0x04, 0x1e, 0x24, 0x3e, 0x1c
|
||||
.byte 0x3c, 0x30, 0x1b, 0x3f, 0x3e, 0x37, 0x22, 0x36, 0x11, 0x00, 0x01, 0x1c, 0x12, 0x1a, 0x10, 0x12, 0x1e, 0x2c, 0x1f, 0x12, 0x2a, 0x2f, 0x06, 0x19, 0x35, 0x1a, 0x18, 0x3b, 0x09, 0x36, 0x34, 0x1d
|
||||
.byte 0x13, 0x02, 0x07, 0x10, 0x20, 0x2f, 0x1d, 0x0b, 0x03, 0x33, 0x1c, 0x16, 0x31, 0x05, 0x13, 0x1b, 0x29, 0x06, 0x13, 0x30, 0x2d, 0x36, 0x2a, 0x2d, 0x2c, 0x19, 0x34, 0x1c, 0x0f, 0x15, 0x12, 0x36
|
||||
.byte 0x15, 0x2c, 0x3a, 0x06, 0x1c, 0x12, 0x1d, 0x26, 0x03, 0x38, 0x1d, 0x01, 0x01, 0x2d, 0x17, 0x2e, 0x10, 0x14, 0x17, 0x1c, 0x34, 0x0f, 0x28, 0x09, 0x37, 0x1b, 0x28, 0x1d, 0x26, 0x29, 0x2d, 0x36
|
||||
.byte 0x1e, 0x17, 0x28, 0x15, 0x0f, 0x1c, 0x20, 0x2d, 0x10, 0x27, 0x16, 0x2e, 0x14, 0x09, 0x12, 0x3b, 0x3d, 0x21, 0x25, 0x1a, 0x2c, 0x00, 0x22, 0x36, 0x0d, 0x30, 0x10, 0x17, 0x19, 0x1b, 0x00, 0x3b
|
||||
.byte 0x21, 0x2a, 0x28, 0x34, 0x2d, 0x0f, 0x16, 0x0a, 0x30, 0x28, 0x06, 0x00, 0x25, 0x31, 0x2e, 0x2a, 0x14, 0x33, 0x28, 0x36, 0x10, 0x2e, 0x05, 0x2e, 0x19, 0x19, 0x1a, 0x15, 0x2c, 0x14, 0x17, 0x37
|
||||
.byte 0x0f, 0x13, 0x32, 0x17, 0x1b, 0x39, 0x18, 0x32, 0x2e, 0x32, 0x1e, 0x24, 0x1d, 0x31, 0x12, 0x1d, 0x2b, 0x14, 0x0c, 0x27, 0x36, 0x2e, 0x32, 0x06, 0x0a, 0x1a, 0x28, 0x28, 0x20, 0x3a, 0x3a, 0x17
|
||||
.byte 0x08, 0x27, 0x36, 0x18, 0x1a, 0x10, 0x1e, 0x26, 0x1b, 0x1f, 0x33, 0x1f, 0x21, 0x17, 0x2f, 0x01, 0x08, 0x20, 0x35, 0x03, 0x19, 0x3b, 0x02, 0x20, 0x02, 0x2d, 0x23, 0x0e, 0x17, 0x32, 0x31, 0x29
|
||||
.byte 0x11, 0x22, 0x17, 0x22, 0x3a, 0x2c, 0x23, 0x34, 0x20, 0x18, 0x00, 0x3a, 0x22, 0x25, 0x33, 0x21, 0x33, 0x04, 0x27, 0x04, 0x18, 0x32, 0x2c, 0x0c, 0x2f, 0x28, 0x14, 0x2c, 0x3f, 0x30, 0x2b, 0x30
|
||||
.byte 0x21, 0x1d, 0x01, 0x25, 0x32, 0x05, 0x23, 0x34, 0x24, 0x10, 0x30, 0x3d, 0x14, 0x1b, 0x3f, 0x38, 0x2f, 0x22, 0x1b, 0x32, 0x25, 0x07, 0x37, 0x0a, 0x0c, 0x1d, 0x03, 0x1e, 0x1a, 0x0f, 0x3c, 0x12
|
||||
.byte 0x11, 0x18, 0x1d, 0x00, 0x35, 0x2f, 0x32, 0x18, 0x14, 0x23, 0x30, 0x1b, 0x11, 0x3d, 0x12, 0x1a, 0x16, 0x35, 0x28, 0x05, 0x24, 0x17, 0x3d, 0x37, 0x2e, 0x09, 0x2e, 0x18, 0x1d, 0x17, 0x20, 0x1f
|
||||
.byte 0x18, 0x23, 0x2c, 0x2f, 0x20, 0x3f, 0x16, 0x3f, 0x29, 0x2e, 0x23, 0x3b, 0x29, 0x18, 0x39, 0x13, 0x1e, 0x32, 0x35, 0x14, 0x1d, 0x2a, 0x35, 0x01, 0x1d, 0x3e, 0x3b, 0x1e, 0x22, 0x1e, 0x16, 0x18
|
||||
.byte 0x22, 0x12, 0x3e, 0x29, 0x33, 0x2f, 0x14, 0x19, 0x3b, 0x07, 0x15, 0x06, 0x3d, 0x29, 0x35, 0x37, 0x23, 0x34, 0x1d, 0x2d, 0x18, 0x12, 0x1b, 0x0b, 0x13, 0x24, 0x13, 0x38, 0x1c, 0x1f, 0x0b, 0x1b
|
||||
.byte 0x13, 0x21, 0x1c, 0x06, 0x39, 0x32, 0x37, 0x3d, 0x26, 0x29, 0x26, 0x15, 0x3c, 0x33, 0x27, 0x00, 0x01, 0x2e, 0x15, 0x18, 0x31, 0x0d, 0x2c, 0x13, 0x27, 0x3b, 0x20, 0x2d, 0x01, 0x26, 0x23, 0x15
|
||||
.byte 0x30, 0x24, 0x00, 0x17, 0x37, 0x3f, 0x33, 0x25, 0x24, 0x31, 0x06, 0x3b, 0x37, 0x03, 0x18, 0x1a, 0x2c, 0x34, 0x14, 0x1d, 0x36, 0x18, 0x3a, 0x04, 0x23, 0x12, 0x26, 0x15, 0x2b, 0x19, 0x1a, 0x29
|
||||
.byte 0x2c, 0x36, 0x01, 0x19, 0x1d, 0x2f, 0x06, 0x2b, 0x0c, 0x12, 0x26, 0x36, 0x32, 0x1d, 0x0d, 0x12, 0x28, 0x03, 0x28, 0x13, 0x29, 0x06, 0x17, 0x03, 0x38, 0x21, 0x30, 0x2c, 0x10, 0x22, 0x00, 0x28
|
||||
.byte 0x24, 0x3b, 0x1c, 0x20, 0x3e, 0x13, 0x02, 0x0c, 0x19, 0x29, 0x2c, 0x1a, 0x39, 0x30, 0x22, 0x2a, 0x1f, 0x22, 0x14, 0x34, 0x2c, 0x14, 0x25, 0x1b, 0x06, 0x3b, 0x15, 0x06, 0x1c, 0x13, 0x15, 0x03
|
||||
.byte 0x18, 0x1e, 0x2a, 0x1b, 0x17, 0x25, 0x2f, 0x1c, 0x29, 0x2e, 0x02, 0x32, 0x1e, 0x1d, 0x28, 0x35, 0x36, 0x03, 0x34, 0x16, 0x3d, 0x2a, 0x12, 0x0d, 0x13, 0x1d, 0x2d, 0x21, 0x32, 0x17, 0x2e, 0x1a
|
||||
.byte 0x15, 0x26, 0x22, 0x2f, 0x15, 0x3c, 0x0e, 0x20, 0x2f, 0x27, 0x13, 0x04, 0x09, 0x32, 0x1e, 0x01, 0x34, 0x06, 0x16, 0x1e, 0x2e, 0x1b, 0x1c, 0x28, 0x13, 0x2a, 0x30, 0x34, 0x12, 0x12, 0x32, 0x18
|
||||
.byte 0x1d, 0x1d, 0x35, 0x07, 0x1c, 0x16, 0x2d, 0x3d, 0x35, 0x1c, 0x1b, 0x24, 0x21, 0x2d, 0x1e, 0x10, 0x09, 0x14, 0x3d, 0x11, 0x12, 0x25, 0x02, 0x26, 0x23, 0x02, 0x19, 0x19, 0x05, 0x14, 0x0b, 0x21
|
||||
.byte 0x1a, 0x09, 0x02, 0x2c, 0x18, 0x28, 0x2d, 0x1e, 0x10, 0x12, 0x2e, 0x18, 0x2e, 0x1f, 0x02, 0x2c, 0x14, 0x17, 0x24, 0x39, 0x08, 0x32, 0x16, 0x14, 0x22, 0x16, 0x28, 0x21, 0x11, 0x10, 0x2c, 0x23
|
||||
.byte 0x36, 0x2b, 0x39, 0x21, 0x26, 0x0e, 0x06, 0x2d, 0x3c, 0x3e, 0x26, 0x2a, 0x1b, 0x1f, 0x00, 0x3c, 0x33, 0x35, 0x3f, 0x14, 0x00, 0x0b, 0x10, 0x34, 0x3c, 0x17, 0x2d, 0x07, 0x1f, 0x24, 0x39, 0x27
|
||||
.byte 0x16, 0x00, 0x1d, 0x33, 0x2b, 0x1e, 0x0f, 0x08, 0x31, 0x3a, 0x09, 0x13, 0x0c, 0x21, 0x1c, 0x2a, 0x17, 0x34, 0x29, 0x27, 0x10, 0x37, 0x1b, 0x18, 0x15, 0x08, 0x2f, 0x1f, 0x16, 0x12, 0x1f, 0x28
|
||||
.byte 0x34, 0x1c, 0x20, 0x22, 0x12, 0x01, 0x12, 0x21, 0x31, 0x10, 0x22, 0x26, 0x1e, 0x01, 0x3d, 0x11, 0x1e, 0x27, 0x25, 0x3d, 0x30, 0x24, 0x1d, 0x11, 0x22, 0x36, 0x30, 0x16, 0x1f, 0x3e, 0x2a, 0x3c
|
||||
.byte 0x27, 0x1b, 0x1f, 0x29, 0x10, 0x1e, 0x05, 0x2a, 0x0a, 0x10, 0x14, 0x1f, 0x00, 0x2e, 0x0b, 0x3b, 0x18, 0x0a, 0x39, 0x30, 0x37, 0x0b, 0x1f, 0x1d, 0x0a, 0x29, 0x3e, 0x1c, 0x33, 0x13, 0x2e, 0x28
|
||||
.byte 0x27, 0x1b, 0x1e, 0x1d, 0x02, 0x1c, 0x01, 0x25, 0x14, 0x3a, 0x10, 0x1c, 0x12, 0x05, 0x2a, 0x30, 0x20, 0x26, 0x2f, 0x2e, 0x2e, 0x03, 0x07, 0x24, 0x36, 0x04, 0x2b, 0x11, 0x25, 0x2d, 0x28, 0x0e
|
||||
.byte 0x2e, 0x0f, 0x1d, 0x15, 0x1c, 0x28, 0x30, 0x1f, 0x23, 0x26, 0x36, 0x12, 0x37, 0x3a, 0x31, 0x10, 0x2c, 0x2c, 0x2f, 0x1a, 0x0d, 0x15, 0x3f, 0x3c, 0x32, 0x35, 0x1c, 0x16, 0x33, 0x16, 0x28, 0x1d
|
||||
.byte 0x3f, 0x21, 0x2c, 0x3e, 0x2b, 0x24, 0x23, 0x2f, 0x32, 0x15, 0x2a, 0x1b, 0x10, 0x35, 0x18, 0x37, 0x10, 0x3b, 0x1e, 0x11, 0x2b, 0x16, 0x24, 0x1d, 0x16, 0x26, 0x3c, 0x2d, 0x11, 0x15, 0x28, 0x28
|
||||
.byte 0x27, 0x27, 0x27, 0x3b, 0x3a, 0x16, 0x1a, 0x0c, 0x1a, 0x15, 0x08, 0x25, 0x0b, 0x10, 0x22, 0x1a, 0x3e, 0x17, 0x28, 0x1f, 0x1e, 0x01, 0x1e, 0x1e, 0x1c, 0x2f, 0x10, 0x25, 0x0b, 0x34, 0x3e, 0x0c
|
||||
.byte 0x1a, 0x1b, 0x10, 0x2a, 0x0f, 0x14, 0x17, 0x0f, 0x3f, 0x17, 0x03, 0x15, 0x1f, 0x02, 0x36, 0x17, 0x15, 0x1d, 0x18, 0x08, 0x36, 0x10, 0x14, 0x0d, 0x2b, 0x0a, 0x05, 0x1d, 0x26, 0x12, 0x1e, 0x3e
|
||||
.byte 0x18, 0x19, 0x36, 0x18, 0x37, 0x17, 0x39, 0x2e, 0x0d, 0x04, 0x19, 0x16, 0x22, 0x15, 0x3e, 0x26, 0x1f, 0x00, 0x06, 0x17, 0x33, 0x22, 0x1d, 0x2b, 0x39, 0x2b, 0x3e, 0x31, 0x1c, 0x22, 0x3f, 0x13
|
||||
.byte 0x30, 0x1c, 0x31, 0x07, 0x2b, 0x14, 0x32, 0x35, 0x1e, 0x02, 0x07, 0x20, 0x0f, 0x3b, 0x11, 0x20, 0x07, 0x12, 0x2a, 0x30, 0x1d, 0x28, 0x38, 0x36, 0x20, 0x01, 0x17, 0x15, 0x20, 0x21, 0x3a, 0x1b
|
||||
.byte 0x1e, 0x38, 0x12, 0x24, 0x03, 0x3e, 0x1f, 0x29, 0x1d, 0x13, 0x20, 0x27, 0x19, 0x12, 0x25, 0x20, 0x32, 0x33, 0x2b, 0x3f, 0x05, 0x31, 0x35, 0x3c, 0x2d, 0x2d, 0x02, 0x2e, 0x10, 0x2a, 0x16, 0x17
|
||||
.byte 0x08, 0x31, 0x17, 0x2e, 0x2b, 0x30, 0x1e, 0x15, 0x31, 0x15, 0x26, 0x08, 0x10, 0x33, 0x15, 0x01, 0x27, 0x12, 0x07, 0x2f, 0x29, 0x27, 0x34, 0x3f, 0x08, 0x31, 0x1c, 0x20, 0x1a, 0x33, 0x0c, 0x13
|
||||
.byte 0x18, 0x31, 0x24, 0x37, 0x2d, 0x2e, 0x21, 0x18, 0x24, 0x3a, 0x27, 0x31, 0x35, 0x3e, 0x30, 0x3a, 0x14, 0x33, 0x0f, 0x1a, 0x2d, 0x30, 0x2e, 0x11, 0x1a, 0x31, 0x1d, 0x17, 0x3c, 0x18, 0x33, 0x31
|
||||
.byte 0x23, 0x1d, 0x39, 0x2d, 0x10, 0x1d, 0x2f, 0x24, 0x15, 0x1c, 0x25, 0x01, 0x2b, 0x22, 0x16, 0x2e, 0x1b, 0x25, 0x35, 0x37, 0x10, 0x26, 0x39, 0x01, 0x36, 0x17, 0x2b, 0x14, 0x09, 0x16, 0x17, 0x20
|
||||
.byte 0x28, 0x23, 0x26, 0x3a, 0x26, 0x27, 0x2a, 0x24, 0x36, 0x02, 0x2c, 0x29, 0x30, 0x35, 0x36, 0x01, 0x1f, 0x28, 0x3b, 0x1d, 0x23, 0x1e, 0x2d, 0x11, 0x1e, 0x2c, 0x2f, 0x32, 0x19, 0x3f, 0x26, 0x31
|
||||
.byte 0x38, 0x1e, 0x17, 0x05, 0x18, 0x2e, 0x00, 0x2e, 0x12, 0x34, 0x3f, 0x34, 0x16, 0x10, 0x29, 0x20, 0x3d, 0x36, 0x2f, 0x16, 0x25, 0x12, 0x17, 0x10, 0x21, 0x37, 0x35, 0x25, 0x37, 0x2d, 0x01, 0x08
|
||||
.byte 0x27, 0x03, 0x1f, 0x29, 0x0d, 0x2a, 0x16, 0x3a, 0x3f, 0x33, 0x2b, 0x19, 0x1d, 0x2a, 0x1f, 0x29, 0x28, 0x2c, 0x10, 0x28, 0x30, 0x10, 0x39, 0x14, 0x1b, 0x00, 0x18, 0x21, 0x28, 0x0c, 0x37, 0x11
|
||||
.byte 0x10, 0x11, 0x3c, 0x33, 0x32, 0x33, 0x36, 0x1a, 0x36, 0x00, 0x1c, 0x31, 0x1b, 0x1d, 0x38, 0x1d, 0x10, 0x3c, 0x39, 0x27, 0x3a, 0x3f, 0x14, 0x19, 0x12, 0x14, 0x0d, 0x1f, 0x18, 0x00, 0x25, 0x18
|
||||
.byte 0x28, 0x1c, 0x32, 0x27, 0x03, 0x1a, 0x26, 0x2d, 0x2a, 0x29, 0x28, 0x27, 0x0a, 0x2a, 0x18, 0x0a, 0x1a, 0x30, 0x20, 0x1a, 0x2e, 0x06, 0x0b, 0x1d, 0x0f, 0x0c, 0x1c, 0x35, 0x28, 0x1c, 0x3d, 0x16
|
||||
.byte 0x23, 0x21, 0x1c, 0x31, 0x14, 0x1c, 0x2e, 0x22, 0x32, 0x35, 0x09, 0x29, 0x30, 0x20, 0x1a, 0x10, 0x31, 0x3f, 0x2c, 0x0a, 0x3d, 0x37, 0x0b, 0x2e, 0x2d, 0x1f, 0x22, 0x31, 0x06, 0x07, 0x29, 0x22
|
||||
.byte 0x17, 0x2d, 0x30, 0x11, 0x18, 0x0c, 0x19, 0x15, 0x07, 0x0a, 0x34, 0x18, 0x29, 0x27, 0x33, 0x0c, 0x30, 0x03, 0x1a, 0x37, 0x06, 0x01, 0x2d, 0x0f, 0x3b, 0x2b, 0x11, 0x1f, 0x37, 0x2b, 0x21, 0x36
|
||||
.byte 0x3f, 0x23, 0x17, 0x17, 0x07, 0x2b, 0x2b, 0x0e, 0x30, 0x11, 0x39, 0x1d, 0x29, 0x03, 0x33, 0x30, 0x03, 0x2f, 0x3c, 0x20, 0x26, 0x03, 0x22, 0x14, 0x3a, 0x28, 0x35, 0x01, 0x28, 0x2b, 0x3e, 0x15
|
||||
.byte 0x18, 0x30, 0x07, 0x17, 0x3b, 0x2c, 0x30, 0x15, 0x07, 0x2c, 0x17, 0x27, 0x1d, 0x3f, 0x1e, 0x33, 0x0d, 0x17, 0x10, 0x15, 0x0e, 0x30, 0x09, 0x05, 0x30, 0x2d, 0x20, 0x15, 0x3c, 0x3d, 0x30, 0x0c
|
||||
.byte 0x17, 0x1c, 0x1a, 0x0d, 0x25, 0x2b, 0x2b, 0x2a, 0x02, 0x16, 0x2d, 0x17, 0x31, 0x17, 0x00, 0x08, 0x13, 0x37, 0x35, 0x21, 0x1e, 0x1c, 0x1f, 0x2b, 0x32, 0x1c, 0x10, 0x2a, 0x16, 0x3a, 0x33, 0x31
|
||||
.byte 0x17, 0x2b, 0x2a, 0x0c, 0x3d, 0x11, 0x28, 0x0a, 0x30, 0x23, 0x0a, 0x26, 0x0a, 0x14, 0x24, 0x0b, 0x0f, 0x30, 0x1b, 0x1e, 0x29, 0x02, 0x35, 0x28, 0x3b, 0x02, 0x14, 0x00, 0x0f, 0x35, 0x1c, 0x3c
|
||||
.byte 0x2e, 0x28, 0x38, 0x19, 0x1b, 0x11, 0x12, 0x09, 0x16, 0x10, 0x2e, 0x0d, 0x20, 0x3d, 0x04, 0x32, 0x16, 0x2c, 0x25, 0x02, 0x3d, 0x18, 0x0b, 0x13, 0x1c, 0x22, 0x2a, 0x1c, 0x20, 0x27, 0x22, 0x05
|
||||
.byte 0x26, 0x22, 0x12, 0x1d, 0x2c, 0x08, 0x05, 0x2e, 0x3f, 0x1c, 0x17, 0x24, 0x0d, 0x33, 0x36, 0x08, 0x24, 0x10, 0x22, 0x29, 0x1c, 0x0a, 0x11, 0x25, 0x0f, 0x10, 0x24, 0x38, 0x2f, 0x25, 0x32, 0x1e
|
||||
.byte 0x06, 0x2a, 0x29, 0x3e, 0x3a, 0x28, 0x34, 0x17, 0x33, 0x18, 0x33, 0x17, 0x07, 0x14, 0x1f, 0x11, 0x17, 0x20, 0x13, 0x0e, 0x14, 0x3b, 0x1c, 0x12, 0x2a, 0x13, 0x37, 0x2a, 0x35, 0x32, 0x30, 0x02
|
||||
.byte 0x25, 0x00, 0x07, 0x1f, 0x0c, 0x04, 0x2c, 0x37, 0x37, 0x30, 0x25, 0x12, 0x25, 0x12, 0x22, 0x21, 0x22, 0x35, 0x33, 0x07, 0x20, 0x2d, 0x27, 0x0e, 0x30, 0x34, 0x19, 0x1a, 0x0a, 0x3c, 0x25, 0x07
|
||||
.byte 0x1d, 0x2b, 0x31, 0x3a, 0x12, 0x1a, 0x3d, 0x37, 0x16, 0x15, 0x16, 0x39, 0x13, 0x15, 0x2d, 0x03, 0x2e, 0x06, 0x39, 0x2c, 0x16, 0x00, 0x13, 0x35, 0x2a, 0x35, 0x24, 0x01, 0x18, 0x24, 0x37, 0x28
|
||||
.byte 0x25, 0x1b, 0x34, 0x25, 0x19, 0x17, 0x27, 0x2f, 0x1b, 0x27, 0x0d, 0x10, 0x36, 0x3c, 0x30, 0x3c, 0x33, 0x23, 0x3e, 0x27, 0x1e, 0x25, 0x2d, 0x29, 0x1f, 0x12, 0x21, 0x37, 0x32, 0x1f, 0x11, 0x21
|
||||
.byte 0x35, 0x30, 0x0c, 0x19, 0x25, 0x3d, 0x26, 0x17, 0x02, 0x1d, 0x14, 0x2e, 0x11, 0x38, 0x13, 0x30, 0x0a, 0x2b, 0x20, 0x1e, 0x10, 0x15, 0x37, 0x30, 0x2e, 0x1e, 0x04, 0x2c, 0x14, 0x34, 0x19, 0x08
|
||||
.byte 0x14, 0x18, 0x0e, 0x1c, 0x30, 0x1a, 0x2e, 0x1b, 0x1f, 0x39, 0x31, 0x0c, 0x1c, 0x28, 0x3e, 0x33, 0x23, 0x0f, 0x13, 0x16, 0x25, 0x39, 0x2f, 0x14, 0x1b, 0x1a, 0x28, 0x3e, 0x21, 0x2d, 0x19, 0x11
|
||||
.byte 0x0c, 0x34, 0x32, 0x39, 0x31, 0x19, 0x1a, 0x08, 0x34, 0x09, 0x2f, 0x11, 0x30, 0x04, 0x1c, 0x02, 0x3b, 0x1b, 0x33, 0x21, 0x33, 0x38, 0x02, 0x1a, 0x31, 0x38, 0x32, 0x1f, 0x1d, 0x16, 0x17, 0x10
|
||||
.byte 0x1b, 0x32, 0x20, 0x17, 0x00, 0x33, 0x12, 0x21, 0x0f, 0x27, 0x14, 0x19, 0x27, 0x24, 0x2c, 0x37, 0x25, 0x05, 0x2f, 0x3d, 0x25, 0x11, 0x12, 0x30, 0x1a, 0x16, 0x03, 0x1a, 0x14, 0x09, 0x13, 0x02
|
||||
.byte 0x23, 0x22, 0x01, 0x3c, 0x10, 0x3f, 0x2d, 0x23, 0x31, 0x3f, 0x23, 0x17, 0x00, 0x33, 0x3f, 0x0f, 0x2f, 0x26, 0x07, 0x15, 0x21, 0x2b, 0x2a, 0x38, 0x39, 0x1e, 0x09, 0x25, 0x2b, 0x3b, 0x30, 0x25
|
||||
.byte 0x12, 0x2d, 0x13, 0x32, 0x19, 0x28, 0x24, 0x1c, 0x2d, 0x35, 0x32, 0x26, 0x0d, 0x23, 0x1e, 0x1d, 0x07, 0x21, 0x0b, 0x34, 0x17, 0x2d, 0x32, 0x32, 0x3a, 0x3c, 0x35, 0x1a, 0x10, 0x33, 0x1a, 0x07
|
||||
.byte 0x22, 0x3b, 0x1b, 0x2a, 0x33, 0x1f, 0x26, 0x0e, 0x35, 0x1a, 0x3b, 0x0a, 0x1c, 0x11, 0x07, 0x11, 0x0d, 0x3c, 0x2d, 0x1e, 0x37, 0x29, 0x11, 0x05, 0x12, 0x15, 0x2f, 0x1c, 0x24, 0x31, 0x16, 0x2b
|
||||
.byte 0x21, 0x1b, 0x23, 0x10, 0x31, 0x02, 0x14, 0x29, 0x26, 0x20, 0x16, 0x10, 0x17, 0x10, 0x0b, 0x0f, 0x33, 0x01, 0x2e, 0x14, 0x21, 0x0e, 0x37, 0x1a, 0x1d, 0x2f, 0x1e, 0x30, 0x24, 0x04, 0x14, 0x2d
|
||||
.byte 0x11, 0x00, 0x30, 0x08, 0x2a, 0x1d, 0x1d, 0x22, 0x21, 0x24, 0x2c, 0x37, 0x24, 0x11, 0x12, 0x04, 0x2e, 0x28, 0x1d, 0x18, 0x23, 0x3c, 0x16, 0x16, 0x10, 0x17, 0x31, 0x20, 0x21, 0x12, 0x33, 0x3e
|
||||
.byte 0x34, 0x06, 0x13, 0x13, 0x17, 0x38, 0x2b, 0x14, 0x0d, 0x15, 0x24, 0x3b, 0x2b, 0x34, 0x3b, 0x1e, 0x18, 0x07, 0x34, 0x37, 0x1d, 0x1f, 0x0b, 0x29, 0x20, 0x12, 0x1e, 0x1d, 0x1a, 0x24, 0x24, 0x3d
|
||||
.byte 0x28, 0x24, 0x0b, 0x12, 0x33, 0x1b, 0x3a, 0x22, 0x14, 0x13, 0x2a, 0x31, 0x38, 0x15, 0x37, 0x2b, 0x2e, 0x19, 0x1e, 0x2c, 0x3f, 0x1b, 0x2a, 0x33, 0x1f, 0x33, 0x3f, 0x15, 0x29, 0x01, 0x1e, 0x18
|
||||
.byte 0x1f, 0x22, 0x19, 0x33, 0x3c, 0x34, 0x1e, 0x12, 0x22, 0x0d, 0x37, 0x2c, 0x0f, 0x08, 0x31, 0x2e, 0x09, 0x36, 0x01, 0x05, 0x1e, 0x1c, 0x04, 0x1e, 0x0c, 0x01, 0x1c, 0x29, 0x28, 0x2f, 0x39, 0x2d
|
||||
.byte 0x14, 0x09, 0x22, 0x36, 0x04, 0x37, 0x37, 0x2d, 0x2f, 0x35, 0x24, 0x23, 0x1b, 0x08, 0x20, 0x32, 0x20, 0x1f, 0x34, 0x02, 0x31, 0x19, 0x18, 0x13, 0x36, 0x06, 0x2b, 0x1e, 0x0e, 0x1b, 0x10, 0x2f
|
||||
.byte 0x0e, 0x1c, 0x11, 0x38, 0x13, 0x01, 0x37, 0x19, 0x14, 0x11, 0x26, 0x31, 0x3d, 0x33, 0x1d, 0x1b, 0x34, 0x25, 0x31, 0x2f, 0x11, 0x0a, 0x2f, 0x39, 0x17, 0x1b, 0x05, 0x0e, 0x13, 0x29, 0x25, 0x22
|
||||
.byte 0x15, 0x0d, 0x20, 0x2b, 0x27, 0x21, 0x3e, 0x24, 0x27, 0x2a, 0x2b, 0x16, 0x24, 0x3d, 0x15, 0x15, 0x30, 0x31, 0x0f, 0x33, 0x24, 0x06, 0x16, 0x13, 0x06, 0x31, 0x10, 0x2e, 0x3f, 0x10, 0x05, 0x0d
|
||||
.byte 0x2f, 0x3c, 0x1f, 0x19, 0x12, 0x13, 0x24, 0x0f, 0x33, 0x36, 0x15, 0x3b, 0x33, 0x03, 0x0f, 0x2a, 0x3b, 0x3c, 0x2c, 0x36, 0x09, 0x29, 0x11, 0x3b, 0x27, 0x28, 0x2b, 0x31, 0x1a, 0x0e, 0x2f, 0x39
|
||||
.byte 0x2c, 0x31, 0x0e, 0x3c, 0x35, 0x2c, 0x24, 0x33, 0x3d, 0x11, 0x2b, 0x07, 0x3c, 0x37, 0x14, 0x18, 0x13, 0x1d, 0x3f, 0x2e, 0x30, 0x12, 0x25, 0x26, 0x1d, 0x11, 0x07, 0x11, 0x1e, 0x34, 0x01, 0x11
|
||||
.byte 0x0b, 0x39, 0x21, 0x29, 0x02, 0x29, 0x15, 0x10, 0x1a, 0x30, 0x1f, 0x35, 0x3c, 0x2b, 0x2a, 0x30, 0x3b, 0x36, 0x20, 0x1a, 0x23, 0x32, 0x24, 0x2b, 0x15, 0x20, 0x1c, 0x25, 0x3d, 0x36, 0x2d, 0x14
|
||||
.byte 0x31, 0x18, 0x23, 0x17, 0x18, 0x05, 0x13, 0x34, 0x30, 0x37, 0x0e, 0x39, 0x23, 0x1d, 0x1f, 0x17, 0x01, 0x15, 0x2f, 0x0b, 0x3e, 0x1b, 0x0d, 0x19, 0x2e, 0x31, 0x38, 0x1c, 0x15, 0x34, 0x15, 0x13
|
||||
.byte 0x19, 0x29, 0x19, 0x14, 0x27, 0x15, 0x18, 0x23, 0x29, 0x0c, 0x27, 0x2d, 0x0e, 0x17, 0x34, 0x18, 0x10, 0x3b, 0x1e, 0x29, 0x34, 0x2c, 0x22, 0x31, 0x08, 0x13, 0x1d, 0x18, 0x1a, 0x1c, 0x0b, 0x2a
|
||||
.byte 0x19, 0x1e, 0x1a, 0x23, 0x27, 0x17, 0x3b, 0x0e, 0x37, 0x19, 0x2b, 0x16, 0x2f, 0x08, 0x21, 0x37, 0x02, 0x20, 0x0b, 0x32, 0x30, 0x16, 0x05, 0x30, 0x13, 0x05, 0x1a, 0x07, 0x39, 0x19, 0x0c, 0x3b
|
||||
.byte 0x2a, 0x15, 0x05, 0x30, 0x30, 0x05, 0x19, 0x13, 0x00, 0x12, 0x27, 0x16, 0x2a, 0x0f, 0x28, 0x27, 0x0c, 0x23, 0x2f, 0x39, 0x28, 0x2a, 0x24, 0x25, 0x1f, 0x18, 0x29, 0x14, 0x16, 0x05, 0x1a, 0x35
|
||||
.byte 0x2f, 0x26, 0x0a, 0x3a, 0x29, 0x34, 0x2c, 0x36, 0x2e, 0x3a, 0x15, 0x1a, 0x0a, 0x2d, 0x16, 0x14, 0x2e, 0x35, 0x28, 0x2a, 0x35, 0x0f, 0x11, 0x11, 0x32, 0x19, 0x20, 0x1a, 0x28, 0x17, 0x1a, 0x28
|
||||
.byte 0x16, 0x33, 0x25, 0x13, 0x2c, 0x29, 0x09, 0x16, 0x33, 0x1d, 0x27, 0x26, 0x15, 0x0c, 0x2f, 0x22, 0x1c, 0x19, 0x29, 0x33, 0x10, 0x2d, 0x11, 0x1b, 0x16, 0x19, 0x2e, 0x0d, 0x0c, 0x28, 0x37, 0x3a
|
||||
.byte 0x34, 0x2a, 0x1d, 0x37, 0x30, 0x0a, 0x36, 0x24, 0x39, 0x1b, 0x39, 0x0a, 0x32, 0x11, 0x03, 0x2d, 0x32, 0x1d, 0x30, 0x38, 0x1e, 0x27, 0x2e, 0x17, 0x18, 0x16, 0x17, 0x2a, 0x36, 0x3b, 0x31, 0x17
|
||||
.byte 0x04, 0x19, 0x3a, 0x25, 0x2d, 0x00, 0x36, 0x27, 0x25, 0x12, 0x33, 0x06, 0x0a, 0x14, 0x11, 0x05, 0x2f, 0x03, 0x35, 0x2f, 0x0b, 0x34, 0x29, 0x00, 0x31, 0x13, 0x27, 0x0f, 0x1c, 0x1d, 0x06, 0x2d
|
||||
.byte 0x1c, 0x30, 0x27, 0x2f, 0x2a, 0x27, 0x16, 0x20, 0x31, 0x33, 0x2b, 0x2b, 0x05, 0x30, 0x36, 0x29, 0x23, 0x35, 0x10, 0x16, 0x2f, 0x2d, 0x20, 0x29, 0x37, 0x13, 0x24, 0x2d, 0x0e, 0x25, 0x08, 0x0a
|
||||
.byte 0x18, 0x0f, 0x03, 0x1b, 0x31, 0x0c, 0x37, 0x1e, 0x34, 0x31, 0x1b, 0x0e, 0x25, 0x1a, 0x07, 0x34, 0x0d, 0x3c, 0x33, 0x00, 0x3a, 0x36, 0x04, 0x27, 0x12, 0x23, 0x18, 0x24, 0x0d, 0x0b, 0x18, 0x31
|
||||
.byte 0x32, 0x37, 0x00, 0x0d, 0x21, 0x32, 0x10, 0x12, 0x26, 0x0d, 0x19, 0x29, 0x24, 0x2b, 0x3d, 0x21, 0x1f, 0x1e, 0x1b, 0x28, 0x0d, 0x12, 0x28, 0x35, 0x1e, 0x23, 0x0a, 0x2e, 0x22, 0x27, 0x27, 0x35
|
||||
.byte 0x01, 0x0e, 0x20, 0x31, 0x39, 0x29, 0x3b, 0x24, 0x36, 0x14, 0x10, 0x33, 0x18, 0x2c, 0x26, 0x04, 0x2d, 0x15, 0x1a, 0x11, 0x37, 0x0f, 0x0b, 0x14, 0x0e, 0x2c, 0x2c, 0x21, 0x17, 0x2c, 0x16, 0x21
|
||||
.byte 0x35, 0x3e, 0x10, 0x10, 0x0a, 0x05, 0x1e, 0x3b, 0x09, 0x13, 0x26, 0x18, 0x1e, 0x23, 0x0c, 0x1a, 0x33, 0x37, 0x1f, 0x09, 0x12, 0x35, 0x3d, 0x0d, 0x15, 0x36, 0x06, 0x24, 0x33, 0x30, 0x29, 0x3b
|
||||
.byte 0x0f, 0x28, 0x34, 0x2a, 0x2c, 0x02, 0x12, 0x35, 0x09, 0x22, 0x31, 0x3b, 0x31, 0x1c, 0x33, 0x22, 0x27, 0x3d, 0x34, 0x15, 0x14, 0x22, 0x28, 0x28, 0x10, 0x1e, 0x21, 0x31, 0x10, 0x2d, 0x16, 0x21
|
||||
.byte 0x1e, 0x05, 0x33, 0x0f, 0x30, 0x31, 0x0e, 0x1a, 0x35, 0x38, 0x2e, 0x28, 0x26, 0x37, 0x1e, 0x2b, 0x13, 0x33, 0x1f, 0x1e, 0x37, 0x0a, 0x28, 0x24, 0x32, 0x1c, 0x1a, 0x1f, 0x3f, 0x19, 0x39, 0x39
|
||||
.byte 0x29, 0x2c, 0x1b, 0x14, 0x15, 0x2a, 0x17, 0x32, 0x0f, 0x21, 0x30, 0x21, 0x18, 0x23, 0x2a, 0x27, 0x3d, 0x07, 0x10, 0x0b, 0x3f, 0x2f, 0x31, 0x02, 0x2e, 0x08, 0x39, 0x2f, 0x3f, 0x20, 0x18, 0x2d
|
||||
.byte 0x34, 0x11, 0x2e, 0x34, 0x10, 0x26, 0x12, 0x23, 0x25, 0x0a, 0x37, 0x34, 0x09, 0x25, 0x0a, 0x3e, 0x16, 0x1a, 0x17, 0x11, 0x38, 0x1c, 0x20, 0x11, 0x21, 0x26, 0x05, 0x0f, 0x18, 0x26, 0x2b, 0x32
|
||||
.byte 0x0a, 0x0c, 0x16, 0x03, 0x29, 0x1d, 0x29, 0x3b, 0x23, 0x16, 0x1b, 0x29, 0x07, 0x09, 0x17, 0x17, 0x2c, 0x1c, 0x35, 0x33, 0x30, 0x17, 0x12, 0x1e, 0x3d, 0x1a, 0x2b, 0x21, 0x1d, 0x10, 0x0a, 0x08
|
||||
.byte 0x17, 0x14, 0x3c, 0x36, 0x28, 0x36, 0x36, 0x3b, 0x20, 0x1b, 0x13, 0x22, 0x1d, 0x13, 0x3a, 0x15, 0x02, 0x23, 0x2c, 0x3e, 0x19, 0x14, 0x39, 0x3c, 0x1a, 0x10, 0x08, 0x1e, 0x0a, 0x13, 0x29, 0x3f
|
||||
.byte 0x38, 0x2c, 0x07, 0x23, 0x1f, 0x19, 0x2a, 0x24, 0x14, 0x3c, 0x1f, 0x0d, 0x04, 0x37, 0x1a, 0x2f, 0x28, 0x2a, 0x1d, 0x1e, 0x11, 0x37, 0x29, 0x28, 0x27, 0x12, 0x0d, 0x00, 0x26, 0x0a, 0x3c, 0x26
|
||||
.byte 0x1f, 0x1c, 0x33, 0x04, 0x3a, 0x2c, 0x24, 0x3d, 0x2b, 0x26, 0x31, 0x2f, 0x13, 0x1c, 0x21, 0x3e, 0x12, 0x23, 0x36, 0x0a, 0x1a, 0x2d, 0x1e, 0x19, 0x05, 0x1f, 0x1b, 0x1e, 0x0a, 0x1f, 0x20, 0x08
|
||||
.byte 0x24, 0x2c, 0x0c, 0x33, 0x1d, 0x1f, 0x11, 0x0e, 0x12, 0x10, 0x27, 0x12, 0x19, 0x2a, 0x13, 0x31, 0x1c, 0x04, 0x30, 0x1a, 0x38, 0x1f, 0x2c, 0x35, 0x25, 0x07, 0x0b, 0x33, 0x2d, 0x02, 0x1a, 0x2a
|
||||
.byte 0x35, 0x35, 0x16, 0x2f, 0x14, 0x11, 0x31, 0x33, 0x2c, 0x31, 0x1e, 0x3c, 0x3a, 0x27, 0x3c, 0x2b, 0x12, 0x27, 0x1d, 0x12, 0x36, 0x2c, 0x2b, 0x25, 0x3b, 0x35, 0x12, 0x3d, 0x27, 0x13, 0x23, 0x19
|
||||
.byte 0x33, 0x2c, 0x26, 0x09, 0x3c, 0x12, 0x15, 0x1a, 0x23, 0x21, 0x07, 0x1a, 0x22, 0x25, 0x20, 0x19, 0x1b, 0x2c, 0x3a, 0x19, 0x35, 0x05, 0x26, 0x1d, 0x23, 0x22, 0x25, 0x0e, 0x1e, 0x11, 0x13, 0x30
|
||||
.byte 0x12, 0x2c, 0x22, 0x25, 0x0a, 0x1d, 0x18, 0x23, 0x3e, 0x1d, 0x02, 0x28, 0x25, 0x21, 0x0e, 0x20, 0x21, 0x22, 0x37, 0x18, 0x33, 0x27, 0x23, 0x23, 0x31, 0x24, 0x1a, 0x1a, 0x3e, 0x25, 0x24, 0x24
|
||||
.byte 0x01, 0x18, 0x34, 0x10, 0x22, 0x07, 0x00, 0x37, 0x06, 0x20, 0x20, 0x3a, 0x02, 0x2b, 0x07, 0x2c, 0x2c, 0x09, 0x2f, 0x2a, 0x01, 0x32, 0x2c, 0x00, 0x35, 0x13, 0x2b, 0x3c, 0x1f, 0x36, 0x37, 0x1e
|
||||
.byte 0x20, 0x35, 0x1d, 0x0c, 0x07, 0x33, 0x16, 0x08, 0x12, 0x3f, 0x36, 0x11, 0x0b, 0x1f, 0x2d, 0x21, 0x20, 0x33, 0x17, 0x1a, 0x2e, 0x16, 0x01, 0x2f, 0x2f, 0x1c, 0x34, 0x29, 0x31, 0x2e, 0x3b, 0x38
|
||||
.byte 0x31, 0x0d, 0x16, 0x12, 0x07, 0x29, 0x24, 0x33, 0x3c, 0x34, 0x3e, 0x1e, 0x18, 0x30, 0x02, 0x34, 0x2a, 0x34, 0x1b, 0x2e, 0x23, 0x18, 0x34, 0x00, 0x1f, 0x20, 0x0e, 0x28, 0x15, 0x33, 0x37, 0x27
|
||||
.byte 0x35, 0x23, 0x37, 0x3e, 0x11, 0x32, 0x2e, 0x36, 0x3a, 0x02, 0x2b, 0x00, 0x36, 0x1d, 0x13, 0x29, 0x16, 0x08, 0x2b, 0x37, 0x08, 0x02, 0x27, 0x32, 0x2d, 0x34, 0x30, 0x36, 0x29, 0x2e, 0x10, 0x12
|
||||
.byte 0x3c, 0x2e, 0x2a, 0x04, 0x33, 0x30, 0x3f, 0x01, 0x22, 0x37, 0x14, 0x1d, 0x27, 0x00, 0x2f, 0x0c, 0x39, 0x26, 0x27, 0x04, 0x21, 0x19, 0x08, 0x1d, 0x01, 0x04, 0x1e, 0x27, 0x1b, 0x2b, 0x31, 0x17
|
||||
.byte 0x1f, 0x07, 0x01, 0x2d, 0x2e, 0x3b, 0x1f, 0x34, 0x24, 0x31, 0x32, 0x2b, 0x24, 0x0e, 0x07, 0x1e, 0x0f, 0x33, 0x10, 0x16, 0x21, 0x32, 0x39, 0x02, 0x1a, 0x33, 0x3d, 0x22, 0x0c, 0x25, 0x1a, 0x29
|
||||
.byte 0x29, 0x28, 0x3a, 0x32, 0x26, 0x0b, 0x13, 0x22, 0x1f, 0x0f, 0x1c, 0x04, 0x2c, 0x20, 0x39, 0x1a, 0x1b, 0x1a, 0x2a, 0x1f, 0x24, 0x13, 0x1a, 0x31, 0x3b, 0x33, 0x39, 0x23, 0x28, 0x31, 0x07, 0x31
|
||||
.byte 0x1f, 0x10, 0x20, 0x29, 0x17, 0x32, 0x26, 0x3b, 0x2d, 0x02, 0x3c, 0x1c, 0x0e, 0x00, 0x20, 0x14, 0x3e, 0x37, 0x01, 0x0f, 0x2d, 0x06, 0x12, 0x27, 0x30, 0x13, 0x19, 0x00, 0x33, 0x2a, 0x0c, 0x07
|
||||
.byte 0x27, 0x11, 0x3a, 0x1c, 0x15, 0x0a, 0x13, 0x1f, 0x0d, 0x2a, 0x37, 0x07, 0x2a, 0x34, 0x35, 0x34, 0x28, 0x16, 0x27, 0x06, 0x02, 0x36, 0x09, 0x23, 0x30, 0x14, 0x02, 0x28, 0x39, 0x32, 0x34, 0x24
|
||||
.byte 0x35, 0x12, 0x12, 0x22, 0x26, 0x09, 0x07, 0x33, 0x0f, 0x3e, 0x1e, 0x00, 0x3c, 0x33, 0x10, 0x37, 0x14, 0x3a, 0x03, 0x25, 0x2d, 0x1e, 0x24, 0x36, 0x36, 0x26, 0x1f, 0x3c, 0x1a, 0x37, 0x33, 0x25
|
||||
.byte 0x23, 0x13, 0x1f, 0x33, 0x0d, 0x13, 0x25, 0x30, 0x1e, 0x17, 0x03, 0x18, 0x18, 0x18, 0x14, 0x30, 0x07, 0x22, 0x3e, 0x33, 0x21, 0x14, 0x37, 0x16, 0x16, 0x00, 0x12, 0x2c, 0x12, 0x2f, 0x25, 0x3f
|
||||
.byte 0x1e, 0x24, 0x19, 0x16, 0x16, 0x0f, 0x35, 0x2d, 0x10, 0x11, 0x24, 0x2a, 0x28, 0x19, 0x25, 0x2e, 0x0c, 0x16, 0x1f, 0x38, 0x21, 0x36, 0x3d, 0x1a, 0x2f, 0x3b, 0x32, 0x12, 0x36, 0x13, 0x29, 0x0e
|
||||
.byte 0x30, 0x31, 0x19, 0x07, 0x2f, 0x25, 0x23, 0x28, 0x20, 0x08, 0x29, 0x2a, 0x00, 0x30, 0x30, 0x38, 0x23, 0x1e, 0x0f, 0x1f, 0x3b, 0x1b, 0x30, 0x3a, 0x37, 0x2f, 0x39, 0x37, 0x35, 0x39, 0x2d, 0x2f
|
||||
.byte 0x1f, 0x2e, 0x1e, 0x1a, 0x2b, 0x1e, 0x14, 0x17, 0x20, 0x2f, 0x03, 0x11, 0x1d, 0x00, 0x30, 0x17, 0x2b, 0x1d, 0x35, 0x28, 0x25, 0x3b, 0x0f, 0x11, 0x09, 0x04, 0x2e, 0x23, 0x11, 0x1e, 0x13, 0x37
|
||||
.byte 0x1e, 0x37, 0x37, 0x1e, 0x07, 0x01, 0x32, 0x14, 0x06, 0x32, 0x11, 0x0c, 0x2e, 0x36, 0x2e, 0x24, 0x15, 0x2a, 0x1c, 0x22, 0x15, 0x34, 0x2c, 0x1e, 0x35, 0x22, 0x27, 0x33, 0x19, 0x3f, 0x2d, 0x21
|
||||
.byte 0x33, 0x15, 0x26, 0x1a, 0x11, 0x16, 0x3e, 0x12, 0x2b, 0x24, 0x15, 0x3c, 0x0f, 0x2d, 0x31, 0x15, 0x36, 0x3f, 0x24, 0x1d, 0x25, 0x01, 0x37, 0x33, 0x16, 0x1a, 0x1f, 0x0e, 0x10, 0x2f, 0x0b, 0x12
|
||||
.byte 0x2a, 0x1a, 0x25, 0x17, 0x0a, 0x35, 0x09, 0x28, 0x35, 0x02, 0x13, 0x36, 0x34, 0x2f, 0x17, 0x03, 0x04, 0x31, 0x3e, 0x26, 0x11, 0x35, 0x33, 0x31, 0x22, 0x17, 0x23, 0x1d, 0x05, 0x2b, 0x2e, 0x27
|
||||
.byte 0x20, 0x03, 0x2b, 0x1d, 0x01, 0x19, 0x1e, 0x0e, 0x05, 0x18, 0x16, 0x25, 0x17, 0x02, 0x28, 0x18, 0x19, 0x0b, 0x24, 0x3e, 0x35, 0x16, 0x2e, 0x29, 0x25, 0x3e, 0x38, 0x1e, 0x3a, 0x2f, 0x12, 0x14
|
||||
.byte 0x17, 0x2d, 0x11, 0x12, 0x30, 0x15, 0x31, 0x18, 0x08, 0x0b, 0x29, 0x2d, 0x00, 0x33, 0x2c, 0x06, 0x1a, 0x14, 0x1c, 0x2e, 0x04, 0x08, 0x12, 0x1b, 0x2b, 0x2d, 0x2a, 0x37, 0x33, 0x10, 0x27, 0x2c
|
||||
.byte 0x1d, 0x0e, 0x34, 0x20, 0x02, 0x12, 0x1e, 0x1a, 0x2e, 0x07, 0x0b, 0x10, 0x36, 0x1e, 0x33, 0x2b, 0x28, 0x1b, 0x31, 0x25, 0x1f, 0x38, 0x3a, 0x2f, 0x39, 0x30, 0x2f, 0x12, 0x09, 0x14, 0x0e, 0x08
|
||||
.byte 0x19, 0x00, 0x0d, 0x2c, 0x1b, 0x0e, 0x34, 0x11, 0x25, 0x15, 0x0c, 0x2d, 0x26, 0x36, 0x2c, 0x16, 0x31, 0x31, 0x2c, 0x03, 0x1a, 0x16, 0x1c, 0x32, 0x14, 0x0a, 0x3e, 0x36, 0x33, 0x1b, 0x27, 0x1f
|
||||
.byte 0x32, 0x18, 0x33, 0x26, 0x33, 0x1a, 0x13, 0x1a, 0x0f, 0x34, 0x1c, 0x35, 0x2c, 0x2f, 0x38, 0x03, 0x18, 0x15, 0x0f, 0x27, 0x31, 0x29, 0x20, 0x28, 0x0e, 0x28, 0x31, 0x2c, 0x2e, 0x15, 0x19, 0x1b
|
||||
.byte 0x10, 0x03, 0x2f, 0x2e, 0x2a, 0x32, 0x2a, 0x27, 0x1b, 0x36, 0x04, 0x1e, 0x3b, 0x04, 0x21, 0x07, 0x2f, 0x19, 0x27, 0x1d, 0x1d, 0x3c, 0x3d, 0x2e, 0x25, 0x08, 0x32, 0x3b, 0x34, 0x2a, 0x0c, 0x10
|
||||
.byte 0x13, 0x25, 0x35, 0x1a, 0x2f, 0x19, 0x28, 0x17, 0x00, 0x2b, 0x0a, 0x1c, 0x17, 0x0a, 0x11, 0x1b, 0x35, 0x13, 0x37, 0x29, 0x1c, 0x28, 0x0c, 0x31, 0x35, 0x3c, 0x10, 0x1a, 0x1b, 0x3a, 0x2d, 0x3a
|
||||
.byte 0x1c, 0x18, 0x22, 0x10, 0x2d, 0x1c, 0x3c, 0x12, 0x17, 0x18, 0x2a, 0x0b, 0x2b, 0x2f, 0x2d, 0x04, 0x2e, 0x3c, 0x13, 0x23, 0x01, 0x1c, 0x2e, 0x14, 0x16, 0x22, 0x0c, 0x24, 0x13, 0x35, 0x37, 0x34
|
||||
.byte 0x1b, 0x30, 0x1e, 0x3a, 0x1c, 0x20, 0x06, 0x06, 0x36, 0x09, 0x15, 0x1a, 0x1b, 0x1a, 0x27, 0x0f, 0x33, 0x35, 0x37, 0x06, 0x23, 0x3a, 0x12, 0x1d, 0x00, 0x16, 0x29, 0x0e, 0x1d, 0x35, 0x3f, 0x38
|
||||
.byte 0x16, 0x2a, 0x3c, 0x34, 0x13, 0x32, 0x10, 0x17, 0x2c, 0x37, 0x29, 0x2a, 0x1e, 0x35, 0x2f, 0x2d, 0x3c, 0x2a, 0x11, 0x28, 0x13, 0x21, 0x19, 0x1e, 0x34, 0x0c, 0x06, 0x2d, 0x09, 0x04, 0x1c, 0x1d
|
||||
.byte 0x2f, 0x26, 0x39, 0x07, 0x16, 0x14, 0x04, 0x2d, 0x3a, 0x2f, 0x2e, 0x29, 0x15, 0x35, 0x24, 0x02, 0x36, 0x3f, 0x02, 0x1a, 0x0f, 0x18, 0x24, 0x16, 0x1d, 0x19, 0x14, 0x16, 0x10, 0x29, 0x1b, 0x13
|
||||
.byte 0x15, 0x0e, 0x19, 0x3a, 0x2e, 0x2b, 0x08, 0x30, 0x15, 0x35, 0x16, 0x30, 0x2e, 0x18, 0x35, 0x3b, 0x0b, 0x1c, 0x3a, 0x18, 0x13, 0x29, 0x13, 0x1e, 0x20, 0x13, 0x27, 0x04, 0x1d, 0x34, 0x00, 0x38
|
||||
.byte 0x19, 0x08, 0x39, 0x32, 0x20, 0x10, 0x26, 0x08, 0x02, 0x28, 0x3f, 0x0f, 0x16, 0x30, 0x1f, 0x19, 0x20, 0x2d, 0x10, 0x38, 0x17, 0x1c, 0x18, 0x31, 0x27, 0x33, 0x38, 0x30, 0x16, 0x33, 0x23, 0x00
|
||||
.byte 0x01, 0x36, 0x0d, 0x02, 0x23, 0x39, 0x04, 0x1f, 0x0e, 0x30, 0x24, 0x06, 0x01, 0x2c, 0x34, 0x33, 0x35, 0x16, 0x34, 0x2e, 0x32, 0x16, 0x24, 0x26, 0x39, 0x34, 0x1f, 0x3c, 0x1d, 0x28, 0x1d, 0x37
|
||||
.byte 0x17, 0x15, 0x2b, 0x27, 0x39, 0x30, 0x0b, 0x1b, 0x18, 0x35, 0x20, 0x2d, 0x0b, 0x35, 0x1c, 0x03, 0x0e, 0x21, 0x06, 0x0c, 0x20, 0x02, 0x18, 0x34, 0x1e, 0x36, 0x2d, 0x16, 0x0c, 0x19, 0x25, 0x09
|
||||
.byte 0x2c, 0x37, 0x05, 0x2e, 0x2e, 0x2b, 0x2c, 0x24, 0x1a, 0x14, 0x27, 0x04, 0x10, 0x32, 0x38, 0x33, 0x37, 0x15, 0x35, 0x11, 0x3f, 0x1d, 0x23, 0x23, 0x1f, 0x29, 0x3f, 0x1d, 0x1a, 0x3c, 0x2b, 0x1b
|
||||
.byte 0x2c, 0x2c, 0x38, 0x3b, 0x36, 0x04, 0x13, 0x33, 0x2c, 0x14, 0x12, 0x1a, 0x09, 0x1b, 0x36, 0x11, 0x24, 0x3a, 0x3f, 0x11, 0x01, 0x0e, 0x2b, 0x3b, 0x03, 0x2a, 0x08, 0x0d, 0x2b, 0x2b, 0x13, 0x27
|
||||
.byte 0x3a, 0x3c, 0x1c, 0x3a, 0x15, 0x2a, 0x24, 0x00, 0x17, 0x3e, 0x0a, 0x15, 0x0c, 0x29, 0x2d, 0x1f, 0x15, 0x30, 0x35, 0x18, 0x19, 0x3d, 0x37, 0x37, 0x12, 0x38, 0x1b, 0x3b, 0x02, 0x20, 0x08, 0x21
|
||||
.byte 0x19, 0x2e, 0x36, 0x1d, 0x15, 0x3d, 0x24, 0x22, 0x0c, 0x27, 0x36, 0x3f, 0x33, 0x33, 0x12, 0x11, 0x1a, 0x19, 0x1f, 0x2b, 0x24, 0x12, 0x11, 0x2a, 0x18, 0x25, 0x32, 0x2a, 0x2c, 0x1a, 0x12, 0x26
|
||||
.byte 0x06, 0x10, 0x11, 0x29, 0x33, 0x2c, 0x09, 0x14, 0x2b, 0x12, 0x2b, 0x1d, 0x03, 0x24, 0x00, 0x12, 0x15, 0x22, 0x3d, 0x26, 0x15, 0x37, 0x1a, 0x0f, 0x12, 0x37, 0x24, 0x01, 0x18, 0x2a, 0x17, 0x13
|
||||
.byte 0x14, 0x3b, 0x29, 0x2a, 0x19, 0x32, 0x2d, 0x17, 0x17, 0x0b, 0x2c, 0x33, 0x07, 0x2d, 0x34, 0x07, 0x38, 0x1d, 0x1f, 0x36, 0x22, 0x11, 0x0a, 0x17, 0x14, 0x11, 0x13, 0x2a, 0x17, 0x25, 0x01, 0x3a
|
||||
.byte 0x1c, 0x26, 0x27, 0x30, 0x2d, 0x3b, 0x35, 0x3a, 0x30, 0x34, 0x06, 0x3a, 0x1c, 0x2d, 0x05, 0x13, 0x21, 0x32, 0x12, 0x3e, 0x1e, 0x2c, 0x3a, 0x3f, 0x2d, 0x20, 0x2a, 0x34, 0x26, 0x03, 0x1a, 0x19
|
||||
.byte 0x27, 0x2e, 0x31, 0x04, 0x26, 0x2a, 0x3f, 0x30, 0x25, 0x23, 0x2a, 0x08, 0x08, 0x35, 0x2c, 0x30, 0x1e, 0x08, 0x05, 0x18, 0x06, 0x09, 0x2d, 0x19, 0x00, 0x27, 0x0d, 0x10, 0x19, 0x1c, 0x00, 0x13
|
||||
.byte 0x3d, 0x0b, 0x24, 0x2e, 0x1f, 0x16, 0x3d, 0x18, 0x34, 0x12, 0x1e, 0x15, 0x15, 0x39, 0x25, 0x33, 0x0f, 0x17, 0x1a, 0x1c, 0x1b, 0x37, 0x29, 0x1b, 0x3b, 0x38, 0x12, 0x1d, 0x22, 0x34, 0x26, 0x0a
|
||||
.byte 0x31, 0x16, 0x2d, 0x13, 0x0d, 0x20, 0x27, 0x24, 0x1d, 0x16, 0x2e, 0x2b, 0x18, 0x16, 0x2a, 0x1b, 0x24, 0x17, 0x36, 0x02, 0x05, 0x2b, 0x37, 0x1a, 0x17, 0x11, 0x3d, 0x2c, 0x1e, 0x2f, 0x22, 0x2c
|
||||
.byte 0x29, 0x1a, 0x2f, 0x04, 0x25, 0x36, 0x0c, 0x35, 0x30, 0x3e, 0x12, 0x11, 0x30, 0x37, 0x12, 0x21, 0x2e, 0x21, 0x30, 0x17, 0x2c, 0x3d, 0x24, 0x11, 0x23, 0x14, 0x1a, 0x32, 0x17, 0x39, 0x27, 0x18
|
||||
.byte 0x0f, 0x24, 0x19, 0x00, 0x3d, 0x37, 0x2c, 0x3c, 0x1c, 0x0b, 0x39, 0x23, 0x0e, 0x04, 0x1f, 0x1c, 0x31, 0x14, 0x00, 0x04, 0x15, 0x26, 0x2a, 0x2a, 0x20, 0x25, 0x2a, 0x0b, 0x3c, 0x33, 0x11, 0x0b
|
||||
.byte 0x2e, 0x37, 0x22, 0x2e, 0x0e, 0x22, 0x26, 0x18, 0x2d, 0x27, 0x06, 0x0c, 0x1c, 0x26, 0x18, 0x2f, 0x3a, 0x01, 0x2a, 0x2f, 0x31, 0x34, 0x1f, 0x34, 0x1a, 0x31, 0x05, 0x10, 0x2e, 0x17, 0x34, 0x18
|
||||
.byte 0x22, 0x23, 0x23, 0x21, 0x32, 0x07, 0x08, 0x22, 0x26, 0x1c, 0x22, 0x31, 0x12, 0x2f, 0x08, 0x1f, 0x10, 0x27, 0x15, 0x2a, 0x1f, 0x0b, 0x26, 0x2f, 0x14, 0x35, 0x24, 0x1f, 0x26, 0x3b, 0x23, 0x33
|
||||
.byte 0x20, 0x3e, 0x2d, 0x17, 0x0c, 0x15, 0x13, 0x39, 0x1a, 0x30, 0x14, 0x25, 0x09, 0x07, 0x17, 0x38, 0x38, 0x1f, 0x29, 0x24, 0x27, 0x17, 0x27, 0x28, 0x1b, 0x12, 0x2a, 0x2b, 0x3d, 0x2d, 0x19, 0x34
|
||||
.byte 0x1c, 0x01, 0x1d, 0x10, 0x08, 0x39, 0x11, 0x0e, 0x36, 0x1b, 0x26, 0x13, 0x10, 0x16, 0x28, 0x1e, 0x3c, 0x28, 0x17, 0x3e, 0x39, 0x34, 0x0a, 0x03, 0x2e, 0x37, 0x1a, 0x13, 0x2b, 0x33, 0x26, 0x13
|
||||
.byte 0x2c, 0x21, 0x25, 0x14, 0x10, 0x16, 0x0b, 0x35, 0x1d, 0x35, 0x33, 0x21, 0x08, 0x33, 0x28, 0x21, 0x1a, 0x12, 0x0c, 0x1b, 0x36, 0x2a, 0x19, 0x2c, 0x2b, 0x23, 0x01, 0x0f, 0x26, 0x17, 0x0c, 0x18
|
||||
.byte 0x09, 0x0f, 0x11, 0x2b, 0x24, 0x1c, 0x09, 0x09, 0x15, 0x36, 0x08, 0x13, 0x20, 0x39, 0x21, 0x00, 0x3a, 0x1f, 0x2b, 0x36, 0x31, 0x02, 0x37, 0x13, 0x04, 0x34, 0x35, 0x37, 0x3d, 0x1a, 0x17, 0x3d
|
||||
.byte 0x13, 0x2b, 0x36, 0x2f, 0x13, 0x1e, 0x13, 0x3e, 0x11, 0x33, 0x27, 0x3a, 0x2d, 0x1e, 0x31, 0x1a, 0x03, 0x03, 0x2d, 0x25, 0x37, 0x1f, 0x11, 0x01, 0x22, 0x1c, 0x12, 0x17, 0x30, 0x3a, 0x30, 0x17
|
||||
.byte 0x1d, 0x29, 0x0e, 0x13, 0x27, 0x1a, 0x2e, 0x24, 0x2d, 0x00, 0x1c, 0x17, 0x28, 0x1d, 0x09, 0x1f, 0x2e, 0x1a, 0x2d, 0x26, 0x0a, 0x13, 0x32, 0x3e, 0x00, 0x27, 0x0b, 0x3b, 0x30, 0x08, 0x3a, 0x2d
|
||||
.byte 0x22, 0x12, 0x1e, 0x34, 0x1d, 0x2b, 0x26, 0x22, 0x35, 0x17, 0x2c, 0x17, 0x29, 0x13, 0x2d, 0x2d, 0x10, 0x10, 0x20, 0x31, 0x23, 0x1e, 0x33, 0x18, 0x33, 0x06, 0x2d, 0x26, 0x14, 0x27, 0x22, 0x1d
|
||||
.byte 0x2a, 0x2d, 0x06, 0x18, 0x07, 0x09, 0x2e, 0x21, 0x15, 0x2e, 0x21, 0x38, 0x23, 0x35, 0x0b, 0x34, 0x24, 0x0b, 0x22, 0x1e, 0x01, 0x17, 0x0b, 0x24, 0x11, 0x17, 0x07, 0x20, 0x14, 0x25, 0x32, 0x1a
|
||||
.byte 0x0e, 0x2f, 0x35, 0x17, 0x1f, 0x0c, 0x08, 0x21, 0x30, 0x35, 0x1f, 0x0c, 0x0b, 0x20, 0x04, 0x10, 0x11, 0x35, 0x11, 0x1e, 0x33, 0x3d, 0x16, 0x1e, 0x2b, 0x1d, 0x1a, 0x19, 0x10, 0x04, 0x06, 0x22
|
||||
.byte 0x03, 0x3d, 0x24, 0x2a, 0x0e, 0x35, 0x03, 0x3e, 0x17, 0x0b, 0x18, 0x36, 0x3d, 0x0d, 0x26, 0x35, 0x12, 0x20, 0x1f, 0x0d, 0x16, 0x23, 0x32, 0x1a, 0x00, 0x3d, 0x26, 0x30, 0x19, 0x36, 0x12, 0x0e
|
||||
.byte 0x23, 0x01, 0x23, 0x28, 0x3b, 0x31, 0x11, 0x2d, 0x1c, 0x36, 0x2a, 0x05, 0x16, 0x14, 0x0e, 0x30, 0x3a, 0x37, 0x19, 0x1f, 0x30, 0x25, 0x10, 0x26, 0x2f, 0x22, 0x11, 0x1f, 0x2e, 0x2b, 0x1e, 0x16
|
||||
.byte 0x16, 0x21, 0x32, 0x18, 0x35, 0x23, 0x32, 0x1a, 0x3d, 0x0d, 0x19, 0x39, 0x09, 0x23, 0x30, 0x2e, 0x24, 0x1e, 0x0f, 0x24, 0x09, 0x21, 0x31, 0x05, 0x03, 0x11, 0x05, 0x22, 0x2a, 0x03, 0x07, 0x37
|
||||
.byte 0x04, 0x08, 0x13, 0x05, 0x10, 0x34, 0x37, 0x14, 0x29, 0x0a, 0x24, 0x32, 0x34, 0x1e, 0x1b, 0x12, 0x17, 0x2e, 0x01, 0x02, 0x13, 0x0a, 0x0c, 0x11, 0x02, 0x14, 0x13, 0x0d, 0x25, 0x23, 0x00, 0x07
|
||||
.byte 0x1a, 0x1c, 0x28, 0x35, 0x08, 0x0e, 0x2c, 0x1b, 0x3c, 0x15, 0x1c, 0x19, 0x1d, 0x32, 0x13, 0x1a, 0x1c, 0x00, 0x37, 0x22, 0x1b, 0x35, 0x39, 0x3e, 0x14, 0x32, 0x06, 0x31, 0x17, 0x05, 0x2b, 0x01
|
||||
.byte 0x0f, 0x20, 0x1e, 0x0f, 0x34, 0x18, 0x03, 0x1f, 0x2b, 0x00, 0x14, 0x15, 0x3a, 0x30, 0x25, 0x30, 0x21, 0x0b, 0x00, 0x37, 0x24, 0x37, 0x1d, 0x29, 0x21, 0x16, 0x24, 0x0f, 0x2c, 0x3e, 0x15, 0x36
|
||||
.byte 0x3c, 0x2d, 0x23, 0x3d, 0x3c, 0x17, 0x1a, 0x1c, 0x13, 0x0a, 0x29, 0x22, 0x25, 0x3f, 0x26, 0x3b, 0x39, 0x2f, 0x1d, 0x08, 0x16, 0x0b, 0x19, 0x14, 0x12, 0x01, 0x2c, 0x35, 0x11, 0x2a, 0x02, 0x00
|
||||
.byte 0x13, 0x39, 0x2a, 0x35, 0x07, 0x1a, 0x11, 0x24, 0x0e, 0x1e, 0x0e, 0x2c, 0x15, 0x08, 0x31, 0x1b, 0x21, 0x1d, 0x26, 0x1d, 0x1c, 0x2a, 0x1d, 0x24, 0x13, 0x01, 0x00, 0x18, 0x28, 0x2a, 0x37, 0x15
|
||||
.byte 0x0f, 0x13, 0x10, 0x32, 0x36, 0x22, 0x13, 0x31, 0x13, 0x05, 0x1e, 0x17, 0x35, 0x35, 0x3b, 0x0e, 0x24, 0x35, 0x3a, 0x1d, 0x1b, 0x36, 0x1b, 0x03, 0x1d, 0x24, 0x0f, 0x16, 0x30, 0x2d, 0x09, 0x25
|
||||
.byte 0x05, 0x21, 0x13, 0x0a, 0x27, 0x36, 0x04, 0x0d, 0x1c, 0x06, 0x3e, 0x21, 0x2a, 0x27, 0x33, 0x28, 0x0e, 0x15, 0x0b, 0x17, 0x1d, 0x1d, 0x32, 0x2d, 0x08, 0x3d, 0x29, 0x21, 0x32, 0x17, 0x33, 0x31
|
||||
.byte 0x22, 0x0e, 0x03, 0x21, 0x0d, 0x0b, 0x16, 0x3e, 0x2a, 0x2e, 0x19, 0x36, 0x2a, 0x0d, 0x00, 0x14, 0x22, 0x07, 0x36, 0x0a, 0x09, 0x15, 0x14, 0x10, 0x22, 0x07, 0x16, 0x2c, 0x36, 0x13, 0x15, 0x09
|
||||
.byte 0x2f, 0x1b, 0x20, 0x3b, 0x2e, 0x3a, 0x3a, 0x16, 0x0d, 0x15, 0x2a, 0x39, 0x13, 0x2b, 0x0b, 0x01, 0x2a, 0x13, 0x17, 0x1e, 0x08, 0x17, 0x1e, 0x0c, 0x0f, 0x34, 0x1f, 0x31, 0x12, 0x07, 0x3a, 0x1d
|
||||
.byte 0x35, 0x1e, 0x12, 0x24, 0x2c, 0x15, 0x0e, 0x21, 0x19, 0x34, 0x3b, 0x33, 0x19, 0x0f, 0x28, 0x10, 0x2f, 0x2e, 0x23, 0x27, 0x31, 0x39, 0x2e, 0x18, 0x3c, 0x3f, 0x24, 0x07, 0x23, 0x30, 0x28, 0x13
|
||||
.byte 0x35, 0x13, 0x0a, 0x10, 0x35, 0x19, 0x33, 0x23, 0x28, 0x29, 0x13, 0x2f, 0x1a, 0x3a, 0x19, 0x14, 0x37, 0x36, 0x26, 0x20, 0x3b, 0x15, 0x37, 0x39, 0x10, 0x3c, 0x21, 0x34, 0x1c, 0x38, 0x30, 0x15
|
||||
.byte 0x07, 0x26, 0x27, 0x21, 0x19, 0x18, 0x11, 0x23, 0x30, 0x28, 0x37, 0x32, 0x2d, 0x1f, 0x2c, 0x3f, 0x30, 0x1d, 0x2f, 0x26, 0x01, 0x11, 0x1c, 0x3b, 0x0f, 0x12, 0x2a, 0x17, 0x27, 0x05, 0x00, 0x1b
|
||||
.byte 0x25, 0x1c, 0x32, 0x04, 0x22, 0x2d, 0x10, 0x0f, 0x25, 0x0d, 0x39, 0x30, 0x0b, 0x2e, 0x27, 0x2d, 0x34, 0x15, 0x3e, 0x30, 0x36, 0x16, 0x26, 0x2a, 0x05, 0x3f, 0x2b, 0x20, 0x3b, 0x2e, 0x3b, 0x1c
|
||||
.byte 0x2f, 0x01, 0x18, 0x16, 0x16, 0x3d, 0x10, 0x0a, 0x1f, 0x18, 0x17, 0x0f, 0x22, 0x06, 0x13, 0x11, 0x38, 0x21, 0x17, 0x17, 0x0a, 0x37, 0x1c, 0x19, 0x30, 0x16, 0x38, 0x31, 0x30, 0x10, 0x36, 0x31
|
||||
.byte 0x2f, 0x26, 0x3c, 0x1b, 0x23, 0x33, 0x2f, 0x19, 0x16, 0x35, 0x25, 0x3a, 0x18, 0x1f, 0x37, 0x01, 0x1e, 0x0d, 0x18, 0x12, 0x1f, 0x1c, 0x1b, 0x07, 0x34, 0x2d, 0x0b, 0x3f, 0x33, 0x1e, 0x34, 0x1d
|
||||
.byte 0x2c, 0x13, 0x2c, 0x20, 0x20, 0x13, 0x20, 0x0f, 0x31, 0x08, 0x0f, 0x24, 0x18, 0x3d, 0x1c, 0x36, 0x34, 0x27, 0x33, 0x2a, 0x25, 0x2d, 0x30, 0x26, 0x3d, 0x37, 0x26, 0x25, 0x11, 0x11, 0x03, 0x05
|
||||
.byte 0x18, 0x10, 0x04, 0x29, 0x07, 0x2e, 0x36, 0x2a, 0x29, 0x15, 0x3a, 0x0e, 0x33, 0x2a, 0x06, 0x29, 0x3d, 0x01, 0x29, 0x27, 0x0e, 0x16, 0x1d, 0x28, 0x1b, 0x10, 0x33, 0x2b, 0x0c, 0x14, 0x1d, 0x15
|
||||
.byte 0x3f, 0x25, 0x37, 0x23, 0x1e, 0x04, 0x2c, 0x1c, 0x15, 0x34, 0x2a, 0x09, 0x2f, 0x15, 0x02, 0x3f, 0x14, 0x19, 0x2c, 0x33, 0x39, 0x32, 0x20, 0x2a, 0x18, 0x32, 0x17, 0x23, 0x21, 0x0b, 0x2d, 0x25
|
||||
.byte 0x24, 0x3a, 0x2d, 0x31, 0x3f, 0x34, 0x18, 0x19, 0x24, 0x1e, 0x15, 0x1a, 0x17, 0x33, 0x2b, 0x23, 0x09, 0x26, 0x1b, 0x0d, 0x15, 0x36, 0x26, 0x28, 0x3a, 0x1c, 0x14, 0x0c, 0x3e, 0x10, 0x18, 0x06
|
||||
.byte 0x35, 0x37, 0x26, 0x36, 0x21, 0x26, 0x17, 0x3d, 0x1c, 0x2c, 0x16, 0x25, 0x1d, 0x1e, 0x0b, 0x1e, 0x1d, 0x0d, 0x32, 0x08, 0x1f, 0x1b, 0x12, 0x1c, 0x12, 0x20, 0x2a, 0x28, 0x06, 0x3b, 0x35, 0x39
|
||||
.byte 0x0e, 0x1e, 0x31, 0x30, 0x28, 0x02, 0x21, 0x14, 0x06, 0x1e, 0x29, 0x16, 0x09, 0x1c, 0x27, 0x32, 0x2d, 0x39, 0x03, 0x27, 0x29, 0x09, 0x1e, 0x1b, 0x11, 0x1c, 0x28, 0x3a, 0x2c, 0x03, 0x03, 0x18
|
||||
.byte 0x23, 0x09, 0x2f, 0x30, 0x17, 0x23, 0x0f, 0x25, 0x33, 0x06, 0x24, 0x37, 0x22, 0x09, 0x33, 0x2c, 0x09, 0x2a, 0x0c, 0x12, 0x2a, 0x28, 0x20, 0x10, 0x15, 0x29, 0x33, 0x0f, 0x1a, 0x13, 0x13, 0x18
|
||||
.byte 0x36, 0x2e, 0x16, 0x13, 0x3c, 0x1a, 0x15, 0x3a, 0x11, 0x32, 0x02, 0x0a, 0x2c, 0x19, 0x39, 0x11, 0x31, 0x3e, 0x1d, 0x32, 0x14, 0x32, 0x12, 0x2e, 0x34, 0x3e, 0x36, 0x23, 0x37, 0x3e, 0x15, 0x15
|
||||
.byte 0x35, 0x34, 0x01, 0x3a, 0x2c, 0x26, 0x25, 0x22, 0x01, 0x2b, 0x37, 0x1c, 0x3d, 0x33, 0x3e, 0x10, 0x1c, 0x26, 0x33, 0x19, 0x05, 0x19, 0x17, 0x12, 0x38, 0x1c, 0x15, 0x3c, 0x32, 0x3f, 0x0f, 0x37
|
||||
.byte 0x02, 0x39, 0x32, 0x13, 0x00, 0x1d, 0x1d, 0x2c, 0x10, 0x39, 0x13, 0x31, 0x0f, 0x37, 0x19, 0x09, 0x0d, 0x2a, 0x20, 0x2f, 0x32, 0x3b, 0x34, 0x22, 0x26, 0x14, 0x10, 0x24, 0x3d, 0x22, 0x0b, 0x31
|
||||
.byte 0x23, 0x2f, 0x2d, 0x2a, 0x30, 0x04, 0x35, 0x19, 0x20, 0x2a, 0x16, 0x36, 0x37, 0x14, 0x28, 0x37, 0x11, 0x0b, 0x27, 0x1d, 0x06, 0x29, 0x35, 0x16, 0x2e, 0x24, 0x2e, 0x29, 0x36, 0x14, 0x2a, 0x21
|
||||
.byte 0x0c, 0x1f, 0x3f, 0x39, 0x19, 0x27, 0x10, 0x2a, 0x1e, 0x12, 0x34, 0x10, 0x24, 0x34, 0x1d, 0x13, 0x1d, 0x17, 0x16, 0x37, 0x27, 0x1b, 0x27, 0x07, 0x24, 0x21, 0x37, 0x21, 0x11, 0x37, 0x28, 0x24
|
||||
.byte 0x19, 0x02, 0x1c, 0x14, 0x12, 0x1d, 0x1b, 0x24, 0x2e, 0x2e, 0x3a, 0x15, 0x37, 0x34, 0x21, 0x33, 0x2d, 0x29, 0x2f, 0x1e, 0x34, 0x29, 0x3c, 0x12, 0x05, 0x15, 0x20, 0x05, 0x3e, 0x19, 0x18, 0x0b
|
||||
.byte 0x30, 0x2f, 0x02, 0x27, 0x14, 0x1c, 0x34, 0x12, 0x20, 0x30, 0x2b, 0x22, 0x1b, 0x06, 0x31, 0x28, 0x15, 0x2d, 0x12, 0x01, 0x0e, 0x13, 0x13, 0x0c, 0x28, 0x07, 0x2a, 0x14, 0x1d, 0x36, 0x14, 0x15
|
||||
.byte 0x2b, 0x26, 0x03, 0x25, 0x15, 0x3e, 0x3b, 0x20, 0x35, 0x0c, 0x25, 0x2b, 0x16, 0x35, 0x1e, 0x31, 0x2c, 0x06, 0x03, 0x29, 0x24, 0x07, 0x1f, 0x32, 0x2f, 0x19, 0x25, 0x21, 0x31, 0x22, 0x26, 0x1d
|
||||
.byte 0x00, 0x1b, 0x18, 0x2a, 0x24, 0x31, 0x20, 0x06, 0x2f, 0x1e, 0x32, 0x26, 0x32, 0x39, 0x12, 0x20, 0x01, 0x19, 0x0f, 0x15, 0x15, 0x27, 0x10, 0x2e, 0x09, 0x25, 0x19, 0x29, 0x37, 0x30, 0x13, 0x1c
|
||||
.byte 0x1d, 0x29, 0x2d, 0x26, 0x02, 0x1a, 0x16, 0x1d, 0x2b, 0x1c, 0x18, 0x04, 0x34, 0x28, 0x2a, 0x21, 0x15, 0x1b, 0x2e, 0x16, 0x01, 0x10, 0x05, 0x09, 0x14, 0x22, 0x03, 0x22, 0x02, 0x1b, 0x34, 0x29
|
||||
.byte 0x2a, 0x23, 0x26, 0x36, 0x13, 0x23, 0x3d, 0x1a, 0x1d, 0x10, 0x24, 0x25, 0x2b, 0x37, 0x19, 0x24, 0x26, 0x28, 0x13, 0x16, 0x17, 0x14, 0x19, 0x0b, 0x2f, 0x25, 0x37, 0x34, 0x37, 0x39, 0x21, 0x1b
|
||||
.byte 0x0f, 0x3d, 0x2d, 0x0d, 0x10, 0x20, 0x05, 0x0b, 0x2d, 0x01, 0x12, 0x24, 0x18, 0x3d, 0x32, 0x09, 0x21, 0x26, 0x1a, 0x0e, 0x1f, 0x30, 0x06, 0x1f, 0x0b, 0x3c, 0x29, 0x07, 0x3e, 0x27, 0x13, 0x1e
|
||||
.byte 0x1a, 0x13, 0x07, 0x23, 0x10, 0x34, 0x1e, 0x32, 0x17, 0x23, 0x35, 0x16, 0x31, 0x32, 0x2e, 0x1b, 0x28, 0x0e, 0x22, 0x14, 0x3a, 0x23, 0x22, 0x03, 0x29, 0x2a, 0x10, 0x20, 0x3e, 0x3c, 0x27, 0x16
|
||||
.byte 0x20, 0x12, 0x3f, 0x24, 0x31, 0x0d, 0x2e, 0x32, 0x2f, 0x17, 0x2d, 0x36, 0x3b, 0x17, 0x24, 0x23, 0x18, 0x37, 0x1d, 0x13, 0x17, 0x3a, 0x1a, 0x0a, 0x3d, 0x1e, 0x05, 0x12, 0x16, 0x33, 0x32, 0x25
|
||||
.byte 0x1d, 0x1f, 0x29, 0x34, 0x2c, 0x26, 0x20, 0x29, 0x35, 0x0e, 0x32, 0x17, 0x01, 0x39, 0x2d, 0x27, 0x24, 0x23, 0x28, 0x3f, 0x18, 0x39, 0x38, 0x25, 0x23, 0x11, 0x11, 0x19, 0x2c, 0x29, 0x30, 0x08
|
||||
.byte 0x28, 0x25, 0x27, 0x1d, 0x17, 0x25, 0x21, 0x09, 0x3d, 0x16, 0x1b, 0x0f, 0x2c, 0x1b, 0x12, 0x22, 0x28, 0x3e, 0x26, 0x34, 0x10, 0x1b, 0x02, 0x34, 0x15, 0x1a, 0x29, 0x19, 0x29, 0x11, 0x31, 0x12
|
||||
.byte 0x27, 0x17, 0x27, 0x27, 0x2f, 0x34, 0x27, 0x24, 0x03, 0x19, 0x36, 0x17, 0x1d, 0x33, 0x19, 0x25, 0x1a, 0x2b, 0x39, 0x13, 0x3b, 0x33, 0x1d, 0x27, 0x31, 0x34, 0x28, 0x33, 0x37, 0x09, 0x30, 0x1b
|
||||
.byte 0x03, 0x3a, 0x27, 0x19, 0x11, 0x1f, 0x0b, 0x1a, 0x34, 0x3d, 0x2a, 0x15, 0x04, 0x24, 0x36, 0x30, 0x23, 0x30, 0x0f, 0x22, 0x1b, 0x3d, 0x3d, 0x24, 0x29, 0x1d, 0x12, 0x16, 0x19, 0x2e, 0x03, 0x12
|
||||
.byte 0x17, 0x18, 0x25, 0x33, 0x2f, 0x23, 0x1a, 0x1a, 0x35, 0x27, 0x21, 0x26, 0x19, 0x1b, 0x30, 0x18, 0x2b, 0x22, 0x2d, 0x2c, 0x1a, 0x34, 0x3e, 0x12, 0x19, 0x28, 0x27, 0x15, 0x1b, 0x11, 0x12, 0x17
|
||||
.byte 0x15, 0x10, 0x34, 0x37, 0x25, 0x12, 0x3f, 0x15, 0x31, 0x0d, 0x37, 0x3e, 0x2a, 0x2d, 0x0f, 0x24, 0x24, 0x3c, 0x3f, 0x1f, 0x1d, 0x34, 0x17, 0x1a, 0x23, 0x1f, 0x37, 0x0f, 0x10, 0x32, 0x34, 0x35
|
||||
.byte 0x19, 0x05, 0x22, 0x33, 0x16, 0x34, 0x1e, 0x14, 0x1e, 0x08, 0x13, 0x29, 0x3a, 0x37, 0x30, 0x1d, 0x36, 0x15, 0x29, 0x2e, 0x1d, 0x32, 0x2e, 0x23, 0x35, 0x17, 0x1c, 0x36, 0x1d, 0x13, 0x23, 0x34
|
||||
.byte 0x34, 0x24, 0x1a, 0x37, 0x2f, 0x26, 0x2e, 0x1e, 0x17, 0x1a, 0x1f, 0x15, 0x1f, 0x2b, 0x1f, 0x19, 0x0a, 0x33, 0x1a, 0x35, 0x31, 0x24, 0x2d, 0x17, 0x2c, 0x0c, 0x21, 0x36, 0x2c, 0x35, 0x35, 0x1b
|
||||
.byte 0x03, 0x27, 0x01, 0x0d, 0x1d, 0x1c, 0x0e, 0x11, 0x11, 0x2b, 0x10, 0x25, 0x3b, 0x20, 0x1f, 0x17, 0x19, 0x20, 0x08, 0x36, 0x13, 0x38, 0x19, 0x1b, 0x2b, 0x24, 0x0b, 0x1f, 0x29, 0x27, 0x15, 0x2c
|
||||
.byte 0x37, 0x39, 0x10, 0x3a, 0x15, 0x2e, 0x2f, 0x11, 0x36, 0x24, 0x04, 0x20, 0x3b, 0x2a, 0x35, 0x27, 0x35, 0x34, 0x0d, 0x1b, 0x20, 0x10, 0x22, 0x37, 0x1f, 0x38, 0x27, 0x31, 0x0f, 0x28, 0x28, 0x25
|
||||
.byte 0x15, 0x00, 0x1d, 0x25, 0x31, 0x28, 0x28, 0x0b, 0x3a, 0x1d, 0x2d, 0x13, 0x1b, 0x03, 0x37, 0x2e, 0x1d, 0x28, 0x19, 0x08, 0x2d, 0x22, 0x27, 0x39, 0x32, 0x3f, 0x2f, 0x1d, 0x33, 0x34, 0x28, 0x18
|
||||
.byte 0x08, 0x31, 0x23, 0x1f, 0x13, 0x0d, 0x2c, 0x23, 0x3a, 0x2d, 0x1a, 0x02, 0x25, 0x13, 0x20, 0x36, 0x34, 0x12, 0x2b, 0x2d, 0x35, 0x35, 0x34, 0x23, 0x20, 0x21, 0x3a, 0x19, 0x1b, 0x1f, 0x2b, 0x19
|
||||
.byte 0x35, 0x0e, 0x19, 0x26, 0x24, 0x37, 0x18, 0x08, 0x10, 0x0c, 0x16, 0x2d, 0x1f, 0x34, 0x21, 0x05, 0x38, 0x19, 0x14, 0x21, 0x24, 0x11, 0x31, 0x14, 0x3e, 0x38, 0x29, 0x3f, 0x08, 0x25, 0x2a, 0x1f
|
||||
.byte 0x25, 0x25, 0x06, 0x28, 0x0b, 0x1e, 0x14, 0x1a, 0x38, 0x22, 0x24, 0x18, 0x29, 0x1a, 0x11, 0x20, 0x3b, 0x3a, 0x1e, 0x1c, 0x26, 0x1a, 0x05, 0x32, 0x19, 0x39, 0x2a, 0x31, 0x09, 0x07, 0x25, 0x05
|
||||
.byte 0x3e, 0x16, 0x34, 0x26, 0x14, 0x1b, 0x32, 0x26, 0x05, 0x08, 0x37, 0x0f, 0x03, 0x20, 0x2a, 0x39, 0x31, 0x08, 0x01, 0x1e, 0x1d, 0x23, 0x31, 0x28, 0x1b, 0x28, 0x1e, 0x37, 0x14, 0x13, 0x0e, 0x28
|
||||
.byte 0x2a, 0x3b, 0x37, 0x2f, 0x1c, 0x28, 0x30, 0x30, 0x1a, 0x36, 0x1f, 0x16, 0x3e, 0x0d, 0x15, 0x2e, 0x16, 0x18, 0x15, 0x37, 0x20, 0x2a, 0x33, 0x30, 0x2b, 0x0e, 0x25, 0x18, 0x20, 0x16, 0x02, 0x19
|
||||
.byte 0x25, 0x0a, 0x2e, 0x30, 0x16, 0x03, 0x11, 0x04, 0x27, 0x25, 0x1b, 0x1c, 0x21, 0x29, 0x04, 0x27, 0x3d, 0x20, 0x1e, 0x28, 0x33, 0x31, 0x1e, 0x39, 0x10, 0x31, 0x29, 0x1e, 0x06, 0x25, 0x28, 0x19
|
||||
.byte 0x3b, 0x12, 0x0b, 0x1b, 0x1c, 0x3e, 0x37, 0x20, 0x0a, 0x37, 0x33, 0x02, 0x2c, 0x25, 0x15, 0x18, 0x14, 0x3b, 0x20, 0x1c, 0x22, 0x3b, 0x1c, 0x24, 0x34, 0x35, 0x0f, 0x2f, 0x31, 0x3b, 0x17, 0x35
|
||||
.byte 0x30, 0x39, 0x37, 0x0d, 0x15, 0x11, 0x10, 0x03, 0x1e, 0x1a, 0x39, 0x33, 0x2f, 0x2e, 0x28, 0x1c, 0x28, 0x36, 0x28, 0x18, 0x1f, 0x15, 0x01, 0x30, 0x3e, 0x32, 0x28, 0x34, 0x2f, 0x23, 0x07, 0x0c
|
||||
.byte 0x36, 0x28, 0x2c, 0x34, 0x2a, 0x0c, 0x1f, 0x3f, 0x20, 0x13, 0x2b, 0x17, 0x27, 0x28, 0x29, 0x2a, 0x3c, 0x13, 0x36, 0x26, 0x2d, 0x2a, 0x0a, 0x06, 0x1e, 0x20, 0x04, 0x1a, 0x02, 0x07, 0x35, 0x0e
|
||||
.byte 0x18, 0x30, 0x00, 0x34, 0x34, 0x2f, 0x14, 0x37, 0x21, 0x30, 0x1f, 0x15, 0x37, 0x1b, 0x3a, 0x0b, 0x32, 0x22, 0x22, 0x21, 0x1b, 0x35, 0x23, 0x0d, 0x03, 0x1c, 0x23, 0x3b, 0x13, 0x0e, 0x1d, 0x1f
|
||||
.byte 0x1d, 0x3f, 0x2e, 0x39, 0x27, 0x2e, 0x0f, 0x38, 0x20, 0x31, 0x3c, 0x35, 0x0b, 0x0f, 0x2e, 0x06, 0x06, 0x28, 0x25, 0x39, 0x23, 0x0a, 0x32, 0x15, 0x0f, 0x1d, 0x25, 0x0c, 0x0d, 0x34, 0x12, 0x2e
|
||||
.byte 0x21, 0x36, 0x18, 0x1f, 0x1f, 0x34, 0x1b, 0x05, 0x3a, 0x36, 0x2b, 0x01, 0x17, 0x0e, 0x16, 0x2b, 0x0e, 0x0b, 0x26, 0x0d, 0x2d, 0x10, 0x21, 0x11, 0x27, 0x3d, 0x13, 0x32, 0x15, 0x25, 0x2a, 0x1b
|
||||
.byte 0x2d, 0x35, 0x2c, 0x2b, 0x26, 0x26, 0x1f, 0x20, 0x22, 0x2b, 0x12, 0x3f, 0x3d, 0x27, 0x30, 0x0a, 0x36, 0x35, 0x1f, 0x17, 0x21, 0x08, 0x29, 0x1d, 0x20, 0x33, 0x34, 0x11, 0x16, 0x05, 0x38, 0x2d
|
||||
|
||||
@ -742,14 +742,14 @@
|
||||
"blockdata_filepath": "data/layouts/LilycoveCity_House2/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_08428450",
|
||||
"name": "Unknown_08428450_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_ROOM1",
|
||||
"name": "UnusedContestRoom1_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/Unknown_08428450/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_08428450/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestRoom1/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestRoom1/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE",
|
||||
@ -822,24 +822,24 @@
|
||||
"blockdata_filepath": "data/layouts/SlateportCity_SternsShipyard_2F/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_084294C4",
|
||||
"name": "Unknown_084294C4_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_ROOM2",
|
||||
"name": "UnusedContestRoom2_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/Unknown_084294C4/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_084294C4/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestRoom2/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestRoom2/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_084294E8",
|
||||
"name": "Unknown_084294E8_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_ROOM3",
|
||||
"name": "UnusedContestRoom3_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/Unknown_084294E8/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_084294E8/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestRoom3/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestRoom3/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB",
|
||||
@ -1692,144 +1692,144 @@
|
||||
"blockdata_filepath": "data/layouts/ShoalCave_HighTideInnerRoom/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E6C0",
|
||||
"name": "Unknown_0843E6C0_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE1",
|
||||
"name": "UnusedCave1_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E6C0/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E6C0/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave1/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave1/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E6E4",
|
||||
"name": "Unknown_0843E6E4_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE2",
|
||||
"name": "UnusedCave2_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E6E4/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E6E4/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave2/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave2/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E708",
|
||||
"name": "Unknown_0843E708_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE3",
|
||||
"name": "UnusedCave3_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E708/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E708/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave3/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave3/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E72C",
|
||||
"name": "Unknown_0843E72C_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE4",
|
||||
"name": "UnusedCave4_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E72C/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E72C/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave4/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave4/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E750",
|
||||
"name": "Unknown_0843E750_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE5",
|
||||
"name": "UnusedCave5_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E750/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E750/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave5/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave5/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E774",
|
||||
"name": "Unknown_0843E774_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE6",
|
||||
"name": "UnusedCave6_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E774/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E774/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave6/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave6/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E798",
|
||||
"name": "Unknown_0843E798_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE7",
|
||||
"name": "UnusedCave7_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E798/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E798/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave7/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave7/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E7BC",
|
||||
"name": "Unknown_0843E7BC_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE8",
|
||||
"name": "UnusedCave8_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E7BC/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E7BC/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave8/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave8/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E7E0",
|
||||
"name": "Unknown_0843E7E0_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE9",
|
||||
"name": "UnusedCave9_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E7E0/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E7E0/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave9/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave9/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E804",
|
||||
"name": "Unknown_0843E804_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE10",
|
||||
"name": "UnusedCave10_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E804/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E804/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave10/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave10/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E828",
|
||||
"name": "Unknown_0843E828_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE11",
|
||||
"name": "UnusedCave11_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E828/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E828/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave11/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave11/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E84C",
|
||||
"name": "Unknown_0843E84C_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE12",
|
||||
"name": "UnusedCave12_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E84C/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E84C/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave12/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave12/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E870",
|
||||
"name": "Unknown_0843E870_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE13",
|
||||
"name": "UnusedCave13_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E870/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E870/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave13/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave13/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_0843E894",
|
||||
"name": "Unknown_0843E894_Layout",
|
||||
"id": "LAYOUT_UNUSED_CAVE14",
|
||||
"name": "UnusedCave14_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "gTileset_Cave",
|
||||
"border_filepath": "data/layouts/Unknown_0843E894/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_0843E894/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedCave14/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedCave14/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_NEW_MAUVILLE_ENTRANCE",
|
||||
@ -2252,64 +2252,64 @@
|
||||
"blockdata_filepath": "data/layouts/ContestHall/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29",
|
||||
"name": "UnknownLinkContestRoom_25_29_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_HALL1",
|
||||
"name": "UnusedContestHall1_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/UnknownLinkContestRoom_25_29/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_29/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestHall1/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestHall1/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30",
|
||||
"name": "UnknownLinkContestRoom_25_30_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_HALL2",
|
||||
"name": "UnusedContestHall2_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/UnknownLinkContestRoom_25_30/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_30/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestHall2/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestHall2/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31",
|
||||
"name": "UnknownLinkContestRoom_25_31_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_HALL3",
|
||||
"name": "UnusedContestHall3_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/UnknownLinkContestRoom_25_31/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_31/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestHall3/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestHall3/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32",
|
||||
"name": "UnknownLinkContestRoom_25_32_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_HALL4",
|
||||
"name": "UnusedContestHall4_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/UnknownLinkContestRoom_25_32/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_32/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestHall4/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestHall4/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33",
|
||||
"name": "UnknownLinkContestRoom_25_33_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_HALL5",
|
||||
"name": "UnusedContestHall5_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/UnknownLinkContestRoom_25_33/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_33/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestHall5/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestHall5/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34",
|
||||
"name": "UnknownLinkContestRoom_25_34_Layout",
|
||||
"id": "LAYOUT_UNUSED_CONTEST_HALL6",
|
||||
"name": "UnusedContestHall6_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_Contest",
|
||||
"border_filepath": "data/layouts/UnknownLinkContestRoom_25_34/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnknownLinkContestRoom_25_34/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedContestHall6/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedContestHall6/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_CONTEST_HALL_BEAUTY",
|
||||
@ -2412,14 +2412,14 @@
|
||||
"blockdata_filepath": "data/layouts/SafariZone_South/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_08447028",
|
||||
"name": "Unknown_08447028_Layout",
|
||||
"id": "LAYOUT_UNUSED_OUTDOOR_AREA",
|
||||
"name": "UnusedOutdoorArea_Layout",
|
||||
"width": 58,
|
||||
"height": 26,
|
||||
"primary_tileset": "gTileset_General",
|
||||
"secondary_tileset": "0",
|
||||
"border_filepath": "data/layouts/Unknown_08447028/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_08447028/map.bin"
|
||||
"border_filepath": "data/layouts/UnusedOutdoorArea/border.bin",
|
||||
"blockdata_filepath": "data/layouts/UnusedOutdoorArea/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_ROUTE109_SEASHORE_HOUSE",
|
||||
@ -3582,14 +3582,14 @@
|
||||
"blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomWildMons/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_UNKNOWN_084693AC",
|
||||
"name": "Unknown_084693AC_Layout",
|
||||
"id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_UNUSED",
|
||||
"name": "BattleFrontier_BattlePikeRoomUnused_Layout",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"primary_tileset": "gTileset_Building",
|
||||
"secondary_tileset": "gTileset_BattlePike",
|
||||
"border_filepath": "data/layouts/Unknown_084693AC/border.bin",
|
||||
"blockdata_filepath": "data/layouts/Unknown_084693AC/map.bin"
|
||||
"border_filepath": "data/layouts/BattleFrontier_BattlePikeRoomUnused/border.bin",
|
||||
"blockdata_filepath": "data/layouts/BattleFrontier_BattlePikeRoomUnused/map.bin"
|
||||
},
|
||||
{
|
||||
"id": "LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY",
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "constants/weather.h"
|
||||
#include "constants/trainer_hill.h"
|
||||
#include "constants/trainer_types.h"
|
||||
#include "constants/berry.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1
|
||||
AbandonedShip_CaptainsOffice_MapScripts::
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_CaptainsOffice_EventScript_CaptSternAide:: @ 82387E2
|
||||
AbandonedShip_CaptainsOffice_EventScript_CaptSternAide::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_EXCHANGED_SCANNER, AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus
|
||||
@ -13,30 +13,30 @@ AbandonedShip_CaptainsOffice_EventScript_CaptSternAide:: @ 82387E2
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner:: @ 8238810
|
||||
AbandonedShip_CaptainsOffice_EventScript_CanYouDeliverScanner::
|
||||
msgbox AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus:: @ 823881A
|
||||
AbandonedShip_CaptainsOffice_EventScript_ThisIsSSCactus::
|
||||
msgbox AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner: @ 8238824
|
||||
AbandonedShip_CaptainsOffice_Text_NoSuccessFindingScanner:
|
||||
.string "I'm investigating this ship on behalf\n"
|
||||
.string "of CAPT. STERN.\p"
|
||||
.string "He also asked me to find a SCANNER,\n"
|
||||
.string "but I haven't had any success…$"
|
||||
|
||||
AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner: @ 823889D
|
||||
AbandonedShip_CaptainsOffice_Text_OhCanYouDeliverScanner:
|
||||
.string "Oh! That's a SCANNER!\p"
|
||||
.string "Listen, can I get you to deliver that\n"
|
||||
.string "to CAPT. STERN?\p"
|
||||
.string "I want to investigate this ship a\n"
|
||||
.string "little more.$"
|
||||
|
||||
AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus: @ 8238918
|
||||
AbandonedShip_CaptainsOffice_Text_ThisIsSSCactus:
|
||||
.string "This ship is called S.S. CACTUS.\n"
|
||||
.string "It seems to be from an earlier era.$"
|
||||
|
||||
|
||||
@ -1,26 +1,26 @@
|
||||
AbandonedShip_Corridors_1F_MapScripts:: @ 82379A4
|
||||
AbandonedShip_Corridors_1F_MapScripts::
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Corridors_1F_EventScript_Youngster:: @ 82379A5
|
||||
AbandonedShip_Corridors_1F_EventScript_Youngster::
|
||||
msgbox AbandonedShip_Corridors_1F_Text_IsntItFunHere, MSGBOX_NPC
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_1F_EventScript_Charlie:: @ 82379AE
|
||||
AbandonedShip_Corridors_1F_EventScript_Charlie::
|
||||
trainerbattle_single TRAINER_CHARLIE, AbandonedShip_Corridors_1F_Text_CharlieIntro, AbandonedShip_Corridors_1F_Text_CharlieDefeat
|
||||
msgbox AbandonedShip_Corridors_1F_Text_CharliePostBattle, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_1F_Text_CharlieIntro: @ 82379C5
|
||||
AbandonedShip_Corridors_1F_Text_CharlieIntro:
|
||||
.string "What's so funny about having my inner\n"
|
||||
.string "tube aboard the ship?$"
|
||||
|
||||
AbandonedShip_Corridors_1F_Text_CharlieDefeat: @ 8237A01
|
||||
AbandonedShip_Corridors_1F_Text_CharlieDefeat:
|
||||
.string "Whoa, you overwhelmed me!$"
|
||||
|
||||
AbandonedShip_Corridors_1F_Text_CharliePostBattle: @ 8237A1B
|
||||
AbandonedShip_Corridors_1F_Text_CharliePostBattle:
|
||||
.string "It's not easy throwing POKé BALLS\n"
|
||||
.string "while hanging on to an inner tube!$"
|
||||
|
||||
AbandonedShip_Corridors_1F_Text_IsntItFunHere: @ 8237A60
|
||||
AbandonedShip_Corridors_1F_Text_IsntItFunHere:
|
||||
.string "Isn't it fun here?\n"
|
||||
.string "I get excited just being here!$"
|
||||
|
||||
@ -1,30 +1,30 @@
|
||||
AbandonedShip_Corridors_B1F_MapScripts:: @ 8237D84
|
||||
AbandonedShip_Corridors_B1F_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Corridors_B1F_OnResume
|
||||
map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_Corridors_B1F_OnLoad
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Corridors_B1F_OnResume: @ 8237D8F
|
||||
AbandonedShip_Corridors_B1F_OnResume:
|
||||
setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_OnLoad: @ 8237D98
|
||||
AbandonedShip_Corridors_B1F_OnLoad:
|
||||
call_if_unset FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom
|
||||
call_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom:: @ 8237DAB
|
||||
AbandonedShip_Corridors_B1F_EventScript_LockStorageRoom::
|
||||
setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
|
||||
return
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom:: @ 8237DB5
|
||||
AbandonedShip_Corridors_B1F_EventScript_UnlockStorageRoom::
|
||||
setmetatile 11, 4, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
|
||||
return
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_TuberM:: @ 8237DBF
|
||||
AbandonedShip_Corridors_B1F_EventScript_TuberM::
|
||||
msgbox AbandonedShip_Corridors_B1F_Text_YayItsAShip, MSGBOX_NPC
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor:: @ 8237DC8
|
||||
AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_STORAGE_KEY, AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked
|
||||
checkitem ITEM_STORAGE_KEY, 1
|
||||
@ -39,49 +39,49 @@ AbandonedShip_Corridors_B1F_EventScript_StorageRoomDoor:: @ 8237DC8
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked:: @ 8237DFF
|
||||
AbandonedShip_Corridors_B1F_EventScript_DoorIsLocked::
|
||||
msgbox AbandonedShip_Corridors_B1F_Text_DoorIsLocked, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked:: @ 8237E09
|
||||
AbandonedShip_Corridors_B1F_EventScript_DoorIsUnlocked::
|
||||
msgbox AbandonedShip_Text_TheDoorIsOpen, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_EventScript_Duncan:: @ 8237E13
|
||||
AbandonedShip_Corridors_B1F_EventScript_Duncan::
|
||||
trainerbattle_single TRAINER_DUNCAN, AbandonedShip_Corridors_B1F_Text_DuncanIntro, AbandonedShip_Corridors_B1F_Text_DuncanDefeat
|
||||
msgbox AbandonedShip_Corridors_B1F_Text_DuncanPostBattle, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Corridors_B1F_Text_DuncanIntro: @ 8237E2A
|
||||
AbandonedShip_Corridors_B1F_Text_DuncanIntro:
|
||||
.string "When we go out to sea, we SAILORS\n"
|
||||
.string "always bring our POKéMON.\l"
|
||||
.string "How about a quick battle?$"
|
||||
|
||||
AbandonedShip_Corridors_B1F_Text_DuncanDefeat: @ 8237E80
|
||||
AbandonedShip_Corridors_B1F_Text_DuncanDefeat:
|
||||
.string "Whoops, I'm sunk!$"
|
||||
|
||||
AbandonedShip_Corridors_B1F_Text_DuncanPostBattle: @ 8237E92
|
||||
AbandonedShip_Corridors_B1F_Text_DuncanPostBattle:
|
||||
.string "The ship's bottom has sunk into the\n"
|
||||
.string "depths.\p"
|
||||
.string "If a POKéMON knew how to go underwater,\n"
|
||||
.string "we might make some progress…$"
|
||||
|
||||
AbandonedShip_Corridors_B1F_Text_YayItsAShip: @ 8237F03
|
||||
AbandonedShip_Corridors_B1F_Text_YayItsAShip:
|
||||
.string "Yay!\n"
|
||||
.string "It's a ship!$"
|
||||
|
||||
AbandonedShip_Corridors_B1F_Text_DoorIsLocked: @ 8237F15
|
||||
AbandonedShip_Corridors_B1F_Text_DoorIsLocked:
|
||||
.string "The door is locked.\p"
|
||||
.string "“STORAGE” is painted on the door.$"
|
||||
|
||||
AbandonedShip_Corridors_B1F_Text_InsertedStorageKey: @ 8237F4B
|
||||
AbandonedShip_Corridors_B1F_Text_InsertedStorageKey:
|
||||
.string "{PLAYER} inserted and turned the\n"
|
||||
.string "STORAGE KEY.\p"
|
||||
.string "The inserted KEY stuck fast,\n"
|
||||
.string "but the door opened.$"
|
||||
|
||||
AbandonedShip_Text_TheDoorIsOpen: @ 8237FA5
|
||||
AbandonedShip_Text_TheDoorIsOpen:
|
||||
.string "The door is open.$"
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
AbandonedShip_Deck_MapScripts:: @ 823799A
|
||||
AbandonedShip_Deck_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_TRANSITION, AbandonedShip_Deck_OnTransition
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Deck_OnTransition: @ 82379A0
|
||||
AbandonedShip_Deck_OnTransition:
|
||||
setflag FLAG_LANDMARK_ABANDONED_SHIP
|
||||
end
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 823896C
|
||||
AbandonedShip_HiddenFloorCorridors_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_HiddenFloorCorridors_OnResume
|
||||
map_script MAP_SCRIPT_ON_LOAD, AbandonedShip_HiddenFloorCorridors_OnLoad
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_OnResume: @ 8238977
|
||||
AbandonedShip_HiddenFloorCorridors_OnResume:
|
||||
setdivewarp MAP_ABANDONED_SHIP_UNDERWATER1, 255, 5, 4
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_OnLoad: @ 8238980
|
||||
AbandonedShip_HiddenFloorCorridors_OnLoad:
|
||||
call_if_unset FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1
|
||||
call_if_unset FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2
|
||||
call_if_unset FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4
|
||||
@ -18,39 +18,39 @@ AbandonedShip_HiddenFloorCorridors_OnLoad: @ 8238980
|
||||
call_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1:: @ 82389C9
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1::
|
||||
setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2:: @ 82389D3
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2::
|
||||
setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Unlocked, 1
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4:: @ 82389DD
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4::
|
||||
setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6:: @ 82389E7
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6::
|
||||
setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Unlocked, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1:: @ 82389F1
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom1::
|
||||
setmetatile 3, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2:: @ 82389FB
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom2::
|
||||
setmetatile 6, 8, METATILE_InsideShip_IntactDoor_Bottom_Locked, 1
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4:: @ 8238A05
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom4::
|
||||
setmetatile 3, 3, METATILE_InsideShip_DoorIndent_Locked, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6:: @ 8238A0F
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6::
|
||||
setmetatile 9, 3, METATILE_InsideShip_DoorIndent_Locked, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door:: @ 8238A19
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_1_KEY, 1
|
||||
@ -65,7 +65,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door:: @ 8238A19
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door:: @ 8238A50
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_2_KEY, 1
|
||||
@ -80,7 +80,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door:: @ 8238A50
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door:: @ 8238A87
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_4_KEY, 1
|
||||
@ -95,7 +95,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door:: @ 8238A87
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door:: @ 8238ABE
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_6_KEY, 1
|
||||
@ -110,48 +110,48 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door:: @ 8238ABE
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked:: @ 8238AF5
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked::
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked:: @ 8238AFF
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked::
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked:: @ 8238B09
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked::
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked:: @ 8238B13
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked::
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen:: @ 8238B1D
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen::
|
||||
msgbox AbandonedShip_Text_TheDoorIsOpen, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked: @ 8238B27
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm1DoorIsLocked:
|
||||
.string "The door is locked.\p"
|
||||
.string "“RM. 1” is painted on the door.$"
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked: @ 8238B5B
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm2DoorIsLocked:
|
||||
.string "The door is locked.\p"
|
||||
.string "“RM. 2” is painted on the door.$"
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked: @ 8238B8F
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm4DoorIsLocked:
|
||||
.string "The door is locked.\p"
|
||||
.string "“RM. 4” is painted on the door.$"
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked: @ 8238BC3
|
||||
AbandonedShip_HiddenFloorCorridors_Text_Rm6DoorIsLocked:
|
||||
.string "The door is locked.\p"
|
||||
.string "“RM. 6” is painted on the door.$"
|
||||
|
||||
AbandonedShip_HiddenFloorCorridors_Text_InsertedKey: @ 8238BF7
|
||||
AbandonedShip_HiddenFloorCorridors_Text_InsertedKey:
|
||||
.string "{PLAYER} inserted and turned the\n"
|
||||
.string "KEY.\p"
|
||||
.string "The inserted KEY stuck fast,\n"
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
AbandonedShip_HiddenFloorRooms_MapScripts:: @ 8238C49
|
||||
AbandonedShip_HiddenFloorRooms_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_FRAME_TABLE, AbandonedShip_HiddenFloorRooms_OnFrame
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_OnFrame: @ 8238C4F
|
||||
AbandonedShip_HiddenFloorRooms_OnFrame:
|
||||
map_script_2 VAR_TEMP_1, 0, AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle
|
||||
.2byte 0
|
||||
|
||||
@ -13,7 +13,7 @@ AbandonedShip_HiddenFloorRooms_OnFrame: @ 8238C4F
|
||||
@ Upper row, left column (Rm 4)
|
||||
@ Upper row, middle column (Rm 5)
|
||||
@ Upper row, right column (Rm 6)
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle:: @ 8238C59
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle::
|
||||
setvar VAR_TEMP_1, 1
|
||||
getplayerxy VAR_TEMP_2, VAR_TEMP_3
|
||||
setvar VAR_TEMP_4, 1
|
||||
@ -32,19 +32,19 @@ AbandonedShip_HiddenFloorRooms_EventScript_DoHiddenItemSparkle:: @ 8238C59
|
||||
case 6, AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn:: @ 8238CD1
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_InMiddleRoomColumn::
|
||||
addvar VAR_TEMP_4, 1
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn:: @ 8238CD7
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_InRightRoomColumn::
|
||||
addvar VAR_TEMP_4, 2
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow:: @ 8238CDD
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_InUpperRoomRow::
|
||||
addvar VAR_TEMP_4, 3
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1:: @ 8238CE3
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1::
|
||||
delay 20
|
||||
dofieldeffectsparkle 10, 10, 0
|
||||
specialvar VAR_RESULT, FoundAbandonedShipRoom4Key
|
||||
@ -54,10 +54,10 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm1:: @ 8238CE3
|
||||
delay 10
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2:: @ 8238D0C
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm2::
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3:: @ 8238D0D
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3::
|
||||
specialvar VAR_RESULT, FoundAbandonedShipRoom1Key
|
||||
compare VAR_RESULT, TRUE
|
||||
goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle
|
||||
@ -68,10 +68,10 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm3:: @ 8238D0D
|
||||
delay 10
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle:: @ 8238D32
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm3NoSparkle::
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4:: @ 8238D33
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4::
|
||||
delay 20
|
||||
dofieldeffectsparkle 8, 5, 0
|
||||
dofieldeffectsparkle 11, 3, 0
|
||||
@ -82,7 +82,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm4:: @ 8238D33
|
||||
delay 10
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5:: @ 8238D6B
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5::
|
||||
delay 20
|
||||
dofieldeffectsparkle 16, 3, 0
|
||||
dofieldeffectsparkle 25, 2, 0
|
||||
@ -94,32 +94,32 @@ AbandonedShip_HiddenFloorRooms_EventScript_EnterRm5:: @ 8238D6B
|
||||
delay 10
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6:: @ 8238DB2
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_EnterRm6::
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle:: @ 8238DB3
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm1KeySparkle::
|
||||
dofieldeffectsparkle 42, 10, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle:: @ 8238DC3
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm2KeySparkle::
|
||||
dofieldeffectsparkle 20, 5, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle:: @ 8238DD3
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm4KeySparkle::
|
||||
dofieldeffectsparkle 1, 12, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle:: @ 8238DE3
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Rm6KeySparkle::
|
||||
dofieldeffectsparkle 1, 2, 0
|
||||
return
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Trash:: @ 8238DF3
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_Trash::
|
||||
lockall
|
||||
msgbox AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash: @ 8238DFE
|
||||
AbandonedShip_HiddenFloorRooms_Text_BrightShinyTrash:
|
||||
.string "It's bright and shiny!\n"
|
||||
.string "But it's just trash…$"
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
AbandonedShip_Room_B1F_MapScripts:: @ 82380A5
|
||||
AbandonedShip_Room_B1F_MapScripts::
|
||||
.byte 0
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
AbandonedShip_Rooms2_1F_MapScripts:: @ 82380A6
|
||||
AbandonedShip_Rooms2_1F_MapScripts::
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_Dan:: @ 82380A7
|
||||
AbandonedShip_Rooms2_1F_EventScript_Dan::
|
||||
trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanIntro, AbandonedShip_Rooms2_1F_Text_DanDefeat, AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterDan
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
compare VAR_RESULT, TRUE
|
||||
@ -10,18 +10,18 @@ AbandonedShip_Rooms2_1F_EventScript_Dan:: @ 82380A7
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_RegisterDan:: @ 82380D7
|
||||
AbandonedShip_Rooms2_1F_EventScript_RegisterDan::
|
||||
msgbox AbandonedShip_Rooms2_1F_Text_KiraRegister, MSGBOX_DEFAULT @ Kira speaks for both when registering KiraAndDan
|
||||
register_matchcall TRAINER_KIRA_AND_DAN_1
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_DanRematch:: @ 82380F0
|
||||
AbandonedShip_Rooms2_1F_EventScript_DanRematch::
|
||||
trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_DanRematchIntro, AbandonedShip_Rooms2_1F_Text_DanRematchDefeat, AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons
|
||||
msgbox AbandonedShip_Rooms2_1F_Text_DanPostRematch, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_Kira:: @ 823810B
|
||||
AbandonedShip_Rooms2_1F_EventScript_Kira::
|
||||
trainerbattle_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraIntro, AbandonedShip_Rooms2_1F_Text_KiraDefeat, AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons, AbandonedShip_Rooms2_1F_EventScript_RegisterKira
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
compare VAR_RESULT, TRUE
|
||||
@ -30,122 +30,122 @@ AbandonedShip_Rooms2_1F_EventScript_Kira:: @ 823810B
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_RegisterKira:: @ 823813B
|
||||
AbandonedShip_Rooms2_1F_EventScript_RegisterKira::
|
||||
msgbox AbandonedShip_Rooms2_1F_Text_KiraRegister, MSGBOX_DEFAULT
|
||||
register_matchcall TRAINER_KIRA_AND_DAN_1
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_KiraRematch:: @ 8238154
|
||||
AbandonedShip_Rooms2_1F_EventScript_KiraRematch::
|
||||
trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_KiraRematchIntro, AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat, AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons
|
||||
msgbox AbandonedShip_Rooms2_1F_Text_KiraPostRematch, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_Jani:: @ 823816F
|
||||
AbandonedShip_Rooms2_1F_EventScript_Jani::
|
||||
trainerbattle_single TRAINER_JANI, AbandonedShip_Rooms2_1F_Text_JaniIntro, AbandonedShip_Rooms2_1F_Text_JaniDefeat
|
||||
msgbox AbandonedShip_Rooms2_1F_Text_JaniPostBattle, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_Garrison:: @ 8238186
|
||||
AbandonedShip_Rooms2_1F_EventScript_Garrison::
|
||||
trainerbattle_single TRAINER_GARRISON, AbandonedShip_Rooms2_1F_Text_GarrisonIntro, AbandonedShip_Rooms2_1F_Text_GarrisonDefeat
|
||||
msgbox AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanIntro: @ 823819D
|
||||
AbandonedShip_Rooms2_1F_Text_DanIntro:
|
||||
.string "DAN: While searching for treasures,\n"
|
||||
.string "we discovered a TRAINER!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanDefeat: @ 82381DA
|
||||
AbandonedShip_Rooms2_1F_Text_DanDefeat:
|
||||
.string "DAN: We couldn't win even though\n"
|
||||
.string "we worked together…$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanPostBattle: @ 823820F
|
||||
AbandonedShip_Rooms2_1F_Text_DanPostBattle:
|
||||
.string "DAN: We can't find any treasures…\n"
|
||||
.string "I wonder if someone got them already?$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons: @ 8238257
|
||||
AbandonedShip_Rooms2_1F_Text_DanNotEnoughMons:
|
||||
.string "DAN: You don't even have two POKéMON.\n"
|
||||
.string "You can't expect to beat us like that.$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraIntro: @ 82382A4
|
||||
AbandonedShip_Rooms2_1F_Text_KiraIntro:
|
||||
.string "KIRA: Oh?\n"
|
||||
.string "We were searching for treasures.\l"
|
||||
.string "But we discovered a TRAINER instead!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraDefeat: @ 82382F4
|
||||
AbandonedShip_Rooms2_1F_Text_KiraDefeat:
|
||||
.string "KIRA: Ooh, so strong!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraPostBattle: @ 823830A
|
||||
AbandonedShip_Rooms2_1F_Text_KiraPostBattle:
|
||||
.string "KIRA: Where could the treasures be?\p"
|
||||
.string "I've already decided what I'm buying\n"
|
||||
.string "when we find the treasures!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons: @ 823836F
|
||||
AbandonedShip_Rooms2_1F_Text_KiraNotEnoughMons:
|
||||
.string "KIRA: Oh, you don't have two POKéMON?\n"
|
||||
.string "We'll have to battle some other time!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRegister: @ 82383BB
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRegister:
|
||||
.string "KIRA: Oh, you make me so angry!\n"
|
||||
.string "I'm going to register you for that!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanRematchIntro: @ 82383FF
|
||||
AbandonedShip_Rooms2_1F_Text_DanRematchIntro:
|
||||
.string "DAN: We've been searching for\n"
|
||||
.string "treasures all this time.\p"
|
||||
.string "Our POKéMON have grown stronger, too.\n"
|
||||
.string "Let us show you, okay?$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanRematchDefeat: @ 8238473
|
||||
AbandonedShip_Rooms2_1F_Text_DanRematchDefeat:
|
||||
.string "DAN: You're strong, as usual!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanPostRematch: @ 8238491
|
||||
AbandonedShip_Rooms2_1F_Text_DanPostRematch:
|
||||
.string "DAN: We can't find any treasures,\n"
|
||||
.string "we lose at POKéMON…\p"
|
||||
.string "I want to go home… But if I say that,\n"
|
||||
.string "she gets all angry with me…$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons: @ 8238509
|
||||
AbandonedShip_Rooms2_1F_Text_DanRematchNotEnoughMons:
|
||||
.string "DAN: You don't even have two POKéMON.\n"
|
||||
.string "You can't expect to beat us like that.$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRematchIntro: @ 8238556
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRematchIntro:
|
||||
.string "KIRA: Oh? We meet again!\p"
|
||||
.string "Just like us, you still haven't given up\n"
|
||||
.string "searching for treasures, have you?\p"
|
||||
.string "Want to make it so the loser has\n"
|
||||
.string "to give up searching?$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat: @ 82385F2
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRematchDefeat:
|
||||
.string "KIRA: Oh, we lost again…$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraPostRematch: @ 823860B
|
||||
AbandonedShip_Rooms2_1F_Text_KiraPostRematch:
|
||||
.string "KIRA: We're not leaving until we raise\n"
|
||||
.string "our POKéMON some more and we find\l"
|
||||
.string "the treasures here!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons: @ 8238668
|
||||
AbandonedShip_Rooms2_1F_Text_KiraRematchNotEnoughMons:
|
||||
.string "KIRA: Oh, you don't have two POKéMON?\n"
|
||||
.string "We'll have to battle some other time!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_JaniIntro: @ 82386B4
|
||||
AbandonedShip_Rooms2_1F_Text_JaniIntro:
|
||||
.string "I'm not good at swimming,\n"
|
||||
.string "but I am good at battles!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_JaniDefeat: @ 82386E8
|
||||
AbandonedShip_Rooms2_1F_Text_JaniDefeat:
|
||||
.string "Oops.\n"
|
||||
.string "That didn't go very well.$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_JaniPostBattle: @ 8238708
|
||||
AbandonedShip_Rooms2_1F_Text_JaniPostBattle:
|
||||
.string "Walking around barefoot in this ship\n"
|
||||
.string "is kind of gross.$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_GarrisonIntro: @ 823873F
|
||||
AbandonedShip_Rooms2_1F_Text_GarrisonIntro:
|
||||
.string "Strength and compassion…\n"
|
||||
.string "Those are a TRAINER's treasures!$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_GarrisonDefeat: @ 8238779
|
||||
AbandonedShip_Rooms2_1F_Text_GarrisonDefeat:
|
||||
.string "Ah, there is something about you\n"
|
||||
.string "that sparkles.$"
|
||||
|
||||
AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle: @ 82387A9
|
||||
AbandonedShip_Rooms2_1F_Text_GarrisonPostBattle:
|
||||
.string "In a cabin somewhere on board,\n"
|
||||
.string "I saw something sparkle.$"
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
AbandonedShip_Rooms2_B1F_MapScripts:: @ 8238024
|
||||
AbandonedShip_Rooms2_B1F_MapScripts::
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Rooms2_B1F_EventScript_Camper:: @ 8238025
|
||||
AbandonedShip_Rooms2_B1F_EventScript_Camper::
|
||||
msgbox AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring, MSGBOX_NPC
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring: @ 823802E
|
||||
AbandonedShip_Rooms2_B1F_Text_PerfectPlaceToGoExploring:
|
||||
.string "This is a perfect place to go exploring!\n"
|
||||
.string "It's exciting here!\p"
|
||||
.string "I bet there're amazing treasures on\n"
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
AbandonedShip_Rooms_1F_MapScripts:: @ 8237A92
|
||||
AbandonedShip_Rooms_1F_MapScripts::
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Rooms_1F_EventScript_Gentleman:: @ 8237A93
|
||||
AbandonedShip_Rooms_1F_EventScript_Gentleman::
|
||||
msgbox AbandonedShip_Rooms_1F_Text_TakingALookAround, MSGBOX_NPC
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_1F_EventScript_Demetrius:: @ 8237A9C
|
||||
AbandonedShip_Rooms_1F_EventScript_Demetrius::
|
||||
trainerbattle_single TRAINER_DEMETRIUS, AbandonedShip_Rooms_1F_Text_DemetriusIntro, AbandonedShip_Rooms_1F_Text_DemetriusDefeat
|
||||
msgbox AbandonedShip_Rooms_1F_Text_DemetriusPostBattle, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_1F_EventScript_Thalia:: @ 8237AB3
|
||||
AbandonedShip_Rooms_1F_EventScript_Thalia::
|
||||
trainerbattle_single TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaIntro, AbandonedShip_Rooms_1F_Text_ThaliaDefeat, AbandonedShip_Rooms_1F_EventScript_RegisterThalia
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
compare VAR_RESULT, TRUE
|
||||
@ -19,7 +19,7 @@ AbandonedShip_Rooms_1F_EventScript_Thalia:: @ 8237AB3
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_1F_EventScript_RegisterThalia:: @ 8237ADF
|
||||
AbandonedShip_Rooms_1F_EventScript_RegisterThalia::
|
||||
special PlayerFaceTrainerAfterBattle
|
||||
waitmovement 0
|
||||
msgbox AbandonedShip_Rooms_1F_Text_ThaliaRegister, MSGBOX_DEFAULT
|
||||
@ -27,52 +27,52 @@ AbandonedShip_Rooms_1F_EventScript_RegisterThalia:: @ 8237ADF
|
||||
release
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_1F_EventScript_ThaliaRematch:: @ 8237AFE
|
||||
AbandonedShip_Rooms_1F_EventScript_ThaliaRematch::
|
||||
trainerbattle_rematch TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro, AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat
|
||||
msgbox AbandonedShip_Rooms_1F_Text_ThaliaPostRematch, MSGBOX_AUTOCLOSE
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_TakingALookAround: @ 8237B15
|
||||
AbandonedShip_Rooms_1F_Text_TakingALookAround:
|
||||
.string "Ships of this sort are rare, so I'm\n"
|
||||
.string "taking a look around.\p"
|
||||
.string "Hmhm…\n"
|
||||
.string "There appear to be other cabins…$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaIntro: @ 8237B76
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaIntro:
|
||||
.string "What on earth would compel you to\n"
|
||||
.string "come here? You must be curious!$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaDefeat: @ 8237BB8
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaDefeat:
|
||||
.string "Not just curious, but also strong…$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaPostBattle: @ 8237BDB
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaPostBattle:
|
||||
.string "The man next door…\p"
|
||||
.string "He says he's just sightseeing,\n"
|
||||
.string "but I don't know about that.$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaRegister: @ 8237C2A
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaRegister:
|
||||
.string "You're such a tough TRAINER!\n"
|
||||
.string "Let me register you as a memento!$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro: @ 8237C69
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaRematchIntro:
|
||||
.string "What on earth would compel you to\n"
|
||||
.string "come back? You must really be curious!$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat: @ 8237CB2
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaRematchDefeat:
|
||||
.string "Aren't you too strong?$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaPostRematch: @ 8237CC9
|
||||
AbandonedShip_Rooms_1F_Text_ThaliaPostRematch:
|
||||
.string "I'm sure that man's up to something!\n"
|
||||
.string "He just acts so suspiciously!$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_DemetriusIntro: @ 8237D0C
|
||||
AbandonedShip_Rooms_1F_Text_DemetriusIntro:
|
||||
.string "Waaah!\n"
|
||||
.string "I've been found! …Huh?$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_DemetriusDefeat: @ 8237D2A
|
||||
AbandonedShip_Rooms_1F_Text_DemetriusDefeat:
|
||||
.string "Oh, you're not my mom.$"
|
||||
|
||||
AbandonedShip_Rooms_1F_Text_DemetriusPostBattle: @ 8237D41
|
||||
AbandonedShip_Rooms_1F_Text_DemetriusPostBattle:
|
||||
.string "I'm in trouble with my mom, so I ran.\n"
|
||||
.string "Keep it a secret where I am!$"
|
||||
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
AbandonedShip_Rooms_B1F_MapScripts:: @ 8237FB7
|
||||
AbandonedShip_Rooms_B1F_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Rooms_B1F_OnResume
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Rooms_B1F_OnResume: @ 8237FBD
|
||||
AbandonedShip_Rooms_B1F_OnResume:
|
||||
setdivewarp MAP_ABANDONED_SHIP_UNDERWATER2, 255, 17, 4
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_B1F_EventScript_FatMan:: @ 8237FC6
|
||||
AbandonedShip_Rooms_B1F_EventScript_FatMan::
|
||||
msgbox AbandonedShip_Rooms_B1F_Text_GettingQueasy, MSGBOX_NPC
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms_B1F_Text_GettingQueasy: @ 8237FCF
|
||||
AbandonedShip_Rooms_B1F_Text_GettingQueasy:
|
||||
.string "Urrrrppp…\p"
|
||||
.string "I'm getting queasy just being aboard\n"
|
||||
.string "this ship…\p"
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
AbandonedShip_Underwater1_MapScripts:: @ 8238096
|
||||
AbandonedShip_Underwater1_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater1_OnResume
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Underwater1_OnResume: @ 823809C
|
||||
AbandonedShip_Underwater1_OnResume:
|
||||
setdivewarp MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 255, 0, 10
|
||||
end
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
AbandonedShip_Underwater2_MapScripts:: @ 823895D
|
||||
AbandonedShip_Underwater2_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_RESUME, AbandonedShip_Underwater2_OnResume
|
||||
.byte 0
|
||||
|
||||
AbandonedShip_Underwater2_OnResume: @ 8238963
|
||||
AbandonedShip_Underwater2_OnResume:
|
||||
setdivewarp MAP_ABANDONED_SHIP_ROOMS_B1F, 255, 13, 7
|
||||
end
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
AlteringCave_MapScripts:: @ 823B177
|
||||
AlteringCave_MapScripts::
|
||||
map_script MAP_SCRIPT_ON_TRANSITION, AlteringCave_OnTransition
|
||||
.byte 0
|
||||
|
||||
AlteringCave_OnTransition: @ 823B17D
|
||||
AlteringCave_OnTransition:
|
||||
setflag FLAG_LANDMARK_ALTERING_CAVE
|
||||
end
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user