summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas <doodrabbit@hotmail.com>2021-12-17 20:57:03 -0500
committerGitHub <noreply@github.com>2021-12-17 20:57:03 -0500
commitaf67eaffa7ab1a347a6f0e59ed7f1e107749d15a (patch)
treeb9f90f7b047b3dc5a411dbf65117bf07b237a37d
parent3ab18655ca1311019212b3a2a9dbe32e5fbee55d (diff)
parent44cd7753b5dde323d1e8274b2dc8a5599729e83f (diff)
Merge pull request #463 from PikalaxALT/pikalax_workHEADmaster
Real-match math_util.c
-rw-r--r--.github/calcrom/BuildAnalyzer.cpp143
-rw-r--r--.github/calcrom/BuildAnalyzer.h68
-rw-r--r--.github/calcrom/ElfFile.cpp130
-rw-r--r--.github/calcrom/ElfFile.h60
-rw-r--r--.github/calcrom/Glob.cpp16
-rw-r--r--.github/calcrom/Glob.h20
-rw-r--r--.github/calcrom/Makefile31
-rw-r--r--.github/calcrom/calcrom.cpp181
-rw-r--r--.github/calcrom/webhook.sh6
-rw-r--r--Makefile51
-rw-r--r--arm7/Makefile34
-rw-r--r--arm9/Makefile51
-rw-r--r--arm9/arm9.lsf3
-rw-r--r--arm9/asm/MSL_ARM_abort_exit.s14
-rw-r--r--arm9/asm/MSL_ARM_math.s6
-rw-r--r--arm9/asm/MSL_Common_ansi_files.s10
-rw-r--r--arm9/asm/MSL_Common_assert.s6
-rw-r--r--arm9/asm/MSL_Common_buffer_io.s10
-rw-r--r--arm9/asm/MSL_Common_direct_io.s14
-rw-r--r--arm9/asm/MSL_Common_file_io.s10
-rw-r--r--arm9/asm/MSL_Common_file_pos.s18
-rw-r--r--arm9/asm/MSL_Common_mbstring.s18
-rw-r--r--arm9/asm/MSL_Common_mem.s6
-rw-r--r--arm9/asm/MSL_Common_printf.s46
-rw-r--r--arm9/asm/MSL_Common_qsort.s6
-rw-r--r--arm9/asm/MSL_Common_scanf.s14
-rw-r--r--arm9/asm/MSL_Common_signal.s6
-rw-r--r--arm9/asm/MSL_Common_strtold.s14
-rw-r--r--arm9/asm/MSL_Common_strtoul.s22
-rw-r--r--arm9/asm/MSL_Common_wmem.s6
-rw-r--r--arm9/asm/MSL_Common_wprintf.s34
-rw-r--r--arm9/asm/MSL_DPMath_e_pow.s5
-rw-r--r--arm9/asm/MSL_DPMath_s_frexp.s6
-rw-r--r--arm9/asm/MSL_DPMath_s_ldexp.s6
-rw-r--r--arm9/asm/MSL_DPMath_w_pow.s6
-rw-r--r--arm9/asm/MSL_fp_ansi.s34
-rw-r--r--arm9/asm/MSL_math.s5
-rw-r--r--arm9/asm/RUNTIME_ARM_semihosted_console_io.s10
-rw-r--r--arm9/asm/RUNTIME_CPLUS_StaticInitializers.s10
-rw-r--r--arm9/asm/RUNTIME_NITRO_eabi_init.s6
-rw-r--r--arm9/asm/macros.inc1
-rw-r--r--arm9/asm/macros/cw.inc12
-rw-r--r--arm9/asm/macros/function.inc4
-rw-r--r--arm9/asm/scrcmd_9.s4
-rw-r--r--arm9/asm/scrcmd_asm.s24
-rw-r--r--arm9/asm/unk_0200E1D0_s.s (renamed from arm9/asm/unk_0200E1D0.s)126
-rw-r--r--arm9/asm/unk_02028980.s12
-rw-r--r--arm9/asm/unk_02029FB0.s334
-rw-r--r--arm9/asm/unk_0202B870.s16
-rw-r--r--arm9/asm/unk_02035068.s4
-rw-r--r--arm9/asm/unk_020377F0.s20
-rw-r--r--arm9/asm/unk_0204653C.s60
-rw-r--r--arm9/asm/unk_020476CC.s8
-rw-r--r--arm9/asm/unk_020484A8.s4
-rw-r--r--arm9/asm/unk_0204B9EC.s4
-rw-r--r--arm9/asm/unk_0204C1B4.s22
-rw-r--r--arm9/asm/unk_0204CB20.s8
-rw-r--r--arm9/asm/unk_0204FBA8.s4
-rw-r--r--arm9/asm/unk_020557F4.s4
-rw-r--r--arm9/asm/unk_0205CE48.s2
-rw-r--r--arm9/asm/unk_0206367C.s2
-rw-r--r--arm9/asm/unk_02063948.s4
-rw-r--r--arm9/asm/unk_02064E90.s40
-rw-r--r--arm9/asm/unk_0206C700.s8
-rw-r--r--arm9/asm/unk_0206F1F0.s4
-rw-r--r--arm9/asm/unk_02080C38.s18
-rw-r--r--arm9/asm/unk_020854E0.s4
-rw-r--r--arm9/global.inc43
-rw-r--r--arm9/lib/Makefile10
-rw-r--r--arm9/lib/NitroSDK/Makefile10
-rw-r--r--arm9/lib/NitroSDK/include/CARD_rom.h38
-rw-r--r--arm9/lib/libc/Makefile10
-rw-r--r--arm9/lib/libnns/Makefile10
-rw-r--r--arm9/modules/05/asm/mod05_021D74E0.s2
-rw-r--r--arm9/modules/05/asm/mod05_021D80E8.s6
-rw-r--r--arm9/modules/05/asm/mod05_021E2E88.s2
-rw-r--r--arm9/modules/05/asm/mod05_021EC458.s4
-rw-r--r--arm9/modules/05/asm/mod05_021F5C44.s8
-rw-r--r--arm9/modules/06/asm/module_06.s46
-rw-r--r--arm9/modules/11/asm/module_11_thumb1.s4
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s16
-rw-r--r--arm9/modules/17/asm/module_17.s2
-rw-r--r--arm9/modules/18/asm/module_18.s36
-rw-r--r--arm9/modules/47/asm/module_47.s2
-rw-r--r--arm9/modules/52/src/module_52.c12
-rw-r--r--arm9/modules/54/asm/module_54.s2
-rw-r--r--arm9/modules/58/asm/module_58.s4
-rw-r--r--arm9/modules/62/asm/module_62.s4
-rw-r--r--arm9/modules/71/asm/module_71.s2
-rw-r--r--arm9/modules/73/asm/module_73.s6
-rw-r--r--arm9/modules/74/asm/module_74.s6
-rw-r--r--arm9/modules/80/asm/module_80.s8
-rw-r--r--arm9/modules/85/asm/module_85.s2
-rw-r--r--arm9/src/font.c2
-rw-r--r--arm9/src/main.c8
-rw-r--r--arm9/src/map_header.c1248
-rw-r--r--arm9/src/math_util.c28
-rw-r--r--arm9/src/play_timer.c37
-rw-r--r--arm9/src/pokemon.c50
-rw-r--r--arm9/src/save_arrays.c46
-rw-r--r--arm9/src/scrcmd_berry_trees.c10
-rw-r--r--arm9/src/script_buffers.c3
-rw-r--r--arm9/src/trainer_data.c11
-rw-r--r--arm9/src/unk_0200E1D0.c16
-rw-r--r--arm9/src/unk_020139D8.c23
-rw-r--r--arm9/src/unk_02015E30.c37
-rw-r--r--arm9/src/unk_02021590.c50
-rw-r--r--arm9/src/unk_02021934.c94
-rw-r--r--arm9/src/unk_02021FF8.c40
-rw-r--r--arm9/src/unk_020222E8.c17
-rw-r--r--arm9/src/unk_02022450.c41
-rw-r--r--arm9/src/unk_02022504.c2
-rw-r--r--arm9/src/unk_02029FB0.c357
-rw-r--r--arm9/src/unk_0202C144.c4
-rw-r--r--arm9/src/unk_0205FA2C.c5
-rw-r--r--files/data/.gitignore2
-rw-r--r--files/data/dp_areawindow.NCGRbin368 -> 0 bytes
-rw-r--r--files/data/dp_areawindow.NCLRbin552 -> 0 bytes
-rw-r--r--files/data/dp_areawindow.pngbin0 -> 224 bytes
-rw-r--r--files/poketool/trainer/trdata.json10
-rw-r--r--filesystem.mk4
-rw-r--r--graphics_rules.mk6
-rw-r--r--include/constants/maps.h564
-rw-r--r--include/constants/sndseq.h837
-rw-r--r--include/constants/trainer_classes.h19
-rw-r--r--include/constants/trdata.h8
-rw-r--r--include/main.h13
-rw-r--r--include/map_header.h20
-rw-r--r--include/play_timer.h12
-rw-r--r--include/string16.h5
-rw-r--r--include/unk_02015E30.h22
-rw-r--r--include/unk_02021590.h2
-rw-r--r--include/unk_02021FF8.h2
-rw-r--r--include/unk_020222E8.h4
-rw-r--r--include/unk_02022504.h3
-rw-r--r--include/unk_02029FB0.h22
-rw-r--r--include/unk_0202AC20.h13
-rw-r--r--map_header_resolve_fields.py123
-rw-r--r--tools/asmdiff/asmdiff.sh179
-rw-r--r--tools/asmdiff/ntrextractfile.c153
-rw-r--r--tools/asmdiff/ntruncompbw.c107
-rw-r--r--tools/knarc/Narc.cpp4
-rw-r--r--tools/knarc/Narc.h2
-rw-r--r--tools/mwasmarm_patcher/Makefile5
-rw-r--r--tools/nitrogfx/Makefile6
-rw-r--r--tools/nitrogfx/gfx.c14
-rw-r--r--tools/nitrogfx/gfx.h4
-rw-r--r--tools/nitrogfx/main.c8
-rw-r--r--tools/nitrogfx/options.h1
149 files changed, 4410 insertions, 2083 deletions
diff --git a/.github/calcrom/BuildAnalyzer.cpp b/.github/calcrom/BuildAnalyzer.cpp
new file mode 100644
index 00000000..4fc36d81
--- /dev/null
+++ b/.github/calcrom/BuildAnalyzer.cpp
@@ -0,0 +1,143 @@
+#include <algorithm>
+#include <cstring>
+#include <iostream>
+#include "BuildAnalyzer.h"
+#include "Glob.h"
+#include "ElfFile.h"
+
+string default_version("");
+
+void BuildAnalyzer::AnalyzeObject(path fname_s) {
+#ifndef NDEBUG
+ cerr << fname_s << endl;
+#endif //NDEBUG
+ string ext = fname_s.extension();
+ SourceType sourceType = ext == ".s" ? SOURCE_ASM : SOURCE_C;
+ fname_s = builddir / relative(fname_s, srcbase);
+ fname_s = fname_s.replace_extension(".o");
+ if (!exists(fname_s)) {
+ throw runtime_error("No such file: " + fname_s.string());
+ }
+
+ Elf32File elf(fname_s);
+
+ // Analyze sections
+ for (Elf32_Shdr & hdr : elf.GetSectionHeaders()) {
+ string shname = elf.GetSectionName(hdr);
+ SectionType sectionType = GetSectionType(shname);
+ if (sectionType != SECTION_OTHER) {
+ sizes[sectionType][sourceType] += (hdr.sh_size + 3) & ~3;
+ auto data = elf.ReadSectionData<unsigned>(hdr);
+//#ifndef NDEBUG
+// unordered_set<unsigned> unique_addrs;
+//#endif
+ for (const auto & word : data) {
+ if (word == 0) {
+ continue; // might be a relocation
+ }
+ if (find_if(program.GetProgramHeaders().cbegin(), program.GetProgramHeaders().cend(), [&word](const auto & phdr) {
+ return phdr.p_vaddr <= word && word < phdr.p_vaddr + phdr.p_memsz;
+ }) != program.GetProgramHeaders().cend()) {
+//#ifndef NDEBUG
+// unique_addrs.insert(word);
+//#endif
+ n_hardcoded++;
+ }
+ }
+//#ifndef NDEBUG
+// if (!version.empty()) {
+// for (const auto & word : unique_addrs) {
+// cerr << "hardcoded " << version << " pointer to " << hex << word << endl;
+// }
+// }
+//#endif
+ } else if (hdr.sh_type == SHT_RELA) {
+ n_relocations += elf.GetSectionElementCount<Elf32_Rela>(hdr);
+ }
+ }
+}
+
+void BuildAnalyzer::reset() {
+ memset(sizes, 0, sizeof(sizes));
+ if (!version.empty()) {
+ sizes[SECTION_TEXT][SOURCE_ASM] = 0x800; // libsyscall.a
+ }
+ n_hardcoded = 0;
+ n_relocations = 0;
+}
+
+BuildAnalyzer::BuildAnalyzer(path &_basedir, path &_subdir, string &_version) :
+ basedir(_basedir),
+ subdir(_subdir),
+ version(_version)
+{
+ reset();
+ srcbase = basedir / subdir;
+ builddir = srcbase / "build" / version;
+ if (!exists(srcbase)) {
+ throw runtime_error("No such directory: " + srcbase.string());
+ }
+
+ string elfpat = builddir + "/*.elf";
+ Glob globber(elfpat, GLOB_TILDE | GLOB_BRACE | GLOB_NOSORT);
+ if (globber.size() == 0) {
+ throw runtime_error("unable to find an ELF file with section data");
+ }
+ program.open(globber[0], Elf32File::sections | Elf32File::programs);
+}
+
+BuildAnalyzer &BuildAnalyzer::operator()() {
+ if (analyzed) {
+ reset();
+ }
+ string pattern = srcbase.string() + "/{src,asm,lib/{src,asm},lib/*/{src,asm},modules/*/{asm,src}}/*.{c,s,cpp}";
+ for (char const * & fname : Glob(pattern, GLOB_TILDE | GLOB_BRACE | GLOB_NOSORT)) {
+ if (string(fname).find("lib/syscall/") == string::npos) {
+ AnalyzeObject(fname);
+ }
+ }
+ analyzed = true;
+ return *this;
+}
+
+ostream &operator<<(ostream &strm, BuildAnalyzer &_this) {
+ if (!_this.analyzed) {
+ strm << "Haven't analyzed this ROM, please call the BuildAnalyzer instance" << endl;
+ return strm;
+ }
+
+ strm << "Analysis of " << (_this.version.empty() ? _this.subdir.string() : _this.version) << " binary:" << endl;
+ // Report code
+ unsigned total_text = _this.sizes[SECTION_TEXT][SOURCE_C] + _this.sizes[SECTION_TEXT][SOURCE_ASM];
+ if (total_text != 0) {
+ double total_text_d = total_text;
+ double src_text_d = _this.sizes[SECTION_TEXT][SOURCE_C];
+ double asm_text_d = _this.sizes[SECTION_TEXT][SOURCE_ASM];
+ strm << " " << total_text << " total bytes of code" << endl;
+ strm << " " << _this.sizes[SECTION_TEXT][SOURCE_C] << " bytes of code in src (" << (src_text_d / total_text_d * 100.0) << "%)" << endl;
+ strm << " " << _this.sizes[SECTION_TEXT][SOURCE_ASM] << " bytes of code in asm (" << (asm_text_d / total_text_d * 100.0) << "%)" << endl;
+ }
+ strm << endl;
+ // Report data
+ unsigned total_data = _this.sizes[SECTION_DATA][SOURCE_C] + _this.sizes[SECTION_DATA][SOURCE_ASM];
+ if (total_data != 0) {
+ double total_data_d = total_data;
+ double src_data_d = _this.sizes[SECTION_DATA][SOURCE_C];
+ double asm_data_d = _this.sizes[SECTION_DATA][SOURCE_ASM];
+ strm << " " << total_data << " total bytes of data" << endl;
+ strm << " " << _this.sizes[SECTION_DATA][SOURCE_C] << " bytes of data in src (" << (src_data_d / total_data_d * 100.0) << "%)" << endl;
+ strm << " " << _this.sizes[SECTION_DATA][SOURCE_ASM] << " bytes of data in asm (" << (asm_data_d / total_data_d * 100.0) << "%)" << endl;
+ }
+ strm << endl;
+ // Report hardcoded pointers
+ unsigned total_pointers = _this.n_hardcoded + _this.n_relocations;
+ if (total_pointers != 0) {
+ double total_pointers_d = total_pointers;
+ double hardcoded_pointers_d = _this.n_hardcoded;
+ double relocated_pointers_d = _this.n_relocations;
+ strm << " " << total_pointers << " total pointers" << endl;
+ strm << " " << _this.n_relocations << " properly-linked pointers (" << (relocated_pointers_d / total_pointers_d * 100.0) << "%)" << endl;
+ strm << " " << _this.n_hardcoded << " hard-coded pointers (" << (hardcoded_pointers_d / total_pointers_d * 100.0) << "%)" << endl;
+ }
+ return strm;
+}
diff --git a/.github/calcrom/BuildAnalyzer.h b/.github/calcrom/BuildAnalyzer.h
new file mode 100644
index 00000000..0b13c2cf
--- /dev/null
+++ b/.github/calcrom/BuildAnalyzer.h
@@ -0,0 +1,68 @@
+#ifndef CALCROM_BUILDANALYZER_H
+#define CALCROM_BUILDANALYZER_H
+
+#include <filesystem>
+#include <utility>
+#include <vector>
+#include <unordered_set>
+#include "ElfFile.h"
+
+using namespace std;
+using namespace std::filesystem;
+
+extern string default_version;
+
+enum SectionType {
+ SECTION_DATA,
+ SECTION_TEXT,
+ SECTION_MAX,
+ SECTION_OTHER = -1
+};
+
+enum SourceType {
+ SOURCE_C,
+ SOURCE_ASM,
+ SOURCE_MAX
+};
+
+static enum SourceType GetSourceType(const path &fname) {
+ string ext = fname.extension();
+ return ext == ".s" ? SOURCE_ASM : SOURCE_C;
+}
+
+static enum SectionType GetSectionType(const string &shname) {
+ if (shname == ".text" || shname == ".init" || shname == ".itcm") {
+ return SECTION_TEXT;
+ } else if (shname == ".data" || shname == ".rodata" || shname == ".sdata" || shname == ".dtcm") {
+ return SECTION_DATA;
+ } else {
+ return SECTION_OTHER;
+ }
+}
+
+class BuildAnalyzer {
+ bool analyzed = false;
+ path basedir;
+ path subdir;
+ string version = "";
+ path srcbase;
+ string builddir;
+ Elf32File program;
+
+ // Accumulate sizes
+ // src asm
+ // data _____|_____
+ // text |
+ unsigned sizes[SECTION_MAX][SOURCE_MAX] = {{0, 0}, {0, 0}};
+ unsigned n_hardcoded = 0;
+ unsigned n_relocations = 0;
+
+ void reset();
+ void AnalyzeObject(path fname_s);
+public:
+ BuildAnalyzer(path &_basedir, path &_subdir, string &_version = default_version);
+ BuildAnalyzer &operator()();
+ friend ostream &operator<<(ostream &strm, BuildAnalyzer &_this);
+};
+
+#endif //CALCROM_BUILDANALYZER_H
diff --git a/.github/calcrom/ElfFile.cpp b/.github/calcrom/ElfFile.cpp
new file mode 100644
index 00000000..52ad2d06
--- /dev/null
+++ b/.github/calcrom/ElfFile.cpp
@@ -0,0 +1,130 @@
+#include <iostream>
+#include <cassert>
+#include <algorithm>
+#include <cstring>
+#include "ElfFile.h"
+
+void Elf32File::ReadElfHeaderAndVerify() {
+ handle.seekg(0);
+ handle.read((char *)ehdr.e_ident, EI_NIDENT);
+ assert(memcmp(ehdr.e_ident, ELFMAG, SELFMAG) == 0);
+ assert(ehdr.e_ident[EI_CLASS] == ELFCLASS32);
+ assert(ehdr.e_ident[EI_DATA] == ELFDATA2LSB);
+ assert(ehdr.e_ident[EI_VERSION] == EV_CURRENT);
+ handle.read((char*)&ehdr + EI_NIDENT, sizeof(ehdr) - EI_NIDENT);
+ assert(ehdr.e_shentsize == sizeof(Elf32_Shdr));
+}
+
+void Elf32File::ReadSectionHeaders() {
+ assert(shdr.empty());
+ shdr.resize(ehdr.e_shnum);
+ handle.seekg(ehdr.e_shoff);
+ handle.read((char*)shdr.data(), ehdr.e_shnum * ehdr.e_shentsize);
+}
+
+void Elf32File::ReadProgramHeaders() {
+ assert(phdr.empty());
+ phdr.resize(ehdr.e_phnum);
+ handle.seekg(ehdr.e_phoff);
+ handle.read((char*)phdr.data(), ehdr.e_phnum * ehdr.e_phentsize);
+}
+
+void Elf32File::ReadShstrtab() {
+ assert(shstrtab.empty());
+ shstrtab.resize(shdr[ehdr.e_shstrndx].sh_size);
+ handle.seekg(shdr[ehdr.e_shstrndx].sh_offset);
+ handle.read((char*)shstrtab.data(), shdr[ehdr.e_shstrndx].sh_size);
+}
+
+void Elf32File::ReadStrtab() {
+ assert(strtab.empty());
+ int i;
+ for (i = 1; i < ehdr.e_shnum; i++) {
+ if (i == ehdr.e_shstrndx) continue;
+ if (shdr[i].sh_type == SHT_STRTAB) break;
+ }
+ assert(i != ehdr.e_shnum);
+ strtab.resize(shdr[i].sh_size);
+ handle.seekg(shdr[i].sh_offset);
+ handle.read((char*)strtab.data(), shdr[i].sh_size);
+}
+
+void Elf32File::ReadSymtab() {
+ assert(symtab.empty());
+ auto sec = find_if(shdr.begin(), shdr.end(), [](Elf32_Shdr const& candidate) { return candidate.sh_type == SHT_SYMTAB; });
+ assert(sec != shdr.end());
+ symtab.resize(sec->sh_size);
+ handle.seekg(sec->sh_offset);
+ handle.read((char*)symtab.data(), sec->sh_size);
+}
+
+Elf32File::Elf32File(path const& filename, elfload load) {
+ open(filename, load);
+}
+
+void Elf32File::open(path const& filename, elfload load) {
+ assert(!is_open());
+ handle.open(filename, ios::binary);
+ assert(handle.good());
+ ReadElfHeaderAndVerify();
+ if (load & sections) {
+ ReadSectionHeaders();
+ ReadShstrtab();
+ }
+ if (load & programs) {
+ ReadProgramHeaders();
+ }
+ if (load & symbols) {
+ assert(load & sections);
+ ReadStrtab();
+ ReadSymtab();
+ }
+}
+
+void Elf32File::close() {
+ if (is_open()) {
+ handle.close();
+ }
+ memset(&ehdr, 0, sizeof(ehdr));
+ shdr.clear();
+ symtab.clear();
+ phdr.clear();
+ shstrtab.clear();
+ strtab.clear();
+}
+
+bool Elf32File::is_open() const {
+ return handle.is_open();
+}
+
+Elf32File::~Elf32File() {
+ close();
+}
+
+vector<Elf32_Shdr> &Elf32File::GetSectionHeaders() {
+ return shdr;
+}
+
+vector<Elf32_Phdr> &Elf32File::GetProgramHeaders() {
+ return phdr;
+}
+
+string Elf32File::GetSectionName(const Elf32_Shdr &section) const {
+ return string(shstrtab.data() + section.sh_name);
+}
+
+string Elf32File::GetSymbolName(const Elf32_Sym &symbol) const {
+ return string(strtab.data() + symbol.st_name);
+}
+
+Elf32_Sym &Elf32File::operator[](const string &name) {
+ return *find_if(symtab.begin(), symtab.end(), [&](Elf32_Sym const &sym) { return name == GetSymbolName(sym); });
+}
+
+Elf32_Sym &Elf32File::at(const string &name) {
+ auto ret = find_if(symtab.begin(), symtab.end(), [&](Elf32_Sym const &sym) { return name == GetSymbolName(sym); });
+ if (ret == symtab.end()) {
+ throw runtime_error("no symbol named " + name);
+ }
+ return *ret;
+}
diff --git a/.github/calcrom/ElfFile.h b/.github/calcrom/ElfFile.h
new file mode 100644
index 00000000..85e01800
--- /dev/null
+++ b/.github/calcrom/ElfFile.h
@@ -0,0 +1,60 @@
+#ifndef CALCROM_ELFFILE_H
+#define CALCROM_ELFFILE_H
+
+#include <vector>
+#include <fstream>
+#include <filesystem>
+#include <elf.h>
+
+using namespace std;
+using namespace std::filesystem;
+
+class Elf32File {
+ ifstream handle;
+ Elf32_Ehdr ehdr;
+ vector<Elf32_Shdr> shdr;
+ vector<Elf32_Sym> symtab;
+ vector<Elf32_Phdr> phdr;
+ vector<char> shstrtab;
+ vector<char> strtab;
+
+private:
+ void ReadElfHeaderAndVerify();
+ void ReadSectionHeaders();
+ void ReadProgramHeaders();
+ void ReadShstrtab();
+ void ReadStrtab();
+ void ReadSymtab();
+public:
+ typedef unsigned int elfload;
+ static const elfload sections = 1;
+ static const elfload programs = 2;
+ static const elfload symbols = 4;
+
+ Elf32File() = default;
+ Elf32File(path const& filename, elfload load = sections);
+ ~Elf32File();
+ void open(path const& filename, elfload load = sections);
+ void close();
+ bool is_open() const;
+ template <typename _V>
+ vector<_V> ReadSectionData(const Elf32_Shdr &_shdr) {
+ vector<_V> ret;
+ ret.resize((_shdr.sh_size + sizeof(_V) - 1) / sizeof(_V));
+ handle.seekg(_shdr.sh_offset);
+ handle.read((char *)ret.data(), _shdr.sh_size);
+ return ret;
+ }
+ template <typename _V>
+ size_t GetSectionElementCount(const Elf32_Shdr &_shdr) {
+ return (_shdr.sh_size + sizeof(_V) - 1) / sizeof(_V);
+ }
+ vector<Elf32_Shdr>& GetSectionHeaders();
+ vector<Elf32_Phdr>& GetProgramHeaders();
+ string GetSectionName(const Elf32_Shdr &section) const;
+ string GetSymbolName(const Elf32_Sym &symbol) const;
+ Elf32_Sym &operator[](const string &name);
+ Elf32_Sym &at(const string &name);
+};
+
+#endif //CALCROM_ELFFILE_H
diff --git a/.github/calcrom/Glob.cpp b/.github/calcrom/Glob.cpp
new file mode 100644
index 00000000..cb519233
--- /dev/null
+++ b/.github/calcrom/Glob.cpp
@@ -0,0 +1,16 @@
+#include <stdexcept>
+#include "Glob.h"
+
+Glob::Glob(const char *pattern, int _glob_flags) : glob_flags(_glob_flags) {
+ int result = glob(pattern, glob_flags, nullptr, &glob_result);
+ if (result) {
+ throw runtime_error(string("Glob(") + pattern + ") failed with error " + to_string(result));
+ }
+ assign(glob_result.gl_pathv, glob_result.gl_pathv + glob_result.gl_pathc);
+}
+
+Glob::Glob(const string& pattern, int _glob_flags) : Glob(pattern.c_str(), _glob_flags) {}
+
+Glob::~Glob() {
+ globfree(&glob_result);
+}
diff --git a/.github/calcrom/Glob.h b/.github/calcrom/Glob.h
new file mode 100644
index 00000000..69667628
--- /dev/null
+++ b/.github/calcrom/Glob.h
@@ -0,0 +1,20 @@
+#ifndef CALCROM_GLOB_H
+#define CALCROM_GLOB_H
+
+#include <vector>
+#include <string>
+#include <glob.h>
+
+using namespace std;
+
+class Glob : public vector<const char *> {
+ glob_t glob_result;
+ int glob_flags;
+public:
+ // Call glob with the supplied pattern
+ Glob(const char * pattern, int _glob_flags);
+ Glob(const string& pattern, int _glob_flags);
+ ~Glob();
+};
+
+#endif //CALCROM_GLOB_H
diff --git a/.github/calcrom/Makefile b/.github/calcrom/Makefile
index e3b6ff50..31b58803 100644
--- a/.github/calcrom/Makefile
+++ b/.github/calcrom/Makefile
@@ -1,5 +1,8 @@
CXX := g++
-CXXFLAGS := -O3 -std=c++11
+CXXFLAGS := -g -O2 -std=c++17
+ifeq ($(DEBUG),)
+CXXFLAGS += -DNDEBUG
+endif
ifeq ($(OS),Windows_NT)
EXE := .exe
@@ -7,11 +10,31 @@ else
EXE :=
endif
+CXXSRCS := calcrom.cpp BuildAnalyzer.cpp ElfFile.cpp Glob.cpp
+CXXOBJS := $(CXXSRCS:%.cpp=%.o)
+
+DEPDIR := .deps
+DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d
+
TARGET := calcrom$(EXE)
-.PHONY: all
+.PHONY: all clean
all: $(TARGET)
-$(TARGET): calcrom.cpp
- $(CXX) $(CXXFLAGS) -o $@ $^
+clean:
+ $(RM) -r $(TARGET) $(CXXOBJS) $(DEPDIR)
+
+$(TARGET): $(CXXOBJS)
+ $(CXX) $(LDFLAGS) -o $@ $^
+
+%.o: %.cpp
+%.o: %.cpp $(DEPDIR)/%.d | $(DEPDIR)
+ $(CXX) $(CXXFLAGS) $(DEPFLAGS) -c -o $@ $<
+
+$(DEPDIR): ; @mkdir -p $@
+
+DEPFILES := $(CXXSRCS:%.cpp=$(DEPDIR)/%.d)
+$(DEPFILES):
+
+include $(wildcard $(DEPFILES))
diff --git a/.github/calcrom/calcrom.cpp b/.github/calcrom/calcrom.cpp
index 1cb6f9fe..8b0c1b42 100644
--- a/.github/calcrom/calcrom.cpp
+++ b/.github/calcrom/calcrom.cpp
@@ -1,14 +1,18 @@
/*
* CALCROM.CPP
- * © PikalaxALT 2020
+ * © PikalaxALT 2020-2021
*
- * Simple C++ executable to measure the completion rate of Pokémon Diamond
+ * Permission is granted to copy and/or modify this code under GPL 3.0.
+ *
+ * Simple C++ executable to measure the completion rate of Nintendo DS
* reverse engineering (decompilation).
+ * Similar in scope to calcrom.pl from pret-agb projects, but designed
+ * to cope with restrictions imposed by the DS toolchain.
*
* Requirements:
* - Must have C++11 compliant compiler.
* - MacOS X: Must provide elf.h on the include (-I) path.
- * - Must be placed in ".travis/calcrom/".
+ * - Must be placed in ".github/calcrom/".
*
* Changelog:
* - 0.1.0 (26 May 2020):
@@ -19,135 +23,82 @@
* Extra security on ELF header
* - 0.1.3 (30 Jun 2020):
* Account for diamond/pearl split
+ * - 0.2.0 (30 Aug 2021):
+ * Support hgss
+ * - 0.2.1 (31 Aug 2021):
+ * Make calcrom more generic and configurable via command line
+ * - 0.2.2 (18 Sep 2021):
+ * Handle errors when paths are missing
+ * - 0.2.3 (10 Nov 2021):
+ * Refactor classes into separate objects to improve future maintainability
+ * Report hardcoded pointers
*/
#include <iostream>
#include <fstream>
-#include <sstream>
-#include <elf.h>
-#include <glob.h>
-#include <string.h>
#include <vector>
#include <string>
+#include <algorithm>
+#include <filesystem>
+#include "BuildAnalyzer.h"
using namespace std;
+using namespace std::filesystem;
-struct Glob : public vector<char const *> {
- glob_t glob_result;
+class missing_option : public invalid_argument {
public:
- Glob(string const & pattern) {
- int result = glob(pattern.c_str(), GLOB_TILDE | GLOB_BRACE, NULL, &glob_result);
- if (result) {
- stringstream ss;
- ss << "Glob(" << pattern << ") failed with error " << result << endl;
- throw runtime_error(ss.str());
- }
- assign(glob_result.gl_pathv, glob_result.gl_pathv + glob_result.gl_pathc);
- };
- void operator~() {
- globfree(&glob_result);
- }
+ missing_option(string& error) : invalid_argument{error.c_str()} {}
};
-void analyze(string basedir, string subdir, string version) {
- fstream elf;
- Elf32_Ehdr ehdr;
- vector<Elf32_Shdr> shdr;
- stringstream pattern;
-
- // Accumulate sizes
- // src asm
- // data _____|_____
- // text |
- unsigned sizes[2][2] = {{0, 0}, {0, 0}};
- char * shstrtab = NULL;
- size_t shstrsz = 0;
- stringstream builddir;
- builddir << subdir << "/build/" << version;
- pattern << basedir << "/" << subdir << "/{src,asm,lib/src,lib/{libc,libnns,NitroSDK}/src,modules/*/{src,asm}}/*.{c,s,cpp}";
- for (char const * & fname : Glob(pattern.str()))
- {
- string fname_s(fname);
- string ext = fname_s.substr(fname_s.rfind('.'), 4);
- bool is_asm = ext == ".s";
- fname_s = fname_s.replace(fname_s.find(subdir), 4, builddir.str());
- fname_s = fname_s.replace(fname_s.rfind('.'), 4, ".o");
- elf.open(fname_s, ios_base::in | ios_base::binary);
- if (!elf.good()) {
- cerr << "Error: file not found: " << fname_s << endl;
- return;
- }
- elf.read((char *)&ehdr, sizeof(ehdr));
- if (memcmp(ehdr.e_ident, ELFMAG, SELFMAG) != 0
- || ehdr.e_ehsize != sizeof(Elf32_Ehdr)
- || ehdr.e_shentsize != sizeof(Elf32_Shdr))
- {
- elf.close();
- stringstream ss;
- ss << "Error validating " << fname_s << " as an ELF file" << endl;
- throw runtime_error(ss.str());
- }
- // Read ELF sections
- elf.seekg(ehdr.e_shoff);
- shdr.resize(ehdr.e_shnum);
- elf.read((char *)shdr.data(), ehdr.e_shnum * ehdr.e_shentsize);
-
- // Read .shstrtab
- if (shstrsz < shdr[ehdr.e_shstrndx].sh_size) {
- shstrtab = (char *)realloc(shstrtab, shdr[ehdr.e_shstrndx].sh_size);
- shstrsz = shdr[ehdr.e_shstrndx].sh_size;
- }
- elf.seekg(shdr[ehdr.e_shstrndx].sh_offset);
- elf.read(shstrtab, shdr[ehdr.e_shstrndx].sh_size);
- elf.close();
-
- // Analyze sections
- for (Elf32_Shdr & hdr : shdr) {
- string shname = shstrtab + hdr.sh_name;
- bool is_text = (shname == ".text" || shname == ".init" || shname == ".itcm");
- bool is_data = (shname == ".data" || shname == ".rodata" || shname == ".sdata" || shname == ".dtcm");
- size_t size = hdr.sh_size + (hdr.sh_size & 3 ? 4 - (hdr.sh_size & 3) : 0);
- if (is_text || is_data)
- {
- sizes[is_text][is_asm] += size;
+struct Options {
+ path arm9subdir = "";
+ path arm7subdir = "sub";
+ path projectdir = ".";
+ vector<string> romnames;
+ Options(int argc, char ** argv) {
+ for (int i = 1; i < argc; i++) {
+ string arg = argv[i];
+ if (arg == "-9") {
+ if (++i == argc) throw missing_option(arg);
+ arm9subdir = argv[i];
+ } else if (arg == "-7") {
+ if (++i == argc) throw missing_option(arg);
+ arm7subdir = argv[i];
+ } else if (arg == "-d") {
+ if (++i == argc) throw missing_option(arg);
+ projectdir = argv[i];
+ } else if (arg[0] != '-') {
+ romnames.push_back(arg);
+ } else {
+ throw invalid_argument(arg);
}
}
}
- free(shstrtab);
-
- cout << "Analysis of " << (version.empty() ? subdir : version) << " binary:" << endl;
- // Report code
- unsigned total_text = sizes[1][0] + sizes[1][1];
- double total_text_d = total_text;
- double src_text_d = sizes[1][0];
- double asm_text_d = sizes[1][1];
- cout << " " << total_text << " total bytes of code" << endl;
- cout << " " << sizes[1][0] << " bytes of code in src (" << (src_text_d / total_text_d * 100.0) << "%)" << endl;
- cout << " " << sizes[1][1] << " bytes of code in asm (" << (asm_text_d / total_text_d * 100.0) << "%)" << endl;
- cout << endl;
- // Report data
- unsigned total_data = sizes[0][0] + sizes[0][1];
- double total_data_d = total_data;
- double src_data_d = sizes[0][0];
- double asm_data_d = sizes[0][1];
- cout << " " << total_data << " total bytes of data" << endl;
- cout << " " << sizes[0][0] << " bytes of data in src (" << (src_data_d / total_data_d * 100.0) << "%)" << endl;
- cout << " " << sizes[0][1] << " bytes of data in asm (" << (asm_data_d / total_data_d * 100.0) << "%)" << endl;
- // Let vectors fall to gc
-}
+ int main() {
+ for (string &romname: romnames) {
+ cout << BuildAnalyzer(projectdir, arm9subdir, romname)() << endl;
+ }
+ cout << BuildAnalyzer(projectdir, arm7subdir)();
+ return 0;
+ }
+};
int main(int argc, char ** argv)
{
- if (argc < 2) {
- cout << "usage: calcrom PROJECT_DIR" << endl;
- throw invalid_argument("missing required argument: PROJECT_DIR\n");
+ try {
+ Options options(argc, argv);
+ return options.main();
+ } catch (missing_option& e) {
+ cerr << "Missing value for option " << e.what() << endl;
+ return 1;
+ } catch (invalid_argument& e) {
+ cerr << "Unrecognized option flag: " << e.what() << endl;
+ return 1;
+ } catch (runtime_error& e) {
+ cerr << e.what() << endl;
+ return 1;
+ } catch (exception& e) {
+ cerr << "Unhandled exception: " << e.what() << endl;
+ return 1;
}
-
- analyze(argv[1], "arm9", "diamond.us");
- cout << endl;
- analyze(argv[1], "arm9", "pearl.us");
- cout << endl;
- analyze(argv[1], "arm7", "");
-
- return 0;
}
diff --git a/.github/calcrom/webhook.sh b/.github/calcrom/webhook.sh
index c15e9b50..60726c7d 100644
--- a/.github/calcrom/webhook.sh
+++ b/.github/calcrom/webhook.sh
@@ -7,12 +7,14 @@ fi
build_name=$1
url=$2
-map_file=$(dirname "$0")/../../arm9/build/diamond.us/arm9.elf.xMAP
+build_subdir=${1//poke/}.us
+arm9name=${arm9name:-arm9.elf}
+map_file=$(dirname "$0")/../../arm9/build/${build_subdir}/${arm9name}.xMAP
if [ ! -f $map_file ]; then
echo "$map_file does not exist!"
exit 1
fi
make -C ${GITHUB_WORKSPACE}/.github/calcrom
-output=$(${GITHUB_WORKSPACE}/.github/calcrom/calcrom ${GITHUB_WORKSPACE} | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')
+output=$(${GITHUB_WORKSPACE}/.github/calcrom/calcrom -d ${GITHUB_WORKSPACE} -9 arm9 -7 arm7 diamond.us pearl.us | 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 $url
diff --git a/Makefile b/Makefile
index b8076086..745298b8 100644
--- a/Makefile
+++ b/Makefile
@@ -3,21 +3,22 @@
include config.mk
include graphics_rules.mk
-HOSTCC = $(CC)
-HOSTCXX = $(CXX)
-HOSTCFLAGS = $(CFLAGS)
-HOSTCXXFLAGS = $(CXXFLAGS)
-HOST_VARS := CC=$(HOSTCC) CXX=$(HOSTCXX) CFLAGS='$(HOSTCFLAGS)' CXXFLAGS='$(HOSTCXXFLAGS)'
-
.PHONY: clean tidy all default patch_mwasmarm
# Try to include devkitarm if installed
+ifdef DEVKITARM
TOOLCHAIN := $(DEVKITARM)
+endif
-ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
-include $(TOOLCHAIN)/base_tools
+ifdef TOOLCHAIN
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
endif
+PREFIX := arm-none-eabi-
+
+OBJCOPY := $(PREFIX)objcopy
+AR := $(PREFIX)ar
+
### Default target ###
default: all
@@ -102,9 +103,9 @@ OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
-ASFLAGS = -proc arm5te
-CFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
-LDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
+MWASFLAGS = -proc arm5te
+MWCFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+MWLDFLAGS = -map -nodead -w off -proc v5te -interworking -map -symtab -m _start
####################### Other Tools #########################
@@ -124,10 +125,12 @@ MAKEROM = $(WINE) $(TOOLS_DIR)/bin/makerom.exe
FIXROM = $(TOOLS_DIR)/fixrom/fixrom$(EXE)
NTRCOMP = $(WINE) $(TOOLS_DIR)/bin/ntrcomp.exe
-TOOLDIRS = $(filter-out $(TOOLS_DIR)/asm_processor $(TOOLS_DIR)/mwccarm $(TOOLS_DIR)/bin,$(wildcard $(TOOLS_DIR)/*))
+TOOLDIRS = $(dir $(wildcard tools/*/Makefile))
TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),$(TOOLS_DIR)/$(tool)/$(tool)$(EXE))
+TOOLS: tools
+
export LM_LICENSE_FILE := $(TOOLS_DIR)/mwccarm/license.dat
export MWCIncludes := arm9/lib/libc/include arm9/lib/NitroSDK/include arm9/lib/libnns/include
export MWLibraries := arm9/lib
@@ -139,7 +142,7 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst
# Build tools when building the rom
# Disable dependency scanning for clean/tidy/tools
ifeq (,$(filter-out all,$(MAKECMDGOALS)))
-$(call infoshell, $(HOST_VARS) $(MAKE) tools patch_mwasmarm)
+$(call infoshell,$(MAKE) tools patch_mwasmarm)
else
NODEP := 1
endif
@@ -151,6 +154,8 @@ endif
MAKEFLAGS += --no-print-directory
+all: tools patch_mwasmarm
+
all: $(ROM)
ifeq ($(COMPARE),1)
@$(SHA1SUM) -c $(TARGET).sha1
@@ -180,7 +185,7 @@ tidy:
tools: $(TOOLDIRS)
$(TOOLDIRS):
- @$(HOST_VARS) $(MAKE) -C $@
+ @$(MAKE) -C $@
clean-tools:
$(foreach tool,$(TOOLDIRS),$(MAKE) clean -C $(tool);)
@@ -200,10 +205,10 @@ $(BUILD_DIR)/%.o: dep :=
endif
$(BUILD_DIR)/%.o: %.c $$(dep)
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(MWCFLAGS) -o $@ $<
$(BUILD_DIR)/%.o: %.s $$(dep)
- $(AS) $(ASFLAGS) $< -o $@
+ $(AS) $(MWASFLAGS) $< -o $@
arm9: filesystem
$(MAKE) -C arm9 $(MAKE_VARS)
@@ -224,7 +229,7 @@ else
endif
# Make sure build directory exists before compiling anything
-DUMMY != mkdir -p $(ALL_DIRS)
+DUMMY := $(shell mkdir -p $(ALL_DIRS))
%.4bpp: %.png
$(GFX) $< $@
@@ -257,12 +262,15 @@ $(CLOBBER_SIZE_VERSION101_NCGR_FILES): GFX_FLAGS = -clobbersize -version101
$(VERSION101_SOPC_8BPP_NCGR_FILES): GFX_FLAGS = -version101 -sopc -bitdepth 8
$(VERSION101_SOPC_NCGR_FILES): GFX_FLAGS = -version101 -sopc
$(SCANNED_NCGR_FILES): GFX_FLAGS = -scanned
+$(NOBYTEORDER_NCGR_FILES): GFX_FLAGS = -nobyteorder
+$(NOBYTEORDER_WRONGSIZE_NCGR_FILES): GFX_FLAGS = -nobyteorder -wrongsize
$(IR_NCLR_FILES): GFX_FLAGS = -ir
$(4BPP_NCLR_FILES): GFX_FLAGS = -bitdepth 4
$(8BPP_NSCR_FILES): GFX_FLAGS = -bitdepth 8
$(8BPP_COMP10_NOPAD_NCLR_PNG_FILES): GFX_FLAGS = -bitdepth 8 -nopad -comp 10
$(8BPP_COMP10_NOPAD_NCLR_PAL_FILES): GFX_FLAGS = -bitdepth 8 -nopad -comp 10
+$(NCPR_NCLR_FILES): GFX_FLAGS = -ncpr
%.NCGR: %.png
$(GFX) $< $@ $(GFX_FLAGS)
@@ -297,7 +305,8 @@ print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true
### Other targets
-diamond: ; @$(HOST_VARS) $(MAKE) GAME_VERSION=DIAMOND
-pearl: ; @$(HOST_VARS) $(MAKE) GAME_VERSION=PEARL
-compare_diamond: ; @$(HOST_VARS) $(MAKE) GAME_VERSION=DIAMOND COMPARE=1
-compare_pearl: ; @$(HOST_VARS) $(MAKE) GAME_VERSION=PEARL COMPARE=1
+diamond: ; @$(MAKE) GAME_VERSION=DIAMOND
+pearl: ; @$(MAKE) GAME_VERSION=PEARL
+compare_diamond: ; @$(MAKE) GAME_VERSION=DIAMOND COMPARE=1
+compare_pearl: ; @$(MAKE) GAME_VERSION=PEARL COMPARE=1
+compare: compare_diamond
diff --git a/arm7/Makefile b/arm7/Makefile
index 67a07f26..0197c490 100644
--- a/arm7/Makefile
+++ b/arm7/Makefile
@@ -3,12 +3,19 @@
.PHONY: clean tidy all default patch_mwasmarm
# Try to include devkitarm if installed
+ifdef DEVKITARM
TOOLCHAIN := $(DEVKITARM)
+endif
-ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
-include $(TOOLCHAIN)/base_tools
+ifdef TOOLCHAIN
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
endif
+PREFIX := arm-none-eabi-
+
+OBJCOPY := $(PREFIX)objcopy
+AR := $(PREFIX)ar
+
### Default target ###
default: all
@@ -89,9 +96,9 @@ OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm7_thumb.s -o arm7.o
-ASFLAGS = -proc arm4t -i ..
-CFLAGS = -O4,s -proc arm7tdmi -fp soft -lang c99 -Cpp_exceptions off -i ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all
-LDFLAGS = -map -nodead -w off -proc v4t -interworking -map -symtab -m _start
+MWASFLAGS = -proc arm4t -i ..
+MWCFLAGS = -O4,s -proc arm7tdmi -fp soft -lang c99 -Cpp_exceptions off -i ../include -ir ../include-mw -ir lib/include -interworking -DFS_IMPLEMENT -enum int -W all
+MWLDFLAGS = -map -nodead -w off -proc v4t -interworking -map -symtab -m _start
####################### Other Tools #########################
@@ -107,21 +114,24 @@ GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx
SCANINC = $(TOOLS_DIR)/scaninc/scaninc$(EXE)
MWASMARM_PATCHER = $(TOOLS_DIR)/mwasmarm_patcher/mwasmarm_patcher$(EXE) -q
-TOOLDIRS = $(filter-out $(TOOLS_DIR)/asm_processor $(TOOLS_DIR)/mwccarm $(TOOLS_DIR)/bin,$(wildcard $(TOOLS_DIR)/*))
+TOOLDIRS = $(dir $(wildcard $(TOOLS_DIR)/*/Makefile))
TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),$(TOOLS_DIR)/$(tool)/$(tool)$(EXE))
+TOOLS: tools
+
export LM_LICENSE_FILE := $(TOOLS_DIR)/mwccarm/license.dat
export MWCIncludes := lib/include
######################### Targets ###########################
+######################## Targets ###########################
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,$(MAKECMDGOALS)))
-$(call infoshell, $(MAKE) tools patch_mwasmarm)
+$(call infoshell,$(MAKE) tools patch_mwasmarm)
else
NODEP := 1
endif
@@ -131,6 +141,8 @@ endif
MAKEFLAGS += --no-print-directory
+all: tools patch_mwasmarm
+
all: $(ROM)
ifeq ($(COMPARE),1)
@$(SHA1SUM) -c $(TARGET).sha1
@@ -171,21 +183,21 @@ $(BUILD_DIR)/%.o: dep :=
endif
$(C_OBJS): $(BUILD_DIR)/%.o: %.c $$(dep)
- $(CC) -c $(CFLAGS) -o $@ $<
+ $(CC) -c $(MWCFLAGS) -o $@ $<
$(S_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep)
- $(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(MWASFLAGS) -o $@ $<
$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(LD_TEMPLATE)
$(MAKELSF) $< $(LD_TEMPLATE) $@
$(ROM): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BIN_FILES)
echo "$(O_FILES) $(BIN_FILES)" > $(ELF).objlist
- $(LD) $(LDFLAGS) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) @$(ELF).objlist
+ $(LD) $(MWLDFLAGS) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) @$(ELF).objlist
$(OBJCOPY) --update-section arm7=$@ -j arm7 $(foreach ov,$(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
# Make sure build directory exists before compiling anything
-DUMMY != mkdir -p $(ALL_DIRS)
+DUMMY := $(shell mkdir -p $(ALL_DIRS))
%.4bpp: %.png
$(GFX) $< $@
diff --git a/arm9/Makefile b/arm9/Makefile
index b98cd0fa..58f1c35c 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -5,12 +5,19 @@ include ../config.mk
.PHONY: clean tidy all default patch_mwasmarm
# Try to include devkitarm if installed
+ifdef DEVKITARM
TOOLCHAIN := $(DEVKITARM)
+endif
-ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
-include $(TOOLCHAIN)/base_tools
+ifdef TOOLCHAIN
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
endif
+PREFIX := arm-none-eabi-
+
+OBJCOPY := $(PREFIX)objcopy
+AR := $(PREFIX)ar
+
### Default target ###
default: all
@@ -109,10 +116,10 @@ ASM_PROCESSOR_DIR := ../tools/asm_processor
ASM_PROCESSOR := $(ASM_PROCESSOR_DIR)/compile.sh
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
-ASFLAGS = -proc arm5te -i ../include -i .. -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
-CFLAGS = -O4,p -gccext,on -proc arm946e -ipa file -fp soft -lang c99 -Cpp_exceptions off $(foreach dir,$(INCLUDE_DIRS),-i $(dir)) $(foreach dir,$(INCLUDE_RECURSIVE_DIRS),-ir $(dir)) -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
-CXXFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off $(foreach dir,$(INCLUDE_DIRS),-i $(dir)) $(foreach dir,$(INCLUDE_RECURSIVE_DIRS),-ir $(dir)) -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
-LDFLAGS = -nodead -w off -proc v5te -interworking -map closure,unused -symtab sort -m _start
+MWASFLAGS = -proc arm5te -i ../include -i .. -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
+MWCFLAGS = -O4,p -gccext,on -proc arm946e -ipa file -fp soft -lang c99 -Cpp_exceptions off $(foreach dir,$(INCLUDE_DIRS),-i $(dir)) $(foreach dir,$(INCLUDE_RECURSIVE_DIRS),-ir $(dir)) -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
+MWCXXFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off $(foreach dir,$(INCLUDE_DIRS),-i $(dir)) $(foreach dir,$(INCLUDE_RECURSIVE_DIRS),-ir $(dir)) -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
+MWLDFLAGS = -w off -proc v5te -interworking -map closure,unused -symtab sort -m _start
LIBS := -Llib -lsyscall
ARFLAGS = rcS
STATIC_LIBS := $(addprefix $(BUILD_DIR)/lib/,libsyscall.a)
@@ -135,22 +142,25 @@ GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx$(EXE)
SCANINC = $(TOOLS_DIR)/scaninc/scaninc$(EXE)
MWASMARM_PATCHER = $(TOOLS_DIR)/mwasmarm_patcher/mwasmarm_patcher$(EXE) -q
-TOOLDIRS = $(filter-out $(TOOLS_DIR)/asm_processor $(TOOLS_DIR)/mwccarm $(TOOLS_DIR)/bin,$(wildcard $(TOOLS_DIR)/*))
+TOOLDIRS = $(dir $(wildcard $(TOOLS_DIR)/*/Makefile))
TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),$(TOOLS_DIR)/$(tool)/$(tool)$(EXE))
+TOOLS: tools
+
export LM_LICENSE_FILE := $(TOOLS_DIR)/mwccarm/license.dat
export MWCIncludes := $(CURDIR)/lib/libc/include $(CURDIR)/lib/NitroSDK/include $(CURDIR)/lib/libnns/include
export MWLibraries := $(CURDIR)/lib
######################### Targets ###########################
+######################## Targets ###########################
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,$(MAKECMDGOALS)))
-$(call infoshell, $(MAKE) tools patch_mwasmarm)
+$(call infoshell,$(MAKE) tools patch_mwasmarm)
else
NODEP := 1
endif
@@ -160,6 +170,8 @@ endif
MAKEFLAGS += --no-print-directory
+all: tools patch_mwasmarm
+
all: $(ROM)
ifeq ($(COMPARE),1)
@$(SHA1SUM) -c $(BUILD_TARGET).sha1
@@ -192,13 +204,10 @@ ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(LIB
# TODO: Move out to lib/Makefile
$(BUILD_DIR)/lib/%.o: MWCCVERSION = 1.2/sp2p3
-$(BUILD_DIR)/lib/%.o: CFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -interworking -DFS_IMPLEMENT -enum int -W all -i ../include -ir ../include-mw -ir lib/libc/include -ir lib/libnns/include -ir lib/NitroSDK/include
+$(BUILD_DIR)/lib/%.o: MWCFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -interworking -DFS_IMPLEMENT -enum int -W all -i ../include -ir ../include-mw -ir lib/libc/include -ir lib/libnns/include -ir lib/NitroSDK/include
$(BUILD_DIR)/lib/libnns/%.o: MWCCVERSION = 1.2/sp3
-# FIXME: Using -ipa file breaks .rodata alignment
-$(BUILD_DIR)/src/math_util.o: CFLAGS = -O4,p -gccext,on -proc arm946e -fp soft -lang c99 -Cpp_exceptions off $(foreach dir,$(INCLUDE_DIRS),-i $(dir)) $(foreach dir,$(INCLUDE_RECURSIVE_DIRS),-ir $(dir)) -interworking -DFS_IMPLEMENT -enum int -W all -D$(GAME_VERSION) -D$(GAME_LANGUAGE)
-
####################### Everything Else ######################
ifeq (,$(NODEP))
@@ -208,24 +217,28 @@ $(BUILD_DIR)/%.o: dep :=
endif
# Cpp asm processor is not supported at this time.
-$(GLOBAL_ASM_O_FILES): BUILD_C := $(ASM_PROCESSOR) "$(CC) $(CFLAGS)" "$(AS) $(ASFLAGS)"
-BUILD_C ?= $(CC) -c $(CFLAGS) -o
+$(GLOBAL_ASM_O_FILES): BUILD_C := $(ASM_PROCESSOR) "$(CC) $(MWCFLAGS)" "$(AS) $(MWASFLAGS)"
+BUILD_C ?= $(CC) -c $(MWCFLAGS) -o
$(C_OBJS): $(BUILD_DIR)/%.o: %.c $$(dep)
$(BUILD_C) $@ $<
$(CXX_OBJS): $(BUILD_DIR)/%.o: %.cpp $$(dep)
- $(CXX) -c $(CXXFLAGS) -o $@ $<
+ $(CXX) -c $(MWCXXFLAGS) -o $@ $<
$(S_OBJS) $(LIBS_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep)
- $(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(MWASFLAGS) -o $@ $<
+
+# Bugfix note: zsh doesn't like escapes
+$(BUILD_DIR)/$(LD_TEMPLATE): $(BUILD_DIR)/%: %
+ (printf "KEEP_SECTION\n{\n\t.exceptix\n}\n"; cat $<) > $@
-$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(LD_TEMPLATE)
+$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(BUILD_DIR)/$(LD_TEMPLATE)
$(MAKELCF) $(MAKELCF_FLAGS) $^ $@
$(ROM): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(STATIC_LIBS)
echo "$(O_FILES:$(BUILD_DIR)/%=%)" > $(ELF).objlist
- cd $(BUILD_DIR) && LM_LICENSE_FILE=../../$(LM_LICENSE_FILE) $(WINE) ../../$(MWLDARM) $(LDFLAGS) $(LIBS) -o ../../$(ELF) $(LD_SCRIPT) @../../$(ELF).objlist
+ cd $(BUILD_DIR) && LM_LICENSE_FILE=../../$(LM_LICENSE_FILE) $(WINE) ../../$(MWLDARM) $(MWLDFLAGS) $(LIBS) -o ../../$(ELF) $(LD_SCRIPT) @../../$(ELF).objlist
$(OBJCOPY) $(foreach ov,arm9 $(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null
ifeq ($(SHIFTED),0)
@@ -237,7 +250,7 @@ $(BUILD_DIR)/lib/libsyscall.a: $(SYSCALL_OBJS)
$(AR) $(ARFLAGS) -o $@ $^
# Make sure build directory exists before compiling anything
-DUMMY != mkdir -p $(ALL_DIRS)
+DUMMY := $(shell mkdir -p $(ALL_DIRS))
%.4bpp: %.png
$(GFX) $< $@
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 78e3e725..f2988147 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -32,6 +32,7 @@ Static arm9
Object unk_0200BB14.o
Object unk_0200CA44.o
Object render_window.o
+ Object unk_0200E1D0_s.o
Object unk_0200E1D0.o
Object unk_0200E850.o
Object unk_0201137C.o
@@ -50,7 +51,7 @@ Static arm9
Object unk_02014BF4.o
Object unk_02015CC0.o
Object rs_migrate_string.o
- Object unk_02015E30.o
+ Object play_timer.o
Object game_init.o
Object heap.o
Object bg_window.o
diff --git a/arm9/asm/MSL_ARM_abort_exit.s b/arm9/asm/MSL_ARM_abort_exit.s
index 2fb7796f..1128f4e8 100644
--- a/arm9/asm/MSL_ARM_abort_exit.s
+++ b/arm9/asm/MSL_ARM_abort_exit.s
@@ -155,14 +155,6 @@ _020DE2DC: .word __console_exit
_020DE2E0: .word __atexit_funcs
arm_func_end __exit
- .section .exceptix,4
-
- .word abort
- .short 37
- .word 0x00100000
- .word exit
- .short 77
- .word 0x00100100
- .word __exit
- .short 297
- .word 0x00200300
+ exception abort, 37, 0x00100000
+ exception exit, 77, 0x00100100
+ exception __exit, 297, 0x00200300
diff --git a/arm9/asm/MSL_ARM_math.s b/arm9/asm/MSL_ARM_math.s
index cb9bb034..6fad26bb 100644
--- a/arm9/asm/MSL_ARM_math.s
+++ b/arm9/asm/MSL_ARM_math.s
@@ -14,8 +14,4 @@ _020DE2F4: .word __float_nan
_020DE2F8: .word _f2d
arm_func_end nan
- .section .exceptix,4
-
- .word nan
- .short 25
- .word 0x00000000
+ exception nan, 25, 0x00000000
diff --git a/arm9/asm/MSL_Common_ansi_files.s b/arm9/asm/MSL_Common_ansi_files.s
index 70fdc293..a2e75c22 100644
--- a/arm9/asm/MSL_Common_ansi_files.s
+++ b/arm9/asm/MSL_Common_ansi_files.s
@@ -141,11 +141,5 @@ _020DE3DC:
_020DE3EC: .word __files
arm_func_end __flush_all
- .section .exceptix,4
-
- .word __flush_line_buffered_output_files
- .short 141
- .word 0x00403F00
- .word __flush_all
- .short 105
- .word 0x00403F00
+ exception __flush_line_buffered_output_files, 141, 0x00403F00
+ exception __flush_all, 105, 0x00403F00
diff --git a/arm9/asm/MSL_Common_assert.s b/arm9/asm/MSL_Common_assert.s
index ded4056d..db655417 100644
--- a/arm9/asm/MSL_Common_assert.s
+++ b/arm9/asm/MSL_Common_assert.s
@@ -30,8 +30,4 @@ __msl_assertion_failed: ; 0x020DE3FC
_020DE434: .word __local_str__msl_assertion_failed
arm_func_end __msl_assertion_failed
- .section .exceptix,4
-
- .word __msl_assertion_failed
- .short 61
- .word 0x00200100
+ exception __msl_assertion_failed, 61, 0x00200100
diff --git a/arm9/asm/MSL_Common_buffer_io.s b/arm9/asm/MSL_Common_buffer_io.s
index 7dbbcc45..a3791f4d 100644
--- a/arm9/asm/MSL_Common_buffer_io.s
+++ b/arm9/asm/MSL_Common_buffer_io.s
@@ -109,11 +109,5 @@ _020DE574:
ldmia sp!, {r3-r5,pc}
arm_func_end __flush_buffer
- .section .exceptix,4
-
- .word __load_buffer
- .short 141
- .word 0x00200700
- .word __flush_buffer
- .short 137
- .word 0x00200300
+ exception __load_buffer, 141, 0x00200700
+ exception __flush_buffer, 137, 0x00200300
diff --git a/arm9/asm/MSL_Common_direct_io.s b/arm9/asm/MSL_Common_direct_io.s
index d71f0bc4..8a493303 100644
--- a/arm9/asm/MSL_Common_direct_io.s
+++ b/arm9/asm/MSL_Common_direct_io.s
@@ -500,14 +500,6 @@ _020DEC5C:
ldmia sp!, {r3-r11,pc}
arm_func_end __fwrite
- .section .exceptix,4
-
- .word fread
- .short 269
- .word 0x00407F00
- .word __fread
- .short 841
- .word 0x00507F00
- .word __fwrite
- .short 689
- .word 0x0060FF00 \ No newline at end of file
+ exception fread, 269, 0x00407F00
+ exception __fread, 841, 0x00507F00
+ exception __fwrite, 689, 0x0060FF00
diff --git a/arm9/asm/MSL_Common_file_io.s b/arm9/asm/MSL_Common_file_io.s
index f8a76bba..dfc9db53 100644
--- a/arm9/asm/MSL_Common_file_io.s
+++ b/arm9/asm/MSL_Common_file_io.s
@@ -103,11 +103,5 @@ _020DEDCC:
ldmia sp!, {r4,pc}
arm_func_end fflush
- .section .exceptix,4
-
- .word fclose
- .short 117
- .word 0x00200300
- .word fflush
- .short 233
- .word 0x00100100
+ exception fclose, 117, 0x00200300
+ exception fflush, 233, 0x00100100
diff --git a/arm9/asm/MSL_Common_file_pos.s b/arm9/asm/MSL_Common_file_pos.s
index f5a122aa..d416f9ad 100644
--- a/arm9/asm/MSL_Common_file_pos.s
+++ b/arm9/asm/MSL_Common_file_pos.s
@@ -356,17 +356,7 @@ rewind: ; 0x020DF290
ldmia sp!, {r4,pc}
arm_func_end rewind
- .section .exceptix,4
-
- .word ftell
- .short 285
- .word 0x00300F00
- .word _fseek
- .short 489
- .word 0x00400320
- .word fseek
- .short 301
- .word 0x00403F00
- .word rewind
- .short 37
- .word 0x00100100
+ exception ftell, 285, 0x00300F00
+ exception _fseek, 489, 0x00400320
+ exception fseek, 301, 0x00403F00
+ exception rewind, 37, 0x00100100
diff --git a/arm9/asm/MSL_Common_mbstring.s b/arm9/asm/MSL_Common_mbstring.s
index e7bf6947..b22396f5 100644
--- a/arm9/asm/MSL_Common_mbstring.s
+++ b/arm9/asm/MSL_Common_mbstring.s
@@ -231,17 +231,7 @@ _020DF430:
ldmia sp!, {r3-r9,pc}
arm_func_end wcstombs
- .section .exceptix,4
-
- .word mbtowc
- .short 29
- .word 0x00100000
- .word wctomb
- .short 29
- .word 0x00100000
- .word mbstowcs
- .short 137
- .word 0x00301F00
- .word wcstombs
- .short 121
- .word 0x00403F00
+ exception mbtowc, 29, 0x00100000
+ exception wctomb, 29, 0x00100000
+ exception mbstowcs, 137, 0x00301F00
+ exception wcstombs, 121, 0x00403F00
diff --git a/arm9/asm/MSL_Common_mem.s b/arm9/asm/MSL_Common_mem.s
index d6449dde..dfb7fd07 100644
--- a/arm9/asm/MSL_Common_mem.s
+++ b/arm9/asm/MSL_Common_mem.s
@@ -108,8 +108,4 @@ _020DF548:
bx lr
arm_func_end memcmp
- .section .exceptix,4
-
- .word memset
- .short 21
- .word 0x00100100
+ exception memset, 21, 0x00100100
diff --git a/arm9/asm/MSL_Common_printf.s b/arm9/asm/MSL_Common_printf.s
index b9879afe..1dfef8fd 100644
--- a/arm9/asm/MSL_Common_printf.s
+++ b/arm9/asm/MSL_Common_printf.s
@@ -2564,41 +2564,17 @@ sprintf: ; 0x020E185C
bx lr
arm_func_end sprintf
- .section .exceptix,4
-
- .word long2str
- .short 589
- .word 0x0090FF20
- .word longlong2str
- .short 737
- .word 0x00A0FF20
- .word double2hex
- .short 1245
- .word 0x00F07F20
- .word float2str
- .short 1893
- .word 0x00C0FF20
- .word __pformatter
- .short 2084
- .word UNK_020EC710
- .word __FileWrite
- .short 45
- .word 0x00200300
- .word __StringWrite
- .short 69
- .word 0x00200300
- .word printf
- .short 281
- .word 0x00300120
- .word vsnprintf
- .short 105
- .word 0x00300300
- .word snprintf
- .short 41
- .word 0x00300020
- .word sprintf
- .short 45
- .word 0x00300020
+ exception long2str, 589, 0x0090FF20
+ exception longlong2str, 737, 0x00A0FF20
+ exception double2hex, 1245, 0x00F07F20
+ exception float2str, 1893, 0x00C0FF20
+ exception __pformatter, 2084, UNK_020EC710
+ exception __FileWrite, 45, 0x00200300
+ exception __StringWrite, 69, 0x00200300
+ exception printf, 281, 0x00300120
+ exception vsnprintf, 105, 0x00300300
+ exception snprintf, 41, 0x00300020
+ exception sprintf, 45, 0x00300020
.section .exception,8
diff --git a/arm9/asm/MSL_Common_qsort.s b/arm9/asm/MSL_Common_qsort.s
index edfc142b..1e07aab6 100644
--- a/arm9/asm/MSL_Common_qsort.s
+++ b/arm9/asm/MSL_Common_qsort.s
@@ -105,8 +105,4 @@ _020E19D8:
ldmia sp!, {r3-r11,pc}
arm_func_end qsort
- .section .exceptix,4
-
- .word qsort
- .short 357
- .word 0x0070FF00
+ exception qsort, 357, 0x0070FF00
diff --git a/arm9/asm/MSL_Common_scanf.s b/arm9/asm/MSL_Common_scanf.s
index 8d9a8fe3..eb3fbb9a 100644
--- a/arm9/asm/MSL_Common_scanf.s
+++ b/arm9/asm/MSL_Common_scanf.s
@@ -1447,17 +1447,9 @@ sscanf: ; 0x020E2D54
bx lr
arm_func_end sscanf
- .section .exceptix,4
-
- .word __sformatter
- .short 3412
- .word UNK_020EC718
- .word vsscanf
- .short 85
- .word 0x00200000
- .word sscanf
- .short 41
- .word 0x00300020
+ exception __sformatter, 3412, UNK_020EC718
+ exception vsscanf, 85, 0x00200000
+ exception sscanf, 41, 0x00300020
.section .exception,8
diff --git a/arm9/asm/MSL_Common_signal.s b/arm9/asm/MSL_Common_signal.s
index 8fd03917..3a68bbac 100644
--- a/arm9/asm/MSL_Common_signal.s
+++ b/arm9/asm/MSL_Common_signal.s
@@ -100,8 +100,4 @@ _020E2EA4: .word __cs_ref
_020E2EA8: .word signal_funcs
arm_func_end raise
- .section .exceptix,4
-
- .word raise
- .short 305
- .word 0x00200300
+ exception raise, 305, 0x00200300
diff --git a/arm9/asm/MSL_Common_strtold.s b/arm9/asm/MSL_Common_strtold.s
index 424c3a19..2cb0918b 100644
--- a/arm9/asm/MSL_Common_strtold.s
+++ b/arm9/asm/MSL_Common_strtold.s
@@ -1417,17 +1417,9 @@ atod: ; 0x020E463C
_020E4648: .word strtold
arm_func_end atod
- .section .exceptix,4
-
- .word __strtold
- .short 4684
- .word UNK_020EC720
- .word strtold
- .short 225
- .word 0x00500F00
- .word atod
- .short 17
- .word 0x00000000
+ exception __strtold, 4684, UNK_020EC720
+ exception strtold, 225, 0x00500F00
+ exception atod, 17, 0x00000000
.section .exception,8
diff --git a/arm9/asm/MSL_Common_strtoul.s b/arm9/asm/MSL_Common_strtoul.s
index ab4a1bbf..c49a7468 100644
--- a/arm9/asm/MSL_Common_strtoul.s
+++ b/arm9/asm/MSL_Common_strtoul.s
@@ -724,20 +724,8 @@ atol: ; 0x020E4FE0
_020E4FF0: .word strtol
arm_func_end atol
- .section .exceptix,4
-
- .word __strtoul
- .short 1001
- .word 0x0060FF00
- .word __strtoull
- .short 1101
- .word 0x0080FF00
- .word strtoul
- .short 153
- .word 0x00600300
- .word strtol
- .short 201
- .word 0x00600300
- .word atol
- .short 21
- .word 0x00000000
+ exception __strtoul, 1001, 0x0060FF00
+ exception __strtoull, 1101, 0x0080FF00
+ exception strtoul, 153, 0x00600300
+ exception strtol, 201, 0x00600300
+ exception atol, 21, 0x00000000
diff --git a/arm9/asm/MSL_Common_wmem.s b/arm9/asm/MSL_Common_wmem.s
index 7c02c344..b09b5b66 100644
--- a/arm9/asm/MSL_Common_wmem.s
+++ b/arm9/asm/MSL_Common_wmem.s
@@ -28,8 +28,4 @@ _020E5098:
bx lr
arm_func_end wmemchr
- .section .exceptix,4
-
- .word wmemcpy
- .short 17
- .word 0x00000000
+ exception wmemcpy, 17, 0x00000000
diff --git a/arm9/asm/MSL_Common_wprintf.s b/arm9/asm/MSL_Common_wprintf.s
index 95d115e6..3c99e921 100644
--- a/arm9/asm/MSL_Common_wprintf.s
+++ b/arm9/asm/MSL_Common_wprintf.s
@@ -2327,32 +2327,14 @@ _020E7000:
_020E7018: .word __wStringWrite
arm_func_end vswprintf
- .section .exceptix,4
-
- .word long2str__wide
- .short 593
- .word 0x0090FF20
- .word longlong2str__wide
- .short 741
- .word 0x00A0FF20
- .word double2hex__wide
- .short 921
- .word 0x00F07F20
- .word float2str__wide
- .short 1612
- .word UNK_020EC728
- .word __wpformatter
- .short 2288
- .word UNK_020EC730
- .word __wStringWrite
- .short 65
- .word 0x00200300
- .word swprintf
- .short 41
- .word 0x00300020
- .word vswprintf
- .short 113
- .word 0x00300300
+ exception long2str__wide, 593, 0x0090FF20
+ exception longlong2str__wide, 741, 0x00A0FF20
+ exception double2hex__wide, 921, 0x00F07F20
+ exception float2str__wide, 1612, UNK_020EC728
+ exception __wpformatter, 2288, UNK_020EC730
+ exception __wStringWrite, 65, 0x00200300
+ exception swprintf, 41, 0x00300020
+ exception vswprintf, 113, 0x00300300
.section .exception,8
diff --git a/arm9/asm/MSL_DPMath_e_pow.s b/arm9/asm/MSL_DPMath_e_pow.s
index fedcbb10..132716e6 100644
--- a/arm9/asm/MSL_DPMath_e_pow.s
+++ b/arm9/asm/MSL_DPMath_e_pow.s
@@ -1180,10 +1180,7 @@ _020E81F0:
bx lr
arm_func_end __ieee754_pow
- .section .exceptix,4
- .word __ieee754_pow
- .short 4488
- .word UNK_020EC738
+ exception __ieee754_pow, 4488, UNK_020EC738
.section .exception,8
diff --git a/arm9/asm/MSL_DPMath_s_frexp.s b/arm9/asm/MSL_DPMath_s_frexp.s
index b0c22aac..b07ce1d6 100644
--- a/arm9/asm/MSL_DPMath_s_frexp.s
+++ b/arm9/asm/MSL_DPMath_s_frexp.s
@@ -58,8 +58,4 @@ _020E8310: .word 0x800FFFFF
_020E8314: .word 0xFFFFFC02
arm_func_end frexp
- .section .exceptix,4
-
- .word frexp
- .short 189
- .word 0x00300120
+ exception frexp, 189, 0x00300120
diff --git a/arm9/asm/MSL_DPMath_s_ldexp.s b/arm9/asm/MSL_DPMath_s_ldexp.s
index fc3a4713..131fe52f 100644
--- a/arm9/asm/MSL_DPMath_s_ldexp.s
+++ b/arm9/asm/MSL_DPMath_s_ldexp.s
@@ -163,8 +163,4 @@ _020E855C: .word 0x0000C350
_020E8560: .word 0x3C900000
arm_func_end ldexp
- .section .exceptix,4
-
- .word ldexp
- .short 589
- .word 0x00300120
+ exception ldexp, 589, 0x00300120
diff --git a/arm9/asm/MSL_DPMath_w_pow.s b/arm9/asm/MSL_DPMath_w_pow.s
index 8a6625ad..c0f6346b 100644
--- a/arm9/asm/MSL_DPMath_w_pow.s
+++ b/arm9/asm/MSL_DPMath_w_pow.s
@@ -11,8 +11,4 @@ pow: ; 0x020E8564
_020E856C: .word __ieee754_pow
arm_func_end pow
- .section .exceptix,4
-
- .word pow
- .short 13
- .word 0x00000000
+ exception pow, 13, 0x00000000
diff --git a/arm9/asm/MSL_fp_ansi.s b/arm9/asm/MSL_fp_ansi.s
index b10a364e..734e3090 100644
--- a/arm9/asm/MSL_fp_ansi.s
+++ b/arm9/asm/MSL_fp_ansi.s
@@ -1599,29 +1599,11 @@ UNK_020EC740: ; 0x020EC740
.byte 0x00, 0xFF, 0x05, 0x20
.balign 8
- .section .exceptix,4
-
- .word __rounddec
- .short 65
- .word 0x00200300
- .word __ull2dec
- .short 205
- .word 0x0050FF00
- .word __timesdec
- .short 389
- .word 0x00D0FF00
- .word __str2dec
- .short 157
- .word 0x00100000
- .word __two_exp
- .short 901
- .word 0x00B00300
- .word __num2dec_internal
- .short 385
- .word 0x00E01F00
- .word __num2dec_internal2
- .short 169
- .word 0x00200300
- .word __dec2num
- .short 1572
- .word UNK_020EC740
+ exception __rounddec, 65, 0x00200300
+ exception __ull2dec, 205, 0x0050FF00
+ exception __timesdec, 389, 0x00D0FF00
+ exception __str2dec, 157, 0x00100000
+ exception __two_exp, 901, 0x00B00300
+ exception __num2dec_internal, 385, 0x00E01F00
+ exception __num2dec_internal2, 169, 0x00200300
+ exception __dec2num, 1572, UNK_020EC740
diff --git a/arm9/asm/MSL_math.s b/arm9/asm/MSL_math.s
index 260034e5..1278b024 100644
--- a/arm9/asm/MSL_math.s
+++ b/arm9/asm/MSL_math.s
@@ -104,7 +104,4 @@ scalbn: ; 0x020E9AA4
ldmia sp!, {r3-r4,pc}
arm_func_end scalbn
- .section .exceptix,4
- .word scalbn
- .short 45
- .word 0x00200100
+ exception scalbn, 45, 0x00200100
diff --git a/arm9/asm/RUNTIME_ARM_semihosted_console_io.s b/arm9/asm/RUNTIME_ARM_semihosted_console_io.s
index 7bd44bdb..b36cee70 100644
--- a/arm9/asm/RUNTIME_ARM_semihosted_console_io.s
+++ b/arm9/asm/RUNTIME_ARM_semihosted_console_io.s
@@ -74,11 +74,5 @@ __close_console: ; 0x020EC68C
mov r0, #0x0
bx lr
- .section .exceptix,4
-
- .word __read_console
- .short 81
- .word 0x00300F00
- .word __write_console
- .short 53
- .word 0x00200700 \ No newline at end of file
+ exception __read_console, 81, 0x00300F00
+ exception __write_console, 53, 0x00200700
diff --git a/arm9/asm/RUNTIME_CPLUS_StaticInitializers.s b/arm9/asm/RUNTIME_CPLUS_StaticInitializers.s
index c1446521..1c0caeb8 100644
--- a/arm9/asm/RUNTIME_CPLUS_StaticInitializers.s
+++ b/arm9/asm/RUNTIME_CPLUS_StaticInitializers.s
@@ -50,11 +50,5 @@ _020EC6D8:
.balign 4
_020EC700: .word __global_destructor_chain
- .section .exceptix,4
-
- .word __call_static_initializers
- .short 45
- .word 0x00100100
- .word __destroy_global_chain
- .short 69
- .word 0x00200300
+ exception __call_static_initializers, 45, 0x00100100
+ exception __destroy_global_chain, 69, 0x00200300
diff --git a/arm9/asm/RUNTIME_NITRO_eabi_init.s b/arm9/asm/RUNTIME_NITRO_eabi_init.s
index 1bd26818..716c8bb1 100644
--- a/arm9/asm/RUNTIME_NITRO_eabi_init.s
+++ b/arm9/asm/RUNTIME_NITRO_eabi_init.s
@@ -10,8 +10,4 @@ _ExitProcess: ; 0x020EC704
.balign 4
_020EC70C: .word sys_exit
- .section .exceptix,4
-
- .word _ExitProcess
- .short 13
- .word 0x00000000
+ exception _ExitProcess, 13, 0x00000000
diff --git a/arm9/asm/macros.inc b/arm9/asm/macros.inc
index 156b2b09..f8cf61e4 100644
--- a/arm9/asm/macros.inc
+++ b/arm9/asm/macros.inc
@@ -1 +1,2 @@
.include "asm/macros/function.inc"
+ .include "asm/macros/cw.inc"
diff --git a/arm9/asm/macros/cw.inc b/arm9/asm/macros/cw.inc
new file mode 100644
index 00000000..14841f11
--- /dev/null
+++ b/arm9/asm/macros/cw.inc
@@ -0,0 +1,12 @@
+ .macro exception what, size, data
+ .section .exceptix,4,1,2
+ .balign 4, 0
+ .type ?exc$\what, @object
+ .global ?exc$\what
+ .size ?exc$\what, 12
+?exc$\what:
+ .word \what
+ .short \size
+ .word \data
+ .previous
+ .endm
diff --git a/arm9/asm/macros/function.inc b/arm9/asm/macros/function.inc
index 3323f53e..9c3e5eb5 100644
--- a/arm9/asm/macros/function.inc
+++ b/arm9/asm/macros/function.inc
@@ -1,10 +1,12 @@
.macro arm_func_start name
+ .type \name,@function
.balign 4, 0
.global \name
.arm
.endm
.macro local_arm_func_start name
+ .type \name,@function
.balign 4, 0
.arm
.endm
@@ -14,12 +16,14 @@
.endm
.macro thumb_func_start name
+ .type \name,@function
.balign 4, 0
.global \name
.thumb
.endm
.macro non_word_aligned_thumb_func_start name
+ .type \name,@function
.global \name
.thumb
.endm
diff --git a/arm9/asm/scrcmd_9.s b/arm9/asm/scrcmd_9.s
index c3d8c4ba..211f5afc 100644
--- a/arm9/asm/scrcmd_9.s
+++ b/arm9/asm/scrcmd_9.s
@@ -316,7 +316,7 @@ _020420A8:
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r4, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
@@ -349,7 +349,7 @@ _020420A8:
bl FUN_020421D8
add r0, r4, #0x0
mov r1, #0x3
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_02042106:
mov r0, #0x0
pop {r3-r7, pc}
diff --git a/arm9/asm/scrcmd_asm.s b/arm9/asm/scrcmd_asm.s
index 29106585..231a064d 100644
--- a/arm9/asm/scrcmd_asm.s
+++ b/arm9/asm/scrcmd_asm.s
@@ -6368,9 +6368,9 @@ ScrCmd_Unk01E5: ; 0x0203E4F0
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r1, r4, #0x0
- bl FUN_0202A0E8
+ bl GameStats_Inc
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
@@ -6402,9 +6402,9 @@ ScrCmd_Unk01E6: ; 0x0203E510
add r6, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r1, r7, #0x0
- bl FUN_0202A150
+ bl GameStats_GetCapped
ldr r1, _0203E564 ; =0xFFFF0000
and r1, r0
lsr r1, r1, #0x10
@@ -6444,28 +6444,28 @@ _0203E59C:
add r5, #0x80
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r1, r6, #0x0
add r2, r4, #0x0
- bl FUN_0202A11C
+ bl GameStats_Add
b _0203E5D6
_0203E5B0:
add r5, #0x80
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r1, r6, #0x0
add r2, r4, #0x0
- bl FUN_0202A07C
+ bl GameStats_SetCapped
b _0203E5D6
_0203E5C4:
add r5, #0x80
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r1, r6, #0x0
add r2, r4, #0x0
- bl FUN_0202A0A8
+ bl GameStats_UpdateBounded
_0203E5D6:
mov r0, #0x0
pop {r4-r6, pc}
@@ -7563,9 +7563,9 @@ ScrCmd_Unk0260: ; 0x0203EE78
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r1, r4, #0x0
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
diff --git a/arm9/asm/unk_0200E1D0.s b/arm9/asm/unk_0200E1D0_s.s
index b93e5e74..a84df611 100644
--- a/arm9/asm/unk_0200E1D0.s
+++ b/arm9/asm/unk_0200E1D0_s.s
@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
+ .public UNK_021C46B4
+
.section .rodata
.global UNK_020ECEF4
@@ -48,40 +50,6 @@ UNK_020ECEF4: ; 0x020ECEF4
.word FUN_0200F040
.word FUN_0200F07C
- .section .bss
-
- .global UNK_021C46B4
-UNK_021C46B4: ; 0x021C46B4
- .space 0x4
-
- .global UNK_021C46B8
-UNK_021C46B8: ; 0x021C46B8
- .space 0x4
-
- .global UNK_021C46BC
-UNK_021C46BC: ; 0x021C46BC
- .space 0xc
-
- .global UNK_021C46C8
-UNK_021C46C8: ; 0x021C46C8
- .space 0x30
-
- .global UNK_021C46F8
-UNK_021C46F8: ; 0x021C46F8
- .space 0x30
-
- .global UNK_021C4728
-UNK_021C4728: ; 0x021C4728
- .space 0x18
-
- .global UNK_021C4740
-UNK_021C4740: ; 0x021C4740
- .space 0xb4
-
- .global UNK_021C47F4
-UNK_021C47F4: ; 0x021C47F4
- .space 0x14
-
.text
thumb_func_start FUN_0200E1D0
@@ -102,7 +70,7 @@ _0200E1E6:
bne _0200E1F0
bl GF_AssertFail
_0200E1F0:
- ldr r0, _0200E2AC ; =UNK_021C47F4
+ ldr r0, _0200E2AC ; =UNK_021C46B4 + 0x140
ldrh r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E1FC
@@ -113,7 +81,7 @@ _0200E1FC:
ldr r1, _0200E2B0 ; =UNK_021C46B4
add r0, r5, #0x0
bl FUN_0200E558
- ldr r0, _0200E2B4 ; =UNK_021C4728
+ ldr r0, _0200E2B4 ; =UNK_021C46B4 + 0x74
bl FUN_0200E5F4
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r1, r6, #0x0
@@ -123,16 +91,16 @@ _0200E1FC:
str r0, [sp, #0x0]
str r0, [sp, #0x4]
str r0, [sp, #0x8]
- ldr r0, _0200E2B8 ; =UNK_021C4740
+ ldr r0, _0200E2B8 ; =UNK_021C46B4 + 0x8C
ldr r2, [sp, #0x30]
str r0, [sp, #0xc]
- ldr r0, _0200E2B4 ; =UNK_021C4728
+ ldr r0, _0200E2B4 ; =UNK_021C46B4 + 0x74
ldr r3, [sp, #0x34]
str r0, [sp, #0x10]
ldr r0, [sp, #0x38]
add r1, r4, #0x0
str r0, [sp, #0x14]
- ldr r0, _0200E2BC ; =UNK_021C46C8
+ ldr r0, _0200E2BC ; =UNK_021C46B4 + 0x14
str r5, [sp, #0x18]
bl FUN_0200E5C8
mov r0, #0x0
@@ -140,26 +108,26 @@ _0200E1FC:
str r0, [sp, #0x4]
mov r0, #0x1
str r0, [sp, #0x8]
- ldr r0, _0200E2B8 ; =UNK_021C4740
+ ldr r0, _0200E2B8 ; =UNK_021C46B4 + 0x8C
ldr r2, [sp, #0x30]
str r0, [sp, #0xc]
- ldr r0, _0200E2B4 ; =UNK_021C4728
+ ldr r0, _0200E2B4 ; =UNK_021C46B4 + 0x74
ldr r3, [sp, #0x34]
str r0, [sp, #0x10]
ldr r0, [sp, #0x38]
add r1, r7, #0x0
str r0, [sp, #0x14]
- ldr r0, _0200E2C0 ; =UNK_021C46F8
+ ldr r0, _0200E2C0 ; =UNK_021C46B4 + 0x44
str r5, [sp, #0x18]
bl FUN_0200E5C8
- ldr r0, _0200E2AC ; =UNK_021C47F4
+ ldr r0, _0200E2AC ; =UNK_021C46B4 + 0x140
mov r1, #0x1
strh r1, [r0, #0xc]
- ldr r0, _0200E2C4 ; =UNK_021C46B8
- ldr r1, _0200E2BC ; =UNK_021C46C8
+ ldr r0, _0200E2C4 ; =UNK_021C46B4 + 0x4
+ ldr r1, _0200E2BC ; =UNK_021C46B4 + 0x14
bl FUN_0200E528
- ldr r0, _0200E2C8 ; =UNK_021C46BC
- ldr r1, _0200E2C0 ; =UNK_021C46F8
+ ldr r0, _0200E2C8 ; =UNK_021C46B4 + 0x8
+ ldr r1, _0200E2C0 ; =UNK_021C46B4 + 0x44
bl FUN_0200E528
ldr r0, _0200E2CC ; =UNK_021C46B4
ldr r0, [r0, #0xc]
@@ -188,14 +156,14 @@ _0200E2A6:
add sp, #0x1c
pop {r4-r7, pc}
nop
-_0200E2AC: .word UNK_021C47F4
+_0200E2AC: .word UNK_021C46B4 + 0x140
_0200E2B0: .word UNK_021C46B4
-_0200E2B4: .word UNK_021C4728
-_0200E2B8: .word UNK_021C4740
-_0200E2BC: .word UNK_021C46C8
-_0200E2C0: .word UNK_021C46F8
-_0200E2C4: .word UNK_021C46B8
-_0200E2C8: .word UNK_021C46BC
+_0200E2B4: .word UNK_021C46B4 + 0x74
+_0200E2B8: .word UNK_021C46B4 + 0x8C
+_0200E2BC: .word UNK_021C46B4 + 0x14
+_0200E2C0: .word UNK_021C46B4 + 0x44
+_0200E2C4: .word UNK_021C46B4 + 0x4
+_0200E2C8: .word UNK_021C46B4 + 0x8
_0200E2CC: .word UNK_021C46B4
_0200E2D0: .word 0x0000014E
_0200E2D4: .word 0x0000014F
@@ -203,7 +171,7 @@ _0200E2D4: .word 0x0000014F
thumb_func_start FUN_0200E2D8
FUN_0200E2D8: ; 0x0200E2D8
push {r4, lr}
- ldr r0, _0200E300 ; =UNK_021C47F4
+ ldr r0, _0200E300 ; =UNK_021C46B4 + 0x140
ldr r4, _0200E304 ; =UNK_021C46B4
ldrh r0, [r0, #0xc]
cmp r0, #0x0
@@ -221,12 +189,12 @@ FUN_0200E2D8: ; 0x0200E2D8
_0200E2FC:
pop {r4, pc}
nop
-_0200E300: .word UNK_021C47F4
+_0200E300: .word UNK_021C46B4 + 0x140
_0200E304: .word UNK_021C46B4
thumb_func_start FUN_0200E308
FUN_0200E308: ; 0x0200E308
- ldr r0, _0200E318 ; =UNK_021C47F4
+ ldr r0, _0200E318 ; =UNK_021C46B4 + 0x140
ldrh r0, [r0, #0xc]
cmp r0, #0x0
bne _0200E314
@@ -236,15 +204,15 @@ _0200E314:
mov r0, #0x0
bx lr
.balign 4
-_0200E318: .word UNK_021C47F4
+_0200E318: .word UNK_021C46B4 + 0x140
thumb_func_start FUN_0200E31C
FUN_0200E31C: ; 0x0200E31C
push {r3, lr}
- ldr r0, _0200E368 ; =UNK_021C4728
+ ldr r0, _0200E368 ; =UNK_021C46B4 + 0x74
mov r1, #0x0
bl FUN_0200E6A0
- ldr r0, _0200E368 ; =UNK_021C4728
+ ldr r0, _0200E368 ; =UNK_021C46B4 + 0x74
mov r1, #0x1
bl FUN_0200E6A0
ldr r0, _0200E36C ; =UNK_021C46B4
@@ -261,13 +229,13 @@ _0200E33A:
mov r1, #0x2
str r1, [r0, #0x50]
_0200E346:
- ldr r0, _0200E370 ; =UNK_021C46B8
- ldr r1, _0200E374 ; =UNK_021C46C8
+ ldr r0, _0200E370 ; =UNK_021C46B4 + 0x4
+ ldr r1, _0200E374 ; =UNK_021C46B4 + 0x14
bl FUN_0200E528
- ldr r0, _0200E378 ; =UNK_021C46BC
- ldr r1, _0200E37C ; =UNK_021C46F8
+ ldr r0, _0200E378 ; =UNK_021C46B4 + 0x8
+ ldr r1, _0200E37C ; =UNK_021C46B4 + 0x44
bl FUN_0200E528
- ldr r0, _0200E380 ; =UNK_021C47F4
+ ldr r0, _0200E380 ; =UNK_021C46B4 + 0x140
mov r1, #0x0
strh r1, [r0, #0xc]
strb r1, [r0, #0xe]
@@ -276,13 +244,13 @@ _0200E346:
bl FUN_0200E808
pop {r3, pc}
.balign 4
-_0200E368: .word UNK_021C4728
+_0200E368: .word UNK_021C46B4 + 0x74
_0200E36C: .word UNK_021C46B4
-_0200E370: .word UNK_021C46B8
-_0200E374: .word UNK_021C46C8
-_0200E378: .word UNK_021C46BC
-_0200E37C: .word UNK_021C46F8
-_0200E380: .word UNK_021C47F4
+_0200E370: .word UNK_021C46B4 + 0x4
+_0200E374: .word UNK_021C46B4 + 0x14
+_0200E378: .word UNK_021C46B4 + 0x8
+_0200E37C: .word UNK_021C46B4 + 0x44
+_0200E380: .word UNK_021C46B4 + 0x140
_0200E384: .word UNK_021C46B4
thumb_func_start FUN_0200E388
@@ -336,12 +304,12 @@ _0200E3D2:
mov r2, #0x2
bl GXS_LoadBGPltt
_0200E3DA:
- ldr r0, _0200E41C ; =UNK_021C4740
+ ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
mov r1, #0x1
add r2, r4, #0x0
bl FUN_02011634
mov r2, #0x0
- ldr r0, _0200E41C ; =UNK_021C4740
+ ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
mov r1, #0x3f
add r3, r2, #0x0
str r4, [sp, #0x0]
@@ -349,12 +317,12 @@ _0200E3DA:
mov r1, #0x0
str r1, [sp, #0x0]
str r1, [sp, #0x4]
- ldr r0, _0200E41C ; =UNK_021C4740
+ ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
add r2, r1, #0x0
add r3, r1, #0x0
str r4, [sp, #0x8]
bl FUN_02011698
- ldr r0, _0200E41C ; =UNK_021C4740
+ ldr r0, _0200E41C ; =UNK_021C46B4 + 0x8C
mov r1, #0x20
mov r2, #0x0
add r3, r4, #0x0
@@ -365,7 +333,7 @@ _0200E3DA:
add sp, #0x10
bx r3
nop
-_0200E41C: .word UNK_021C4740
+_0200E41C: .word UNK_021C46B4 + 0x8C
thumb_func_start FUN_0200E420
FUN_0200E420: ; 0x0200E420
@@ -421,7 +389,7 @@ FUN_0200E460: ; 0x0200E460
ldr r0, [r4, #0x3c]
cmp r0, #0x0
bne _0200E490
- ldr r0, _0200E4B4 ; =UNK_021C47F4
+ ldr r0, _0200E4B4 ; =UNK_021C46B4 + 0x140
mov r1, #0x0
strb r1, [r0, #0xe]
_0200E490:
@@ -434,7 +402,7 @@ _0200E490:
ldr r0, [r4, #0x3c]
cmp r0, #0x0
bne _0200E4AA
- ldr r0, _0200E4B4 ; =UNK_021C47F4
+ ldr r0, _0200E4B4 ; =UNK_021C46B4 + 0x140
mov r1, #0x0
strb r1, [r0, #0xf]
_0200E4AA:
@@ -442,7 +410,7 @@ _0200E4AA:
bl FUN_0200E808
pop {r4, pc}
nop
-_0200E4B4: .word UNK_021C47F4
+_0200E4B4: .word UNK_021C46B4 + 0x140
thumb_func_start FUN_0200E4B8
FUN_0200E4B8: ; 0x0200E4B8
diff --git a/arm9/asm/unk_02028980.s b/arm9/asm/unk_02028980.s
index 8299ea95..ca48ecc9 100644
--- a/arm9/asm/unk_02028980.s
+++ b/arm9/asm/unk_02028980.s
@@ -2207,11 +2207,11 @@ FUN_02029880: ; 0x02029880
str r1, [sp, #0x0]
add r5, r2, #0x0
ldr r6, [sp, #0x20]
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x1
bne _020298BA
add r0, r5, #0x0
- bl FUN_02034964
+ bl MapHeader_IsOutdoor
cmp r0, #0x1
bne _02029942
add r0, r4, #0x0
@@ -2224,11 +2224,11 @@ FUN_02029880: ; 0x02029880
b _02029942
_020298BA:
add r0, r4, #0x0
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0x1
bne _0202991A
add r0, r5, #0x0
- bl FUN_02034964
+ bl MapHeader_IsOutdoor
cmp r0, #0x1
bne _02029942
ldr r0, _02029958 ; =0x0000019E
@@ -2271,11 +2271,11 @@ _02029910:
b _02029942
_0202991A:
add r0, r4, #0x0
- bl FUN_02034964
+ bl MapHeader_IsOutdoor
cmp r0, #0x1
bne _02029942
add r0, r5, #0x0
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0x1
bne _02029942
add r0, r7, #0x0
diff --git a/arm9/asm/unk_02029FB0.s b/arm9/asm/unk_02029FB0.s
deleted file mode 100644
index 2c66522a..00000000
--- a/arm9/asm/unk_02029FB0.s
+++ /dev/null
@@ -1,334 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .rodata
-
- .global UNK_020EEA7C
-UNK_020EEA7C: ; 0x020EEA7C
- .short 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002
- .short 0x0002, 0x0002, 0x0003, 0x0003, 0x0003, 0x0007, 0x0007, 0x0007
- .short 0x000A, 0x000A, 0x000B, 0x000B, 0x000B, 0x000B, 0x0014, 0x001E
- .short 0x0023, 0x0028, 0x01F4, 0x2710, 0x001E, 0x001E, 0x0002, 0x0005
- .short 0x0001, 0x0001, 0x0005, 0x0003, 0x0001, 0x0001
-
- .section .data
-
- .global UNK_02105CD8
-UNK_02105CD8: ; 0x02105CD8
- .byte 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01
- .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
- .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .text
-
- thumb_func_start FUN_02029FB0
-FUN_02029FB0: ; 0x02029FB0
- mov r0, #0x53
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029FB8
-FUN_02029FB8: ; 0x02029FB8
- ldr r3, _02029FC4 ; =MIi_CpuClear32
- mov r2, #0x53
- add r1, r0, #0x0
- mov r0, #0x0
- lsl r2, r2, #0x2
- bx r3
- .balign 4
-_02029FC4: .word MIi_CpuClear32
-
- thumb_func_start FUN_02029FC8
-FUN_02029FC8: ; 0x02029FC8
- ldr r3, _02029FD0 ; =SavArray_get
- mov r1, #0x14
- bx r3
- nop
-_02029FD0: .word SavArray_get
-
- thumb_func_start FUN_02029FD4
-FUN_02029FD4: ; 0x02029FD4
- push {r3, lr}
- cmp r1, #0x2c
- bge _02029FE0
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r3, pc}
-_02029FE0:
- cmp r1, #0x79
- bge _02029FF0
- sub r1, #0x2c
- lsl r1, r1, #0x1
- add r0, r0, r1
- add r0, #0xb0
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_02029FF0:
- bl GF_AssertFail
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02029FF8
-FUN_02029FF8: ; 0x02029FF8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x2c
- bge _0202A008
- lsl r0, r4, #0x2
- str r2, [r5, r0]
- b _0202A01E
-_0202A008:
- cmp r4, #0x79
- bge _0202A01A
- add r0, r4, #0x0
- sub r0, #0x2c
- lsl r0, r0, #0x1
- add r0, r5, r0
- add r0, #0xb0
- strh r2, [r0, #0x0]
- b _0202A01E
-_0202A01A:
- bl GF_AssertFail
-_0202A01E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029FD4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202A028
-FUN_0202A028: ; 0x0202A028
- push {r3, lr}
- cmp r0, #0x2c
- bge _0202A03E
- ldr r1, _0202A05C ; =UNK_02105CD8
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202A03A
- ldr r0, _0202A060 ; =0x3B9AC9FF
- pop {r3, pc}
-_0202A03A:
- ldr r0, _0202A064 ; =0x000F423F
- pop {r3, pc}
-_0202A03E:
- cmp r0, #0x79
- bge _0202A052
- ldr r1, _0202A05C ; =UNK_02105CD8
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202A04E
- ldr r0, _0202A068 ; =0x0000FFFF
- pop {r3, pc}
-_0202A04E:
- ldr r0, _0202A06C ; =0x0000270F
- pop {r3, pc}
-_0202A052:
- bl GF_AssertFail
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0202A05C: .word UNK_02105CD8
-_0202A060: .word 0x3B9AC9FF
-_0202A064: .word 0x000F423F
-_0202A068: .word 0x0000FFFF
-_0202A06C: .word 0x0000270F
-
- thumb_func_start FUN_0202A070
-FUN_0202A070: ; 0x0202A070
- lsl r1, r0, #0x1
- ldr r0, _0202A078 ; =UNK_020EEA7C
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_0202A078: .word UNK_020EEA7C
-
- thumb_func_start FUN_0202A07C
-FUN_0202A07C: ; 0x0202A07C
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r4, r2, #0x0
- bl FUN_0202A028
- add r2, r0, #0x0
- cmp r4, r2
- bhs _0202A09C
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
-_0202A09C:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202A0A8
-FUN_0202A0A8: ; 0x0202A0A8
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r5, r2, #0x0
- bl FUN_0202A028
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_02029FD4
- cmp r5, r4
- bls _0202A0C6
- add r5, r4, #0x0
-_0202A0C6:
- cmp r0, r5
- bhs _0202A0D6
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02029FF8
- pop {r3-r7, pc}
-_0202A0D6:
- cmp r0, r4
- bls _0202A0E4
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02029FF8
-_0202A0E4:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202A0E8
-FUN_0202A0E8: ; 0x0202A0E8
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A028
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029FD4
- add r2, r0, #0x1
- cmp r2, r4
- bhs _0202A10E
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
-_0202A10E:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202A11C
-FUN_0202A11C: ; 0x0202A11C
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r7, r2, #0x0
- bl FUN_0202A028
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029FD4
- add r2, r0, r7
- cmp r2, r6
- bhs _0202A144
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029FF8
- pop {r3-r7, pc}
-_0202A144:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02029FF8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202A150
-FUN_0202A150: ; 0x0202A150
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A028
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029FD4
- cmp r0, r4
- bhi _0202A16C
- add r4, r0, #0x0
-_0202A16C:
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0202A170
-FUN_0202A170: ; 0x0202A170
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x26
- blt _0202A17E
- bl GF_AssertFail
-_0202A17E:
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0202A150
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A070
- ldr r2, _0202A1B4 ; =0x05F5E0FF
- add r0, r6, r0
- cmp r0, r2
- bls _0202A1A0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0202A07C
- pop {r4-r6, pc}
-_0202A1A0:
- add r0, r4, #0x0
- bl FUN_0202A070
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0202A11C
- pop {r4-r6, pc}
- nop
-_0202A1B4: .word 0x05F5E0FF
-
- thumb_func_start FUN_0202A1B8
-FUN_0202A1B8: ; 0x0202A1B8
- ldr r3, _0202A1C0 ; =FUN_0202A150
- mov r1, #0x0
- bx r3
- nop
-_0202A1C0: .word FUN_0202A150
-
- thumb_func_start FUN_0202A1C4
-FUN_0202A1C4: ; 0x0202A1C4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- bl Pokedex_CheckMonCaughtFlag
- cmp r0, #0x0
- bne _0202A1DC
- add r0, r4, #0x0
- mov r1, #0x16
- bl FUN_0202A170
-_0202A1DC:
- pop {r4, pc}
- .balign 4
diff --git a/arm9/asm/unk_0202B870.s b/arm9/asm/unk_0202B870.s
index c4dc6cc4..33f15eb4 100644
--- a/arm9/asm/unk_0202B870.s
+++ b/arm9/asm/unk_0202B870.s
@@ -154,7 +154,7 @@ FUN_0202B93C: ; 0x0202B93C
push {r3-r7, lr}
sub sp, #0x8
add r5, r1, #0x0
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r4, r0, #0x0
add r0, r5, #0x0
mov r1, #0x34
@@ -175,12 +175,12 @@ _0202B95A:
_0202B968:
add r0, r4, #0x0
mov r1, #0xf
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r7, r0, #0x0
beq _0202B984
add r0, r4, #0x0
mov r1, #0x1d
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r1, r7, #0x0
bl _u32_div_f
add r7, r0, #0x0
@@ -190,22 +190,22 @@ _0202B984:
_0202B988:
add r0, r4, #0x0
mov r1, #0x41
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r7, r0, #0x0
add r0, r4, #0x0
mov r1, #0x42
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r0, r7, r0
str r0, [r5, #0x0]
b _0202B9D4
_0202B9A0:
add r0, r4, #0x0
mov r1, #0x3f
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r7, r0, #0x0
add r0, r4, #0x0
mov r1, #0x40
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r1, r7, r0
beq _0202B9C4
ldr r0, [sp, #0x4]
@@ -221,7 +221,7 @@ _0202B9C8:
ldr r1, [sp, #0x0]
add r0, r4, #0x0
ldr r1, [r1, #0x0]
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [r5, #0x0]
_0202B9D4:
ldr r0, [sp, #0x0]
diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s
index d0bddd04..ceed181f 100644
--- a/arm9/asm/unk_02035068.s
+++ b/arm9/asm/unk_02035068.s
@@ -3672,7 +3672,7 @@ FUN_02036E08: ; 0x02036E08
bl Sav2_Bag_get
str r0, [sp, #0x30]
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [sp, #0x34]
ldr r0, [r4, #0xc]
bl Sav2_Poketch_get
@@ -3709,7 +3709,7 @@ _02036E9E:
bl Sav2_Bag_get
str r0, [sp, #0x40]
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [sp, #0x44]
ldr r0, [r4, #0xc]
bl Sav2_Poketch_get
diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s
index 5ac3b4c2..a5047e10 100644
--- a/arm9/asm/unk_020377F0.s
+++ b/arm9/asm/unk_020377F0.s
@@ -1279,7 +1279,7 @@ FUN_0203800C: ; 0x0203800C
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0xc]
add r0, r5, #0x0
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r4, #0x10]
add r0, r5, #0x0
bl Sav2_PlayerData_GetProfileAddr
@@ -1435,7 +1435,7 @@ FUN_02038144: ; 0x02038144
ldr r0, [r0, #0x0]
str r0, [r5, #0x1c]
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r5, #0x20]
bl PlayerProfile_sizeof
add r1, r0, #0x0
@@ -1647,7 +1647,7 @@ _020382F6:
bl Sav2_Bag_get
str r0, [sp, #0x28]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [sp, #0x2c]
ldr r0, [r5, #0xc]
bl Sav2_Poketch_get
@@ -1702,9 +1702,9 @@ _020383B2:
mov r0, #0x2
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x10
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_020383C8:
mov r0, #0x0
add sp, #0x34
@@ -1771,7 +1771,7 @@ FUN_0203842C: ; 0x0203842C
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0x8]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r4, #0xc]
add r0, r5, #0x0
add r0, #0x98
@@ -2145,7 +2145,7 @@ FUN_020386E0: ; 0x020386E0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0x24]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r4, #0x28]
add r0, r5, #0x0
add r0, #0x98
@@ -2473,7 +2473,7 @@ FUN_020389CC: ; 0x020389CC
str r0, [r4, #0x4]
str r1, [r4, #0x8]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r4, #0x14]
mov r0, #0x0
str r0, [r4, #0x18]
@@ -2486,9 +2486,9 @@ FUN_020389CC: ; 0x020389CC
bl FUN_02038A3C
str r0, [r4, #0x10]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x5
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r1, _02038A38 ; =FUN_02038914
add r0, r7, #0x0
add r2, r4, #0x0
diff --git a/arm9/asm/unk_0204653C.s b/arm9/asm/unk_0204653C.s
index f3d45372..212047b4 100644
--- a/arm9/asm/unk_0204653C.s
+++ b/arm9/asm/unk_0204653C.s
@@ -348,9 +348,9 @@ _020467C0:
add r1, r7, #0x0
bl FUN_02047FA4
ldr r0, [r7, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x15
- bl FUN_0202A170
+ bl GameStats_AddSpecial
add r0, r6, #0x0
bl FUN_0204AF84
ldr r0, [r4, #0x0]
@@ -410,9 +410,9 @@ _02046844:
add r1, r6, #0x0
bl FUN_02047FA4
ldr r0, [r6, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x15
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
@@ -710,9 +710,9 @@ _02046ABC:
ldr r0, [r5, #0x34]
bl FUN_02058780
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x7
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r1, [r4, #0x4]
ldr r2, [r4, #0x8]
add r0, r6, #0x0
@@ -905,9 +905,9 @@ _02046C68:
ldr r0, [r6, #0x34]
bl FUN_02058780
ldr r0, [r6, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x7
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r1, [r5, #0x4]
ldr r2, [r5, #0x8]
add r0, r7, #0x0
@@ -1079,9 +1079,9 @@ FUN_02046DB4: ; 0x02046DB4
add r1, r4, #0x0
bl MOD06_0223CCDC
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x7
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0x0
bl FUN_020475A0
add r5, r0, #0x0
@@ -1131,9 +1131,9 @@ FUN_02046E18: ; 0x02046E18
str r0, [r4, r1]
_02046E60:
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x7
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0x0
bl FUN_020475A0
add r5, r0, #0x0
@@ -1181,9 +1181,9 @@ _02046EC6:
ldr r0, [r6, #0x34]
bl FUN_02058780
ldr r0, [r6, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x7
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r1, [r5, #0x4]
ldr r2, [r5, #0x8]
add r0, r7, #0x0
@@ -1305,9 +1305,9 @@ FUN_02046FA0: ; 0x02046FA0
lsl r0, r0, #0x2
str r1, [r4, r0]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x7
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0x0
bl FUN_020475A0
add r5, r0, #0x0
@@ -1484,9 +1484,9 @@ _0204711A:
add r0, r4, #0x0
bl EnemyTrainerSet_Init
ldr r0, [r7, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x8
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0x0
bl FUN_020475A0
add r5, r0, #0x0
@@ -1702,9 +1702,9 @@ _02047318:
cmp r2, #0x1
bne _0204732A
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x8
- bl FUN_0202A170
+ bl GameStats_AddSpecial
pop {r3-r5, pc}
_0204732A:
cmp r2, #0x4
@@ -1721,14 +1721,14 @@ _0204732A:
cmp r0, #0x0
ldr r0, [r4, #0xc]
beq _02047358
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x9
- bl FUN_0202A170
+ bl GameStats_AddSpecial
pop {r3-r5, pc}
_02047358:
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0xa
- bl FUN_0202A170
+ bl GameStats_AddSpecial
pop {r3-r5, pc}
_02047364:
mov r3, #0x1
@@ -1741,9 +1741,9 @@ _02047370:
cmp r2, #0x1
bne _020473C8
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0xb
- bl FUN_0202A170
+ bl GameStats_AddSpecial
pop {r3-r5, pc}
_02047382:
mov r3, #0x20
@@ -1768,14 +1768,14 @@ _02047390:
cmp r0, #0x0
ldr r0, [r4, #0xc]
beq _020473BE
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x9
- bl FUN_0202A170
+ bl GameStats_AddSpecial
pop {r3-r5, pc}
_020473BE:
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0xa
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_020473C8:
pop {r3-r5, pc}
.balign 4
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index cfbae230..5c61e632 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -295,7 +295,7 @@ FUN_02047814: ; 0x02047814
sub r1, #0x8
str r0, [r4, r1]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x51
lsl r1, r1, #0x2
str r0, [r4, r1]
@@ -572,7 +572,7 @@ FUN_02047A78: ; 0x02047A78
lsl r1, r1, #0x2
str r0, [r5, r1]
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x51
lsl r1, r1, #0x2
str r0, [r5, r1]
@@ -747,7 +747,7 @@ _02047C98:
str r0, [r6, r1]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x51
lsl r1, r1, #0x2
str r0, [r6, r1]
@@ -925,7 +925,7 @@ _02047E2C:
str r0, [r5, r1]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x51
lsl r1, r1, #0x2
str r0, [r5, r1]
diff --git a/arm9/asm/unk_020484A8.s b/arm9/asm/unk_020484A8.s
index 97e67111..cbf66c82 100644
--- a/arm9/asm/unk_020484A8.s
+++ b/arm9/asm/unk_020484A8.s
@@ -321,9 +321,9 @@ _0204871E:
ldr r0, [sp, #0x0]
bl PlayerProfile_SetGameClearFlag
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x2e
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r1, _02048760 ; =FUN_020484F8
add r0, r7, #0x0
add r2, r5, #0x0
diff --git a/arm9/asm/unk_0204B9EC.s b/arm9/asm/unk_0204B9EC.s
index fbf817bd..440b55ae 100644
--- a/arm9/asm/unk_0204B9EC.s
+++ b/arm9/asm/unk_0204B9EC.s
@@ -36,7 +36,7 @@ FUN_0204BA1C: ; 0x0204BA1C
push {r3-r5, lr}
ldr r0, [r0, #0xc]
ldr r4, _0204BA60 ; =UNK_021C5A1C
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r5, r0, #0x0
bl GF_RTC_DateTimeToSec
add r3, r1, #0x0
@@ -62,7 +62,7 @@ _0204BA52:
str r0, [r4, #0x48]
add r0, r5, #0x0
mov r1, #0x11
- bl FUN_0202A170
+ bl GameStats_AddSpecial
pop {r3-r5, pc}
nop
_0204BA60: .word UNK_021C5A1C
diff --git a/arm9/asm/unk_0204C1B4.s b/arm9/asm/unk_0204C1B4.s
index 7ca0881c..ea61b039 100644
--- a/arm9/asm/unk_0204C1B4.s
+++ b/arm9/asm/unk_0204C1B4.s
@@ -162,25 +162,25 @@ FUN_0204C29C: ; 0x0204C29C
ldr r0, [r7, #0x1c]
ldr r0, [r0, #0x0]
str r0, [sp, #0x8]
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x0
beq _0204C308
add r0, r5, #0x0
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x0
beq _0204C2E6
mov r4, #0x6
b _0204C36A
_0204C2E6:
add r0, r5, #0x0
- bl FUN_02034964
+ bl MapHeader_IsOutdoor
cmp r0, #0x0
beq _0204C2F4
mov r4, #0x5
b _0204C36A
_0204C2F4:
add r0, r5, #0x0
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0x0
beq _0204C302
mov r4, #0x6
@@ -190,18 +190,18 @@ _0204C302:
b _0204C36A
_0204C308:
ldr r0, [sp, #0x8]
- bl FUN_02034964
+ bl MapHeader_IsOutdoor
cmp r0, #0x0
beq _0204C334
add r0, r5, #0x0
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x0
beq _0204C320
mov r4, #0x4
b _0204C36A
_0204C320:
add r0, r5, #0x0
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0x0
beq _0204C32E
mov r4, #0x6
@@ -211,22 +211,22 @@ _0204C32E:
b _0204C36A
_0204C334:
ldr r0, [sp, #0x8]
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0x0
beq _0204C366
add r0, r5, #0x0
- bl FUN_02034964
+ bl MapHeader_IsOutdoor
cmp r0, #0x0
bne _0204C36A
add r0, r5, #0x0
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0x0
beq _0204C356
mov r4, #0x6
b _0204C36A
_0204C356:
add r0, r5, #0x0
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x0
bne _0204C36A
bl GF_AssertFail
diff --git a/arm9/asm/unk_0204CB20.s b/arm9/asm/unk_0204CB20.s
index 87fb50fc..ad7e088e 100644
--- a/arm9/asm/unk_0204CB20.s
+++ b/arm9/asm/unk_0204CB20.s
@@ -2342,9 +2342,9 @@ FUN_0204DCB4: ; 0x0204DCB4
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x54]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x25
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_0204DD0C:
pop {r3-r5, pc}
nop
@@ -4606,9 +4606,9 @@ FUN_0204EDEC: ; 0x0204EDEC
beq _0204EE96
ldr r0, [r2, #0x54]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x1c
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r0, _0204EE98 ; =UNK_021C5A68
ldr r1, [r0, #0x0]
mov r0, #0xa3
diff --git a/arm9/asm/unk_0204FBA8.s b/arm9/asm/unk_0204FBA8.s
index 16e26d1a..e2fcf579 100644
--- a/arm9/asm/unk_0204FBA8.s
+++ b/arm9/asm/unk_0204FBA8.s
@@ -180,9 +180,9 @@ FUN_0204FCA0: ; 0x0204FCA0
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x18]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x24
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r0, _0204FCD0 ; =UNK_021C5A6C
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x18]
diff --git a/arm9/asm/unk_020557F4.s b/arm9/asm/unk_020557F4.s
index b3bd5347..e7b734a0 100644
--- a/arm9/asm/unk_020557F4.s
+++ b/arm9/asm/unk_020557F4.s
@@ -3408,9 +3408,9 @@ FUN_020572D4: ; 0x020572D4
bl FUN_020553A0
bl FUN_02058738
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x5
- bl FUN_0202A0E8
+ bl GameStats_Inc
pop {r3, pc}
thumb_func_start FUN_020572EC
diff --git a/arm9/asm/unk_0205CE48.s b/arm9/asm/unk_0205CE48.s
index 43f1137e..14dfd9ef 100644
--- a/arm9/asm/unk_0205CE48.s
+++ b/arm9/asm/unk_0205CE48.s
@@ -1591,7 +1591,7 @@ FUN_0205DA80: ; 0x0205DA80
pop {r4, pc}
_0205DA8E:
ldr r0, [r4, #0x0]
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x1
bne _0205DAA6
ldr r0, [r4, #0x0]
diff --git a/arm9/asm/unk_0206367C.s b/arm9/asm/unk_0206367C.s
index 3a92648f..0cb2156c 100644
--- a/arm9/asm/unk_0206367C.s
+++ b/arm9/asm/unk_0206367C.s
@@ -88,7 +88,7 @@ _020636F8:
bl FUN_02060478
ldr r0, [r5, #0x1c]
ldr r0, [r0, #0x0]
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x0
bne _02063758
ldr r0, [r5, #0xc]
diff --git a/arm9/asm/unk_02063948.s b/arm9/asm/unk_02063948.s
index 632e129d..7b29aaba 100644
--- a/arm9/asm/unk_02063948.s
+++ b/arm9/asm/unk_02063948.s
@@ -1015,7 +1015,7 @@ FUN_020640CC: ; 0x020640CC
pop {r4, pc}
_020640DE:
ldr r0, [r4, #0x0]
- bl FUN_020348E4
+ bl MapHeader_IsOutdoorNotTown
cmp r0, #0x0
bne _020640EC
mov r0, #0x1
@@ -1125,7 +1125,7 @@ FUN_020641AC: ; 0x020641AC
pop {r4, pc}
_020641BE:
ldr r0, [r4, #0x0]
- bl FUN_02034930
+ bl MapHeader_IsCave
cmp r0, #0x1
bne _020641D2
ldr r0, [r4, #0x0]
diff --git a/arm9/asm/unk_02064E90.s b/arm9/asm/unk_02064E90.s
index ac7baa5d..2b45a359 100644
--- a/arm9/asm/unk_02064E90.s
+++ b/arm9/asm/unk_02064E90.s
@@ -19,7 +19,7 @@ FUN_02064E90: ; 0x02064E90
bl Sav2_PlayerData_GetProfileAddr
add r7, r0, #0x0
ldr r0, [sp, #0x20]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r4, r0, #0x0
ldr r0, [sp, #0x1c]
strb r0, [r5, #0x5]
@@ -56,7 +56,7 @@ FUN_02064E90: ; 0x02064E90
bl Pokedex_GetSinnohDexFlag
str r0, [sp, #0x3c]
add r0, r4, #0x0
- bl FUN_0202A1B8
+ bl GameStats_GetStat0
ldr r1, [sp, #0x38]
ldr r2, [sp, #0x30]
str r1, [sp, #0x0]
@@ -100,27 +100,27 @@ FUN_02064E90: ; 0x02064E90
str r0, [sp, #0x44]
add r0, r4, #0x0
mov r1, #0x20
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x48]
add r0, r4, #0x0
mov r1, #0x19
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x4c]
add r0, r4, #0x0
mov r1, #0x14
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x50]
add r0, r4, #0x0
mov r1, #0x18
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x54]
add r0, r4, #0x0
mov r1, #0x40
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x58]
add r0, r4, #0x0
mov r1, #0x13
- bl FUN_0202A150
+ bl GameStats_GetCapped
ldr r1, [sp, #0x58]
add r1, r1, r0
ldr r0, [sp, #0x54]
@@ -132,27 +132,27 @@ FUN_02064E90: ; 0x02064E90
str r0, [sp, #0x5c]
add r0, r4, #0x0
mov r1, #0x15
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x60]
add r0, r4, #0x0
mov r1, #0x1a
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x64]
add r0, r4, #0x0
mov r1, #0x16
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x68]
add r0, r4, #0x0
mov r1, #0x1b
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x6c]
add r0, r4, #0x0
mov r1, #0x13
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [sp, #0x70]
add r0, r4, #0x0
mov r1, #0x18
- bl FUN_0202A150
+ bl GameStats_GetCapped
add r4, r0, #0x0
ldr r0, [sp, #0x44]
bl FUN_02029AC8
@@ -220,7 +220,7 @@ FUN_02065078: ; 0x02065078
push {r3-r7, lr}
bl ScriptEnvironment_GetSav2Ptr
add r7, r0, #0x0
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r6, r0, #0x0
add r0, r7, #0x0
bl SavArray_Flags_get
@@ -248,27 +248,27 @@ _020650A8:
_020650BC:
add r0, r6, #0x0
mov r1, #0x35
- bl FUN_0202A150
+ bl GameStats_GetCapped
cmp r0, #0x64
bhs _020650F8
add r0, r6, #0x0
mov r1, #0x37
- bl FUN_0202A150
+ bl GameStats_GetCapped
cmp r0, #0x64
bhs _020650F8
add r0, r6, #0x0
mov r1, #0x39
- bl FUN_0202A150
+ bl GameStats_GetCapped
cmp r0, #0x64
bhs _020650F8
add r0, r6, #0x0
mov r1, #0x3b
- bl FUN_0202A150
+ bl GameStats_GetCapped
cmp r0, #0x64
bhs _020650F8
add r0, r6, #0x0
mov r1, #0x3d
- bl FUN_0202A150
+ bl GameStats_GetCapped
cmp r0, #0x64
blo _020650FE
_020650F8:
diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s
index 345ecae1..ec33e447 100644
--- a/arm9/asm/unk_0206C700.s
+++ b/arm9/asm/unk_0206C700.s
@@ -1099,10 +1099,10 @@ _0206CFFA:
bl Pokedex_SetMonCaughtFlag
ldr r0, [r4, #0x50]
mov r1, #0xc
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r0, [r4, #0x50]
mov r1, #0x16
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r0, [r4, #0x28]
bl FUN_020690E4
add r1, r0, #0x0
@@ -2201,10 +2201,10 @@ _0206D8EA:
bl Pokedex_SetMonCaughtFlag
ldr r0, [r4, #0x50]
mov r1, #0xc
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r0, [r4, #0x50]
mov r1, #0x16
- bl FUN_0202A170
+ bl GameStats_AddSpecial
add r0, r5, #0x0
bl FUN_020690E4
add r1, r0, #0x0
diff --git a/arm9/asm/unk_0206F1F0.s b/arm9/asm/unk_0206F1F0.s
index 64da364f..3b10238b 100644
--- a/arm9/asm/unk_0206F1F0.s
+++ b/arm9/asm/unk_0206F1F0.s
@@ -204,9 +204,9 @@ _0206F34A:
mov r0, #0x3
mov r1, #0x36
bl CreateHeap
- bl FUN_02088878
+ bl FUN_02088878 ; Loads overlay 13
mov r0, #0x36
- bl MOD07_02211E60
+ bl MOD13_02211E60
mov r0, #0x0
bl OS_ResetSystem
b _0206F380
diff --git a/arm9/asm/unk_02080C38.s b/arm9/asm/unk_02080C38.s
index e8299712..c3747143 100644
--- a/arm9/asm/unk_02080C38.s
+++ b/arm9/asm/unk_02080C38.s
@@ -3623,26 +3623,26 @@ _020826EA:
bl FUN_02060F10
ldr r0, _02082848 ; =0x0000198C
ldr r0, [r4, r0]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x3f
add r6, r0, #0x0
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0x0
bl FUN_0208217C
cmp r0, #0x0
bne _02082740
add r0, r6, #0x0
mov r1, #0x41
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r6, #0x0
mov r1, #0xd
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_02082740:
cmp r5, #0x1
bne _0208274C
add r0, r6, #0x0
mov r1, #0x43
- bl FUN_0202A0E8
+ bl GameStats_Inc
_0208274C:
ldr r0, _02082848 ; =0x0000198C
ldr r0, [r4, r0]
@@ -3679,20 +3679,20 @@ _02082774:
bl FUN_0202C108
ldr r0, _02082848 ; =0x0000198C
ldr r0, [r4, r0]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x40
add r5, r0, #0x0
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0x0
bl FUN_0208217C
cmp r0, #0x0
bne _020827BA
add r0, r5, #0x0
mov r1, #0x42
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r5, #0x0
mov r1, #0x13
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_020827BA:
ldr r1, _02082854 ; =0x00000123
mov r0, #0xc
diff --git a/arm9/asm/unk_020854E0.s b/arm9/asm/unk_020854E0.s
index 4c77e4ac..cf9d8236 100644
--- a/arm9/asm/unk_020854E0.s
+++ b/arm9/asm/unk_020854E0.s
@@ -531,9 +531,9 @@ _020858D2:
ldr r0, [r6, #0x14]
bl FUN_020857A4
ldr r0, [r6, #0x10]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x2
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r0, #0x1
str r0, [r6, #0x4]
b _020858FC
diff --git a/arm9/global.inc b/arm9/global.inc
index b7a3a6a6..a50a3113 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1003,9 +1003,9 @@
.extern FUN_02015CE0
.extern FUN_02015CF8
.extern ConvertRSStringToDPStringInternational
-.extern FUN_02015E30
-.extern FUN_02015E3C
-.extern FUN_02015E60
+.extern PlayTimerInit
+.extern PlayTimerStart
+.extern PlayTimerUpdate
.extern FUN_02015EF4
.extern Main_SetVBlankIntrCB
.extern FUN_02015F1C
@@ -1386,7 +1386,7 @@
.extern FontData_ModeSwitch
.extern TryLoadGlyph
.extern GetStringWidth
-.extern StringGetWidth
+.extern GetStringWidthMultiline
.extern StringGetWidth_SingleLine_HandleClearToControlCode
.extern String_ctor
.extern String_dtor
@@ -1987,17 +1987,17 @@
.extern Chatot_Decode
.extern Chatot_Encode
.extern Chatot_copy
-.extern FUN_02029FB0
-.extern FUN_02029FB8
-.extern FUN_02029FC8
-.extern FUN_0202A07C
-.extern FUN_0202A0A8
-.extern FUN_0202A0E8
-.extern FUN_0202A11C
-.extern FUN_0202A150
-.extern FUN_0202A170
-.extern FUN_0202A1B8
-.extern FUN_0202A1C4
+.extern Sav2_GameStats_sizeof
+.extern Sav2_GameStats_init
+.extern Sav2_GameStats_get
+.extern GameStats_SetCapped
+.extern GameStats_UpdateBounded
+.extern GameStats_Inc
+.extern GameStats_Add
+.extern GameStats_GetCapped
+.extern GameStats_AddSpecial
+.extern GameStats_GetStat0
+.extern GameStats_IncSpeciesCaught
.extern SaveStruct23_Substruct4_Substruct1_sizeof
.extern SaveStruct23_Substruct1_Init
.extern SaveStruct23_Substruct2_Init
@@ -2491,7 +2491,7 @@
.extern FUN_02034678
.extern FUN_020346CC
.extern MapHeader_GetAreaDataBank
-.extern MapHeader_GetField1
+.extern MapHeader_GetMoveModelBank
.extern MapHeader_GetMatrixId
.extern MapHeader_GetMsgBank
.extern MapHeader_GetScriptsBank
@@ -2508,12 +2508,12 @@
.extern MapHeader_IsEscapeRopeAllowed
.extern MapHeader_IsFlyAllowed
.extern MapHeader_IsBikeAllowed
-.extern FUN_020348E4
+.extern MapHeader_IsOutdoorNotTown
.extern MapHeader_MapIsOnMainMatrix
-.extern FUN_02034930
-.extern FUN_02034944
-.extern FUN_02034964
-.extern FUN_02034984
+.extern MapHeader_IsCave
+.extern MapHeader_IsBuilding
+.extern MapHeader_IsOutdoor
+.extern MapHeader_MapIsPokemonCenter
.extern MapHeader_MapIsUnionRoom
.extern MapHeader_MapIsMtCoronetFeebasRoom
.extern MapHeader_MapIsTrophyGarden
@@ -7395,6 +7395,7 @@
.extern MOD12_02241210
.extern MOD12_02241490
.extern MOD12_022415A8
+.extern MOD13_02211E60
.extern MOD13_02213174
.extern MOD13_02213270
.extern MOD13_022132CC
diff --git a/arm9/lib/Makefile b/arm9/lib/Makefile
index ebe143f2..51c03075 100644
--- a/arm9/lib/Makefile
+++ b/arm9/lib/Makefile
@@ -53,9 +53,9 @@ OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
-ASFLAGS = -proc arm5te -ir ../..
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
-LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+MWASFLAGS = -proc arm5te -ir ../..
+MWCFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+MWLDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
ARFLAGS = rcS
export MWCIncludes := libc/include libnns/include NitroSDK/include
@@ -85,7 +85,7 @@ libsyscall.a: syscall/_svc_mw.o
$(AR) $(ARFLAGS) -o $@ $^
%.o: %.c
- $(CC) $(CFLAGS) -o $@ $<
+ $(CC) $(MWCFLAGS) -o $@ $<
%.o: %.s
- $(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(MWASFLAGS) -o $@ $<
diff --git a/arm9/lib/NitroSDK/Makefile b/arm9/lib/NitroSDK/Makefile
index 37490838..6eb10c32 100644
--- a/arm9/lib/NitroSDK/Makefile
+++ b/arm9/lib/NitroSDK/Makefile
@@ -53,9 +53,9 @@ OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
-ASFLAGS = -proc arm5te -ir ../../..
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
-LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+MWASFLAGS = -proc arm5te -ir ../../..
+MWCFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+MWLDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
ARFLAGS = rcS
export MWCIncludes := include
@@ -74,7 +74,7 @@ clean:
$(AR) $(ARFLAGS) -o $@ $^
%.o: %.c
- $(CC) $(CFLAGS) -o $@ $<
+ $(CC) $(MWCFLAGS) -o $@ $<
%.o: %.s
- $(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(MWASFLAGS) -o $@ $<
diff --git a/arm9/lib/NitroSDK/include/CARD_rom.h b/arm9/lib/NitroSDK/include/CARD_rom.h
index b6fca60b..fb013cfe 100644
--- a/arm9/lib/NitroSDK/include/CARD_rom.h
+++ b/arm9/lib/NitroSDK/include/CARD_rom.h
@@ -35,6 +35,44 @@ typedef struct
}
CARDRomRegion;
+typedef struct CARDRomHeader
+{
+ char game_name[12];
+ u32 game_code;
+ u16 maker_code;
+ u8 product_id;
+ u8 device_type;
+ u8 device_size;
+ u8 reserved_A[9];
+ u8 game_version;
+ u8 property;
+ void *main_rom_offset;
+ void *main_entry_address;
+ void *main_ram_address;
+ u32 main_size;
+ void *sub_rom_offset;
+ void *sub_entry_address;
+ void *sub_ram_address;
+ u32 sub_size;
+ CARDRomRegion fnt;
+ CARDRomRegion fat;
+ CARDRomRegion main_ovt;
+ CARDRomRegion sub_ovt;
+ u8 rom_param_A[8];
+ u32 banner_offset;
+ u16 secure_crc;
+ u8 rom_param_B[2];
+ void *main_autoload_done;
+ void *sub_autoload_done;
+ u8 rom_param_C[8];
+ u32 rom_size;
+ u32 header_size;
+ u8 reserved_B[0x38];
+ u8 logo_data[0x9C];
+ u16 logo_crc;
+ u16 header_crc;
+} CARDRomHeader;
+
typedef struct CARDRomStat
{
void (*read_func) (struct CARDRomStat *);
diff --git a/arm9/lib/libc/Makefile b/arm9/lib/libc/Makefile
index 5a993851..6f5bf500 100644
--- a/arm9/lib/libc/Makefile
+++ b/arm9/lib/libc/Makefile
@@ -53,9 +53,9 @@ OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
-ASFLAGS = -proc arm5te -ir ../../..
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
-LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+MWASFLAGS = -proc arm5te -ir ../../..
+MWCFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+MWLDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
ARFLAGS = rcS
export MWCIncludes := include
@@ -74,7 +74,7 @@ clean:
$(AR) $(ARFLAGS) -o $@ $^
%.o: %.c
- $(CC) $(CFLAGS) -o $@ $<
+ $(CC) $(MWCFLAGS) -o $@ $<
%.o: %.s
- $(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(MWASFLAGS) -o $@ $<
diff --git a/arm9/lib/libnns/Makefile b/arm9/lib/libnns/Makefile
index 029dda4d..44cc7fb1 100644
--- a/arm9/lib/libnns/Makefile
+++ b/arm9/lib/libnns/Makefile
@@ -54,9 +54,9 @@ OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
-ASFLAGS = -proc arm5te -ir ../../..
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
-LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+MWASFLAGS = -proc arm5te -ir ../../..
+MWCFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+MWLDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
ARFLAGS = rcS
export MWCIncludes := include
@@ -75,7 +75,7 @@ clean:
$(AR) $(ARFLAGS) -o $@ $^
%.o: %.c
- $(CC) $(CFLAGS) -o $@ $<
+ $(CC) $(MWCFLAGS) -o $@ $<
%.o: %.s
- $(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(MWASFLAGS) -o $@ $<
diff --git a/arm9/modules/05/asm/mod05_021D74E0.s b/arm9/modules/05/asm/mod05_021D74E0.s
index 4b30f2d3..1ebf4312 100644
--- a/arm9/modules/05/asm/mod05_021D74E0.s
+++ b/arm9/modules/05/asm/mod05_021D74E0.s
@@ -960,7 +960,7 @@ MOD05_021D7CF0: ; 0x021D7CF0
str r0, [r5, #0x2c]
ldr r0, [r5, #0x1c]
ldr r0, [r0]
- bl MapHeader_GetField1
+ bl MapHeader_GetMoveModelBank
add r4, r0, #0
ldr r0, [r5, #0x30]
cmp r0, #0
diff --git a/arm9/modules/05/asm/mod05_021D80E8.s b/arm9/modules/05/asm/mod05_021D80E8.s
index 7af8c0ec..26329d91 100644
--- a/arm9/modules/05/asm/mod05_021D80E8.s
+++ b/arm9/modules/05/asm/mod05_021D80E8.s
@@ -1772,13 +1772,13 @@ MOD05_021D8F38: ; 0x021D8F38
cmp r0, #1
bne _021D8F7A
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
add r5, r0, #0
mov r1, #0xb
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r5, #0
mov r1, #0xf
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r1, _021D8F80 ; =0x000007EF
add r0, r4, #0
mov r2, #0
diff --git a/arm9/modules/05/asm/mod05_021E2E88.s b/arm9/modules/05/asm/mod05_021E2E88.s
index 9a7c0b1f..eba8807c 100644
--- a/arm9/modules/05/asm/mod05_021E2E88.s
+++ b/arm9/modules/05/asm/mod05_021E2E88.s
@@ -601,7 +601,7 @@ MOD05_021E331C: ; 0x021E331C
add r4, r0, #0
ldr r0, [r4, #0x1c]
ldr r0, [r0]
- bl FUN_02034944
+ bl MapHeader_IsBuilding
cmp r0, #0
bne _021E333E
ldr r0, [r4, #0x1c]
diff --git a/arm9/modules/05/asm/mod05_021EC458.s b/arm9/modules/05/asm/mod05_021EC458.s
index 216dfbb7..d1b57a92 100644
--- a/arm9/modules/05/asm/mod05_021EC458.s
+++ b/arm9/modules/05/asm/mod05_021EC458.s
@@ -150,9 +150,9 @@ MOD05_021EC57C: ; 0x021EC57C
add r0, r7, #0
add r6, r1, #0
add r4, r2, #0
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x28
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r4, #0
bl MOD05_021EC49C
add r1, r0, #0
diff --git a/arm9/modules/05/asm/mod05_021F5C44.s b/arm9/modules/05/asm/mod05_021F5C44.s
index 5bf30612..494fc941 100644
--- a/arm9/modules/05/asm/mod05_021F5C44.s
+++ b/arm9/modules/05/asm/mod05_021F5C44.s
@@ -86,9 +86,9 @@ _021F5CBA:
lsr r2, r2, #0x10
bl FUN_02061208
ldr r0, [r4, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0xa
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r2, [r5, #0x10]
add r0, r4, #0
add r1, r6, #0
@@ -439,9 +439,9 @@ MOD05_021F5F5C: ; 0x021F5F5C
str r0, [r4, #0xc]
ldr r0, [r4, #0x20]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x49
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r0, [r4, #0x1c]
bl MOD05_021F61B0
add r2, r0, #0
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 68ab4fbd..3a8eb17a 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -8134,7 +8134,7 @@ MOD06_0223D3D0: ; 0x0223D3D0
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x87
lsl r1, r1, #2
str r0, [r4, r1]
@@ -10549,7 +10549,7 @@ _0223E7F6:
ldrsh r2, [r4, r3]
mov r1, #0x23
mul r2, r5
- bl FUN_0202A11C
+ bl GameStats_Add
add r0, r4, #0
mov r1, #1
bl MOD06_0223DED0
@@ -19952,10 +19952,10 @@ MOD06_02243408: ; 0x02243408
mov r0, #0
pop {r4, pc}
_02243414:
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
lsl r1, r4, #1
add r1, #0x36
- bl FUN_0202A150
+ bl GameStats_GetCapped
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r4, pc}
@@ -20218,7 +20218,7 @@ _0224362A:
cmp r0, #5
beq _0224367E
add r0, r6, #0
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
ldrb r1, [r4, #0xf]
add r5, r0, #0
ldr r0, [r4, #0x74]
@@ -20234,12 +20234,12 @@ _0224362A:
add r0, r5, #0
lsl r1, r1, #1
add r1, #0x36
- bl FUN_0202A150
+ bl GameStats_GetCapped
strh r0, [r4, #0x1a]
_02243668:
add r0, r5, #0
mov r1, #0x1d
- bl FUN_0202A150
+ bl GameStats_GetCapped
str r0, [r4, #0x20]
ldrb r1, [r4, #0xf]
ldr r0, [r4, #0x74]
@@ -20729,7 +20729,7 @@ MOD06_022439F8: ; 0x022439F8
ldr r0, [r1, #0xc]
str r1, [sp]
str r0, [sp, #8]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
ldrb r1, [r5, #0xf]
str r0, [sp, #4]
cmp r1, #5
@@ -20737,7 +20737,7 @@ MOD06_022439F8: ; 0x022439F8
lsl r6, r1, #1
add r6, #0x35
add r1, r6, #0
- bl FUN_0202A150
+ bl GameStats_GetCapped
lsl r0, r0, #0x10
lsr r7, r0, #0x10
ldrh r3, [r5, #0x1a]
@@ -20745,7 +20745,7 @@ MOD06_022439F8: ; 0x022439F8
ldr r0, [sp, #4]
add r1, r6, #0
add r2, r3, r2
- bl FUN_0202A0A8
+ bl GameStats_UpdateBounded
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #1
@@ -20778,13 +20778,13 @@ _02243A52:
ldrb r2, [r5, #0xd]
ldr r0, [sp, #4]
add r1, r6, #1
- bl FUN_0202A11C
+ bl GameStats_Add
b _02243A7E
_02243A74:
ldrb r2, [r5, #0xd]
ldr r0, [sp, #4]
add r1, r6, #1
- bl FUN_0202A07C
+ bl GameStats_SetCapped
_02243A7E:
ldrb r1, [r5, #0xf]
add r4, r0, #0
@@ -20797,16 +20797,16 @@ _02243A7E:
ldrb r2, [r5, #0xd]
ldr r0, [sp, #4]
mov r1, #0x1d
- bl FUN_0202A11C
+ bl GameStats_Add
ldrb r1, [r5, #0xf]
ldr r0, [r5, #0x74]
mov r2, #2
bl SaveStruct23_Substruct2_SetField_0xC
ldr r0, [sp, #8]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0xf
mov r2, #1
- bl FUN_0202A11C
+ bl GameStats_Add
add r0, r5, #0
bl MOD06_0224403C
ldr r0, _02243AD4 ; =0x0000270F
@@ -20839,7 +20839,7 @@ MOD06_02243AD8: ; 0x02243AD8
cmp r0, #5
beq _02243BA2
ldr r0, [sp, #4]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
ldrb r1, [r5, #0xf]
add r6, r0, #0
ldr r0, [r5, #0x74]
@@ -20856,14 +20856,14 @@ MOD06_02243AD8: ; 0x02243AD8
add r0, r6, #0
add r1, r4, #1
mov r2, #7
- bl FUN_0202A11C
+ bl GameStats_Add
str r0, [sp]
b _02243B26
_02243B1A:
add r0, r6, #0
add r1, r4, #1
mov r2, #7
- bl FUN_0202A07C
+ bl GameStats_SetCapped
str r0, [sp]
_02243B26:
ldrb r1, [r5, #0xf]
@@ -20875,15 +20875,15 @@ _02243B26:
bl SaveStruct23_Substruct2_SetFlag
add r0, r6, #0
add r1, r4, #0
- bl FUN_0202A150
+ bl GameStats_GetCapped
ldr r2, [sp]
add r0, r6, #0
add r1, r4, #0
- bl FUN_0202A0A8
+ bl GameStats_UpdateBounded
add r0, r6, #0
mov r1, #0x1d
mov r2, #7
- bl FUN_0202A11C
+ bl GameStats_Add
ldrb r1, [r5, #0xf]
ldr r0, [r5, #0x74]
mov r2, #3
@@ -20891,10 +20891,10 @@ _02243B26:
add r0, r6, #0
mov r1, #0xf
mov r2, #1
- bl FUN_0202A11C
+ bl GameStats_Add
add r0, r6, #0
mov r1, #0xe
- bl FUN_0202A170
+ bl GameStats_AddSpecial
add r0, r5, #0
bl MOD06_0224403C
ldr r3, [sp]
diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s
index 72e5cdbb..75d66945 100644
--- a/arm9/modules/11/asm/module_11_thumb1.s
+++ b/arm9/modules/11/asm/module_11_thumb1.s
@@ -69,14 +69,14 @@ _0222D620:
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0x14
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _0222D654
_0222D648:
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0x19
- bl FUN_0202A0E8
+ bl GameStats_Inc
_0222D654:
mov r0, #2
str r0, [r4]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index 0d0c4341..30ec5c08 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -1262,14 +1262,14 @@ _0222FCEA:
lsl r0, r0, #2
ldr r0, [r7, r0]
mov r1, #0x15
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _0222FD54
_0222FD00:
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r7, r0]
mov r1, #0x1a
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _0222FD54
_0222FD0E:
bl FUN_02033590
@@ -1279,14 +1279,14 @@ _0222FD0E:
lsl r0, r0, #2
ldr r0, [r7, r0]
mov r1, #0x16
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _0222FD54
_0222FD24:
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r7, r0]
mov r1, #0x1b
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _0222FD54
_0222FD32:
bl FUN_02033590
@@ -1296,14 +1296,14 @@ _0222FD32:
lsl r0, r0, #2
ldr r0, [r7, r0]
mov r1, #0x17
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _0222FD54
_0222FD48:
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r7, r0]
mov r1, #0x1c
- bl FUN_0202A0E8
+ bl GameStats_Inc
_0222FD54:
ldr r1, [r7]
mov r0, #8
@@ -4220,7 +4220,7 @@ MOD11_0223128C: ; 0x0223128C
ldr r0, [r0, r2]
bx r3
nop
-_02231298: .word FUN_0202A0E8
+_02231298: .word GameStats_Inc
thumb_func_start MOD11_0223129C
MOD11_0223129C: ; 0x0223129C
@@ -4231,7 +4231,7 @@ MOD11_0223129C: ; 0x0223129C
mov r1, #0x16
bx r3
.align 2, 0
-_022312A8: .word FUN_0202A170
+_022312A8: .word GameStats_AddSpecial
thumb_func_start MOD11_022312AC
MOD11_022312AC: ; 0x022312AC
diff --git a/arm9/modules/17/asm/module_17.s b/arm9/modules/17/asm/module_17.s
index 485836b0..acc5c84e 100644
--- a/arm9/modules/17/asm/module_17.s
+++ b/arm9/modules/17/asm/module_17.s
@@ -2444,7 +2444,7 @@ MOD17_021D8738: ; 0x021D8738
bne _021D8768
ldr r0, [r5, #0x10]
mov r1, #7
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r1, #0xfa
lsl r1, r1, #2
ldr r0, [r5, #4]
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index abced62a..5af32359 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -5702,9 +5702,9 @@ _0223C2D0:
ldr r0, [r0]
ldr r0, [r0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x1e
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r0, #0xe
str r0, [r5]
mov r0, #0x19
@@ -15138,9 +15138,9 @@ MOD18_02240A44: ; 0x02240A44
ldr r0, [r0, #4]
ldr r0, [r0, #0x40]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x22
- bl FUN_0202A170
+ bl GameStats_AddSpecial
bl FUN_0204F7E4
bl MOD18_0223D638
add r5, r0, #0
@@ -24150,8 +24150,8 @@ MOD18_02245054: ; 0x02245054
bl FUN_02026CC0
add r6, r0, #0
ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- bl FUN_0202A1B8
+ bl Sav2_GameStats_get
+ bl GameStats_GetStat0
add r1, r0, #0
add r0, r6, #0
bl FUN_020268E8
@@ -27797,9 +27797,9 @@ _02246D5C:
ldr r0, [r0]
ldr r0, [r0]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x23
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_02246D92:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
@@ -30426,9 +30426,9 @@ _022481A6:
_022481D8:
ldr r0, [r4, #8]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x20
- bl FUN_0202A170
+ bl GameStats_AddSpecial
bl MOD18_0224D784
add r0, r4, #0
mov r1, #9
@@ -30676,9 +30676,9 @@ _022483BC:
bl FUN_0205F730
ldr r0, [r4, #8]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x1f
- bl FUN_0202A170
+ bl GameStats_AddSpecial
add r0, r4, #0
mov r1, #0x19
add r0, #0x37
@@ -30843,9 +30843,9 @@ _02248542:
bne _022485F6
ldr r0, [r4, #8]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #0x21
- bl FUN_0202A170
+ bl GameStats_AddSpecial
add r0, r4, #0
mov r1, #0x8e
bl MOD18_022479E4
@@ -40880,8 +40880,8 @@ MOD18_0224D698: ; 0x0224D698
ldr r0, _0224D6FC ; =0x022513FC
ldr r0, [r0]
ldr r0, [r0, #8]
- bl FUN_02029FC8
- bl FUN_0202A1B8
+ bl Sav2_GameStats_get
+ bl GameStats_GetStat0
add r6, r0, #0
mov r0, #4
add r1, r4, #1
@@ -40925,8 +40925,8 @@ MOD18_0224D704: ; 0x0224D704
ldr r0, _0224D72C ; =0x022513FC
ldr r0, [r0]
ldr r0, [r0, #8]
- bl FUN_02029FC8
- bl FUN_0202A1B8
+ bl Sav2_GameStats_get
+ bl GameStats_GetStat0
add r1, r0, #0
ldr r0, _0224D730 ; =0x000F423F
cmp r1, r0
diff --git a/arm9/modules/47/asm/module_47.s b/arm9/modules/47/asm/module_47.s
index 48bd9b4a..b435d1ed 100644
--- a/arm9/modules/47/asm/module_47.s
+++ b/arm9/modules/47/asm/module_47.s
@@ -199,7 +199,7 @@ _0225498C:
bl MOD47_02254E24
ldr r0, [r5, #0x1c]
ldr r0, [r0]
- bl FUN_02034984
+ bl MapHeader_MapIsPokemonCenter
cmp r0, #0
beq _022549CA
add r0, r4, #0
diff --git a/arm9/modules/52/src/module_52.c b/arm9/modules/52/src/module_52.c
index 08da79f4..a9fdb810 100644
--- a/arm9/modules/52/src/module_52.c
+++ b/arm9/modules/52/src/module_52.c
@@ -1,7 +1,7 @@
#include "module_52.h"
#include "heap.h"
#include "unk_0205FA2C.h"
-#include "unk_02015E30.h"
+#include "play_timer.h"
extern struct Unk21DBE18 UNK_020FD144;
@@ -159,7 +159,7 @@ THUMB_FUNC BOOL MOD52_021D74E0(struct UnkStruct_02006234 *arg1, u32 *arg2)
{
#pragma unused(arg1)
#pragma unused(arg2)
- CreateHeap(3, 0x4d, 2 << 16);
+ CreateHeap(3, 0x4d, 0x20000);
InitializeMainRNG();
return 1;
@@ -189,7 +189,7 @@ THUMB_FUNC BOOL MOD52_021D7528(struct UnkStruct_02006234 *arg1, u32 *arg2)
{
#pragma unused(arg1)
#pragma unused(arg2)
- CreateHeap(3, 0x4d, 2 << 16);
+ CreateHeap(3, 0x4d, 0x20000);
InitializeMainRNG();
return 1;
@@ -202,7 +202,7 @@ THUMB_FUNC BOOL MOD52_021D7540(struct UnkStruct_02006234 *param0, u32 *unused)
MOD52_021D7604(0x4d, sav2, 1);
struct IGT *igt = Sav2_PlayerData_GetIGTAddr(sav2);
- FUN_02015E3C(igt);
+ PlayTimerStart(igt);
return 1;
}
@@ -221,7 +221,7 @@ THUMB_FUNC BOOL MOD52_021D757C(struct UnkStruct_02006234 *arg1, u32 *arg2)
{
#pragma unused(arg1)
#pragma unused(arg2)
- CreateHeap(3, 0x4d, 2 << 16);
+ CreateHeap(3, 0x4d, 0x20000);
InitializeMainRNG();
return 1;
@@ -243,7 +243,7 @@ THUMB_FUNC BOOL MOD52_021D7594(struct UnkStruct_02006234 *param0, u32 *unused)
Sav2_SysInfo_InitFromSystem(sav2_info);
}
- FUN_02015E3C(Sav2_PlayerData_GetIGTAddr(sav2));
+ PlayTimerStart(Sav2_PlayerData_GetIGTAddr(sav2));
return 1;
}
diff --git a/arm9/modules/54/asm/module_54.s b/arm9/modules/54/asm/module_54.s
index c91a960a..20fa5a0e 100644
--- a/arm9/modules/54/asm/module_54.s
+++ b/arm9/modules/54/asm/module_54.s
@@ -1981,7 +1981,7 @@ MOD54_021D84D4: ; 0x021D84D4
ldr r0, [r5, #8]
mov r1, #0x14
ldr r0, [r0, #0xc]
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r0, #0x3a
lsl r0, r0, #4
add r0, r5, r0
diff --git a/arm9/modules/58/asm/module_58.s b/arm9/modules/58/asm/module_58.s
index 88628998..2e64865b 100644
--- a/arm9/modules/58/asm/module_58.s
+++ b/arm9/modules/58/asm/module_58.s
@@ -88,7 +88,7 @@ _021D9A36:
str r0, [r4, r1]
add r0, r6, #0
bl OverlayManager_GetField18
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r4, #8]
add r0, r6, #0
bl OverlayManager_GetField18
@@ -1562,7 +1562,7 @@ MOD58_021DA6F4: ; 0x021DA6F4
_021DA70E:
ldr r0, [r5, #8]
mov r1, #4
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r0, #0xb5
lsl r0, r0, #2
add r0, r5, r0
diff --git a/arm9/modules/62/asm/module_62.s b/arm9/modules/62/asm/module_62.s
index 722bfcff..61e5d735 100644
--- a/arm9/modules/62/asm/module_62.s
+++ b/arm9/modules/62/asm/module_62.s
@@ -6497,9 +6497,9 @@ _02230860:
bl MOD62_0222EC28
ldr r0, [r4]
ldr r0, [r0, #0x28]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
mov r1, #6
- bl FUN_0202A170
+ bl GameStats_AddSpecial
mov r0, #0xf1
lsl r0, r0, #2
ldr r1, [r4, r0]
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index 9499d99e..d2f3d97d 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -6402,7 +6402,7 @@ _02230A98:
bl MOD71_02230AE4
ldr r0, [r5, #0x20]
mov r1, #0x13
- bl FUN_0202A0E8
+ bl GameStats_Inc
add r0, r7, #0
bl FreeToHeap
add r0, r4, #0
diff --git a/arm9/modules/73/asm/module_73.s b/arm9/modules/73/asm/module_73.s
index 4fe0dba7..4c87c8a7 100644
--- a/arm9/modules/73/asm/module_73.s
+++ b/arm9/modules/73/asm/module_73.s
@@ -829,17 +829,17 @@ _021D7B98:
_021D7BA8:
ldr r0, [r6, #0x10]
ldr r0, [r0, #0xc]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
ldr r1, _021D7C90 ; =0x00001428
ldr r1, [r4, r1]
cmp r1, #0
bne _021D7BC0
mov r1, #0xc
- bl FUN_0202A170
+ bl GameStats_AddSpecial
b _021D7BC6
_021D7BC0:
mov r1, #0x12
- bl FUN_0202A170
+ bl GameStats_AddSpecial
_021D7BC6:
ldr r0, _021D7C94 ; =0x00001424
ldr r0, [r4, r0]
diff --git a/arm9/modules/74/asm/module_74.s b/arm9/modules/74/asm/module_74.s
index 26a78f49..17d727b7 100644
--- a/arm9/modules/74/asm/module_74.s
+++ b/arm9/modules/74/asm/module_74.s
@@ -32,7 +32,7 @@ MOD74_021D74E0: ; 0x021D74E0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0x18]
ldr r0, [r5]
- bl FUN_02029FC8
+ bl Sav2_GameStats_get
str r0, [r4, #0x1c]
ldr r0, [r5]
bl SaveStruct23_GetSubstruct2
@@ -953,13 +953,13 @@ MOD74_021D7C10: ; 0x021D7C10
ldr r0, [r5, #0x1c]
add r1, r7, #0
add r6, r2, #0
- bl FUN_0202A150
+ bl GameStats_GetCapped
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, [r5, #0x1c]
add r1, r7, #1
- bl FUN_0202A150
+ bl GameStats_GetCapped
lsl r0, r0, #0x10
add r6, #8
lsr r7, r0, #0x10
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index 5ffe3380..5eac6fd5 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -15023,7 +15023,7 @@ _02234D80:
ldr r0, [r4]
mov r1, #0x19
ldr r0, [r0, #0x28]
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r0, [r4]
ldr r1, _02234DF4 ; =0x000009F4
ldr r0, [r0, #0x2c]
@@ -15032,7 +15032,7 @@ _02234D80:
ldr r0, [r4]
mov r1, #0x18
ldr r0, [r0, #0x28]
- bl FUN_0202A0E8
+ bl GameStats_Inc
b _02234DEE
_02234DCA:
str r0, [r4, #0x3c]
@@ -15481,7 +15481,7 @@ MOD80_022350F0: ; 0x022350F0
ldr r0, [r4]
mov r1, #0x19
ldr r0, [r0, #0x28]
- bl FUN_0202A170
+ bl GameStats_AddSpecial
ldr r0, [r4]
add r1, r4, #0
ldr r0, [r0, #0x2c]
@@ -15490,7 +15490,7 @@ MOD80_022350F0: ; 0x022350F0
ldr r0, [r4]
mov r1, #0x18
ldr r0, [r0, #0x28]
- bl FUN_0202A0E8
+ bl GameStats_Inc
ldr r0, [r4]
mov r1, #0
ldr r0, [r0]
diff --git a/arm9/modules/85/asm/module_85.s b/arm9/modules/85/asm/module_85.s
index 2733fd96..d85b1a11 100644
--- a/arm9/modules/85/asm/module_85.s
+++ b/arm9/modules/85/asm/module_85.s
@@ -221,7 +221,7 @@ _021D76AA:
beq _021D76C6
ldr r2, [r2, #0xc]
mov r1, #0xe
- bl FUN_0202A11C
+ bl GameStats_Add
_021D76C6:
pop {r3, pc}
.align 2, 0
diff --git a/arm9/src/font.c b/arm9/src/font.c
index 537a7337..a0d1057b 100644
--- a/arm9/src/font.c
+++ b/arm9/src/font.c
@@ -179,7 +179,7 @@ THUMB_FUNC s32 FUN_02002F08(u32 param0, struct String *str, u32 param2)
{
GF_ASSERT(UNK_02106FC8->unk94[param0] != NULL);
- return StringGetWidth(UNK_02106FC8->unk94[param0], String_c_str(str), param2);
+ return GetStringWidthMultiline(UNK_02106FC8->unk94[param0], String_c_str(str), param2);
}
THUMB_FUNC u32 FUN_02002F40(u32 param0, struct String *str, u32 param2, u32 param3)
diff --git a/arm9/src/main.c b/arm9/src/main.c
index 3b3b0dd6..2930e801 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -33,10 +33,10 @@ struct UnkStruct_02016FA8 UNK_02016FA8;
extern void FUN_02022294(void);
extern void GF_InitRTCWork(void);
extern int FUN_020337E8(int);
-extern void FUN_02015E30(void);
+extern void PlayTimerInit(void);
extern void FUN_0201B5CC(void *);
extern void GF_RTC_UpdateOnFrame(void);
-extern void FUN_02015E60(void);
+extern void PlayTimerUpdate(void);
extern void FUN_020222C4(void);
extern void FUN_0200E2D8(void);
@@ -97,7 +97,7 @@ THUMB_FUNC void NitroMain(void)
gMain.unk30 = 0;
InitializeMainRNG();
InitAllScreenBrightnessData();
- FUN_02015E30();
+ PlayTimerInit();
UNK_02016FA4 = 0;
for (;;)
{
@@ -120,7 +120,7 @@ THUMB_FUNC void NitroMain(void)
}
}
GF_RTC_UpdateOnFrame();
- FUN_02015E60();
+ PlayTimerUpdate();
FUN_020222C4();
FUN_0201B5CC(gMain.unk24);
OS_WaitIrq(1, 1);
diff --git a/arm9/src/map_header.c b/arm9/src/map_header.c
index 49f8e986..a766a8fd 100644
--- a/arm9/src/map_header.c
+++ b/arm9/src/map_header.c
@@ -2,613 +2,625 @@
#include "map_header.h"
#include "constants/map_sections.h"
#include "pokemon.h"
+#include "msgdata/msg.naix"
+#include "fielddata/script/scr_seq_release.naix"
+#include "fielddata/areadata/area_data.naix"
+#include "fielddata/mm_list/move_model_list.naix"
+#include "fielddata/eventdata/zone_event_release.naix"
+#include "fielddata/encountdata/d_enc_data.naix"
+#include "fielddata/encountdata/p_enc_data.naix"
+#include "fielddata/mapmatrix/map_matrix.naix"
+#include "constants/sndseq.h"
+#include "constants/maps.h"
#pragma thumb on
+#define ENCDATA(dia,pea) ((GAME_VERSION == VERSION_DIAMOND) ? (dia) : (pea))
+
// Static decls
u32 MapNumberBoundsCheck(u32 mapno);
static const u16 sPokemonCenterSecondFloorMaps[] = {
- 421,
- 429,
- 436,
- 444,
- 453,
- 460,
- 7,
- 37,
- 49,
- 495,
- 70,
- 102,
- 124,
- 135,
- 152,
- 169,
- 174,
- 190
+ MAP_T02PC0102,
+ MAP_T03PC0102,
+ MAP_T04PC0102,
+ MAP_T05PC0102,
+ MAP_T06PC0102,
+ MAP_T07PC0102,
+ MAP_C01PC0102,
+ MAP_C02PC0102,
+ MAP_C03PC0102,
+ MAP_C10R0114,
+ MAP_C04PC0102,
+ MAP_C05PC0102,
+ MAP_C06PC0102,
+ MAP_C07PC0102,
+ MAP_C08PC0102,
+ MAP_C09PC0102,
+ MAP_C10PC0102,
+ MAP_C11PC0102
};
static const u16 sMapEvolutionMethods[] = {
- 385, EVO_ROUTE217,
- 203, EVO_ETERNA,
- 207, EVO_CORONET,
- 208, EVO_CORONET,
- 209, EVO_CORONET,
- 210, EVO_CORONET,
- 211, EVO_CORONET,
- 212, EVO_CORONET,
- 213, EVO_CORONET,
- 214, EVO_CORONET,
- 215, EVO_CORONET,
- 216, EVO_CORONET,
- 217, EVO_CORONET,
- 218, EVO_CORONET,
- 219, EVO_CORONET,
- 220, EVO_CORONET,
- 221, EVO_CORONET,
+ MAP_R217, EVO_ROUTE217,
+ MAP_D03R0101, EVO_ETERNA,
+ MAP_D05R0101, EVO_CORONET,
+ MAP_D05R0102, EVO_CORONET,
+ MAP_D05R0103, EVO_CORONET,
+ MAP_D05R0104, EVO_CORONET,
+ MAP_D05R0105, EVO_CORONET,
+ MAP_D05R0106, EVO_CORONET,
+ MAP_D05R0107, EVO_CORONET,
+ MAP_D05R0108, EVO_CORONET,
+ MAP_D05R0109, EVO_CORONET,
+ MAP_D05R0110, EVO_CORONET,
+ MAP_D05R0111, EVO_CORONET,
+ MAP_D05R0112, EVO_CORONET,
+ MAP_D05R0113, EVO_CORONET,
+ MAP_D05R0114, EVO_CORONET,
+ MAP_D05R0115, EVO_CORONET,
};
static const struct MapHeader sMapHeaders[] = {
- { 0x0, 0x0, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, TRUE, FALSE },
- { 0x0, 0x0, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x0, 3, FALSE, FALSE, FALSE, FALSE },
- { 0x2, 0x2, 0x2, 0x413, 0x3ca, 0x236, 0x424, 0x424, 0xffff, 0x1, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x6, 3, FALSE, FALSE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x2, 0x1d1, 0x12, 0x3f2, 0x40f, 0xffff, 0x2, MAPSEC_JUBILIFE_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE }, // Dummy
- { 0x16, 0xf, 0x7a, 0x3, 0x1d2, 0x13, 0x442, 0x442, 0xffff, 0x3, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0x14, 0x7b, 0x4, 0x1d3, 0x14, 0x43f, 0x43f, 0xffff, 0x4, MAPSEC_JUBILIFE_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x5, 0x1d4, 0x15, 0x43d, 0x43e, 0xffff, 0x5, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x6, 0x1d5, 0x12, 0x43d, 0x43e, 0xffff, 0x6, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x8d, 0x8, 0x1d7, 0x16, 0x3f2, 0x40f, 0xffff, 0x7, MAPSEC_POKETCH_CO, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x8e, 0x9, 0x1d8, 0x17, 0x3f2, 0x40f, 0xffff, 0x8, MAPSEC_POKETCH_CO, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x8f, 0xa, 0x1d9, 0x18, 0x3f2, 0x40f, 0xffff, 0x9, MAPSEC_POKETCH_CO, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x94, 0xb, 0x1da, 0x19, 0x445, 0x445, 0xffff, 0xa, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x95, 0xc, 0x1db, 0x1a, 0x445, 0x445, 0xffff, 0xb, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x96, 0xd, 0x1dc, 0x1b, 0x445, 0x445, 0xffff, 0xc, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x97, 0xe, 0x1dd, 0x1c, 0x445, 0x445, 0xffff, 0xd, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x98, 0xf, 0x1de, 0x1d, 0x445, 0x445, 0xffff, 0xe, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x99, 0x10, 0x1df, 0x1e, 0x445, 0x445, 0xffff, 0xf, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x22, 0xf, 0x9a, 0x11, 0x1e0, 0x1f, 0x445, 0x445, 0xffff, 0x10, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xcf, 0x12, 0x1e1, 0x20, 0x445, 0x445, 0xffff, 0x11, MAPSEC_JUBILIFE_TV, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x13, 0x1e2, 0x21, 0x3f2, 0x40f, 0xffff, 0x12, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x14, 0x1e3, 0x22, 0x3f2, 0x40f, 0xffff, 0x13, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x15, 0x1e4, 0x23, 0x3f2, 0x40f, 0xffff, 0x14, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x170, 0x33b, 0x12, 0x3f2, 0x40f, 0xffff, 0x15, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0x14, 0x7d, 0x17, 0x1e6, 0x24, 0x3e8, 0x3e8, 0xffff, 0x16, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x18, 0x1e7, 0x25, 0x3f2, 0x40f, 0xffff, 0x17, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x19, 0x1e8, 0x26, 0x3f2, 0x40f, 0xffff, 0x18, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x1a, 0x1e9, 0x27, 0x3f2, 0x40f, 0xffff, 0x19, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x1b, 0x1ea, 0x28, 0x43f, 0x43f, 0xffff, 0x1a, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x28, 0xf, 0xcd, 0x1c, 0x1eb, 0x29, 0x449, 0x449, 0xffff, 0x1b, MAPSEC_GTS, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x8c, 0x1d, 0x1ec, 0x2a, 0x3f2, 0x40f, 0xffff, 0x1c, MAPSEC_TRAINERS_SCHOOL, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x1e, 0x1ed, 0x2b, 0x3f2, 0x40f, 0xffff, 0x1d, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0x14, 0x7d, 0x20, 0x1ef, 0x2d, 0x3e8, 0x3e8, 0xffff, 0x1e, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0x14, 0x7d, 0x21, 0x1f0, 0x2e, 0x3e8, 0x3e8, 0xffff, 0x1f, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xf, 0x9, 0x0, 0x22, 0x1f1, 0x2f, 0x3f3, 0x410, 0x0, 0x20, MAPSEC_CANALAVE_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x23, 0x1f2, 0x30, 0x442, 0x442, 0xffff, 0x21, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x18, 0xf, 0x70, 0x24, 0x1f3, 0x31, 0x43f, 0x43f, 0xffff, 0x22, MAPSEC_CANALAVE_CITY, 0x0, 0x3, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x25, 0x1f4, 0x32, 0x43d, 0x43e, 0xffff, 0x23, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x26, 0x1f5, 0x12, 0x43d, 0x43e, 0xffff, 0x24, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd9, 0x28, 0x1f7, 0x33, 0x3f3, 0x410, 0xffff, 0x25, MAPSEC_CANALAVE_LIBRARY, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xda, 0x29, 0x1f8, 0x34, 0x3f3, 0x410, 0xffff, 0x26, MAPSEC_CANALAVE_LIBRARY, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xdb, 0x2a, 0x1f9, 0x35, 0x3f3, 0x410, 0xffff, 0x27, MAPSEC_CANALAVE_LIBRARY, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x2b, 0x1fa, 0x36, 0x3f3, 0x410, 0xffff, 0x28, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x2c, 0x1fb, 0x37, 0x3f3, 0x410, 0xffff, 0x29, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0x2d, 0x1fc, 0x38, 0x428, 0x428, 0xffff, 0x2a, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0x2e, 0x1fd, 0x39, 0x3f3, 0x410, 0xffff, 0x2b, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x7, 0x1, 0x0, 0x30, 0x1ff, 0x3a, 0x3f4, 0x411, 0xffff, 0x2c, MAPSEC_OREBURGH_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x31, 0x200, 0x3b, 0x442, 0x442, 0xffff, 0x2d, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x19, 0xf, 0x71, 0x32, 0x201, 0x3c, 0x43f, 0x43f, 0xffff, 0x2e, MAPSEC_OREBURGH_CITY, 0x0, 0x9, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x33, 0x202, 0x3d, 0x43d, 0x43e, 0xffff, 0x2f, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x34, 0x203, 0x12, 0x43d, 0x43e, 0xffff, 0x30, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x36, 0x205, 0x3f, 0x3f4, 0x411, 0xffff, 0x31, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x37, 0x206, 0x40, 0x3f4, 0x411, 0xffff, 0x32, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x88, 0x38, 0x207, 0x41, 0x3f4, 0x411, 0xffff, 0x33, MAPSEC_OREBURGH_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x39, 0x208, 0x42, 0x3f4, 0x411, 0xffff, 0x34, MAPSEC_OREBURGH_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x3a, 0x209, 0x43, 0x3f4, 0x411, 0xffff, 0x35, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x3b, 0x20a, 0x44, 0x3f4, 0x411, 0xffff, 0x36, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x88, 0x3c, 0x20b, 0x45, 0x3f4, 0x411, 0xffff, 0x37, MAPSEC_OREBURGH_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x3d, 0x20c, 0x46, 0x3f4, 0x411, 0xffff, 0x38, MAPSEC_OREBURGH_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3e, 0x20d, 0x47, 0x3f4, 0x411, 0xffff, 0x39, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9b, 0x3f, 0x20e, 0x48, 0x3f4, 0x411, 0xffff, 0x3a, MAPSEC_MINING_MUSEUM, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x40, 0x20f, 0x49, 0x3f4, 0x411, 0xffff, 0x3b, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x41, 0x210, 0x4a, 0x3f4, 0x411, 0xffff, 0x3c, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x42, 0x211, 0x4b, 0x3f4, 0x411, 0xffff, 0x3d, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x43, 0x212, 0x4c, 0x3f4, 0x411, 0xffff, 0x3e, MAPSEC_OREBURGH_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x44, 0x213, 0x4d, 0x3f4, 0x411, 0xffff, 0x3f, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x8, 0x2, 0x0, 0x45, 0x214, 0x4e, 0x3f5, 0x412, 0x1, 0x40, MAPSEC_ETERNA_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x46, 0x215, 0x4f, 0x442, 0x442, 0xffff, 0x41, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1a, 0xf, 0xdc, 0x47, 0x216, 0x50, 0x43f, 0x43f, 0xffff, 0x42, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1a, 0xf, 0xdd, 0x48, 0x217, 0x51, 0x43f, 0x43f, 0xffff, 0x43, MAPSEC_ETERNA_CITY, 0x0, 0x9, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x49, 0x218, 0x52, 0x43d, 0x43e, 0xffff, 0x44, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x4a, 0x219, 0x53, 0x43d, 0x43e, 0xffff, 0x45, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0x8a, 0x4c, 0x21b, 0x54, 0x3f5, 0x412, 0xffff, 0x46, MAPSEC_CYCLE_SHOP, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x4d, 0x21c, 0x55, 0x42c, 0x42c, 0xffff, 0x47, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x85, 0x4e, 0x21d, 0x56, 0x42c, 0x42c, 0xffff, 0x48, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x86, 0x4f, 0x21e, 0x57, 0x42c, 0x42c, 0xffff, 0x49, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x50, 0x21f, 0x58, 0x42c, 0x42c, 0xffff, 0x4a, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x84, 0x51, 0x220, 0x59, 0x3f5, 0x412, 0xffff, 0x4b, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x87, 0x52, 0x221, 0x5a, 0x3f5, 0x412, 0xffff, 0x4c, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x53, 0x222, 0x5b, 0x3f5, 0x412, 0xffff, 0x4d, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x54, 0x223, 0x5c, 0x3f5, 0x412, 0xffff, 0x4e, MAPSEC_ETERNA_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9f, 0x55, 0x224, 0x5d, 0x400, 0x41d, 0xffff, 0x4f, MAPSEC_ROUTE_206, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xaa, 0x56, 0x225, 0x5e, 0x3f5, 0x412, 0xffff, 0x50, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7c, 0x57, 0x226, 0x5f, 0x3f5, 0x412, 0xffff, 0x51, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7c, 0x58, 0x227, 0x60, 0x3f5, 0x412, 0xffff, 0x52, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf4, 0x59, 0x228, 0x61, 0x3f5, 0x412, 0xffff, 0x53, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0x14, 0x7b, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x54, MAPSEC_ETERNA_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x9, 0x3, 0x0, 0x5a, 0x229, 0x62, 0x3f6, 0x413, 0xffff, 0x55, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x5b, 0x22a, 0x63, 0x442, 0x442, 0xffff, 0x56, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xde, 0x5c, 0x22b, 0x64, 0x43f, 0x43f, 0xffff, 0x57, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x58, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x59, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xe0, 0x5d, 0x22c, 0x65, 0x43f, 0x43f, 0xffff, 0x5a, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x5b, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xe0, 0x5e, 0x22d, 0x66, 0x43f, 0x43f, 0xffff, 0x5c, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x5d, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xe0, 0x5f, 0x22e, 0x67, 0x43f, 0x43f, 0xffff, 0x5e, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x5f, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x60, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x61, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xdf, 0x170, 0x33b, 0x12, 0x43f, 0x43f, 0xffff, 0x62, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1b, 0xf, 0xe1, 0x60, 0x22f, 0x68, 0x43f, 0x43f, 0xffff, 0x63, MAPSEC_HEARTHOME_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x61, 0x230, 0x69, 0x43d, 0x43e, 0xffff, 0x64, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x62, 0x231, 0x12, 0x43d, 0x43e, 0xffff, 0x65, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd1, 0x64, 0x233, 0x6a, 0x3f6, 0x413, 0xffff, 0x66, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd2, 0x65, 0x234, 0x6b, 0x3f6, 0x413, 0xffff, 0x67, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xcf, 0x66, 0x235, 0x6c, 0x3f6, 0x413, 0xffff, 0x68, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x9c, 0x67, 0x236, 0x6d, 0x3f6, 0x413, 0xffff, 0x69, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9d, 0x68, 0x237, 0x6e, 0x3f6, 0x413, 0xffff, 0x6a, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9d, 0x69, 0x238, 0x6f, 0x3f6, 0x413, 0xffff, 0x6b, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9e, 0x6a, 0x239, 0x70, 0x400, 0x41d, 0xffff, 0x6c, MAPSEC_ROUTE_208, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9e, 0x6b, 0x23a, 0x71, 0x401, 0x41e, 0xffff, 0x6d, MAPSEC_ROUTE_209, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9d, 0x6c, 0x23b, 0x72, 0x401, 0x41e, 0xffff, 0x6e, MAPSEC_ROUTE_212, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd1, 0x6d, 0x23c, 0x73, 0x3f6, 0x413, 0xffff, 0x6f, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd2, 0x6e, 0x23d, 0x74, 0x3f6, 0x413, 0xffff, 0x70, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xcf, 0x6f, 0x23e, 0x75, 0x3f6, 0x413, 0xffff, 0x71, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x70, 0x23f, 0x76, 0x3f6, 0x413, 0xffff, 0x72, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x25, 0xf, 0xed, 0x71, 0x240, 0x77, 0x441, 0x441, 0xffff, 0x73, MAPSEC_POFFIN_HOUSE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x20, 0xf, 0xa5, 0x72, 0x241, 0x78, 0x441, 0x441, 0xffff, 0x74, MAPSEC_CONTEST_HALL, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x20, 0xf, 0xa6, 0x73, 0x242, 0x12, 0x441, 0x441, 0xffff, 0x75, MAPSEC_CONTEST_HALL, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0xa7, 0x75, 0x244, 0x7a, 0x3e9, 0x3e9, 0xffff, 0x76, MAPSEC_FOREIGN_BUILDING, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0xc, 0x6, 0x0, 0x76, 0x245, 0x7b, 0x3f7, 0x414, 0x2, 0x77, MAPSEC_PASTORIA_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0xce, 0x77, 0x246, 0x7c, 0x442, 0x442, 0xffff, 0x78, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x17, 0xf, 0x6f, 0x78, 0x247, 0x7d, 0x43f, 0x43f, 0xffff, 0x79, MAPSEC_PASTORIA_CITY, 0x0, 0x1, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x79, 0x248, 0x7e, 0x43d, 0x43e, 0xffff, 0x7a, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x7a, 0x249, 0x7f, 0x43d, 0x43e, 0xffff, 0x7b, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x27, 0xf, 0xb5, 0x7c, 0x24b, 0x80, 0x3f7, 0x414, 0xffff, 0x7c, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x27, 0xf, 0xb6, 0x7d, 0x24c, 0x81, 0x3f7, 0x414, 0xffff, 0x7d, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x7e, 0x24d, 0x82, 0x3f7, 0x414, 0xffff, 0x7e, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x7f, 0x24e, 0x83, 0x3f7, 0x414, 0xffff, 0x7f, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x80, 0x24f, 0x84, 0x3f7, 0x414, 0xffff, 0x80, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x81, 0x250, 0x85, 0x3f7, 0x414, 0xffff, 0x81, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x82, 0x251, 0x86, 0x3f7, 0x414, 0xffff, 0x82, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xb, 0x5, 0x0, 0x83, 0x252, 0x87, 0x3f8, 0x415, 0xffff, 0x83, MAPSEC_VEILSTONE_CITY, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x1d, 0xf, 0x73, 0x84, 0x253, 0x88, 0x43f, 0x43f, 0xffff, 0x84, MAPSEC_VEILSTONE_CITY, 0x0, 0xa, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x85, 0x254, 0x89, 0x43d, 0x43e, 0xffff, 0x85, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x86, 0x255, 0x12, 0x43d, 0x43e, 0xffff, 0x86, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0x8b, 0x88, 0x257, 0x8b, 0x443, 0x443, 0xffff, 0x87, MAPSEC_GAME_CORNER, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xac, 0x89, 0x258, 0x8c, 0x442, 0x442, 0xffff, 0x88, MAPSEC_VEILSTONE_STORE, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xad, 0x8a, 0x259, 0x8d, 0x442, 0x442, 0xffff, 0x89, MAPSEC_VEILSTONE_STORE, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xae, 0x8b, 0x25a, 0x8e, 0x442, 0x442, 0xffff, 0x8a, MAPSEC_VEILSTONE_STORE, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xaf, 0x8c, 0x25b, 0x8f, 0x442, 0x442, 0xffff, 0x8b, MAPSEC_VEILSTONE_STORE, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xb0, 0x8d, 0x25c, 0x90, 0x442, 0x442, 0xffff, 0x8c, MAPSEC_VEILSTONE_STORE, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xcf, 0x8e, 0x25d, 0x91, 0x442, 0x442, 0xffff, 0x8d, MAPSEC_VEILSTONE_STORE, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xb1, 0x8f, 0x25e, 0x92, 0x3f8, 0x415, 0xffff, 0x8e, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xcc, 0x90, 0x25f, 0x93, 0x3f8, 0x415, 0xffff, 0x8f, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x91, 0x260, 0x94, 0x3f8, 0x415, 0xffff, 0x90, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x92, 0x261, 0x95, 0x3f8, 0x415, 0xffff, 0x91, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x93, 0x262, 0x96, 0x3f8, 0x415, 0xffff, 0x92, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x94, 0x263, 0x97, 0x3f8, 0x415, 0xffff, 0x93, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9e, 0x95, 0x264, 0x98, 0x402, 0x41f, 0xffff, 0x94, MAPSEC_ROUTE_215, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xd, 0x7, 0x0, 0x96, 0x265, 0x99, 0x3f9, 0x416, 0x3, 0x95, MAPSEC_SUNYSHORE_CITY, 0x0, 0xb, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x15, 0xf, 0x74, 0x9b, 0x26a, 0x9d, 0x43d, 0x43e, 0xffff, 0x96, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x9c, 0x26b, 0x12, 0x43d, 0x43e, 0xffff, 0x97, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0x7a, 0x97, 0x266, 0x9a, 0x442, 0x442, 0xffff, 0x98, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1e, 0xf, 0xe2, 0x98, 0x267, 0x9b, 0x43f, 0x43f, 0xffff, 0x99, MAPSEC_SUNYSHORE_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1e, 0xf, 0xe3, 0x99, 0x268, 0x12, 0x43f, 0x43f, 0xffff, 0x9a, MAPSEC_SUNYSHORE_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1e, 0xf, 0xe4, 0x9a, 0x269, 0x9c, 0x43f, 0x43f, 0xffff, 0x9b, MAPSEC_SUNYSHORE_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x26, 0xf, 0xcb, 0x9e, 0x26d, 0x9e, 0x3f9, 0x416, 0xffff, 0x9c, MAPSEC_SUNYSHORE_MARKET, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0x9f, 0x26e, 0x9f, 0x3f9, 0x416, 0xffff, 0x9d, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf4, 0xa0, 0x26f, 0xa0, 0x3f9, 0x416, 0xffff, 0x9e, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0xa1, 0x270, 0xa1, 0x3f9, 0x416, 0xffff, 0x9f, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0xa2, 0x271, 0xa2, 0x3f9, 0x416, 0xffff, 0xa0, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0xa3, 0x272, 0xa3, 0x3f9, 0x416, 0xffff, 0xa1, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0xa4, 0x273, 0xa4, 0x3f9, 0x416, 0xffff, 0xa2, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x27, 0xf, 0xe6, 0xa5, 0x274, 0xa5, 0x3f9, 0x416, 0xffff, 0xa3, MAPSEC_VISTA_LIGHTHOUSE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xe, 0x8, 0x0, 0xa8, 0x277, 0xa7, 0x3fa, 0x417, 0xffff, 0xa4, MAPSEC_SNOWPOINT_CITY, 0x1c, 0x0, 0x1, 5, FALSE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0xa9, 0x278, 0xa8, 0x442, 0x442, 0xffff, 0xa5, MAPSEC_SNOWPOINT_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1c, 0xf, 0x72, 0xaa, 0x279, 0xa9, 0x43f, 0x43f, 0xffff, 0xa6, MAPSEC_SNOWPOINT_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0xab, 0x27a, 0xaa, 0x43d, 0x43e, 0xffff, 0xa7, MAPSEC_SNOWPOINT_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0xac, 0x27b, 0x12, 0x43d, 0x43e, 0xffff, 0xa8, MAPSEC_SNOWPOINT_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0xae, 0x27d, 0xab, 0x3fa, 0x417, 0xffff, 0xa9, MAPSEC_SNOWPOINT_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0xaf, 0x27e, 0xac, 0x3fa, 0x417, 0xffff, 0xaa, MAPSEC_SNOWPOINT_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xd, 0xa, 0x0, 0xb0, 0x27f, 0xad, 0x3fb, 0x418, 0x4, 0xab, MAPSEC_POKEMON_LEAGUE, 0x8, 0xb, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x15, 0xf, 0x74, 0xb1, 0x280, 0xae, 0x43d, 0x43e, 0xffff, 0xac, MAPSEC_POKEMON_LEAGUE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0xb2, 0x281, 0x12, 0x43d, 0x43e, 0xffff, 0xad, MAPSEC_POKEMON_LEAGUE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x90, 0xb4, 0x283, 0xaf, 0x43d, 0x43e, 0xffff, 0xae, MAPSEC_POKEMON_LEAGUE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbb, 0xb5, 0x284, 0x12, 0x434, 0x434, 0xffff, 0xaf, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xb7, 0xb6, 0x285, 0xb0, 0x434, 0x434, 0xffff, 0xb0, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbc, 0xb7, 0x286, 0x12, 0x434, 0x434, 0xffff, 0xb1, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xb8, 0xb8, 0x287, 0xb1, 0x434, 0x434, 0xffff, 0xb2, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbc, 0xb9, 0x288, 0x12, 0x434, 0x434, 0xffff, 0xb3, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xb9, 0xba, 0x289, 0xb2, 0x434, 0x434, 0xffff, 0xb4, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbc, 0xbb, 0x28a, 0x12, 0x434, 0x434, 0xffff, 0xb5, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xba, 0xbc, 0x28b, 0xb3, 0x434, 0x434, 0xffff, 0xb6, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbd, 0xbd, 0x28c, 0x12, 0x434, 0x434, 0xffff, 0xb7, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbe, 0xbe, 0x28d, 0xb4, 0x434, 0x434, 0xffff, 0xb8, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xc0, 0xbf, 0x28e, 0xb5, 0x435, 0x435, 0xffff, 0xb9, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x24, 0xf, 0xbf, 0xc0, 0x28f, 0xb6, 0x435, 0x435, 0xffff, 0xba, MAPSEC_POKEMON_LEAGUE, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x13, 0xd, 0x0, 0xc3, 0x292, 0xb7, 0x3fc, 0x419, 0xffff, 0xbb, MAPSEC_FIGHT_AREA, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x15, 0xf, 0x74, 0xc5, 0x294, 0xb9, 0x43d, 0x43e, 0xffff, 0xbc, MAPSEC_FIGHT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0xc6, 0x295, 0x12, 0x43d, 0x43e, 0xffff, 0xbd, MAPSEC_FIGHT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0x7a, 0xc4, 0x293, 0xb8, 0x442, 0x442, 0xffff, 0xbe, MAPSEC_FIGHT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9f, 0xc8, 0x297, 0xba, 0x3fc, 0x419, 0xffff, 0xbf, MAPSEC_BATTLE_PARK, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9d, 0xc9, 0x298, 0xbb, 0x3f0, 0x40d, 0xffff, 0xc0, MAPSEC_ROUTE_225, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0xca, 0x299, 0xbc, 0x3fc, 0x419, 0xffff, 0xc1, MAPSEC_FIGHT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0xcb, 0x29a, 0xbd, 0x3fc, 0x419, 0xffff, 0xc2, MAPSEC_FIGHT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x170, 0x33b, 0x12, 0x3fc, 0x419, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x2d, 0x2d, 0x5, 0x170, 0x33b, 0x12, 0x426, 0x426, 0xffff, 0xc3, MAPSEC_OREBURGH_MINE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0x2d, 0xf, 0x5, 0xd0, 0x29c, 0xd0, 0x433, 0x433, 0x5, 0xc4, MAPSEC_OREBURGH_MINE, 0x0, 0xc, 0x3, 9, TRUE, FALSE, TRUE, FALSE },
- { 0x2d, 0xf, 0x6, 0xd1, 0x29d, 0xd1, 0x433, 0x433, 0x6, 0xc5, MAPSEC_OREBURGH_MINE, 0x0, 0xc, 0x3, 9, TRUE, FALSE, TRUE, FALSE },
- { 0x8, 0x2, 0x0, 0xd2, 0x29e, 0xd2, 0x3ff, 0x41c, 0x7, 0xc6, MAPSEC_VALLEY_WINDWORKS, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x1f, 0xf, 0xea, 0xd3, 0x29f, 0xd3, 0x42c, 0x42c, 0xffff, 0xc7, MAPSEC_VALLEY_WINDWORKS, 0x0, 0x4, 0x3, 7, FALSE, TRUE, FALSE, FALSE },
- { 0x8, 0x2, 0x0, 0xd4, 0x2a0, 0xd4, 0x3ff, 0x41c, 0xffff, 0xc8, MAPSEC_ETERNA_FOREST, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x2c, 0xf, 0x7, 0xd5, 0x2a1, 0xd5, 0x427, 0x427, 0x8, 0xc9, MAPSEC_ETERNA_FOREST, 0x0, 0x2, 0x3, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x8, 0x2, 0x0, 0xd6, 0x2a2, 0xd6, 0x3ff, 0x41c, 0x9, 0xca, MAPSEC_FUEGO_IRONWORKS, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x39, 0xf, 0x8, 0xd7, 0x2a3, 0xd7, 0x433, 0x433, 0xffff, 0xcb, MAPSEC_FUEGO_IRONWORKS, 0x0, 0x4, 0x3, 7, FALSE, TRUE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x2b, 0xf, 0x9, 0xd9, 0x2a5, 0xd8, 0x432, 0x432, 0xa, 0xcc, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0xa, 0xda, 0x2a6, 0xd9, 0x432, 0x432, 0xb, 0xcd, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0xb, 0x170, 0x33b, 0x12, 0x432, 0x432, 0xc, 0xce, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0xe, 0x8, 0xc, 0x170, 0x33b, 0x12, 0x42f, 0x42f, 0xd, 0xcf, MAPSEC_MT_CORONET, 0x6, 0x7, 0x2, 5, FALSE, TRUE, FALSE, TRUE },
- { 0xe, 0x8, 0xd, 0x170, 0x33b, 0x12, 0x42f, 0x42f, 0xe, 0xd0, MAPSEC_MT_CORONET, 0x6, 0x6, 0x2, 5, FALSE, TRUE, FALSE, TRUE },
- { 0x2b, 0xf, 0xe, 0x170, 0x33b, 0x12, 0x42f, 0x42f, 0xf, 0xd1, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0xf, 0x170, 0x33b, 0x12, 0x42f, 0x42f, 0x10, 0xd2, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x10, 0x170, 0x33b, 0x12, 0x42f, 0x42f, 0x11, 0xd3, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x11, 0x170, 0x33b, 0x12, 0x42f, 0x42f, 0x12, 0xd4, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x12, 0xe2, 0x2ae, 0xda, 0x42f, 0x42f, 0x13, 0xd5, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x13, 0x170, 0x33b, 0x12, 0x432, 0x432, 0x14, 0xd6, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x14, 0xe4, 0x2b0, 0xdb, 0x432, 0x432, 0x15, 0xd7, MAPSEC_MT_CORONET, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x15, 0x170, 0x33b, 0x12, 0x432, 0x432, 0x16, 0xd8, MAPSEC_MT_CORONET, 0xe, 0x0, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x32, 0xf, 0x16, 0xe6, 0x2b2, 0xdc, 0x430, 0x430, 0xffff, 0xd9, MAPSEC_SPEAR_PILLAR, 0xd, 0x5, 0x2, 4, FALSE, TRUE, FALSE, FALSE },
- { 0x32, 0xf, 0x17, 0x170, 0x33b, 0x12, 0x430, 0x430, 0xffff, 0x0, MAPSEC_SPEAR_PILLAR, 0xd, 0x5, 0x2, 4, FALSE, TRUE, FALSE, FALSE },
- { 0xc, 0x6, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x35, 0xf, 0x18, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0xda, MAPSEC_PASTORIA_CITY, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xa, 0x4, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x19, 0xf1, 0x2bd, 0xe5, 0x427, 0x427, 0x1d, 0xdb, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x1a, 0xf2, 0x2be, 0xe6, 0x427, 0x427, 0xffff, 0xdc, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x28, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x1e, 0xdd, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x23, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x1f, 0xde, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x27, 0xf5, 0x2c1, 0xe7, 0x427, 0x427, 0x20, 0xdf, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x1f, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x21, 0xe0, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x22, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x22, 0xe1, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x1f, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x23, 0xe2, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x28, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x24, 0xe3, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x2a, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x25, 0xe4, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x23, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x26, 0xe5, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x23, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x27, 0xe6, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x24, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x28, 0xe7, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x22, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x29, 0xe8, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x1e, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x2a, 0xe9, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x29, 0x100, 0x2cc, 0xe8, 0x427, 0x427, 0x2b, 0xea, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x1f, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x2c, 0xeb, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x23, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x2d, 0xec, MAPSEC_SOLACEON_RUINS, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0xe, 0x8, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x2b, 0xf, 0x2b, 0x103, 0x2cf, 0xe9, 0x426, 0x426, 0x2f, 0xed, MAPSEC_VICTORY_ROAD, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x2c, 0x170, 0x33b, 0x12, 0x426, 0x426, 0x30, 0xee, MAPSEC_VICTORY_ROAD, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x2d, 0x170, 0x33b, 0x12, 0x426, 0x426, 0x31, 0xef, MAPSEC_VICTORY_ROAD, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x2e, 0x106, 0x2d2, 0xea, 0x426, 0x426, 0x32, 0xf0, MAPSEC_VICTORY_ROAD, 0xe, 0x0, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x2f, 0x170, 0x33b, 0x12, 0x426, 0x426, 0x33, 0xf1, MAPSEC_VICTORY_ROAD, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x30, 0x170, 0x33b, 0x12, 0x426, 0x426, 0x34, 0xf2, MAPSEC_VICTORY_ROAD, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x4, 0x4, 0x31, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0xf3, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0x33, 0xf, 0x31, 0x109, 0x2d5, 0xeb, 0x3ea, 0x3ea, 0xffff, 0xf4, MAPSEC_PAL_PARK, 0x0, 0x2, 0x2, 0, TRUE, FALSE, FALSE, FALSE },
- { 0x9, 0x3, 0x0, 0x170, 0x33b, 0x12, 0x426, 0x426, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x31, 0xf, 0x32, 0x10a, 0x2d6, 0xec, 0x42a, 0x42a, 0xffff, 0xf5, MAPSEC_AMITY_SQUARE, 0x0, 0x2, 0x2, 0, FALSE, TRUE, FALSE, FALSE },
- { 0x2b, 0xf, 0x33, 0x10b, 0x2d7, 0x12, 0x432, 0x432, 0x35, 0xf6, MAPSEC_RAVAGED_PATH, 0x0, 0xc, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0x2c, 0x2c, 0x34, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0xf7, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0x8, 0x2, 0x34, 0x10d, 0x2d9, 0xee, 0x3ee, 0x40b, 0xffff, 0xf8, MAPSEC_FLOAROMA_MEADOW, 0x0, 0x2, 0x3, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7b, 0x10e, 0x2da, 0xef, 0x3ee, 0x40b, 0xffff, 0xf9, MAPSEC_FLOAROMA_MEADOW, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x2b, 0xf, 0x3, 0x10f, 0x2db, 0xf0, 0x432, 0x432, 0x36, 0xfa, MAPSEC_OREBURGH_GATE, 0x0, 0xc, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x4, 0x110, 0x2dc, 0xf1, 0x432, 0x432, 0x37, 0xfb, MAPSEC_OREBURGH_GATE, 0x1, 0xc, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0xf, 0xf, 0x0, 0x111, 0x2dd, 0xf2, 0x427, 0x427, 0xffff, 0xfc, MAPSEC_FULLMOON_ISLAND, 0x0, 0x0, 0x2, 0, FALSE, TRUE, FALSE, TRUE },
- { 0x2c, 0xf, 0x35, 0x112, 0x2de, 0xf3, 0x427, 0x427, 0xffff, 0xfd, MAPSEC_FULLMOON_ISLAND, 0x0, 0x2, 0x3, 3, FALSE, TRUE, FALSE, FALSE },
- { 0x11, 0xf, 0x0, 0x113, 0x2df, 0xf4, 0x3f0, 0x40d, 0x38, 0xfe, MAPSEC_STARK_MOUNTAIN, 0x9, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x2f, 0xf, 0x39, 0x114, 0x2e0, 0xf5, 0x431, 0x431, 0x39, 0xff, MAPSEC_STARK_MOUNTAIN, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2f, 0xf, 0x3a, 0x115, 0x2e1, 0xf6, 0x431, 0x431, 0x3a, 0x100, MAPSEC_STARK_MOUNTAIN, 0x0, 0x8, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2f, 0xf, 0x3b, 0x116, 0x2e2, 0xf7, 0x431, 0x431, 0xffff, 0x101, MAPSEC_STARK_MOUNTAIN, 0x0, 0xc, 0x3, 10, TRUE, TRUE, FALSE, FALSE },
- { 0x12, 0xc, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x34, 0xf, 0x3c, 0x170, 0x33b, 0x12, 0x428, 0x428, 0x3b, 0x102, MAPSEC_SENDOFF_SPRING, 0x8, 0x0, 0x3, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x2e, 0xf, 0x3d, 0x119, 0x2e5, 0xf8, 0x428, 0x428, 0xffff, 0x103, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x3e, 0x11a, 0x2e6, 0xf9, 0x428, 0x428, 0xffff, 0x104, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x3f, 0x11b, 0x2e7, 0xfa, 0x428, 0x428, 0xffff, 0x105, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x11c, 0x2e8, 0x12, 0x428, 0x428, 0x3f, 0x106, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x11d, 0x2e9, 0x12, 0x428, 0x428, 0x40, 0x107, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x41, 0x11e, 0x2ea, 0x12, 0x428, 0x428, 0x41, 0x108, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0xd, 0xa, 0x0, 0x12e, 0x2fa, 0xfb, 0x3ee, 0x40b, 0xffff, 0x109, MAPSEC_FLOWER_PARADISE, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7b, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, FALSE, FALSE, FALSE, FALSE },
- { 0xb, 0x5, 0x0, 0x170, 0x33b, 0x12, 0x426, 0x426, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0xb, 0x5, 0x0, 0x170, 0x33b, 0x12, 0x426, 0x426, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, TRUE, TRUE, FALSE, FALSE },
- { 0x37, 0xf, 0x44, 0x130, 0x2fc, 0x12, 0x427, 0x427, 0x6a, 0x10a, MAPSEC_SNOWPOINT_TEMPLE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x37, 0xf, 0x45, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x6b, 0x10b, MAPSEC_SNOWPOINT_TEMPLE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x37, 0xf, 0x46, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x6c, 0x10c, MAPSEC_SNOWPOINT_TEMPLE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x37, 0xf, 0x47, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x6d, 0x10d, MAPSEC_SNOWPOINT_TEMPLE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x37, 0xf, 0x48, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x6e, 0x10e, MAPSEC_SNOWPOINT_TEMPLE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x37, 0xf, 0x49, 0x135, 0x301, 0xfc, 0x427, 0x427, 0x6f, 0x10f, MAPSEC_SNOWPOINT_TEMPLE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x4a, 0x136, 0x302, 0xfd, 0x432, 0x432, 0x70, 0x110, MAPSEC_WAYWARD_CAVE, 0x10, 0xc, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x4b, 0x170, 0x33b, 0x12, 0x432, 0x432, 0x71, 0x111, MAPSEC_WAYWARD_CAVE, 0x0, 0xc, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x4c, 0x138, 0x304, 0xfe, 0x433, 0x433, 0x72, 0x112, MAPSEC_RUIN_MANIAC_CAVE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0xc, 0xf, 0x4f, 0x170, 0x33b, 0x12, 0x401, 0x41e, 0x75, 0x113, MAPSEC_TROPHY_GARDEN, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, TRUE },
- { 0xf, 0xf, 0x0, 0x13c, 0x308, 0x101, 0x3fe, 0x41b, 0x76, 0x114, MAPSEC_IRON_ISLAND, 0x8, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x2d, 0xf, 0x50, 0x13d, 0x309, 0x12, 0x433, 0x433, 0x77, 0x115, MAPSEC_IRON_ISLAND, 0x0, 0xd, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2d, 0xf, 0x51, 0x170, 0x33b, 0x12, 0x433, 0x433, 0x78, 0x116, MAPSEC_IRON_ISLAND, 0x0, 0xd, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2d, 0xf, 0x52, 0x13f, 0x30b, 0x12, 0x433, 0x433, 0x79, 0x117, MAPSEC_IRON_ISLAND, 0x0, 0xd, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2d, 0xf, 0x53, 0x170, 0x33b, 0x12, 0x433, 0x433, 0x7a, 0x118, MAPSEC_IRON_ISLAND, 0x0, 0xd, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2d, 0xf, 0x54, 0x141, 0x30d, 0x102, 0x433, 0x433, 0x7b, 0x119, MAPSEC_IRON_ISLAND, 0x0, 0xd, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2d, 0xf, 0x55, 0x142, 0x30e, 0x12, 0x433, 0x433, 0x7c, 0x11a, MAPSEC_IRON_ISLAND, 0x0, 0xd, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x38, 0xf, 0x56, 0x144, 0x310, 0x104, 0x428, 0x428, 0x7d, 0x11b, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x57, 0x145, 0x311, 0x12, 0x428, 0x428, 0x7e, 0x11c, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x58, 0x170, 0x33b, 0x12, 0x428, 0x428, 0x7f, 0x11d, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x59, 0x170, 0x33b, 0x12, 0x428, 0x428, 0x80, 0x11e, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x5a, 0x170, 0x33b, 0x12, 0x428, 0x428, 0x81, 0x11f, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x5b, 0x149, 0x315, 0x105, 0x428, 0x428, 0x82, 0x120, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x5c, 0x170, 0x33b, 0x12, 0x428, 0x428, 0x83, 0x121, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x5d, 0x14b, 0x317, 0x12, 0x428, 0x428, 0x84, 0x122, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x38, 0xf, 0x5e, 0x170, 0x33b, 0x12, 0x428, 0x428, 0x85, 0x123, MAPSEC_OLD_CHATEAU, 0x0, 0x4, 0x3, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0x1f, 0x9d, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x3, 9, FALSE, FALSE, FALSE, FALSE },
- { 0x30, 0xf, 0x5f, 0x14d, 0x319, 0x106, 0x42c, 0x42c, 0xffff, 0x124, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x30, 0xf, 0x60, 0x14e, 0x31a, 0x107, 0x42b, 0x42b, 0xffff, 0x125, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x30, 0xf, 0x61, 0x14f, 0x31b, 0x108, 0x42b, 0x42b, 0xffff, 0x126, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x30, 0xf, 0x62, 0x150, 0x31c, 0x109, 0x42b, 0x42b, 0xffff, 0x127, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x30, 0xf, 0x64, 0x151, 0x31d, 0x10a, 0x42b, 0x42b, 0xffff, 0x128, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x30, 0xf, 0x63, 0x152, 0x31e, 0x10b, 0x42b, 0x42b, 0xffff, 0x129, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x34, 0xf, 0x65, 0x156, 0x322, 0x10e, 0x42e, 0x42e, 0x86, 0x12a, MAPSEC_LAKE_VERITY, 0x0, 0x2, 0x3, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x34, 0xf, 0x66, 0x157, 0x323, 0x10f, 0x42c, 0x42c, 0x87, 0x12b, MAPSEC_LAKE_VERITY, 0x0, 0x2, 0x3, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x2b, 0xf, 0x67, 0x158, 0x324, 0x110, 0x429, 0x429, 0xffff, 0x12c, MAPSEC_VERITY_CAVERN, 0x0, 0xc, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x34, 0xf, 0x68, 0x15a, 0x326, 0x111, 0x42c, 0x42c, 0xffff, 0x12d, MAPSEC_LAKE_VALOR, 0x0, 0x2, 0x3, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x34, 0xf, 0x69, 0x15b, 0x327, 0x112, 0x42e, 0x42e, 0x88, 0x12e, MAPSEC_LAKE_VALOR, 0x0, 0x2, 0x3, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x2b, 0xf, 0x6a, 0x15c, 0x328, 0x113, 0x42c, 0x42c, 0xffff, 0x12f, MAPSEC_VALOR_CAVERN, 0x0, 0xc, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0xe, 0xf, 0x6b, 0x15e, 0x32a, 0x114, 0x42e, 0x42e, 0xffff, 0x130, MAPSEC_LAKE_ACUITY, 0x0, 0xf, 0x3, 5, FALSE, TRUE, FALSE, TRUE },
- { 0xe, 0xf, 0x6c, 0x15f, 0x32b, 0x115, 0x42c, 0x42c, 0x89, 0x131, MAPSEC_LAKE_ACUITY, 0x0, 0xf, 0x3, 5, FALSE, TRUE, FALSE, TRUE },
- { 0x2b, 0xf, 0x6d, 0x160, 0x32c, 0x116, 0x429, 0x429, 0xffff, 0x132, MAPSEC_ACUITY_CAVERN, 0x0, 0xc, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0xf, 0x9, 0x0, 0x161, 0x32d, 0x117, 0x428, 0x428, 0xffff, 0x133, MAPSEC_NEWMOON_ISLAND, 0x0, 0x0, 0x3, 0, FALSE, TRUE, FALSE, FALSE },
- { 0x2c, 0xf, 0x6e, 0x162, 0x32e, 0x118, 0x428, 0x428, 0xffff, 0x134, MAPSEC_NEWMOON_ISLAND, 0x0, 0x2, 0x3, 3, FALSE, TRUE, FALSE, FALSE },
- { 0x36, 0xf, 0xe5, 0x163, 0x32f, 0x119, 0x3fc, 0x419, 0xffff, 0x135, MAPSEC_BATTLE_PARK, 0x0, 0x2, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x29, 0xf, 0xe7, 0x164, 0x330, 0x11a, 0x3fc, 0x419, 0xffff, 0x136, MAPSEC_BATTLE_PARK, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xe8, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xe9, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xc1, 0x166, 0x332, 0x11b, 0x444, 0x444, 0xffff, 0x137, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xcf, 0x167, 0x333, 0x12, 0x444, 0x444, 0xffff, 0x138, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xc2, 0x168, 0x334, 0x12, 0x444, 0x444, 0xffff, 0x139, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xc3, 0x169, 0x335, 0x12, 0x444, 0x444, 0xffff, 0x13a, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xc5, 0x16a, 0x336, 0x11c, 0x444, 0x444, 0xffff, 0x13b, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xc6, 0x16b, 0x337, 0x11d, 0x444, 0x444, 0xffff, 0x13c, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x5, 0xe, 0x76, 0x16e, 0x339, 0x12, 0x43d, 0x43e, 0xffff, 0x13d, MAPSEC_MYSTERY_ZONE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x5, 0xe, 0x79, 0x16f, 0x33a, 0x12, 0x43d, 0x43e, 0xffff, 0x13e, MAPSEC_MYSTERY_ZONE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x17b, 0x33d, 0x160, 0x3fd, 0x41a, 0xffff, 0x13f, MAPSEC_VERITY_LAKEFRONT, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0x14, 0x7b, 0x17c, 0x33e, 0x161, 0x3fd, 0x41a, 0xffff, 0x140, MAPSEC_VERITY_LAKEFRONT, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x12, 0xc, 0x0, 0x17d, 0x33f, 0x162, 0x3f1, 0x40e, 0x8a, 0x141, MAPSEC_VALOR_LAKEFRONT, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x23, 0xf, 0x93, 0x17e, 0x340, 0x163, 0x3f1, 0x40e, 0xffff, 0x142, MAPSEC_RESTAURANT, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0x92, 0x17f, 0x341, 0x164, 0x3f1, 0x40e, 0xffff, 0x143, MAPSEC_GRAND_LAKE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0x92, 0x180, 0x342, 0x165, 0x3f1, 0x40e, 0xffff, 0x144, MAPSEC_GRAND_LAKE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0xe, 0x8, 0x0, 0x181, 0x343, 0x166, 0x403, 0x420, 0x8b, 0x145, MAPSEC_ACUITY_LAKEFRONT, 0x1b, 0x0, 0x2, 5, FALSE, TRUE, FALSE, TRUE },
- { 0x12, 0xc, 0x0, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x146, MAPSEC_SPRING_PATH, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x6, 0x0, 0x0, 0x188, 0x345, 0x19f, 0x3fd, 0x41a, 0x8c, 0x147, MAPSEC_ROUTE_201, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x6, 0x0, 0x0, 0x189, 0x346, 0x1a0, 0x3fd, 0x41a, 0x8d, 0x148, MAPSEC_ROUTE_202, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x6, 0x0, 0x0, 0x18a, 0x347, 0x1a1, 0x3fe, 0x41b, 0x8e, 0x149, MAPSEC_ROUTE_203, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x6, 0x0, 0x0, 0x18b, 0x348, 0x1a2, 0x3fe, 0x41b, 0x8f, 0x14a, MAPSEC_ROUTE_204, 0x0, 0x0, 0x2, 0, TRUE, TRUE, TRUE, TRUE },
- { 0x8, 0x2, 0x0, 0x18c, 0x349, 0x1a3, 0x3fe, 0x41b, 0x90, 0x14b, MAPSEC_ROUTE_204, 0x0, 0x0, 0x2, 0, TRUE, TRUE, TRUE, TRUE },
- { 0x8, 0x2, 0x0, 0x18d, 0x34a, 0x1a4, 0x3ff, 0x41c, 0x91, 0x14c, MAPSEC_ROUTE_205, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0xf3, 0x18e, 0x34b, 0x1a5, 0x3ff, 0x41c, 0xffff, 0x14d, MAPSEC_ROUTE_205, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x8, 0x2, 0x0, 0x18f, 0x34c, 0x1a6, 0x3ff, 0x41c, 0x92, 0x14e, MAPSEC_ROUTE_205, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x7, 0x1, 0x0, 0x190, 0x34d, 0x1a7, 0x400, 0x41d, 0x93, 0x14f, MAPSEC_ROUTE_206, 0x8, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x1f, 0xf, 0xd3, 0x191, 0x34e, 0x1a8, 0x400, 0x41d, 0xffff, 0x150, MAPSEC_ROUTE_206, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0x1f, 0x9d, 0x192, 0x34f, 0x1a9, 0x3e8, 0x3e8, 0xffff, 0x151, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x7, 0x1, 0x0, 0x193, 0x350, 0x1aa, 0x400, 0x41d, 0x94, 0x152, MAPSEC_ROUTE_207, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x9, 0x3, 0x0, 0x194, 0x351, 0x1ab, 0x400, 0x41d, 0x95, 0x153, MAPSEC_ROUTE_208, 0x8, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7b, 0x195, 0x352, 0x1ac, 0x400, 0x41d, 0xffff, 0x154, MAPSEC_ROUTE_208, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xa, 0x4, 0x0, 0x196, 0x353, 0x1ad, 0x401, 0x41e, 0x96, 0x155, MAPSEC_ROUTE_209, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x2a, 0xf, 0xd4, 0x197, 0x354, 0x1ae, 0x427, 0x427, 0x97, 0x156, MAPSEC_ROUTE_209, 0x0, 0x4, 0x4, 8, FALSE, FALSE, TRUE, FALSE },
- { 0x2a, 0xf, 0xd5, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x98, 0x157, MAPSEC_ROUTE_209, 0x0, 0x4, 0x4, 8, FALSE, FALSE, TRUE, FALSE },
- { 0x2a, 0xf, 0xd6, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x99, 0x158, MAPSEC_ROUTE_209, 0x0, 0x4, 0x4, 8, FALSE, FALSE, TRUE, FALSE },
- { 0x2a, 0xf, 0xd7, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x9a, 0x159, MAPSEC_ROUTE_209, 0x0, 0x4, 0x4, 8, FALSE, FALSE, TRUE, FALSE },
- { 0x2a, 0xf, 0xd8, 0x19b, 0x358, 0x1af, 0x427, 0x427, 0x9b, 0x15a, MAPSEC_ROUTE_209, 0x0, 0x4, 0x4, 8, FALSE, FALSE, TRUE, FALSE },
- { 0xa, 0x4, 0x0, 0x19c, 0x359, 0x1b0, 0x402, 0x41f, 0x9c, 0x15b, MAPSEC_ROUTE_210, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0xa, 0x4, 0x0, 0x19e, 0x35b, 0x1b2, 0x402, 0x41f, 0x9d, 0x15c, MAPSEC_ROUTE_210, 0xe, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7b, 0x19f, 0x35c, 0x1b3, 0x402, 0x41f, 0xffff, 0x15d, MAPSEC_ROUTE_210, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x8, 0x2, 0x0, 0x1a0, 0x35d, 0x1b4, 0x3ff, 0x41c, 0x9e, 0x15e, MAPSEC_ROUTE_211, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0xa, 0x4, 0x0, 0x1a1, 0x35e, 0x1b5, 0x402, 0x41f, 0x9f, 0x15f, MAPSEC_ROUTE_211, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0xc, 0x6, 0x0, 0x1a2, 0x35f, 0x1b6, 0x401, 0x41e, 0xa0, 0x160, MAPSEC_ROUTE_212, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x23, 0xf, 0xb2, 0x1a3, 0x360, 0x1b7, 0x401, 0x41e, 0xffff, 0x161, MAPSEC_POKEMON_MANSION, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0xb3, 0x1a4, 0x361, 0x1b8, 0x401, 0x41e, 0xffff, 0x162, MAPSEC_POKEMON_MANSION, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0xb4, 0x1a5, 0x362, 0x1b9, 0x401, 0x41e, 0xffff, 0x163, MAPSEC_POKEMON_MANSION, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0xc, 0x6, 0x0, 0x1a6, 0x363, 0x1ba, 0x401, 0x41e, 0xa1, 0x164, MAPSEC_ROUTE_212, 0x18, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0xf4, 0x1a7, 0x364, 0x1bb, 0x401, 0x41e, 0xffff, 0x165, MAPSEC_ROUTE_212, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x12, 0xc, 0x0, 0x1a8, 0x365, 0x1bc, 0x3f1, 0x40e, 0xa2, 0x166, MAPSEC_ROUTE_213, 0x19, 0x0, 0x2, 1, TRUE, TRUE, FALSE, TRUE },
- { 0x1f, 0xf, 0x9e, 0x1a9, 0x366, 0x1bd, 0x3f1, 0x40e, 0xffff, 0x167, MAPSEC_ROUTE_213, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x1aa, 0x367, 0x1be, 0x3f1, 0x40e, 0xffff, 0x168, MAPSEC_FOOTSTEP_HOUSE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0x91, 0x1ab, 0x368, 0x1bf, 0x3f1, 0x40e, 0xffff, 0x169, MAPSEC_GRAND_LAKE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0x92, 0x1ac, 0x369, 0x1c0, 0x3f1, 0x40e, 0xffff, 0x16a, MAPSEC_GRAND_LAKE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0x92, 0x1ad, 0x36a, 0x1c1, 0x3f1, 0x40e, 0xffff, 0x16b, MAPSEC_GRAND_LAKE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0x92, 0x1ae, 0x36b, 0x1c2, 0x3f1, 0x40e, 0xffff, 0x16c, MAPSEC_GRAND_LAKE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x12, 0xc, 0x0, 0x1af, 0x36c, 0x1c3, 0x402, 0x41f, 0xa3, 0x16d, MAPSEC_ROUTE_214, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x1f, 0xf, 0x9d, 0x1b0, 0x36d, 0x1c4, 0x402, 0x41f, 0xffff, 0x16e, MAPSEC_ROUTE_214, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xa, 0x4, 0x0, 0x1b1, 0x36e, 0x1c5, 0x402, 0x41f, 0xa4, 0x16f, MAPSEC_ROUTE_215, 0x2, 0x0, 0x2, 3, TRUE, TRUE, FALSE, TRUE },
- { 0xe, 0x8, 0x0, 0x1b2, 0x36f, 0x1c6, 0x403, 0x420, 0xa5, 0x170, MAPSEC_ROUTE_216, 0x1a, 0x0, 0x2, 5, FALSE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0xf3, 0x1b3, 0x370, 0x1c7, 0x403, 0x420, 0xffff, 0x171, MAPSEC_ROUTE_216, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xe, 0x8, 0x0, 0x1b4, 0x371, 0x1c8, 0x403, 0x420, 0xa6, 0x172, MAPSEC_ROUTE_217, 0x7, 0x0, 0x2, 5, FALSE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7c, 0x1b5, 0x372, 0x1c9, 0x403, 0x420, 0xffff, 0x173, MAPSEC_ROUTE_217, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7c, 0x1b6, 0x373, 0x1ca, 0x403, 0x420, 0xffff, 0x174, MAPSEC_ROUTE_217, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xf, 0x9, 0x0, 0x1b7, 0x374, 0x1cb, 0x3fe, 0x41b, 0xa7, 0x175, MAPSEC_ROUTE_218, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x1f, 0xf, 0x9e, 0x1b8, 0x375, 0x1cc, 0x3fe, 0x41b, 0xffff, 0x176, MAPSEC_ROUTE_218, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9e, 0x1b9, 0x376, 0x1cd, 0x3fe, 0x41b, 0xffff, 0x177, MAPSEC_ROUTE_218, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x1ba, 0x377, 0x1ce, 0x3fd, 0x41a, 0xa8, 0x178, MAPSEC_ROUTE_219, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x6, 0x0, 0x0, 0x1bb, 0x378, 0x1cf, 0x400, 0x41d, 0xa9, 0x179, MAPSEC_ROUTE_221, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x27, 0xf, 0xc9, 0x1bc, 0x379, 0x1d0, 0x400, 0x41d, 0xffff, 0x17a, MAPSEC_PAL_PARK, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf4, 0x1bd, 0x37a, 0x1d1, 0x400, 0x41d, 0xffff, 0x17b, MAPSEC_ROUTE_221, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x12, 0xc, 0x0, 0x1be, 0x37b, 0x1d2, 0x401, 0x41e, 0xaa, 0x17c, MAPSEC_ROUTE_222, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7b, 0x1bf, 0x37c, 0x1d3, 0x401, 0x41e, 0xffff, 0x17d, MAPSEC_ROUTE_222, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x1c0, 0x37d, 0x1d4, 0x401, 0x41e, 0xffff, 0x17e, MAPSEC_ROUTE_222, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9e, 0x1c1, 0x37e, 0x1d5, 0x401, 0x41e, 0xffff, 0x17f, MAPSEC_ROUTE_222, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xd, 0xa, 0x0, 0x1c2, 0x37f, 0x1d6, 0x402, 0x41f, 0xab, 0x180, MAPSEC_ROUTE_224, 0x0, 0x0, 0x2, 0, TRUE, TRUE, FALSE, TRUE },
- { 0x11, 0xb, 0x0, 0x1c3, 0x380, 0x1d7, 0x3f0, 0x40d, 0xac, 0x181, MAPSEC_ROUTE_225, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x11, 0xb, 0x0, 0x170, 0x33b, 0x12, 0x400, 0x41d, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x11, 0xb, 0x0, 0x170, 0x33b, 0x12, 0x400, 0x41d, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x11, 0xb, 0x0, 0x1c6, 0x383, 0x1da, 0x3f0, 0x40d, 0xad, 0x182, MAPSEC_ROUTE_227, 0x9, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x11, 0xb, 0x0, 0x170, 0x33b, 0x12, 0x400, 0x41d, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x11, 0xb, 0x0, 0x170, 0x33b, 0x12, 0x400, 0x41d, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x13, 0xd, 0x0, 0x1c8, 0x385, 0x1dc, 0x404, 0x421, 0xae, 0x183, MAPSEC_ROUTE_228, 0xa, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x13, 0xd, 0x0, 0x1cc, 0x389, 0x1e0, 0x404, 0x421, 0xaf, 0x184, MAPSEC_ROUTE_229, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, TRUE },
- { 0x13, 0xd, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x13, 0xd, 0x0, 0x170, 0x33b, 0x12, 0x400, 0x41d, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x5, 0xe, 0x77, 0x170, 0x33b, 0x12, 0x43d, 0x43e, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x3d2, 0x38c, 0x1f2, 0x3ec, 0x409, 0xb0, 0x185, MAPSEC_TWINLEAF_TOWN, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x14, 0xf, 0x7e, 0x3d3, 0x38d, 0x1f3, 0x3ec, 0x409, 0xffff, 0x186, MAPSEC_TWINLEAF_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7f, 0x3d4, 0x38e, 0x1f4, 0x3ec, 0x409, 0xffff, 0x187, MAPSEC_TWINLEAF_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x80, 0x3d5, 0x38f, 0x1f5, 0x3ec, 0x409, 0xffff, 0x188, MAPSEC_TWINLEAF_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x81, 0x3d6, 0x390, 0x1f6, 0x3ec, 0x409, 0xffff, 0x189, MAPSEC_TWINLEAF_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3d7, 0x391, 0x1f7, 0x3ec, 0x409, 0xffff, 0x18a, MAPSEC_TWINLEAF_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3d8, 0x392, 0x1f8, 0x3ec, 0x409, 0xffff, 0x18b, MAPSEC_TWINLEAF_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x3d9, 0x393, 0x1f9, 0x3ed, 0x40a, 0xffff, 0x18c, MAPSEC_SANDGEM_TOWN, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x3da, 0x394, 0x1fa, 0x442, 0x442, 0xffff, 0x18d, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x3db, 0x395, 0x1fb, 0x43d, 0x43e, 0xffff, 0x18e, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x3dc, 0x396, 0x1fc, 0x43d, 0x43e, 0xffff, 0x18f, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xa0, 0x3de, 0x398, 0x1fd, 0x440, 0x440, 0xffff, 0x190, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x82, 0x3df, 0x399, 0x1fe, 0x3ed, 0x40a, 0xffff, 0x191, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x83, 0x3e0, 0x39a, 0x1ff, 0x3ed, 0x40a, 0xffff, 0x192, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3e1, 0x39b, 0x200, 0x3ed, 0x40a, 0xffff, 0x193, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x8, 0x2, 0x0, 0x3e2, 0x39c, 0x201, 0x3ee, 0x40b, 0xffff, 0x194, MAPSEC_FLOAROMA_TOWN, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x3e3, 0x39d, 0x202, 0x442, 0x442, 0xffff, 0x195, MAPSEC_FLOAROMA_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x3e4, 0x39e, 0x203, 0x43d, 0x43e, 0xffff, 0x196, MAPSEC_FLOAROMA_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x3e5, 0x39f, 0x12, 0x43d, 0x43e, 0xffff, 0x197, MAPSEC_FLOAROMA_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0xec, 0x3e7, 0x3a1, 0x204, 0x3ee, 0x40b, 0xffff, 0x198, MAPSEC_FLOWER_SHOP, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3e8, 0x3a2, 0x205, 0x3ee, 0x40b, 0xffff, 0x199, MAPSEC_FLOAROMA_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3e9, 0x3a3, 0x206, 0x3ee, 0x40b, 0xffff, 0x19a, MAPSEC_FLOAROMA_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xa, 0x4, 0x0, 0x3ea, 0x3a4, 0x207, 0x3f7, 0x414, 0xffff, 0x19b, MAPSEC_SOLACEON_TOWN, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x3eb, 0x3a5, 0x208, 0x442, 0x442, 0xffff, 0x19c, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x3ec, 0x3a6, 0x209, 0x43d, 0x43e, 0xffff, 0x19d, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x3ed, 0x3a7, 0x12, 0x43d, 0x43e, 0xffff, 0x19e, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x16, 0xf, 0x89, 0x3ef, 0x3a9, 0x20a, 0x3f7, 0x414, 0xffff, 0x19f, MAPSEC_POKEMON_DAY_CARE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3f0, 0x3aa, 0x20b, 0x3f7, 0x414, 0xffff, 0x1a0, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf4, 0x3f1, 0x3ab, 0x20c, 0x3f7, 0x414, 0xffff, 0x1a1, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3f2, 0x3ac, 0x20d, 0x3f7, 0x414, 0xffff, 0x1a2, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x3f3, 0x3ad, 0x20e, 0x3f7, 0x414, 0xffff, 0x1a3, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0xa, 0x4, 0x0, 0x3f4, 0x3ae, 0x20f, 0x3f5, 0x412, 0xb1, 0x1a4, MAPSEC_CELESTIC_TOWN, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x15, 0xf, 0x74, 0x3f6, 0x3b0, 0x210, 0x43d, 0x43e, 0xffff, 0x1a5, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x3f7, 0x3b1, 0x12, 0x43d, 0x43e, 0xffff, 0x1a6, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xa8, 0x3f9, 0x3b3, 0x211, 0x3f5, 0x412, 0xffff, 0x1a7, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xaa, 0x3fa, 0x3b4, 0x212, 0x3f5, 0x412, 0xffff, 0x1a8, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7c, 0x3fb, 0x3b5, 0x213, 0x3f5, 0x412, 0xffff, 0x1a9, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7c, 0x3fc, 0x3b6, 0x214, 0x3f5, 0x412, 0xffff, 0x1aa, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x2e, 0xf, 0xa9, 0x3fd, 0x3b7, 0x215, 0x3f5, 0x412, 0xffff, 0x1ab, MAPSEC_CELESTIC_TOWN, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x11, 0xb, 0x0, 0x3fe, 0x3b8, 0x216, 0x3fc, 0x419, 0xffff, 0x1ac, MAPSEC_SURVIVAL_AREA, 0x0, 0x0, 0x1, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x3ff, 0x3b9, 0x217, 0x442, 0x442, 0xffff, 0x1ad, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x400, 0x3ba, 0x218, 0x43d, 0x43e, 0xffff, 0x1ae, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x401, 0x3bb, 0x12, 0x43d, 0x43e, 0xffff, 0x1af, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x403, 0x3bd, 0x219, 0x3fc, 0x419, 0xffff, 0x1b0, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x404, 0x3be, 0x21a, 0x3fc, 0x419, 0xffff, 0x1b1, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x405, 0x3bf, 0x21b, 0x3fc, 0x419, 0xffff, 0x1b2, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x13, 0xd, 0x0, 0x406, 0x3c0, 0x21c, 0x3f1, 0x40e, 0xb2, 0x1b3, MAPSEC_RESORT_AREA, 0x0, 0x0, 0x1, 2, TRUE, TRUE, FALSE, TRUE },
- { 0x16, 0xf, 0x7a, 0x407, 0x3c1, 0x21d, 0x442, 0x442, 0xffff, 0x1b4, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x74, 0x408, 0x3c2, 0x21e, 0x43d, 0x43e, 0xffff, 0x1b5, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0x409, 0x3c3, 0x12, 0x43d, 0x43e, 0xffff, 0x1b6, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x26, 0xf, 0xc7, 0x40b, 0x3c5, 0x21f, 0x3f1, 0x40e, 0xffff, 0x1b7, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x26, 0xf, 0xc8, 0x40c, 0x3c6, 0x220, 0x3f1, 0x40e, 0xffff, 0x1b8, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xcf, 0x40d, 0x3c7, 0x221, 0x3f1, 0x40e, 0xffff, 0x1b9, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x40e, 0x3c8, 0x222, 0x3f1, 0x40e, 0xffff, 0x1ba, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x40f, 0x3c9, 0x223, 0x3f1, 0x40e, 0xffff, 0x1bb, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x5, 0xe, 0x78, 0x414, 0x3cb, 0x240, 0x43d, 0x43e, 0xffff, 0x1bc, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x6, 0x0, 0x0, 0x170, 0x33b, 0x12, 0x400, 0x41d, 0xb3, 0x1bd, MAPSEC_ROUTE_220, 0x0, 0x0, 0x2, 1, TRUE, TRUE, FALSE, TRUE },
- { 0xd, 0x7, 0x0, 0x170, 0x33b, 0x12, 0x402, 0x41f, 0xb4, 0x1be, MAPSEC_ROUTE_223, 0x0, 0xb, 0x2, 1, TRUE, TRUE, FALSE, TRUE },
- { 0x11, 0xb, 0x0, 0x417, 0x3ce, 0x247, 0x3f0, 0x40d, 0xb5, 0x1bf, MAPSEC_ROUTE_226, 0x0, 0x0, 0x2, 4, TRUE, TRUE, FALSE, TRUE },
- { 0x13, 0xd, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x13, 0xd, 0x0, 0x419, 0x3d0, 0x249, 0x404, 0x421, 0xb6, 0x1c0, MAPSEC_ROUTE_230, 0x0, 0x0, 0x2, 1, TRUE, TRUE, FALSE, TRUE },
- { 0xd, 0xd, 0x0, 0x170, 0x33b, 0x12, 0x3ee, 0x40b, 0xffff, 0x1c1, MAPSEC_SEABREAK_PATH, 0x0, 0x0, 0x2, 1, TRUE, TRUE, FALSE, TRUE },
- { 0x13, 0xd, 0x0, 0x170, 0x33b, 0x12, 0x3e8, 0x3e8, 0xffff, 0x0, MAPSEC_MYSTERY_ZONE, 0x0, 0x0, 0x2, 1, TRUE, TRUE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x7, 0x1d6, 0x12, 0x43d, 0x43e, 0xffff, 0x1c2, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x27, 0x1f6, 0x12, 0x43d, 0x43e, 0xffff, 0x1c3, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x35, 0x204, 0x3e, 0x43d, 0x43e, 0xffff, 0x1c4, MAPSEC_OREBURGH_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x4b, 0x21a, 0x12, 0x43d, 0x43e, 0xffff, 0x1c5, MAPSEC_ETERNA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x63, 0x232, 0x12, 0x43d, 0x43e, 0xffff, 0x1c6, MAPSEC_HEARTHOME_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x7b, 0x24a, 0x12, 0x43d, 0x43e, 0xffff, 0x1c7, MAPSEC_PASTORIA_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x87, 0x256, 0x8a, 0x43d, 0x43e, 0xffff, 0x1c8, MAPSEC_VEILSTONE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x9d, 0x26c, 0x12, 0x43d, 0x43e, 0xffff, 0x1c9, MAPSEC_SUNYSHORE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0xad, 0x27c, 0x12, 0x43d, 0x43e, 0xffff, 0x1ca, MAPSEC_SNOWPOINT_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0xb3, 0x282, 0x12, 0x43d, 0x43e, 0xffff, 0x1cb, MAPSEC_POKEMON_LEAGUE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0xc7, 0x296, 0x12, 0x43d, 0x43e, 0xffff, 0x1cc, MAPSEC_FIGHT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x3dd, 0x397, 0x12, 0x43d, 0x43e, 0xffff, 0x1cd, MAPSEC_SANDGEM_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x3e6, 0x3a0, 0x12, 0x43d, 0x43e, 0xffff, 0x1ce, MAPSEC_FLOAROMA_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x3ee, 0x3a8, 0x12, 0x43d, 0x43e, 0xffff, 0x1cf, MAPSEC_SOLACEON_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x3f8, 0x3b2, 0x12, 0x43d, 0x43e, 0xffff, 0x1d0, MAPSEC_CELESTIC_TOWN, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x402, 0x3bc, 0x12, 0x43d, 0x43e, 0xffff, 0x1d1, MAPSEC_SURVIVAL_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0x40a, 0x3c4, 0x12, 0x43d, 0x43e, 0xffff, 0x1d2, MAPSEC_RESORT_AREA, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7c, 0x2f, 0x1fe, 0x12, 0x3f3, 0x410, 0xffff, 0x1d3, MAPSEC_CANALAVE_CITY, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x23, 0xf, 0xab, 0x19d, 0x35a, 0x1b1, 0x402, 0x41f, 0xffff, 0x1d4, MAPSEC_CAFE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x21, 0xf, 0xc4, 0x16c, 0x338, 0x11e, 0x444, 0x444, 0xffff, 0x1d5, MAPSEC_BATTLE_TOWER, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x3a, 0xf, 0xee, 0x153, 0x31f, 0x10c, 0x446, 0x446, 0xffff, 0x1d6, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0x75, 0xc1, 0x290, 0x12, 0x43d, 0x43e, 0xffff, 0x1d7, MAPSEC_POKEMON_LEAGUE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x15, 0xf, 0xeb, 0xc2, 0x291, 0x12, 0x43d, 0x43e, 0xffff, 0x1d8, MAPSEC_POKEMON_LEAGUE, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x3a, 0xf, 0xef, 0x154, 0x320, 0x10d, 0x446, 0x446, 0xffff, 0x1d9, MAPSEC_GALACTIC_HQ, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7b, 0x1c4, 0x381, 0x1d8, 0x3f0, 0x40d, 0xffff, 0x1da, MAPSEC_ROUTE_225, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf4, 0x418, 0x3cf, 0x248, 0x3f0, 0x40d, 0xffff, 0x1db, MAPSEC_ROUTE_226, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf3, 0x1c7, 0x384, 0x1db, 0x3f0, 0x40d, 0xffff, 0x1dc, MAPSEC_ROUTE_227, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0x9e, 0x1c9, 0x386, 0x1dd, 0x404, 0x421, 0xffff, 0x1dd, MAPSEC_ROUTE_228, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0xf4, 0x1ca, 0x387, 0x1de, 0x404, 0x421, 0xffff, 0x1de, MAPSEC_ROUTE_228, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x14, 0xf, 0x7d, 0x1cb, 0x388, 0x1df, 0x404, 0x421, 0xffff, 0x1df, MAPSEC_ROUTE_228, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x35, 0xf, 0xf0, 0xeb, 0x2b7, 0xdf, 0x42d, 0x42d, 0x17, 0x1e0, MAPSEC_GREAT_MARSH, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x35, 0xf, 0xf0, 0xec, 0x2b8, 0xe0, 0x42d, 0x42d, 0x18, 0x1e1, MAPSEC_GREAT_MARSH, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x35, 0xf, 0xf0, 0xed, 0x2b9, 0xe1, 0x42d, 0x42d, 0x19, 0x1e2, MAPSEC_GREAT_MARSH, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x35, 0xf, 0xf0, 0xee, 0x2ba, 0xe2, 0x42d, 0x42d, 0x1a, 0x1e3, MAPSEC_GREAT_MARSH, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x35, 0xf, 0xf0, 0xef, 0x2bb, 0xe3, 0x42d, 0x42d, 0x1b, 0x1e4, MAPSEC_GREAT_MARSH, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x35, 0xf, 0xf0, 0xf0, 0x2bc, 0xe4, 0x42d, 0x42d, 0x1c, 0x1e5, MAPSEC_GREAT_MARSH, 0x0, 0x2, 0x2, 3, TRUE, TRUE, FALSE, FALSE },
- { 0x32, 0xf, 0xf1, 0xe8, 0x2b4, 0xdd, 0x448, 0x448, 0xffff, 0x1e6, MAPSEC_HALL_OF_ORIGIN, 0xd, 0xe, 0x2, 9, FALSE, TRUE, FALSE, FALSE },
- { 0x32, 0xf, 0xf2, 0x170, 0x33b, 0x12, 0x430, 0x430, 0xffff, 0x0, MAPSEC_HALL_OF_ORIGIN, 0xd, 0xe, 0x2, 9, FALSE, TRUE, FALSE, FALSE },
- { 0x2b, 0xf, 0x4d, 0x139, 0x305, 0xff, 0x433, 0x433, 0x73, 0x1e7, MAPSEC_RUIN_MANIAC_CAVE, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x2b, 0xf, 0x4e, 0x13a, 0x306, 0x100, 0x427, 0x427, 0x74, 0x1e8, MAPSEC_MANIAC_TUNNEL, 0x0, 0xc, 0x3, 10, TRUE, TRUE, TRUE, FALSE },
- { 0x14, 0xf, 0xf3, 0x143, 0x30f, 0x103, 0x3fe, 0x41b, 0xffff, 0x1e9, MAPSEC_IRON_ISLAND, 0x0, 0x4, 0x4, 6, FALSE, FALSE, FALSE, FALSE },
- { 0x2e, 0xf, 0x1f, 0x170, 0x33b, 0x12, 0x427, 0x427, 0x2e, 0x1ea, MAPSEC_SOLACEON_RUINS, 0x0, 0x0, 0x3, 9, TRUE, TRUE, TRUE, FALSE },
- { 0x15, 0xf, 0xcf, 0xa6, 0x275, 0x12, 0x3f9, 0x416, 0xffff, 0x1eb, MAPSEC_VISTA_LIGHTHOUSE, 0x0, 0x4, 0x4, 8, FALSE, FALSE, FALSE, FALSE },
- { 0x1f, 0xf, 0xd0, 0x1f, 0x1ee, 0x2c, 0x3f2, 0x40f, 0xffff, 0x1ec, MAPSEC_JUBILIFE_CITY, 0x0, 0x4, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
- { 0x2e, 0xf, 0x41, 0x11f, 0x2eb, 0x12, 0x428, 0x428, 0x42, 0x1ed, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x42, 0x120, 0x2ec, 0x12, 0x428, 0x428, 0x43, 0x1ee, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x42, 0x121, 0x2ed, 0x12, 0x428, 0x428, 0x44, 0x1ef, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x122, 0x2ee, 0x12, 0x428, 0x428, 0x45, 0x1f0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x123, 0x2ef, 0x12, 0x428, 0x428, 0x46, 0x1f1, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x41, 0x124, 0x2f0, 0x12, 0x428, 0x428, 0x47, 0x1f2, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x41, 0x125, 0x2f1, 0x12, 0x428, 0x428, 0x48, 0x1f3, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x42, 0x126, 0x2f2, 0x12, 0x428, 0x428, 0x49, 0x1f4, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x42, 0x127, 0x2f3, 0x12, 0x428, 0x428, 0x4a, 0x1f5, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x128, 0x2f4, 0x12, 0x428, 0x428, 0x4b, 0x1f6, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x129, 0x2f5, 0x12, 0x428, 0x428, 0x4c, 0x1f7, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x41, 0x12a, 0x2f6, 0x12, 0x428, 0x428, 0x4d, 0x1f8, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x41, 0x12b, 0x2f7, 0x12, 0x428, 0x428, 0x4e, 0x1f9, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x42, 0x12c, 0x2f8, 0x12, 0x428, 0x428, 0x4f, 0x1fa, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x42, 0x12d, 0x2f9, 0x12, 0x428, 0x428, 0xffff, 0x1fb, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, FALSE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x1fc, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x1fd, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x1fe, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x40, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x41, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x2e, 0xf, 0x42, 0x170, 0x33b, 0x12, 0x428, 0x428, 0xffff, 0x0, MAPSEC_TURNBACK_CAVE, 0xe, 0x0, 0x3, 11, TRUE, TRUE, TRUE, FALSE },
- { 0x20, 0xf, 0xa6, 0x74, 0x243, 0x79, 0x441, 0x441, 0xffff, 0x1ff, MAPSEC_CONTEST_HALL, 0x0, 0x0, 0x4, 7, FALSE, FALSE, FALSE, FALSE },
+ {NARC_area_data_narc_0000_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, TRUE, FALSE}, // MAP_EVERYWHERE
+ {NARC_area_data_narc_0000_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 0, 3, FALSE, FALSE, FALSE, FALSE}, // MAP_NOTHING
+ {NARC_area_data_narc_0002_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0002_bin, NARC_scr_seq_release_narc_1043_bin, NARC_scr_seq_release_narc_0970_bin, NARC_msg_narc_0566_bin, SEQ_TANKOU, SEQ_TANKOU, 0xFFFF, NARC_zone_event_release_narc_0001_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 6, 3, FALSE, FALSE, FALSE, FALSE}, // MAP_UG
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0002_bin, NARC_scr_seq_release_narc_0465_bin, NARC_msg_narc_0018_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0002_bin, MAPSEC_JUBILIFE_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C01
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0003_bin, NARC_scr_seq_release_narc_0466_bin, NARC_msg_narc_0019_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0003_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01FS0101
+ {NARC_area_data_narc_0020_bin, 20, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0004_bin, NARC_scr_seq_release_narc_0467_bin, NARC_msg_narc_0020_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0004_bin, MAPSEC_JUBILIFE_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01GYM0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0005_bin, NARC_scr_seq_release_narc_0468_bin, NARC_msg_narc_0021_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0005_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0006_bin, NARC_scr_seq_release_narc_0469_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0006_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01PC0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0141_bin, NARC_scr_seq_release_narc_0008_bin, NARC_scr_seq_release_narc_0471_bin, NARC_msg_narc_0022_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0007_bin, MAPSEC_POKETCH_CO, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0142_bin, NARC_scr_seq_release_narc_0009_bin, NARC_scr_seq_release_narc_0472_bin, NARC_msg_narc_0023_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0008_bin, MAPSEC_POKETCH_CO, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0143_bin, NARC_scr_seq_release_narc_0010_bin, NARC_scr_seq_release_narc_0473_bin, NARC_msg_narc_0024_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0009_bin, MAPSEC_POKETCH_CO, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0103
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0148_bin, NARC_scr_seq_release_narc_0011_bin, NARC_scr_seq_release_narc_0474_bin, NARC_msg_narc_0025_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0010_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0201
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0149_bin, NARC_scr_seq_release_narc_0012_bin, NARC_scr_seq_release_narc_0475_bin, NARC_msg_narc_0026_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0011_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0202
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0150_bin, NARC_scr_seq_release_narc_0013_bin, NARC_scr_seq_release_narc_0476_bin, NARC_msg_narc_0027_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0012_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0203
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0151_bin, NARC_scr_seq_release_narc_0014_bin, NARC_scr_seq_release_narc_0477_bin, NARC_msg_narc_0028_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0013_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0204
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0152_bin, NARC_scr_seq_release_narc_0015_bin, NARC_scr_seq_release_narc_0478_bin, NARC_msg_narc_0029_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0014_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0205
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0153_bin, NARC_scr_seq_release_narc_0016_bin, NARC_scr_seq_release_narc_0479_bin, NARC_msg_narc_0030_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0015_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0206
+ {NARC_area_data_narc_0034_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0154_bin, NARC_scr_seq_release_narc_0017_bin, NARC_scr_seq_release_narc_0480_bin, NARC_msg_narc_0031_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0016_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0207
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_0018_bin, NARC_scr_seq_release_narc_0481_bin, NARC_msg_narc_0032_bin, SEQ_BLD_TV, SEQ_BLD_TV, 0xFFFF, NARC_zone_event_release_narc_0017_bin, MAPSEC_JUBILIFE_TV, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0208
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0019_bin, NARC_scr_seq_release_narc_0482_bin, NARC_msg_narc_0033_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0018_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0301
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0020_bin, NARC_scr_seq_release_narc_0483_bin, NARC_msg_narc_0034_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0019_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0302
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0021_bin, NARC_scr_seq_release_narc_0484_bin, NARC_msg_narc_0035_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0020_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0303
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0021_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0304
+ {NARC_area_data_narc_0020_bin, 20, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0023_bin, NARC_scr_seq_release_narc_0486_bin, NARC_msg_narc_0036_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0022_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0401
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0024_bin, NARC_scr_seq_release_narc_0487_bin, NARC_msg_narc_0037_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0023_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0501
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0025_bin, NARC_scr_seq_release_narc_0488_bin, NARC_msg_narc_0038_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0024_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0502
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0026_bin, NARC_scr_seq_release_narc_0489_bin, NARC_msg_narc_0039_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0025_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0503
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0027_bin, NARC_scr_seq_release_narc_0490_bin, NARC_msg_narc_0040_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0026_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0504
+ {NARC_area_data_narc_0040_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0205_bin, NARC_scr_seq_release_narc_0028_bin, NARC_scr_seq_release_narc_0491_bin, NARC_msg_narc_0041_bin, SEQ_BLD_BLD_GTC, SEQ_BLD_BLD_GTC, 0xFFFF, NARC_zone_event_release_narc_0027_bin, MAPSEC_GTS, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0601
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0140_bin, NARC_scr_seq_release_narc_0029_bin, NARC_scr_seq_release_narc_0492_bin, NARC_msg_narc_0042_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0028_bin, MAPSEC_TRAINERS_SCHOOL, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0701
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0030_bin, NARC_scr_seq_release_narc_0493_bin, NARC_msg_narc_0043_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0029_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0801
+ {NARC_area_data_narc_0020_bin, 20, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0032_bin, NARC_scr_seq_release_narc_0495_bin, NARC_msg_narc_0045_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0030_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0901
+ {NARC_area_data_narc_0020_bin, 20, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0033_bin, NARC_scr_seq_release_narc_0496_bin, NARC_msg_narc_0046_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0031_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R1001
+ {NARC_area_data_narc_0015_bin, NARC_move_model_list_narc_0009_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0034_bin, NARC_scr_seq_release_narc_0497_bin, NARC_msg_narc_0047_bin, SEQ_CITY02_D, SEQ_CITY02_N, ENCDATA(NARC_d_enc_data_narc_0000_bin, NARC_p_enc_data_narc_0000_bin), NARC_zone_event_release_narc_0032_bin, MAPSEC_CANALAVE_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C02
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0035_bin, NARC_scr_seq_release_narc_0498_bin, NARC_msg_narc_0048_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0033_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02FS0101
+ {NARC_area_data_narc_0024_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0112_bin, NARC_scr_seq_release_narc_0036_bin, NARC_scr_seq_release_narc_0499_bin, NARC_msg_narc_0049_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0034_bin, MAPSEC_CANALAVE_CITY, 0, 3, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02GYM0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0037_bin, NARC_scr_seq_release_narc_0500_bin, NARC_msg_narc_0050_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0035_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0038_bin, NARC_scr_seq_release_narc_0501_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0036_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02PC0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0217_bin, NARC_scr_seq_release_narc_0040_bin, NARC_scr_seq_release_narc_0503_bin, NARC_msg_narc_0051_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0037_bin, MAPSEC_CANALAVE_LIBRARY, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0218_bin, NARC_scr_seq_release_narc_0041_bin, NARC_scr_seq_release_narc_0504_bin, NARC_msg_narc_0052_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0038_bin, MAPSEC_CANALAVE_LIBRARY, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0219_bin, NARC_scr_seq_release_narc_0042_bin, NARC_scr_seq_release_narc_0505_bin, NARC_msg_narc_0053_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0039_bin, MAPSEC_CANALAVE_LIBRARY, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0103
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0043_bin, NARC_scr_seq_release_narc_0506_bin, NARC_msg_narc_0054_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0040_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0044_bin, NARC_scr_seq_release_narc_0507_bin, NARC_msg_narc_0055_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0041_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0045_bin, NARC_scr_seq_release_narc_0508_bin, NARC_msg_narc_0056_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0042_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0046_bin, NARC_scr_seq_release_narc_0509_bin, NARC_msg_narc_0057_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0043_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0501
+ {NARC_area_data_narc_0007_bin, NARC_move_model_list_narc_0001_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0048_bin, NARC_scr_seq_release_narc_0511_bin, NARC_msg_narc_0058_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0044_bin, MAPSEC_OREBURGH_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C03
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0049_bin, NARC_scr_seq_release_narc_0512_bin, NARC_msg_narc_0059_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0045_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03FS0101
+ {NARC_area_data_narc_0025_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0113_bin, NARC_scr_seq_release_narc_0050_bin, NARC_scr_seq_release_narc_0513_bin, NARC_msg_narc_0060_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0046_bin, MAPSEC_OREBURGH_CITY, 0, 9, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03GYM0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0051_bin, NARC_scr_seq_release_narc_0514_bin, NARC_msg_narc_0061_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0047_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0052_bin, NARC_scr_seq_release_narc_0515_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0048_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03PC0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0054_bin, NARC_scr_seq_release_narc_0517_bin, NARC_msg_narc_0063_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0049_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0055_bin, NARC_scr_seq_release_narc_0518_bin, NARC_msg_narc_0064_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0050_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0136_bin, NARC_scr_seq_release_narc_0056_bin, NARC_scr_seq_release_narc_0519_bin, NARC_msg_narc_0065_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0051_bin, MAPSEC_OREBURGH_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0103
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0057_bin, NARC_scr_seq_release_narc_0520_bin, NARC_msg_narc_0066_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0052_bin, MAPSEC_OREBURGH_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0104
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0058_bin, NARC_scr_seq_release_narc_0521_bin, NARC_msg_narc_0067_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0053_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0201
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0059_bin, NARC_scr_seq_release_narc_0522_bin, NARC_msg_narc_0068_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0054_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0202
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0136_bin, NARC_scr_seq_release_narc_0060_bin, NARC_scr_seq_release_narc_0523_bin, NARC_msg_narc_0069_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0055_bin, MAPSEC_OREBURGH_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0203
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0061_bin, NARC_scr_seq_release_narc_0524_bin, NARC_msg_narc_0070_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0056_bin, MAPSEC_OREBURGH_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0204
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0062_bin, NARC_scr_seq_release_narc_0525_bin, NARC_msg_narc_0071_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0057_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0301
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0155_bin, NARC_scr_seq_release_narc_0063_bin, NARC_scr_seq_release_narc_0526_bin, NARC_msg_narc_0072_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0058_bin, MAPSEC_MINING_MUSEUM, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0064_bin, NARC_scr_seq_release_narc_0527_bin, NARC_msg_narc_0073_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0059_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0501
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0065_bin, NARC_scr_seq_release_narc_0528_bin, NARC_msg_narc_0074_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0060_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0601
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0066_bin, NARC_scr_seq_release_narc_0529_bin, NARC_msg_narc_0075_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0061_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0602
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0067_bin, NARC_scr_seq_release_narc_0530_bin, NARC_msg_narc_0076_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0062_bin, MAPSEC_OREBURGH_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0603
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0068_bin, NARC_scr_seq_release_narc_0531_bin, NARC_msg_narc_0077_bin, SEQ_CITY03_D, SEQ_CITY03_N, 0xFFFF, NARC_zone_event_release_narc_0063_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03R0701
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0069_bin, NARC_scr_seq_release_narc_0532_bin, NARC_msg_narc_0078_bin, SEQ_CITY04_D, SEQ_CITY04_N, ENCDATA(NARC_d_enc_data_narc_0001_bin, NARC_p_enc_data_narc_0001_bin), NARC_zone_event_release_narc_0064_bin, MAPSEC_ETERNA_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C04
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0070_bin, NARC_scr_seq_release_narc_0533_bin, NARC_msg_narc_0079_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0065_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04FS0101
+ {NARC_area_data_narc_0026_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0220_bin, NARC_scr_seq_release_narc_0071_bin, NARC_scr_seq_release_narc_0534_bin, NARC_msg_narc_0080_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0066_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04GYM0101
+ {NARC_area_data_narc_0026_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0221_bin, NARC_scr_seq_release_narc_0072_bin, NARC_scr_seq_release_narc_0535_bin, NARC_msg_narc_0081_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0067_bin, MAPSEC_ETERNA_CITY, 0, 9, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04GYM0102
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0073_bin, NARC_scr_seq_release_narc_0536_bin, NARC_msg_narc_0082_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0068_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0074_bin, NARC_scr_seq_release_narc_0537_bin, NARC_msg_narc_0083_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0069_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04PC0102
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0138_bin, NARC_scr_seq_release_narc_0076_bin, NARC_scr_seq_release_narc_0539_bin, NARC_msg_narc_0084_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0070_bin, MAPSEC_CYCLE_SHOP, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0077_bin, NARC_scr_seq_release_narc_0540_bin, NARC_msg_narc_0085_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0071_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0201
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0133_bin, NARC_scr_seq_release_narc_0078_bin, NARC_scr_seq_release_narc_0541_bin, NARC_msg_narc_0086_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0072_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0202
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0134_bin, NARC_scr_seq_release_narc_0079_bin, NARC_scr_seq_release_narc_0542_bin, NARC_msg_narc_0087_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0073_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0203
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0080_bin, NARC_scr_seq_release_narc_0543_bin, NARC_msg_narc_0088_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0074_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0204
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0132_bin, NARC_scr_seq_release_narc_0081_bin, NARC_scr_seq_release_narc_0544_bin, NARC_msg_narc_0089_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0075_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0301
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0135_bin, NARC_scr_seq_release_narc_0082_bin, NARC_scr_seq_release_narc_0545_bin, NARC_msg_narc_0090_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0076_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0302
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0083_bin, NARC_scr_seq_release_narc_0546_bin, NARC_msg_narc_0091_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0077_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0303
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0084_bin, NARC_scr_seq_release_narc_0547_bin, NARC_msg_narc_0092_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0078_bin, MAPSEC_ETERNA_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0304
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0159_bin, NARC_scr_seq_release_narc_0085_bin, NARC_scr_seq_release_narc_0548_bin, NARC_msg_narc_0093_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0079_bin, MAPSEC_ROUTE_206, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0170_bin, NARC_scr_seq_release_narc_0086_bin, NARC_scr_seq_release_narc_0549_bin, NARC_msg_narc_0094_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0080_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0501
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_0087_bin, NARC_scr_seq_release_narc_0550_bin, NARC_msg_narc_0095_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0081_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0601
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_0088_bin, NARC_scr_seq_release_narc_0551_bin, NARC_msg_narc_0096_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0082_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0701
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_0089_bin, NARC_scr_seq_release_narc_0552_bin, NARC_msg_narc_0097_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0083_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0801
+ {NARC_area_data_narc_0020_bin, 20, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0084_bin, MAPSEC_ETERNA_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04R0901
+ {NARC_area_data_narc_0009_bin, NARC_move_model_list_narc_0003_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0090_bin, NARC_scr_seq_release_narc_0553_bin, NARC_msg_narc_0098_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0085_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C05
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0091_bin, NARC_scr_seq_release_narc_0554_bin, NARC_msg_narc_0099_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0086_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05FS0101
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0222_bin, NARC_scr_seq_release_narc_0092_bin, NARC_scr_seq_release_narc_0555_bin, NARC_msg_narc_0100_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0087_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0101
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0088_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0102
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0089_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0103
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0224_bin, NARC_scr_seq_release_narc_0093_bin, NARC_scr_seq_release_narc_0556_bin, NARC_msg_narc_0101_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0090_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0104
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0091_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0105
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0224_bin, NARC_scr_seq_release_narc_0094_bin, NARC_scr_seq_release_narc_0557_bin, NARC_msg_narc_0102_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0092_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0106
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0093_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0107
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0224_bin, NARC_scr_seq_release_narc_0095_bin, NARC_scr_seq_release_narc_0558_bin, NARC_msg_narc_0103_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0094_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0108
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0095_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0109
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0096_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0110
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0097_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0111
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0223_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0098_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0112
+ {NARC_area_data_narc_0027_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0225_bin, NARC_scr_seq_release_narc_0096_bin, NARC_scr_seq_release_narc_0559_bin, NARC_msg_narc_0104_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0099_bin, MAPSEC_HEARTHOME_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05GYM0113
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0097_bin, NARC_scr_seq_release_narc_0560_bin, NARC_msg_narc_0105_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0100_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0098_bin, NARC_scr_seq_release_narc_0561_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0101_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05PC0102
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0209_bin, NARC_scr_seq_release_narc_0100_bin, NARC_scr_seq_release_narc_0563_bin, NARC_msg_narc_0106_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0102_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0210_bin, NARC_scr_seq_release_narc_0101_bin, NARC_scr_seq_release_narc_0564_bin, NARC_msg_narc_0107_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0103_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0102
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_0102_bin, NARC_scr_seq_release_narc_0565_bin, NARC_msg_narc_0108_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0104_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0103
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0156_bin, NARC_scr_seq_release_narc_0103_bin, NARC_scr_seq_release_narc_0566_bin, NARC_msg_narc_0109_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0105_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0201
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0104_bin, NARC_scr_seq_release_narc_0567_bin, NARC_msg_narc_0110_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0106_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0301
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0105_bin, NARC_scr_seq_release_narc_0568_bin, NARC_msg_narc_0111_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0107_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0401
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0106_bin, NARC_scr_seq_release_narc_0569_bin, NARC_msg_narc_0112_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0108_bin, MAPSEC_ROUTE_208, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0501
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0107_bin, NARC_scr_seq_release_narc_0570_bin, NARC_msg_narc_0113_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0109_bin, MAPSEC_ROUTE_209, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0601
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0108_bin, NARC_scr_seq_release_narc_0571_bin, NARC_msg_narc_0114_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0110_bin, MAPSEC_ROUTE_212, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0701
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0209_bin, NARC_scr_seq_release_narc_0109_bin, NARC_scr_seq_release_narc_0572_bin, NARC_msg_narc_0115_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0111_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0801
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0210_bin, NARC_scr_seq_release_narc_0110_bin, NARC_scr_seq_release_narc_0573_bin, NARC_msg_narc_0116_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0112_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0802
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_0111_bin, NARC_scr_seq_release_narc_0574_bin, NARC_msg_narc_0117_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0113_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0803
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0112_bin, NARC_scr_seq_release_narc_0575_bin, NARC_msg_narc_0118_bin, SEQ_CITY05_D, SEQ_CITY05_N, 0xFFFF, NARC_zone_event_release_narc_0114_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R0901
+ {NARC_area_data_narc_0037_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0237_bin, NARC_scr_seq_release_narc_0113_bin, NARC_scr_seq_release_narc_0576_bin, NARC_msg_narc_0119_bin, SEQ_BLD_CON, SEQ_BLD_CON, 0xFFFF, NARC_zone_event_release_narc_0115_bin, MAPSEC_POFFIN_HOUSE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R1001
+ {NARC_area_data_narc_0032_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0165_bin, NARC_scr_seq_release_narc_0114_bin, NARC_scr_seq_release_narc_0577_bin, NARC_msg_narc_0120_bin, SEQ_BLD_CON, SEQ_BLD_CON, 0xFFFF, NARC_zone_event_release_narc_0116_bin, MAPSEC_CONTEST_HALL, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R1101
+ {NARC_area_data_narc_0032_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0166_bin, NARC_scr_seq_release_narc_0115_bin, NARC_scr_seq_release_narc_0578_bin, NARC_msg_narc_0018_bin, SEQ_BLD_CON, SEQ_BLD_CON, 0xFFFF, NARC_zone_event_release_narc_0117_bin, MAPSEC_CONTEST_HALL, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R1102
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0167_bin, NARC_scr_seq_release_narc_0117_bin, NARC_scr_seq_release_narc_0580_bin, NARC_msg_narc_0122_bin, SEQ_SILENCE_FIELD, SEQ_SILENCE_FIELD, 0xFFFF, NARC_zone_event_release_narc_0118_bin, MAPSEC_FOREIGN_BUILDING, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R1201
+ {NARC_area_data_narc_0012_bin, NARC_move_model_list_narc_0006_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0118_bin, NARC_scr_seq_release_narc_0581_bin, NARC_msg_narc_0123_bin, SEQ_CITY06_D, SEQ_CITY06_N, ENCDATA(NARC_d_enc_data_narc_0002_bin, NARC_p_enc_data_narc_0002_bin), NARC_zone_event_release_narc_0119_bin, MAPSEC_PASTORIA_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C06
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0206_bin, NARC_scr_seq_release_narc_0119_bin, NARC_scr_seq_release_narc_0582_bin, NARC_msg_narc_0124_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0120_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06FS0101
+ {NARC_area_data_narc_0023_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0111_bin, NARC_scr_seq_release_narc_0120_bin, NARC_scr_seq_release_narc_0583_bin, NARC_msg_narc_0125_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0121_bin, MAPSEC_PASTORIA_CITY, 0, 1, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06GYM0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0121_bin, NARC_scr_seq_release_narc_0584_bin, NARC_msg_narc_0126_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0122_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0122_bin, NARC_scr_seq_release_narc_0585_bin, NARC_msg_narc_0127_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0123_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06PC0102
+ {NARC_area_data_narc_0039_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0181_bin, NARC_scr_seq_release_narc_0124_bin, NARC_scr_seq_release_narc_0587_bin, NARC_msg_narc_0128_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0124_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0101
+ {NARC_area_data_narc_0039_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0182_bin, NARC_scr_seq_release_narc_0125_bin, NARC_scr_seq_release_narc_0588_bin, NARC_msg_narc_0129_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0125_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0102
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0126_bin, NARC_scr_seq_release_narc_0589_bin, NARC_msg_narc_0130_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0126_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0127_bin, NARC_scr_seq_release_narc_0590_bin, NARC_msg_narc_0131_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0127_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0128_bin, NARC_scr_seq_release_narc_0591_bin, NARC_msg_narc_0132_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0128_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0129_bin, NARC_scr_seq_release_narc_0592_bin, NARC_msg_narc_0133_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0129_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0501
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0130_bin, NARC_scr_seq_release_narc_0593_bin, NARC_msg_narc_0134_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0130_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06R0601
+ {NARC_area_data_narc_0011_bin, NARC_move_model_list_narc_0005_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0131_bin, NARC_scr_seq_release_narc_0594_bin, NARC_msg_narc_0135_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0131_bin, MAPSEC_VEILSTONE_CITY, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C07
+ {NARC_area_data_narc_0029_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0115_bin, NARC_scr_seq_release_narc_0132_bin, NARC_scr_seq_release_narc_0595_bin, NARC_msg_narc_0136_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0132_bin, MAPSEC_VEILSTONE_CITY, 0, 10, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07GYM0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0133_bin, NARC_scr_seq_release_narc_0596_bin, NARC_msg_narc_0137_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0133_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0134_bin, NARC_scr_seq_release_narc_0597_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0134_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07PC0102
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0139_bin, NARC_scr_seq_release_narc_0136_bin, NARC_scr_seq_release_narc_0599_bin, NARC_msg_narc_0139_bin, SEQ_BLD_GAME, SEQ_BLD_GAME, 0xFFFF, NARC_zone_event_release_narc_0135_bin, MAPSEC_GAME_CORNER, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0101
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0172_bin, NARC_scr_seq_release_narc_0137_bin, NARC_scr_seq_release_narc_0600_bin, NARC_msg_narc_0140_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0136_bin, MAPSEC_VEILSTONE_STORE, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0201
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0173_bin, NARC_scr_seq_release_narc_0138_bin, NARC_scr_seq_release_narc_0601_bin, NARC_msg_narc_0141_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0137_bin, MAPSEC_VEILSTONE_STORE, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0202
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0174_bin, NARC_scr_seq_release_narc_0139_bin, NARC_scr_seq_release_narc_0602_bin, NARC_msg_narc_0142_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0138_bin, MAPSEC_VEILSTONE_STORE, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0203
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0175_bin, NARC_scr_seq_release_narc_0140_bin, NARC_scr_seq_release_narc_0603_bin, NARC_msg_narc_0143_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0139_bin, MAPSEC_VEILSTONE_STORE, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0204
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0176_bin, NARC_scr_seq_release_narc_0141_bin, NARC_scr_seq_release_narc_0604_bin, NARC_msg_narc_0144_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0140_bin, MAPSEC_VEILSTONE_STORE, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0205
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_0142_bin, NARC_scr_seq_release_narc_0605_bin, NARC_msg_narc_0145_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0141_bin, MAPSEC_VEILSTONE_STORE, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0206
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0177_bin, NARC_scr_seq_release_narc_0143_bin, NARC_scr_seq_release_narc_0606_bin, NARC_msg_narc_0146_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0142_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0301
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0204_bin, NARC_scr_seq_release_narc_0144_bin, NARC_scr_seq_release_narc_0607_bin, NARC_msg_narc_0147_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0143_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0145_bin, NARC_scr_seq_release_narc_0608_bin, NARC_msg_narc_0148_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0144_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0501
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0146_bin, NARC_scr_seq_release_narc_0609_bin, NARC_msg_narc_0149_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0145_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0601
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0147_bin, NARC_scr_seq_release_narc_0610_bin, NARC_msg_narc_0150_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0146_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0701
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0148_bin, NARC_scr_seq_release_narc_0611_bin, NARC_msg_narc_0151_bin, SEQ_CITY07_D, SEQ_CITY07_N, 0xFFFF, NARC_zone_event_release_narc_0147_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0801
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0149_bin, NARC_scr_seq_release_narc_0612_bin, NARC_msg_narc_0152_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, 0xFFFF, NARC_zone_event_release_narc_0148_bin, MAPSEC_ROUTE_215, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07R0901
+ {NARC_area_data_narc_0013_bin, NARC_move_model_list_narc_0007_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0150_bin, NARC_scr_seq_release_narc_0613_bin, NARC_msg_narc_0153_bin, SEQ_CITY08_D, SEQ_CITY08_N, ENCDATA(NARC_d_enc_data_narc_0003_bin, NARC_p_enc_data_narc_0003_bin), NARC_zone_event_release_narc_0149_bin, MAPSEC_SUNYSHORE_CITY, 0, 11, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C08
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0155_bin, NARC_scr_seq_release_narc_0618_bin, NARC_msg_narc_0157_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0150_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0156_bin, NARC_scr_seq_release_narc_0619_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0151_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08PC0102
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0151_bin, NARC_scr_seq_release_narc_0614_bin, NARC_msg_narc_0154_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0152_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08FS0101
+ {NARC_area_data_narc_0030_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0226_bin, NARC_scr_seq_release_narc_0152_bin, NARC_scr_seq_release_narc_0615_bin, NARC_msg_narc_0155_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0153_bin, MAPSEC_SUNYSHORE_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08GYM0101
+ {NARC_area_data_narc_0030_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0227_bin, NARC_scr_seq_release_narc_0153_bin, NARC_scr_seq_release_narc_0616_bin, NARC_msg_narc_0018_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0154_bin, MAPSEC_SUNYSHORE_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08GYM0102
+ {NARC_area_data_narc_0030_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0228_bin, NARC_scr_seq_release_narc_0154_bin, NARC_scr_seq_release_narc_0617_bin, NARC_msg_narc_0156_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0155_bin, MAPSEC_SUNYSHORE_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08GYM0103
+ {NARC_area_data_narc_0038_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0203_bin, NARC_scr_seq_release_narc_0158_bin, NARC_scr_seq_release_narc_0621_bin, NARC_msg_narc_0158_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0156_bin, MAPSEC_SUNYSHORE_MARKET, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0159_bin, NARC_scr_seq_release_narc_0622_bin, NARC_msg_narc_0159_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0157_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_0160_bin, NARC_scr_seq_release_narc_0623_bin, NARC_msg_narc_0160_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0158_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0161_bin, NARC_scr_seq_release_narc_0624_bin, NARC_msg_narc_0161_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0159_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0162_bin, NARC_scr_seq_release_narc_0625_bin, NARC_msg_narc_0162_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0160_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0501
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0163_bin, NARC_scr_seq_release_narc_0626_bin, NARC_msg_narc_0163_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0161_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0601
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0164_bin, NARC_scr_seq_release_narc_0627_bin, NARC_msg_narc_0164_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0162_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0701
+ {NARC_area_data_narc_0039_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0230_bin, NARC_scr_seq_release_narc_0165_bin, NARC_scr_seq_release_narc_0628_bin, NARC_msg_narc_0165_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0163_bin, MAPSEC_VISTA_LIGHTHOUSE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0801
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0168_bin, NARC_scr_seq_release_narc_0631_bin, NARC_msg_narc_0167_bin, SEQ_CITY09_D, SEQ_CITY09_N, 0xFFFF, NARC_zone_event_release_narc_0164_bin, MAPSEC_SNOWPOINT_CITY, 28, 0, 1, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_C09
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0169_bin, NARC_scr_seq_release_narc_0632_bin, NARC_msg_narc_0168_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0165_bin, MAPSEC_SNOWPOINT_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09FS0101
+ {NARC_area_data_narc_0028_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0114_bin, NARC_scr_seq_release_narc_0170_bin, NARC_scr_seq_release_narc_0633_bin, NARC_msg_narc_0169_bin, SEQ_GYM, SEQ_GYM, 0xFFFF, NARC_zone_event_release_narc_0166_bin, MAPSEC_SNOWPOINT_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09GYM0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0171_bin, NARC_scr_seq_release_narc_0634_bin, NARC_msg_narc_0170_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0167_bin, MAPSEC_SNOWPOINT_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0172_bin, NARC_scr_seq_release_narc_0635_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0168_bin, MAPSEC_SNOWPOINT_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09PC0102
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0174_bin, NARC_scr_seq_release_narc_0637_bin, NARC_msg_narc_0171_bin, SEQ_CITY09_D, SEQ_CITY09_N, 0xFFFF, NARC_zone_event_release_narc_0169_bin, MAPSEC_SNOWPOINT_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0175_bin, NARC_scr_seq_release_narc_0638_bin, NARC_msg_narc_0172_bin, SEQ_CITY09_D, SEQ_CITY09_N, 0xFFFF, NARC_zone_event_release_narc_0170_bin, MAPSEC_SNOWPOINT_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09R0201
+ {NARC_area_data_narc_0013_bin, NARC_move_model_list_narc_0010_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0176_bin, NARC_scr_seq_release_narc_0639_bin, NARC_msg_narc_0173_bin, SEQ_CITY10_D, SEQ_CITY10_N, ENCDATA(NARC_d_enc_data_narc_0004_bin, NARC_p_enc_data_narc_0004_bin), NARC_zone_event_release_narc_0171_bin, MAPSEC_POKEMON_LEAGUE, 8, 11, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C10
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0177_bin, NARC_scr_seq_release_narc_0640_bin, NARC_msg_narc_0174_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0172_bin, MAPSEC_POKEMON_LEAGUE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C10PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0178_bin, NARC_scr_seq_release_narc_0641_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0173_bin, MAPSEC_POKEMON_LEAGUE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C10PC0102
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0144_bin, NARC_scr_seq_release_narc_0180_bin, NARC_scr_seq_release_narc_0643_bin, NARC_msg_narc_0175_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0174_bin, MAPSEC_POKEMON_LEAGUE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0101
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0187_bin, NARC_scr_seq_release_narc_0181_bin, NARC_scr_seq_release_narc_0644_bin, NARC_msg_narc_0018_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0175_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0102
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0183_bin, NARC_scr_seq_release_narc_0182_bin, NARC_scr_seq_release_narc_0645_bin, NARC_msg_narc_0176_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0176_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0103
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0188_bin, NARC_scr_seq_release_narc_0183_bin, NARC_scr_seq_release_narc_0646_bin, NARC_msg_narc_0018_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0177_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0104
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0184_bin, NARC_scr_seq_release_narc_0184_bin, NARC_scr_seq_release_narc_0647_bin, NARC_msg_narc_0177_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0178_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0105
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0188_bin, NARC_scr_seq_release_narc_0185_bin, NARC_scr_seq_release_narc_0648_bin, NARC_msg_narc_0018_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0179_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0106
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0185_bin, NARC_scr_seq_release_narc_0186_bin, NARC_scr_seq_release_narc_0649_bin, NARC_msg_narc_0178_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0180_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0107
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0188_bin, NARC_scr_seq_release_narc_0187_bin, NARC_scr_seq_release_narc_0650_bin, NARC_msg_narc_0018_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0181_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0108
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0186_bin, NARC_scr_seq_release_narc_0188_bin, NARC_scr_seq_release_narc_0651_bin, NARC_msg_narc_0179_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0182_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0109
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0189_bin, NARC_scr_seq_release_narc_0189_bin, NARC_scr_seq_release_narc_0652_bin, NARC_msg_narc_0018_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0183_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0110
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0190_bin, NARC_scr_seq_release_narc_0190_bin, NARC_scr_seq_release_narc_0653_bin, NARC_msg_narc_0180_bin, SEQ_D_LEAGUE, SEQ_D_LEAGUE, 0xFFFF, NARC_zone_event_release_narc_0184_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0111
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0192_bin, NARC_scr_seq_release_narc_0191_bin, NARC_scr_seq_release_narc_0654_bin, NARC_msg_narc_0181_bin, SEQ_BLD_DENDO, SEQ_BLD_DENDO, 0xFFFF, NARC_zone_event_release_narc_0185_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0112
+ {NARC_area_data_narc_0036_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0191_bin, NARC_scr_seq_release_narc_0192_bin, NARC_scr_seq_release_narc_0655_bin, NARC_msg_narc_0182_bin, SEQ_BLD_DENDO, SEQ_BLD_DENDO, 0xFFFF, NARC_zone_event_release_narc_0186_bin, MAPSEC_POKEMON_LEAGUE, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0113
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0195_bin, NARC_scr_seq_release_narc_0658_bin, NARC_msg_narc_0183_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0187_bin, MAPSEC_FIGHT_AREA, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_C11
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0197_bin, NARC_scr_seq_release_narc_0660_bin, NARC_msg_narc_0185_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0188_bin, MAPSEC_FIGHT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0198_bin, NARC_scr_seq_release_narc_0661_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0189_bin, MAPSEC_FIGHT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11PC0102
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0196_bin, NARC_scr_seq_release_narc_0659_bin, NARC_msg_narc_0184_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0190_bin, MAPSEC_FIGHT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11FS0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0159_bin, NARC_scr_seq_release_narc_0200_bin, NARC_scr_seq_release_narc_0663_bin, NARC_msg_narc_0186_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0191_bin, MAPSEC_BATTLE_PARK, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0201_bin, NARC_scr_seq_release_narc_0664_bin, NARC_msg_narc_0187_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, 0xFFFF, NARC_zone_event_release_narc_0192_bin, MAPSEC_ROUTE_225, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0202_bin, NARC_scr_seq_release_narc_0665_bin, NARC_msg_narc_0188_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0193_bin, MAPSEC_FIGHT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0203_bin, NARC_scr_seq_release_narc_0666_bin, NARC_msg_narc_0189_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0194_bin, MAPSEC_FIGHT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11R0501
+ {NARC_area_data_narc_0045_bin, 45, NARC_map_matrix_narc_0005_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, 0xFFFF, NARC_zone_event_release_narc_0195_bin, MAPSEC_OREBURGH_MINE, 0, 0, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D01
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0005_bin, NARC_scr_seq_release_narc_0208_bin, NARC_scr_seq_release_narc_0668_bin, NARC_msg_narc_0208_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0005_bin, NARC_p_enc_data_narc_0005_bin), NARC_zone_event_release_narc_0196_bin, MAPSEC_OREBURGH_MINE, 0, 12, 3, 9, TRUE, FALSE, TRUE, FALSE}, // MAP_D01R0101
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0006_bin, NARC_scr_seq_release_narc_0209_bin, NARC_scr_seq_release_narc_0669_bin, NARC_msg_narc_0209_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0006_bin, NARC_p_enc_data_narc_0006_bin), NARC_zone_event_release_narc_0197_bin, MAPSEC_OREBURGH_MINE, 0, 12, 3, 9, TRUE, FALSE, TRUE, FALSE}, // MAP_D01R0102
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0210_bin, NARC_scr_seq_release_narc_0670_bin, NARC_msg_narc_0210_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, ENCDATA(NARC_d_enc_data_narc_0007_bin, NARC_p_enc_data_narc_0007_bin), NARC_zone_event_release_narc_0198_bin, MAPSEC_VALLEY_WINDWORKS, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_D02
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0234_bin, NARC_scr_seq_release_narc_0211_bin, NARC_scr_seq_release_narc_0671_bin, NARC_msg_narc_0211_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0199_bin, MAPSEC_VALLEY_WINDWORKS, 0, 4, 3, 7, FALSE, TRUE, FALSE, FALSE}, // MAP_D02R0101
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0212_bin, NARC_scr_seq_release_narc_0672_bin, NARC_msg_narc_0212_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, 0xFFFF, NARC_zone_event_release_narc_0200_bin, MAPSEC_ETERNA_FOREST, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_D03
+ {NARC_area_data_narc_0044_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0007_bin, NARC_scr_seq_release_narc_0213_bin, NARC_scr_seq_release_narc_0673_bin, NARC_msg_narc_0213_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0008_bin, NARC_p_enc_data_narc_0008_bin), NARC_zone_event_release_narc_0201_bin, MAPSEC_ETERNA_FOREST, 0, 2, 3, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D03R0101
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0214_bin, NARC_scr_seq_release_narc_0674_bin, NARC_msg_narc_0214_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, ENCDATA(NARC_d_enc_data_narc_0009_bin, NARC_p_enc_data_narc_0009_bin), NARC_zone_event_release_narc_0202_bin, MAPSEC_FUEGO_IRONWORKS, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_D04
+ {NARC_area_data_narc_0057_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0008_bin, NARC_scr_seq_release_narc_0215_bin, NARC_scr_seq_release_narc_0675_bin, NARC_msg_narc_0215_bin, SEQ_D_04, SEQ_D_04, 0xFFFF, NARC_zone_event_release_narc_0203_bin, MAPSEC_FUEGO_IRONWORKS, 0, 4, 3, 7, FALSE, TRUE, FALSE, FALSE}, // MAP_D04R0101
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D05
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0009_bin, NARC_scr_seq_release_narc_0217_bin, NARC_scr_seq_release_narc_0677_bin, NARC_msg_narc_0216_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0010_bin, NARC_p_enc_data_narc_0010_bin), NARC_zone_event_release_narc_0204_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0101
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0010_bin, NARC_scr_seq_release_narc_0218_bin, NARC_scr_seq_release_narc_0678_bin, NARC_msg_narc_0217_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0011_bin, NARC_p_enc_data_narc_0011_bin), NARC_zone_event_release_narc_0205_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0011_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0012_bin, NARC_p_enc_data_narc_0012_bin), NARC_zone_event_release_narc_0206_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0103
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0012_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0013_bin, NARC_p_enc_data_narc_0013_bin), NARC_zone_event_release_narc_0207_bin, MAPSEC_MT_CORONET, 6, 7, 2, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_D05R0104
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0013_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0014_bin, NARC_p_enc_data_narc_0014_bin), NARC_zone_event_release_narc_0208_bin, MAPSEC_MT_CORONET, 6, 6, 2, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_D05R0105
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0014_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0015_bin, NARC_p_enc_data_narc_0015_bin), NARC_zone_event_release_narc_0209_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0106
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0015_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0016_bin, NARC_p_enc_data_narc_0016_bin), NARC_zone_event_release_narc_0210_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0107
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0016_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0017_bin, NARC_p_enc_data_narc_0017_bin), NARC_zone_event_release_narc_0211_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0108
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0017_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0018_bin, NARC_p_enc_data_narc_0018_bin), NARC_zone_event_release_narc_0212_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0109
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0018_bin, NARC_scr_seq_release_narc_0226_bin, NARC_scr_seq_release_narc_0686_bin, NARC_msg_narc_0218_bin, SEQ_D_MOUNT1, SEQ_D_MOUNT1, ENCDATA(NARC_d_enc_data_narc_0019_bin, NARC_p_enc_data_narc_0019_bin), NARC_zone_event_release_narc_0213_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0110
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0019_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0020_bin, NARC_p_enc_data_narc_0020_bin), NARC_zone_event_release_narc_0214_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0111
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0020_bin, NARC_scr_seq_release_narc_0228_bin, NARC_scr_seq_release_narc_0688_bin, NARC_msg_narc_0219_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0021_bin, NARC_p_enc_data_narc_0021_bin), NARC_zone_event_release_narc_0215_bin, MAPSEC_MT_CORONET, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0112
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0021_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0022_bin, NARC_p_enc_data_narc_0022_bin), NARC_zone_event_release_narc_0216_bin, MAPSEC_MT_CORONET, 14, 0, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D05R0113
+ {NARC_area_data_narc_0050_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0022_bin, NARC_scr_seq_release_narc_0230_bin, NARC_scr_seq_release_narc_0690_bin, NARC_msg_narc_0220_bin, SEQ_D_MOUNT2, SEQ_D_MOUNT2, 0xFFFF, NARC_zone_event_release_narc_0217_bin, MAPSEC_SPEAR_PILLAR, 13, 5, 2, 4, FALSE, TRUE, FALSE, FALSE}, // MAP_D05R0114
+ {NARC_area_data_narc_0050_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0023_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT2, SEQ_D_MOUNT2, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_SPEAR_PILLAR, 13, 5, 2, 4, FALSE, TRUE, FALSE, FALSE}, // MAP_D05R0115
+ {NARC_area_data_narc_0012_bin, NARC_move_model_list_narc_0006_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D06
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0024_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0218_bin, MAPSEC_PASTORIA_CITY, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D06R0101
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D07
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0025_bin, NARC_scr_seq_release_narc_0241_bin, NARC_scr_seq_release_narc_0701_bin, NARC_msg_narc_0229_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0029_bin, NARC_p_enc_data_narc_0029_bin), NARC_zone_event_release_narc_0219_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0101
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0026_bin, NARC_scr_seq_release_narc_0242_bin, NARC_scr_seq_release_narc_0702_bin, NARC_msg_narc_0230_bin, SEQ_D_02, SEQ_D_02, 0xFFFF, NARC_zone_event_release_narc_0220_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0102
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0040_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0030_bin, NARC_p_enc_data_narc_0030_bin), NARC_zone_event_release_narc_0221_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0103
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0035_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0031_bin, NARC_p_enc_data_narc_0031_bin), NARC_zone_event_release_narc_0222_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0104
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0039_bin, NARC_scr_seq_release_narc_0245_bin, NARC_scr_seq_release_narc_0705_bin, NARC_msg_narc_0231_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0032_bin, NARC_p_enc_data_narc_0032_bin), NARC_zone_event_release_narc_0223_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0105
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0031_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0033_bin, NARC_p_enc_data_narc_0033_bin), NARC_zone_event_release_narc_0224_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0106
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0034_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0034_bin, NARC_p_enc_data_narc_0034_bin), NARC_zone_event_release_narc_0225_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0107
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0031_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0035_bin, NARC_p_enc_data_narc_0035_bin), NARC_zone_event_release_narc_0226_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0108
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0040_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0036_bin, NARC_p_enc_data_narc_0036_bin), NARC_zone_event_release_narc_0227_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0109
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0042_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0037_bin, NARC_p_enc_data_narc_0037_bin), NARC_zone_event_release_narc_0228_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0110
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0035_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0038_bin, NARC_p_enc_data_narc_0038_bin), NARC_zone_event_release_narc_0229_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0111
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0035_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0039_bin, NARC_p_enc_data_narc_0039_bin), NARC_zone_event_release_narc_0230_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0112
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0036_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0040_bin, NARC_p_enc_data_narc_0040_bin), NARC_zone_event_release_narc_0231_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0113
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0034_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0041_bin, NARC_p_enc_data_narc_0041_bin), NARC_zone_event_release_narc_0232_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0114
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0030_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0042_bin, NARC_p_enc_data_narc_0042_bin), NARC_zone_event_release_narc_0233_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0115
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0041_bin, NARC_scr_seq_release_narc_0256_bin, NARC_scr_seq_release_narc_0716_bin, NARC_msg_narc_0232_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0043_bin, NARC_p_enc_data_narc_0043_bin), NARC_zone_event_release_narc_0234_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0116
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0031_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0044_bin, NARC_p_enc_data_narc_0044_bin), NARC_zone_event_release_narc_0235_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0117
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0035_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0045_bin, NARC_p_enc_data_narc_0045_bin), NARC_zone_event_release_narc_0236_bin, MAPSEC_SOLACEON_RUINS, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0118
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D09
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0043_bin, NARC_scr_seq_release_narc_0259_bin, NARC_scr_seq_release_narc_0719_bin, NARC_msg_narc_0233_bin, SEQ_D_01, SEQ_D_01, ENCDATA(NARC_d_enc_data_narc_0047_bin, NARC_p_enc_data_narc_0047_bin), NARC_zone_event_release_narc_0237_bin, MAPSEC_VICTORY_ROAD, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D09R0101
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0044_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, ENCDATA(NARC_d_enc_data_narc_0048_bin, NARC_p_enc_data_narc_0048_bin), NARC_zone_event_release_narc_0238_bin, MAPSEC_VICTORY_ROAD, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D09R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0045_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, ENCDATA(NARC_d_enc_data_narc_0049_bin, NARC_p_enc_data_narc_0049_bin), NARC_zone_event_release_narc_0239_bin, MAPSEC_VICTORY_ROAD, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D09R0103
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0046_bin, NARC_scr_seq_release_narc_0262_bin, NARC_scr_seq_release_narc_0722_bin, NARC_msg_narc_0234_bin, SEQ_D_01, SEQ_D_01, ENCDATA(NARC_d_enc_data_narc_0050_bin, NARC_p_enc_data_narc_0050_bin), NARC_zone_event_release_narc_0240_bin, MAPSEC_VICTORY_ROAD, 14, 0, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D09R0104
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0047_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, ENCDATA(NARC_d_enc_data_narc_0051_bin, NARC_p_enc_data_narc_0051_bin), NARC_zone_event_release_narc_0241_bin, MAPSEC_VICTORY_ROAD, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D09R0105
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0048_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, ENCDATA(NARC_d_enc_data_narc_0052_bin, NARC_p_enc_data_narc_0052_bin), NARC_zone_event_release_narc_0242_bin, MAPSEC_VICTORY_ROAD, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D09R0106
+ {NARC_area_data_narc_0004_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0049_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0243_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D10
+ {NARC_area_data_narc_0051_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0049_bin, NARC_scr_seq_release_narc_0265_bin, NARC_scr_seq_release_narc_0725_bin, NARC_msg_narc_0235_bin, SEQ_SILENCE_DUNGEON, SEQ_SILENCE_DUNGEON, 0xFFFF, NARC_zone_event_release_narc_0244_bin, MAPSEC_PAL_PARK, 0, 2, 2, 0, TRUE, FALSE, FALSE, FALSE}, // MAP_D10R0101
+ {NARC_area_data_narc_0009_bin, NARC_move_model_list_narc_0003_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D11
+ {NARC_area_data_narc_0049_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0050_bin, NARC_scr_seq_release_narc_0266_bin, NARC_scr_seq_release_narc_0726_bin, NARC_msg_narc_0236_bin, SEQ_D_KOUEN, SEQ_D_KOUEN, 0xFFFF, NARC_zone_event_release_narc_0245_bin, MAPSEC_AMITY_SQUARE, 0, 2, 2, 0, FALSE, TRUE, FALSE, FALSE}, // MAP_D11R0101
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0051_bin, NARC_scr_seq_release_narc_0267_bin, NARC_scr_seq_release_narc_0727_bin, NARC_msg_narc_0018_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0053_bin, NARC_p_enc_data_narc_0053_bin), NARC_zone_event_release_narc_0246_bin, MAPSEC_RAVAGED_PATH, 0, 12, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D12R0101
+ {NARC_area_data_narc_0044_bin, 44, NARC_map_matrix_narc_0052_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0247_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D13
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0052_bin, NARC_scr_seq_release_narc_0269_bin, NARC_scr_seq_release_narc_0729_bin, NARC_msg_narc_0238_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0248_bin, MAPSEC_FLOAROMA_MEADOW, 0, 2, 3, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D13R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0270_bin, NARC_scr_seq_release_narc_0730_bin, NARC_msg_narc_0239_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0249_bin, MAPSEC_FLOAROMA_MEADOW, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D13R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0003_bin, NARC_scr_seq_release_narc_0271_bin, NARC_scr_seq_release_narc_0731_bin, NARC_msg_narc_0240_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0054_bin, NARC_p_enc_data_narc_0054_bin), NARC_zone_event_release_narc_0250_bin, MAPSEC_OREBURGH_GATE, 0, 12, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D14R0101
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0004_bin, NARC_scr_seq_release_narc_0272_bin, NARC_scr_seq_release_narc_0732_bin, NARC_msg_narc_0241_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0055_bin, NARC_p_enc_data_narc_0055_bin), NARC_zone_event_release_narc_0251_bin, MAPSEC_OREBURGH_GATE, 1, 12, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D14R0102
+ {NARC_area_data_narc_0015_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0273_bin, NARC_scr_seq_release_narc_0733_bin, NARC_msg_narc_0242_bin, SEQ_D_02, SEQ_D_02, 0xFFFF, NARC_zone_event_release_narc_0252_bin, MAPSEC_FULLMOON_ISLAND, 0, 0, 2, 0, FALSE, TRUE, FALSE, TRUE}, // MAP_D15
+ {NARC_area_data_narc_0044_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0053_bin, NARC_scr_seq_release_narc_0274_bin, NARC_scr_seq_release_narc_0734_bin, NARC_msg_narc_0243_bin, SEQ_D_02, SEQ_D_02, 0xFFFF, NARC_zone_event_release_narc_0253_bin, MAPSEC_FULLMOON_ISLAND, 0, 2, 3, 3, FALSE, TRUE, FALSE, FALSE}, // MAP_D15R0101
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0275_bin, NARC_scr_seq_release_narc_0735_bin, NARC_msg_narc_0244_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, ENCDATA(NARC_d_enc_data_narc_0056_bin, NARC_p_enc_data_narc_0056_bin), NARC_zone_event_release_narc_0254_bin, MAPSEC_STARK_MOUNTAIN, 9, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_D16
+ {NARC_area_data_narc_0047_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0057_bin, NARC_scr_seq_release_narc_0276_bin, NARC_scr_seq_release_narc_0736_bin, NARC_msg_narc_0245_bin, SEQ_D_06, SEQ_D_06, ENCDATA(NARC_d_enc_data_narc_0057_bin, NARC_p_enc_data_narc_0057_bin), NARC_zone_event_release_narc_0255_bin, MAPSEC_STARK_MOUNTAIN, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D16R0101
+ {NARC_area_data_narc_0047_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0058_bin, NARC_scr_seq_release_narc_0277_bin, NARC_scr_seq_release_narc_0737_bin, NARC_msg_narc_0246_bin, SEQ_D_06, SEQ_D_06, ENCDATA(NARC_d_enc_data_narc_0058_bin, NARC_p_enc_data_narc_0058_bin), NARC_zone_event_release_narc_0256_bin, MAPSEC_STARK_MOUNTAIN, 0, 8, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D16R0102
+ {NARC_area_data_narc_0047_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0059_bin, NARC_scr_seq_release_narc_0278_bin, NARC_scr_seq_release_narc_0738_bin, NARC_msg_narc_0247_bin, SEQ_D_06, SEQ_D_06, 0xFFFF, NARC_zone_event_release_narc_0257_bin, MAPSEC_STARK_MOUNTAIN, 0, 12, 3, 10, TRUE, TRUE, FALSE, FALSE}, // MAP_D16R0103
+ {NARC_area_data_narc_0018_bin, NARC_move_model_list_narc_0012_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D17
+ {NARC_area_data_narc_0052_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0060_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0059_bin, NARC_p_enc_data_narc_0059_bin), NARC_zone_event_release_narc_0258_bin, MAPSEC_SENDOFF_SPRING, 8, 0, 3, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D17R0101
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0061_bin, NARC_scr_seq_release_narc_0281_bin, NARC_scr_seq_release_narc_0741_bin, NARC_msg_narc_0248_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0259_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0102
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0062_bin, NARC_scr_seq_release_narc_0282_bin, NARC_scr_seq_release_narc_0742_bin, NARC_msg_narc_0249_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0260_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0103
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0063_bin, NARC_scr_seq_release_narc_0283_bin, NARC_scr_seq_release_narc_0743_bin, NARC_msg_narc_0250_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0261_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0104
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0284_bin, NARC_scr_seq_release_narc_0744_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0063_bin, NARC_p_enc_data_narc_0063_bin), NARC_zone_event_release_narc_0262_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0105
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0285_bin, NARC_scr_seq_release_narc_0745_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0064_bin, NARC_p_enc_data_narc_0064_bin), NARC_zone_event_release_narc_0263_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0106
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0286_bin, NARC_scr_seq_release_narc_0746_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0065_bin, NARC_p_enc_data_narc_0065_bin), NARC_zone_event_release_narc_0264_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0107
+ {NARC_area_data_narc_0013_bin, NARC_move_model_list_narc_0010_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0302_bin, NARC_scr_seq_release_narc_0762_bin, NARC_msg_narc_0251_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0265_bin, MAPSEC_FLOWER_PARADISE, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_D18
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, FALSE, FALSE, FALSE, FALSE}, // MAP_D18R0101
+ {NARC_area_data_narc_0011_bin, NARC_move_model_list_narc_0005_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D19A
+ {NARC_area_data_narc_0011_bin, NARC_move_model_list_narc_0005_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_01, SEQ_D_01, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, TRUE, TRUE, FALSE, FALSE}, // MAP_D19B
+ {NARC_area_data_narc_0055_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0068_bin, NARC_scr_seq_release_narc_0304_bin, NARC_scr_seq_release_narc_0764_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0106_bin, NARC_p_enc_data_narc_0106_bin), NARC_zone_event_release_narc_0266_bin, MAPSEC_SNOWPOINT_TEMPLE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D20R0101
+ {NARC_area_data_narc_0055_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0069_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0107_bin, NARC_p_enc_data_narc_0107_bin), NARC_zone_event_release_narc_0267_bin, MAPSEC_SNOWPOINT_TEMPLE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D20R0102
+ {NARC_area_data_narc_0055_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0070_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0108_bin, NARC_p_enc_data_narc_0108_bin), NARC_zone_event_release_narc_0268_bin, MAPSEC_SNOWPOINT_TEMPLE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D20R0103
+ {NARC_area_data_narc_0055_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0071_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0109_bin, NARC_p_enc_data_narc_0109_bin), NARC_zone_event_release_narc_0269_bin, MAPSEC_SNOWPOINT_TEMPLE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D20R0104
+ {NARC_area_data_narc_0055_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0072_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0110_bin, NARC_p_enc_data_narc_0110_bin), NARC_zone_event_release_narc_0270_bin, MAPSEC_SNOWPOINT_TEMPLE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D20R0105
+ {NARC_area_data_narc_0055_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0073_bin, NARC_scr_seq_release_narc_0309_bin, NARC_scr_seq_release_narc_0769_bin, NARC_msg_narc_0252_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0111_bin, NARC_p_enc_data_narc_0111_bin), NARC_zone_event_release_narc_0271_bin, MAPSEC_SNOWPOINT_TEMPLE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D20R0106
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0074_bin, NARC_scr_seq_release_narc_0310_bin, NARC_scr_seq_release_narc_0770_bin, NARC_msg_narc_0253_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0112_bin, NARC_p_enc_data_narc_0112_bin), NARC_zone_event_release_narc_0272_bin, MAPSEC_WAYWARD_CAVE, 16, 12, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D21R0101
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0075_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_05, SEQ_D_05, ENCDATA(NARC_d_enc_data_narc_0113_bin, NARC_p_enc_data_narc_0113_bin), NARC_zone_event_release_narc_0273_bin, MAPSEC_WAYWARD_CAVE, 0, 12, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D21R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0076_bin, NARC_scr_seq_release_narc_0312_bin, NARC_scr_seq_release_narc_0772_bin, NARC_msg_narc_0254_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0114_bin, NARC_p_enc_data_narc_0114_bin), NARC_zone_event_release_narc_0274_bin, MAPSEC_RUIN_MANIAC_CAVE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D22R0101
+ {NARC_area_data_narc_0012_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0079_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, ENCDATA(NARC_d_enc_data_narc_0117_bin, NARC_p_enc_data_narc_0117_bin), NARC_zone_event_release_narc_0275_bin, MAPSEC_TROPHY_GARDEN, 0, 2, 2, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D23R0101
+ {NARC_area_data_narc_0015_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0316_bin, NARC_scr_seq_release_narc_0776_bin, NARC_msg_narc_0257_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, ENCDATA(NARC_d_enc_data_narc_0118_bin, NARC_p_enc_data_narc_0118_bin), NARC_zone_event_release_narc_0276_bin, MAPSEC_IRON_ISLAND, 8, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_D24
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0080_bin, NARC_scr_seq_release_narc_0317_bin, NARC_scr_seq_release_narc_0777_bin, NARC_msg_narc_0018_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0119_bin, NARC_p_enc_data_narc_0119_bin), NARC_zone_event_release_narc_0277_bin, MAPSEC_IRON_ISLAND, 0, 13, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D24R0101
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0081_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0120_bin, NARC_p_enc_data_narc_0120_bin), NARC_zone_event_release_narc_0278_bin, MAPSEC_IRON_ISLAND, 0, 13, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D24R0102
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0082_bin, NARC_scr_seq_release_narc_0319_bin, NARC_scr_seq_release_narc_0779_bin, NARC_msg_narc_0018_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0121_bin, NARC_p_enc_data_narc_0121_bin), NARC_zone_event_release_narc_0279_bin, MAPSEC_IRON_ISLAND, 0, 13, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D24R0103
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0083_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0122_bin, NARC_p_enc_data_narc_0122_bin), NARC_zone_event_release_narc_0280_bin, MAPSEC_IRON_ISLAND, 0, 13, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D24R0104
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0084_bin, NARC_scr_seq_release_narc_0321_bin, NARC_scr_seq_release_narc_0781_bin, NARC_msg_narc_0258_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0123_bin, NARC_p_enc_data_narc_0123_bin), NARC_zone_event_release_narc_0281_bin, MAPSEC_IRON_ISLAND, 0, 13, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D24R0105
+ {NARC_area_data_narc_0045_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0085_bin, NARC_scr_seq_release_narc_0322_bin, NARC_scr_seq_release_narc_0782_bin, NARC_msg_narc_0018_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0124_bin, NARC_p_enc_data_narc_0124_bin), NARC_zone_event_release_narc_0282_bin, MAPSEC_IRON_ISLAND, 0, 13, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D24R0106
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0086_bin, NARC_scr_seq_release_narc_0324_bin, NARC_scr_seq_release_narc_0784_bin, NARC_msg_narc_0260_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0125_bin, NARC_p_enc_data_narc_0125_bin), NARC_zone_event_release_narc_0283_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0101
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0087_bin, NARC_scr_seq_release_narc_0325_bin, NARC_scr_seq_release_narc_0785_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0126_bin, NARC_p_enc_data_narc_0126_bin), NARC_zone_event_release_narc_0284_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0102
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0088_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0127_bin, NARC_p_enc_data_narc_0127_bin), NARC_zone_event_release_narc_0285_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0103
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0089_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0128_bin, NARC_p_enc_data_narc_0128_bin), NARC_zone_event_release_narc_0286_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0104
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0090_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0129_bin, NARC_p_enc_data_narc_0129_bin), NARC_zone_event_release_narc_0287_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0105
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0091_bin, NARC_scr_seq_release_narc_0329_bin, NARC_scr_seq_release_narc_0789_bin, NARC_msg_narc_0261_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0130_bin, NARC_p_enc_data_narc_0130_bin), NARC_zone_event_release_narc_0288_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0106
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0092_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0131_bin, NARC_p_enc_data_narc_0131_bin), NARC_zone_event_release_narc_0289_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0107
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0093_bin, NARC_scr_seq_release_narc_0331_bin, NARC_scr_seq_release_narc_0791_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0132_bin, NARC_p_enc_data_narc_0132_bin), NARC_zone_event_release_narc_0290_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0108
+ {NARC_area_data_narc_0056_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0094_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0133_bin, NARC_p_enc_data_narc_0133_bin), NARC_zone_event_release_narc_0291_bin, MAPSEC_OLD_CHATEAU, 0, 4, 3, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R0109
+ {NARC_area_data_narc_0031_bin, 31, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 3, 9, FALSE, FALSE, FALSE, FALSE}, // MAP_D25R1001
+ {NARC_area_data_narc_0048_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0095_bin, NARC_scr_seq_release_narc_0333_bin, NARC_scr_seq_release_narc_0793_bin, NARC_msg_narc_0262_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0292_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0101
+ {NARC_area_data_narc_0048_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0096_bin, NARC_scr_seq_release_narc_0334_bin, NARC_scr_seq_release_narc_0794_bin, NARC_msg_narc_0263_bin, SEQ_D_AGITO, SEQ_D_AGITO, 0xFFFF, NARC_zone_event_release_narc_0293_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0102
+ {NARC_area_data_narc_0048_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0097_bin, NARC_scr_seq_release_narc_0335_bin, NARC_scr_seq_release_narc_0795_bin, NARC_msg_narc_0264_bin, SEQ_D_AGITO, SEQ_D_AGITO, 0xFFFF, NARC_zone_event_release_narc_0294_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0103
+ {NARC_area_data_narc_0048_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0098_bin, NARC_scr_seq_release_narc_0336_bin, NARC_scr_seq_release_narc_0796_bin, NARC_msg_narc_0265_bin, SEQ_D_AGITO, SEQ_D_AGITO, 0xFFFF, NARC_zone_event_release_narc_0295_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0104
+ {NARC_area_data_narc_0048_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0100_bin, NARC_scr_seq_release_narc_0337_bin, NARC_scr_seq_release_narc_0797_bin, NARC_msg_narc_0266_bin, SEQ_D_AGITO, SEQ_D_AGITO, 0xFFFF, NARC_zone_event_release_narc_0296_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0105
+ {NARC_area_data_narc_0048_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0099_bin, NARC_scr_seq_release_narc_0338_bin, NARC_scr_seq_release_narc_0798_bin, NARC_msg_narc_0267_bin, SEQ_D_AGITO, SEQ_D_AGITO, 0xFFFF, NARC_zone_event_release_narc_0297_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0106
+ {NARC_area_data_narc_0052_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0101_bin, NARC_scr_seq_release_narc_0342_bin, NARC_scr_seq_release_narc_0802_bin, NARC_msg_narc_0270_bin, SEQ_D_LAKE, SEQ_D_LAKE, ENCDATA(NARC_d_enc_data_narc_0134_bin, NARC_p_enc_data_narc_0134_bin), NARC_zone_event_release_narc_0298_bin, MAPSEC_LAKE_VERITY, 0, 2, 3, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D27R0101
+ {NARC_area_data_narc_0052_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0102_bin, NARC_scr_seq_release_narc_0343_bin, NARC_scr_seq_release_narc_0803_bin, NARC_msg_narc_0271_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, ENCDATA(NARC_d_enc_data_narc_0135_bin, NARC_p_enc_data_narc_0135_bin), NARC_zone_event_release_narc_0299_bin, MAPSEC_LAKE_VERITY, 0, 2, 3, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D27R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0103_bin, NARC_scr_seq_release_narc_0344_bin, NARC_scr_seq_release_narc_0804_bin, NARC_msg_narc_0272_bin, SEQ_D_RYAYHY, SEQ_D_RYAYHY, 0xFFFF, NARC_zone_event_release_narc_0300_bin, MAPSEC_VERITY_CAVERN, 0, 12, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D27R0103
+ {NARC_area_data_narc_0052_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0104_bin, NARC_scr_seq_release_narc_0346_bin, NARC_scr_seq_release_narc_0806_bin, NARC_msg_narc_0273_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0301_bin, MAPSEC_LAKE_VALOR, 0, 2, 3, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_D28R0101
+ {NARC_area_data_narc_0052_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0105_bin, NARC_scr_seq_release_narc_0347_bin, NARC_scr_seq_release_narc_0807_bin, NARC_msg_narc_0274_bin, SEQ_D_LAKE, SEQ_D_LAKE, ENCDATA(NARC_d_enc_data_narc_0136_bin, NARC_p_enc_data_narc_0136_bin), NARC_zone_event_release_narc_0302_bin, MAPSEC_LAKE_VALOR, 0, 2, 3, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_D28R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0106_bin, NARC_scr_seq_release_narc_0348_bin, NARC_scr_seq_release_narc_0808_bin, NARC_msg_narc_0275_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, 0xFFFF, NARC_zone_event_release_narc_0303_bin, MAPSEC_VALOR_CAVERN, 0, 12, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D28R0103
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0107_bin, NARC_scr_seq_release_narc_0350_bin, NARC_scr_seq_release_narc_0810_bin, NARC_msg_narc_0276_bin, SEQ_D_LAKE, SEQ_D_LAKE, 0xFFFF, NARC_zone_event_release_narc_0304_bin, MAPSEC_LAKE_ACUITY, 0, 15, 3, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_D29R0101
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0108_bin, NARC_scr_seq_release_narc_0351_bin, NARC_scr_seq_release_narc_0811_bin, NARC_msg_narc_0277_bin, SEQ_D_GINLOBBY, SEQ_D_GINLOBBY, ENCDATA(NARC_d_enc_data_narc_0137_bin, NARC_p_enc_data_narc_0137_bin), NARC_zone_event_release_narc_0305_bin, MAPSEC_LAKE_ACUITY, 0, 15, 3, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_D29R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0109_bin, NARC_scr_seq_release_narc_0352_bin, NARC_scr_seq_release_narc_0812_bin, NARC_msg_narc_0278_bin, SEQ_D_RYAYHY, SEQ_D_RYAYHY, 0xFFFF, NARC_zone_event_release_narc_0306_bin, MAPSEC_ACUITY_CAVERN, 0, 12, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D29R0103
+ {NARC_area_data_narc_0015_bin, NARC_move_model_list_narc_0009_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0353_bin, NARC_scr_seq_release_narc_0813_bin, NARC_msg_narc_0279_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0307_bin, MAPSEC_NEWMOON_ISLAND, 0, 0, 3, 0, FALSE, TRUE, FALSE, FALSE}, // MAP_D30
+ {NARC_area_data_narc_0044_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0110_bin, NARC_scr_seq_release_narc_0354_bin, NARC_scr_seq_release_narc_0814_bin, NARC_msg_narc_0280_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0308_bin, MAPSEC_NEWMOON_ISLAND, 0, 2, 3, 3, FALSE, TRUE, FALSE, FALSE}, // MAP_D30R0101
+ {NARC_area_data_narc_0054_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0229_bin, NARC_scr_seq_release_narc_0355_bin, NARC_scr_seq_release_narc_0815_bin, NARC_msg_narc_0281_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0309_bin, MAPSEC_BATTLE_PARK, 0, 2, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_D31
+ {NARC_area_data_narc_0041_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0231_bin, NARC_scr_seq_release_narc_0356_bin, NARC_scr_seq_release_narc_0816_bin, NARC_msg_narc_0282_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0310_bin, MAPSEC_BATTLE_PARK, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0101
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0232_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0102
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0233_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0103
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0193_bin, NARC_scr_seq_release_narc_0358_bin, NARC_scr_seq_release_narc_0818_bin, NARC_msg_narc_0283_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0311_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0201
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_0359_bin, NARC_scr_seq_release_narc_0819_bin, NARC_msg_narc_0018_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0312_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0202
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0194_bin, NARC_scr_seq_release_narc_0360_bin, NARC_scr_seq_release_narc_0820_bin, NARC_msg_narc_0018_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0313_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0203
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0195_bin, NARC_scr_seq_release_narc_0361_bin, NARC_scr_seq_release_narc_0821_bin, NARC_msg_narc_0018_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0314_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0204
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0197_bin, NARC_scr_seq_release_narc_0362_bin, NARC_scr_seq_release_narc_0822_bin, NARC_msg_narc_0284_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0315_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0205
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0198_bin, NARC_scr_seq_release_narc_0363_bin, NARC_scr_seq_release_narc_0823_bin, NARC_msg_narc_0285_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0316_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0206
+ {NARC_area_data_narc_0005_bin, NARC_move_model_list_narc_0014_bin, NARC_map_matrix_narc_0118_bin, NARC_scr_seq_release_narc_0366_bin, NARC_scr_seq_release_narc_0825_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0317_bin, MAPSEC_MYSTERY_ZONE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_DIRECT2
+ {NARC_area_data_narc_0005_bin, NARC_move_model_list_narc_0014_bin, NARC_map_matrix_narc_0121_bin, NARC_scr_seq_release_narc_0367_bin, NARC_scr_seq_release_narc_0826_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0318_bin, MAPSEC_MYSTERY_ZONE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_DIRECT4
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0379_bin, NARC_scr_seq_release_narc_0829_bin, NARC_msg_narc_0352_bin, SEQ_ROAD_A_D, SEQ_ROAD_A_N, 0xFFFF, NARC_zone_event_release_narc_0319_bin, MAPSEC_VERITY_LAKEFRONT, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_L01
+ {NARC_area_data_narc_0020_bin, 20, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0380_bin, NARC_scr_seq_release_narc_0830_bin, NARC_msg_narc_0353_bin, SEQ_ROAD_A_D, SEQ_ROAD_A_N, 0xFFFF, NARC_zone_event_release_narc_0320_bin, MAPSEC_VERITY_LAKEFRONT, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_L01R0101
+ {NARC_area_data_narc_0018_bin, NARC_move_model_list_narc_0012_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0381_bin, NARC_scr_seq_release_narc_0831_bin, NARC_msg_narc_0354_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, ENCDATA(NARC_d_enc_data_narc_0138_bin, NARC_p_enc_data_narc_0138_bin), NARC_zone_event_release_narc_0321_bin, MAPSEC_VALOR_LAKEFRONT, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_L02
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0147_bin, NARC_scr_seq_release_narc_0382_bin, NARC_scr_seq_release_narc_0832_bin, NARC_msg_narc_0355_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0322_bin, MAPSEC_RESTAURANT, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_L02R0101
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0146_bin, NARC_scr_seq_release_narc_0383_bin, NARC_scr_seq_release_narc_0833_bin, NARC_msg_narc_0356_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0323_bin, MAPSEC_GRAND_LAKE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_L02R0201
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0146_bin, NARC_scr_seq_release_narc_0384_bin, NARC_scr_seq_release_narc_0834_bin, NARC_msg_narc_0357_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0324_bin, MAPSEC_GRAND_LAKE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_L02R0301
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0385_bin, NARC_scr_seq_release_narc_0835_bin, NARC_msg_narc_0358_bin, SEQ_ROAD_SNOW_D, SEQ_ROAD_SNOW_N, ENCDATA(NARC_d_enc_data_narc_0139_bin, NARC_p_enc_data_narc_0139_bin), NARC_zone_event_release_narc_0325_bin, MAPSEC_ACUITY_LAKEFRONT, 27, 0, 2, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_L03
+ {NARC_area_data_narc_0018_bin, NARC_move_model_list_narc_0012_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0326_bin, MAPSEC_SPRING_PATH, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_L04
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0392_bin, NARC_scr_seq_release_narc_0837_bin, NARC_msg_narc_0415_bin, SEQ_ROAD_A_D, SEQ_ROAD_A_N, ENCDATA(NARC_d_enc_data_narc_0140_bin, NARC_p_enc_data_narc_0140_bin), NARC_zone_event_release_narc_0327_bin, MAPSEC_ROUTE_201, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R201
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0393_bin, NARC_scr_seq_release_narc_0838_bin, NARC_msg_narc_0416_bin, SEQ_ROAD_A_D, SEQ_ROAD_A_N, ENCDATA(NARC_d_enc_data_narc_0141_bin, NARC_p_enc_data_narc_0141_bin), NARC_zone_event_release_narc_0328_bin, MAPSEC_ROUTE_202, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R202
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0394_bin, NARC_scr_seq_release_narc_0839_bin, NARC_msg_narc_0417_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, ENCDATA(NARC_d_enc_data_narc_0142_bin, NARC_p_enc_data_narc_0142_bin), NARC_zone_event_release_narc_0329_bin, MAPSEC_ROUTE_203, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R203
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0395_bin, NARC_scr_seq_release_narc_0840_bin, NARC_msg_narc_0418_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, ENCDATA(NARC_d_enc_data_narc_0143_bin, NARC_p_enc_data_narc_0143_bin), NARC_zone_event_release_narc_0330_bin, MAPSEC_ROUTE_204, 0, 0, 2, 0, TRUE, TRUE, TRUE, TRUE}, // MAP_R204A
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0396_bin, NARC_scr_seq_release_narc_0841_bin, NARC_msg_narc_0419_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, ENCDATA(NARC_d_enc_data_narc_0144_bin, NARC_p_enc_data_narc_0144_bin), NARC_zone_event_release_narc_0331_bin, MAPSEC_ROUTE_204, 0, 0, 2, 0, TRUE, TRUE, TRUE, TRUE}, // MAP_R204B
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0397_bin, NARC_scr_seq_release_narc_0842_bin, NARC_msg_narc_0420_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, ENCDATA(NARC_d_enc_data_narc_0145_bin, NARC_p_enc_data_narc_0145_bin), NARC_zone_event_release_narc_0332_bin, MAPSEC_ROUTE_205, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R205A
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0398_bin, NARC_scr_seq_release_narc_0843_bin, NARC_msg_narc_0421_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, 0xFFFF, NARC_zone_event_release_narc_0333_bin, MAPSEC_ROUTE_205, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R205AR0101
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0399_bin, NARC_scr_seq_release_narc_0844_bin, NARC_msg_narc_0422_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, ENCDATA(NARC_d_enc_data_narc_0146_bin, NARC_p_enc_data_narc_0146_bin), NARC_zone_event_release_narc_0334_bin, MAPSEC_ROUTE_205, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R205B
+ {NARC_area_data_narc_0007_bin, NARC_move_model_list_narc_0001_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0400_bin, NARC_scr_seq_release_narc_0845_bin, NARC_msg_narc_0423_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, ENCDATA(NARC_d_enc_data_narc_0147_bin, NARC_p_enc_data_narc_0147_bin), NARC_zone_event_release_narc_0335_bin, MAPSEC_ROUTE_206, 8, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R206
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0211_bin, NARC_scr_seq_release_narc_0401_bin, NARC_scr_seq_release_narc_0846_bin, NARC_msg_narc_0424_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0336_bin, MAPSEC_ROUTE_206, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R206R0101
+ {NARC_area_data_narc_0031_bin, 31, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0402_bin, NARC_scr_seq_release_narc_0847_bin, NARC_msg_narc_0425_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0337_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R206R0201
+ {NARC_area_data_narc_0007_bin, NARC_move_model_list_narc_0001_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0403_bin, NARC_scr_seq_release_narc_0848_bin, NARC_msg_narc_0426_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, ENCDATA(NARC_d_enc_data_narc_0148_bin, NARC_p_enc_data_narc_0148_bin), NARC_zone_event_release_narc_0338_bin, MAPSEC_ROUTE_207, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R207
+ {NARC_area_data_narc_0009_bin, NARC_move_model_list_narc_0003_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0404_bin, NARC_scr_seq_release_narc_0849_bin, NARC_msg_narc_0427_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, ENCDATA(NARC_d_enc_data_narc_0149_bin, NARC_p_enc_data_narc_0149_bin), NARC_zone_event_release_narc_0339_bin, MAPSEC_ROUTE_208, 8, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R208
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0405_bin, NARC_scr_seq_release_narc_0850_bin, NARC_msg_narc_0428_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0340_bin, MAPSEC_ROUTE_208, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R208R0101
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0406_bin, NARC_scr_seq_release_narc_0851_bin, NARC_msg_narc_0429_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, ENCDATA(NARC_d_enc_data_narc_0150_bin, NARC_p_enc_data_narc_0150_bin), NARC_zone_event_release_narc_0341_bin, MAPSEC_ROUTE_209, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R209
+ {NARC_area_data_narc_0042_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0212_bin, NARC_scr_seq_release_narc_0407_bin, NARC_scr_seq_release_narc_0852_bin, NARC_msg_narc_0430_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0151_bin, NARC_p_enc_data_narc_0151_bin), NARC_zone_event_release_narc_0342_bin, MAPSEC_ROUTE_209, 0, 4, 4, 8, FALSE, FALSE, TRUE, FALSE}, // MAP_R209R0101
+ {NARC_area_data_narc_0042_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0213_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0152_bin, NARC_p_enc_data_narc_0152_bin), NARC_zone_event_release_narc_0343_bin, MAPSEC_ROUTE_209, 0, 4, 4, 8, FALSE, FALSE, TRUE, FALSE}, // MAP_R209R0102
+ {NARC_area_data_narc_0042_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0214_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0153_bin, NARC_p_enc_data_narc_0153_bin), NARC_zone_event_release_narc_0344_bin, MAPSEC_ROUTE_209, 0, 4, 4, 8, FALSE, FALSE, TRUE, FALSE}, // MAP_R209R0103
+ {NARC_area_data_narc_0042_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0215_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0154_bin, NARC_p_enc_data_narc_0154_bin), NARC_zone_event_release_narc_0345_bin, MAPSEC_ROUTE_209, 0, 4, 4, 8, FALSE, FALSE, TRUE, FALSE}, // MAP_R209R0104
+ {NARC_area_data_narc_0042_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0216_bin, NARC_scr_seq_release_narc_0411_bin, NARC_scr_seq_release_narc_0856_bin, NARC_msg_narc_0431_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0155_bin, NARC_p_enc_data_narc_0155_bin), NARC_zone_event_release_narc_0346_bin, MAPSEC_ROUTE_209, 0, 4, 4, 8, FALSE, FALSE, TRUE, FALSE}, // MAP_R209R0105
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0412_bin, NARC_scr_seq_release_narc_0857_bin, NARC_msg_narc_0432_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0156_bin, NARC_p_enc_data_narc_0156_bin), NARC_zone_event_release_narc_0347_bin, MAPSEC_ROUTE_210, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R210A
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0414_bin, NARC_scr_seq_release_narc_0859_bin, NARC_msg_narc_0434_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0157_bin, NARC_p_enc_data_narc_0157_bin), NARC_zone_event_release_narc_0348_bin, MAPSEC_ROUTE_210, 14, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R210B
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0415_bin, NARC_scr_seq_release_narc_0860_bin, NARC_msg_narc_0435_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, 0xFFFF, NARC_zone_event_release_narc_0349_bin, MAPSEC_ROUTE_210, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R210BR0101
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0416_bin, NARC_scr_seq_release_narc_0861_bin, NARC_msg_narc_0436_bin, SEQ_ROAD_C_D, SEQ_ROAD_C_N, ENCDATA(NARC_d_enc_data_narc_0158_bin, NARC_p_enc_data_narc_0158_bin), NARC_zone_event_release_narc_0350_bin, MAPSEC_ROUTE_211, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R211A
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0417_bin, NARC_scr_seq_release_narc_0862_bin, NARC_msg_narc_0437_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0159_bin, NARC_p_enc_data_narc_0159_bin), NARC_zone_event_release_narc_0351_bin, MAPSEC_ROUTE_211, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R211B
+ {NARC_area_data_narc_0012_bin, NARC_move_model_list_narc_0006_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0418_bin, NARC_scr_seq_release_narc_0863_bin, NARC_msg_narc_0438_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, ENCDATA(NARC_d_enc_data_narc_0160_bin, NARC_p_enc_data_narc_0160_bin), NARC_zone_event_release_narc_0352_bin, MAPSEC_ROUTE_212, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R212A
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0178_bin, NARC_scr_seq_release_narc_0419_bin, NARC_scr_seq_release_narc_0864_bin, NARC_msg_narc_0439_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0353_bin, MAPSEC_POKEMON_MANSION, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R212AR0101
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0179_bin, NARC_scr_seq_release_narc_0420_bin, NARC_scr_seq_release_narc_0865_bin, NARC_msg_narc_0440_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0354_bin, MAPSEC_POKEMON_MANSION, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R212AR0102
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0180_bin, NARC_scr_seq_release_narc_0421_bin, NARC_scr_seq_release_narc_0866_bin, NARC_msg_narc_0441_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0355_bin, MAPSEC_POKEMON_MANSION, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R212AR0103
+ {NARC_area_data_narc_0012_bin, NARC_move_model_list_narc_0006_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0422_bin, NARC_scr_seq_release_narc_0867_bin, NARC_msg_narc_0442_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, ENCDATA(NARC_d_enc_data_narc_0161_bin, NARC_p_enc_data_narc_0161_bin), NARC_zone_event_release_narc_0356_bin, MAPSEC_ROUTE_212, 24, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R212B
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_0423_bin, NARC_scr_seq_release_narc_0868_bin, NARC_msg_narc_0443_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0357_bin, MAPSEC_ROUTE_212, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R212BR0101
+ {NARC_area_data_narc_0018_bin, NARC_move_model_list_narc_0012_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0424_bin, NARC_scr_seq_release_narc_0869_bin, NARC_msg_narc_0444_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, ENCDATA(NARC_d_enc_data_narc_0162_bin, NARC_p_enc_data_narc_0162_bin), NARC_zone_event_release_narc_0358_bin, MAPSEC_ROUTE_213, 25, 0, 2, 1, TRUE, TRUE, FALSE, TRUE}, // MAP_R213
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0425_bin, NARC_scr_seq_release_narc_0870_bin, NARC_msg_narc_0445_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0359_bin, MAPSEC_ROUTE_213, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R213R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0426_bin, NARC_scr_seq_release_narc_0871_bin, NARC_msg_narc_0446_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0360_bin, MAPSEC_FOOTSTEP_HOUSE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R213R0201
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0145_bin, NARC_scr_seq_release_narc_0427_bin, NARC_scr_seq_release_narc_0872_bin, NARC_msg_narc_0447_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0361_bin, MAPSEC_GRAND_LAKE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R213R0301
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0146_bin, NARC_scr_seq_release_narc_0428_bin, NARC_scr_seq_release_narc_0873_bin, NARC_msg_narc_0448_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0362_bin, MAPSEC_GRAND_LAKE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R213R0401
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0146_bin, NARC_scr_seq_release_narc_0429_bin, NARC_scr_seq_release_narc_0874_bin, NARC_msg_narc_0449_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0363_bin, MAPSEC_GRAND_LAKE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R213R0501
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0146_bin, NARC_scr_seq_release_narc_0430_bin, NARC_scr_seq_release_narc_0875_bin, NARC_msg_narc_0450_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0364_bin, MAPSEC_GRAND_LAKE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R213R0601
+ {NARC_area_data_narc_0018_bin, NARC_move_model_list_narc_0012_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0431_bin, NARC_scr_seq_release_narc_0876_bin, NARC_msg_narc_0451_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0163_bin, NARC_p_enc_data_narc_0163_bin), NARC_zone_event_release_narc_0365_bin, MAPSEC_ROUTE_214, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R214
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0157_bin, NARC_scr_seq_release_narc_0432_bin, NARC_scr_seq_release_narc_0877_bin, NARC_msg_narc_0452_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, 0xFFFF, NARC_zone_event_release_narc_0366_bin, MAPSEC_ROUTE_214, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R214R0101
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0433_bin, NARC_scr_seq_release_narc_0878_bin, NARC_msg_narc_0453_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0164_bin, NARC_p_enc_data_narc_0164_bin), NARC_zone_event_release_narc_0367_bin, MAPSEC_ROUTE_215, 2, 0, 2, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_R215
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0434_bin, NARC_scr_seq_release_narc_0879_bin, NARC_msg_narc_0454_bin, SEQ_ROAD_SNOW_D, SEQ_ROAD_SNOW_N, ENCDATA(NARC_d_enc_data_narc_0165_bin, NARC_p_enc_data_narc_0165_bin), NARC_zone_event_release_narc_0368_bin, MAPSEC_ROUTE_216, 26, 0, 2, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_R216
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0435_bin, NARC_scr_seq_release_narc_0880_bin, NARC_msg_narc_0455_bin, SEQ_ROAD_SNOW_D, SEQ_ROAD_SNOW_N, 0xFFFF, NARC_zone_event_release_narc_0369_bin, MAPSEC_ROUTE_216, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R216R0101
+ {NARC_area_data_narc_0014_bin, NARC_move_model_list_narc_0008_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0436_bin, NARC_scr_seq_release_narc_0881_bin, NARC_msg_narc_0456_bin, SEQ_ROAD_SNOW_D, SEQ_ROAD_SNOW_N, ENCDATA(NARC_d_enc_data_narc_0166_bin, NARC_p_enc_data_narc_0166_bin), NARC_zone_event_release_narc_0370_bin, MAPSEC_ROUTE_217, 7, 0, 2, 5, FALSE, TRUE, FALSE, TRUE}, // MAP_R217
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_0437_bin, NARC_scr_seq_release_narc_0882_bin, NARC_msg_narc_0457_bin, SEQ_ROAD_SNOW_D, SEQ_ROAD_SNOW_N, 0xFFFF, NARC_zone_event_release_narc_0371_bin, MAPSEC_ROUTE_217, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R217R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_0438_bin, NARC_scr_seq_release_narc_0883_bin, NARC_msg_narc_0458_bin, SEQ_ROAD_SNOW_D, SEQ_ROAD_SNOW_N, 0xFFFF, NARC_zone_event_release_narc_0372_bin, MAPSEC_ROUTE_217, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R217R0201
+ {NARC_area_data_narc_0015_bin, NARC_move_model_list_narc_0009_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0439_bin, NARC_scr_seq_release_narc_0884_bin, NARC_msg_narc_0459_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, ENCDATA(NARC_d_enc_data_narc_0167_bin, NARC_p_enc_data_narc_0167_bin), NARC_zone_event_release_narc_0373_bin, MAPSEC_ROUTE_218, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R218
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0440_bin, NARC_scr_seq_release_narc_0885_bin, NARC_msg_narc_0460_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, 0xFFFF, NARC_zone_event_release_narc_0374_bin, MAPSEC_ROUTE_218, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R218R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0441_bin, NARC_scr_seq_release_narc_0886_bin, NARC_msg_narc_0461_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, 0xFFFF, NARC_zone_event_release_narc_0375_bin, MAPSEC_ROUTE_218, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R218R0201
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0442_bin, NARC_scr_seq_release_narc_0887_bin, NARC_msg_narc_0462_bin, SEQ_ROAD_A_D, SEQ_ROAD_A_N, ENCDATA(NARC_d_enc_data_narc_0168_bin, NARC_p_enc_data_narc_0168_bin), NARC_zone_event_release_narc_0376_bin, MAPSEC_ROUTE_219, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R219
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0443_bin, NARC_scr_seq_release_narc_0888_bin, NARC_msg_narc_0463_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, ENCDATA(NARC_d_enc_data_narc_0169_bin, NARC_p_enc_data_narc_0169_bin), NARC_zone_event_release_narc_0377_bin, MAPSEC_ROUTE_221, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R221
+ {NARC_area_data_narc_0039_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0201_bin, NARC_scr_seq_release_narc_0444_bin, NARC_scr_seq_release_narc_0889_bin, NARC_msg_narc_0464_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0378_bin, MAPSEC_PAL_PARK, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R221R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_0445_bin, NARC_scr_seq_release_narc_0890_bin, NARC_msg_narc_0465_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0379_bin, MAPSEC_ROUTE_221, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R221R0201
+ {NARC_area_data_narc_0018_bin, NARC_move_model_list_narc_0012_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0446_bin, NARC_scr_seq_release_narc_0891_bin, NARC_msg_narc_0466_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, ENCDATA(NARC_d_enc_data_narc_0170_bin, NARC_p_enc_data_narc_0170_bin), NARC_zone_event_release_narc_0380_bin, MAPSEC_ROUTE_222, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R222
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0447_bin, NARC_scr_seq_release_narc_0892_bin, NARC_msg_narc_0467_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0381_bin, MAPSEC_ROUTE_222, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R222R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0448_bin, NARC_scr_seq_release_narc_0893_bin, NARC_msg_narc_0468_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0382_bin, MAPSEC_ROUTE_222, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R222R0201
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0449_bin, NARC_scr_seq_release_narc_0894_bin, NARC_msg_narc_0469_bin, SEQ_ROAD_E_D, SEQ_ROAD_E_N, 0xFFFF, NARC_zone_event_release_narc_0383_bin, MAPSEC_ROUTE_222, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R222R0301
+ {NARC_area_data_narc_0013_bin, NARC_move_model_list_narc_0010_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0450_bin, NARC_scr_seq_release_narc_0895_bin, NARC_msg_narc_0470_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0171_bin, NARC_p_enc_data_narc_0171_bin), NARC_zone_event_release_narc_0384_bin, MAPSEC_ROUTE_224, 0, 0, 2, 0, TRUE, TRUE, FALSE, TRUE}, // MAP_R224
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0451_bin, NARC_scr_seq_release_narc_0896_bin, NARC_msg_narc_0471_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, ENCDATA(NARC_d_enc_data_narc_0172_bin, NARC_p_enc_data_narc_0172_bin), NARC_zone_event_release_narc_0385_bin, MAPSEC_ROUTE_225, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R225
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_R226A
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_R226B
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0454_bin, NARC_scr_seq_release_narc_0899_bin, NARC_msg_narc_0474_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, ENCDATA(NARC_d_enc_data_narc_0173_bin, NARC_p_enc_data_narc_0173_bin), NARC_zone_event_release_narc_0386_bin, MAPSEC_ROUTE_227, 9, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R227
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_R227A
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_R227B
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0456_bin, NARC_scr_seq_release_narc_0901_bin, NARC_msg_narc_0476_bin, SEQ_ROAD_BZA_D, SEQ_ROAD_BZA_N, ENCDATA(NARC_d_enc_data_narc_0174_bin, NARC_p_enc_data_narc_0174_bin), NARC_zone_event_release_narc_0387_bin, MAPSEC_ROUTE_228, 10, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_R228
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0460_bin, NARC_scr_seq_release_narc_0905_bin, NARC_msg_narc_0480_bin, SEQ_ROAD_BZA_D, SEQ_ROAD_BZA_N, ENCDATA(NARC_d_enc_data_narc_0175_bin, NARC_p_enc_data_narc_0175_bin), NARC_zone_event_release_narc_0388_bin, MAPSEC_ROUTE_229, 0, 0, 2, 3, TRUE, TRUE, FALSE, TRUE}, // MAP_R229
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_R230
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_R232
+ {NARC_area_data_narc_0005_bin, NARC_move_model_list_narc_0014_bin, NARC_map_matrix_narc_0119_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_RECORD
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0978_bin, NARC_scr_seq_release_narc_0908_bin, NARC_msg_narc_0498_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, ENCDATA(NARC_d_enc_data_narc_0176_bin, NARC_p_enc_data_narc_0176_bin), NARC_zone_event_release_narc_0389_bin, MAPSEC_TWINLEAF_TOWN, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_T01
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0126_bin, NARC_scr_seq_release_narc_0979_bin, NARC_scr_seq_release_narc_0909_bin, NARC_msg_narc_0499_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, 0xFFFF, NARC_zone_event_release_narc_0390_bin, MAPSEC_TWINLEAF_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T01R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0127_bin, NARC_scr_seq_release_narc_0980_bin, NARC_scr_seq_release_narc_0910_bin, NARC_msg_narc_0500_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, 0xFFFF, NARC_zone_event_release_narc_0391_bin, MAPSEC_TWINLEAF_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T01R0102
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0128_bin, NARC_scr_seq_release_narc_0981_bin, NARC_scr_seq_release_narc_0911_bin, NARC_msg_narc_0501_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, 0xFFFF, NARC_zone_event_release_narc_0392_bin, MAPSEC_TWINLEAF_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T01R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0129_bin, NARC_scr_seq_release_narc_0982_bin, NARC_scr_seq_release_narc_0912_bin, NARC_msg_narc_0502_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, 0xFFFF, NARC_zone_event_release_narc_0393_bin, MAPSEC_TWINLEAF_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T01R0202
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0983_bin, NARC_scr_seq_release_narc_0913_bin, NARC_msg_narc_0503_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, 0xFFFF, NARC_zone_event_release_narc_0394_bin, MAPSEC_TWINLEAF_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T01R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0984_bin, NARC_scr_seq_release_narc_0914_bin, NARC_msg_narc_0504_bin, SEQ_TOWN01_D, SEQ_TOWN01_N, 0xFFFF, NARC_zone_event_release_narc_0395_bin, MAPSEC_TWINLEAF_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T01R0401
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0985_bin, NARC_scr_seq_release_narc_0915_bin, NARC_msg_narc_0505_bin, SEQ_TOWN02_D, SEQ_TOWN02_N, 0xFFFF, NARC_zone_event_release_narc_0396_bin, MAPSEC_SANDGEM_TOWN, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_T02
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0986_bin, NARC_scr_seq_release_narc_0916_bin, NARC_msg_narc_0506_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0397_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02FS0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0987_bin, NARC_scr_seq_release_narc_0917_bin, NARC_msg_narc_0507_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0398_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0988_bin, NARC_scr_seq_release_narc_0918_bin, NARC_msg_narc_0508_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0399_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02PC0102
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0160_bin, NARC_scr_seq_release_narc_0990_bin, NARC_scr_seq_release_narc_0920_bin, NARC_msg_narc_0509_bin, SEQ_KENKYUJO, SEQ_KENKYUJO, 0xFFFF, NARC_zone_event_release_narc_0400_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0130_bin, NARC_scr_seq_release_narc_0991_bin, NARC_scr_seq_release_narc_0921_bin, NARC_msg_narc_0510_bin, SEQ_TOWN02_D, SEQ_TOWN02_N, 0xFFFF, NARC_zone_event_release_narc_0401_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0131_bin, NARC_scr_seq_release_narc_0992_bin, NARC_scr_seq_release_narc_0922_bin, NARC_msg_narc_0511_bin, SEQ_TOWN02_D, SEQ_TOWN02_N, 0xFFFF, NARC_zone_event_release_narc_0402_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02R0202
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0993_bin, NARC_scr_seq_release_narc_0923_bin, NARC_msg_narc_0512_bin, SEQ_TOWN02_D, SEQ_TOWN02_N, 0xFFFF, NARC_zone_event_release_narc_0403_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02R0301
+ {NARC_area_data_narc_0008_bin, NARC_move_model_list_narc_0002_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0994_bin, NARC_scr_seq_release_narc_0924_bin, NARC_msg_narc_0513_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0404_bin, MAPSEC_FLOAROMA_TOWN, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_T03
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_0995_bin, NARC_scr_seq_release_narc_0925_bin, NARC_msg_narc_0514_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0405_bin, MAPSEC_FLOAROMA_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03FS0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_0996_bin, NARC_scr_seq_release_narc_0926_bin, NARC_msg_narc_0515_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0406_bin, MAPSEC_FLOAROMA_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0997_bin, NARC_scr_seq_release_narc_0927_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0407_bin, MAPSEC_FLOAROMA_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03PC0102
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0236_bin, NARC_scr_seq_release_narc_0999_bin, NARC_scr_seq_release_narc_0929_bin, NARC_msg_narc_0516_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0408_bin, MAPSEC_FLOWER_SHOP, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1000_bin, NARC_scr_seq_release_narc_0930_bin, NARC_msg_narc_0517_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0409_bin, MAPSEC_FLOAROMA_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1001_bin, NARC_scr_seq_release_narc_0931_bin, NARC_msg_narc_0518_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0410_bin, MAPSEC_FLOAROMA_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03R0301
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_1002_bin, NARC_scr_seq_release_narc_0932_bin, NARC_msg_narc_0519_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0411_bin, MAPSEC_SOLACEON_TOWN, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_T04
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_1003_bin, NARC_scr_seq_release_narc_0933_bin, NARC_msg_narc_0520_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0412_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04FS0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_1004_bin, NARC_scr_seq_release_narc_0934_bin, NARC_msg_narc_0521_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0413_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_1005_bin, NARC_scr_seq_release_narc_0935_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0414_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04PC0102
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0137_bin, NARC_scr_seq_release_narc_1007_bin, NARC_scr_seq_release_narc_0937_bin, NARC_msg_narc_0522_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0415_bin, MAPSEC_POKEMON_DAY_CARE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1008_bin, NARC_scr_seq_release_narc_0938_bin, NARC_msg_narc_0523_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0416_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_1009_bin, NARC_scr_seq_release_narc_0939_bin, NARC_msg_narc_0524_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0417_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1010_bin, NARC_scr_seq_release_narc_0940_bin, NARC_msg_narc_0525_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0418_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04R0401
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1011_bin, NARC_scr_seq_release_narc_0941_bin, NARC_msg_narc_0526_bin, SEQ_CITY06_D, SEQ_CITY06_N, 0xFFFF, NARC_zone_event_release_narc_0419_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04R0501
+ {NARC_area_data_narc_0010_bin, NARC_move_model_list_narc_0004_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_1012_bin, NARC_scr_seq_release_narc_0942_bin, NARC_msg_narc_0527_bin, SEQ_CITY04_D, SEQ_CITY04_N, ENCDATA(NARC_d_enc_data_narc_0177_bin, NARC_p_enc_data_narc_0177_bin), NARC_zone_event_release_narc_0420_bin, MAPSEC_CELESTIC_TOWN, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_T05
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_1014_bin, NARC_scr_seq_release_narc_0944_bin, NARC_msg_narc_0528_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0421_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_1015_bin, NARC_scr_seq_release_narc_0945_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0422_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05PC0102
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0168_bin, NARC_scr_seq_release_narc_1017_bin, NARC_scr_seq_release_narc_0947_bin, NARC_msg_narc_0529_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0423_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0170_bin, NARC_scr_seq_release_narc_1018_bin, NARC_scr_seq_release_narc_0948_bin, NARC_msg_narc_0530_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0424_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_1019_bin, NARC_scr_seq_release_narc_0949_bin, NARC_msg_narc_0531_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0425_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05R0301
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_1020_bin, NARC_scr_seq_release_narc_0950_bin, NARC_msg_narc_0532_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0426_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05R0401
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0169_bin, NARC_scr_seq_release_narc_1021_bin, NARC_scr_seq_release_narc_0951_bin, NARC_msg_narc_0533_bin, SEQ_CITY04_D, SEQ_CITY04_N, 0xFFFF, NARC_zone_event_release_narc_0427_bin, MAPSEC_CELESTIC_TOWN, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05R0501
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_1022_bin, NARC_scr_seq_release_narc_0952_bin, NARC_msg_narc_0534_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0428_bin, MAPSEC_SURVIVAL_AREA, 0, 0, 1, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_T06
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_1023_bin, NARC_scr_seq_release_narc_0953_bin, NARC_msg_narc_0535_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0429_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06FS0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_1024_bin, NARC_scr_seq_release_narc_0954_bin, NARC_msg_narc_0536_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0430_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_1025_bin, NARC_scr_seq_release_narc_0955_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0431_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06PC0102
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1027_bin, NARC_scr_seq_release_narc_0957_bin, NARC_msg_narc_0537_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0432_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_1028_bin, NARC_scr_seq_release_narc_0958_bin, NARC_msg_narc_0538_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0433_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1029_bin, NARC_scr_seq_release_narc_0959_bin, NARC_msg_narc_0539_bin, SEQ_CITY11_D, SEQ_CITY11_N, 0xFFFF, NARC_zone_event_release_narc_0434_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06R0301
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_1030_bin, NARC_scr_seq_release_narc_0960_bin, NARC_msg_narc_0540_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, ENCDATA(NARC_d_enc_data_narc_0178_bin, NARC_p_enc_data_narc_0178_bin), NARC_zone_event_release_narc_0435_bin, MAPSEC_RESORT_AREA, 0, 0, 1, 2, TRUE, TRUE, FALSE, TRUE}, // MAP_T07
+ {NARC_area_data_narc_0022_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0122_bin, NARC_scr_seq_release_narc_1031_bin, NARC_scr_seq_release_narc_0961_bin, NARC_msg_narc_0541_bin, SEQ_FS, SEQ_FS, 0xFFFF, NARC_zone_event_release_narc_0436_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T07FS0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0116_bin, NARC_scr_seq_release_narc_1032_bin, NARC_scr_seq_release_narc_0962_bin, NARC_msg_narc_0542_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0437_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T07PC0101
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_1033_bin, NARC_scr_seq_release_narc_0963_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0438_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T07PC0102
+ {NARC_area_data_narc_0038_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0199_bin, NARC_scr_seq_release_narc_1035_bin, NARC_scr_seq_release_narc_0965_bin, NARC_msg_narc_0543_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0439_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_T07R0101
+ {NARC_area_data_narc_0038_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0200_bin, NARC_scr_seq_release_narc_1036_bin, NARC_scr_seq_release_narc_0966_bin, NARC_msg_narc_0544_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0440_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_T07R0102
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_1037_bin, NARC_scr_seq_release_narc_0967_bin, NARC_msg_narc_0545_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0441_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_T07R0103
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1038_bin, NARC_scr_seq_release_narc_0968_bin, NARC_msg_narc_0546_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0442_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T07R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_1039_bin, NARC_scr_seq_release_narc_0969_bin, NARC_msg_narc_0547_bin, SEQ_TOWN07_D, SEQ_TOWN07_N, 0xFFFF, NARC_zone_event_release_narc_0443_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T07R0301
+ {NARC_area_data_narc_0005_bin, NARC_move_model_list_narc_0014_bin, NARC_map_matrix_narc_0120_bin, NARC_scr_seq_release_narc_1044_bin, NARC_scr_seq_release_narc_0971_bin, NARC_msg_narc_0576_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0444_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_UNION
+ {NARC_area_data_narc_0006_bin, NARC_move_model_list_narc_0000_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_D_D, SEQ_ROAD_D_N, ENCDATA(NARC_d_enc_data_narc_0179_bin, NARC_p_enc_data_narc_0179_bin), NARC_zone_event_release_narc_0445_bin, MAPSEC_ROUTE_220, 0, 0, 2, 1, TRUE, TRUE, FALSE, TRUE}, // MAP_W220
+ {NARC_area_data_narc_0013_bin, NARC_move_model_list_narc_0007_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, ENCDATA(NARC_d_enc_data_narc_0180_bin, NARC_p_enc_data_narc_0180_bin), NARC_zone_event_release_narc_0446_bin, MAPSEC_ROUTE_223, 0, 11, 2, 1, TRUE, TRUE, FALSE, TRUE}, // MAP_W223
+ {NARC_area_data_narc_0017_bin, NARC_move_model_list_narc_0011_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_1047_bin, NARC_scr_seq_release_narc_0974_bin, NARC_msg_narc_0583_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, ENCDATA(NARC_d_enc_data_narc_0181_bin, NARC_p_enc_data_narc_0181_bin), NARC_zone_event_release_narc_0447_bin, MAPSEC_ROUTE_226, 0, 0, 2, 4, TRUE, TRUE, FALSE, TRUE}, // MAP_W226
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_W229
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_1049_bin, NARC_scr_seq_release_narc_0976_bin, NARC_msg_narc_0585_bin, SEQ_ROAD_BZA_D, SEQ_ROAD_BZA_N, ENCDATA(NARC_d_enc_data_narc_0182_bin, NARC_p_enc_data_narc_0182_bin), NARC_zone_event_release_narc_0448_bin, MAPSEC_ROUTE_230, 0, 0, 2, 1, TRUE, TRUE, FALSE, TRUE}, // MAP_W230
+ {NARC_area_data_narc_0013_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_TOWN03_D, SEQ_TOWN03_N, 0xFFFF, NARC_zone_event_release_narc_0449_bin, MAPSEC_SEABREAK_PATH, 0, 0, 2, 1, TRUE, TRUE, FALSE, TRUE}, // MAP_W231
+ {NARC_area_data_narc_0019_bin, NARC_move_model_list_narc_0013_bin, NARC_map_matrix_narc_0000_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_DUMMY, SEQ_DUMMY, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_MYSTERY_ZONE, 0, 0, 2, 1, TRUE, TRUE, FALSE, FALSE}, // MAP_W233
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0007_bin, NARC_scr_seq_release_narc_0470_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0450_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C01PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0039_bin, NARC_scr_seq_release_narc_0502_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0451_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0053_bin, NARC_scr_seq_release_narc_0516_bin, NARC_msg_narc_0062_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0452_bin, MAPSEC_OREBURGH_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C03PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0075_bin, NARC_scr_seq_release_narc_0538_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0453_bin, MAPSEC_ETERNA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C04PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0099_bin, NARC_scr_seq_release_narc_0562_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0454_bin, MAPSEC_HEARTHOME_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C05PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0123_bin, NARC_scr_seq_release_narc_0586_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0455_bin, MAPSEC_PASTORIA_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C06PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0135_bin, NARC_scr_seq_release_narc_0598_bin, NARC_msg_narc_0138_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0456_bin, MAPSEC_VEILSTONE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C07PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0157_bin, NARC_scr_seq_release_narc_0620_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0457_bin, MAPSEC_SUNYSHORE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C08PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0173_bin, NARC_scr_seq_release_narc_0636_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0458_bin, MAPSEC_SNOWPOINT_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C09PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0179_bin, NARC_scr_seq_release_narc_0642_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0459_bin, MAPSEC_POKEMON_LEAGUE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C10PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0199_bin, NARC_scr_seq_release_narc_0662_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0460_bin, MAPSEC_FIGHT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C11PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0989_bin, NARC_scr_seq_release_narc_0919_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0461_bin, MAPSEC_SANDGEM_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T02PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0998_bin, NARC_scr_seq_release_narc_0928_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0462_bin, MAPSEC_FLOAROMA_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T03PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_1006_bin, NARC_scr_seq_release_narc_0936_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0463_bin, MAPSEC_SOLACEON_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T04PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_1016_bin, NARC_scr_seq_release_narc_0946_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0464_bin, MAPSEC_CELESTIC_TOWN, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T05PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_1026_bin, NARC_scr_seq_release_narc_0956_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0465_bin, MAPSEC_SURVIVAL_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T06PC0103
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_1034_bin, NARC_scr_seq_release_narc_0964_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0466_bin, MAPSEC_RESORT_AREA, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_T07PC0103
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0124_bin, NARC_scr_seq_release_narc_0047_bin, NARC_scr_seq_release_narc_0510_bin, NARC_msg_narc_0018_bin, SEQ_CITY02_D, SEQ_CITY02_N, 0xFFFF, NARC_zone_event_release_narc_0467_bin, MAPSEC_CANALAVE_CITY, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C02R0601
+ {NARC_area_data_narc_0035_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0171_bin, NARC_scr_seq_release_narc_0413_bin, NARC_scr_seq_release_narc_0858_bin, NARC_msg_narc_0433_bin, SEQ_ROAD_F_D, SEQ_ROAD_F_N, 0xFFFF, NARC_zone_event_release_narc_0468_bin, MAPSEC_CAFE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_R210AR0101
+ {NARC_area_data_narc_0033_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0196_bin, NARC_scr_seq_release_narc_0364_bin, NARC_scr_seq_release_narc_0824_bin, NARC_msg_narc_0286_bin, SEQ_BF_TOWWER, SEQ_BF_TOWWER, 0xFFFF, NARC_zone_event_release_narc_0469_bin, MAPSEC_BATTLE_TOWER, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D31R0207
+ {NARC_area_data_narc_0058_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0238_bin, NARC_scr_seq_release_narc_0339_bin, NARC_scr_seq_release_narc_0799_bin, NARC_msg_narc_0268_bin, SEQ_THE_EVENT04, SEQ_THE_EVENT04, 0xFFFF, NARC_zone_event_release_narc_0470_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0107
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0117_bin, NARC_scr_seq_release_narc_0193_bin, NARC_scr_seq_release_narc_0656_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0471_bin, MAPSEC_POKEMON_LEAGUE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0114
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0235_bin, NARC_scr_seq_release_narc_0194_bin, NARC_scr_seq_release_narc_0657_bin, NARC_msg_narc_0018_bin, SEQ_PC_01, SEQ_PC_02, 0xFFFF, NARC_zone_event_release_narc_0472_bin, MAPSEC_POKEMON_LEAGUE, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_C10R0115
+ {NARC_area_data_narc_0058_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0239_bin, NARC_scr_seq_release_narc_0340_bin, NARC_scr_seq_release_narc_0800_bin, NARC_msg_narc_0269_bin, SEQ_THE_EVENT04, SEQ_THE_EVENT04, 0xFFFF, NARC_zone_event_release_narc_0473_bin, MAPSEC_GALACTIC_HQ, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_D26R0108
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0123_bin, NARC_scr_seq_release_narc_0452_bin, NARC_scr_seq_release_narc_0897_bin, NARC_msg_narc_0472_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, 0xFFFF, NARC_zone_event_release_narc_0474_bin, MAPSEC_ROUTE_225, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R225R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_1048_bin, NARC_scr_seq_release_narc_0975_bin, NARC_msg_narc_0584_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, 0xFFFF, NARC_zone_event_release_narc_0475_bin, MAPSEC_ROUTE_226, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_W226R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0455_bin, NARC_scr_seq_release_narc_0900_bin, NARC_msg_narc_0475_bin, SEQ_TOWN06_D, SEQ_TOWN06_N, 0xFFFF, NARC_zone_event_release_narc_0476_bin, MAPSEC_ROUTE_227, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R227R0101
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0158_bin, NARC_scr_seq_release_narc_0457_bin, NARC_scr_seq_release_narc_0902_bin, NARC_msg_narc_0477_bin, SEQ_ROAD_BZA_D, SEQ_ROAD_BZA_N, 0xFFFF, NARC_zone_event_release_narc_0477_bin, MAPSEC_ROUTE_228, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R228R0101
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0244_bin, NARC_scr_seq_release_narc_0458_bin, NARC_scr_seq_release_narc_0903_bin, NARC_msg_narc_0478_bin, SEQ_ROAD_BZA_D, SEQ_ROAD_BZA_N, 0xFFFF, NARC_zone_event_release_narc_0478_bin, MAPSEC_ROUTE_228, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R228R0201
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0125_bin, NARC_scr_seq_release_narc_0459_bin, NARC_scr_seq_release_narc_0904_bin, NARC_msg_narc_0479_bin, SEQ_ROAD_BZA_D, SEQ_ROAD_BZA_N, 0xFFFF, NARC_zone_event_release_narc_0479_bin, MAPSEC_ROUTE_228, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_R228R0301
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0240_bin, NARC_scr_seq_release_narc_0235_bin, NARC_scr_seq_release_narc_0695_bin, NARC_msg_narc_0223_bin, SEQ_D_SAFARI, SEQ_D_SAFARI, ENCDATA(NARC_d_enc_data_narc_0023_bin, NARC_p_enc_data_narc_0023_bin), NARC_zone_event_release_narc_0480_bin, MAPSEC_GREAT_MARSH, 0, 2, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_D06R0201
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0240_bin, NARC_scr_seq_release_narc_0236_bin, NARC_scr_seq_release_narc_0696_bin, NARC_msg_narc_0224_bin, SEQ_D_SAFARI, SEQ_D_SAFARI, ENCDATA(NARC_d_enc_data_narc_0024_bin, NARC_p_enc_data_narc_0024_bin), NARC_zone_event_release_narc_0481_bin, MAPSEC_GREAT_MARSH, 0, 2, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_D06R0202
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0240_bin, NARC_scr_seq_release_narc_0237_bin, NARC_scr_seq_release_narc_0697_bin, NARC_msg_narc_0225_bin, SEQ_D_SAFARI, SEQ_D_SAFARI, ENCDATA(NARC_d_enc_data_narc_0025_bin, NARC_p_enc_data_narc_0025_bin), NARC_zone_event_release_narc_0482_bin, MAPSEC_GREAT_MARSH, 0, 2, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_D06R0203
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0240_bin, NARC_scr_seq_release_narc_0238_bin, NARC_scr_seq_release_narc_0698_bin, NARC_msg_narc_0226_bin, SEQ_D_SAFARI, SEQ_D_SAFARI, ENCDATA(NARC_d_enc_data_narc_0026_bin, NARC_p_enc_data_narc_0026_bin), NARC_zone_event_release_narc_0483_bin, MAPSEC_GREAT_MARSH, 0, 2, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_D06R0204
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0240_bin, NARC_scr_seq_release_narc_0239_bin, NARC_scr_seq_release_narc_0699_bin, NARC_msg_narc_0227_bin, SEQ_D_SAFARI, SEQ_D_SAFARI, ENCDATA(NARC_d_enc_data_narc_0027_bin, NARC_p_enc_data_narc_0027_bin), NARC_zone_event_release_narc_0484_bin, MAPSEC_GREAT_MARSH, 0, 2, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_D06R0205
+ {NARC_area_data_narc_0053_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0240_bin, NARC_scr_seq_release_narc_0240_bin, NARC_scr_seq_release_narc_0700_bin, NARC_msg_narc_0228_bin, SEQ_D_SAFARI, SEQ_D_SAFARI, ENCDATA(NARC_d_enc_data_narc_0028_bin, NARC_p_enc_data_narc_0028_bin), NARC_zone_event_release_narc_0485_bin, MAPSEC_GREAT_MARSH, 0, 2, 2, 3, TRUE, TRUE, FALSE, FALSE}, // MAP_D06R0206
+ {NARC_area_data_narc_0050_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0241_bin, NARC_scr_seq_release_narc_0232_bin, NARC_scr_seq_release_narc_0692_bin, NARC_msg_narc_0221_bin, SEQ_AUS, SEQ_AUS, 0xFFFF, NARC_zone_event_release_narc_0486_bin, MAPSEC_HALL_OF_ORIGIN, 13, 14, 2, 9, FALSE, TRUE, FALSE, FALSE}, // MAP_D05R0116
+ {NARC_area_data_narc_0050_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0242_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_MOUNT2, SEQ_D_MOUNT2, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_HALL_OF_ORIGIN, 13, 14, 2, 9, FALSE, TRUE, FALSE, FALSE}, // MAP_D05R0117
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0077_bin, NARC_scr_seq_release_narc_0313_bin, NARC_scr_seq_release_narc_0773_bin, NARC_msg_narc_0255_bin, SEQ_D_04, SEQ_D_04, ENCDATA(NARC_d_enc_data_narc_0115_bin, NARC_p_enc_data_narc_0115_bin), NARC_zone_event_release_narc_0487_bin, MAPSEC_RUIN_MANIAC_CAVE, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D22R0102
+ {NARC_area_data_narc_0043_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0078_bin, NARC_scr_seq_release_narc_0314_bin, NARC_scr_seq_release_narc_0774_bin, NARC_msg_narc_0256_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0116_bin, NARC_p_enc_data_narc_0116_bin), NARC_zone_event_release_narc_0488_bin, MAPSEC_MANIAC_TUNNEL, 0, 12, 3, 10, TRUE, TRUE, TRUE, FALSE}, // MAP_D22R0103
+ {NARC_area_data_narc_0020_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0243_bin, NARC_scr_seq_release_narc_0323_bin, NARC_scr_seq_release_narc_0783_bin, NARC_msg_narc_0259_bin, SEQ_ROAD_B_D, SEQ_ROAD_B_N, 0xFFFF, NARC_zone_event_release_narc_0489_bin, MAPSEC_IRON_ISLAND, 0, 4, 4, 6, FALSE, FALSE, FALSE, FALSE}, // MAP_D24R0201
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0031_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_02, SEQ_D_02, ENCDATA(NARC_d_enc_data_narc_0046_bin, NARC_p_enc_data_narc_0046_bin), NARC_zone_event_release_narc_0490_bin, MAPSEC_SOLACEON_RUINS, 0, 0, 3, 9, TRUE, TRUE, TRUE, FALSE}, // MAP_D07R0119
+ {NARC_area_data_narc_0021_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0207_bin, NARC_scr_seq_release_narc_0166_bin, NARC_scr_seq_release_narc_0629_bin, NARC_msg_narc_0018_bin, SEQ_CITY08_D, SEQ_CITY08_N, 0xFFFF, NARC_zone_event_release_narc_0491_bin, MAPSEC_VISTA_LIGHTHOUSE, 0, 4, 4, 8, FALSE, FALSE, FALSE, FALSE}, // MAP_C08R0802
+ {NARC_area_data_narc_0031_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0208_bin, NARC_scr_seq_release_narc_0031_bin, NARC_scr_seq_release_narc_0494_bin, NARC_msg_narc_0044_bin, SEQ_CITY01_D, SEQ_CITY01_N, 0xFFFF, NARC_zone_event_release_narc_0492_bin, MAPSEC_JUBILIFE_CITY, 0, 4, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C01R0802
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0287_bin, NARC_scr_seq_release_narc_0747_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0066_bin, NARC_p_enc_data_narc_0066_bin), NARC_zone_event_release_narc_0493_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0108
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0288_bin, NARC_scr_seq_release_narc_0748_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0067_bin, NARC_p_enc_data_narc_0067_bin), NARC_zone_event_release_narc_0494_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0109
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0289_bin, NARC_scr_seq_release_narc_0749_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0068_bin, NARC_p_enc_data_narc_0068_bin), NARC_zone_event_release_narc_0495_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0110
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0290_bin, NARC_scr_seq_release_narc_0750_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0069_bin, NARC_p_enc_data_narc_0069_bin), NARC_zone_event_release_narc_0496_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0111
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0291_bin, NARC_scr_seq_release_narc_0751_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0070_bin, NARC_p_enc_data_narc_0070_bin), NARC_zone_event_release_narc_0497_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0112
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0292_bin, NARC_scr_seq_release_narc_0752_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0071_bin, NARC_p_enc_data_narc_0071_bin), NARC_zone_event_release_narc_0498_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0113
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0293_bin, NARC_scr_seq_release_narc_0753_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0072_bin, NARC_p_enc_data_narc_0072_bin), NARC_zone_event_release_narc_0499_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0114
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0294_bin, NARC_scr_seq_release_narc_0754_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0073_bin, NARC_p_enc_data_narc_0073_bin), NARC_zone_event_release_narc_0500_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0115
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0295_bin, NARC_scr_seq_release_narc_0755_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0074_bin, NARC_p_enc_data_narc_0074_bin), NARC_zone_event_release_narc_0501_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0116
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0296_bin, NARC_scr_seq_release_narc_0756_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0075_bin, NARC_p_enc_data_narc_0075_bin), NARC_zone_event_release_narc_0502_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0117
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0297_bin, NARC_scr_seq_release_narc_0757_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0076_bin, NARC_p_enc_data_narc_0076_bin), NARC_zone_event_release_narc_0503_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0118
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0298_bin, NARC_scr_seq_release_narc_0758_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0077_bin, NARC_p_enc_data_narc_0077_bin), NARC_zone_event_release_narc_0504_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0119
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0299_bin, NARC_scr_seq_release_narc_0759_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0078_bin, NARC_p_enc_data_narc_0078_bin), NARC_zone_event_release_narc_0505_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0120
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0300_bin, NARC_scr_seq_release_narc_0760_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, ENCDATA(NARC_d_enc_data_narc_0079_bin, NARC_p_enc_data_narc_0079_bin), NARC_zone_event_release_narc_0506_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0121
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0301_bin, NARC_scr_seq_release_narc_0761_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0507_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, FALSE, FALSE}, // MAP_D17R0122
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0123
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0124
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0508_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0125
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0126
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0127
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0128
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0129
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0509_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0130
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0131
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0132
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0133
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0134
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0135
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0510_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0136
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0137
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0138
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0139
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0140
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0141
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0064_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0142
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0143
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0065_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0144
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0145
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0146
+ {NARC_area_data_narc_0046_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0066_bin, NARC_scr_seq_release_narc_0368_bin, NARC_scr_seq_release_narc_0827_bin, NARC_msg_narc_0018_bin, SEQ_D_03, SEQ_D_03, 0xFFFF, NARC_zone_event_release_narc_0000_bin, MAPSEC_TURNBACK_CAVE, 14, 0, 3, 11, TRUE, TRUE, TRUE, FALSE}, // MAP_D17R0147
+ {NARC_area_data_narc_0032_bin, NARC_move_model_list_narc_0015_bin, NARC_map_matrix_narc_0166_bin, NARC_scr_seq_release_narc_0116_bin, NARC_scr_seq_release_narc_0579_bin, NARC_msg_narc_0121_bin, SEQ_BLD_CON, SEQ_BLD_CON, 0xFFFF, NARC_zone_event_release_narc_0511_bin, MAPSEC_CONTEST_HALL, 0, 0, 4, 7, FALSE, FALSE, FALSE, FALSE}, // MAP_C05R1103
};
u32 MapNumberBoundsCheck(u32 mapno)
@@ -627,10 +639,10 @@ u8 MapHeader_GetAreaDataBank(u32 mapno)
return sMapHeaders[mapno].area_data_bank;
}
-u8 MapHeader_GetField1(u32 mapno)
+u8 MapHeader_GetMoveModelBank(u32 mapno)
{
mapno = MapNumberBoundsCheck(mapno);
- return sMapHeaders[mapno].unk1;
+ return sMapHeaders[mapno].move_model_bank;
}
u16 MapHeader_GetMatrixId(u32 mapno)
@@ -639,8 +651,8 @@ u16 MapHeader_GetMatrixId(u32 mapno)
mapno = MapNumberBoundsCheck(mapno);
ret = sMapHeaders[mapno].matrix_id;
// Spear Pillar
- if (ret == 22 && gGameVersion == VERSION_PEARL)
- ret = 23;
+ if (ret == NARC_map_matrix_narc_0022_bin && gGameVersion == VERSION_PEARL)
+ ret = NARC_map_matrix_narc_0023_bin;
return ret;
}
@@ -734,74 +746,74 @@ u8 MapHeader_IsBikeAllowed(u32 mapno)
return sMapHeaders[mapno].is_bike_allowed;
}
-u8 MapHeader_GetField16(u32 mapno)
+u8 MapHeader_GetMapType(u32 mapno)
{
mapno = MapNumberBoundsCheck(mapno);
- return sMapHeaders[mapno].unk16;
+ return sMapHeaders[mapno].map_type;
}
-BOOL FUN_020348E4(u32 mapno)
+BOOL MapHeader_IsOutdoorNotTown(u32 mapno)
{
if (!MapHeader_IsFlyAllowed(mapno))
return FALSE;
- if (MapHeader_GetField16(mapno) != 1)
+ if (MapHeader_GetMapType(mapno) != 1)
return TRUE;
return FALSE;
}
BOOL MapHeader_MapIsOnMainMatrix(u32 mapno)
{
- return MapHeader_GetMatrixId(mapno) == 0;
+ return MapHeader_GetMatrixId(mapno) == NARC_map_matrix_narc_0000_bin;
}
-BOOL FUN_0203491C(u32 mapno)
+BOOL MapHeader_IsPokemonCenter(u32 mapno)
{
- return MapHeader_GetField16(mapno) == 5;
+ return MapHeader_GetMapType(mapno) == 5;
}
-BOOL FUN_02034930(u32 mapno)
+BOOL MapHeader_IsCave(u32 mapno)
{
- return MapHeader_GetField16(mapno) == 3;
+ return MapHeader_GetMapType(mapno) == 3;
}
-BOOL FUN_02034944(u32 mapno)
+BOOL MapHeader_IsBuilding(u32 mapno)
{
- return MapHeader_GetField16(mapno) == 4 || MapHeader_GetField16(mapno) == 5;
+ return MapHeader_GetMapType(mapno) == 4 || MapHeader_GetMapType(mapno) == 5;
}
-BOOL FUN_02034964(u32 mapno)
+BOOL MapHeader_IsOutdoor(u32 mapno)
{
- return MapHeader_GetField16(mapno) == 1 || MapHeader_GetField16(mapno) == 2;
+ return MapHeader_GetMapType(mapno) == 1 || MapHeader_GetMapType(mapno) == 2;
}
-BOOL FUN_02034984(u32 mapno)
+BOOL MapHeader_MapIsPokemonCenter(u32 mapno)
{
- return FUN_0203491C(mapno) != FALSE;
+ return MapHeader_IsPokemonCenter(mapno) != FALSE;
}
BOOL MapHeader_MapIsUnionRoom(u32 mapno)
{
- return mapno == 466;
+ return mapno == MAP_UNION;
}
BOOL MapHeader_MapIsMtCoronetFeebasRoom(u32 mapno)
{
- return mapno == 219;
+ return mapno == MAP_D05R0113;
}
BOOL MapHeader_MapIsTrophyGarden(u32 mapno)
{
- return mapno == 287;
+ return mapno == MAP_D23R0101;
}
BOOL MapHeader_MapIsAmitySquare(u32 mapno)
{
- return mapno == 253;
+ return mapno == MAP_D11R0101;
}
BOOL MapHeader_MapIsSpearPillar(u32 mapno)
{
- return mapno == 220;
+ return mapno == MAP_D05R0114;
}
BOOL MapHeader_MapIsPokemonCenterSecondFloor(u32 mapno)
diff --git a/arm9/src/math_util.c b/arm9/src/math_util.c
index ac3b77f0..454c28f4 100644
--- a/arm9/src/math_util.c
+++ b/arm9/src/math_util.c
@@ -500,7 +500,7 @@ static const u16 UNK_020EDC7E[] = // rotations?
0xF8E4, 0xF99A, 0xFA50, 0xFB06, 0xFBBC, 0xFC72, 0xFD28, 0xFDDE, 0xFE94, 0xFF4A
};
-const u16 UNK_020EDB80[] =
+static const u16 UNK_020EDB80[] =
{
0x169F, 0x0F14, 0x0B4F, 0x090C, 0x078A, 0x0676, 0x05A7, 0x0506,
0x0486, 0x041C, 0x03C5, 0x037A, 0x033B, 0x0304, 0x02D3, 0x02A9,
@@ -592,21 +592,7 @@ THUMB_FUNC s32 Sin32(s32 degrees)
* Random number generators
*/
static u32 sMTRNG_State[624]; // Mersenne Twister seed storage/buffer
-#ifdef NONMATCHING
-// Using -ipa file makes the following hack unnecessary,
-// but for some reason forces UNK_020EDC7E to align to
-// word rather than short...
static u32 sLCRNG_State;
-#define sMTRNG_State_2 sMTRNG_State
-#else
-static union
-{
- u32 LC_State; // Linear-congruential seed storage/buffer
- u32 MTRNG_State[]; // Don't bother asking why Game Freak did this. Just don't.
-} sRNGHack;
-#define sLCRNG_State sRNGHack.LC_State
-#define sMTRNG_State_2 (sRNGHack.MTRNG_State + 1)
-#endif
// Returns the Linear-congruential buffer in full.
THUMB_FUNC u32 GetLCRNGSeed()
@@ -641,7 +627,7 @@ static u32 sMTRNG_XOR[2] = {0, 0x9908b0df}; // Mersenne Twister XOR mask table
// Initializes the Mersenne Twister buffer with a 32-bit seed.
THUMB_FUNC void SetMTRNGSeed(u32 seed)
{
- sMTRNG_State_2[0] = seed;
+ sMTRNG_State[0] = seed;
for (sMTRNG_Cycles = 1; sMTRNG_Cycles < 624; sMTRNG_Cycles++)
sMTRNG_State[sMTRNG_Cycles] = 1812433253 * (sMTRNG_State[sMTRNG_Cycles - 1] ^ (sMTRNG_State[sMTRNG_Cycles - 1] >> 30)) + sMTRNG_Cycles;
@@ -669,8 +655,8 @@ THUMB_FUNC u32 MTRandom(void)
sMTRNG_State[i] = sMTRNG_State[i + -227] ^ (val >> 1) ^ sMTRNG_XOR[val & 0x1];
}
- val = (sMTRNG_State_2[623] & 0x80000000) | (sMTRNG_State_2[0] & 0x7fffffff);
- sMTRNG_State_2[623] = sMTRNG_State_2[396] ^ (val >> 1) ^ sMTRNG_XOR[val & 0x1];
+ val = (sMTRNG_State[623] & 0x80000000) | (sMTRNG_State[0] & 0x7fffffff);
+ sMTRNG_State[623] = sMTRNG_State[396] ^ (val >> 1) ^ sMTRNG_XOR[val & 0x1];
sMTRNG_Cycles = 0;
}
@@ -756,3 +742,9 @@ THUMB_FUNC s32 MathUtil_0201BC84(u16 arg0, s32 arg1)
return (arg1 * 65535) /
(FX32_MUL((arg0 * 2) << FX32_INT_SHIFT, FX32_CONST(3.140f)) >> FX32_INT_SHIFT);
}
+
+// Required to protect UNK_020EDB80 from dead-stripping
+THUMB_FUNC s32 CALC_SomeDeadstrippedFunction(s32 arg)
+{
+ return UNK_020EDB80[arg];
+}
diff --git a/arm9/src/play_timer.c b/arm9/src/play_timer.c
new file mode 100644
index 00000000..9675e179
--- /dev/null
+++ b/arm9/src/play_timer.c
@@ -0,0 +1,37 @@
+
+#include "play_timer.h"
+
+u64 sTimer3Start;
+u64 sUnused;
+u64 sDuration;
+struct IGT * sIGT_p;
+BOOL sTimerActive;
+
+THUMB_FUNC void PlayTimerInit()
+{
+ sTimerActive = FALSE;
+}
+
+THUMB_FUNC void PlayTimerStart(struct IGT *igt)
+{
+ sTimerActive = TRUE;
+ sUnused = 0;
+ sDuration = 0;
+ sIGT_p = igt;
+
+ sTimer3Start = GetTimer3Count();
+}
+
+THUMB_FUNC void PlayTimerUpdate(void)
+{
+ if (sTimerActive)
+ {
+ u64 res = Timer3CountToSeconds(GetTimer3Count() - sTimer3Start);
+
+ if (sDuration < res)
+ {
+ AddIGTSeconds(sIGT_p, (u32)(res - sDuration));
+ sDuration = res;
+ }
+ }
+}
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index 6139a21f..a15a8b12 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -2210,75 +2210,75 @@ void FUN_02068C00(struct SomeDrawPokemonStruct * spC, int species, u8 gender, u8
case SPECIES_BURMY:
if (forme > 2)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x48 + forme * 2);
spC->unk4 = (u16)(shiny + 0x92 + forme * 2);
break;
case SPECIES_WORMADAM:
if (forme > 2)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x4E + forme * 2);
spC->unk4 = (u16)(shiny + 0x98 + forme * 2);
break;
case SPECIES_SHELLOS:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 + 0x54 + forme);
spC->unk4 = (u16)(shiny + 0x9E + forme * 2);
break;
case SPECIES_GASTRODON:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 + 0x58 + forme);
spC->unk4 = (u16)(shiny + 0xA2 + forme * 2);
break;
case SPECIES_CHERRIM:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 + 0x5C + forme);
spC->unk4 = (u16)(shiny * 2 + 0xA6 + forme);
break;
case SPECIES_ARCEUS:
if (forme > 17)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x60 + forme * 2);
spC->unk4 = (u16)(shiny + 0xAA + forme * 2);
break;
case SPECIES_CASTFORM:
if (forme > 3)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 * 2 + 0x40 + forme);
spC->unk4 = (u16)(shiny * 4 + 0x8A + forme);
break;
case SPECIES_DEOXYS:
if (forme > 3)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + forme * 2);
spC->unk4 = (u16)(shiny + 0x86);
break;
case SPECIES_UNOWN:
if (forme >= 28)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(sp10 / 2 + 0x8 + forme * 2);
spC->unk4 = (u16)(shiny + 0x88);
break;
case SPECIES_EGG:
if (forme > 1)
forme = 0;
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = (u16)(0x84 + forme);
spC->unk4 = (u16)(0xCE + forme);
break;
case SPECIES_MANAPHY_EGG:
- spC->unk0 = 0x75;
+ spC->unk0 = NARC_POKETOOL_POKEGRA_OTHERPOKE;
spC->unk2 = 0x84;
spC->unk4 = 0xCE;
break;
@@ -2403,10 +2403,10 @@ u8 FUN_02068E88(int species, u8 gender, u32 a1, u8 forme, u32 pid)
void FUN_02068FE0(struct SomeDrawPokemonStruct * a0, u16 a1, int a2)
{
if (a2 == 2)
- a0->unk0 = 60;
+ a0->unk0 = NARC_POKETOOL_TRGRA_TRFGRA;
else
{
- a0->unk0 = 6;
+ a0->unk0 = NARC_POKETOOL_TRGRA_TRBGRA;
a1 = (u16)FUN_0206AA30(a1);
}
a0->unk2 = (u16)(a1 * 2);
@@ -2446,7 +2446,7 @@ void FUN_02069038(u32 a0, u32 a1, u32 a2, s32 a3, u32 a4, u32 a5, u32 a6)
void FUN_020690AC(struct SomeDrawPokemonStruct * a0, u32 a1)
{
- a0->unk0 = 60;
+ a0->unk0 = NARC_POKETOOL_TRGRA_TRFGRA;
a0->unk2 = (u16)(a1 * 2);
a0->unk4 = (u16)(a1 * 2 + 1);
a0->unk6 = 0;
@@ -2522,7 +2522,7 @@ u16 GetMonEvolution(struct PlayerParty * party, struct Pokemon * pokemon, u32 co
beauty = (u8)GetMonData(pokemon, MON_DATA_BEAUTY, NULL);
pid_hi = (u16)((personality & 0xFFFF0000) >> 16);
r1 = (u8)GetItemAttr(heldItem, 1, 0);
- if (species != SPECIES_KADABRA && r1 == 0x3F && context != 3)
+ if (species != SPECIES_KADABRA && r1 == HOLD_EFFECT_NO_EVOLVE && context != 3)
return SPECIES_NONE;
if (method_ret == NULL)
method_ret = &sp40;
@@ -3705,21 +3705,21 @@ int FUN_0206AA30(int x)
switch (x)
{
case TRAINER_CLASS_PKMN_TRAINER_BARRY:
- return 2;
- case TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY:
- case TRAINER_CLASS_PKMN_TRAINER_RICH_BOY:
- case TRAINER_CLASS_PKMN_TRAINER_PICNICKER:
- case TRAINER_CLASS_PKMN_TRAINER_CAMPER:
- case TRAINER_CLASS_PKMN_TRAINER_POKEKID:
- return x - TRAINER_CLASS_COMMANDER_JUPITER;
+ return TRAINER_BACKPIC_BARRY;
+ case TRAINER_CLASS_PKMN_TRAINER_CHERYL:
+ case TRAINER_CLASS_PKMN_TRAINER_RILEY:
+ case TRAINER_CLASS_PKMN_TRAINER_MARLEY:
+ case TRAINER_CLASS_PKMN_TRAINER_BUCK:
+ case TRAINER_CLASS_PKMN_TRAINER_MIRA:
+ return x - TRAINER_CLASS_PKMN_TRAINER_CHERYL + TRAINER_BACKPIC_CHERYL;
default:
if (TrainerClass_GetGenderOrTrainerCount(x) == 1)
- return 1;
+ return TRAINER_BACKPIC_DAWN;
else
- return 0;
+ return TRAINER_BACKPIC_LUCAS;
case TRAINER_CLASS_PKMN_TRAINER_M:
case TRAINER_CLASS_PKMN_TRAINER_F:
- return x;
+ return x - TRAINER_CLASS_PKMN_TRAINER_M + TRAINER_BACKPIC_LUCAS;
}
}
diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c
index 1969e3f1..3ba70e39 100644
--- a/arm9/src/save_arrays.c
+++ b/arm9/src/save_arrays.c
@@ -27,7 +27,7 @@ extern u32 FUN_02026FD8(void);
extern u32 FUN_02028054(void);
extern u32 FUN_02028980(void);
extern u32 FUN_02029A84(void);
-extern u32 FUN_02029FB0(void);
+extern u32 Sav2_GameStats_sizeof(void);
extern u32 Sav2_Chatot_sizeof(void);
extern u32 FUN_0202A8F4(void);
extern u32 FUN_0202A924(void);
@@ -47,7 +47,7 @@ extern void FUN_02026F60(void *);
extern void FUN_0202805C(void *);
extern void FUN_02028994(void *);
extern void FUN_02029A8C(void *);
-extern void FUN_02029FB8(void *);
+extern void Sav2_GameStats_init(void *);
extern void FUN_0202A8F8(void *);
extern void FUN_0202A92C(void *);
extern void FUN_0202ABCC(void *);
@@ -74,27 +74,27 @@ const struct SaveChunkHeader UNK_020EE700[] = {
{ 7, 0, (SAVSIZEFN)Sav2_Pokedex_sizeof, (SAVINITFN)Sav2_Pokedex_init },
{ 8, 0, (SAVSIZEFN)Sav2_DayCare_sizeof, (SAVINITFN)Sav2_DayCare_init },
{ 9, 0, (SAVSIZEFN)FUN_020254B8, (SAVINITFN)FUN_020254CC },
- { 10, 0, (SAVSIZEFN)FUN_02024E64, (SAVINITFN)FUN_02024E6C },
- { 11, 0, (SAVSIZEFN)FUN_02034D80, (SAVINITFN)FUN_02034D88 },
- { 12, 0, (SAVSIZEFN)FUN_02025954, (SAVINITFN)FUN_0202597C },
- { 13, 0, (SAVSIZEFN)FUN_02023AC8, (SAVINITFN)FUN_02023AD8 },
- { 14, 0, (SAVSIZEFN)FUN_02026FD8, (SAVINITFN)FUN_02026F60 },
- { 15, 0, (SAVSIZEFN)Sav2_Mailbox_sizeof, (SAVINITFN)Sav2_Mailbox_init },
- { 16, 0, (SAVSIZEFN)FUN_02028054, (SAVINITFN)FUN_0202805C },
- { 17, 0, (SAVSIZEFN)FUN_020286F8, (SAVINITFN)FUN_02028724 },
- { 18, 0, (SAVSIZEFN)FUN_02028980, (SAVINITFN)FUN_02028994 },
- { 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C },
- { 20, 0, (SAVSIZEFN)FUN_02029FB0, (SAVINITFN)FUN_02029FB8 },
- { 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init },
- { 22, 0, (SAVSIZEFN)Sav2_Chatot_sizeof, (SAVINITFN)Sav2_Chatot_init },
- { 23, 0, (SAVSIZEFN)SaveStruct23_sizeof, (SAVINITFN)SaveStruct23_Init },
- { 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 },
- { 25, 0, (SAVSIZEFN)FUN_0202A924, (SAVINITFN)FUN_0202A92C },
- { 26, 0, (SAVSIZEFN)FUN_0202ABC8, (SAVINITFN)FUN_0202ABCC },
- { 27, 0, (SAVSIZEFN)FUN_0202B374, (SAVINITFN)FUN_0202B37C },
- { 28, 0, (SAVSIZEFN)FUN_0202B8B0, (SAVINITFN)FUN_0202B8B8 },
- { 29, 0, (SAVSIZEFN)FUN_020281E0, (SAVINITFN)FUN_020281E8 },
- { 30, 0, (SAVSIZEFN)FUN_02029AE0, (SAVINITFN)FUN_02029AE8 },
+ { 10, 0, (SAVSIZEFN)FUN_02024E64, (SAVINITFN)FUN_02024E6C },
+ { 11, 0, (SAVSIZEFN)FUN_02034D80, (SAVINITFN)FUN_02034D88 },
+ { 12, 0, (SAVSIZEFN)FUN_02025954, (SAVINITFN)FUN_0202597C },
+ { 13, 0, (SAVSIZEFN)FUN_02023AC8, (SAVINITFN)FUN_02023AD8 },
+ { 14, 0, (SAVSIZEFN)FUN_02026FD8, (SAVINITFN)FUN_02026F60 },
+ { 15, 0, (SAVSIZEFN)Sav2_Mailbox_sizeof, (SAVINITFN)Sav2_Mailbox_init },
+ { 16, 0, (SAVSIZEFN)FUN_02028054, (SAVINITFN)FUN_0202805C },
+ { 17, 0, (SAVSIZEFN)FUN_020286F8, (SAVINITFN)FUN_02028724 },
+ { 18, 0, (SAVSIZEFN)FUN_02028980, (SAVINITFN)FUN_02028994 },
+ { 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C },
+ { 20, 0, (SAVSIZEFN)Sav2_GameStats_sizeof, (SAVINITFN)Sav2_GameStats_init },
+ { 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init },
+ { 22, 0, (SAVSIZEFN)Sav2_Chatot_sizeof, (SAVINITFN)Sav2_Chatot_init },
+ { 23, 0, (SAVSIZEFN)SaveStruct23_sizeof, (SAVINITFN)SaveStruct23_Init },
+ { 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 },
+ { 25, 0, (SAVSIZEFN)FUN_0202A924, (SAVINITFN)FUN_0202A92C },
+ { 26, 0, (SAVSIZEFN)FUN_0202ABC8, (SAVINITFN)FUN_0202ABCC },
+ { 27, 0, (SAVSIZEFN)FUN_0202B374, (SAVINITFN)FUN_0202B37C },
+ { 28, 0, (SAVSIZEFN)FUN_0202B8B0, (SAVINITFN)FUN_0202B8B8 },
+ { 29, 0, (SAVSIZEFN)FUN_020281E0, (SAVINITFN)FUN_020281E8 },
+ { 30, 0, (SAVSIZEFN)FUN_02029AE0, (SAVINITFN)FUN_02029AE8 },
{ 31, 0, (SAVSIZEFN)FUN_0202AC20, (SAVINITFN)FUN_0202AC28 },
{ 32, 0, (SAVSIZEFN)FUN_0202BE98, (SAVINITFN)FUN_0202BEA0 },
{ 33, 0, (SAVSIZEFN)FUN_0202C0E0, (SAVINITFN)FUN_0202C0E4 },
diff --git a/arm9/src/scrcmd_berry_trees.c b/arm9/src/scrcmd_berry_trees.c
index 53715ca1..43999cec 100644
--- a/arm9/src/scrcmd_berry_trees.c
+++ b/arm9/src/scrcmd_berry_trees.c
@@ -3,8 +3,6 @@
extern void* FUN_02039438(struct UnkSavStruct80*, int idx);
-extern void FUN_0202A0E8(struct UnkStruct_02029FB0*, int);
-extern void FUN_0202A170(struct UnkStruct_02029FB0*, int);
extern u8 FUN_0204B5FC(struct UnkSavStruct80*, void*);
extern void FUN_0204B57C(struct UnkSavStruct80*, void*, int);
extern u16 FUN_0204B63C(struct UnkSavStruct80*, void*);
@@ -79,11 +77,11 @@ THUMB_FUNC BOOL ScrCmd_SetBerryTreeMulch(struct ScriptContext* ctx)
THUMB_FUNC BOOL ScrCmd_SetBerryTreeType(struct ScriptContext* ctx)
{
void** unk = FUN_02039438(ctx->unk80, 10);
- struct UnkStruct_02029FB0* unk2 = FUN_02029FC8(ctx->unk80->saveBlock2);
+ struct GameStats* unk2 = Sav2_GameStats_get(ctx->unk80->saveBlock2);
u16 unk3 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
FUN_0204B5A8(ctx->unk80, *unk, unk3);
- FUN_0202A0E8(unk2, 3);
+ GameStats_Inc(unk2, 3);
return FALSE;
}
@@ -110,11 +108,11 @@ THUMB_FUNC BOOL ScrCmd_Unk0184(struct ScriptContext* ctx) //SetBerryTreeWater/Wa
THUMB_FUNC BOOL ScrCmd_TakeBerryTreeBerries(struct ScriptContext* ctx)
{
- struct UnkStruct_02029FB0* unk = FUN_02029FC8(ctx->unk80->saveBlock2);
+ struct GameStats* unk = Sav2_GameStats_get(ctx->unk80->saveBlock2);
void** unk2 = FUN_02039438(ctx->unk80, 10);
FUN_0204B4FC(ctx->unk80, *unk2);
- FUN_0202A170(unk, 0);
+ GameStats_AddSpecial(unk, 0);
return FALSE;
}
diff --git a/arm9/src/script_buffers.c b/arm9/src/script_buffers.c
index 550dcab5..37df6a71 100644
--- a/arm9/src/script_buffers.c
+++ b/arm9/src/script_buffers.c
@@ -13,6 +13,7 @@
#include "script_buffers.h"
#include "unk_02024E64.h"
#include "text.h"
+#include "string16.h"
#include "msgdata/msg.naix"
#include "graphic/font.naix"
@@ -20,8 +21,6 @@
extern u32 GetCityNamesMsgdataIdByCountry(u32);
extern void GetECWordIntoStringByIndex(u32 a0, struct String * a1);
-extern void StringCat_HandleTrainerName(struct String * dest, const struct String * src);
-extern void StrAddChar(struct String * str, u16 val);
extern void * GfGfxLoader_GetCharData(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
extern void * GfGfxLoader_LoadFromNarc(NarcId narcId, s32 memberNo, BOOL isCompressed, u32 heap_id, BOOL allocAtEnd);
diff --git a/arm9/src/trainer_data.c b/arm9/src/trainer_data.c
index f161b302..fbb477ac 100644
--- a/arm9/src/trainer_data.c
+++ b/arm9/src/trainer_data.c
@@ -20,7 +20,6 @@ void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2
s32 i;
struct String * str;
- // FIXME: String formatting in files/msgdata/msg/narc_0559.txt is abnormal.
msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 559, heap_id);
rivalName = GetRivalNamePtr(FUN_02024EC0(sav2));
for (i = 0; i < 4; i++)
@@ -244,11 +243,11 @@ const u8 sTrainerClassGenderCountTbl[] = {
/*TRAINER_CLASS_COMMANDER_JUPITER*/ 1,
/*TRAINER_CLASS_COMMANDER_SATURN*/ 1,
/*TRAINER_CLASS_GALACTIC_F*/ 1,
- /*TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY*/ 1,
- /*TRAINER_CLASS_PKMN_TRAINER_RICH_BOY*/ 0,
- /*TRAINER_CLASS_PKMN_TRAINER_PICNICKER*/ 1,
- /*TRAINER_CLASS_PKMN_TRAINER_CAMPER*/ 0,
- /*TRAINER_CLASS_PKMN_TRAINER_POKEKID*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_CHERYL*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_RILEY*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_MARLEY*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_BUCK*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_MIRA*/ 1,
/*TRAINER_CLASS_PKMN_TRAINER_LUCAS*/ 0,
/*TRAINER_CLASS_PKMN_TRAINER_DAWN*/ 1,
/*TRAINER_CLASS_TOWER_TYCOON*/ 0
diff --git a/arm9/src/unk_0200E1D0.c b/arm9/src/unk_0200E1D0.c
new file mode 100644
index 00000000..32f35605
--- /dev/null
+++ b/arm9/src/unk_0200E1D0.c
@@ -0,0 +1,16 @@
+#include "global.h"
+
+struct UnkStruct_021C46B4
+{
+ u8 unk_000[0x14];
+ u8 unk_014[0x30];
+ u8 unk_044[0x30];
+ u8 unk_074[0x18];
+ u8 unk_08C[0xC0];
+ u16 unk_14C;
+ u8 unk_14E;
+ u8 unk_14F;
+ u32 unk_150;
+};
+
+struct UnkStruct_021C46B4 UNK_021C46B4;
diff --git a/arm9/src/unk_020139D8.c b/arm9/src/unk_020139D8.c
index 796190b2..d88ca02d 100644
--- a/arm9/src/unk_020139D8.c
+++ b/arm9/src/unk_020139D8.c
@@ -4,6 +4,7 @@
#include "save_block_2.h"
#include "math_util.h"
#include "unk_020139D8.h"
+#include "msgdata/msg.naix"
#pragma thumb on
@@ -17,17 +18,17 @@ const u8 sNarcLanguages[][2] = {
};
const u16 sNarcMsgBanks[] = {
- 362, // Species names
- 589, // Move names
- 565, // Type names
- 553, // Ability names
- 388, // Trainer
- 389, // People
- 390, // Greetings
- 391, // Lifestyle
- 392, // Feelings
- 393, // Tough words
- 394 // Union
+ NARC_msg_narc_0362_bin, // Species names
+ NARC_msg_narc_0589_bin, // Move names
+ NARC_msg_narc_0565_bin, // Type names
+ NARC_msg_narc_0553_bin, // Ability names
+ NARC_msg_narc_0388_bin, // Trainer
+ NARC_msg_narc_0389_bin, // People
+ NARC_msg_narc_0390_bin, // Greetings
+ NARC_msg_narc_0391_bin, // Lifestyle
+ NARC_msg_narc_0392_bin, // Feelings
+ NARC_msg_narc_0393_bin, // Tough words
+ NARC_msg_narc_0394_bin // Union
};
const u16 sNarcMsgCounts[] = {
diff --git a/arm9/src/unk_02015E30.c b/arm9/src/unk_02015E30.c
deleted file mode 100644
index 2f7b5bb5..00000000
--- a/arm9/src/unk_02015E30.c
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#include "unk_02015E30.h"
-
-u64 UNK_021C48B0;
-u64 UNK_021C48A8;
-u64 UNK_021C48A0;
-struct IGT * UNK_021C489C;
-u32 UNK_021C4898;
-
-THUMB_FUNC void FUN_02015E30()
-{
- UNK_021C4898 = 0;
-}
-
-THUMB_FUNC void FUN_02015E3C(struct IGT *igt)
-{
- UNK_021C4898 = 1;
- UNK_021C48A8 = 0;
- UNK_021C48A0 = 0;
- UNK_021C489C = igt;
-
- UNK_021C48B0 = GetTimer3Count();
-}
-
-THUMB_FUNC void FUN_02015E60()
-{
- if (UNK_021C4898 != 0)
- {
- u64 res = Timer3CountToSeconds(GetTimer3Count() - UNK_021C48B0);
-
- if (UNK_021C48A0 < res)
- {
- AddIGTSeconds(UNK_021C489C, (u32)(res - UNK_021C48A0));
- UNK_021C48A0 = res;
- }
- }
-}
diff --git a/arm9/src/unk_02021590.c b/arm9/src/unk_02021590.c
index e6a3d690..c37ce589 100644
--- a/arm9/src/unk_02021590.c
+++ b/arm9/src/unk_02021590.c
@@ -210,3 +210,53 @@ THUMB_FUNC int GetGlyphWidth_FixedWidth(struct FontData * ptr, int a1)
#pragma unused(a1)
return ptr->gfxHeader.fixedWidth;
}
+
+THUMB_FUNC s32 GetStringWidthMultiline(struct FontData * r7, const u16 * arr, u32 r6)
+{
+ s32 ret = 0;
+ u32 r4 = 0;
+ while (*arr != 0xFFFF)
+ {
+ if (*arr == 0xFFFE)
+ {
+ arr = MsgArray_SkipControlCode(arr);
+ }
+ else if (*arr == 0xE000) // newline
+ {
+ if (ret < r4 - r6)
+ ret = (int)(r4 - r6);
+ r4 = 0;
+ arr++;
+ }
+ else
+ {
+ r4 += (r6 + r7->glyphWidthFunc(r7, *arr - 1));
+ arr++;
+ }
+ }
+ if (ret < r4 - r6)
+ ret = (int)(r4 - r6);
+ return ret;
+}
+
+THUMB_FUNC s32 StringGetWidth_SingleLine_HandleClearToControlCode(struct FontData * r6, const u16 * arr)
+{
+ s32 ret = 0;
+ while (*arr != 0xFFFF)
+ {
+ if (*arr == 0xFFFE)
+ {
+ if (MsgArray_GetControlCode(arr) == 515)
+ {
+ ret = MsgArray_ControlCodeGetField(arr, 0) - 12;
+ }
+ arr = MsgArray_SkipControlCode(arr);
+ }
+ else
+ {
+ ret += r6->glyphWidthFunc(r6, *arr - 1);
+ arr++;
+ }
+ }
+ return ret;
+}
diff --git a/arm9/src/unk_02021934.c b/arm9/src/unk_02021934.c
index 07ddde87..e87016c4 100644
--- a/arm9/src/unk_02021934.c
+++ b/arm9/src/unk_02021934.c
@@ -2,65 +2,11 @@
#include "string16.h"
#include "heap.h"
#include "string_util.h"
-#include "unk_0201B8B8.h"
-#include "unk_02021590.h"
#pragma thumb on
#define ASSERT_STR16(_str) ({ GF_ASSERT(_str != NULL); GF_ASSERT(_str->magic == STR16_MAGIC); })
-void StrAddChar(struct String * str, u16 val);
-
-s32 StringGetWidth(struct FontData * r7, const u16 * arr, u32 r6)
-{
- s32 ret = 0;
- u32 r4 = 0;
- while (*arr != 0xFFFF)
- {
- if (*arr == 0xFFFE)
- {
- arr = MsgArray_SkipControlCode(arr);
- }
- else if (*arr == 0xE000) // newline
- {
- if (ret < r4 - r6)
- ret = (int)(r4 - r6);
- r4 = 0;
- arr++;
- }
- else
- {
- r4 += (r6 + r7->glyphWidthFunc(r7, *arr - 1));
- arr++;
- }
- }
- if (ret < r4 - r6)
- ret = (int)(r4 - r6);
- return ret;
-}
-
-s32 StringGetWidth_SingleLine_HandleClearToControlCode(struct FontData * r6, const u16 * arr)
-{
- s32 ret = 0;
- while (*arr != 0xFFFF)
- {
- if (*arr == 0xFFFE)
- {
- if (MsgArray_GetControlCode(arr) == 515)
- {
- ret = MsgArray_ControlCodeGetField(arr, 0) - 12;
- }
- arr = MsgArray_SkipControlCode(arr);
- }
- else
- {
- ret += r6->glyphWidthFunc(r6, *arr - 1);
- arr++;
- }
- }
- return ret;
-}
-
struct String * String_ctor(u32 length, u32 heap_id)
{
struct String * ret = AllocFromHeap(heap_id, length * 2 + 10);
@@ -366,3 +312,43 @@ void StrUpperFirstChar(struct String * str)
str->data[0] -= 26;
}
}
+
+BOOL String_IsTrainerName(struct String * string)
+{
+ return string->size != 0 && string->data[0] == 0xF100;
+}
+
+void StringCat_HandleTrainerName(struct String * dest, struct String * src)
+{
+ if (String_IsTrainerName(src))
+ {
+ u16 * dest_p = &dest->data[dest->size];
+ u16 * src_p = &src->data[1];
+ s32 bit = 0;
+ u32 outsize = 0;
+ u16 cur_char = 0;
+
+ while (1)
+ {
+ cur_char = (u16)((*src_p >> bit) & 0x1FF);
+ bit += 9;
+ if (bit >= 15)
+ {
+ src_p++;
+ bit -= 15;
+ if (bit != 0)
+ {
+ cur_char |= (*src_p << (9 - bit)) & 0x1FF;
+ }
+ }
+ if (cur_char == 0x1FF)
+ break;
+ *dest_p++ = cur_char;
+ outsize++;
+ }
+ *dest_p = EOS;
+ dest->size += outsize;
+ }
+ else
+ StringCat(dest, src);
+}
diff --git a/arm9/src/unk_02021FF8.c b/arm9/src/unk_02021FF8.c
index 2fe37556..d578bba5 100644
--- a/arm9/src/unk_02021FF8.c
+++ b/arm9/src/unk_02021FF8.c
@@ -5,46 +5,6 @@
#pragma thumb on
-BOOL String_IsTrainerName(struct String * string)
-{
- return string->size != 0 && string->data[0] == 0xF100;
-}
-
-void StringCat_HandleTrainerName(struct String * dest, struct String * src)
-{
- if (String_IsTrainerName(src))
- {
- u16 * dest_p = &dest->data[dest->size];
- u16 * src_p = &src->data[1];
- s32 bit = 0;
- u32 outsize = 0;
- u16 cur_char = 0;
-
- while (1)
- {
- cur_char = (u16)((*src_p >> bit) & 0x1FF);
- bit += 9;
- if (bit >= 15)
- {
- src_p++;
- bit -= 15;
- if (bit != 0)
- {
- cur_char |= (*src_p << (9 - bit)) & 0x1FF;
- }
- }
- if (cur_char == 0x1FF)
- break;
- *dest_p++ = cur_char;
- outsize++;
- }
- *dest_p = EOS;
- dest->size += outsize;
- }
- else
- StringCat(dest, src);
-}
-
struct UnkStruct_020220C4 * FUN_020220C4(u8 * a0, u32 a1, void (*a2)(s32, s32, u32), u32 a3, u32 a4)
{
struct UnkStruct_020220C4 * ret;
diff --git a/arm9/src/unk_020222E8.c b/arm9/src/unk_020222E8.c
index 30a2a2c4..dbd43d8d 100644
--- a/arm9/src/unk_020222E8.c
+++ b/arm9/src/unk_020222E8.c
@@ -1,33 +1,34 @@
#include "global.h"
#include "unk_020222E8.h"
+#include "mmap.h"
THUMB_FUNC void * FUN_020222E8()
{
- return 0x5 << 0x18;
+ return (void *)HW_BG_PLTT;
}
-THUMB_FUNC void * FUN_020222F0()
+THUMB_FUNC u32 FUN_020222F0()
{
- return 0x2 << 0x8;
+ return HW_BG_PLTT_SIZE;
}
THUMB_FUNC void * FUN_020222F8()
{
- return 0x05000400;
+ return (void *)HW_DB_BG_PLTT;
}
-THUMB_FUNC void * FUN_02022300()
+THUMB_FUNC u32 FUN_02022300()
{
- return 0x2 << 0x8;
+ return HW_DB_BG_PLTT_SIZE;
}
THUMB_FUNC void * FUN_02022308()
{
- return 0x05000200;
+ return (void *)HW_OBJ_PLTT;
}
THUMB_FUNC void * FUN_02022310()
{
- return 0x05000600;
+ return (void *)HW_DB_OBJ_PLTT;
}
diff --git a/arm9/src/unk_02022450.c b/arm9/src/unk_02022450.c
index 7984fcc2..328ddfbd 100644
--- a/arm9/src/unk_02022450.c
+++ b/arm9/src/unk_02022450.c
@@ -6,35 +6,52 @@
#include "unk_02022450.h"
-static const char string_saying_rom[] = "rom";
+static inline u32 GetBakRomCode(void) {
+ return ((CARDRomHeader*)HW_MAIN_MEM_SHARED)->game_code;
+}
+
+static inline void SetBakRomCode(u32 newCode) {
+ ((CARDRomHeader*)HW_MAIN_MEM_SHARED)->game_code = newCode;
+}
+
+static inline u16 GetBakRomMaker(void) {
+ return ((CARDRomHeader*)HW_MAIN_MEM_SHARED)->maker_code;
+}
+
+static const char arc_name[] = "rom";
+
+// Multichar constants are encoded big-endian,
+// but this is a little-endian machine.
+#define ROM_CODE_ADAJ_BE 'JADA'
+#define MAKER_CODE_01_BE '10'
/*Replacing (HW_MAIN_MEM_SHARED + 0xC) or (HW_MAIN_MEM_SHARED + 0x10) or defining ADAJ or 01 constants causes match failure*/
-THUMB_FUNC void FUN_02022450 () {
+THUMB_FUNC void FUN_02022450() {
if (!FS_IsAvailable()) {
OS_Terminate();
}
else {
- struct CARD_Header* card_header_buffer = (struct CARD_Header*)HW_MAIN_MEM_SHARED;
+ CARDRomHeader* card_header_buffer = (CARDRomHeader*)HW_MAIN_MEM_SHARED;
- if (!*(u32*)(HW_MAIN_MEM_SHARED + 0xC)) {
+ if (GetBakRomCode() == 0) {
CARD_Init();
MI_CpuCopy8((u8*)HW_ROM_HEADER_BUF, (u8*)card_header_buffer, HW_CARD_ROM_HEADER_SIZE);
MI_CpuCopy8((u8*)HW_ROM_HEADER_BUF, (u8*)HW_CARD_ROM_HEADER, HW_CARD_ROM_HEADER_SIZE);
- *(u32*)(HW_MAIN_MEM_SHARED + 0xC) = 0x4A414441 /*"ADAJ" LE*/;
+ SetBakRomCode(ROM_CODE_ADAJ_BE);
}
- FSArchive * const r0 = FS_FindArchive(string_saying_rom, 3);
- r0->fat = card_header_buffer->header_48;
- r0->fat_size = card_header_buffer->header_4C;
- r0->fnt = card_header_buffer->header_40;
- r0->fnt_size = card_header_buffer->header_44;
- if (*(u32*)(HW_MAIN_MEM_SHARED + 0xC) != 0x4A414441 /*"ADAJ" LE*/ || *(u16*)(HW_MAIN_MEM_SHARED + 0x10) != 0x3130 /*"01" LE*/) {
+ FSArchive * const r0 = FS_FindArchive(arc_name, 3);
+ r0->fat = card_header_buffer->fat.offset;
+ r0->fat_size = card_header_buffer->fat.length;
+ r0->fnt = card_header_buffer->fnt.offset;
+ r0->fnt_size = card_header_buffer->fnt.length;
+ if (GetBakRomCode() != ROM_CODE_ADAJ_BE || GetBakRomMaker() != MAKER_CODE_01_BE) {
OS_Terminate();
}
}
return;
}
-THUMB_FUNC void Reset_To_File (const char* path) {
+THUMB_FUNC void Reset_To_File(const char* path) {
FSFile file;
FS_InitFile(&file);
if (FS_OpenFile(&file, path)) {
diff --git a/arm9/src/unk_02022504.c b/arm9/src/unk_02022504.c
index 7f50815b..6f34eafe 100644
--- a/arm9/src/unk_02022504.c
+++ b/arm9/src/unk_02022504.c
@@ -11,7 +11,7 @@ THUMB_FUNC struct PCStorage *GetStoragePCPointer(struct SaveBlock2 *sav2)
return SavArray_get(sav2, 35);
}
-THUMB_FUNC void *FUN_0202251C(struct SaveBlock2 *sav2)
+THUMB_FUNC struct UnkStruct_0202AC20 * FUN_0202251C(struct SaveBlock2 *sav2)
{
return SavArray_get(sav2, 31);
}
diff --git a/arm9/src/unk_02029FB0.c b/arm9/src/unk_02029FB0.c
new file mode 100644
index 00000000..52cd5202
--- /dev/null
+++ b/arm9/src/unk_02029FB0.c
@@ -0,0 +1,357 @@
+#include "global.h"
+#include "pokedex.h"
+#include "unk_02029FB0.h"
+
+const u16 UNK_020EEA7C[] = {
+ 0x0001, // 00
+ 0x0001, // 01
+ 0x0001, // 02
+ 0x0001, // 03
+ 0x0001, // 04
+ 0x0001, // 05
+ 0x0002, // 06
+ 0x0002, // 07
+ 0x0002, // 08
+ 0x0002, // 09
+ 0x0003, // 10
+ 0x0003, // 11
+ 0x0003, // 12
+ 0x0007, // 13
+ 0x0007, // 14
+ 0x0007, // 15
+ 0x000A, // 16
+ 0x000A, // 17
+ 0x000B, // 18
+ 0x000B, // 19
+ 0x000B, // 20
+ 0x000B, // 21
+ 0x0014, // 22
+ 0x001E, // 23
+ 0x0023, // 24
+ 0x0028, // 25
+ 0x01F4, // 26
+ 0x2710, // 27
+ 0x001E, // 28
+ 0x001E, // 29
+ 0x0002, // 30
+ 0x0005, // 31
+ 0x0001, // 32
+ 0x0001, // 33
+ 0x0005, // 34
+ 0x0003, // 35
+ 0x0001, // 36
+ 0x0001, // 37
+};
+
+u8 UNK_02105CD8[] = {
+ TRUE, // 000
+ TRUE, // 001
+ FALSE, // 002
+ TRUE, // 003
+ TRUE, // 004
+ TRUE, // 005
+ TRUE, // 006
+ TRUE, // 007
+ TRUE, // 008
+ FALSE, // 009
+ FALSE, // 010
+ FALSE, // 011
+ TRUE, // 012
+ TRUE, // 013
+ TRUE, // 014
+ TRUE, // 015
+ TRUE, // 016
+ TRUE, // 017
+ TRUE, // 018
+ TRUE, // 019
+ TRUE, // 020
+ TRUE, // 021
+ TRUE, // 022
+ TRUE, // 023
+ TRUE, // 024
+ TRUE, // 025
+ TRUE, // 026
+ TRUE, // 027
+ TRUE, // 028
+ TRUE, // 029
+ TRUE, // 030
+ TRUE, // 031
+ TRUE, // 032
+ TRUE, // 033
+ TRUE, // 034
+ TRUE, // 035
+ TRUE, // 036
+ TRUE, // 037
+ TRUE, // 038
+ TRUE, // 039
+ TRUE, // 040
+ FALSE, // 041
+ FALSE, // 042
+ FALSE, // 043
+
+ TRUE, // 044
+ TRUE, // 045
+ FALSE, // 046
+ TRUE, // 047
+ TRUE, // 048
+ FALSE, // 049
+ FALSE, // 050
+ FALSE, // 051
+ FALSE, // 052
+ FALSE, // 053
+ FALSE, // 054
+ FALSE, // 055
+ FALSE, // 056
+ FALSE, // 057
+ FALSE, // 058
+ FALSE, // 059
+ FALSE, // 060
+ FALSE, // 061
+ FALSE, // 062
+ FALSE, // 063
+ FALSE, // 064
+ FALSE, // 065
+ FALSE, // 066
+ TRUE, // 067
+ FALSE, // 068
+ FALSE, // 069
+ FALSE, // 070
+ FALSE, // 071
+ FALSE, // 072
+ FALSE, // 073
+ FALSE, // 074
+ FALSE, // 075
+ FALSE, // 076
+ FALSE, // 077
+ FALSE, // 078
+ FALSE, // 079
+ FALSE, // 080
+ FALSE, // 081
+ FALSE, // 082
+ FALSE, // 083
+ FALSE, // 084
+ TRUE, // 085
+ FALSE, // 086
+ FALSE, // 087
+ FALSE, // 088
+ FALSE, // 089
+ FALSE, // 090
+ FALSE, // 091
+ FALSE, // 092
+ FALSE, // 093
+ FALSE, // 094
+ FALSE, // 095
+ FALSE, // 096
+ FALSE, // 097
+ FALSE, // 098
+ FALSE, // 099
+ FALSE, // 100
+ FALSE, // 101
+ FALSE, // 102
+ FALSE, // 103
+ FALSE, // 104
+ FALSE, // 105
+ FALSE, // 106
+ FALSE, // 107
+ FALSE, // 108
+ FALSE, // 109
+ FALSE, // 110
+ FALSE, // 111
+ FALSE, // 112
+ FALSE, // 113
+ FALSE, // 114
+ FALSE, // 115
+ FALSE, // 116
+ FALSE, // 117
+ FALSE, // 118
+ FALSE, // 119
+ FALSE, // 120
+ FALSE, // 121
+};
+
+static inline s32 GetOffsetToUnk00(s32 a0)
+{
+ return a0;
+}
+
+static inline s32 GetOffsetToUnkB0(s32 a0)
+{
+ return a0 - 44;
+}
+
+THUMB_FUNC u32 Sav2_GameStats_sizeof(void)
+{
+ return sizeof(struct GameStats);
+}
+
+THUMB_FUNC void Sav2_GameStats_init(struct GameStats * ptr)
+{
+ MI_CpuClear32(ptr, sizeof(struct GameStats));
+}
+
+THUMB_FUNC struct GameStats * Sav2_GameStats_get(struct SaveBlock2 * sav2)
+{
+ return SavArray_get(sav2, 20);
+}
+
+THUMB_FUNC u32 GameStats_GetValue(struct GameStats * ptr, s32 a1)
+{
+ if (a1 < 44)
+ {
+ return ptr->unk_00[GetOffsetToUnk00(a1)];
+ }
+ else if (a1 < 121)
+ {
+ return ptr->unk_B0[GetOffsetToUnkB0(a1)];
+ }
+ else
+ {
+ GF_ASSERT(0);
+ return 0;
+ }
+}
+
+THUMB_FUNC u32 GameStats_SetValue(struct GameStats * ptr, s32 a1, u32 a2)
+{
+ if (a1 < 44)
+ {
+ ptr->unk_00[GetOffsetToUnk00(a1)] = a2;
+ }
+ else if (a1 < 121)
+ {
+ ptr->unk_B0[GetOffsetToUnkB0(a1)] = a2;
+ }
+ else
+ {
+ GF_ASSERT(0);
+ }
+ return GameStats_GetValue(ptr, a1);
+}
+
+THUMB_FUNC u32 GameStats_GetMaxValue(s32 a0)
+{
+ if (a0 < 44)
+ {
+ if (UNK_02105CD8[a0])
+ return 999999999;
+ else
+ return 999999;
+ }
+ else if (a0 < 121)
+ {
+ if (UNK_02105CD8[a0])
+ return 0xFFFF;
+ else
+ return 9999;
+ }
+ else
+ {
+ GF_ASSERT(0);
+ return 0;
+ }
+}
+
+THUMB_FUNC u16 GameStats_GetStdInc(s32 a0)
+{
+ return UNK_020EEA7C[a0];
+}
+
+THUMB_FUNC u32 GameStats_SetCapped(struct GameStats * ptr, s32 a1, u32 a2)
+{
+ u32 r2 = GameStats_GetMaxValue(a1);
+ if (a2 < r2)
+ {
+ return GameStats_SetValue(ptr, a1, a2);
+ }
+ else
+ {
+ return GameStats_SetValue(ptr, a1, r2);
+ }
+}
+
+THUMB_FUNC u32 GameStats_UpdateBounded(struct GameStats * ptr, s32 a1, u32 a2)
+{
+ u32 r4 = GameStats_GetMaxValue(a1);
+ u32 r0 = GameStats_GetValue(ptr, a1);
+ if (a2 > r4)
+ {
+ a2 = r4;
+ }
+ if (r0 < a2)
+ {
+ return GameStats_SetValue(ptr, a1, a2);
+ }
+ else if (r0 > r4)
+ {
+ return GameStats_SetValue(ptr, a1, r4);
+ }
+ else
+ {
+ return r0;
+ }
+}
+
+THUMB_FUNC u32 GameStats_Inc(struct GameStats * ptr, s32 a1)
+{
+ u32 r4 = GameStats_GetMaxValue(a1);
+ u32 r2 = GameStats_GetValue(ptr, a1) + 1;
+ if (r2 < r4)
+ {
+ return GameStats_SetValue(ptr, a1, r2);
+ }
+ else
+ {
+ return GameStats_SetValue(ptr, a1, r4);
+ }
+}
+
+THUMB_FUNC u32 GameStats_Add(struct GameStats * ptr, s32 a1, u32 a2)
+{
+ u32 r6 = GameStats_GetMaxValue(a1);
+ u32 r2 = GameStats_GetValue(ptr, a1);
+ r2 += a2;
+ if (r2 < r6)
+ {
+ return GameStats_SetValue(ptr, a1, r2);
+ }
+ else
+ {
+ return GameStats_SetValue(ptr, a1, r6);
+ }
+}
+
+THUMB_FUNC u32 GameStats_GetCapped(struct GameStats * ptr, s32 a1)
+{
+ u32 r4 = GameStats_GetMaxValue(a1);
+ u32 r0 = GameStats_GetValue(ptr, a1);
+ if (r0 <= r4)
+ r4 = r0;
+ return r4;
+}
+
+THUMB_FUNC u32 GameStats_AddSpecial(struct GameStats * ptr, s32 a1)
+{
+ GF_ASSERT(a1 < 38);
+ u32 r0 = GameStats_GetCapped(ptr, 0) + GameStats_GetStdInc(a1);
+ if (r0 > 99999999)
+ {
+ return GameStats_SetCapped(ptr, 0, 99999999);
+ }
+ else
+ {
+ return GameStats_Add(ptr, 0, GameStats_GetStdInc(a1));
+ }
+}
+
+THUMB_FUNC u32 GameStats_GetStat0(struct GameStats * ptr)
+{
+ return GameStats_GetCapped(ptr, 0);
+}
+
+THUMB_FUNC void GameStats_IncSpeciesCaught(struct GameStats * ptr, struct Pokedex * pokedex, u16 species)
+{
+ if (!Pokedex_CheckMonCaughtFlag(pokedex, species))
+ {
+ GameStats_AddSpecial(ptr, 22);
+ }
+}
diff --git a/arm9/src/unk_0202C144.c b/arm9/src/unk_0202C144.c
index 468a92e4..78c59e15 100644
--- a/arm9/src/unk_0202C144.c
+++ b/arm9/src/unk_0202C144.c
@@ -12,9 +12,9 @@ void FUN_0202C144(struct SaveBlock2 * sav2, struct Pokemon * mon)
if (!is_egg)
{
struct Pokedex * pokedex = Sav2_Pokedex_get(sav2);
- struct UnkStruct_02029FB0 * unk = FUN_02029FC8(sav2);
+ struct GameStats * unk = Sav2_GameStats_get(sav2);
u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
- FUN_0202A1C4(unk, pokedex, (u16)species);
+ GameStats_IncSpeciesCaught(unk, pokedex, (u16) species);
Pokedex_SetMonCaughtFlag(pokedex, mon);
struct SavePoketch * poketch = Sav2_Poketch_get(sav2);
diff --git a/arm9/src/unk_0205FA2C.c b/arm9/src/unk_0205FA2C.c
index a023ad83..b1f03faa 100644
--- a/arm9/src/unk_0205FA2C.c
+++ b/arm9/src/unk_0205FA2C.c
@@ -12,7 +12,6 @@ extern u16 *GetVarPointer(struct UnkSavStruct80 *arg, u16);
extern u16 MOD06_02244660(struct UnkSavStruct80 *param0, u8 *param1);
extern u16 MOD06_022446BC(struct UnkSavStruct80 *param0, u8 *param1);
extern u16 MOD06_022446E0(struct UnkSavStruct80 *param0, u8 *param1);
-extern u32 FUN_0202A150(struct UnkStruct_02029FB0 *param0, u32 param1);
extern u32 FUN_02026CC4(struct SaveBlock2 *sav2);
extern u32 FUN_02025D94(u32 param0, u32 param1);
@@ -314,7 +313,7 @@ THUMB_FUNC void FUN_0205FDDC(struct UnkStruct_0204639C *param0, u16 param1, u16
THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2)
{
- u16 res = (u16)FUN_0202A150(FUN_02029FC8(sav2), 0x35);
+ u16 res = (u16) GameStats_GetCapped(Sav2_GameStats_get(sav2), 0x35);
if (res < 20)
{
return 0;
@@ -394,7 +393,7 @@ THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2)
THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2)
{
- u16 res = (u16)FUN_0202A150(FUN_02029FC8(sav2), 0x35);
+ u16 res = (u16) GameStats_GetCapped(Sav2_GameStats_get(sav2), 0x35);
if (res < 20)
{
return 0;
diff --git a/files/data/.gitignore b/files/data/.gitignore
index e405595a..af81751d 100644
--- a/files/data/.gitignore
+++ b/files/data/.gitignore
@@ -1,2 +1,4 @@
cell0.NCGR
cell0.NCLR
+dp_areawindow.NCGR
+dp_areawindow.NCLR
diff --git a/files/data/dp_areawindow.NCGR b/files/data/dp_areawindow.NCGR
deleted file mode 100644
index 40e1b885..00000000
--- a/files/data/dp_areawindow.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/data/dp_areawindow.NCLR b/files/data/dp_areawindow.NCLR
deleted file mode 100644
index cb93762b..00000000
--- a/files/data/dp_areawindow.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/data/dp_areawindow.png b/files/data/dp_areawindow.png
new file mode 100644
index 00000000..a4514abd
--- /dev/null
+++ b/files/data/dp_areawindow.png
Binary files differ
diff --git a/files/poketool/trainer/trdata.json b/files/poketool/trainer/trdata.json
index 336f8469..24fa3a6d 100644
--- a/files/poketool/trainer/trdata.json
+++ b/files/poketool/trainer/trdata.json
@@ -15351,7 +15351,7 @@
{
"index": 608,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_CHERYL",
"name": "Cheryl",
"unk2": 0,
"items": [],
@@ -15373,7 +15373,7 @@
{
"index": 609,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_RICH_BOY",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_RILEY",
"name": "Riley",
"unk2": 0,
"items": [],
@@ -15396,7 +15396,7 @@
{
"index": 610,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_PICNICKER",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_MARLEY",
"name": "Marley",
"unk2": 0,
"items": [],
@@ -15419,7 +15419,7 @@
{
"index": 611,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_CAMPER",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_BUCK",
"name": "Buck",
"unk2": 0,
"items": [],
@@ -15442,7 +15442,7 @@
{
"index": 612,
"type": "TRTYPE_MON_MOVES",
- "class": "TRAINER_CLASS_PKMN_TRAINER_POKEKID",
+ "class": "TRAINER_CLASS_PKMN_TRAINER_MIRA",
"name": "Mira",
"unk2": 0,
"items": [],
diff --git a/filesystem.mk b/filesystem.mk
index 41bdc0d4..df0b9dc6 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -311,13 +311,13 @@ endif
## This specific target shares its source JSON with trdata.narc
files/poketool/trainer/trpoke.narc: %/trpoke.narc: %/trdata.json %/trpoke.json.txt $$(dep)
$(JSONPROC) $< $(word 2,$^) $*/trpoke.c
- $(CC) $(CFLAGS) -c -o $*/trpoke.o $*/trpoke.c
+ $(CC) $(MWCFLAGS) -c -o $*/trpoke.o $*/trpoke.c
$(O2NARC) $(O2NARCFLAGS) $*/trpoke.o $@
@$(RM) $*/trpoke.o $*/trpoke.c
$(O2NARC_TARGETS): %.narc: %.json %.json.txt $$(dep)
$(JSONPROC) $*.json $*.json.txt $*.c
- $(CC) $(CFLAGS) -c -o $*.o $*.c
+ $(CC) $(MWCFLAGS) -c -o $*.o $*.c
$(O2NARC) $(O2NARCFLAGS) $*.o $@
@$(RM) $*.o $*.c
diff --git a/graphics_rules.mk b/graphics_rules.mk
index 5bad9e5e..74327449 100644
--- a/graphics_rules.mk
+++ b/graphics_rules.mk
@@ -1,4 +1,3 @@
-#todo data/dp_areawindow.NCGR (weirdness with size)
#todo data/graphic/bag_gra/narc_0007.NCGR (SOPC section) (width 32, palette narc_0003.NCLR)
CLOBBER_SIZE_NCGR_FILES := files/data/cell0.NCGR
@@ -122,7 +121,7 @@ CLOBBER_SIZE_VERSION101_NCGR_FILES := files/graphic/bag_gra/narc_0002.NCGR \
files/poketool/icongra/poke_icon/narc_0000.NCLR \
files/resource/eng/trial/trial/narc_0000.NCLR \
files/resource/eng/trial/trial/narc_0003.NCLR \
- files/resource/eng/trial/trial/narc_0006.NCLR \
+ files/resource/eng/trial/trial/narc_0006.NCLR
8BPP_NSCR_FILES := files/demo/title/titledemo/narc_0000.NSCR
@@ -157,6 +156,9 @@ IR_NCLR_FILES := files/itemtool/itemdata/item_icon/narc_0028.NCLR \
files/itemtool/itemdata/item_icon/narc_0111.NCLR \
files/itemtool/itemdata/item_icon/narc_0114.NCLR
+NCPR_NCLR_FILES := files/data/dp_areawindow.NCLR
+NOBYTEORDER_WRONGSIZE_NCGR_FILES := files/data/dp_areawindow.NCGR
+
VERSION101_SOPC_8BPP_NCGR_FILES := files/demo/title/titledemo/narc_0001.NCGR \
files/demo/title/titledemo/narc_0003.NCGR
diff --git a/include/constants/maps.h b/include/constants/maps.h
new file mode 100644
index 00000000..d6dac867
--- /dev/null
+++ b/include/constants/maps.h
@@ -0,0 +1,564 @@
+#ifndef POKEDIAMOND_CONSTANTS_MAPS_H
+#define POKEDIAMOND_CONSTANTS_MAPS_H
+
+#define MAP_EVERYWHERE 0
+#define MAP_NOTHING 1
+#define MAP_UG 2
+#define MAP_C01 3
+#define MAP_C01FS0101 4
+#define MAP_C01GYM0101 5
+#define MAP_C01PC0101 6
+#define MAP_C01PC0102 7
+#define MAP_C01R0101 8
+#define MAP_C01R0102 9
+#define MAP_C01R0103 10
+#define MAP_C01R0201 11
+#define MAP_C01R0202 12
+#define MAP_C01R0203 13
+#define MAP_C01R0204 14
+#define MAP_C01R0205 15
+#define MAP_C01R0206 16
+#define MAP_C01R0207 17
+#define MAP_C01R0208 18
+#define MAP_C01R0301 19
+#define MAP_C01R0302 20
+#define MAP_C01R0303 21
+#define MAP_C01R0304 22
+#define MAP_C01R0401 23
+#define MAP_C01R0501 24
+#define MAP_C01R0502 25
+#define MAP_C01R0503 26
+#define MAP_C01R0504 27
+#define MAP_C01R0601 28
+#define MAP_C01R0701 29
+#define MAP_C01R0801 30
+#define MAP_C01R0901 31
+#define MAP_C01R1001 32
+#define MAP_C02 33
+#define MAP_C02FS0101 34
+#define MAP_C02GYM0101 35
+#define MAP_C02PC0101 36
+#define MAP_C02PC0102 37
+#define MAP_C02R0101 38
+#define MAP_C02R0102 39
+#define MAP_C02R0103 40
+#define MAP_C02R0201 41
+#define MAP_C02R0301 42
+#define MAP_C02R0401 43
+#define MAP_C02R0501 44
+#define MAP_C03 45
+#define MAP_C03FS0101 46
+#define MAP_C03GYM0101 47
+#define MAP_C03PC0101 48
+#define MAP_C03PC0102 49
+#define MAP_C03R0101 50
+#define MAP_C03R0102 51
+#define MAP_C03R0103 52
+#define MAP_C03R0104 53
+#define MAP_C03R0201 54
+#define MAP_C03R0202 55
+#define MAP_C03R0203 56
+#define MAP_C03R0204 57
+#define MAP_C03R0301 58
+#define MAP_C03R0401 59
+#define MAP_C03R0501 60
+#define MAP_C03R0601 61
+#define MAP_C03R0602 62
+#define MAP_C03R0603 63
+#define MAP_C03R0701 64
+#define MAP_C04 65
+#define MAP_C04FS0101 66
+#define MAP_C04GYM0101 67
+#define MAP_C04GYM0102 68
+#define MAP_C04PC0101 69
+#define MAP_C04PC0102 70
+#define MAP_C04R0101 71
+#define MAP_C04R0201 72
+#define MAP_C04R0202 73
+#define MAP_C04R0203 74
+#define MAP_C04R0204 75
+#define MAP_C04R0301 76
+#define MAP_C04R0302 77
+#define MAP_C04R0303 78
+#define MAP_C04R0304 79
+#define MAP_C04R0401 80
+#define MAP_C04R0501 81
+#define MAP_C04R0601 82
+#define MAP_C04R0701 83
+#define MAP_C04R0801 84
+#define MAP_C04R0901 85
+#define MAP_C05 86
+#define MAP_C05FS0101 87
+#define MAP_C05GYM0101 88
+#define MAP_C05GYM0102 89
+#define MAP_C05GYM0103 90
+#define MAP_C05GYM0104 91
+#define MAP_C05GYM0105 92
+#define MAP_C05GYM0106 93
+#define MAP_C05GYM0107 94
+#define MAP_C05GYM0108 95
+#define MAP_C05GYM0109 96
+#define MAP_C05GYM0110 97
+#define MAP_C05GYM0111 98
+#define MAP_C05GYM0112 99
+#define MAP_C05GYM0113 100
+#define MAP_C05PC0101 101
+#define MAP_C05PC0102 102
+#define MAP_C05R0101 103
+#define MAP_C05R0102 104
+#define MAP_C05R0103 105
+#define MAP_C05R0201 106
+#define MAP_C05R0301 107
+#define MAP_C05R0401 108
+#define MAP_C05R0501 109
+#define MAP_C05R0601 110
+#define MAP_C05R0701 111
+#define MAP_C05R0801 112
+#define MAP_C05R0802 113
+#define MAP_C05R0803 114
+#define MAP_C05R0901 115
+#define MAP_C05R1001 116
+#define MAP_C05R1101 117
+#define MAP_C05R1102 118
+#define MAP_C05R1201 119
+#define MAP_C06 120
+#define MAP_C06FS0101 121
+#define MAP_C06GYM0101 122
+#define MAP_C06PC0101 123
+#define MAP_C06PC0102 124
+#define MAP_C06R0101 125
+#define MAP_C06R0102 126
+#define MAP_C06R0201 127
+#define MAP_C06R0301 128
+#define MAP_C06R0401 129
+#define MAP_C06R0501 130
+#define MAP_C06R0601 131
+#define MAP_C07 132
+#define MAP_C07GYM0101 133
+#define MAP_C07PC0101 134
+#define MAP_C07PC0102 135
+#define MAP_C07R0101 136
+#define MAP_C07R0201 137
+#define MAP_C07R0202 138
+#define MAP_C07R0203 139
+#define MAP_C07R0204 140
+#define MAP_C07R0205 141
+#define MAP_C07R0206 142
+#define MAP_C07R0301 143
+#define MAP_C07R0401 144
+#define MAP_C07R0501 145
+#define MAP_C07R0601 146
+#define MAP_C07R0701 147
+#define MAP_C07R0801 148
+#define MAP_C07R0901 149
+#define MAP_C08 150
+#define MAP_C08PC0101 151
+#define MAP_C08PC0102 152
+#define MAP_C08FS0101 153
+#define MAP_C08GYM0101 154
+#define MAP_C08GYM0102 155
+#define MAP_C08GYM0103 156
+#define MAP_C08R0101 157
+#define MAP_C08R0201 158
+#define MAP_C08R0301 159
+#define MAP_C08R0401 160
+#define MAP_C08R0501 161
+#define MAP_C08R0601 162
+#define MAP_C08R0701 163
+#define MAP_C08R0801 164
+#define MAP_C09 165
+#define MAP_C09FS0101 166
+#define MAP_C09GYM0101 167
+#define MAP_C09PC0101 168
+#define MAP_C09PC0102 169
+#define MAP_C09R0101 170
+#define MAP_C09R0201 171
+#define MAP_C10 172
+#define MAP_C10PC0101 173
+#define MAP_C10PC0102 174
+#define MAP_C10R0101 175
+#define MAP_C10R0102 176
+#define MAP_C10R0103 177
+#define MAP_C10R0104 178
+#define MAP_C10R0105 179
+#define MAP_C10R0106 180
+#define MAP_C10R0107 181
+#define MAP_C10R0108 182
+#define MAP_C10R0109 183
+#define MAP_C10R0110 184
+#define MAP_C10R0111 185
+#define MAP_C10R0112 186
+#define MAP_C10R0113 187
+#define MAP_C11 188
+#define MAP_C11PC0101 189
+#define MAP_C11PC0102 190
+#define MAP_C11FS0101 191
+#define MAP_C11R0101 192
+#define MAP_C11R0201 193
+#define MAP_C11R0301 194
+#define MAP_C11R0401 195
+#define MAP_C11R0501 196
+#define MAP_D01 197
+#define MAP_D01R0101 198
+#define MAP_D01R0102 199
+#define MAP_D02 200
+#define MAP_D02R0101 201
+#define MAP_D03 202
+#define MAP_D03R0101 203
+#define MAP_D04 204
+#define MAP_D04R0101 205
+#define MAP_D05 206
+#define MAP_D05R0101 207
+#define MAP_D05R0102 208
+#define MAP_D05R0103 209
+#define MAP_D05R0104 210
+#define MAP_D05R0105 211
+#define MAP_D05R0106 212
+#define MAP_D05R0107 213
+#define MAP_D05R0108 214
+#define MAP_D05R0109 215
+#define MAP_D05R0110 216
+#define MAP_D05R0111 217
+#define MAP_D05R0112 218
+#define MAP_D05R0113 219
+#define MAP_D05R0114 220
+#define MAP_D05R0115 221
+#define MAP_D06 222
+#define MAP_D06R0101 223
+#define MAP_D07 224
+#define MAP_D07R0101 225
+#define MAP_D07R0102 226
+#define MAP_D07R0103 227
+#define MAP_D07R0104 228
+#define MAP_D07R0105 229
+#define MAP_D07R0106 230
+#define MAP_D07R0107 231
+#define MAP_D07R0108 232
+#define MAP_D07R0109 233
+#define MAP_D07R0110 234
+#define MAP_D07R0111 235
+#define MAP_D07R0112 236
+#define MAP_D07R0113 237
+#define MAP_D07R0114 238
+#define MAP_D07R0115 239
+#define MAP_D07R0116 240
+#define MAP_D07R0117 241
+#define MAP_D07R0118 242
+#define MAP_D09 243
+#define MAP_D09R0101 244
+#define MAP_D09R0102 245
+#define MAP_D09R0103 246
+#define MAP_D09R0104 247
+#define MAP_D09R0105 248
+#define MAP_D09R0106 249
+#define MAP_D10 250
+#define MAP_D10R0101 251
+#define MAP_D11 252
+#define MAP_D11R0101 253
+#define MAP_D12R0101 254
+#define MAP_D13 255
+#define MAP_D13R0101 256
+#define MAP_D13R0102 257
+#define MAP_D14R0101 258
+#define MAP_D14R0102 259
+#define MAP_D15 260
+#define MAP_D15R0101 261
+#define MAP_D16 262
+#define MAP_D16R0101 263
+#define MAP_D16R0102 264
+#define MAP_D16R0103 265
+#define MAP_D17 266
+#define MAP_D17R0101 267
+#define MAP_D17R0102 268
+#define MAP_D17R0103 269
+#define MAP_D17R0104 270
+#define MAP_D17R0105 271
+#define MAP_D17R0106 272
+#define MAP_D17R0107 273
+#define MAP_D18 274
+#define MAP_D18R0101 275
+#define MAP_D19A 276
+#define MAP_D19B 277
+#define MAP_D20R0101 278
+#define MAP_D20R0102 279
+#define MAP_D20R0103 280
+#define MAP_D20R0104 281
+#define MAP_D20R0105 282
+#define MAP_D20R0106 283
+#define MAP_D21R0101 284
+#define MAP_D21R0102 285
+#define MAP_D22R0101 286
+#define MAP_D23R0101 287
+#define MAP_D24 288
+#define MAP_D24R0101 289
+#define MAP_D24R0102 290
+#define MAP_D24R0103 291
+#define MAP_D24R0104 292
+#define MAP_D24R0105 293
+#define MAP_D24R0106 294
+#define MAP_D25R0101 295
+#define MAP_D25R0102 296
+#define MAP_D25R0103 297
+#define MAP_D25R0104 298
+#define MAP_D25R0105 299
+#define MAP_D25R0106 300
+#define MAP_D25R0107 301
+#define MAP_D25R0108 302
+#define MAP_D25R0109 303
+#define MAP_D25R1001 304
+#define MAP_D26R0101 305
+#define MAP_D26R0102 306
+#define MAP_D26R0103 307
+#define MAP_D26R0104 308
+#define MAP_D26R0105 309
+#define MAP_D26R0106 310
+#define MAP_D27R0101 311
+#define MAP_D27R0102 312
+#define MAP_D27R0103 313
+#define MAP_D28R0101 314
+#define MAP_D28R0102 315
+#define MAP_D28R0103 316
+#define MAP_D29R0101 317
+#define MAP_D29R0102 318
+#define MAP_D29R0103 319
+#define MAP_D30 320
+#define MAP_D30R0101 321
+#define MAP_D31 322
+#define MAP_D31R0101 323
+#define MAP_D31R0102 324
+#define MAP_D31R0103 325
+#define MAP_D31R0201 326
+#define MAP_D31R0202 327
+#define MAP_D31R0203 328
+#define MAP_D31R0204 329
+#define MAP_D31R0205 330
+#define MAP_D31R0206 331
+#define MAP_DIRECT2 332
+#define MAP_DIRECT4 333
+#define MAP_L01 334
+#define MAP_L01R0101 335
+#define MAP_L02 336
+#define MAP_L02R0101 337
+#define MAP_L02R0201 338
+#define MAP_L02R0301 339
+#define MAP_L03 340
+#define MAP_L04 341
+#define MAP_R201 342
+#define MAP_R202 343
+#define MAP_R203 344
+#define MAP_R204A 345
+#define MAP_R204B 346
+#define MAP_R205A 347
+#define MAP_R205AR0101 348
+#define MAP_R205B 349
+#define MAP_R206 350
+#define MAP_R206R0101 351
+#define MAP_R206R0201 352
+#define MAP_R207 353
+#define MAP_R208 354
+#define MAP_R208R0101 355
+#define MAP_R209 356
+#define MAP_R209R0101 357
+#define MAP_R209R0102 358
+#define MAP_R209R0103 359
+#define MAP_R209R0104 360
+#define MAP_R209R0105 361
+#define MAP_R210A 362
+#define MAP_R210B 363
+#define MAP_R210BR0101 364
+#define MAP_R211A 365
+#define MAP_R211B 366
+#define MAP_R212A 367
+#define MAP_R212AR0101 368
+#define MAP_R212AR0102 369
+#define MAP_R212AR0103 370
+#define MAP_R212B 371
+#define MAP_R212BR0101 372
+#define MAP_R213 373
+#define MAP_R213R0101 374
+#define MAP_R213R0201 375
+#define MAP_R213R0301 376
+#define MAP_R213R0401 377
+#define MAP_R213R0501 378
+#define MAP_R213R0601 379
+#define MAP_R214 380
+#define MAP_R214R0101 381
+#define MAP_R215 382
+#define MAP_R216 383
+#define MAP_R216R0101 384
+#define MAP_R217 385
+#define MAP_R217R0101 386
+#define MAP_R217R0201 387
+#define MAP_R218 388
+#define MAP_R218R0101 389
+#define MAP_R218R0201 390
+#define MAP_R219 391
+#define MAP_R221 392
+#define MAP_R221R0101 393
+#define MAP_R221R0201 394
+#define MAP_R222 395
+#define MAP_R222R0101 396
+#define MAP_R222R0201 397
+#define MAP_R222R0301 398
+#define MAP_R224 399
+#define MAP_R225 400
+#define MAP_R226A 401
+#define MAP_R226B 402
+#define MAP_R227 403
+#define MAP_R227A 404
+#define MAP_R227B 405
+#define MAP_R228 406
+#define MAP_R229 407
+#define MAP_R230 408
+#define MAP_R232 409
+#define MAP_RECORD 410
+#define MAP_T01 411
+#define MAP_T01R0101 412
+#define MAP_T01R0102 413
+#define MAP_T01R0201 414
+#define MAP_T01R0202 415
+#define MAP_T01R0301 416
+#define MAP_T01R0401 417
+#define MAP_T02 418
+#define MAP_T02FS0101 419
+#define MAP_T02PC0101 420
+#define MAP_T02PC0102 421
+#define MAP_T02R0101 422
+#define MAP_T02R0201 423
+#define MAP_T02R0202 424
+#define MAP_T02R0301 425
+#define MAP_T03 426
+#define MAP_T03FS0101 427
+#define MAP_T03PC0101 428
+#define MAP_T03PC0102 429
+#define MAP_T03R0101 430
+#define MAP_T03R0201 431
+#define MAP_T03R0301 432
+#define MAP_T04 433
+#define MAP_T04FS0101 434
+#define MAP_T04PC0101 435
+#define MAP_T04PC0102 436
+#define MAP_T04R0101 437
+#define MAP_T04R0201 438
+#define MAP_T04R0301 439
+#define MAP_T04R0401 440
+#define MAP_T04R0501 441
+#define MAP_T05 442
+#define MAP_T05PC0101 443
+#define MAP_T05PC0102 444
+#define MAP_T05R0101 445
+#define MAP_T05R0201 446
+#define MAP_T05R0301 447
+#define MAP_T05R0401 448
+#define MAP_T05R0501 449
+#define MAP_T06 450
+#define MAP_T06FS0101 451
+#define MAP_T06PC0101 452
+#define MAP_T06PC0102 453
+#define MAP_T06R0101 454
+#define MAP_T06R0201 455
+#define MAP_T06R0301 456
+#define MAP_T07 457
+#define MAP_T07FS0101 458
+#define MAP_T07PC0101 459
+#define MAP_T07PC0102 460
+#define MAP_T07R0101 461
+#define MAP_T07R0102 462
+#define MAP_T07R0103 463
+#define MAP_T07R0201 464
+#define MAP_T07R0301 465
+#define MAP_UNION 466
+#define MAP_W220 467
+#define MAP_W223 468
+#define MAP_W226 469
+#define MAP_W229 470
+#define MAP_W230 471
+#define MAP_W231 472
+#define MAP_W233 473
+#define MAP_C01PC0103 474
+#define MAP_C02PC0103 475
+#define MAP_C03PC0103 476
+#define MAP_C04PC0103 477
+#define MAP_C05PC0103 478
+#define MAP_C06PC0103 479
+#define MAP_C07PC0103 480
+#define MAP_C08PC0103 481
+#define MAP_C09PC0103 482
+#define MAP_C10PC0103 483
+#define MAP_C11PC0103 484
+#define MAP_T02PC0103 485
+#define MAP_T03PC0103 486
+#define MAP_T04PC0103 487
+#define MAP_T05PC0103 488
+#define MAP_T06PC0103 489
+#define MAP_T07PC0103 490
+#define MAP_C02R0601 491
+#define MAP_R210AR0101 492
+#define MAP_D31R0207 493
+#define MAP_D26R0107 494
+#define MAP_C10R0114 495
+#define MAP_C10R0115 496
+#define MAP_D26R0108 497
+#define MAP_R225R0101 498
+#define MAP_W226R0101 499
+#define MAP_R227R0101 500
+#define MAP_R228R0101 501
+#define MAP_R228R0201 502
+#define MAP_R228R0301 503
+#define MAP_D06R0201 504
+#define MAP_D06R0202 505
+#define MAP_D06R0203 506
+#define MAP_D06R0204 507
+#define MAP_D06R0205 508
+#define MAP_D06R0206 509
+#define MAP_D05R0116 510
+#define MAP_D05R0117 511
+#define MAP_D22R0102 512
+#define MAP_D22R0103 513
+#define MAP_D24R0201 514
+#define MAP_D07R0119 515
+#define MAP_C08R0802 516
+#define MAP_C01R0802 517
+#define MAP_D17R0108 518
+#define MAP_D17R0109 519
+#define MAP_D17R0110 520
+#define MAP_D17R0111 521
+#define MAP_D17R0112 522
+#define MAP_D17R0113 523
+#define MAP_D17R0114 524
+#define MAP_D17R0115 525
+#define MAP_D17R0116 526
+#define MAP_D17R0117 527
+#define MAP_D17R0118 528
+#define MAP_D17R0119 529
+#define MAP_D17R0120 530
+#define MAP_D17R0121 531
+#define MAP_D17R0122 532
+#define MAP_D17R0123 533
+#define MAP_D17R0124 534
+#define MAP_D17R0125 535
+#define MAP_D17R0126 536
+#define MAP_D17R0127 537
+#define MAP_D17R0128 538
+#define MAP_D17R0129 539
+#define MAP_D17R0130 540
+#define MAP_D17R0131 541
+#define MAP_D17R0132 542
+#define MAP_D17R0133 543
+#define MAP_D17R0134 544
+#define MAP_D17R0135 545
+#define MAP_D17R0136 546
+#define MAP_D17R0137 547
+#define MAP_D17R0138 548
+#define MAP_D17R0139 549
+#define MAP_D17R0140 550
+#define MAP_D17R0141 551
+#define MAP_D17R0142 552
+#define MAP_D17R0143 553
+#define MAP_D17R0144 554
+#define MAP_D17R0145 555
+#define MAP_D17R0146 556
+#define MAP_D17R0147 557
+#define MAP_C05R1103 558
+
+#endif //POKEDIAMOND_CONSTANTS_MAPS_H
diff --git a/include/constants/sndseq.h b/include/constants/sndseq.h
new file mode 100644
index 00000000..b1c761f3
--- /dev/null
+++ b/include/constants/sndseq.h
@@ -0,0 +1,837 @@
+#ifndef POKEDIAMOND_CONSTANTS_SNDSEQ_H
+#define POKEDIAMOND_CONSTANTS_SNDSEQ_H
+
+#define SNDARC_BGM_BASE 1000
+#define SNDARC_SE_BASE 1500
+
+#define SEQ_PV001 (0)
+#define SEQ_PV (1)
+#define SEQ_PV_END (2)
+#define SEQ_DUMMY (SNDARC_BGM_BASE + 0)
+#define SEQ_SILENCE_FIELD (SNDARC_BGM_BASE + 1)
+#define SEQ_SILENCE_DUNGEON (SNDARC_BGM_BASE + 2)
+#define SEQ_TEST_TITLE (SNDARC_BGM_BASE + 3)
+#define SEQ_TOWN01_D (SNDARC_BGM_BASE + 4)
+#define SEQ_TOWN02_D (SNDARC_BGM_BASE + 5)
+#define SEQ_TOWN03_D (SNDARC_BGM_BASE + 6)
+#define SEQ_TOWN04_D (SNDARC_BGM_BASE + 7)
+#define SEQ_TOWN06_D (SNDARC_BGM_BASE + 8)
+#define SEQ_TOWN07_D (SNDARC_BGM_BASE + 9)
+#define SEQ_CITY01_D (SNDARC_BGM_BASE + 10)
+#define SEQ_CITY02_D (SNDARC_BGM_BASE + 11)
+#define SEQ_CITY03_D (SNDARC_BGM_BASE + 12)
+#define SEQ_CITY04_D (SNDARC_BGM_BASE + 13)
+#define SEQ_CITY05_D (SNDARC_BGM_BASE + 14)
+#define SEQ_CITY06_D (SNDARC_BGM_BASE + 15)
+#define SEQ_CITY07_D (SNDARC_BGM_BASE + 16)
+#define SEQ_CITY08_D (SNDARC_BGM_BASE + 17)
+#define SEQ_CITY09_D (SNDARC_BGM_BASE + 18)
+#define SEQ_CITY10_D (SNDARC_BGM_BASE + 19)
+#define SEQ_CITY11_D (SNDARC_BGM_BASE + 20)
+#define SEQ_ROAD_A_D (SNDARC_BGM_BASE + 21)
+#define SEQ_ROAD_B_D (SNDARC_BGM_BASE + 22)
+#define SEQ_ROAD_C_D (SNDARC_BGM_BASE + 23)
+#define SEQ_ROAD_D_D (SNDARC_BGM_BASE + 24)
+#define SEQ_ROAD_E_D (SNDARC_BGM_BASE + 25)
+#define SEQ_ROAD_F_D (SNDARC_BGM_BASE + 26)
+#define SEQ_ROAD_SNOW_D (SNDARC_BGM_BASE + 27)
+#define SEQ_ROAD_BZA_D (SNDARC_BGM_BASE + 28)
+#define SEQ_OPENING (SNDARC_BGM_BASE + 29)
+#define SEQ_TV_HOUSOU (SNDARC_BGM_BASE + 30)
+#define SEQ_TOWN05_D (SNDARC_BGM_BASE + 31)
+#define SEQ_ROAD_BZB_D (SNDARC_BGM_BASE + 32)
+#define SEQ_TOWN01_N (SNDARC_BGM_BASE + 33)
+#define SEQ_TOWN02_N (SNDARC_BGM_BASE + 34)
+#define SEQ_TOWN03_N (SNDARC_BGM_BASE + 35)
+#define SEQ_TOWN04_N (SNDARC_BGM_BASE + 36)
+#define SEQ_TOWN06_N (SNDARC_BGM_BASE + 37)
+#define SEQ_TOWN07_N (SNDARC_BGM_BASE + 38)
+#define SEQ_CITY01_N (SNDARC_BGM_BASE + 39)
+#define SEQ_CITY02_N (SNDARC_BGM_BASE + 40)
+#define SEQ_CITY03_N (SNDARC_BGM_BASE + 41)
+#define SEQ_CITY04_N (SNDARC_BGM_BASE + 42)
+#define SEQ_CITY05_N (SNDARC_BGM_BASE + 43)
+#define SEQ_CITY06_N (SNDARC_BGM_BASE + 44)
+#define SEQ_CITY07_N (SNDARC_BGM_BASE + 45)
+#define SEQ_CITY08_N (SNDARC_BGM_BASE + 46)
+#define SEQ_CITY09_N (SNDARC_BGM_BASE + 47)
+#define SEQ_CITY10_N (SNDARC_BGM_BASE + 48)
+#define SEQ_CITY11_N (SNDARC_BGM_BASE + 49)
+#define SEQ_ROAD_A_N (SNDARC_BGM_BASE + 50)
+#define SEQ_ROAD_B_N (SNDARC_BGM_BASE + 51)
+#define SEQ_ROAD_C_N (SNDARC_BGM_BASE + 52)
+#define SEQ_ROAD_D_N (SNDARC_BGM_BASE + 53)
+#define SEQ_ROAD_E_N (SNDARC_BGM_BASE + 54)
+#define SEQ_ROAD_F_N (SNDARC_BGM_BASE + 55)
+#define SEQ_ROAD_SNOW_N (SNDARC_BGM_BASE + 56)
+#define SEQ_ROAD_BZA_N (SNDARC_BGM_BASE + 57)
+#define SEQ_TOWN05_N (SNDARC_BGM_BASE + 58)
+#define SEQ_ROAD_BZB_N (SNDARC_BGM_BASE + 59)
+#define SEQ_TANKOU (SNDARC_BGM_BASE + 60)
+#define SEQ_HATANIGE (SNDARC_BGM_BASE + 61)
+#define SEQ_D_01 (SNDARC_BGM_BASE + 62)
+#define SEQ_D_02 (SNDARC_BGM_BASE + 63)
+#define SEQ_D_03 (SNDARC_BGM_BASE + 64)
+#define SEQ_D_RYAYHY (SNDARC_BGM_BASE + 65)
+#define SEQ_D_KOUEN (SNDARC_BGM_BASE + 66)
+#define SEQ_D_AGITO (SNDARC_BGM_BASE + 67)
+#define SEQ_D_GINLOBBY (SNDARC_BGM_BASE + 68)
+#define SEQ_D_SAFARI (SNDARC_BGM_BASE + 69)
+#define SEQ_D_LAKE (SNDARC_BGM_BASE + 70)
+#define SEQ_D_MOUNT1 (SNDARC_BGM_BASE + 71)
+#define SEQ_D_MOUNT2 (SNDARC_BGM_BASE + 72)
+#define SEQ_D_06 (SNDARC_BGM_BASE + 73)
+#define SEQ_D_05 (SNDARC_BGM_BASE + 74)
+#define SEQ_D_04 (SNDARC_BGM_BASE + 75)
+#define SEQ_D_LEAGUE (SNDARC_BGM_BASE + 76)
+#define SEQ_BLD_DENDO (SNDARC_BGM_BASE + 77)
+#define SEQ_D_CROAD (SNDARC_BGM_BASE + 78)
+#define SEQ_D_ICE (SNDARC_BGM_BASE + 79)
+#define SEQ_D_SECRET (SNDARC_BGM_BASE + 80)
+#define SEQ_D_UNKNOWN (SNDARC_BGM_BASE + 81)
+#define SEQ_POKEPARK (SNDARC_BGM_BASE + 82)
+#define SEQ_D_HARDMT (SNDARC_BGM_BASE + 83)
+#define SEQ_BLD_LEGEND (SNDARC_BGM_BASE + 84)
+#define SEQ_PC_01 (SNDARC_BGM_BASE + 85)
+#define SEQ_PC_02 (SNDARC_BGM_BASE + 86)
+#define SEQ_GYM (SNDARC_BGM_BASE + 87)
+#define SEQ_KENKYUJO (SNDARC_BGM_BASE + 88)
+#define SEQ_BLD_CON (SNDARC_BGM_BASE + 89)
+#define SEQ_FS (SNDARC_BGM_BASE + 90)
+#define SEQ_BLD_GAME (SNDARC_BGM_BASE + 91)
+#define SEQ_BF_TOWWER (SNDARC_BGM_BASE + 92)
+#define SEQ_BLD_TV (SNDARC_BGM_BASE + 93)
+#define SEQ_THE_EVENT04 (SNDARC_BGM_BASE + 94)
+#define SEQ_FUE (SNDARC_BGM_BASE + 95)
+#define SEQ_AUS (SNDARC_BGM_BASE + 96)
+#define SEQ_BLD_BLD_GTC (SNDARC_BGM_BASE + 97)
+#define SEQ_OPENING2 (SNDARC_BGM_BASE + 98)
+#define SEQ_BF_FACT (SNDARC_BGM_BASE + 99)
+#define SEQ_EYE_BOY (SNDARC_BGM_BASE + 100)
+#define SEQ_EYE_KID (SNDARC_BGM_BASE + 101)
+#define SEQ_EYE_FIGHT (SNDARC_BGM_BASE + 102)
+#define SEQ_EYE_GINGA (SNDARC_BGM_BASE + 103)
+#define SEQ_EYE_LADY (SNDARC_BGM_BASE + 104)
+#define SEQ_EYE_MOUNT (SNDARC_BGM_BASE + 105)
+#define SEQ_EYE_RICH (SNDARC_BGM_BASE + 106)
+#define SEQ_EYE_ENKA (SNDARC_BGM_BASE + 107)
+#define SEQ_EYE_MYS (SNDARC_BGM_BASE + 108)
+#define SEQ_EYE_ELITE (SNDARC_BGM_BASE + 109)
+#define SEQ_EYE_GIRL (SNDARC_BGM_BASE + 110)
+#define SEQ_EYE_SPORT (SNDARC_BGM_BASE + 111)
+#define SEQ_EYE_FUN (SNDARC_BGM_BASE + 112)
+#define SEQ_EYE_TENNO (SNDARC_BGM_BASE + 113)
+#define SEQ_EYE_CHAMP (SNDARC_BGM_BASE + 114)
+#define SEQ_FIGHT0101 (SNDARC_BGM_BASE + 115)
+#define SEQ_BA_POKE (SNDARC_BGM_BASE + 116)
+#define SEQ_BA_GYM (SNDARC_BGM_BASE + 117)
+#define SEQ_BA_DPOKE1 (SNDARC_BGM_BASE + 118)
+#define SEQ_BA_TRAIN (SNDARC_BGM_BASE + 119)
+#define SEQ_BA_AKAGI (SNDARC_BGM_BASE + 120)
+#define SEQ_BA_DPOKE2 (SNDARC_BGM_BASE + 121)
+#define SEQ_BA_CHANP (SNDARC_BGM_BASE + 122)
+#define SEQ_BA_GINGA (SNDARC_BGM_BASE + 123)
+#define SEQ_BA_RIVAL (SNDARC_BGM_BASE + 124)
+#define SEQ_BA_SECRET1 (SNDARC_BGM_BASE + 125)
+#define SEQ_BA_SECRET2 (SNDARC_BGM_BASE + 126)
+#define SEQ_WINPOKE (SNDARC_BGM_BASE + 127)
+#define SEQ_WINTRAIN (SNDARC_BGM_BASE + 128)
+#define SEQ_WINTGYM (SNDARC_BGM_BASE + 129)
+#define SEQ_WINCHAMP (SNDARC_BGM_BASE + 130)
+#define SEQ_WINGINGA (SNDARC_BGM_BASE + 131)
+#define SEQ_WINAKAGI (SNDARC_BGM_BASE + 132)
+#define SEQ_WINTENNO (SNDARC_BGM_BASE + 133)
+#define SEQ_BA_GINGA3 (SNDARC_BGM_BASE + 134)
+#define SEQ_CON_TEST (SNDARC_BGM_BASE + 135)
+#define SEQ_BA_TENNO (SNDARC_BGM_BASE + 136)
+#define SEQ_BA_TOWER (SNDARC_BGM_BASE + 137)
+#define SEQ_TSURETEKE (SNDARC_BGM_BASE + 138)
+#define SEQ_THE_RIV (SNDARC_BGM_BASE + 139)
+#define SEQ_THE_EVENT01 (SNDARC_BGM_BASE + 140)
+#define SEQ_SHINKA (SNDARC_BGM_BASE + 141)
+#define SEQ_THE_BOY (SNDARC_BGM_BASE + 142)
+#define SEQ_THE_GIRL (SNDARC_BGM_BASE + 143)
+#define SEQ_THE_EVENT02 (SNDARC_BGM_BASE + 144)
+#define SEQ_THE_EVENT03 (SNDARC_BGM_BASE + 145)
+#define SEQ_THE_EVENT05 (SNDARC_BGM_BASE + 146)
+#define SEQ_THE_AKAGI (SNDARC_BGM_BASE + 147)
+#define SEQ_EV_DENDO1 (SNDARC_BGM_BASE + 148)
+#define SEQ_EV_LEGEND (SNDARC_BGM_BASE + 149)
+#define SEQ_KUSAGASA (SNDARC_BGM_BASE + 150)
+#define SEQ_NAMINORI (SNDARC_BGM_BASE + 151)
+#define SEQ_BICYCLE (SNDARC_BGM_BASE + 152)
+#define SEQ_GONIN (SNDARC_BGM_BASE + 153)
+#define SEQ_TV_END (SNDARC_BGM_BASE + 154)
+#define SEQ_FANFA1 (SNDARC_BGM_BASE + 155)
+#define SEQ_FANFA5 (SNDARC_BGM_BASE + 156)
+#define SEQ_FANFA3 (SNDARC_BGM_BASE + 157)
+#define SEQ_FANFA4 (SNDARC_BGM_BASE + 158)
+#define SEQ_FANFA6 (SNDARC_BGM_BASE + 159)
+#define SEQ_FANFA2 (SNDARC_BGM_BASE + 160)
+#define SEQ_BADGE (SNDARC_BGM_BASE + 161)
+#define SEQ_POCKETCH (SNDARC_BGM_BASE + 162)
+#define SEQ_WAZA (SNDARC_BGM_BASE + 163)
+#define SEQ_ACCE (SNDARC_BGM_BASE + 164)
+#define SEQ_WASURE (SNDARC_BGM_BASE + 165)
+#define SEQ_ASA (SNDARC_BGM_BASE + 166)
+#define SEQ_KINOMI (SNDARC_BGM_BASE + 167)
+#define SEQ_REPORT (SNDARC_BGM_BASE + 168)
+#define SEQ_CO_DRESS (SNDARC_BGM_BASE + 169)
+#define SEQ_KOUKAN (SNDARC_BGM_BASE + 170)
+#define SEQ_BLD_EV_DENDO2 (SNDARC_BGM_BASE + 171)
+#define SEQ_TITLE00 (SNDARC_BGM_BASE + 172)
+#define SEQ_TITLE01 (SNDARC_BGM_BASE + 173)
+#define SEQ_PRESENT (SNDARC_BGM_BASE + 174)
+#define SEQ_WIFILOBBY (SNDARC_BGM_BASE + 175)
+#define SEQ_CO_KAWAI (SNDARC_BGM_BASE + 176)
+#define SEQ_CO_KASHI (SNDARC_BGM_BASE + 177)
+#define SEQ_CO_UTSUK (SNDARC_BGM_BASE + 178)
+#define SEQ_CO_TAKUMA (SNDARC_BGM_BASE + 179)
+#define SEQ_CO_KAKKO (SNDARC_BGM_BASE + 180)
+#define SEQ_CO_KEKKA (SNDARC_BGM_BASE + 181)
+#define SEQ_CO_FANFA (SNDARC_BGM_BASE + 182)
+#define SEQ_KINOMI1 (SNDARC_BGM_BASE + 183)
+#define SEQ_SLOT_ATARI (SNDARC_BGM_BASE + 184)
+#define SEQ_SLOT_OOATARI (SNDARC_BGM_BASE + 185)
+#define SEQ_BLD_ENDING (SNDARC_BGM_BASE + 186)
+#define SEQ_KINOMI2 (SNDARC_BGM_BASE + 187)
+#define SEQ_SLOT (SNDARC_BGM_BASE + 188)
+#define SEQ_AIF_FIELD (SNDARC_BGM_BASE + 189)
+#define SEQ_AIF_DUNGEON (SNDARC_BGM_BASE + 190)
+#define SEQ_AIF_BATTLE (SNDARC_BGM_BASE + 191)
+#define SEQ_BGM_END (SNDARC_BGM_BASE + 192)
+#define SEQ_SE_DP_SELECT (SNDARC_SE_BASE + 0)
+#define SEQ_SE_DP_DECIDE (SNDARC_SE_BASE + 1)
+#define SEQ_SE_DP_TALK2 (SNDARC_SE_BASE + 2)
+#define SEQ_SE_DP_SELECT11 (SNDARC_SE_BASE + 3)
+#define SEQ_SE_DP_SELECT78 (SNDARC_SE_BASE + 4)
+#define SEQ_SE_DP_SELECT5 (SNDARC_SE_BASE + 5)
+#define SEQ_SE_DP_PIRORIRO (SNDARC_SE_BASE + 6)
+#define SEQ_SE_DP_PIRORIRO2 (SNDARC_SE_BASE + 7)
+#define SEQ_SE_DP_BUTTON9 (SNDARC_SE_BASE + 8)
+#define SEQ_SE_DP_BUTTON3 (SNDARC_SE_BASE + 9)
+#define SEQ_SE_DP_KON (SNDARC_SE_BASE + 10)
+#define SEQ_SE_DP_KON2 (SNDARC_SE_BASE + 11)
+#define SEQ_SE_DP_KON3 (SNDARC_SE_BASE + 12)
+#define SEQ_SE_DP_KON4 (SNDARC_SE_BASE + 13)
+#define SEQ_SE_DP_BOX01 (SNDARC_SE_BASE + 14)
+#define SEQ_SE_DP_BOX02 (SNDARC_SE_BASE + 15)
+#define SEQ_SE_DP_KAIFUKU (SNDARC_SE_BASE + 16)
+#define SEQ_SE_DP_ZUKAN02 (SNDARC_SE_BASE + 17)
+#define SEQ_SE_DP_OPEN2 (SNDARC_SE_BASE + 18)
+#define SEQ_SE_DP_CLOSE2 (SNDARC_SE_BASE + 19)
+#define SEQ_SE_DP_025 (SNDARC_SE_BASE + 20)
+#define SEQ_SE_DP_PINPON (SNDARC_SE_BASE + 21)
+#define SEQ_SE_DP_CUSTOM06 (SNDARC_SE_BASE + 22)
+#define SEQ_SE_DP_BOX03 (SNDARC_SE_BASE + 23)
+#define SEQ_SE_DP_START (SNDARC_SE_BASE + 24)
+#define SEQ_SE_DP_SELECT_SLOT (SNDARC_SE_BASE + 25)
+#define SEQ_SE_DP_CARD10 (SNDARC_SE_BASE + 26)
+#define SEQ_SE_DP_KATI (SNDARC_SE_BASE + 27)
+#define SEQ_SE_DP_CON_014 (SNDARC_SE_BASE + 28)
+#define SEQ_SE_DP_W025 (SNDARC_SE_BASE + 29)
+#define SEQ_SE_DP_W060C (SNDARC_SE_BASE + 30)
+#define SEQ_SE_DP_W062 (SNDARC_SE_BASE + 31)
+#define SEQ_SE_DP_W080 (SNDARC_SE_BASE + 32)
+#define SEQ_SE_DP_WIN_OPEN (SNDARC_SE_BASE + 33)
+#define SEQ_SE_DP_BOWA (SNDARC_SE_BASE + 34)
+#define SEQ_SE_DP_Z_SEARCH (SNDARC_SE_BASE + 35)
+#define SEQ_SE_DP_CARD2 (SNDARC_SE_BASE + 36)
+#define SEQ_SE_DP_WALL_HIT (SNDARC_SE_BASE + 37)
+#define SEQ_SE_DP_WALL_HIT2 (SNDARC_SE_BASE + 38)
+#define SEQ_SE_DP_KAIDAN2 (SNDARC_SE_BASE + 39)
+#define SEQ_SE_DP_DOOR (SNDARC_SE_BASE + 40)
+#define SEQ_SE_DP_DOOR_OPEN (SNDARC_SE_BASE + 41)
+#define SEQ_SE_DP_DOOR_CLOSE (SNDARC_SE_BASE + 42)
+#define SEQ_SE_DP_DOOR_CLOSE2 (SNDARC_SE_BASE + 43)
+#define SEQ_SE_DP_DOOR10 (SNDARC_SE_BASE + 44)
+#define SEQ_SE_DP_WIN_OPEN2 (SNDARC_SE_BASE + 45)
+#define SEQ_SE_DP_WIN_OPEN3 (SNDARC_SE_BASE + 46)
+#define SEQ_SE_DP_DANSA (SNDARC_SE_BASE + 47)
+#define SEQ_SE_DP_PC_ON (SNDARC_SE_BASE + 48)
+#define SEQ_SE_DP_PC_LOGIN (SNDARC_SE_BASE + 49)
+#define SEQ_SE_DP_PC_LOGOFF (SNDARC_SE_BASE + 50)
+#define SEQ_SE_DP_DENDOU (SNDARC_SE_BASE + 51)
+#define SEQ_SE_DP_DOKU2 (SNDARC_SE_BASE + 52)
+#define SEQ_SE_DP_ELEBETA (SNDARC_SE_BASE + 53)
+#define SEQ_SE_DP_ELEBETA2 (SNDARC_SE_BASE + 54)
+#define SEQ_SE_DP_ELEBETA3 (SNDARC_SE_BASE + 55)
+#define SEQ_SE_DP_ELEBETA4 (SNDARC_SE_BASE + 56)
+#define SEQ_SE_DP_ESUKA (SNDARC_SE_BASE + 57)
+#define SEQ_SE_DP_TV_NOISE (SNDARC_SE_BASE + 58)
+#define SEQ_SE_DP_JIHANKI (SNDARC_SE_BASE + 59)
+#define SEQ_SE_DP_JITENSYA (SNDARC_SE_BASE + 60)
+#define SEQ_SE_DP_GEAR (SNDARC_SE_BASE + 61)
+#define SEQ_SE_DP_KI_GASYAN (SNDARC_SE_BASE + 62)
+#define SEQ_SE_DP_SAVE (SNDARC_SE_BASE + 63)
+#define SEQ_SE_DP_GEAR2 (SNDARC_SE_BASE + 64)
+#define SEQ_SE_DP_SELECT8 (SNDARC_SE_BASE + 65)
+#define SEQ_SE_DP_DORIRU (SNDARC_SE_BASE + 66)
+#define SEQ_SE_DP_YUKIASHI (SNDARC_SE_BASE + 67)
+#define SEQ_SE_DP_UG_005 (SNDARC_SE_BASE + 68)
+#define SEQ_SE_DP_UG_006 (SNDARC_SE_BASE + 69)
+#define SEQ_SE_DP_UG_007 (SNDARC_SE_BASE + 70)
+#define SEQ_SE_DP_UG_008 (SNDARC_SE_BASE + 71)
+#define SEQ_SE_DP_UG_020 (SNDARC_SE_BASE + 72)
+#define SEQ_SE_DP_UG_021 (SNDARC_SE_BASE + 73)
+#define SEQ_SE_DP_UG_022 (SNDARC_SE_BASE + 74)
+#define SEQ_SE_DP_UG_023 (SNDARC_SE_BASE + 75)
+#define SEQ_SE_DP_UG_024 (SNDARC_SE_BASE + 76)
+#define SEQ_SE_DP_UG_025 (SNDARC_SE_BASE + 77)
+#define SEQ_SE_DP_UG_026 (SNDARC_SE_BASE + 78)
+#define SEQ_SE_DP_UG_027 (SNDARC_SE_BASE + 79)
+#define SEQ_SE_DP_DENSI15 (SNDARC_SE_BASE + 80)
+#define SEQ_SE_DP_DENSI16 (SNDARC_SE_BASE + 81)
+#define SEQ_SE_DP_DENSI20 (SNDARC_SE_BASE + 82)
+#define SEQ_SE_DP_PYUU (SNDARC_SE_BASE + 83)
+#define SEQ_SE_DP_PYUU2 (SNDARC_SE_BASE + 84)
+#define SEQ_SE_DP_SUTYA (SNDARC_SE_BASE + 85)
+#define SEQ_SE_DP_GYURU (SNDARC_SE_BASE + 86)
+#define SEQ_SE_DP_OPEN7 (SNDARC_SE_BASE + 87)
+#define SEQ_SE_DP_CLOSE7 (SNDARC_SE_BASE + 88)
+#define SEQ_SE_DP_ZIZIZI (SNDARC_SE_BASE + 89)
+#define SEQ_SE_DP_MAZYO2 (SNDARC_SE_BASE + 90)
+#define SEQ_SE_DP_MAZYO4 (SNDARC_SE_BASE + 91)
+#define SEQ_SE_DP_BAG_004 (SNDARC_SE_BASE + 92)
+#define SEQ_SE_DP_T_AME (SNDARC_SE_BASE + 93)
+#define SEQ_SE_DP_T_KOAME (SNDARC_SE_BASE + 94)
+#define SEQ_SE_DP_T_OOAME (SNDARC_SE_BASE + 95)
+#define SEQ_SE_DP_T_KAMI (SNDARC_SE_BASE + 96)
+#define SEQ_SE_DP_T_KAMI2 (SNDARC_SE_BASE + 97)
+#define SEQ_SE_DP_HAMARU (SNDARC_SE_BASE + 98)
+#define SEQ_SE_DP_GAGAGA (SNDARC_SE_BASE + 99)
+#define SEQ_SE_DP_F017 (SNDARC_SE_BASE + 100)
+#define SEQ_SE_DP_FOOT3_0 (SNDARC_SE_BASE + 101)
+#define SEQ_SE_DP_FOOT3_1 (SNDARC_SE_BASE + 102)
+#define SEQ_SE_DP_CON_016 (SNDARC_SE_BASE + 103)
+#define SEQ_SE_DP_REGI (SNDARC_SE_BASE + 104)
+#define SEQ_SE_DP_CON_F007 (SNDARC_SE_BASE + 105)
+#define SEQ_SE_DP_CON_015 (SNDARC_SE_BASE + 106)
+#define SEQ_SE_DP_SUTYA2 (SNDARC_SE_BASE + 107)
+#define SEQ_SE_DP_FW230 (SNDARC_SE_BASE + 108)
+#define SEQ_SE_DP_FW019 (SNDARC_SE_BASE + 109)
+#define SEQ_SE_DP_FW088 (SNDARC_SE_BASE + 110)
+#define SEQ_SE_DP_FW015 (SNDARC_SE_BASE + 111)
+#define SEQ_SE_DP_FBRADE (SNDARC_SE_BASE + 112)
+#define SEQ_SE_DP_FW463 (SNDARC_SE_BASE + 113)
+#define SEQ_SE_DP_TELE (SNDARC_SE_BASE + 114)
+#define SEQ_SE_DP_TELE2 (SNDARC_SE_BASE + 115)
+#define SEQ_SE_DP_FW104 (SNDARC_SE_BASE + 116)
+#define SEQ_SE_DP_ZUPO (SNDARC_SE_BASE + 117)
+#define SEQ_SE_DP_ZUPO2 (SNDARC_SE_BASE + 118)
+#define SEQ_SE_DP_KUSA (SNDARC_SE_BASE + 119)
+#define SEQ_SE_DP_SUNA (SNDARC_SE_BASE + 120)
+#define SEQ_SE_DP_MARSH_WALK (SNDARC_SE_BASE + 121)
+#define SEQ_SE_DP_DANSA4 (SNDARC_SE_BASE + 122)
+#define SEQ_SE_DP_DANSA5 (SNDARC_SE_BASE + 123)
+#define SEQ_SE_DP_F209 (SNDARC_SE_BASE + 124)
+#define SEQ_SE_DP_SUBERU (SNDARC_SE_BASE + 125)
+#define SEQ_SE_DP_FW056 (SNDARC_SE_BASE + 126)
+#define SEQ_SE_DP_FW291 (SNDARC_SE_BASE + 127)
+#define SEQ_SE_DP_FW089 (SNDARC_SE_BASE + 128)
+#define SEQ_SE_DP_FW452 (SNDARC_SE_BASE + 129)
+#define SEQ_SE_DP_FW466 (SNDARC_SE_BASE + 130)
+#define SEQ_SE_DP_F007 (SNDARC_SE_BASE + 131)
+#define SEQ_SE_DP_FAWA (SNDARC_SE_BASE + 132)
+#define SEQ_SE_DP_FPASA2 (SNDARC_SE_BASE + 133)
+#define SEQ_SE_DP_FW367 (SNDARC_SE_BASE + 134)
+#define SEQ_SE_DP_POKETCH_003 (SNDARC_SE_BASE + 135)
+#define SEQ_SE_DP_POKETCH_004 (SNDARC_SE_BASE + 136)
+#define SEQ_SE_DP_POKETCH_005 (SNDARC_SE_BASE + 137)
+#define SEQ_SE_DP_POKETCH_006 (SNDARC_SE_BASE + 138)
+#define SEQ_SE_DP_POKETCH_007 (SNDARC_SE_BASE + 139)
+#define SEQ_SE_DP_POKETCH_009 (SNDARC_SE_BASE + 140)
+#define SEQ_SE_DP_POKETCH_010 (SNDARC_SE_BASE + 141)
+#define SEQ_SE_DP_POKETCH_011 (SNDARC_SE_BASE + 142)
+#define SEQ_SE_DP_POKETCH_012 (SNDARC_SE_BASE + 143)
+#define SEQ_SE_DP_POKETCH_013 (SNDARC_SE_BASE + 144)
+#define SEQ_SE_DP_POKETCH_014 (SNDARC_SE_BASE + 145)
+#define SEQ_SE_DP_BEEP (SNDARC_SE_BASE + 146)
+#define SEQ_SE_DP_DENSI01 (SNDARC_SE_BASE + 147)
+#define SEQ_SE_DP_DENSI02 (SNDARC_SE_BASE + 148)
+#define SEQ_SE_DP_DENSI04 (SNDARC_SE_BASE + 149)
+#define SEQ_SE_DP_DENSI05 (SNDARC_SE_BASE + 150)
+#define SEQ_SE_DP_DENSI07 (SNDARC_SE_BASE + 151)
+#define SEQ_SE_DP_DENSI08 (SNDARC_SE_BASE + 152)
+#define SEQ_SE_DP_DENSI09 (SNDARC_SE_BASE + 153)
+#define SEQ_SE_DP_DENSI10 (SNDARC_SE_BASE + 154)
+#define SEQ_SE_DP_DENSI11 (SNDARC_SE_BASE + 155)
+#define SEQ_SE_DP_DENSI12 (SNDARC_SE_BASE + 156)
+#define SEQ_SE_DP_KASYA (SNDARC_SE_BASE + 157)
+#define SEQ_SE_DP_PASO2 (SNDARC_SE_BASE + 158)
+#define SEQ_SE_DP_TATA (SNDARC_SE_BASE + 159)
+#define SEQ_SE_DP_UP (SNDARC_SE_BASE + 160)
+#define SEQ_SE_DP_PASO (SNDARC_SE_BASE + 161)
+#define SEQ_SE_DP_SYARAAN (SNDARC_SE_BASE + 162)
+#define SEQ_SE_DP_TARARARAN (SNDARC_SE_BASE + 163)
+#define SEQ_SE_DP_MAZYO (SNDARC_SE_BASE + 164)
+#define SEQ_SE_DP_MAZYO3 (SNDARC_SE_BASE + 165)
+#define SEQ_SE_DP_HYUN (SNDARC_SE_BASE + 166)
+#define SEQ_SE_DP_HYUN2 (SNDARC_SE_BASE + 167)
+#define SEQ_SE_DP_CON_017 (SNDARC_SE_BASE + 168)
+#define SEQ_SE_DP_BUTTON01 (SNDARC_SE_BASE + 169)
+#define SEQ_SE_DP_Z_PAGE (SNDARC_SE_BASE + 170)
+#define SEQ_SE_DP_JOURO (SNDARC_SE_BASE + 171)
+#define SEQ_SE_DP_PIKO (SNDARC_SE_BASE + 172)
+#define SEQ_SE_DP_PIKO2 (SNDARC_SE_BASE + 173)
+#define SEQ_SE_DP_ZUKAN01 (SNDARC_SE_BASE + 174)
+#define SEQ_SE_DP_DENSI06 (SNDARC_SE_BASE + 175)
+#define SEQ_SE_DP_DENSI17 (SNDARC_SE_BASE + 176)
+#define SEQ_SE_DP_DENSI18 (SNDARC_SE_BASE + 177)
+#define SEQ_SE_DP_DENSI19 (SNDARC_SE_BASE + 178)
+#define SEQ_SE_DP_MEKURU (SNDARC_SE_BASE + 179)
+#define SEQ_SE_DP_MEKURU2 (SNDARC_SE_BASE + 180)
+#define SEQ_SE_DP_MEKURU3 (SNDARC_SE_BASE + 181)
+#define SEQ_SE_DP_MIGAKU01 (SNDARC_SE_BASE + 182)
+#define SEQ_SE_DP_MIGAKU02 (SNDARC_SE_BASE + 183)
+#define SEQ_SE_DP_BADGE_C (SNDARC_SE_BASE + 184)
+#define SEQ_SE_DP_CARD3 (SNDARC_SE_BASE + 185)
+#define SEQ_SE_DP_CARD5 (SNDARC_SE_BASE + 186)
+#define SEQ_SE_DP_CARD6 (SNDARC_SE_BASE + 187)
+#define SEQ_SE_DP_CARD9 (SNDARC_SE_BASE + 188)
+#define SEQ_SE_DP_CARD11 (SNDARC_SE_BASE + 189)
+#define SEQ_SE_DP_KYU01 (SNDARC_SE_BASE + 190)
+#define SEQ_SE_DP_NAMEIN_01 (SNDARC_SE_BASE + 191)
+#define SEQ_SE_DP_SYU01 (SNDARC_SE_BASE + 192)
+#define SEQ_SE_DP_SYU02 (SNDARC_SE_BASE + 193)
+#define SEQ_SE_DP_SYU03 (SNDARC_SE_BASE + 194)
+#define SEQ_SE_DP_DECIDE2 (SNDARC_SE_BASE + 195)
+#define SEQ_SE_DP_POKELIST_001 (SNDARC_SE_BASE + 196)
+#define SEQ_SE_DP_UG_001 (SNDARC_SE_BASE + 197)
+#define SEQ_SE_DP_UG_002 (SNDARC_SE_BASE + 198)
+#define SEQ_SE_DP_UG_003 (SNDARC_SE_BASE + 199)
+#define SEQ_SE_DP_UG_004 (SNDARC_SE_BASE + 200)
+#define SEQ_SE_DP_KIRAKIRA3 (SNDARC_SE_BASE + 201)
+#define SEQ_SE_DP_KIRAKIRA (SNDARC_SE_BASE + 202)
+#define SEQ_SE_DP_KIRAKIRA4 (SNDARC_SE_BASE + 203)
+#define SEQ_SE_DP_KOUKAN01 (SNDARC_SE_BASE + 204)
+#define SEQ_SE_DP_KOUKAN03 (SNDARC_SE_BASE + 205)
+#define SEQ_SE_DP_KOUKAN04 (SNDARC_SE_BASE + 206)
+#define SEQ_SE_DP_KOUKAN05 (SNDARC_SE_BASE + 207)
+#define SEQ_SE_DP_KOUKAN06 (SNDARC_SE_BASE + 208)
+#define SEQ_SE_DP_KOUKAN07 (SNDARC_SE_BASE + 209)
+#define SEQ_SE_DP_KOUKAN08 (SNDARC_SE_BASE + 210)
+#define SEQ_SE_DP_KOUKAN09 (SNDARC_SE_BASE + 211)
+#define SEQ_SE_DP_KOUKAN10 (SNDARC_SE_BASE + 212)
+#define SEQ_SE_DP_NM01 (SNDARC_SE_BASE + 213)
+#define SEQ_SE_DP_NM02 (SNDARC_SE_BASE + 214)
+#define SEQ_SE_DP_NM03 (SNDARC_SE_BASE + 215)
+#define SEQ_SE_DP_NM03_2 (SNDARC_SE_BASE + 216)
+#define SEQ_SE_DP_NM04 (SNDARC_SE_BASE + 217)
+#define SEQ_SE_DP_NM04_2 (SNDARC_SE_BASE + 218)
+#define SEQ_SE_DP_NM04_3 (SNDARC_SE_BASE + 219)
+#define SEQ_SE_DP_NM05 (SNDARC_SE_BASE + 220)
+#define SEQ_SE_DP_NM07 (SNDARC_SE_BASE + 221)
+#define SEQ_SE_DP_NM07_2 (SNDARC_SE_BASE + 222)
+#define SEQ_SE_DP_NM08 (SNDARC_SE_BASE + 223)
+#define SEQ_SE_DP_NM09 (SNDARC_SE_BASE + 224)
+#define SEQ_SE_DP_NM10 (SNDARC_SE_BASE + 225)
+#define SEQ_SE_DP_NM10_2 (SNDARC_SE_BASE + 226)
+#define SEQ_SE_DP_NM11 (SNDARC_SE_BASE + 227)
+#define SEQ_SE_DP_NM12 (SNDARC_SE_BASE + 228)
+#define SEQ_SE_DP_NM12_2 (SNDARC_SE_BASE + 229)
+#define SEQ_SE_DP_NM13 (SNDARC_SE_BASE + 230)
+#define SEQ_SE_DP_NM14 (SNDARC_SE_BASE + 231)
+#define SEQ_SE_DP_CUSTOM01 (SNDARC_SE_BASE + 232)
+#define SEQ_SE_DP_CUSTOM02 (SNDARC_SE_BASE + 233)
+#define SEQ_SE_DP_CUSTOM05 (SNDARC_SE_BASE + 234)
+#define SEQ_SE_DP_BAG_006 (SNDARC_SE_BASE + 235)
+#define SEQ_SE_DP_BAG_011 (SNDARC_SE_BASE + 236)
+#define SEQ_SE_DP_BAG_020 (SNDARC_SE_BASE + 237)
+#define SEQ_SE_DP_BAG_030 (SNDARC_SE_BASE + 238)
+#define SEQ_SE_DP_BAG_031 (SNDARC_SE_BASE + 239)
+#define SEQ_SE_DP_GASA01 (SNDARC_SE_BASE + 240)
+#define SEQ_SE_DP_GASA02 (SNDARC_SE_BASE + 241)
+#define SEQ_SE_DP_GASA03 (SNDARC_SE_BASE + 242)
+#define SEQ_SE_DP_CARD7 (SNDARC_SE_BASE + 243)
+#define SEQ_SE_DP_SLOT01 (SNDARC_SE_BASE + 244)
+#define SEQ_SE_DP_SLOT02 (SNDARC_SE_BASE + 245)
+#define SEQ_SE_DP_CLIMAX01 (SNDARC_SE_BASE + 246)
+#define SEQ_SE_DP_CLIMAX03 (SNDARC_SE_BASE + 247)
+#define SEQ_SE_DP_CLIMAX06 (SNDARC_SE_BASE + 248)
+#define SEQ_SE_DP_CLIMAX09 (SNDARC_SE_BASE + 249)
+#define SEQ_SE_DP_CLIMAX10 (SNDARC_SE_BASE + 250)
+#define SEQ_SE_DP_CLIMAX12 (SNDARC_SE_BASE + 251)
+#define SEQ_SE_DP_CLIMAX15 (SNDARC_SE_BASE + 252)
+#define SEQ_SE_DP_TRAIN02 (SNDARC_SE_BASE + 253)
+#define SEQ_SE_DP_TRAIN03 (SNDARC_SE_BASE + 254)
+#define SEQ_SE_DP_TRAIN04 (SNDARC_SE_BASE + 255)
+#define SEQ_SE_DP_SHIP01 (SNDARC_SE_BASE + 256)
+#define SEQ_SE_DP_SHIP02 (SNDARC_SE_BASE + 257)
+#define SEQ_SE_DP_SHIP03 (SNDARC_SE_BASE + 258)
+#define SEQ_SE_DP_CON_001 (SNDARC_SE_BASE + 259)
+#define SEQ_SE_DP_CON_002 (SNDARC_SE_BASE + 260)
+#define SEQ_SE_DP_CON_003 (SNDARC_SE_BASE + 261)
+#define SEQ_SE_DP_CON_004 (SNDARC_SE_BASE + 262)
+#define SEQ_SE_DP_CON_005 (SNDARC_SE_BASE + 263)
+#define SEQ_SE_DP_CON_006 (SNDARC_SE_BASE + 264)
+#define SEQ_SE_DP_CON_007 (SNDARC_SE_BASE + 265)
+#define SEQ_SE_DP_CON_009 (SNDARC_SE_BASE + 266)
+#define SEQ_SE_DP_CON_010 (SNDARC_SE_BASE + 267)
+#define SEQ_SE_DP_CON_011 (SNDARC_SE_BASE + 268)
+#define SEQ_SE_DP_CON_012 (SNDARC_SE_BASE + 269)
+#define SEQ_SE_DP_CON_013 (SNDARC_SE_BASE + 270)
+#define SEQ_SE_DP_CON_018 (SNDARC_SE_BASE + 271)
+#define SEQ_SE_DP_CON_019 (SNDARC_SE_BASE + 272)
+#define SEQ_SE_DP_CON_020 (SNDARC_SE_BASE + 273)
+#define SEQ_SE_DP_CON_021 (SNDARC_SE_BASE + 274)
+#define SEQ_SE_DP_CON_022 (SNDARC_SE_BASE + 275)
+#define SEQ_SE_DP_CON_023 (SNDARC_SE_BASE + 276)
+#define SEQ_SE_DP_CON_024 (SNDARC_SE_BASE + 277)
+#define SEQ_SE_DP_CON_026 (SNDARC_SE_BASE + 278)
+#define SEQ_SE_DP_CON_027_2 (SNDARC_SE_BASE + 279)
+#define SEQ_SE_DP_CON_027_3 (SNDARC_SE_BASE + 280)
+#define SEQ_SE_DP_CON_028 (SNDARC_SE_BASE + 281)
+#define SEQ_SE_DP_CON_029 (SNDARC_SE_BASE + 282)
+#define SEQ_SE_DP_CON_030 (SNDARC_SE_BASE + 283)
+#define SEQ_SE_DP_CON_031 (SNDARC_SE_BASE + 284)
+#define SEQ_SE_DP_CON_032 (SNDARC_SE_BASE + 285)
+#define SEQ_SE_DP_CON_033 (SNDARC_SE_BASE + 286)
+#define SEQ_SE_DP_CON_034 (SNDARC_SE_BASE + 287)
+#define SEQ_SE_DP_KOUKA_H (SNDARC_SE_BASE + 288)
+#define SEQ_SE_DP_KOUKA_L (SNDARC_SE_BASE + 289)
+#define SEQ_SE_DP_KOUKA_M (SNDARC_SE_BASE + 290)
+#define SEQ_SE_DP_NIGERU2 (SNDARC_SE_BASE + 291)
+#define SEQ_SE_DP_NIGERU (SNDARC_SE_BASE + 292)
+#define SEQ_SE_DP_POKE_DEAD (SNDARC_SE_BASE + 293)
+#define SEQ_SE_DP_POKE_DEAD2 (SNDARC_SE_BASE + 294)
+#define SEQ_SE_DP_POKE_DEAD3 (SNDARC_SE_BASE + 295)
+#define SEQ_SE_DP_HINSI (SNDARC_SE_BASE + 296)
+#define SEQ_SE_DP_SUIKOMU (SNDARC_SE_BASE + 297)
+#define SEQ_SE_DP_BOWA2 (SNDARC_SE_BASE + 298)
+#define SEQ_SE_DP_BOWA3 (SNDARC_SE_BASE + 299)
+#define SEQ_SE_DP_BOWA4 (SNDARC_SE_BASE + 300)
+#define SEQ_SE_DP_GETTING (SNDARC_SE_BASE + 301)
+#define SEQ_SE_DP_NAGERU (SNDARC_SE_BASE + 302)
+#define SEQ_SE_DP_EXP (SNDARC_SE_BASE + 303)
+#define SEQ_SE_DP_EXPMAX (SNDARC_SE_BASE + 304)
+#define SEQ_SE_DP_EXPMAX2 (SNDARC_SE_BASE + 305)
+#define SEQ_SE_DP_SLIDEIN (SNDARC_SE_BASE + 306)
+#define SEQ_SE_DP_BT_001 (SNDARC_SE_BASE + 307)
+#define SEQ_SE_DP_REAPOKE (SNDARC_SE_BASE + 308)
+#define SEQ_SE_DP_TB_START (SNDARC_SE_BASE + 309)
+#define SEQ_SE_DP_TB_KON (SNDARC_SE_BASE + 310)
+#define SEQ_SE_DP_TB_KARA (SNDARC_SE_BASE + 311)
+#define SEQ_SE_DP_EGG01 (SNDARC_SE_BASE + 312)
+#define SEQ_SE_DP_VSDEMO01 (SNDARC_SE_BASE + 313)
+#define SEQ_SE_DP_VSDEMO02 (SNDARC_SE_BASE + 314)
+#define SEQ_SE_DP_VSDEMO03 (SNDARC_SE_BASE + 315)
+#define SEQ_SE_DP_VSDEMO04 (SNDARC_SE_BASE + 316)
+#define SEQ_SE_DP_VSDEMO05 (SNDARC_SE_BASE + 317)
+#define SEQ_SE_DP_VSDEMO06 (SNDARC_SE_BASE + 318)
+#define SEQ_SE_DP_VSDEMO07 (SNDARC_SE_BASE + 319)
+#define SEQ_SE_DP_000 (SNDARC_SE_BASE + 320)
+#define SEQ_SE_DP_001 (SNDARC_SE_BASE + 321)
+#define SEQ_SE_DP_003 (SNDARC_SE_BASE + 322)
+#define SEQ_SE_DP_007 (SNDARC_SE_BASE + 323)
+#define SEQ_SE_DP_020 (SNDARC_SE_BASE + 324)
+#define SEQ_SE_DP_021 (SNDARC_SE_BASE + 325)
+#define SEQ_SE_DP_023 (SNDARC_SE_BASE + 326)
+#define SEQ_SE_DP_030 (SNDARC_SE_BASE + 327)
+#define SEQ_SE_DP_030C (SNDARC_SE_BASE + 328)
+#define SEQ_SE_DP_031 (SNDARC_SE_BASE + 329)
+#define SEQ_SE_DP_032 (SNDARC_SE_BASE + 330)
+#define SEQ_SE_DP_040 (SNDARC_SE_BASE + 331)
+#define SEQ_SE_DP_041 (SNDARC_SE_BASE + 332)
+#define SEQ_SE_DP_050 (SNDARC_SE_BASE + 333)
+#define SEQ_SE_DP_051 (SNDARC_SE_BASE + 334)
+#define SEQ_SE_DP_052 (SNDARC_SE_BASE + 335)
+#define SEQ_SE_DP_053 (SNDARC_SE_BASE + 336)
+#define SEQ_SE_DP_060 (SNDARC_SE_BASE + 337)
+#define SEQ_SE_DP_061 (SNDARC_SE_BASE + 338)
+#define SEQ_SE_DP_080 (SNDARC_SE_BASE + 339)
+#define SEQ_SE_DP_081 (SNDARC_SE_BASE + 340)
+#define SEQ_SE_DP_100 (SNDARC_SE_BASE + 341)
+#define SEQ_SE_DP_110 (SNDARC_SE_BASE + 342)
+#define SEQ_SE_DP_111 (SNDARC_SE_BASE + 343)
+#define SEQ_SE_DP_112 (SNDARC_SE_BASE + 344)
+#define SEQ_SE_DP_130 (SNDARC_SE_BASE + 345)
+#define SEQ_SE_DP_131 (SNDARC_SE_BASE + 346)
+#define SEQ_SE_DP_140 (SNDARC_SE_BASE + 347)
+#define SEQ_SE_DP_141 (SNDARC_SE_BASE + 348)
+#define SEQ_SE_DP_143 (SNDARC_SE_BASE + 349)
+#define SEQ_SE_DP_145 (SNDARC_SE_BASE + 350)
+#define SEQ_SE_DP_146 (SNDARC_SE_BASE + 351)
+#define SEQ_SE_DP_150 (SNDARC_SE_BASE + 352)
+#define SEQ_SE_DP_151 (SNDARC_SE_BASE + 353)
+#define SEQ_SE_DP_152 (SNDARC_SE_BASE + 354)
+#define SEQ_SE_DP_153 (SNDARC_SE_BASE + 355)
+#define SEQ_SE_DP_154 (SNDARC_SE_BASE + 356)
+#define SEQ_SE_DP_155 (SNDARC_SE_BASE + 357)
+#define SEQ_SE_DP_160 (SNDARC_SE_BASE + 358)
+#define SEQ_SE_DP_161 (SNDARC_SE_BASE + 359)
+#define SEQ_SE_DP_162 (SNDARC_SE_BASE + 360)
+#define SEQ_SE_DP_163 (SNDARC_SE_BASE + 361)
+#define SEQ_SE_DP_164 (SNDARC_SE_BASE + 362)
+#define SEQ_SE_DP_165 (SNDARC_SE_BASE + 363)
+#define SEQ_SE_DP_166 (SNDARC_SE_BASE + 364)
+#define SEQ_SE_DP_170 (SNDARC_SE_BASE + 365)
+#define SEQ_SE_DP_171 (SNDARC_SE_BASE + 366)
+#define SEQ_SE_DP_172 (SNDARC_SE_BASE + 367)
+#define SEQ_SE_DP_180 (SNDARC_SE_BASE + 368)
+#define SEQ_SE_DP_181 (SNDARC_SE_BASE + 369)
+#define SEQ_SE_DP_182 (SNDARC_SE_BASE + 370)
+#define SEQ_SE_DP_183 (SNDARC_SE_BASE + 371)
+#define SEQ_SE_DP_184 (SNDARC_SE_BASE + 372)
+#define SEQ_SE_DP_185 (SNDARC_SE_BASE + 373)
+#define SEQ_SE_DP_186 (SNDARC_SE_BASE + 374)
+#define SEQ_SE_DP_187 (SNDARC_SE_BASE + 375)
+#define SEQ_SE_DP_200 (SNDARC_SE_BASE + 376)
+#define SEQ_SE_DP_201 (SNDARC_SE_BASE + 377)
+#define SEQ_SE_DP_202 (SNDARC_SE_BASE + 378)
+#define SEQ_SE_DP_203 (SNDARC_SE_BASE + 379)
+#define SEQ_SE_DP_204 (SNDARC_SE_BASE + 380)
+#define SEQ_SE_DP_205 (SNDARC_SE_BASE + 381)
+#define SEQ_SE_DP_206 (SNDARC_SE_BASE + 382)
+#define SEQ_SE_DP_207 (SNDARC_SE_BASE + 383)
+#define SEQ_SE_DP_208 (SNDARC_SE_BASE + 384)
+#define SEQ_SE_DP_209 (SNDARC_SE_BASE + 385)
+#define SEQ_SE_DP_210 (SNDARC_SE_BASE + 386)
+#define SEQ_SE_DP_211 (SNDARC_SE_BASE + 387)
+#define SEQ_SE_DP_212 (SNDARC_SE_BASE + 388)
+#define SEQ_SE_DP_213 (SNDARC_SE_BASE + 389)
+#define SEQ_SE_DP_214 (SNDARC_SE_BASE + 390)
+#define SEQ_SE_DP_280 (SNDARC_SE_BASE + 391)
+#define SEQ_SE_DP_281 (SNDARC_SE_BASE + 392)
+#define SEQ_SE_DP_282 (SNDARC_SE_BASE + 393)
+#define SEQ_SE_DP_290 (SNDARC_SE_BASE + 394)
+#define SEQ_SE_DP_291 (SNDARC_SE_BASE + 395)
+#define SEQ_SE_DP_293 (SNDARC_SE_BASE + 396)
+#define SEQ_SE_DP_300 (SNDARC_SE_BASE + 397)
+#define SEQ_SE_DP_350 (SNDARC_SE_BASE + 398)
+#define SEQ_SE_DP_351 (SNDARC_SE_BASE + 399)
+#define SEQ_SE_DP_400 (SNDARC_SE_BASE + 400)
+#define SEQ_SE_DP_401 (SNDARC_SE_BASE + 401)
+#define SEQ_SE_DP_402 (SNDARC_SE_BASE + 402)
+#define SEQ_SE_DP_480 (SNDARC_SE_BASE + 403)
+#define SEQ_SE_DP_W003 (SNDARC_SE_BASE + 404)
+#define SEQ_SE_DP_W004 (SNDARC_SE_BASE + 405)
+#define SEQ_SE_DP_W006 (SNDARC_SE_BASE + 406)
+#define SEQ_SE_DP_W007 (SNDARC_SE_BASE + 407)
+#define SEQ_SE_DP_W010 (SNDARC_SE_BASE + 408)
+#define SEQ_SE_DP_W011 (SNDARC_SE_BASE + 409)
+#define SEQ_SE_DP_W013 (SNDARC_SE_BASE + 410)
+#define SEQ_SE_DP_W013B (SNDARC_SE_BASE + 411)
+#define SEQ_SE_DP_W014 (SNDARC_SE_BASE + 412)
+#define SEQ_SE_DP_W015 (SNDARC_SE_BASE + 413)
+#define SEQ_SE_DP_W016 (SNDARC_SE_BASE + 414)
+#define SEQ_SE_DP_W016B (SNDARC_SE_BASE + 415)
+#define SEQ_SE_DP_W017 (SNDARC_SE_BASE + 416)
+#define SEQ_SE_DP_W019 (SNDARC_SE_BASE + 417)
+#define SEQ_SE_DP_W020 (SNDARC_SE_BASE + 418)
+#define SEQ_SE_DP_W020B (SNDARC_SE_BASE + 419)
+#define SEQ_SE_DP_W025B (SNDARC_SE_BASE + 420)
+#define SEQ_SE_DP_W025C (SNDARC_SE_BASE + 421)
+#define SEQ_SE_DP_W026 (SNDARC_SE_BASE + 422)
+#define SEQ_SE_DP_W028 (SNDARC_SE_BASE + 423)
+#define SEQ_SE_DP_W028B (SNDARC_SE_BASE + 424)
+#define SEQ_SE_DP_W029 (SNDARC_SE_BASE + 425)
+#define SEQ_SE_DP_W030 (SNDARC_SE_BASE + 426)
+#define SEQ_SE_DP_W036 (SNDARC_SE_BASE + 427)
+#define SEQ_SE_DP_W039 (SNDARC_SE_BASE + 428)
+#define SEQ_SE_DP_W040 (SNDARC_SE_BASE + 429)
+#define SEQ_SE_DP_W043 (SNDARC_SE_BASE + 430)
+#define SEQ_SE_DP_W043B (SNDARC_SE_BASE + 431)
+#define SEQ_SE_DP_W043C (SNDARC_SE_BASE + 432)
+#define SEQ_SE_DP_W043D (SNDARC_SE_BASE + 433)
+#define SEQ_SE_DP_W044 (SNDARC_SE_BASE + 434)
+#define SEQ_SE_DP_W047 (SNDARC_SE_BASE + 435)
+#define SEQ_SE_DP_W048 (SNDARC_SE_BASE + 436)
+#define SEQ_SE_DP_W052 (SNDARC_SE_BASE + 437)
+#define SEQ_SE_DP_W053 (SNDARC_SE_BASE + 438)
+#define SEQ_SE_DP_W053B (SNDARC_SE_BASE + 439)
+#define SEQ_SE_DP_W054 (SNDARC_SE_BASE + 440)
+#define SEQ_SE_DP_W055 (SNDARC_SE_BASE + 441)
+#define SEQ_SE_DP_W056 (SNDARC_SE_BASE + 442)
+#define SEQ_SE_DP_W056B (SNDARC_SE_BASE + 443)
+#define SEQ_SE_DP_W057 (SNDARC_SE_BASE + 444)
+#define SEQ_SE_DP_W057B (SNDARC_SE_BASE + 445)
+#define SEQ_SE_DP_W059 (SNDARC_SE_BASE + 446)
+#define SEQ_SE_DP_W059B (SNDARC_SE_BASE + 447)
+#define SEQ_SE_DP_W060 (SNDARC_SE_BASE + 448)
+#define SEQ_SE_DP_W062D (SNDARC_SE_BASE + 449)
+#define SEQ_SE_DP_W060B (SNDARC_SE_BASE + 450)
+#define SEQ_SE_DP_W063 (SNDARC_SE_BASE + 451)
+#define SEQ_SE_DP_W063B (SNDARC_SE_BASE + 452)
+#define SEQ_SE_DP_W063C (SNDARC_SE_BASE + 453)
+#define SEQ_SE_DP_W070 (SNDARC_SE_BASE + 454)
+#define SEQ_SE_DP_W071 (SNDARC_SE_BASE + 455)
+#define SEQ_SE_DP_W071B (SNDARC_SE_BASE + 456)
+#define SEQ_SE_DP_W076 (SNDARC_SE_BASE + 457)
+#define SEQ_SE_DP_W076B (SNDARC_SE_BASE + 458)
+#define SEQ_SE_DP_W077 (SNDARC_SE_BASE + 459)
+#define SEQ_SE_DP_W077B (SNDARC_SE_BASE + 460)
+#define SEQ_SE_DP_W080B (SNDARC_SE_BASE + 461)
+#define SEQ_SE_DP_W080C (SNDARC_SE_BASE + 462)
+#define SEQ_SE_DP_W081 (SNDARC_SE_BASE + 463)
+#define SEQ_SE_DP_W081B (SNDARC_SE_BASE + 464)
+#define SEQ_SE_DP_W082 (SNDARC_SE_BASE + 465)
+#define SEQ_SE_DP_W082B (SNDARC_SE_BASE + 466)
+#define SEQ_SE_DP_W082C (SNDARC_SE_BASE + 467)
+#define SEQ_SE_DP_W085 (SNDARC_SE_BASE + 468)
+#define SEQ_SE_DP_W085B (SNDARC_SE_BASE + 469)
+#define SEQ_SE_DP_W085C (SNDARC_SE_BASE + 470)
+#define SEQ_SE_DP_W086 (SNDARC_SE_BASE + 471)
+#define SEQ_SE_DP_W088 (SNDARC_SE_BASE + 472)
+#define SEQ_SE_DP_W089 (SNDARC_SE_BASE + 473)
+#define SEQ_SE_DP_W089B (SNDARC_SE_BASE + 474)
+#define SEQ_SE_DP_W090 (SNDARC_SE_BASE + 475)
+#define SEQ_SE_DP_W091 (SNDARC_SE_BASE + 476)
+#define SEQ_SE_DP_W092 (SNDARC_SE_BASE + 477)
+#define SEQ_SE_DP_W092B (SNDARC_SE_BASE + 478)
+#define SEQ_SE_DP_W092D (SNDARC_SE_BASE + 479)
+#define SEQ_SE_DP_W100 (SNDARC_SE_BASE + 480)
+#define SEQ_SE_DP_W100B (SNDARC_SE_BASE + 481)
+#define SEQ_SE_DP_W103 (SNDARC_SE_BASE + 482)
+#define SEQ_SE_DP_W104 (SNDARC_SE_BASE + 483)
+#define SEQ_SE_DP_W107 (SNDARC_SE_BASE + 484)
+#define SEQ_SE_DP_W109 (SNDARC_SE_BASE + 485)
+#define SEQ_SE_DP_W109B (SNDARC_SE_BASE + 486)
+#define SEQ_SE_DP_W112 (SNDARC_SE_BASE + 487)
+#define SEQ_SE_DP_W112B (SNDARC_SE_BASE + 488)
+#define SEQ_SE_DP_W114 (SNDARC_SE_BASE + 489)
+#define SEQ_SE_DP_W115 (SNDARC_SE_BASE + 490)
+#define SEQ_SE_DP_W118 (SNDARC_SE_BASE + 491)
+#define SEQ_SE_DP_W118B (SNDARC_SE_BASE + 492)
+#define SEQ_SE_DP_W120 (SNDARC_SE_BASE + 493)
+#define SEQ_SE_DP_W122 (SNDARC_SE_BASE + 494)
+#define SEQ_SE_DP_W127 (SNDARC_SE_BASE + 495)
+#define SEQ_SE_DP_W129 (SNDARC_SE_BASE + 496)
+#define SEQ_SE_DP_W145 (SNDARC_SE_BASE + 497)
+#define SEQ_SE_DP_W145B (SNDARC_SE_BASE + 498)
+#define SEQ_SE_DP_W145C (SNDARC_SE_BASE + 499)
+#define SEQ_SE_DP_W145D (SNDARC_SE_BASE + 500)
+#define SEQ_SE_DP_W146 (SNDARC_SE_BASE + 501)
+#define SEQ_SE_DP_W151 (SNDARC_SE_BASE + 502)
+#define SEQ_SE_DP_W152 (SNDARC_SE_BASE + 503)
+#define SEQ_SE_DP_W153 (SNDARC_SE_BASE + 504)
+#define SEQ_SE_DP_W155 (SNDARC_SE_BASE + 505)
+#define SEQ_SE_DP_W161 (SNDARC_SE_BASE + 506)
+#define SEQ_SE_DP_W161B (SNDARC_SE_BASE + 507)
+#define SEQ_SE_DP_W166 (SNDARC_SE_BASE + 508)
+#define SEQ_SE_DP_W171 (SNDARC_SE_BASE + 509)
+#define SEQ_SE_DP_W172 (SNDARC_SE_BASE + 510)
+#define SEQ_SE_DP_W172B (SNDARC_SE_BASE + 511)
+#define SEQ_SE_DP_W173 (SNDARC_SE_BASE + 512)
+#define SEQ_SE_DP_W173B (SNDARC_SE_BASE + 513)
+#define SEQ_SE_DP_W173C (SNDARC_SE_BASE + 514)
+#define SEQ_SE_DP_W179 (SNDARC_SE_BASE + 515)
+#define SEQ_SE_DP_W185 (SNDARC_SE_BASE + 516)
+#define SEQ_SE_DP_W187 (SNDARC_SE_BASE + 517)
+#define SEQ_SE_DP_W195 (SNDARC_SE_BASE + 518)
+#define SEQ_SE_DP_W196 (SNDARC_SE_BASE + 519)
+#define SEQ_SE_DP_W197 (SNDARC_SE_BASE + 520)
+#define SEQ_SE_DP_W199 (SNDARC_SE_BASE + 521)
+#define SEQ_SE_DP_W201 (SNDARC_SE_BASE + 522)
+#define SEQ_SE_DP_W202 (SNDARC_SE_BASE + 523)
+#define SEQ_SE_DP_W202B (SNDARC_SE_BASE + 524)
+#define SEQ_SE_DP_W204 (SNDARC_SE_BASE + 525)
+#define SEQ_SE_DP_W207 (SNDARC_SE_BASE + 526)
+#define SEQ_SE_DP_W207B (SNDARC_SE_BASE + 527)
+#define SEQ_SE_DP_W207C (SNDARC_SE_BASE + 528)
+#define SEQ_SE_DP_W207D (SNDARC_SE_BASE + 529)
+#define SEQ_SE_DP_W208 (SNDARC_SE_BASE + 530)
+#define SEQ_SE_DP_W209 (SNDARC_SE_BASE + 531)
+#define SEQ_SE_DP_W213 (SNDARC_SE_BASE + 532)
+#define SEQ_SE_DP_W215 (SNDARC_SE_BASE + 533)
+#define SEQ_SE_DP_W221B (SNDARC_SE_BASE + 534)
+#define SEQ_SE_DP_W227 (SNDARC_SE_BASE + 535)
+#define SEQ_SE_DP_W227B (SNDARC_SE_BASE + 536)
+#define SEQ_SE_DP_W230 (SNDARC_SE_BASE + 537)
+#define SEQ_SE_DP_W231 (SNDARC_SE_BASE + 538)
+#define SEQ_SE_DP_W233 (SNDARC_SE_BASE + 539)
+#define SEQ_SE_DP_W233B (SNDARC_SE_BASE + 540)
+#define SEQ_SE_DP_W234 (SNDARC_SE_BASE + 541)
+#define SEQ_SE_DP_W236 (SNDARC_SE_BASE + 542)
+#define SEQ_SE_DP_W239 (SNDARC_SE_BASE + 543)
+#define SEQ_SE_DP_W240 (SNDARC_SE_BASE + 544)
+#define SEQ_SE_DP_W250 (SNDARC_SE_BASE + 545)
+#define SEQ_SE_DP_W253 (SNDARC_SE_BASE + 546)
+#define SEQ_SE_DP_W255 (SNDARC_SE_BASE + 547)
+#define SEQ_SE_DP_W255B (SNDARC_SE_BASE + 548)
+#define SEQ_SE_DP_W255E (SNDARC_SE_BASE + 549)
+#define SEQ_SE_DP_W255F (SNDARC_SE_BASE + 550)
+#define SEQ_SE_DP_W257 (SNDARC_SE_BASE + 551)
+#define SEQ_SE_DP_W258 (SNDARC_SE_BASE + 552)
+#define SEQ_SE_DP_W260 (SNDARC_SE_BASE + 553)
+#define SEQ_SE_DP_W278 (SNDARC_SE_BASE + 554)
+#define SEQ_SE_DP_W280 (SNDARC_SE_BASE + 555)
+#define SEQ_SE_DP_W280B (SNDARC_SE_BASE + 556)
+#define SEQ_SE_DP_W281 (SNDARC_SE_BASE + 557)
+#define SEQ_SE_DP_W287B (SNDARC_SE_BASE + 558)
+#define SEQ_SE_DP_W287 (SNDARC_SE_BASE + 559)
+#define SEQ_SE_DP_W291 (SNDARC_SE_BASE + 560)
+#define SEQ_SE_DP_W298 (SNDARC_SE_BASE + 561)
+#define SEQ_SE_DP_W320 (SNDARC_SE_BASE + 562)
+#define SEQ_SE_DP_W322 (SNDARC_SE_BASE + 563)
+#define SEQ_SE_DP_W327 (SNDARC_SE_BASE + 564)
+#define SEQ_SE_DP_W356 (SNDARC_SE_BASE + 565)
+#define SEQ_SE_DP_W360 (SNDARC_SE_BASE + 566)
+#define SEQ_SE_DP_W360B (SNDARC_SE_BASE + 567)
+#define SEQ_SE_DP_W360C (SNDARC_SE_BASE + 568)
+#define SEQ_SE_DP_W361 (SNDARC_SE_BASE + 569)
+#define SEQ_SE_DP_W362 (SNDARC_SE_BASE + 570)
+#define SEQ_SE_DP_W363 (SNDARC_SE_BASE + 571)
+#define SEQ_SE_DP_W367 (SNDARC_SE_BASE + 572)
+#define SEQ_SE_DP_W368 (SNDARC_SE_BASE + 573)
+#define SEQ_SE_DP_W373 (SNDARC_SE_BASE + 574)
+#define SEQ_SE_DP_W374 (SNDARC_SE_BASE + 575)
+#define SEQ_SE_DP_W375 (SNDARC_SE_BASE + 576)
+#define SEQ_SE_DP_W376 (SNDARC_SE_BASE + 577)
+#define SEQ_SE_DP_W376B (SNDARC_SE_BASE + 578)
+#define SEQ_SE_DP_W377 (SNDARC_SE_BASE + 579)
+#define SEQ_SE_DP_W379 (SNDARC_SE_BASE + 580)
+#define SEQ_SE_DP_W380 (SNDARC_SE_BASE + 581)
+#define SEQ_SE_DP_W381 (SNDARC_SE_BASE + 582)
+#define SEQ_SE_DP_W383 (SNDARC_SE_BASE + 583)
+#define SEQ_SE_DP_W387 (SNDARC_SE_BASE + 584)
+#define SEQ_SE_DP_W392 (SNDARC_SE_BASE + 585)
+#define SEQ_SE_DP_W399 (SNDARC_SE_BASE + 586)
+#define SEQ_SE_DP_W405 (SNDARC_SE_BASE + 587)
+#define SEQ_SE_DP_W408 (SNDARC_SE_BASE + 588)
+#define SEQ_SE_DP_W411 (SNDARC_SE_BASE + 589)
+#define SEQ_SE_DP_W412 (SNDARC_SE_BASE + 590)
+#define SEQ_SE_DP_W413 (SNDARC_SE_BASE + 591)
+#define SEQ_SE_DP_W419 (SNDARC_SE_BASE + 592)
+#define SEQ_SE_DP_W426 (SNDARC_SE_BASE + 593)
+#define SEQ_SE_DP_W428 (SNDARC_SE_BASE + 594)
+#define SEQ_SE_DP_W434 (SNDARC_SE_BASE + 595)
+#define SEQ_SE_DP_W436 (SNDARC_SE_BASE + 596)
+#define SEQ_SE_DP_W443B (SNDARC_SE_BASE + 597)
+#define SEQ_SE_DP_W452 (SNDARC_SE_BASE + 598)
+#define SEQ_SE_DP_W456 (SNDARC_SE_BASE + 599)
+#define SEQ_SE_DP_W459 (SNDARC_SE_BASE + 600)
+#define SEQ_SE_DP_W460 (SNDARC_SE_BASE + 601)
+#define SEQ_SE_DP_W461 (SNDARC_SE_BASE + 602)
+#define SEQ_SE_DP_W462 (SNDARC_SE_BASE + 603)
+#define SEQ_SE_DP_W463 (SNDARC_SE_BASE + 604)
+#define SEQ_SE_DP_W464 (SNDARC_SE_BASE + 605)
+#define SEQ_SE_DP_W465 (SNDARC_SE_BASE + 606)
+#define SEQ_SE_DP_W466 (SNDARC_SE_BASE + 607)
+#define SEQ_SE_DP_W467 (SNDARC_SE_BASE + 608)
+#define SEQ_SE_DP_SUIRYU (SNDARC_SE_BASE + 609)
+#define SEQ_SE_DP_KIRAKIRA2 (SNDARC_SE_BASE + 610)
+#define SEQ_SE_DP_BAN (SNDARC_SE_BASE + 611)
+#define SEQ_SE_DP_BASABASA (SNDARC_SE_BASE + 612)
+#define SEQ_SE_DP_SHUSHU (SNDARC_SE_BASE + 613)
+#define SEQ_SE_DP_KAMI (SNDARC_SE_BASE + 614)
+#define SEQ_SE_DP_KAMI2 (SNDARC_SE_BASE + 615)
+#define SEQ_SE_DP_BASI (SNDARC_SE_BASE + 616)
+#define SEQ_SE_DP_AWA (SNDARC_SE_BASE + 617)
+#define SEQ_SE_DP_NAMI (SNDARC_SE_BASE + 618)
+#define SEQ_SE_DP_HURU (SNDARC_SE_BASE + 619)
+#define SEQ_SE_DP_HURU2 (SNDARC_SE_BASE + 620)
+#define SEQ_SE_DP_KAZE (SNDARC_SE_BASE + 621)
+#define SEQ_SE_DP_KAZE2 (SNDARC_SE_BASE + 622)
+#define SEQ_SE_DP_MUCHI (SNDARC_SE_BASE + 623)
+#define SEQ_SE_DP_BRADE (SNDARC_SE_BASE + 624)
+#define SEQ_SE_DP_BFBRADE (SNDARC_SE_BASE + 625)
+#define SEQ_SE_DP_PASA (SNDARC_SE_BASE + 626)
+#define SEQ_SE_DP_PASA2 (SNDARC_SE_BASE + 627)
+#define SEQ_SE_DP_PASA3 (SNDARC_SE_BASE + 628)
+#define SEQ_SE_DP_KIRAN (SNDARC_SE_BASE + 629)
+#define SEQ_SE_DP_GASHIN (SNDARC_SE_BASE + 630)
+#define SEQ_SE_DP_DODON (SNDARC_SE_BASE + 631)
+#define SEQ_SE_END (SNDARC_SE_BASE + 632)
+
+#endif //POKEDIAMOND_CONSTANTS_SNDSEQ_H
diff --git a/include/constants/trainer_classes.h b/include/constants/trainer_classes.h
index 62355cdf..f1a24bc2 100644
--- a/include/constants/trainer_classes.h
+++ b/include/constants/trainer_classes.h
@@ -91,13 +91,22 @@
#define TRAINER_CLASS_COMMANDER_JUPITER 87
#define TRAINER_CLASS_COMMANDER_SATURN 88
#define TRAINER_CLASS_GALACTIC_F 89
-#define TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY 90
-#define TRAINER_CLASS_PKMN_TRAINER_RICH_BOY 91
-#define TRAINER_CLASS_PKMN_TRAINER_PICNICKER 92
-#define TRAINER_CLASS_PKMN_TRAINER_CAMPER 93
-#define TRAINER_CLASS_PKMN_TRAINER_POKEKID 94
+#define TRAINER_CLASS_PKMN_TRAINER_CHERYL 90
+#define TRAINER_CLASS_PKMN_TRAINER_RILEY 91
+#define TRAINER_CLASS_PKMN_TRAINER_MARLEY 92
+#define TRAINER_CLASS_PKMN_TRAINER_BUCK 93
+#define TRAINER_CLASS_PKMN_TRAINER_MIRA 94
#define TRAINER_CLASS_PKMN_TRAINER_LUCAS 95
#define TRAINER_CLASS_PKMN_TRAINER_DAWN 96
#define TRAINER_CLASS_TOWER_TYCOON 97
+#define TRAINER_BACKPIC_LUCAS 0
+#define TRAINER_BACKPIC_DAWN 1
+#define TRAINER_BACKPIC_BARRY 2
+#define TRAINER_BACKPIC_CHERYL 3
+#define TRAINER_BACKPIC_RILEY 4
+#define TRAINER_BACKPIC_MARLEY 5
+#define TRAINER_BACKPIC_BUCK 6
+#define TRAINER_BACKPIC_MIRA 7
+
#endif //POKEDIAMOND_CONSTANTS_TRAINER_CLASSES_H
diff --git a/include/constants/trdata.h b/include/constants/trdata.h
new file mode 100644
index 00000000..659423cf
--- /dev/null
+++ b/include/constants/trdata.h
@@ -0,0 +1,8 @@
+//
+// Created by scott on 16-Sep-21.
+//
+
+#ifndef POKEDIAMOND_TRDATA_H
+#define POKEDIAMOND_TRDATA_H
+
+#endif //POKEDIAMOND_TRDATA_H
diff --git a/include/main.h b/include/main.h
index 87110de5..6333744c 100644
--- a/include/main.h
+++ b/include/main.h
@@ -26,19 +26,6 @@ struct UnkStruct_02006234
u32 unk24;
};
-struct Unk2106FA0
-{
- PMBackLightSwitch unk0;
- s32 unk4;
- FSOverlayID unk8;
- struct UnkStruct_02006234 *unkC;
- FSOverlayID unk10;
- const struct Unk21DBE18 * unk14;
- s32 unk18;
- s32 unk1C;
- struct SaveBlock2 * unk20;
-};
-
struct Unk21C4818
{
u32 unk0;
diff --git a/include/map_header.h b/include/map_header.h
index 60c8baaf..cb2c3dae 100644
--- a/include/map_header.h
+++ b/include/map_header.h
@@ -4,7 +4,7 @@
struct MapHeader
{
u8 area_data_bank;
- u8 unk1;
+ u8 move_model_bank;
u16 matrix_id;
u16 scripts_bank;
u16 level_scripts_bank;
@@ -16,7 +16,7 @@ struct MapHeader
u16 mapsec;
u8 weather_type;
u8 camera_type;
- u8 unk16;
+ u8 map_type;
u8 battle_bg:4;
u8 is_bike_allowed:1;
u8 is_running_allowed:1; // unused
@@ -25,7 +25,7 @@ struct MapHeader
};
u8 MapHeader_GetAreaDataBank(u32 mapno);
-u8 MapHeader_GetField1(u32 mapno);
+u8 MapHeader_GetMoveModelBank(u32 mapno);
u16 MapHeader_GetMatrixId(u32 mapno);
u16 MapHeader_GetMsgBank(u32 mapno);
u16 MapHeader_GetScriptsBank(u32 mapno);
@@ -42,14 +42,14 @@ u8 MapHeader_GetBattleBg(u32 mapno);
u8 MapHeader_IsEscapeRopeAllowed(u32 mapno);
u8 MapHeader_IsFlyAllowed(u32 mapno);
u8 MapHeader_IsBikeAllowed(u32 mapno);
-u8 MapHeader_GetField16(u32 mapno);
-BOOL FUN_020348E4(u32 mapno);
+u8 MapHeader_GetMapType(u32 mapno);
+BOOL MapHeader_IsOutdoorNotTown(u32 mapno);
BOOL MapHeader_MapIsOnMainMatrix(u32 mapno);
-BOOL FUN_0203491C(u32 mapno);
-BOOL FUN_02034930(u32 mapno);
-BOOL FUN_02034944(u32 mapno);
-BOOL FUN_02034964(u32 mapno);
-BOOL FUN_02034984(u32 mapno);
+BOOL MapHeader_IsPokemonCenter(u32 mapno);
+BOOL MapHeader_IsCave(u32 mapno);
+BOOL MapHeader_IsBuilding(u32 mapno);
+BOOL MapHeader_IsOutdoor(u32 mapno);
+BOOL MapHeader_MapIsPokemonCenter(u32 mapno);
BOOL MapHeader_MapIsUnionRoom(u32 mapno);
BOOL MapHeader_MapIsMtCoronetFeebasRoom(u32 mapno);
BOOL MapHeader_MapIsTrophyGarden(u32 mapno);
diff --git a/include/play_timer.h b/include/play_timer.h
new file mode 100644
index 00000000..f6cfcbba
--- /dev/null
+++ b/include/play_timer.h
@@ -0,0 +1,12 @@
+#ifndef POKEDIAMOND_PLAY_TIMER_H
+#define POKEDIAMOND_PLAY_TIMER_H
+
+#include "global.h"
+#include "igt.h"
+#include "timer3.h"
+
+void PlayTimerInit(void);
+void PlayTimerStart(struct IGT *igt);
+void PlayTimerUpdate(void);
+
+#endif //POKEDIAMOND_PLAY_TIMER_H
diff --git a/include/string16.h b/include/string16.h
index f42ff918..d1e8b250 100644
--- a/include/string16.h
+++ b/include/string16.h
@@ -20,8 +20,6 @@ BOOL StringCompare(struct String *, struct String *);
void CopyU16ArrayToStringN(struct String *, u16 *, u32); // copy
void StringSetEmpty(struct String *); // set empty
struct String * StringDup(struct String *, u32 heap_id);
-s32 StringGetWidth(struct FontData * r7, const u16 * arr, u32 r6);
-s32 StringGetWidth_SingleLine_HandleClearToControlCode(struct FontData * r6, const u16 * arr);
void String_dtor(struct String * str);
void StringCopy(struct String * dest, struct String * src);
void String16_FormatInteger(struct String * str, int num, u32 ndigits, int strConvMode, BOOL whichCharset);
@@ -32,7 +30,10 @@ void StringGetLineN(struct String * dest, volatile struct String * src, u32 n);
void CopyU16ArrayToString(struct String * str, u16 * buf);
void CopyStringToU16Array(struct String * str, u16 * buf, u32 length);
u16 * String_c_str(struct String * str);
+void StrAddChar(struct String * str, u16 val);
void StringCat(struct String * dest, struct String * src);
void StrUpperFirstChar(struct String * str);
+BOOL String_IsTrainerName(struct String * string);
+void StringCat_HandleTrainerName(struct String * dest, struct String * src);
#endif //POKEDIAMOND_STRING16_H
diff --git a/include/unk_02015E30.h b/include/unk_02015E30.h
deleted file mode 100644
index 67a7aaaf..00000000
--- a/include/unk_02015E30.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef POKEDIAMOND_UNK_02015E30_H
-#define POKEDIAMOND_UNK_02015E30_H
-
-#include "global.h"
-#include "igt.h"
-#include "timer3.h"
-
-struct UnkStruct_02015E30
-{
- u32 unk00;
- struct IGT *unk04;
- u64 unk08;
- u32 unk10;
- u32 unk14;
- u64 unk18;
-};
-
-void FUN_02015E30();
-void FUN_02015E3C(struct IGT *igt);
-void FUN_02015E60();
-
-#endif //POKEDIAMOND_UNK_02015E30_H
diff --git a/include/unk_02021590.h b/include/unk_02021590.h
index 6ed73bb8..8c815992 100644
--- a/include/unk_02021590.h
+++ b/include/unk_02021590.h
@@ -48,5 +48,7 @@ void DecompressGlyphTiles_LazyFromNarc(struct FontData * ptr, u16 param1, struct
u32 GetStringWidth(struct FontData * ptr, const u16 * str, u32 letterSpacing);
int GetGlyphWidth_VariableWidth(struct FontData * ptr, int a1);
int GetGlyphWidth_FixedWidth(struct FontData * ptr, int a1);
+s32 GetStringWidthMultiline(struct FontData * r7, const u16 * arr, u32 r6);
+s32 StringGetWidth_SingleLine_HandleClearToControlCode(struct FontData * r6, const u16 * arr);
#endif //POKEDIAMOND_UNK_02021590_H
diff --git a/include/unk_02021FF8.h b/include/unk_02021FF8.h
index 59120668..48ef4322 100644
--- a/include/unk_02021FF8.h
+++ b/include/unk_02021FF8.h
@@ -17,8 +17,6 @@ struct UnkStruct_020220C4
struct UnkStruct_020220C4_sub * field_10;
};
-BOOL String_IsTrainerName(struct String * string);
-void StringCat_HandleTrainerName(struct String * dest, struct String * src);
struct UnkStruct_020220C4 * FUN_020220C4(u8 * a0, u32 a1, void (*a2)(s32, s32, u32), u32 a3, u32 a4);
void FUN_02022120(struct UnkStruct_020220C4_sub * sub);
void FUN_0202212C(struct UnkStruct_020220C4 * unk);
diff --git a/include/unk_020222E8.h b/include/unk_020222E8.h
index ac6e1932..d4545b04 100644
--- a/include/unk_020222E8.h
+++ b/include/unk_020222E8.h
@@ -2,9 +2,9 @@
#define POKEDIAMOND_UNK_020222E8_H
void * FUN_020222E8();
-void * FUN_020222F0();
+u32 FUN_020222F0();
void * FUN_020222F8();
-void * FUN_02022300();
+u32 FUN_02022300();
void * FUN_02022308();
void * FUN_02022310();
diff --git a/include/unk_02022504.h b/include/unk_02022504.h
index 62e4def1..7087cbc5 100644
--- a/include/unk_02022504.h
+++ b/include/unk_02022504.h
@@ -3,10 +3,11 @@
#include "save_block_2.h"
#include "pokemon_storage_system.h"
+#include "unk_0202AC20.h"
void *FUN_02022504(struct SaveBlock2 *sav2);
struct PCStorage *GetStoragePCPointer(struct SaveBlock2 *sav2);
-void *FUN_0202251C(struct SaveBlock2 *sav2);
+struct UnkStruct_0202AC20 * FUN_0202251C(struct SaveBlock2 *sav2);
void *FUN_02022528(struct SaveBlock2 *sav2);
u8 *LoadHallOfFame(struct SaveBlock2 *sav2, u32 heap_id, int *ret_p);
s32 SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data);
diff --git a/include/unk_02029FB0.h b/include/unk_02029FB0.h
index 9ce6451d..e6fc813a 100644
--- a/include/unk_02029FB0.h
+++ b/include/unk_02029FB0.h
@@ -3,12 +3,26 @@
struct Pokedex;
-struct UnkStruct_02029FB0
+struct GameStats
{
- u8 unk[0x14C];
+ u32 unk_00[0x2C];
+ u16 unk_B0[0x4D];
};
-struct UnkStruct_02029FB0 * FUN_02029FC8(struct SaveBlock2 * sav2);
-void FUN_0202A1C4(struct UnkStruct_02029FB0 * unk, struct Pokedex * pokedex, u16 species);
+u32 Sav2_GameStats_sizeof(void);
+void Sav2_GameStats_init(struct GameStats * ptr);
+struct GameStats * Sav2_GameStats_get(struct SaveBlock2 * sav2);
+u32 GameStats_GetValue(struct GameStats * ptr, s32 a1);
+u32 GameStats_SetValue(struct GameStats * ptr, s32 a1, u32 a2);
+u32 GameStats_GetMaxValue(s32 a0);
+u16 GameStats_GetStdInc(s32 a0);
+u32 GameStats_SetCapped(struct GameStats * ptr, s32 a1, u32 a2);
+u32 GameStats_UpdateBounded(struct GameStats * ptr, s32 a1, u32 a2);
+u32 GameStats_Inc(struct GameStats * ptr, s32 a1);
+u32 GameStats_Add(struct GameStats * ptr, s32 a1, u32 a2);
+u32 GameStats_GetCapped(struct GameStats * ptr, s32 a1);
+u32 GameStats_AddSpecial(struct GameStats * ptr, s32 a1);
+u32 GameStats_GetStat0(struct GameStats * ptr);
+void GameStats_IncSpeciesCaught(struct GameStats * ptr, struct Pokedex * pokedex, u16 species);
#endif //POKEDIAMOND_UNK_02029FB0_H
diff --git a/include/unk_0202AC20.h b/include/unk_0202AC20.h
new file mode 100644
index 00000000..b98e43de
--- /dev/null
+++ b/include/unk_0202AC20.h
@@ -0,0 +1,13 @@
+#ifndef POKEDIAMOND_UNK_0202AC20_H
+#define POKEDIAMOND_UNK_0202AC20_H
+
+struct UnkStruct_0202AC20
+{
+ u8 unk_0000[0x100];
+ u32 unk_0100[8];
+ u32 unk_0120[3];
+ u8 unk_012C[8][0x104];
+ u8 unk_094C[3][0x358];
+};
+
+#endif //POKEDIAMOND_UNK_0202AC20_H
diff --git a/map_header_resolve_fields.py b/map_header_resolve_fields.py
new file mode 100644
index 00000000..2edf2b88
--- /dev/null
+++ b/map_header_resolve_fields.py
@@ -0,0 +1,123 @@
+import collections
+import struct
+import typing
+import re
+
+romfname = 'baserom.nds'
+arm9offs = 0x00004000
+arm9load = 0x02000000
+mapheado = 0x020EEDBC
+mapheads = 0x00003468
+
+
+class MapHeader(typing.NamedTuple):
+ area_data_bank: int
+ move_model_bank: int
+ matrix_id: int
+ scripts_bank: int
+ level_scripts_bank: int
+ msg_bank: int
+ day_music_id: int
+ night_music_id: int
+ wild_encounter_bank: int
+ events_bank: int
+ mapsec: int
+ weather_type: int
+ camera_type: int
+ unk16: int
+ battle_bg: int
+ is_bike_allowed: bool
+ is_running_allowed: bool
+ is_escape_rope_allowed: bool
+ is_fly_allowed: bool
+
+ @classmethod
+ def from_buffer(cls, buffer: bytes) -> typing.Generator['MapHeader', None, typing.Any]:
+ for tup in struct.iter_unpack('<BBHHHHHHHHHBBBB', buffer):
+ *tup, flags = tup
+ tup += (flags & 15, flags & 16 != 0, flags & 32 != 0, flags & 64 != 0, flags & 128 != 0)
+ yield cls._make(tup)
+
+
+def read_sndseq_h():
+ i = 0
+ with open('include/constants/sndseq.h') as fp:
+ for line in fp:
+ if line.startswith('#define SEQ_'):
+ name = line.split()[1]
+ if name.startswith('SEQ_SE_'):
+ while i < 1500:
+ yield str(i)
+ i += 1
+ elif not name.startswith('SEQ_PV'):
+ while i < 1000:
+ yield str(i)
+ i += 1
+ yield name
+ i += 1
+
+
+def read_mapsec_h():
+ with open('include/constants/map_sections.h') as fp:
+ for line in fp:
+ if line.startswith('#define MAPSEC_'):
+ yield line.split()[1]
+
+
+def read_naix(filename):
+ with open(filename) as fp:
+ for line in fp:
+ if (m := re.match(r'\s*(NARC_\w+)\s+=\s+\d+,', line)) is not None:
+ yield m[1]
+
+
+class MyList(list):
+ def __getitem__(self, item):
+ try:
+ return super().__getitem__(item)
+ except IndexError:
+ return str(item)
+
+
+def main():
+ sndseqs = MyList(read_sndseq_h())
+ mapsecs = MyList(read_mapsec_h())
+ msgnaix = MyList(read_naix('files/msgdata/msg.naix'))
+ scrseqnaix = MyList(read_naix('files/fielddata/script/scr_seq_release.naix'))
+ areanaix = MyList(read_naix('files/fielddata/areadata/area_data.naix'))
+ mmlistnaix = MyList(read_naix('files/fielddata/mm_list/move_model_list.naix'))
+ matlistnaix = MyList(read_naix('files/fielddata/mapmatrix/map_matrix.naix'))
+ d_encdatanaix = MyList(read_naix('files/fielddata/encountdata/d_enc_data.naix'))
+ p_encdatanaix = MyList(read_naix('files/fielddata/encountdata/p_enc_data.naix'))
+ eventnaix = MyList(read_naix('files/fielddata/eventdata/zone_event_release.naix'))
+ with open(romfname, 'rb') as rom:
+ rom.seek(mapheado - arm9load + arm9offs)
+ for header in MapHeader.from_buffer(rom.read(mapheads)): # type: MapHeader
+ print('{' + ', '.join((
+ areanaix[header.area_data_bank],
+ mmlistnaix[header.move_model_bank],
+ matlistnaix[header.matrix_id],
+ scrseqnaix[header.scripts_bank],
+ scrseqnaix[header.level_scripts_bank],
+ msgnaix[header.msg_bank],
+ sndseqs[header.day_music_id],
+ sndseqs[header.night_music_id],
+ '0xFFFF' if header.wild_encounter_bank == 0xFFFF else 'ENCDATA({}, {})'.format(
+ d_encdatanaix[header.wild_encounter_bank],
+ p_encdatanaix[header.wild_encounter_bank],
+ ),
+ eventnaix[header.events_bank],
+ mapsecs[header.mapsec],
+ str(header.weather_type),
+ str(header.camera_type),
+ str(header.unk16),
+ str(header.battle_bg),
+ ['FALSE', 'TRUE'][header.is_bike_allowed],
+ ['FALSE', 'TRUE'][header.is_running_allowed],
+ ['FALSE', 'TRUE'][header.is_escape_rope_allowed],
+ ['FALSE', 'TRUE'][header.is_fly_allowed],
+ )) + '},')
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/asmdiff/asmdiff.sh b/tools/asmdiff/asmdiff.sh
new file mode 100644
index 00000000..e134e2be
--- /dev/null
+++ b/tools/asmdiff/asmdiff.sh
@@ -0,0 +1,179 @@
+#!/usr/bin/env bash
+
+MYDIR=$(dirname $0)
+
+mkdir -p ${MYDIR}/.bins
+
+DEFAULT_BASEROM=baserom.nds
+DEFAULT_ARM9BUILDDIR=build/heartgold.us
+DEFAULT_ARM7BUILDDIR=sub/build
+DEFAULT_FSDIR=files
+
+# Build C utils on demand
+[[ $MYDIR/ntruncompbw -nt $MYDIR/ntruncompbw.c ]] || gcc -O3 -g -o $MYDIR/ntruncompbw $MYDIR/ntruncompbw.c
+[[ $MYDIR/ntrextractfile -nt $MYDIR/ntrextractfile.c ]] || gcc -O3 -g -o $MYDIR/ntrextractfile $MYDIR/ntrextractfile.c
+
+getword() {
+ od -j "$2" -N 4 -A n -t u "$1" | awk '{$1=$1};1'
+}
+
+[[ -n "$DEVKITARM" ]] && export PATH=${DEVKITARM}/bin:${PATH}
+
+POSITIONAL=()
+
+usage () {
+ echo "Diff segments of a Nintendo DS ROM"
+ echo "Usage: $0 [-h] [-7] [-m OVERLAY] [-r BASEROM] [-d BUILDDIR] [START [END]]"
+ echo ""
+ echo "Arguments:"
+ echo " START, END Start and end virtual addresses to diff"
+ echo ""
+ echo "Options:"
+ echo " -7 Diff the ARM7 module (default: ARM9)"
+ echo " -m OVERLAY Diff the indicated overlay module (default: static module)"
+ echo " -r BASEROM Use the indicated baserom (default: baserom.nds)"
+ echo " -d BUILDDIR Look for compiled binaries in this directory (default: build/heartgold.us)"
+ echo " -f FILE Dump the indicated file, and use hexdump instead"
+ echo " -F FSDIR Filesystem path on the home system"
+ echo " -t Force THUMB instructions (default: ARM)"
+ echo " -h Show this message and exit"
+}
+
+while [[ $# -gt 0 ]]; do
+ key="$1"
+ case $key in
+ -h)
+ usage
+ exit 0
+ ;;
+ -7)
+ proc=armv4t
+ builddir=${builddir:-$DEFAULT_ARM7BUILDDIR}
+ basestem=${basestem}.sub
+ shift
+ ;;
+ -m)
+ [[ -n $overlay ]] && { echo can only do one overlay at a time; exit 1; }
+ mode=overlay
+ overlay="$2"
+ basestem=${basestem}.o${overlay}
+ shift 2
+ ;;
+ -r)
+ baserom="$2"
+ shift 2
+ ;;
+ -t)
+ thumb=-Mforce-thumb
+ shift
+ ;;
+ -f)
+ mode=file
+ filepath="$2"
+ shift 2
+ ;;
+ -F)
+ fsdir="$2"
+ shift 2
+ ;;
+ -d)
+ builddir="$2"
+ shift 2
+ ;;
+ -*)
+ usage
+ echo unrecognized option flag: "$1" >&2
+ exit 1
+ ;;
+ *)
+ POSITIONAL+=("$1")
+ shift
+ ;;
+ esac
+done
+
+set -- "${POSITIONAL[@]}"
+
+mode=${mode:-static}
+proc=${proc:-armv5te}
+builddir=${builddir:-$DEFAULT_ARM9BUILDDIR}
+baserom=${baserom:-$DEFAULT_BASEROM}
+fsdir=${fsdir:-$DEFAULT_FSDIR}
+
+basefile=${MYDIR}/.bins/${baserom}${basestem}.sbin
+
+case "$mode" in
+ overlay)
+ case $proc in
+ armv4t)
+ ovt=88
+ ;;
+ armv5te)
+ ovt=80
+ ;;
+ esac
+ ovtoff=$(getword "$baserom" "$ovt")
+ vma=$(getword "$baserom" "$((ovtoff+32*overlay+4))")
+ size=$(getword "$baserom" "$((ovtoff+32*overlay+8))")
+ [[ -f $basefile ]] || {
+ fileid=$(getword "$baserom" "$((ovtoff+32*overlay+24))")
+ param=$(getword "$baserom" "$((ovtoff+32*overlay+28))")
+ fatoff=$(getword "$baserom" 72)
+ fileoff=$(getword "$baserom" "$((fatoff+8*fileid))")
+ filesize=$(($(getword "$baserom" "$((fatoff+8*fileid+4))")-fileoff))
+ dd if="$baserom" of="$basefile" bs=1 skip="$fileoff" count="$filesize" 2>/dev/null
+ (( param & 16777216 )) && {
+ compsize=$((param & 16777215))
+ $MYDIR/ntruncompbw $basefile $vma $((vma+compsize)) || { rm -f $basefile; exit 1; }
+ }
+ }
+ buildfile=$builddir/OVY_${overlay}.sbin
+ ;;
+ static)
+ case $proc in
+ armv4t)
+ romtab=48
+ compname=ichneumon_sub
+ ;;
+ armv5te)
+ romtab=32
+ compname=main
+ ;;
+ esac
+
+ fileoff=$(getword "$baserom" "$romtab")
+ vma=$(getword "$baserom" "$((romtab+8))")
+ size=$(getword "$baserom" "$((romtab+12))")
+
+ [[ -f $basefile ]] || {
+ dd if="$baserom" of="$basefile" bs=1 skip="$fileoff" count="$size" 2>/dev/null
+ [[ $proc == armv5te ]] && {
+ _start_ModuleParams=$(getword "$baserom" $((fileoff+size+4)))
+ compstatend=$(getword "$basefile" $((_start_ModuleParams+20)))
+ [[ $compstatend != "0" ]] && {
+ $MYDIR/ntruncompbw $basefile $vma $compstatend || { rm -f $basefile; exit 1; }
+ dd if=/dev/zero of="$basefile" bs=1 seek="$((_start_ModuleParams+20))" count=4 conv=notrunc 2>/dev/null
+ }
+ }
+ }
+ buildfile=${builddir}/${compname}.sbin
+ ;;
+ file)
+ buildfile=${fsdir}/${filepath}
+ [[ -f "${buildfile}" ]] || { echo file not found: "${buildfile}"; exit 1; }
+ basefile=${MYDIR}/.files/${filepath}
+ [[ -f "${basefile}" ]] || {
+ mkdir -p $(dirname "${basefile}")
+ ${MYDIR}/ntrextractfile ${baserom} ${filepath} >${basefile}
+ }
+ diff -u <(hexdump -Cv $basefile) <(hexdump -Cv $buildfile)
+ exit 0
+ ;;
+esac
+
+[[ -n "$1" ]] && start=$(($1)) || start=$vma
+[[ -n "$2" ]] && size=$(($2)) || size=$(wc -c <$basefile)
+do-objdump () {
+ arm-none-eabi-objdump -Drz -bbinary -m$proc $thumb --adjust-vma=$vma --start-address=$start --stop-address=$((start+size)) $1
+}
+diff -u <(do-objdump $basefile) <(do-objdump $buildfile)
diff --git a/tools/asmdiff/ntrextractfile.c b/tools/asmdiff/ntrextractfile.c
new file mode 100644
index 00000000..19869a14
--- /dev/null
+++ b/tools/asmdiff/ntrextractfile.c
@@ -0,0 +1,153 @@
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#ifndef NDEBUG
+#ifdef _MSC_VER
+#define debug_printf(fmt, ...) fprintf(stderr, fmt, __VA_ARGS__)
+#else
+#define debug_printf(fmt, ...) fprintf(stderr, fmt, ##__VA_ARGS__)
+#endif //_MSC_VER
+#else
+#define debug_printf(fmt, ...) ((void)0)
+#endif //NDEBUG
+
+#define FIND_FAIL (-1u)
+
+struct NtrDirHeader {
+ unsigned offset;
+ unsigned short first_file;
+ unsigned short count_or_parent;
+};
+
+static char FILEBUF[BUFSIZ];
+
+unsigned find_file(struct NtrDirHeader * fnt, const char * cfilename) {
+ unsigned file_id = fnt->first_file;
+ char * filename = strdup(cfilename);
+ char * tokenizer = filename;
+ int found = 0;
+ char * tree = (char *)fnt + fnt->offset;
+ char * token;
+
+ while ((token = strtok(tokenizer, "/")) != NULL) {
+ tokenizer = NULL;
+ debug_printf("TOKEN: %s\n", token);
+ long toklen = strlen(token);
+ while (*tree) {
+ char flag = *tree++;
+#ifndef NDEBUG
+ char *entname = malloc((flag & 0x7F) + 1);
+ *stpncpy(entname, tree, flag & 0x7F) = 0;
+ debug_printf("testing entry %s...", entname);
+ free(entname);
+#endif //NDEBUG
+ if ((toklen != (flag & 0x7F)) || strncmp(tree, token, toklen) != 0) {
+ debug_printf("no; is %s\n", (flag & 0x80) ? "dir" : "file");
+ // Next entry
+ tree += (flag & 0x7F);
+ if (flag & 0x80) {
+ tree += 2; // skip dir id
+ }
+ else {
+ file_id++;
+ }
+ }
+ else {
+ debug_printf("yes; is %s\n", (flag & 0x80) ? "dir" : "file");
+ tree += (flag & 0x7F);
+ if (flag & 0x80) {
+ // navigate to next dir
+ unsigned short dir_id = (unsigned char) tree[0] | ((unsigned char) tree[1] << 8);
+ file_id = fnt[dir_id & 0xFFF].first_file;
+ tree = (char *)fnt + fnt[dir_id & 0xFFF].offset;
+ break;
+ }
+ else {
+ found = 1;
+ token = strtok(NULL, "/");
+ goto done;
+ }
+ }
+ }
+ }
+
+done:
+ free(filename);
+ if (!found || token != NULL) {
+ file_id = FIND_FAIL;
+ }
+ return file_id;
+}
+
+int main(int argc, char ** argv) {
+ if (argc < 3) {
+ fprintf(stderr, "missing required argument: %s\n", (argc == 1) ? "BASEROM" : "FILENAME");
+ return 1;
+ }
+ FILE *baserom = fopen(argv[1], "rb");
+ if (baserom == NULL) {
+ fprintf(stderr, "unable to open ROM %s for reading\n", argv[1]);
+ return 1;
+ }
+ debug_printf("opened baserom\n");
+
+ // fnt offset, fnt size, fat offset, fat size
+ unsigned offsets[4];
+ fseek(baserom, 64, SEEK_SET);
+ if (fread(offsets, 4, 4, baserom) != 4) {
+ fprintf(stderr, "failed to read from baserom\n");
+ fclose(baserom);
+ return 1;
+ }
+ debug_printf("read offsets\n");
+
+ // read fnt
+ struct NtrDirHeader *fnt = malloc(offsets[1]);
+ if (fnt == NULL) {
+ fprintf(stderr, "unable to allocate FNT buffer\n");
+ fclose(baserom);
+ return 1;
+ }
+ fseek(baserom, offsets[0], SEEK_SET);
+ if (fread(fnt, 1, offsets[1], baserom) != offsets[1]) {
+ fprintf(stderr, "unable to read FNT\n");
+ free(fnt);
+ fclose(baserom);
+ return 1;
+ }
+ debug_printf("read fnt\n");
+
+ unsigned file_id = find_file(fnt, argv[2]);
+ free(fnt);
+ if (file_id == FIND_FAIL) {
+ fprintf(stderr, "file not found");
+ fclose(baserom);
+ return 1;
+ }
+ debug_printf("found file with id %u\n", file_id);
+
+ // Extract the file to stdout
+ if (8 * file_id >= offsets[3]) {
+ fprintf(stderr, "nitrofs lookup failed");
+ fclose(baserom);
+ return 1;
+ }
+
+ FILE *out = fdopen(dup(fileno(stdout)), "wb");
+ fseek(baserom, offsets[2] + 8 * file_id, SEEK_SET);
+ fread(offsets, 4, 2, baserom);
+ fseek(baserom, offsets[0], SEEK_SET);
+ while (offsets[1] - offsets[0] > BUFSIZ) {
+ fread(FILEBUF, 1, BUFSIZ, baserom);
+ fwrite(FILEBUF, 1, BUFSIZ, out);
+ offsets[0] += BUFSIZ;
+ }
+ fread(FILEBUF, 1, offsets[1] - offsets[0], baserom);
+ fwrite(FILEBUF, 1, offsets[1] - offsets[0], out);
+ fclose(out);
+
+ fclose(baserom);
+ return 0;
+}
diff --git a/tools/asmdiff/ntruncompbw.c b/tools/asmdiff/ntruncompbw.c
new file mode 100644
index 00000000..e97db925
--- /dev/null
+++ b/tools/asmdiff/ntruncompbw.c
@@ -0,0 +1,107 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+static inline uint32_t READ32(const unsigned char * ptr)
+{
+ return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24);
+}
+
+static uint32_t MIi_UncompressBackwards(unsigned char ** out_p, size_t compsize)
+{
+ unsigned char * out = *out_p;
+
+ // Read the pointer to the end of the compressed image
+ uint8_t * endptr = out + compsize - 8;
+ uint32_t size = READ32(endptr);
+ uint32_t offset = READ32(endptr + 4);
+ out = realloc(out, compsize + offset);
+ if (out == NULL)
+ return -1u;
+ endptr = out + compsize;
+ uint8_t * dest_p = endptr + offset;
+ uint8_t * end = endptr - ((uint8_t)(size >> 24));
+ uint8_t * start = endptr - (size & ~0xFF000000);
+ while (end > start) {
+ uint8_t r5 = *--end;
+ for (int i = 0; i < 8; i++) {
+ if ((r5 & 0x80) == 0)
+ *--dest_p = *--end;
+ else {
+ int ip = *--end;
+ int r7 = *--end;
+
+
+ r7 = ((r7 | (ip << 8)) & ~0xF000) + 2;
+ ip += 0x20;
+ while (ip >= 0) {
+ dest_p[-1] = dest_p[r7];
+ dest_p--;
+ ip -= 0x10;
+ }
+ }
+ if (end <= start)
+ break;
+ r5 <<= 1;
+ }
+ }
+ *out_p = out;
+ return compsize + offset;
+}
+
+int main(int argc, char ** argv)
+{
+ if (argc < 4) {
+ fprintf(stderr, "usage: %s FILE VMA END\n\ninsufficient arguments\n", argv[0]);
+ return 1;
+ }
+ char * infname = argv[1];
+ uint32_t vma = strtoul(argv[2], NULL, 0);
+ uint32_t end = strtoul(argv[3], NULL, 0);
+ if (end == 0) {
+ fprintf(stderr, "compressed size is 0, no action taken\n");
+ return 0;
+ }
+ FILE * infile = fopen(infname, "r+b");
+ if (infile == NULL) {
+ fclose(infile);
+ fprintf(stderr, "unable to open file %s for reading\n", infname);
+ return 1;
+ }
+ fseek(infile, 0, SEEK_END);
+ long infsize = ftell(infile);
+ fseek(infile, 0, SEEK_SET);
+ if (infsize != end - vma) {
+ fclose(infile);
+ fprintf(stderr, "compressed size does not match file size, I am cowardly doing nothing\n");
+ return 0;
+ }
+ unsigned char * inbuf = malloc(infsize);
+ if (inbuf == NULL) {
+ fclose(infile);
+ fprintf(stderr, "error: malloc(%d)\n", (int)infsize);
+ return 1;
+ }
+ if (fread(inbuf, 1, infsize, infile) != infsize) {
+ fclose(infile);
+ free(inbuf);
+ fprintf(stderr, "error reading from %s\n", infname);
+ return 1;
+ }
+ uint32_t outsize = MIi_UncompressBackwards(&inbuf, end - vma);
+ if (outsize == -1u) {
+ fclose(infile);
+ fprintf(stderr, "fatal error reallocating for decompression\n");
+ return 1;
+ }
+ fseek(infile, 0, SEEK_SET);
+ if (fwrite(inbuf, 1, outsize, infile) != outsize) {
+ fclose(infile);
+ free(inbuf);
+ fprintf(stderr, "error writing back to %s\n", infname);
+ return 1;
+ }
+ fclose(infile);
+ free(inbuf);
+ return 0;
+}
diff --git a/tools/knarc/Narc.cpp b/tools/knarc/Narc.cpp
index cce7cdea..be00fb72 100644
--- a/tools/knarc/Narc.cpp
+++ b/tools/knarc/Narc.cpp
@@ -17,7 +17,7 @@
#include "fnmatch.h"
-#if (__GNUC__ <= 7) && !defined _MSC_VER
+#if (__cplusplus < 201703L)
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
#else
@@ -340,7 +340,7 @@ bool Narc::Pack(const fs::path& fileName, const fs::path& directory)
FileImages fi
{
.Id = 0x46494D47, // GMIF
- .ChunkSize = static_cast<uint32_t>(sizeof(FileImages) + fatEntries.back().End)
+ .ChunkSize = static_cast<uint32_t>(sizeof(FileImages) + (fatEntries.empty() ? 0 : fatEntries.back().End))
};
if ((fi.ChunkSize % 4) != 0)
diff --git a/tools/knarc/Narc.h b/tools/knarc/Narc.h
index 7d9cc117..78c163c6 100644
--- a/tools/knarc/Narc.h
+++ b/tools/knarc/Narc.h
@@ -5,7 +5,7 @@
#include <string>
#include <vector>
-#if (__GNUC__ <= 7) && !defined _MSC_VER
+#if (__cplusplus < 201703L)
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
#else
diff --git a/tools/mwasmarm_patcher/Makefile b/tools/mwasmarm_patcher/Makefile
index bff3a677..9765f713 100644
--- a/tools/mwasmarm_patcher/Makefile
+++ b/tools/mwasmarm_patcher/Makefile
@@ -1,11 +1,6 @@
.PHONY: all clean
-UNAME_S := $(shell uname -s)
-ifeq ($(UNAME_S),Darwin)
-CC := clang
-else
CC := gcc
-endif
CFLAGS := -O3
.PHONY: all clean
diff --git a/tools/nitrogfx/Makefile b/tools/nitrogfx/Makefile
index 16b2632d..2ed6cf1e 100644
--- a/tools/nitrogfx/Makefile
+++ b/tools/nitrogfx/Makefile
@@ -1,5 +1,11 @@
CC = gcc
+HAVE_LIBPNG := $(shell pkg-config libpng; echo $?)
+
+ifeq ($(HAVE_LIBPNG),1)
+$(error No package 'libpng' found)
+endif
+
CFLAGS = -Wall -Wextra -Werror -Wno-sign-compare -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK $(shell pkg-config --cflags libpng)
LIBS = $(shell pkg-config --libs libpng)
diff --git a/tools/nitrogfx/gfx.c b/tools/nitrogfx/gfx.c
index ee7e0d6f..43e8f83c 100644
--- a/tools/nitrogfx/gfx.c
+++ b/tools/nitrogfx/gfx.c
@@ -433,7 +433,9 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m
free(buffer);
}
-void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool scanned, uint32_t key)
+void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image,
+ bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool scanned,
+ uint32_t key, bool wrongSize)
{
FILE *fp = fopen(path, "wb");
@@ -499,15 +501,15 @@ void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, in
}
}
- WriteGenericNtrHeader(fp, "RGCN", bufferSize + (sopc ? 0x30 : 0x20), byteOrder, version101, sopc ? 2 : 1);
+ WriteGenericNtrHeader(fp, "RGCN", bufferSize + (sopc ? 0x30 : 0x20) + (wrongSize ? -8 : 0), byteOrder, version101, sopc ? 2 : 1);
unsigned char charHeader[0x20] = { 0x52, 0x41, 0x48, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 };
- charHeader[4] = (bufferSize + 0x20) & 0xFF;
- charHeader[5] = ((bufferSize + 0x20) >> 8) & 0xFF;
- charHeader[6] = ((bufferSize + 0x20) >> 16) & 0xFF;
- charHeader[7] = ((bufferSize + 0x20) >> 24) & 0xFF;
+ charHeader[4] = (bufferSize + 0x20 + (wrongSize ? -8 : 0)) & 0xFF;
+ charHeader[5] = ((bufferSize + 0x20 + (wrongSize ? -8 : 0)) >> 8) & 0xFF;
+ charHeader[6] = ((bufferSize + 0x20 + (wrongSize ? -8 : 0)) >> 16) & 0xFF;
+ charHeader[7] = ((bufferSize + 0x20 + (wrongSize ? -8 : 0)) >> 24) & 0xFF;
if (!clobberSize)
{
diff --git a/tools/nitrogfx/gfx.h b/tools/nitrogfx/gfx.h
index d0e6521a..389aec41 100644
--- a/tools/nitrogfx/gfx.h
+++ b/tools/nitrogfx/gfx.h
@@ -32,7 +32,9 @@ struct Image {
void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
uint32_t ReadNtrImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors);
-void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool scanned, uint32_t key);
+void WriteNtrImage(char *path, int numTiles, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image,
+ bool invertColors, bool clobberSize, bool byteOrder, bool version101, bool sopc, bool scanned,
+ uint32_t key, bool wrongSize);
void FreeImage(struct Image *image);
void ReadGbaPalette(char *path, struct Palette *palette);
void ReadNtrPalette(char *path, struct Palette *palette, int bitdepth, int palIndex);
diff --git a/tools/nitrogfx/main.c b/tools/nitrogfx/main.c
index b2d3352a..5561e44e 100644
--- a/tools/nitrogfx/main.c
+++ b/tools/nitrogfx/main.c
@@ -116,7 +116,9 @@ void ConvertPngToNtr(char *inputPath, char *outputPath, struct PngToNtrOptions *
free(string);
}
- WriteNtrImage(outputPath, options->numTiles, image.bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette, options->clobberSize, options->byteOrder, options->version101, options->sopc, options->scanned, key);
+ WriteNtrImage(outputPath, options->numTiles, image.bitDepth, options->metatileWidth, options->metatileHeight,
+ &image, !image.hasPalette, options->clobberSize, options->byteOrder, options->version101,
+ options->sopc, options->scanned, key, options->wrongSize);
FreeImage(&image);
}
@@ -360,6 +362,7 @@ void HandlePngToNtrCommand(char *inputPath, char *outputPath, int argc, char **a
options.bitDepth = 4;
options.metatileWidth = 1;
options.metatileHeight = 1;
+ options.wrongSize = false;
options.clobberSize = false;
options.byteOrder = true;
options.version101 = false;
@@ -442,6 +445,9 @@ void HandlePngToNtrCommand(char *inputPath, char *outputPath, int argc, char **a
{
options.scanned = true;
}
+ else if (strcmp(option, "-wrongsize") == 0) {
+ options.wrongSize = true;
+ }
else
{
FATAL_ERROR("Unrecognized option \"%s\".\n", option);
diff --git a/tools/nitrogfx/options.h b/tools/nitrogfx/options.h
index 66e9895d..e6721766 100644
--- a/tools/nitrogfx/options.h
+++ b/tools/nitrogfx/options.h
@@ -32,6 +32,7 @@ struct PngToNtrOptions {
bool version101;
bool sopc;
bool scanned;
+ bool wrongSize;
};
struct Attr0 {