summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYanis002 <35189056+Yanis002@users.noreply.github.com>2025-06-29 21:29:34 +0200
committerYanis002 <35189056+Yanis002@users.noreply.github.com>2025-06-29 21:29:34 +0200
commit0f53991581f38ff989aec005414d46a4ace702d1 (patch)
tree305793c706925ee7328b4a1a9a3fe4dab08d01c7
parent1c9bf116969f08fbca76f1b8630f17f683519c7f (diff)
parent3fe49695b4936ea29526eb8b7d07250a69a06c38 (diff)
Merge remote-tracking branch 'upstream/main' into displaytext
-rw-r--r--.github/workflows/build.yml36
-rw-r--r--.gitignore3
-rw-r--r--CONTRIBUTING.md5
-rw-r--r--INSTALL.md15
-rw-r--r--config/eur/arm9/delinks.txt7
-rw-r--r--config/eur/arm9/dtcm/symbols.txt2
-rw-r--r--config/eur/arm9/itcm/symbols.txt12
-rw-r--r--config/eur/arm9/overlays/ov000/delinks.txt60
-rw-r--r--config/eur/arm9/overlays/ov000/relocs.txt5
-rw-r--r--config/eur/arm9/overlays/ov000/symbols.txt695
-rw-r--r--config/eur/arm9/overlays/ov001/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov001/symbols.txt22
-rw-r--r--config/eur/arm9/overlays/ov002/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov003/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov003/symbols.txt106
-rw-r--r--config/eur/arm9/overlays/ov004/delinks.txt7
-rw-r--r--config/eur/arm9/overlays/ov004/relocs.txt4
-rw-r--r--config/eur/arm9/overlays/ov004/symbols.txt130
-rw-r--r--config/eur/arm9/overlays/ov005/delinks.txt9
-rw-r--r--config/eur/arm9/overlays/ov005/relocs.txt2
-rw-r--r--config/eur/arm9/overlays/ov005/symbols.txt12
-rw-r--r--config/eur/arm9/overlays/ov006/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov007/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov008/delinks.txt2
-rw-r--r--config/eur/arm9/overlays/ov009/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov009/symbols.txt102
-rw-r--r--config/eur/arm9/overlays/ov010/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov010/symbols.txt36
-rw-r--r--config/eur/arm9/overlays/ov011/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov011/symbols.txt206
-rw-r--r--config/eur/arm9/overlays/ov012/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov013/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov014/delinks.txt12
-rw-r--r--config/eur/arm9/overlays/ov014/relocs.txt12
-rw-r--r--config/eur/arm9/overlays/ov014/symbols.txt175
-rw-r--r--config/eur/arm9/overlays/ov015/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov015/symbols.txt6
-rw-r--r--config/eur/arm9/overlays/ov016/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov017/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov018/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov018/symbols.txt74
-rw-r--r--config/eur/arm9/overlays/ov019/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov020/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov021/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov022/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov023/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov024/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov024/symbols.txt2
-rw-r--r--config/eur/arm9/overlays/ov025/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov026/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov026/symbols.txt14
-rw-r--r--config/eur/arm9/overlays/ov027/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov028/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov029/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov030/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov030/symbols.txt6
-rw-r--r--config/eur/arm9/overlays/ov031/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov032/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov033/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov034/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov035/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov036/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov037/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov038/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov039/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov040/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov041/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov042/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov043/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov044/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov044/symbols.txt2
-rw-r--r--config/eur/arm9/overlays/ov045/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov046/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov047/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov048/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov048/symbols.txt2
-rw-r--r--config/eur/arm9/overlays/ov049/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov050/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov051/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov052/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov053/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov054/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov055/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov056/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov057/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov057/symbols.txt2
-rw-r--r--config/eur/arm9/overlays/ov058/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov058/symbols.txt4
-rw-r--r--config/eur/arm9/overlays/ov059/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov060/delinks.txt4
-rw-r--r--config/eur/arm9/overlays/ov061/delinks.txt4
-rw-r--r--config/eur/arm9/symbols.txt260
-rw-r--r--config/usa/arm9/delinks.txt7
-rw-r--r--config/usa/arm9/itcm/symbols.txt12
-rw-r--r--config/usa/arm9/overlays/ov000/delinks.txt60
-rw-r--r--config/usa/arm9/overlays/ov000/relocs.txt5
-rw-r--r--config/usa/arm9/overlays/ov000/symbols.txt596
-rw-r--r--config/usa/arm9/overlays/ov001/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov001/symbols.txt22
-rw-r--r--config/usa/arm9/overlays/ov002/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov003/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov003/symbols.txt106
-rw-r--r--config/usa/arm9/overlays/ov004/delinks.txt7
-rw-r--r--config/usa/arm9/overlays/ov004/relocs.txt4
-rw-r--r--config/usa/arm9/overlays/ov004/symbols.txt130
-rw-r--r--config/usa/arm9/overlays/ov005/delinks.txt10
-rw-r--r--config/usa/arm9/overlays/ov005/relocs.txt2
-rw-r--r--config/usa/arm9/overlays/ov005/symbols.txt12
-rw-r--r--config/usa/arm9/overlays/ov006/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov007/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov008/delinks.txt2
-rw-r--r--config/usa/arm9/overlays/ov009/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov009/symbols.txt102
-rw-r--r--config/usa/arm9/overlays/ov010/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov010/symbols.txt36
-rw-r--r--config/usa/arm9/overlays/ov011/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov011/symbols.txt206
-rw-r--r--config/usa/arm9/overlays/ov012/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov013/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov014/delinks.txt12
-rw-r--r--config/usa/arm9/overlays/ov014/relocs.txt12
-rw-r--r--config/usa/arm9/overlays/ov014/symbols.txt175
-rw-r--r--config/usa/arm9/overlays/ov015/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov015/symbols.txt6
-rw-r--r--config/usa/arm9/overlays/ov016/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov017/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov018/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov018/symbols.txt74
-rw-r--r--config/usa/arm9/overlays/ov019/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov020/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov021/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov022/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov023/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov024/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov024/symbols.txt2
-rw-r--r--config/usa/arm9/overlays/ov025/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov026/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov026/symbols.txt14
-rw-r--r--config/usa/arm9/overlays/ov027/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov028/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov029/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov030/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov030/symbols.txt6
-rw-r--r--config/usa/arm9/overlays/ov031/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov032/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov033/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov034/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov035/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov036/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov037/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov038/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov039/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov040/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov041/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov042/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov043/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov044/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov044/symbols.txt2
-rw-r--r--config/usa/arm9/overlays/ov045/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov046/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov047/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov048/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov048/symbols.txt2
-rw-r--r--config/usa/arm9/overlays/ov049/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov050/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov051/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov052/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov053/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov054/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov055/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov056/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov057/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov057/symbols.txt2
-rw-r--r--config/usa/arm9/overlays/ov058/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov058/symbols.txt4
-rw-r--r--config/usa/arm9/overlays/ov059/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov060/delinks.txt4
-rw-r--r--config/usa/arm9/overlays/ov061/delinks.txt4
-rw-r--r--config/usa/arm9/symbols.txt258
-rw-r--r--docs/actors.md15
-rw-r--r--docs/decompiling.md2
-rw-r--r--docs/overlays.md8
-rw-r--r--include/Actor/Actor.hpp23
-rw-r--r--include/Actor/ActorRef.hpp4
-rw-r--r--include/Actor/ActorRupee.hpp2
-rw-r--r--include/Actor/ActorSpawner.hpp19
-rw-r--r--include/Actor/ActorType.hpp10
-rw-r--r--include/Actor/Dungeon/ActorActionObject.hpp20
-rw-r--r--include/Actor/Dungeon/ActorEventIcon.hpp2
-rw-r--r--include/Actor/Dungeon/ActorSwitchObject.hpp4
-rw-r--r--include/Actor/Navi/ActorForceNavi.hpp15
-rw-r--r--include/Actor/Navi/ActorNavi.hpp64
-rw-r--r--include/Actor/Navi/ActorNaviBase.hpp41
-rw-r--r--include/Actor/Navi/ActorWisdomNavi.hpp15
-rw-r--r--include/Actor/Player/ActorArrow.hpp2
-rw-r--r--include/Actor/Player/ActorBlast.hpp2
-rw-r--r--include/Actor/Player/ActorBomb.hpp2
-rw-r--r--include/Actor/Player/ActorRefill.hpp113
-rw-r--r--include/Actor/Player/ActorRope.hpp2
-rw-r--r--include/DTCM/UnkStruct_027e05f8.hpp7
-rw-r--r--include/DTCM/UnkStruct_027e077c.hpp20
-rw-r--r--include/DTCM/UnkStruct_027e0c68.hpp27
-rw-r--r--include/DTCM/UnkStruct_027e0d38.hpp10
-rw-r--r--include/DTCM/UnkStruct_027e0e2c.hpp22
-rw-r--r--include/DTCM/UnkStruct_027e0f64.hpp15
-rw-r--r--include/DTCM/UnkStruct_027e0ffc.hpp27
-rw-r--r--include/DTCM/UnkStruct_027e1098.hpp21
-rw-r--r--include/Debug/DebugHierarchyBase.hpp7
-rw-r--r--include/Item/Item.hpp4
-rw-r--r--include/Item/ItemManager.hpp20
-rw-r--r--include/Item/ItemModelLoader.hpp2
-rw-r--r--include/Map/MapBase.hpp3
-rw-r--r--include/Map/MapManager.hpp12
-rw-r--r--include/Map/MapOverworld.hpp75
-rw-r--r--include/Player/LinkStateBase.hpp22
-rw-r--r--include/Player/LinkStateDamage.hpp1
-rw-r--r--include/Player/LinkStateMove.hpp7
-rw-r--r--include/Player/PlayerBase.hpp8
-rw-r--r--include/Player/PlayerControl.hpp37
-rw-r--r--include/Player/PlayerControlData.hpp6
-rw-r--r--include/Player/PlayerLinkBase.hpp2
-rw-r--r--include/Player/TouchControl.hpp6
-rw-r--r--include/Player/TouchGesture.hpp3
-rw-r--r--include/Save/AdventureFlags.hpp45
-rw-r--r--include/System/OverlayManager.hpp192
-rw-r--r--include/System/Random.hpp2
-rw-r--r--include/Unknown/UnkStruct_02037750.hpp2
-rw-r--r--include/Unknown/UnkStruct_ov000_020c0c08.hpp21
-rw-r--r--libs/c/include/stddef.h2
-rw-r--r--libs/c/include/stdio.h6
-rw-r--r--libs/nds/include/nds/math.h9
-rw-r--r--libs/nds/include/nds/overlay.h (renamed from libs/nds/include/nds/Overlay.h)11
-rw-r--r--libs/nds/src/itcm/math_1.c2
-rw-r--r--src/00_Core/Actor/Actor.cpp28
-rw-r--r--src/00_Core/Actor/ActorManager.cpp7
-rw-r--r--src/00_Core/Actor/ActorSpawner.cpp104
-rw-r--r--src/00_Core/Actor/Dungeon/ActorActionObject.cpp85
-rw-r--r--src/00_Core/Actor/Dungeon/ActorEventIcon.cpp4
-rw-r--r--src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp109
-rw-r--r--src/00_Core/Actor/Navi/ActorForceNavi.cpp14
-rw-r--r--src/00_Core/Actor/Navi/ActorNavi.cpp32
-rw-r--r--src/00_Core/Actor/Navi/ActorWisdomNavi.cpp14
-rw-r--r--src/00_Core/Item/ItemManager.cpp158
-rw-r--r--src/00_Core/Map/MapManager.cpp12
-rw-r--r--src/00_Core/Player/LinkStateBase.cpp6
-rw-r--r--src/00_Core/Player/LinkStateItem.cpp8
-rw-r--r--src/00_Core/Player/LinkStateMove.cpp77
-rw-r--r--src/00_Core/Player/PlayerControl.cpp1114
-rw-r--r--src/00_Core/Player/PlayerControlData.cpp4
-rw-r--r--src/00_Core/Player/PlayerLinkBase.cpp2
-rw-r--r--src/00_Core/Player/TouchControl.cpp34
-rw-r--r--src/00_Core/Save/AdventureFlags.cpp124
-rw-r--r--src/04_Load/Actor/Navi/ActorNavi.cpp3
-rw-r--r--src/04_Load/Actor/Navi/ActorNaviBase.cpp2
-rw-r--r--src/04_Load/Player/LinkStateMove.cpp11
-rw-r--r--src/05/Player/LinkStateMove.cpp248
-rw-r--r--src/14_Land/Actor/ActorRupee.cpp13
-rw-r--r--src/14_Land/Actor/Player/ActorArrow.cpp2
-rw-r--r--src/14_Land/Actor/Player/ActorBlast.cpp2
-rw-r--r--src/14_Land/Actor/Player/ActorBomb.cpp2
-rw-r--r--src/14_Land/Actor/Player/ActorRefill.cpp340
-rw-r--r--src/18_Overworld/Map/MapOverworld.cpp38
-rw-r--r--src/57_Rope/Actor/Player/ActorRope.cpp2
-rw-r--r--src/Main/Debug/DebugHierarchyBase.cpp7
-rw-r--r--src/Main/Player/LinkState.cpp2
-rw-r--r--src/Main/System/OverlayManager.cpp91
-rw-r--r--src/Main/Unknown/UnkStruct_02063220.cpp2
-rwxr-xr-x[-rw-r--r--]tools/configure.py542
-rw-r--r--tools/download_tool.py53
-rw-r--r--tools/get_platform.py31
-rwxr-xr-xtools/m2ctx.py4
-rw-r--r--tools/ninja_syntax.py2
-rw-r--r--tools/setup.py54
-rwxr-xr-x[-rw-r--r--]tools/sha1.py2
274 files changed, 6024 insertions, 2779 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..ab144e57
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,36 @@
+name: Build
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ build:
+ container: ghcr.io/zeldaret/ph-build:main
+
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ version: [eur, usa]
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+
+ - name: Prepare
+ run: |
+ mv /extract/* ./extract
+
+ - name: Build
+ run: |
+ python tools/configure.py ${{ matrix.version }} -w wibo --compiler /mwccarm --no-extract
+ ninja arm9 report check
+
+ - name: Upload report
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ matrix.version }}_report
+ path: build/${{ matrix.version }}/report.json
diff --git a/.gitignore b/.gitignore
index b510ca5d..3411e74c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,10 +7,13 @@ ph_*/
*.sav
*.xMAP
objdiff.json
+/objdiff-cli
+/objdiff-cli.exe
/dsd
/dsd.exe
/dsd.pdb
build.ninja
.ninja_log*
.ninja_lock
+.ninja_deps
/wibo
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7e671659..0eb4c337 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -17,14 +17,13 @@
- `extract/`: Game assets, extracted from your own supplied ROM
- `eur|usa/`: [`ds-rom`](https://github.com/AetiasHax/ds-rom) extract directories
- `include/`: Include files
-- `src/`: Source C/C++ files
+- `libs/`: Source C/C++ files for libraries used by the game
+- `src/`: Source C/C++ files for the game
- `tools/`: Tools for this project
- `mwccarm/`: Compiler toolchain
- `configure.py`: Generates `build.ninja`
- - `m2ctx.py`: Generates context for [decomp.me](https://decomp.me/)
- `mangle.py`: Shows mangled symbol names in a given C/C++ file
- `requirements.txt`: Python libraries
- - `setup.py`: Sets up the project
- `*.sha1`: SHA-1 digests of different versions of the game
## Decompiling
diff --git a/INSTALL.md b/INSTALL.md
index 91c4a96c..713e9451 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -24,23 +24,16 @@ python -m pip install -r tools/requirements.txt
```shell
pre-commit install
```
-5. Run the setup script:
-```shell
-python tools/setup.py
-```
-6. Run the Ninja configure script:
+5. Run the Ninja configure script:
```shell
python tools/configure.py <eur|usa>
```
+6. Put one or more base ROMs in the [`/extract/`](/extract/README.md) directory of this repository.
-> [!IMPORTANT]
-> Rerun `configure.py` often to ensure that all C/C++ code gets compiled.
+Now you can run `ninja` to build a ROM for the chosen version.
> [!NOTE]
> For Linux users: Wibo is used by default. If you want to use Wine instead, run `configure.py` with `-w <path/to/wine>`.
-7. Put one or more base ROMs in the [`/extract/`](/extract/README.md) directory of this repository.
-
-Now you can run `ninja` to build a ROM for the chosen version.
### Matching the base ROM
@@ -53,5 +46,3 @@ ARM7 BIOS in the root directory of this repository, and verify that your dumped
| --------------- | ------------------------------------------ |
| `arm7_bios.bin` | `6ee830c7f552c5bf194c20a2c13d5bb44bdb5c03` |
| `arm7_bios.bin` | `24f67bdea115a2c847c8813a262502ee1607b7df` |
-
-Now, rerun `configure.py` so it can update `build.ninja` to build a matching ROM.
diff --git a/config/eur/arm9/delinks.txt b/config/eur/arm9/delinks.txt
index db4525c5..1e92a4e7 100644
--- a/config/eur/arm9/delinks.txt
+++ b/config/eur/arm9/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02000000 end:0x02050ca0 kind:code align:32
.init start:0x02050ca0 end:0x02050f54 kind:code align:4
- .rodata start:0x02050f54 end:0x0205725c kind:data align:4
- .ctor start:0x0205725c end:0x020572c4 kind:data align:4
+ .rodata start:0x02050f54 end:0x0205725c kind:rodata align:4
+ .ctor start:0x0205725c end:0x020572c4 kind:rodata align:4
.data start:0x020572e0 end:0x02058e20 kind:data align:32
.bss start:0x02058e20 end:0x020773c0 kind:bss align:32
@@ -10,6 +10,9 @@ src/Main/Actor/ActorType.cpp:
.text start:0x0203e784 end:0x0203e8a0
.bss start:0x02069180 end:0x02069188
+src/Main/System/OverlayManager.cpp:
+ .text start:0x0202ff44 end:0x0203003c
+
libs/cpp/src/__register_global_object.cpp:
complete
.text start:0x0204f8d4 end:0x0204f8f4
diff --git a/config/eur/arm9/dtcm/symbols.txt b/config/eur/arm9/dtcm/symbols.txt
index 62eea4b0..585b0761 100644
--- a/config/eur/arm9/dtcm/symbols.txt
+++ b/config/eur/arm9/dtcm/symbols.txt
@@ -72,7 +72,7 @@ data_027e06d8 kind:bss addr:0x27e06d8
data_027e06e4 kind:bss addr:0x27e06e4
data_027e0718 kind:bss addr:0x27e0718
data_027e071c kind:bss addr:0x27e071c
-gRandom kind:bss addr:0x27e0764
+gRandom kind:bss(size=0x18) addr:0x27e0764
data_027e077c kind:bss addr:0x27e077c
data_027e080c kind:bss addr:0x27e080c
data_027e081c kind:bss addr:0x27e081c
diff --git a/config/eur/arm9/itcm/symbols.txt b/config/eur/arm9/itcm/symbols.txt
index dcffc2b4..a6fd3961 100644
--- a/config/eur/arm9/itcm/symbols.txt
+++ b/config/eur/arm9/itcm/symbols.txt
@@ -3,7 +3,7 @@ Mat2p_InitRotation kind:function(thumb,size=0xc) addr:0x1ff8018
Mat2p_Multiply kind:function(arm,size=0xb0) addr:0x1ff8024
Mat3p_InitIdentity kind:function(arm,size=0x24) addr:0x1ff80d4
Mat3p_CopyToMat4x3p kind:function(arm,size=0x2c) addr:0x1ff80f8
-Mat3p_InitScale kind:function(thumb,size=0x14) addr:0x1ff8124
+Mat3p_InitScale kind:function(thumb,size=0x12) addr:0x1ff8124
Mat3p_ScaleColumns kind:function(arm,size=0xc0) addr:0x1ff8138
Mat3p_InitXRotation kind:function(thumb,size=0x1c) addr:0x1ff81f8
Mat3p_InitYRotation kind:function(thumb,size=0x1c) addr:0x1ff8214
@@ -15,18 +15,18 @@ Mat3p_MultiplyVec kind:function(arm,size=0x7c) addr:0x1ff88b0
Mat4x3p_InitIdentity kind:function(arm,size=0x28) addr:0x1ff892c
Mat4x3p_CopyToMat4p kind:function(arm,size=0x34) addr:0x1ff8954
Mat4x3p_func_01ff8988 kind:function(arm,size=0xac) addr:0x1ff8988
-Mat4x3p_InitScale kind:function(thumb,size=0x18) addr:0x1ff8a34
+Mat4x3p_InitScale kind:function(thumb,size=0x16) addr:0x1ff8a34
Mat4x3p_ScaleColumns kind:function(arm,size=0x34) addr:0x1ff8a4c
-Mat4x3p_InitXRotation kind:function(thumb,size=0x20) addr:0x1ff8a80
-Mat4x3p_InitYRotation kind:function(thumb,size=0x1c) addr:0x1ff8aa0
-Mat4x3p_InitZRotation kind:function(thumb,size=0x1c) addr:0x1ff8abc
+Mat4x3p_InitXRotation kind:function(thumb,size=0x1e) addr:0x1ff8a80
+Mat4x3p_InitYRotation kind:function(thumb,size=0x1a) addr:0x1ff8aa0
+Mat4x3p_InitZRotation kind:function(thumb,size=0x1a) addr:0x1ff8abc
Mat4x3p_func_01ff8ad8 kind:function(arm,size=0x20) addr:0x1ff8ad8
Mat4x3p_func_01ff8af8 kind:function(arm,size=0x38c) addr:0x1ff8af8
Mat4x3p_Multiply kind:function(arm,size=0x2d4) addr:0x1ff8e84
Mat4x3p_MultiplyVec kind:function(arm,size=0xa0) addr:0x1ff9158
Mat4p_InitIdentity kind:function(arm,size=0x2c) addr:0x1ff91f8
Mat4p_CopyToMat4x3p kind:function(arm,size=0x34) addr:0x1ff9224
-Mat4p_InitZRotation kind:function(thumb,size=0x24) addr:0x1ff9258
+Mat4p_InitZRotation kind:function(thumb,size=0x22) addr:0x1ff9258
Mat4p_Multiply kind:function(arm,size=0x664) addr:0x1ff927c
CoDivide64By32 kind:function(arm,size=0x10) addr:0x1ff98e0
func_01ff98f0 kind:function(arm,size=0x2c) addr:0x1ff98f0
diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt
index 78534402..56207f63 100644
--- a/config/eur/arm9/overlays/ov000/delinks.txt
+++ b/config/eur/arm9/overlays/ov000/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x020773c0 end:0x020d8770 kind:code align:32
- .rodata start:0x020d8770 end:0x020df338 kind:data align:4
+ .rodata start:0x020d8770 end:0x020df338 kind:rodata align:4
.init start:0x020df338 end:0x020e1e88 kind:code align:4
- .ctor start:0x020e1e88 end:0x020e1f6c kind:data align:4
+ .ctor start:0x020e1e88 end:0x020e1f6c kind:rodata align:4
.data start:0x020e1f80 end:0x020e9320 kind:data align:32
.bss start:0x020e9320 end:0x020ec81c kind:bss align:32
.sbss start:0x020ec81c end:0x020eed40 kind:bss align:4
@@ -16,11 +16,66 @@ src/00_Core/Actor/ActorManager.cpp:
.text start:0x020c33d4 end:0x020c3e54
.data start:0x020e72a8 end:0x020e72f4
+src/00_Core/Actor/ActorSpawner.cpp:
+ complete
+ .text start:0x020c3f9c end:0x020c42d8
+
+src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
+ .text start:0x0208fa70 end:0x020903a8
+ .init start:0x020df678 end:0x020df6b8
+ .ctor start:0x020e1ec4 end:0x020e1ec8
+ .data start:0x020e2928 end:0x020e29e4
+ .sbss start:0x020ecd64 end:0x020ecd84
+
+src/00_Core/Actor/Dungeon/ActorEventIcon.cpp:
+ .text start:0x020904f4 end:0x020908f8
+ .init start:0x020df6f8 end:0x020df738
+ .ctor start:0x020e1ecc end:0x020e1ed0
+ .data start:0x020e2aa0 end:0x020e2b5c
+ .sbss start:0x020ecda4 end:0x020ecdc4
+
+src/00_Core/Actor/Navi/ActorNavi.cpp:
+ .text start:0x020b80e0 end:0x020b85d8
+ .init start:0x020e12d8 end:0x020e133c
+ .ctor start:0x020e1f08 end:0x020e1f0c
+ .data start:0x020e6514 end:0x020e6674
+ .sbss start:0x020ee1a0 end:0x020ee1d8
+
+src/00_Core/Actor/Navi/ActorForceNavi.cpp:
+ complete
+ .text start:0x020b862c end:0x020b86a4
+ .init start:0x020e133c end:0x020e137c
+ .ctor start:0x020e1f0c end:0x020e1f10
+ .data start:0x020e6674 end:0x020e676c
+ .sbss start:0x020ee1d8 end:0x020ee1f8
+
+src/00_Core/Actor/Navi/ActorNaviBase.cpp:
+ .text start:0x020b885c end:0x020bb118
+ .rodata start:0x020dc81c end:0x020dc858
+ .data start:0x020e676c end:0x020e68d4
+ .sbss start:0x020ee1f8 end:0x020ee1fc
+
+src/00_Core/Actor/Dungeon/ActorActionObject.cpp:
+ .text start:0x020be198 end:0x020be418
+ .init start:0x020e1b14 end:0x020e1b54
+ .ctor start:0x020e1f14 end:0x020e1f18
+ .data start:0x020e6d3c end:0x020e6df8
+ .sbss start:0x020ee55c end:0x020ee57c
+
+src/00_Core/Actor/Navi/ActorWisdomNavi.cpp:
+ complete
+ .text start:0x020c0b64 end:0x020c0bdc
+ .init start:0x020e1b54 end:0x020e1b94
+ .ctor start:0x020e1f18 end:0x020e1f1c
+ .data start:0x020e7098 end:0x020e7190
+ .sbss start:0x020ee590 end:0x020ee5b0
+
src/00_Core/Item/Item.cpp:
.text start:0x020ad020 end:0x020ad090
.rodata start:0x020dc574 end:0x020dc6c4
src/00_Core/Item/ItemManager.cpp:
+ complete
.text start:0x020ad090 end:0x020ae790
.rodata start:0x020dc6c4 end:0x020dc6d4
.data start:0x020e5c58 end:0x020e6078
@@ -67,6 +122,7 @@ src/00_Core/Player/LinkStateItem.cpp:
.data start:0x020e5a40 end:0x020e5a8c
src/00_Core/Player/LinkStateMove.cpp:
+ complete
.text start:0x020a8e04 end:0x020a8f74
.data start:0x020e56f0 end:0x020e575c
diff --git a/config/eur/arm9/overlays/ov000/relocs.txt b/config/eur/arm9/overlays/ov000/relocs.txt
index 6ec33322..211e8b34 100644
--- a/config/eur/arm9/overlays/ov000/relocs.txt
+++ b/config/eur/arm9/overlays/ov000/relocs.txt
@@ -5464,6 +5464,7 @@ from:0x020ad8a4 kind:arm_call to:0x020ad714 module:overlay(0)
from:0x020ad8c4 kind:load to:0x027e0d38 module:dtcm
from:0x020ad8c8 kind:load to:0x027e10a4 module:dtcm
from:0x020ad8cc kind:load to:0x027e0900 module:dtcm
+from:0x020ad8d0 kind:overlay_id to:29 module:none
from:0x020ad8d4 kind:load to:0x0217a4ac module:overlays(22,23,24,25,26,29,61)
from:0x020ad8d8 kind:load to:0x027e0e60 module:dtcm
from:0x020ad8dc kind:load to:0x027e0fc8 module:dtcm
@@ -6526,7 +6527,7 @@ from:0x020b8628 kind:load to:0x020dc7f8 module:overlay(0)
from:0x020b8644 kind:arm_call to:0x0202e9dc module:main
from:0x020b8650 kind:arm_call_thumb to:0x02107810 module:overlay(4)
from:0x020b8664 kind:load to:0x027e0fe0 module:dtcm
-from:0x020b8668 kind:load to:0x020e667c module:overlay(0)
+from:0x020b8668 kind:load to:0x020e6674 add:8 module:overlay(0)
from:0x020b867c kind:arm_call_thumb to:0x02107994 module:overlay(4)
from:0x020b8684 kind:arm_call to:0x0202ea0c module:main
from:0x020b8698 kind:arm_call_thumb to:0x02107994 module:overlay(4)
@@ -7436,7 +7437,7 @@ from:0x020c0b5c kind:load to:0x02050f54 module:main
from:0x020c0b7c kind:arm_call to:0x0202e9dc module:main
from:0x020c0b88 kind:arm_call_thumb to:0x02107810 module:overlay(4)
from:0x020c0b9c kind:load to:0x027e0fe0 module:dtcm
-from:0x020c0ba0 kind:load to:0x020e70a0 module:overlay(0)
+from:0x020c0ba0 kind:load to:0x020e7098 add:8 module:overlay(0)
from:0x020c0bb4 kind:arm_call_thumb to:0x02107994 module:overlay(4)
from:0x020c0bbc kind:arm_call to:0x0202ea0c module:main
from:0x020c0bd0 kind:arm_call_thumb to:0x02107994 module:overlay(4)
diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt
index 539b6f97..07354aa5 100644
--- a/config/eur/arm9/overlays/ov000/symbols.txt
+++ b/config/eur/arm9/overlays/ov000/symbols.txt
@@ -1,33 +1,33 @@
func_ov000_020773c0 kind:function(thumb,size=0x44) addr:0x20773c0
-func_ov000_02077404 kind:function(thumb,size=0x24) addr:0x2077404
+func_ov000_02077404 kind:function(thumb,size=0x22) addr:0x2077404
func_ov000_02077428 kind:function(thumb,size=0x18) addr:0x2077428
func_ov000_02077440 kind:function(thumb,size=0x4) addr:0x2077440
-func_ov000_02077444 kind:function(thumb,size=0x10) addr:0x2077444
+func_ov000_02077444 kind:function(thumb,size=0xe) addr:0x2077444
func_ov000_02077454 kind:function(thumb,size=0x4) addr:0x2077454
func_ov000_02077458 kind:function(thumb,size=0x18) addr:0x2077458
func_ov000_02077470 kind:function(thumb,size=0x4) addr:0x2077470
-func_ov000_02077474 kind:function(thumb,size=0x8) addr:0x2077474
+func_ov000_02077474 kind:function(thumb,size=0x6) addr:0x2077474
func_ov000_0207747c kind:function(thumb,size=0x4) addr:0x207747c
func_ov000_02077480 kind:function(thumb,size=0x10) addr:0x2077480
func_ov000_02077490 kind:function(thumb,size=0xc) addr:0x2077490
-func_ov000_0207749c kind:function(thumb,size=0x28) addr:0x207749c
+func_ov000_0207749c kind:function(thumb,size=0x26) addr:0x207749c
func_ov000_020774c4 kind:function(thumb,size=0x8) addr:0x20774c4
func_ov000_020774cc kind:function(thumb,size=0x10) addr:0x20774cc
-func_ov000_020774dc kind:function(thumb,size=0x1c) addr:0x20774dc
-func_ov000_020774f8 kind:function(thumb,size=0x20) addr:0x20774f8
+func_ov000_020774dc kind:function(thumb,size=0x1a) addr:0x20774dc
+func_ov000_020774f8 kind:function(thumb,size=0x1e) addr:0x20774f8
func_ov000_02077518 kind:function(thumb,size=0x20) addr:0x2077518
-func_ov000_02077538 kind:function(thumb,size=0x30) addr:0x2077538
+func_ov000_02077538 kind:function(thumb,size=0x2e) addr:0x2077538
func_ov000_02077568 kind:function(thumb,size=0x10) addr:0x2077568
-func_ov000_02077578 kind:function(thumb,size=0x60) addr:0x2077578
+func_ov000_02077578 kind:function(thumb,size=0x5e) addr:0x2077578
func_ov000_020775d8 kind:function(thumb,size=0x18) addr:0x20775d8
func_ov000_020775f0 kind:function(thumb,size=0x44) addr:0x20775f0
func_ov000_02077634 kind:function(thumb,size=0x60) addr:0x2077634
func_ov000_02077694 kind:function(thumb,size=0x58) addr:0x2077694
func_ov000_020776ec kind:function(thumb,size=0x74) addr:0x20776ec
-func_ov000_02077760 kind:function(thumb,size=0x50) addr:0x2077760
-func_ov000_020777b0 kind:function(thumb,size=0x14) addr:0x20777b0
+func_ov000_02077760 kind:function(thumb,size=0x4e) addr:0x2077760
+func_ov000_020777b0 kind:function(thumb,size=0x12) addr:0x20777b0
func_ov000_020777c4 kind:function(thumb,size=0xc) addr:0x20777c4
-func_ov000_020777d0 kind:function(thumb,size=0x14) addr:0x20777d0
+func_ov000_020777d0 kind:function(thumb,size=0x12) addr:0x20777d0
func_ov000_020777e4 kind:function(thumb,size=0x8) addr:0x20777e4
func_ov000_020777ec kind:function(thumb,size=0x8) addr:0x20777ec
func_ov000_020777f4 kind:function(thumb,size=0x3c) addr:0x20777f4
@@ -35,17 +35,17 @@ func_ov000_02077830 kind:function(thumb,size=0x1c) addr:0x2077830
func_ov000_0207784c kind:function(thumb,size=0x48) addr:0x207784c
func_ov000_02077894 kind:function(thumb,size=0x44) addr:0x2077894
func_ov000_020778d8 kind:function(thumb,size=0x8) addr:0x20778d8
-func_ov000_020778e0 kind:function(thumb,size=0x10) addr:0x20778e0
+func_ov000_020778e0 kind:function(thumb,size=0xe) addr:0x20778e0
func_ov000_020778f0 kind:function(thumb,size=0x8) addr:0x20778f0
func_ov000_020778f8 kind:function(thumb,size=0x34) addr:0x20778f8
-func_ov000_0207792c kind:function(thumb,size=0x1c) addr:0x207792c
+func_ov000_0207792c kind:function(thumb,size=0x1a) addr:0x207792c
func_ov000_02077948 kind:function(thumb,size=0x50) addr:0x2077948
-func_ov000_02077998 kind:function(thumb,size=0x1c) addr:0x2077998
+func_ov000_02077998 kind:function(thumb,size=0x1a) addr:0x2077998
func_ov000_020779b4 kind:function(thumb,size=0x24) addr:0x20779b4
func_ov000_020779d8 kind:function(thumb,size=0x38) addr:0x20779d8
func_ov000_02077a10 kind:function(thumb,size=0x20) addr:0x2077a10
func_ov000_02077a30 kind:function(thumb,size=0x10) addr:0x2077a30
-func_ov000_02077a40 kind:function(thumb,size=0x98) addr:0x2077a40
+func_ov000_02077a40 kind:function(thumb,size=0x96) addr:0x2077a40
func_ov000_02077ad8 kind:function(thumb,size=0x20) addr:0x2077ad8
func_ov000_02077af8 kind:function(thumb,size=0x90) addr:0x2077af8
func_ov000_02077b88 kind:function(thumb,size=0xb0) addr:0x2077b88
@@ -56,9 +56,9 @@ func_ov000_02077cf4 kind:function(thumb,size=0x78) addr:0x2077cf4
func_ov000_02077d6c kind:function(thumb,size=0x10) addr:0x2077d6c
func_ov000_02077d7c kind:function(thumb,size=0x2c) addr:0x2077d7c
func_ov000_02077da8 kind:function(thumb,size=0x28) addr:0x2077da8
-func_ov000_02077dd0 kind:function(thumb,size=0x18) addr:0x2077dd0
-func_ov000_02077de8 kind:function(thumb,size=0x54) addr:0x2077de8
-func_ov000_02077e3c kind:function(thumb,size=0x20) addr:0x2077e3c
+func_ov000_02077dd0 kind:function(thumb,size=0x16) addr:0x2077dd0
+func_ov000_02077de8 kind:function(thumb,size=0x52) addr:0x2077de8
+func_ov000_02077e3c kind:function(thumb,size=0x1e) addr:0x2077e3c
func_ov000_02077e5c kind:function(thumb,size=0x308) addr:0x2077e5c
func_ov000_02078164 kind:function(thumb,size=0x58) addr:0x2078164
func_ov000_020781bc kind:function(thumb,size=0x48) addr:0x20781bc
@@ -69,15 +69,15 @@ func_ov000_02078298 kind:function(thumb,size=0x7c) addr:0x2078298
func_ov000_02078314 kind:function(thumb,size=0x8) addr:0x2078314
func_ov000_0207831c kind:function(thumb,size=0x24c) addr:0x207831c
func_ov000_02078568 kind:function(thumb,size=0xb4) addr:0x2078568
-func_ov000_0207861c kind:function(thumb,size=0x58) addr:0x207861c
+func_ov000_0207861c kind:function(thumb,size=0x56) addr:0x207861c
func_ov000_02078674 kind:function(thumb,size=0x1c) addr:0x2078674
func_ov000_02078690 kind:function(thumb,size=0x11c) addr:0x2078690
func_ov000_020787ac kind:function(thumb,size=0x158) addr:0x20787ac
-func_ov000_02078904 kind:function(thumb,size=0x30) addr:0x2078904
+func_ov000_02078904 kind:function(thumb,size=0x2e) addr:0x2078904
func_ov000_02078934 kind:function(thumb,size=0x38) addr:0x2078934
func_ov000_0207896c kind:function(thumb,size=0x128) addr:0x207896c
-func_ov000_02078a94 kind:function(thumb,size=0x40) addr:0x2078a94
-func_ov000_02078ad4 kind:function(thumb,size=0x38) addr:0x2078ad4
+func_ov000_02078a94 kind:function(thumb,size=0x3e) addr:0x2078a94
+func_ov000_02078ad4 kind:function(thumb,size=0x36) addr:0x2078ad4
func_ov000_02078b0c kind:function(thumb,size=0x34) addr:0x2078b0c
_ZN18UnkStruct_027e0d3819func_ov000_02078b40Ev kind:function(arm,size=0x24) addr:0x2078b40
_ZN18UnkStruct_027e0d3819func_ov000_02078b64Ev kind:function(arm,size=0x24) addr:0x2078b64
@@ -87,7 +87,7 @@ func_ov000_02078bf0 kind:function(thumb,size=0x11c) addr:0x2078bf0
func_ov000_02078d0c kind:function(thumb,size=0x24) addr:0x2078d0c
func_ov000_02078d30 kind:function(thumb,size=0x24) addr:0x2078d30
func_ov000_02078d54 kind:function(thumb,size=0x3c) addr:0x2078d54
-func_ov000_02078d90 kind:function(thumb,size=0x1c) addr:0x2078d90
+func_ov000_02078d90 kind:function(thumb,size=0x1a) addr:0x2078d90
func_ov000_02078dac kind:function(thumb,size=0x54) addr:0x2078dac
func_ov000_02078e00 kind:function(thumb,size=0x154) addr:0x2078e00
func_ov000_02078f54 kind:function(arm,size=0x2c) addr:0x2078f54
@@ -117,10 +117,10 @@ func_ov000_02079a4c kind:function(arm,size=0x44) addr:0x2079a4c
func_ov000_02079a90 kind:function(arm,size=0x24) addr:0x2079a90
func_ov000_02079ab4 kind:function(arm,size=0x80) addr:0x2079ab4
func_ov000_02079b34 kind:function(arm,size=0x20) addr:0x2079b34
-func_ov000_02079b54 kind:function(thumb,size=0x24) addr:0x2079b54
+func_ov000_02079b54 kind:function(thumb,size=0x22) addr:0x2079b54
func_ov000_02079b78 kind:function(arm,size=0x1c) addr:0x2079b78
func_ov000_02079b94 kind:function(arm,size=0x48) addr:0x2079b94
-func_ov000_02079bdc kind:function(thumb,size=0xac) addr:0x2079bdc
+func_ov000_02079bdc kind:function(thumb,size=0xaa) addr:0x2079bdc
func_ov000_02079c88 kind:function(thumb,size=0x50) addr:0x2079c88
func_ov000_02079cd8 kind:function(thumb,size=0xc) addr:0x2079cd8
func_ov000_02079ce4 kind:function(thumb,size=0xc) addr:0x2079ce4
@@ -130,48 +130,48 @@ func_ov000_02079d54 kind:function(thumb,size=0x24) addr:0x2079d54
func_ov000_02079d78 kind:function(thumb,size=0x2c) addr:0x2079d78
func_ov000_02079da4 kind:function(thumb,size=0x24) addr:0x2079da4
func_ov000_02079dc8 kind:function(thumb,size=0x10) addr:0x2079dc8
-func_ov000_02079dd8 kind:function(thumb,size=0x4) addr:0x2079dd8
+func_ov000_02079dd8 kind:function(thumb,size=0x2) addr:0x2079dd8
func_ov000_02079ddc kind:function(thumb,size=0x14) addr:0x2079ddc
func_ov000_02079df0 kind:function(thumb,size=0x14) addr:0x2079df0
func_ov000_02079e04 kind:function(arm,size=0x38) addr:0x2079e04
func_ov000_02079e3c kind:function(arm,size=0x2c) addr:0x2079e3c
func_ov000_02079e68 kind:function(arm,size=0x4c) addr:0x2079e68
func_ov000_02079eb4 kind:function(arm,size=0x24) addr:0x2079eb4
-func_ov000_02079ed8 kind:function(thumb,size=0x24) addr:0x2079ed8
-func_ov000_02079efc kind:function(thumb,size=0x40) addr:0x2079efc
+func_ov000_02079ed8 kind:function(thumb,size=0x22) addr:0x2079ed8
+func_ov000_02079efc kind:function(thumb,size=0x3e) addr:0x2079efc
func_ov000_02079f3c kind:function(thumb,size=0x20) addr:0x2079f3c
func_ov000_02079f5c kind:function(thumb,size=0xa0) addr:0x2079f5c
-LoadNsbTexturedModel kind:function(thumb,size=0x3c) addr:0x2079ffc
-func_ov000_0207a038 kind:function(thumb,size=0x104) addr:0x207a038
+LoadNsbTexturedModel kind:function(thumb,size=0x3a) addr:0x2079ffc
+func_ov000_0207a038 kind:function(thumb,size=0x102) addr:0x207a038
_ZN19Actor_UnkStruct_012C1Ev kind:function(arm,size=0x4c) addr:0x207a13c
_ZN19Actor_UnkStruct_0a4C1Eiiii kind:function(thumb,size=0x1c) addr:0x207a188
func_ov000_0207a1a4 kind:function(arm,size=0x24) addr:0x207a1a4
-func_ov000_0207a1c8 kind:function(arm,size=0xcc) addr:0x207a1c8
+_ZN19Actor_UnkStruct_0a419func_ov000_0207a1c8EiP5Vec3p kind:function(arm,size=0xcc) addr:0x207a1c8
func_ov000_0207a294 kind:function(thumb,size=0x44) addr:0x207a294
func_ov000_0207a2d8 kind:function(arm,size=0x10) addr:0x207a2d8
func_ov000_0207a2e8 kind:function(thumb,size=0x14) addr:0x207a2e8
func_ov000_0207a2fc kind:function(arm,size=0x4) addr:0x207a2fc
func_ov000_0207a300 kind:function(thumb,size=0x8c) addr:0x207a300
-_ZN15SaveItemManagerC1Ev kind:function(thumb,size=0x58) addr:0x207a38c
-func_ov000_0207a3e4 kind:function(thumb,size=0x34) addr:0x207a3e4
+_ZN15SaveItemManagerC1Ev kind:function(thumb,size=0x56) addr:0x207a38c
+func_ov000_0207a3e4 kind:function(thumb,size=0x32) addr:0x207a3e4
func_ov000_0207a418 kind:function(thumb,size=0xbc) addr:0x207a418
-func_ov000_0207a4d4 kind:function(thumb,size=0x1c) addr:0x207a4d4
+func_ov000_0207a4d4 kind:function(thumb,size=0x1a) addr:0x207a4d4
func_ov000_0207a4f0 kind:function(thumb,size=0x24) addr:0x207a4f0
func_ov000_0207a514 kind:function(thumb,size=0x98) addr:0x207a514
func_ov000_0207a5ac kind:function(thumb,size=0x48) addr:0x207a5ac
-func_ov000_0207a5f4 kind:function(thumb,size=0x20) addr:0x207a5f4
+func_ov000_0207a5f4 kind:function(thumb,size=0x1e) addr:0x207a5f4
func_ov000_0207a614 kind:function(thumb,size=0x40) addr:0x207a614
func_ov000_0207a654 kind:function(thumb,size=0x38) addr:0x207a654
-func_ov000_0207a68c kind:function(thumb,size=0x20) addr:0x207a68c
+func_ov000_0207a68c kind:function(thumb,size=0x1e) addr:0x207a68c
func_ov000_0207a6ac kind:function(thumb,size=0x24) addr:0x207a6ac
func_ov000_0207a6d0 kind:function(thumb,size=0x18) addr:0x207a6d0
-func_ov000_0207a6e8 kind:function(thumb,size=0x24) addr:0x207a6e8
+func_ov000_0207a6e8 kind:function(thumb,size=0x22) addr:0x207a6e8
func_ov000_0207a70c kind:function(thumb,size=0x24) addr:0x207a70c
-func_ov000_0207a730 kind:function(thumb,size=0x18) addr:0x207a730
+func_ov000_0207a730 kind:function(thumb,size=0x16) addr:0x207a730
func_ov000_0207a748 kind:function(arm,size=0x4c) addr:0x207a748
func_ov000_0207a794 kind:function(arm,size=0x1c) addr:0x207a794
func_ov000_0207a7b0 kind:function(thumb,size=0x28) addr:0x207a7b0
-func_ov000_0207a7d8 kind:function(thumb,size=0x1c) addr:0x207a7d8
+func_ov000_0207a7d8 kind:function(thumb,size=0x1a) addr:0x207a7d8
func_ov000_0207a7f4 kind:function(arm,size=0x2c) addr:0x207a7f4
func_ov000_0207a820 kind:function(arm,size=0xc0) addr:0x207a820
func_ov000_0207a8e0 kind:function(thumb,size=0x28) addr:0x207a8e0
@@ -225,16 +225,16 @@ func_ov000_0207bb1c kind:function(arm,size=0x30) addr:0x207bb1c
func_ov000_0207bb4c kind:function(arm,size=0xfc) addr:0x207bb4c
func_ov000_0207bc48 kind:function(arm,size=0x20) addr:0x207bc48
func_ov000_0207bc68 kind:function(arm,size=0x14) addr:0x207bc68
-func_ov000_0207bc7c kind:function(thumb,size=0x20) addr:0x207bc7c
+func_ov000_0207bc7c kind:function(thumb,size=0x1e) addr:0x207bc7c
func_ov000_0207bc9c kind:function(arm,size=0x18) addr:0x207bc9c
func_ov000_0207bcb4 kind:function(thumb,size=0x28) addr:0x207bcb4
func_ov000_0207bcdc kind:function(thumb,size=0x70) addr:0x207bcdc
func_ov000_0207bd4c kind:function(thumb,size=0x50) addr:0x207bd4c
func_ov000_0207bd9c kind:function(thumb,size=0x38) addr:0x207bd9c
-func_ov000_0207bdd4 kind:function(thumb,size=0x28) addr:0x207bdd4
-func_ov000_0207bdfc kind:function(thumb,size=0x88) addr:0x207bdfc
+func_ov000_0207bdd4 kind:function(thumb,size=0x26) addr:0x207bdd4
+func_ov000_0207bdfc kind:function(thumb,size=0x86) addr:0x207bdfc
func_ov000_0207be84 kind:function(arm,size=0x140) addr:0x207be84
-func_ov000_0207bfc4 kind:function(thumb,size=0x3c) addr:0x207bfc4
+func_ov000_0207bfc4 kind:function(thumb,size=0x3a) addr:0x207bfc4
func_ov000_0207c000 kind:function(thumb,size=0x30) addr:0x207c000
func_ov000_0207c030 kind:function(thumb,size=0x44) addr:0x207c030
func_ov000_0207c074 kind:function(thumb,size=0x38) addr:0x207c074
@@ -242,8 +242,8 @@ func_ov000_0207c0ac kind:function(thumb,size=0x20) addr:0x207c0ac
func_ov000_0207c0cc kind:function(thumb,size=0x24) addr:0x207c0cc
func_ov000_0207c0f0 kind:function(thumb,size=0x28) addr:0x207c0f0
func_ov000_0207c118 kind:function(thumb,size=0x58) addr:0x207c118
-func_ov000_0207c170 kind:function(thumb,size=0x20) addr:0x207c170
-func_ov000_0207c190 kind:function(thumb,size=0x20) addr:0x207c190
+func_ov000_0207c170 kind:function(thumb,size=0x1e) addr:0x207c170
+func_ov000_0207c190 kind:function(thumb,size=0x1e) addr:0x207c190
func_ov000_0207c1b0 kind:function(arm,size=0x48) addr:0x207c1b0
func_ov000_0207c1f8 kind:function(arm,size=0x68) addr:0x207c1f8
func_ov000_0207c260 kind:function(arm,size=0x88) addr:0x207c260
@@ -255,7 +255,7 @@ func_ov000_0207c3e8 kind:function(arm,size=0x5c) addr:0x207c3e8
func_ov000_0207c444 kind:function(arm,size=0x30) addr:0x207c444
func_ov000_0207c474 kind:function(arm,size=0xa4) addr:0x207c474
func_ov000_0207c518 kind:function(arm,size=0x98) addr:0x207c518
-func_ov000_0207c5b0 kind:function(thumb,size=0x24) addr:0x207c5b0
+func_ov000_0207c5b0 kind:function(thumb,size=0x22) addr:0x207c5b0
func_ov000_0207c5d4 kind:function(arm,size=0x48) addr:0x207c5d4
func_ov000_0207c61c kind:function(arm,size=0x58) addr:0x207c61c
func_ov000_0207c674 kind:function(arm,size=0x20) addr:0x207c674
@@ -601,7 +601,7 @@ _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x20839b
_ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x20839c4
_ZN10MapManager18func_ov00_020839d4Ev kind:function(arm,size=0x24) addr:0x20839d4
_ZN10MapManager18func_ov00_020839f8Ev kind:function(arm,size=0x24) addr:0x20839f8
-_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p kind:function(arm,size=0x38) addr:0x2083a1c
+_ZN10MapManager18func_ov00_02083a1cEP5Vec2bPS_P5Vec3p kind:function(arm,size=0x38) addr:0x2083a1c
_ZN10MapManager18func_ov00_02083a54EiPS_iii kind:function(arm,size=0x130) addr:0x2083a54
_ZN10MapManager18func_ov00_02083b84Ev kind:function(arm,size=0x28) addr:0x2083b84
_ZN10MapManager18func_ov00_02083bacEv kind:function(arm,size=0x28) addr:0x2083bac
@@ -609,7 +609,7 @@ _ZN10MapManager18func_ov00_02083bd4Ev kind:function(arm,size=0x28) addr:0x2083bd
_ZN10MapManager18func_ov00_02083bfcEv kind:function(arm,size=0x28) addr:0x2083bfc
_ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x2083c24
_ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x2083c50
-_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi kind:function(arm,size=0x6c) addr:0x2083c7c
+_ZN10MapManager18func_ov00_02083c7cEP5Vec3p5Vec2b kind:function(arm,size=0x6c) addr:0x2083c7c
_ZN10MapManager18func_ov00_02083ce8Ecccci kind:function(arm,size=0x14c) addr:0x2083ce8
_ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x2083e34
_ZN10MapManager16MapData_vfunc_60Ev kind:function(arm,size=0x18) addr:0x2083e58
@@ -623,7 +623,7 @@ _ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) ad
_ZN10MapManager18GetTileWorldBoundsEP5Vec2bP4AABB kind:function(arm,size=0x64) addr:0x2084024
_ZN10MapManager16MapData_vfunc_54Ev kind:function(arm,size=0x18) addr:0x2084088
_ZN10MapManager18func_ov00_020840a0Ecci kind:function(arm,size=0x24) addr:0x20840a0
-_ZN10MapManager16MapData_vfunc_78Ev kind:function(arm,size=0x18) addr:0x20840c4
+_ZN10MapManager16MapData_vfunc_78EP5Vec2b kind:function(arm,size=0x18) addr:0x20840c4
_ZN10MapManager18func_ov00_020840dcEv kind:function(arm,size=0x24) addr:0x20840dc
_ZN10MapManager18func_ov00_02084100EiPS_ kind:function(arm,size=0x14) addr:0x2084100
_ZN10MapManager17GetMapData_Unk_48Ev kind:function(arm,size=0xc) addr:0x2084114
@@ -653,7 +653,7 @@ _ZN10MapManager17GetMapData_Unk_07Ev kind:function(arm,size=0xc) addr:0x2084990
_ZN10MapManager18func_ov00_0208499cEv kind:function(arm,size=0x24) addr:0x208499c
_ZN10MapManager18func_ov00_020849c0Ev kind:function(arm,size=0x1c) addr:0x20849c0
_ZN10MapManager18func_ov00_020849dcEv kind:function(arm,size=0x1c) addr:0x20849dc
-_ZN10MapManager18func_ov00_020849f8Ei kind:function(arm,size=0x58) addr:0x20849f8
+_ZN10MapManager18func_ov00_020849f8Ev kind:function(arm,size=0x58) addr:0x20849f8
_ZN10MapManager18func_ov00_02084a50Ev kind:function(arm,size=0xc) addr:0x2084a50
_ZN10MapManager8SpawnNPCEP5Vec3pii kind:function(arm,size=0x68) addr:0x2084a5c
_ZN10MapManager18func_ov00_02084ac4Ej kind:function(arm,size=0x44) addr:0x2084ac4
@@ -675,10 +675,10 @@ _ZN10MapManager17GetMapData_Unk_09Ev kind:function(arm,size=0xc) addr:0x2084d18
_ZN10MapManager18func_ov00_02084d24Ecci kind:function(arm,size=0x28) addr:0x2084d24
_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p kind:function(arm,size=0x170) addr:0x2084d4c
_ZN10MapManager18func_ov00_02084ebcEi kind:function(arm,size=0x24c) addr:0x2084ebc
-_ZN10MapManager18func_ov00_02085108EPi kind:function(arm,size=0x174) addr:0x2085108
+_ZN10MapManager18func_ov00_02085108EP5Vec3p kind:function(arm,size=0x174) addr:0x2085108
_ZN10MapManager18func_ov00_0208527cEv kind:function(arm,size=0x180) addr:0x208527c
_ZN10MapManager18func_ov00_020853fcEv kind:function(arm,size=0x198) addr:0x20853fc
-_ZN10MapManager18func_ov00_02085594Ev kind:function(arm,size=0x2a8) addr:0x2085594
+_ZN10MapManager18func_ov00_02085594EP5Vec3p kind:function(arm,size=0x2a8) addr:0x2085594
_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi kind:function(arm,size=0x74) addr:0x208583c
_ZN10MapManager18func_ov00_020858b0Ev kind:function(arm,size=0x184) addr:0x20858b0
_ZN10MapManager18func_ov00_02085a34Eii kind:function(arm,size=0x22c) addr:0x2085a34
@@ -779,7 +779,7 @@ func_ov000_0208aed8 kind:function(arm,size=0x244) addr:0x208aed8
func_ov000_0208b11c kind:function(arm,size=0x20) addr:0x208b11c
func_ov000_0208b13c kind:function(arm,size=0x1c) addr:0x208b13c
func_ov000_0208b158 kind:function(arm,size=0x28) addr:0x208b158
-func_ov000_0208b180 kind:function(arm,size=0x28) addr:0x208b180
+_ZN18UnkStruct_027e0f6419func_ov000_0208b180Ev kind:function(arm,size=0x28) addr:0x208b180
func_ov000_0208b1a8 kind:function(arm,size=0x28) addr:0x208b1a8
func_ov000_0208b1d0 kind:function(arm,size=0x28) addr:0x208b1d0
func_ov000_0208b1f8 kind:function(arm,size=0x28) addr:0x208b1f8
@@ -942,7 +942,7 @@ func_ov000_0208f9f0 kind:function(arm,size=0x1c) addr:0x208f9f0
func_ov000_0208fa0c kind:function(arm,size=0x5c) addr:0x208fa0c
func_ov000_0208fa68 kind:function(arm,size=0x8) addr:0x208fa68
_ZN17ActorSwitchObject6CreateEv kind:function(arm,size=0x78) addr:0x208fa70
-_ZN17ActorSwitchObject8vfunc_08Ev kind:function(arm,size=0x24) addr:0x208fae8
+_ZN17ActorSwitchObject4InitEv kind:function(arm,size=0x24) addr:0x208fae8
_ZN17ActorSwitchObject8vfunc_0cEv kind:function(arm,size=0x34) addr:0x208fb0c
_ZN17ActorSwitchObject8vfunc_14Ej kind:function(arm,size=0xbc) addr:0x208fb40
_ZN17ActorSwitchObject8vfunc_18Ej kind:function(arm,size=0x14) addr:0x208fbfc
@@ -961,11 +961,11 @@ func_ov000_020904c4 kind:function(arm,size=0x14) addr:0x20904c4
func_ov000_020904d8 kind:function(arm,size=0x1c) addr:0x20904d8
_ZN14ActorEventIcon6CreateEv kind:function(arm,size=0x30) addr:0x20904f4
_ZN14ActorEventIconC2Ev kind:function(arm,size=0x5c) addr:0x2090524
-_ZN14ActorEventIcon8vfunc_08Ev kind:function(arm,size=0xb0) addr:0x2090580
+_ZN14ActorEventIcon4InitEv kind:function(arm,size=0xb0) addr:0x2090580
_ZN14ActorEventIcon8vfunc_14Ej kind:function(arm,size=0xc) addr:0x2090630
_ZN14ActorEventIcon8vfunc_18Ej kind:function(arm,size=0xc) addr:0x209063c
_ZN14ActorEventIcon19func_ov000_02090648Ej kind:function(arm,size=0x12c) addr:0x2090648
-_Z19func_ov000_02090774j kind:function(arm,size=0x2c) addr:0x2090774
+_ZN14ActorEventIcon19func_ov000_02090774Ej kind:function(arm,size=0x2c) addr:0x2090774
_ZN14ActorEventIcon8vfunc_1cEPt kind:function(arm,size=0x110) addr:0x20907a0
_ZN14ActorEventIconD1Ev kind:function(arm,size=0x20) addr:0x20908b0
_ZN14ActorEventIconD0Ev kind:function(arm,size=0x28) addr:0x20908d0
@@ -1323,9 +1323,9 @@ _ZN14AdventureFlags18func_ov00_020980acEv kind:function(arm,size=0x10) addr:0x20
_ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x20980bc
_ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x20980d0
_ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x20980f4
-_ZN8FlagsUnk19func_ov000_020980f8Ev kind:function(arm,size=0x4) addr:0x20980f8
-_ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x20980fc
-_ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x2098114
+_Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x20980f8
+_Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x20980fc
+_Z19func_ov000_02098114P15CutsceneHandler kind:function(arm,size=0x3c) addr:0x2098114
_ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x2098150
_ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x20981b8
_ZN15CutsceneHandler19func_ov000_020985c0Ev kind:function(arm,size=0x4) addr:0x20985c0
@@ -1877,7 +1877,7 @@ _ZN10PlayerBase9AddHealthEs kind:function(arm,size=0x68) addr:0x20a7d8c
_ZN10PlayerBase8TeleportEP5Vec3psibb kind:function(arm,size=0x7c) addr:0x20a7df4
_ZN10PlayerBase18TeleportToEntranceEib kind:function(arm,size=0x118) addr:0x20a7e70
_ZN10PlayerBase22TeleportToLastEntranceEb kind:function(arm,size=0x1c) addr:0x20a7f88
-_ZN13LinkStateBase8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20a7fa4
+_ZN13LinkStateBase8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20a7fa4
_ZN13LinkStateBase12OnStateEnterEv kind:function(arm,size=0x4) addr:0x20a7fa8
_ZN13LinkStateBase12OnStateLeaveEi kind:function(arm,size=0x4) addr:0x20a7fac
_ZN13LinkStateBase8vfunc_20Ei kind:function(arm,size=0x8) addr:0x20a7fb0
@@ -1893,7 +1893,7 @@ _ZN13LinkStateBase22UpdateSwordShieldInUseEv kind:function(arm,size=0x18) addr:0
_ZN13LinkStateBase18func_ov00_020a81b8Eii kind:function(arm,size=0x24) addr:0x20a81b8
_ZN13LinkStateBase16GetLinkItemStateEv kind:function(arm,size=0x10) addr:0x20a81dc
_ZN13LinkStateBase6LookAtEP5Vec3p kind:function(arm,size=0x10) addr:0x20a81ec
-_ZN13LinkStateBase18func_ov00_020a81fcEv kind:function(arm,size=0x10) addr:0x20a81fc
+_ZN13LinkStateBase18func_ov00_020a81fcEP5Vec3pi kind:function(arm,size=0x10) addr:0x20a81fc
_ZN13LinkStateBase9AddHealthEs kind:function(arm,size=0x18) addr:0x20a820c
_ZN13LinkStateBase18func_ov00_020a8224Ei kind:function(arm,size=0x14) addr:0x20a8224
_ZN13LinkStateBase6TurnToEsii kind:function(arm,size=0x44) addr:0x20a8238
@@ -1915,7 +1915,7 @@ _ZN13LinkStateBase18func_ov00_020a8638Ei kind:function(arm,size=0x30) addr:0x20a
_ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et kind:function(arm,size=0x18) addr:0x20a8668
_ZN13LinkStateBase18func_ov00_020a8680Eisb kind:function(arm,size=0x5c) addr:0x20a8680
_ZN13LinkStateBase33PlayerLinkBase_func_ov00_020bccc8Ev kind:function(arm,size=0x10) addr:0x20a86dc
-_ZN13LinkStateBase23PlayerLinkBase_vfunc_58Ev kind:function(arm,size=0x18) addr:0x20a86ec
+_ZN13LinkStateBase23PlayerLinkBase_vfunc_58EiP8ActorRef kind:function(arm,size=0x18) addr:0x20a86ec
_ZN13LinkStateBase18func_ov00_020a8704EPs kind:function(arm,size=0x70) addr:0x20a8704
_ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi kind:function(arm,size=0xd0) addr:0x20a8774
_ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb kind:function(arm,size=0x110) addr:0x20a8844
@@ -1923,7 +1923,7 @@ _ZN13LinkStateBase18func_ov00_020a8954EbPi kind:function(arm,size=0x40) addr:0x2
_ZN13LinkStateBase18func_ov00_020a8994Ev kind:function(arm,size=0x28) addr:0x20a8994
_ZN13LinkStateBase18func_ov00_020a89bcEii kind:function(arm,size=0x4c) addr:0x20a89bc
_ZN13LinkStateBase18func_ov00_020a8a08Ei kind:function(arm,size=0x44) addr:0x20a8a08
-_ZN13LinkStateBase18func_ov00_020a8a4cEii kind:function(arm,size=0x44) addr:0x20a8a4c
+_ZN13LinkStateBase18func_ov00_020a8a4cEPKvi kind:function(arm,size=0x44) addr:0x20a8a4c
_ZN13LinkStateBase18func_ov00_020a8a90Ei kind:function(arm,size=0x20) addr:0x20a8a90
_ZN13LinkStateBase18func_ov00_020a8ab0Ei kind:function(arm,size=0x20) addr:0x20a8ab0
_ZN13LinkStateBase18func_ov00_020a8ad0Ei kind:function(arm,size=0x34) addr:0x20a8ad0
@@ -1960,7 +1960,7 @@ _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev kind:function(arm,size=0x14)
_ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev kind:function(arm,size=0xc) addr:0x20a8de0
_ZN13LinkStateBase18GetDebugHierarchy0Ev kind:function(arm,size=0xc) addr:0x20a8dec
_ZN13LinkStateBase18GetDebugHierarchy1Ev kind:function(arm,size=0xc) addr:0x20a8df8
-_ZN13LinkStateMove8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20a8e04
+_ZN13LinkStateMove8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20a8e04
_ZN13LinkStateMove5GetIdEv kind:function(arm,size=0x8) addr:0x20a8e08
_ZN13LinkStateMove20CreateDebugHierarchyEv kind:function(thumb,size=0x48) addr:0x20a8e10
_ZN13LinkStateMove12OnStateEnterEv kind:function(arm,size=0x74) addr:0x20a8e58
@@ -1968,7 +1968,7 @@ _ZN13LinkStateMove12OnStateLeaveEi kind:function(arm,size=0x20) addr:0x20a8ecc
_ZN13LinkStateMove8vfunc_24Ei kind:function(arm,size=0x40) addr:0x20a8eec
_ZN13LinkStateMove18func_ov00_020a8f2cEv kind:function(arm,size=0x20) addr:0x20a8f2c
_ZN13LinkStateMove18func_ov00_020a8f4cEv kind:function(arm,size=0x28) addr:0x20a8f4c
-_ZN15LinkStateFollow8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20a8f74
+_ZN15LinkStateFollow8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20a8f74
_ZN15LinkStateFollow5GetIdEv kind:function(arm,size=0x8) addr:0x20a8f78
_ZN15LinkStateFollow16MoveTowardTargetEv kind:function(arm,size=0xa8) addr:0x20a8f80
_ZN15LinkStateFollow12OnStateLeaveEi kind:function(arm,size=0x88) addr:0x20a9028
@@ -2017,21 +2017,21 @@ func_ov000_020a9a20 kind:function(thumb,size=0x20) addr:0x20a9a20
func_ov000_020a9a40 kind:function(thumb,size=0x28) addr:0x20a9a40
func_ov000_020a9a68 kind:function(thumb,size=0x24) addr:0x20a9a68
func_ov000_020a9a8c kind:function(thumb,size=0xc) addr:0x20a9a8c
-func_ov000_020a9a98 kind:function(thumb,size=0x14) addr:0x20a9a98
+func_ov000_020a9a98 kind:function(thumb,size=0x12) addr:0x20a9a98
func_ov000_020a9aac kind:function(thumb,size=0xc) addr:0x20a9aac
-func_ov000_020a9ab8 kind:function(thumb,size=0x14) addr:0x20a9ab8
+func_ov000_020a9ab8 kind:function(thumb,size=0x12) addr:0x20a9ab8
func_ov000_020a9acc kind:function(thumb,size=0xc) addr:0x20a9acc
-func_ov000_020a9ad8 kind:function(thumb,size=0x14) addr:0x20a9ad8
+func_ov000_020a9ad8 kind:function(thumb,size=0x12) addr:0x20a9ad8
func_ov000_020a9aec kind:function(thumb,size=0xc) addr:0x20a9aec
-func_ov000_020a9af8 kind:function(thumb,size=0x14) addr:0x20a9af8
+func_ov000_020a9af8 kind:function(thumb,size=0x12) addr:0x20a9af8
func_ov000_020a9b0c kind:function(thumb,size=0xc) addr:0x20a9b0c
-func_ov000_020a9b18 kind:function(thumb,size=0x14) addr:0x20a9b18
+func_ov000_020a9b18 kind:function(thumb,size=0x12) addr:0x20a9b18
func_ov000_020a9b2c kind:function(thumb,size=0xc) addr:0x20a9b2c
-func_ov000_020a9b38 kind:function(thumb,size=0x14) addr:0x20a9b38
+func_ov000_020a9b38 kind:function(thumb,size=0x12) addr:0x20a9b38
func_ov000_020a9b4c kind:function(thumb,size=0xc) addr:0x20a9b4c
-func_ov000_020a9b58 kind:function(thumb,size=0x14) addr:0x20a9b58
+func_ov000_020a9b58 kind:function(thumb,size=0x12) addr:0x20a9b58
func_ov000_020a9b6c kind:function(thumb,size=0xc) addr:0x20a9b6c
-func_ov000_020a9b78 kind:function(thumb,size=0x14) addr:0x20a9b78
+func_ov000_020a9b78 kind:function(thumb,size=0x12) addr:0x20a9b78
func_ov000_020a9b8c kind:function(arm,size=0x2c) addr:0x20a9b8c
func_ov000_020a9bb8 kind:function(arm,size=0x34) addr:0x20a9bb8
func_ov000_020a9bec kind:function(arm,size=0x28) addr:0x20a9bec
@@ -2046,7 +2046,7 @@ func_ov000_020a9f10 kind:function(arm,size=0x174) addr:0x20a9f10
func_ov000_020aa084 kind:function(arm,size=0x6c) addr:0x20aa084
func_ov000_020aa0f0 kind:function(arm,size=0x34) addr:0x20aa0f0
func_ov000_020aa124 kind:function(arm,size=0x208) addr:0x20aa124
-_ZN17LinkStateInteract8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20aa32c
+_ZN17LinkStateInteract8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20aa32c
_ZN17LinkStateInteract5GetIdEv kind:function(arm,size=0x8) addr:0x20aa330
_ZN17LinkStateInteract20CreateDebugHierarchyEv kind:function(arm,size=0x24) addr:0x20aa338
_ZN17LinkStateInteract14GetGrabActorIdEv kind:function(thumb,size=0x1d8) addr:0x20aa35c
@@ -2074,7 +2074,7 @@ _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef kind:function(arm,size=0x3
_ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef kind:function(arm,size=0x28) addr:0x20abc18
_ZN17LinkStateInteract18func_ov00_020abc40Ev kind:function(arm,size=0x38) addr:0x20abc40
_ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef kind:function(arm,size=0x100) addr:0x20abc78
-_ZN13LinkStateItem8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20abd78
+_ZN13LinkStateItem8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20abd78
_ZN13LinkStateItem5GetIdEv kind:function(arm,size=0x8) addr:0x20abd7c
_ZN13LinkStateItem16IsHammerEquippedEv kind:function(arm,size=0x1c) addr:0x20abd84
_ZN13LinkStateItem12OnStateLeaveEi kind:function(arm,size=0x1b0) addr:0x20abda0
@@ -2082,7 +2082,7 @@ _ZN13LinkStateItem15GetEquipBombchuEv kind:function(arm,size=0x10) addr:0x20abf5
_ZN13LinkStateItem16GetLinkStateMoveEv kind:function(arm,size=0x10) addr:0x20abf60
_ZN13LinkStateItem18func_ov00_020abf70Ev kind:function(arm,size=0x20) addr:0x20abf70
_ZN13LinkStateItem8vfunc_28Ev kind:function(arm,size=0x14) addr:0x20abf90
-_ZN15LinkStateDamage8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20abfa4
+_ZN15LinkStateDamage8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20abfa4
_ZN15LinkStateDamage20CreateDebugHierarchyEv kind:function(thumb,size=0x218) addr:0x20abfa8
_ZN15LinkStateDamage12OnStateEnterEv kind:function(arm,size=0x630) addr:0x20ac1c0
_ZN15LinkStateDamage12OnStateLeaveEi kind:function(arm,size=0x1f4) addr:0x20ac7f0
@@ -2097,11 +2097,11 @@ _ZN15LinkStateDamage8vfunc_20Ei kind:function(arm,size=0xc0) addr:0x20acf28
_ZN15LinkStateDamage18func_ov00_020acfe8Eb kind:function(arm,size=0x30) addr:0x20acfe8
_ZN15LinkStateDamage5GetIdEv kind:function(arm,size=0x8) addr:0x20ad018
_ZN4Item18func_ov00_020ad020Ei kind:function(thumb,size=0x48) addr:0x20ad020
-_ZN4Item18func_ov00_020ad068Ei kind:function(thumb,size=0x28) addr:0x20ad068
+_ZN4Item18func_ov00_020ad068Ei kind:function(thumb,size=0x26) addr:0x20ad068
_ZN11ItemManager6CreateEv kind:function(thumb,size=0x28) addr:0x20ad090
_ZN11ItemManager7DestroyEv kind:function(thumb,size=0x24) addr:0x20ad0b8
_ZN11ItemManager21ClearPrevEquippedItemEv kind:function(thumb,size=0x8) addr:0x20ad0dc
-_ZN11ItemManager4SaveEP15SaveItemManager kind:function(thumb,size=0x160) addr:0x20ad0e4
+_ZN11ItemManager4SaveEP15SaveItemManager kind:function(thumb,size=0x15e) addr:0x20ad0e4
_ZN11ItemManager4LoadEPK15SaveItemManager kind:function(thumb,size=0x1d0) addr:0x20ad244
_ZNK11ItemManager16GetEquippedFairyEv kind:function(arm,size=0x14) addr:0x20ad414
_ZNK11ItemManager8GetFairyEi kind:function(arm,size=0xc) addr:0x20ad428
@@ -2119,16 +2119,16 @@ _ZN11ItemManager17EquipCollidesWithEP8Cylinderi kind:function(arm,size=0x80) add
_ZN11ItemManager18EquipItem_vfunc_2cEi kind:function(arm,size=0x1c) addr:0x20ad6f8
_ZN11ItemManager12GetEquipItemEi kind:function(arm,size=0x18) addr:0x20ad714
_ZNK11ItemManager7GetAmmoEi kind:function(arm,size=0x10) addr:0x20ad72c
-_ZN11ItemManager8GiveAmmoEit kind:function(arm,size=0x54) addr:0x20ad73c
+_ZN11ItemManager8GiveAmmoEij kind:function(arm,size=0x54) addr:0x20ad73c
_ZN11ItemManager18func_ov00_020ad790Ei kind:function(arm,size=0x150) addr:0x20ad790
_ZNK11ItemManager19GetEquippedShipPartEj kind:function(thumb,size=0x8) addr:0x20ad8e0
_ZN11ItemManager13EquipShipPartEjj kind:function(thumb,size=0x8) addr:0x20ad8e8
-_ZNK11ItemManager16GetShipPartCountEjj kind:function(thumb,size=0x10) addr:0x20ad8f0
+_ZNK11ItemManager16GetShipPartCountEjj kind:function(thumb,size=0xe) addr:0x20ad8f0
_ZN11ItemManager16SetShipPartCountEjjc kind:function(thumb,size=0x18) addr:0x20ad900
_ZNK11ItemManager16GetTreasureCountEj kind:function(thumb,size=0x8) addr:0x20ad918
-_ZN11ItemManager16SetTreasureCountEjc kind:function(thumb,size=0x10) addr:0x20ad920
+_ZN11ItemManager16SetTreasureCountEjc kind:function(thumb,size=0xe) addr:0x20ad920
_ZNK11ItemManager10GetUnk_098Ej kind:function(thumb,size=0x8) addr:0x20ad930
-_ZNK11ItemManager10GetUnk_09eEj kind:function(thumb,size=0xc) addr:0x20ad938
+_ZNK11ItemManager10GetUnk_09eEj kind:function(thumb,size=0xa) addr:0x20ad938
_ZNK11ItemManager18GetUnk_09e_DividedEj kind:function(thumb,size=0x28) addr:0x20ad944
_ZN11ItemManager10SetUnk_09eEjt kind:function(thumb,size=0x34) addr:0x20ad96c
_ZNK11ItemManager10GetMaxAmmoEi kind:function(thumb,size=0x40) addr:0x20ad9a0
@@ -2137,15 +2137,15 @@ _ZNK11ItemManager19GetMaxTreasureCountEv kind:function(thumb,size=0x4) addr:0x20
_ZNK11ItemManager19GetActiveFairyLevelEi kind:function(arm,size=0x60) addr:0x20ad9e8
_ZNK11ItemManager13GetFairyLevelEi kind:function(arm,size=0x30) addr:0x20ada48
_ZNK11ItemManager7HasItemEi kind:function(arm,size=0x20) addr:0x20ada78
-_ZN11ItemManager7AddItemEi kind:function(thumb,size=0x24) addr:0x20ada98
+_ZN11ItemManager7AddItemEi kind:function(thumb,size=0x22) addr:0x20ada98
_ZNK11ItemManager18IsTreasureSalvagedEj kind:function(arm,size=0x20) addr:0x20adabc
-_ZN11ItemManager19SetTreasureSalvagedEj kind:function(thumb,size=0x24) addr:0x20adadc
+_ZN11ItemManager19SetTreasureSalvagedEj kind:function(thumb,size=0x22) addr:0x20adadc
_ZN11ItemManager10RemoveItemEi kind:function(thumb,size=0x30) addr:0x20adb00
_ZN11ItemManager15LoadFanfareItemEi kind:function(thumb,size=0x178) addr:0x20adb30
_ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p kind:function(thumb,size=0x34) addr:0x20adca8
_ZN11ItemManager8GiveItemEi kind:function(thumb,size=0x59c) addr:0x20adcdc
-_ZN11ItemManager13GiveEquipItemEit kind:function(thumb,size=0x48) addr:0x20ae278
-_ZN11ItemManager13UnequipPotionEv kind:function(thumb,size=0x14) addr:0x20ae2c0
+_ZN11ItemManager13GiveEquipItemEit kind:function(thumb,size=0x46) addr:0x20ae278
+_ZN11ItemManager13UnequipPotionEv kind:function(thumb,size=0x12) addr:0x20ae2c0
_ZNK11ItemManager12GetMaxRupeesEv kind:function(arm,size=0xc) addr:0x20ae2d4
_ZN11ItemManager10GiveRupeesEib kind:function(arm,size=0x70) addr:0x20ae2e0
_ZNK11ItemManager10GetNumKeysEv kind:function(arm,size=0x18) addr:0x20ae350
@@ -2153,12 +2153,12 @@ _ZN11ItemManager8GiveKeysEj kind:function(thumb,size=0x28) addr:0x20ae368
_ZNK11ItemManager15GetEquippedItemEv kind:function(arm,size=0x18) addr:0x20ae390
_ZN11ItemManager15SetEquippedItemEi kind:function(arm,size=0x18) addr:0x20ae3a8
_ZN11ItemManager17EquipPreviousItemEv kind:function(arm,size=0x10) addr:0x20ae3c0
-_ZN11ItemManager14ForceEquipItemEi kind:function(thumb,size=0x30) addr:0x20ae3d0
+_ZN11ItemManager14ForceEquipItemEi kind:function(thumb,size=0x2e) addr:0x20ae3d0
_ZN11ItemManager20ClearForcedEquipItemEv kind:function(thumb,size=0x18) addr:0x20ae400
_ZN11ItemManager22UpdateSwordShieldInUseEv kind:function(arm,size=0x40) addr:0x20ae418
-_ZN11ItemManager13UpgradeQuiverEv kind:function(thumb,size=0x2c) addr:0x20ae458
-_ZN11ItemManager14UpgradeBombBagEv kind:function(thumb,size=0x2c) addr:0x20ae484
-_ZN11ItemManager17UpgradeBombchuBagEv kind:function(thumb,size=0x2c) addr:0x20ae4b0
+_ZN11ItemManager13UpgradeQuiverEv kind:function(thumb,size=0x2a) addr:0x20ae458
+_ZN11ItemManager14UpgradeBombBagEv kind:function(thumb,size=0x2a) addr:0x20ae484
+_ZN11ItemManager17UpgradeBombchuBagEv kind:function(thumb,size=0x2a) addr:0x20ae4b0
_ZN11ItemManager18func_ov00_020ae4dcEi kind:function(arm,size=0x30) addr:0x20ae4dc
_ZN11ItemManager9SetPotionEjh kind:function(arm,size=0x58) addr:0x20ae50c
_ZNK11ItemManager9HasPotionEj kind:function(arm,size=0x34) addr:0x20ae564
@@ -2168,9 +2168,9 @@ _ZN11ItemManager21LoadDungeonItemModelsEv kind:function(thumb,size=0x4c) addr:0x
_ZN11ItemManager18PlayItemFanfareSfxEi kind:function(thumb,size=0xa8) addr:0x20ae648
_ZNK11ItemManager21HasShipPartPriceShownEjj kind:function(thumb,size=0x2c) addr:0x20ae6f0
_ZN11ItemManager21AddShipPartPriceShownEjj kind:function(thumb,size=0x28) addr:0x20ae71c
-_ZNK11ItemManager21HasTreasurePriceShownEj kind:function(thumb,size=0x28) addr:0x20ae744
-_ZN11ItemManager21AddTreasurePriceShownEj kind:function(thumb,size=0x24) addr:0x20ae76c
-_ZN13LinkStateRoll8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20ae790
+_ZNK11ItemManager21HasTreasurePriceShownEj kind:function(thumb,size=0x26) addr:0x20ae744
+_ZN11ItemManager21AddTreasurePriceShownEj kind:function(thumb,size=0x22) addr:0x20ae76c
+_ZN13LinkStateRoll8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20ae790
_ZN13LinkStateRoll5GetIdEv kind:function(arm,size=0x8) addr:0x20ae794
_ZN13LinkStateRoll20CreateDebugHierarchyEv kind:function(thumb,size=0x8) addr:0x20ae79c
_ZN13LinkStateRoll12OnStateEnterEv kind:function(arm,size=0x394) addr:0x20ae7a4
@@ -2179,12 +2179,12 @@ _ZN13LinkStateRoll8vfunc_20Ei kind:function(arm,size=0x180) addr:0x20aec10
_ZN13LinkStateRoll8vfunc_24Ei kind:function(arm,size=0xc8) addr:0x20aed90
_ZN13LinkStateRoll18func_ov00_020aee58Est kind:function(arm,size=0x2c) addr:0x20aee58
_ZN13LinkStateRoll18func_ov00_020aee84Ev kind:function(arm,size=0x28) addr:0x20aee84
-_ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv kind:function(arm,size=0x4c) addr:0x20aeeac
+_ZN13PlayerControl18func_ov00_020aeeacEv kind:function(arm,size=0x4c) addr:0x20aeeac
_ZN13PlayerControl18func_ov00_020aeef8Ev kind:function(arm,size=0x38) addr:0x20aeef8
_ZN13PlayerControl18func_ov00_020aef30Ev kind:function(thumb,size=0x38) addr:0x20aef30
_ZN13PlayerControl9UpdateAimEv kind:function(thumb,size=0x94) addr:0x20aef68
_ZN13PlayerControl14GetFollowActorEv kind:function(arm,size=0x20) addr:0x20aeffc
-_ZN13PlayerControl18func_ov00_020af01cEPc kind:function(arm,size=0x28) addr:0x20af01c
+_ZN13PlayerControl18func_ov00_020af01cEP5Vec2b kind:function(arm,size=0x28) addr:0x20af01c
_ZN13PlayerControl9SetUnk_80Ev kind:function(arm,size=0xc) addr:0x20af044
_ZN13PlayerControl13StopFollowingEv kind:function(arm,size=0x1c) addr:0x20af050
_ZN13PlayerControl18func_ov00_020af06cEv kind:function(arm,size=0x22c) addr:0x20af06c
@@ -2195,24 +2195,24 @@ _ZN13PlayerControl17CheckUntouchedNowEj kind:function(arm,size=0x30) addr:0x20af
_ZN13PlayerControl13CheckTouchingEj kind:function(arm,size=0x28) addr:0x20af42c
_ZN13PlayerControl14CheckTouchFastEj kind:function(arm,size=0x50) addr:0x20af454
_ZN13PlayerControl18func_ov00_020af4a4Ev kind:function(arm,size=0x94) addr:0x20af4a4
-_ZN13PlayerControl18func_ov00_020af538Ev kind:function(arm,size=0x1ac) addr:0x20af538
+_ZN13PlayerControl18func_ov00_020af538Ebh kind:function(arm,size=0x1ac) addr:0x20af538
_ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii kind:function(arm,size=0x94) addr:0x20af6e4
_ZN13PlayerControl18func_ov00_020af778Ev kind:function(arm,size=0x360) addr:0x20af778
_ZN13PlayerControl18func_ov00_020afad8EP5Vec3p kind:function(arm,size=0x94) addr:0x20afad8
_ZN13PlayerControl18func_ov00_020afb6cEv kind:function(arm,size=0x31c) addr:0x20afb6c
_ZN13PlayerControl18func_ov00_020afe88Eib kind:function(arm,size=0x64) addr:0x20afe88
_ZN13PlayerControl18func_ov00_020afeecEib kind:function(arm,size=0xa4) addr:0x20afeec
-_ZN13PlayerControl18func_ov00_020aff90Eii kind:function(arm,size=0x5c) addr:0x20aff90
+_ZN13PlayerControl18func_ov00_020aff90EP5Vec3pi kind:function(arm,size=0x5c) addr:0x20aff90
_ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_ kind:function(arm,size=0x160) addr:0x20affec
-_ZN13PlayerControl18func_ov00_020b014cEv kind:function(arm,size=0xd0) addr:0x20b014c
-_ZN13PlayerControl6SetAimEv kind:function(arm,size=0x24) addr:0x20b021c
+_ZN13PlayerControl18func_ov00_020b014cEP5Vec3p kind:function(arm,size=0xd0) addr:0x20b014c
+_ZN13PlayerControl8ResetAimEv kind:function(arm,size=0x24) addr:0x20b021c
_ZN13PlayerControl14UpdateAimWorldEP5Vec3p kind:function(arm,size=0xe8) addr:0x20b0240
_ZN13PlayerControl13GetTouchAngleEv kind:function(arm,size=0x24) addr:0x20b0328
_ZN13PlayerControl18func_ov00_020b034cEv kind:function(arm,size=0xcc) addr:0x20b034c
_ZN13PlayerControl18func_ov00_020b0418Ev kind:function(arm,size=0x84) addr:0x20b0418
_ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb kind:function(arm,size=0x14c) addr:0x20b049c
_ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p kind:function(arm,size=0x190) addr:0x20b05e8
-_ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji kind:function(arm,size=0x33c) addr:0x20b0778
+_ZN13PlayerControl18func_ov00_020b0778EP5Vec3pjPi kind:function(arm,size=0x33c) addr:0x20b0778
_ZN13PlayerControl16CheckNotTouchingEv kind:function(arm,size=0x1c) addr:0x20b0ab4
_ZN13PlayerControl18func_ov00_020b0ad0EP5Actor kind:function(arm,size=0x3c) addr:0x20b0ad0
_ZN13PlayerControl18func_ov00_020b0b0cEPsPiS1_Pb kind:function(arm,size=0x2dc) addr:0x20b0b0c
@@ -2233,7 +2233,7 @@ func_ov000_020b1498 kind:function(arm,size=0x90) addr:0x20b1498
_ZN24UnkStruct_ov000_020b1528C2Ev kind:function(thumb,size=0x14) addr:0x20b1528
_ZN24UnkStruct_ov000_020b1528C1Ev kind:function(thumb,size=0x14) addr:0x20b153c
_ZN24UnkStruct_ov000_020b1528D1Ev kind:function(thumb,size=0xc) addr:0x20b1550
-_ZN24UnkStruct_ov000_020b1528D0Ev kind:function(thumb,size=0x14) addr:0x20b155c
+_ZN24UnkStruct_ov000_020b1528D0Ev kind:function(thumb,size=0x12) addr:0x20b155c
_ZN24UnkStruct_ov000_020b1528D2Ev kind:function(thumb,size=0xc) addr:0x20b1570
_ZN24UnkStruct_ov000_020b15285ClearEv kind:function(arm,size=0x1c) addr:0x20b157c
_ZN24UnkStruct_ov000_020b15288vfunc_08Ev kind:function(arm,size=0x8) addr:0x20b1598
@@ -2252,7 +2252,7 @@ func_ov000_020b1bfc kind:function(arm,size=0x140) addr:0x20b1bfc
func_ov000_020b1d3c kind:function(arm,size=0x34) addr:0x20b1d3c
func_ov000_020b1d70 kind:function(arm,size=0xa8) addr:0x20b1d70
IsXzDistWithin kind:function(arm,size=0x54) addr:0x20b1e18
-_ZN17LinkStateCutscene8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20b1e6c
+_ZN17LinkStateCutscene8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20b1e6c
_ZN24UnkStruct_ov004_0210abb88vfunc_08Ei kind:function(arm,size=0x28) addr:0x20b1e70
_ZN17LinkStateCutscene19func_ov000_020b1e98Ei kind:function(arm,size=0x20) addr:0x20b1e98
_ZN17LinkStateCutscene19func_ov000_020b1eb8Ev kind:function(arm,size=0x34) addr:0x20b1eb8
@@ -2288,7 +2288,7 @@ _ZN17LinkStateCutscene8vfunc_40Ev kind:function(arm,size=0x78) addr:0x20b3d6c
_ZN17LinkStateCutscene8vfunc_38Ev kind:function(arm,size=0x94) addr:0x20b3de4
_ZN24UnkStruct_ov004_0210abb8D1Ev kind:function(arm,size=0x1c) addr:0x20b3e78
_ZN24UnkStruct_ov004_0210abb8D0Ev kind:function(arm,size=0x14) addr:0x20b3e94
-func_ov000_020b3ea8 kind:function(thumb,size=0x4) addr:0x20b3ea8
+func_ov000_020b3ea8 kind:function(thumb,size=0x2) addr:0x20b3ea8
func_ov000_020b3eac kind:function(arm,size=0x18) addr:0x20b3eac
func_ov000_020b3ec4 kind:function(arm,size=0x24) addr:0x20b3ec4
func_ov000_020b3ee8 kind:function(arm,size=0x3c) addr:0x20b3ee8
@@ -2348,8 +2348,8 @@ _ZN23UnkStruct_027e0fd4_Unk18vfunc_14Ev kind:function(arm,size=0x14) addr:0x20b4
_Z19func_ov000_020b4b60ii kind:function(arm,size=0x30) addr:0x20b4b60
_ZN18UnkStruct_027e0fd4C2Ev kind:function(thumb,size=0x78) addr:0x20b4b90
_ZN18UnkStruct_027e0fd4D1Ev kind:function(thumb,size=0xc) addr:0x20b4c08
-_ZN18UnkStruct_027e0fd4D0Ev kind:function(thumb,size=0x14) addr:0x20b4c14
-_ZN18UnkStruct_027e0fd48vfunc_1cEv kind:function(thumb,size=0x4) addr:0x20b4c28
+_ZN18UnkStruct_027e0fd4D0Ev kind:function(thumb,size=0x12) addr:0x20b4c14
+_ZN18UnkStruct_027e0fd48vfunc_1cEv kind:function(thumb,size=0x2) addr:0x20b4c28
_ZN18UnkStruct_027e0fd419func_Ov000_020b4c2cEv kind:function(arm,size=0x20) addr:0x20b4c2c
_ZN18UnkStruct_027e0fd419func_ov000_020b4c4cEP5Vec3pi kind:function(thumb,size=0xb4) addr:0x20b4c4c
_ZN18UnkStruct_027e0fd419func_ov000_020b4d00Ev kind:function(thumb,size=0x28) addr:0x20b4d00
@@ -2397,40 +2397,40 @@ func_ov000_020b7fe8 kind:function(arm,size=0x14) addr:0x20b7fe8
_ZN13PlayerManager4SaveEP15SaveItemManager kind:function(thumb,size=0x50) addr:0x20b7ffc
_ZN13PlayerManager17IncreaseMaxHealthEs kind:function(thumb,size=0x14) addr:0x20b804c
_ZN13PlayerManager19UpdateShipMaxHealthEv kind:function(thumb,size=0x80) addr:0x20b8060
-func_ov000_020b80e0 kind:function(arm,size=0x30) addr:0x20b80e0
-func_ov000_020b8110 kind:function(arm,size=0x24) addr:0x20b8110
-func_ov000_020b8134 kind:function(arm,size=0x14) addr:0x20b8134
-func_ov000_020b8148 kind:function(arm,size=0x1c) addr:0x20b8148
-func_ov000_020b8164 kind:function(arm,size=0x50) addr:0x20b8164
-func_ov000_020b81b4 kind:function(arm,size=0x40) addr:0x20b81b4
-func_ov000_020b81f4 kind:function(arm,size=0xc) addr:0x20b81f4
-func_ov000_020b8200 kind:function(arm,size=0x10) addr:0x20b8200
-func_ov000_020b8210 kind:function(arm,size=0x38) addr:0x20b8210
-func_ov000_020b8248 kind:function(arm,size=0x38) addr:0x20b8248
-func_ov000_020b8280 kind:function(arm,size=0x8) addr:0x20b8280
-func_ov000_020b8288 kind:function(arm,size=0x8) addr:0x20b8288
-func_ov000_020b8290 kind:function(arm,size=0x2c) addr:0x20b8290
-func_ov000_020b82bc kind:function(arm,size=0x2c) addr:0x20b82bc
-func_ov000_020b82e8 kind:function(arm,size=0x58) addr:0x20b82e8
-func_ov000_020b8340 kind:function(arm,size=0xb8) addr:0x20b8340
-func_ov000_020b83f8 kind:function(arm,size=0x20) addr:0x20b83f8
-func_ov000_020b8418 kind:function(arm,size=0x3c) addr:0x20b8418
-func_ov000_020b8454 kind:function(arm,size=0x24) addr:0x20b8454
-func_ov000_020b8478 kind:function(arm,size=0x24) addr:0x20b8478
-func_ov000_020b849c kind:function(arm,size=0x34) addr:0x20b849c
-func_ov000_020b84d0 kind:function(arm,size=0x8) addr:0x20b84d0
-func_ov000_020b84d8 kind:function(arm,size=0x54) addr:0x20b84d8
-func_ov000_020b852c kind:function(arm,size=0x10) addr:0x20b852c
-func_ov000_020b853c kind:function(arm,size=0x14) addr:0x20b853c
-func_ov000_020b8550 kind:function(arm,size=0x48) addr:0x20b8550
-func_ov000_020b8598 kind:function(arm,size=0x40) addr:0x20b8598
+_ZN9ActorNavi6CreateEv kind:function(arm,size=0x30) addr:0x20b80e0
+_ZN24UnkStruct_ov000_020b8110C2Ev kind:function(arm,size=0x24) addr:0x20b8110
+_ZN24UnkStruct_ov000_020b8110D1Ev kind:function(arm,size=0x14) addr:0x20b8134
+_ZN24UnkStruct_ov000_020b8110D0Ev kind:function(arm,size=0x1c) addr:0x20b8148
+_ZN24UnkStruct_ov000_020b81108vfunc_08EPs kind:function(arm,size=0x50) addr:0x20b8164
+_ZN24UnkStruct_ov000_020b81108vfunc_18EPi kind:function(arm,size=0x40) addr:0x20b81b4
+_ZN24UnkStruct_ov000_020b81108vfunc_14EPt kind:function(arm,size=0xc) addr:0x20b81f4
+_ZN9ActorNavi19func_ov000_020b8200Ev kind:function(arm,size=0x10) addr:0x20b8200
+_ZN9ActorNavi8vfunc_c4Ev kind:function(arm,size=0x38) addr:0x20b8210
+_ZN9ActorNavi8vfunc_c8Ev kind:function(arm,size=0x38) addr:0x20b8248
+_ZN9ActorNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b8280
+_ZN9ActorNavi8vfunc_b8Ev kind:function(arm,size=0x8) addr:0x20b8288
+_ZN9ActorNavi8vfunc_d4Ev kind:function(arm,size=0x2c) addr:0x20b8290
+_ZN9ActorNavi8vfunc_d0Ev kind:function(arm,size=0x2c) addr:0x20b82bc
+_ZN9ActorNavi9SetActiveEb kind:function(arm,size=0x58) addr:0x20b82e8
+_ZN9ActorNavi8vfunc_e0Ev kind:function(arm,size=0xb8) addr:0x20b8340
+_ZN9ActorNavi8vfunc_d8Ev kind:function(arm,size=0x20) addr:0x20b83f8
+_ZN9ActorNavi8vfunc_20Eb kind:function(arm,size=0x3c) addr:0x20b8418
+_ZN9ActorNavi8vfunc_ccEPi kind:function(arm,size=0x24) addr:0x20b8454
+_ZN9ActorNavi8vfunc_c0EP5Vec3p kind:function(arm,size=0x24) addr:0x20b8478
+_ZN9ActorNavi8vfunc_e8Ev kind:function(arm,size=0x34) addr:0x20b849c
+_ZN9ActorNavi8vfunc_8cEv kind:function(arm,size=0x8) addr:0x20b84d0
+_ZN9ActorNavi8vfunc_ecEv kind:function(arm,size=0x54) addr:0x20b84d8
+_Z14GetEquipHammerv kind:function(arm,size=0x10) addr:0x20b852c local
+_ZN9ActorNavi19func_ov000_020b853cEv kind:function(arm,size=0x14) addr:0x20b853c
+_ZN9ActorNaviD1Ev kind:function(arm,size=0x48) addr:0x20b8550
+_ZN9ActorNaviD0Ev kind:function(arm,size=0x40) addr:0x20b8598
func_ov000_020b85d8 kind:function(thumb,size=0x28) addr:0x20b85d8
func_ov000_020b8600 kind:function(arm,size=0x10) addr:0x20b8600
func_ov000_020b8610 kind:function(arm,size=0x1c) addr:0x20b8610
-func_ov000_020b862c kind:function(arm,size=0x40) addr:0x20b862c
-func_ov000_020b866c kind:function(arm,size=0x8) addr:0x20b866c
-func_ov000_020b8674 kind:function(arm,size=0x1c) addr:0x20b8674
-func_ov000_020b8690 kind:function(arm,size=0x14) addr:0x20b8690
+_ZN14ActorForceNavi6CreateEv kind:function(arm,size=0x40) addr:0x20b862c
+_ZN14ActorForceNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b866c
+_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x1c) addr:0x20b8674
+_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x14) addr:0x20b8690
func_ov000_020b86a4 kind:function(arm,size=0x44) addr:0x20b86a4
func_ov000_020b86e8 kind:function(arm,size=0x30) addr:0x20b86e8
func_ov000_020b8718 kind:function(arm,size=0x8) addr:0x20b8718
@@ -2498,108 +2498,10 @@ _ZN15ItemModelLoader19func_ov000_020bb390Ei kind:function(thumb,size=0x18) addr:
_ZN15ItemModelLoader19func_ov000_020bb3a8Ei kind:function(thumb,size=0xc) addr:0x20bb3a8
_ZN15ItemModelLoader19func_ov000_020bb3b4EiPc kind:function(thumb,size=0x20) addr:0x20bb3b4
_ZN15ItemModelLoader19func_ov000_020bb3d4Eii kind:function(thumb,size=0x20) addr:0x20bb3d4
-_ZN15ItemModelLoader19func_ov000_020bb3f4EPc kind:function(thumb,size=0x20) addr:0x20bb3f4
+_ZN15ItemModelLoader19func_ov000_020bb3f4EPc kind:function(thumb,size=0x1e) addr:0x20bb3f4
_ZN15ItemModelLoader19func_ov000_020bb414Ei kind:function(thumb,size=0xc) addr:0x20bb414
_ZN15ItemModelLoader19func_ov000_020bb420Ei kind:function(thumb,size=0xc) addr:0x20bb420
-_ZN15ItemModelLoader19func_ov000_020bb42cEi kind:function(thumb,size=0x20) addr:0x20bb42c
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+_ZN15ItemModelLoader19func_ov000_020bb42cEi kind:function(thumb,size=0x1e) addr:0x20bb42c
_ZN14PlayerLinkBase12GetMaxHealthEv kind:function(arm,size=0x20) addr:0x20bb44c
_ZN14PlayerLinkBase8vfunc_10EP8Cylinder kind:function(arm,size=0x70) addr:0x20bb46c
_ZN14PlayerLinkBase8vfunc_14EP8Cylinder kind:function(arm,size=0x30) addr:0x20bb4dc
@@ -2706,8 +2608,8 @@ func_ov000_020bd634 kind:function(arm,size=0x8) addr:0x20bd634
func_ov000_020bd63c kind:function(arm,size=0x38) addr:0x20bd63c
func_ov000_020bd674 kind:function(arm,size=0x1c) addr:0x20bd674
func_ov000_020bd690 kind:function(thumb,size=0x88) addr:0x20bd690
-func_ov000_020bd718 kind:function(thumb,size=0x10) addr:0x20bd718
-func_ov000_020bd728 kind:function(thumb,size=0x70) addr:0x20bd728
+func_ov000_020bd718 kind:function(thumb,size=0xe) addr:0x20bd718
+func_ov000_020bd728 kind:function(thumb,size=0x6e) addr:0x20bd728
func_ov000_020bd798 kind:function(thumb,size=0x40) addr:0x20bd798
func_ov000_020bd7d8 kind:function(arm,size=0x16c) addr:0x20bd7d8
func_ov000_020bd944 kind:function(arm,size=0x14) addr:0x20bd944
@@ -2715,13 +2617,13 @@ func_ov000_020bd958 kind:function(arm,size=0x4fc) addr:0x20bd958
func_ov000_020bde54 kind:function(arm,size=0x60) addr:0x20bde54
func_ov000_020bdeb4 kind:function(arm,size=0x10c) addr:0x20bdeb4
func_ov000_020bdfc0 kind:function(arm,size=0x1d8) addr:0x20bdfc0
-func_ov000_020be198 kind:function(arm,size=0x30) addr:0x20be198
-func_ov000_020be1c8 kind:function(arm,size=0x20) addr:0x20be1c8
-func_ov000_020be1e8 kind:function(arm,size=0x14) addr:0x20be1e8
-func_ov000_020be1fc kind:function(arm,size=0x1c) addr:0x20be1fc
-func_ov000_020be218 kind:function(arm,size=0x7c) addr:0x20be218
-func_ov000_020be294 kind:function(arm,size=0x178) addr:0x20be294
-func_ov000_020be40c kind:function(arm,size=0xc) addr:0x20be40c
+_ZN17ActorActionObject6CreateEv kind:function(arm,size=0x30) addr:0x20be198
+_ZN17ActorActionObjectC1Ev kind:function(arm,size=0x20) addr:0x20be1c8
+_ZN17ActorActionObjectD1Ev kind:function(arm,size=0x14) addr:0x20be1e8
+_ZN17ActorActionObjectD0Ev kind:function(arm,size=0x1c) addr:0x20be1fc
+_ZN17ActorActionObject4InitEv kind:function(arm,size=0x7c) addr:0x20be218
+_ZN17ActorActionObject8vfunc_14Ej kind:function(arm,size=0x178) addr:0x20be294
+_ZN17ActorActionObject8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20be40c
func_ov000_020be418 kind:function(arm,size=0x4c) addr:0x20be418
func_ov000_020be464 kind:function(arm,size=0x78) addr:0x20be464
func_ov000_020be4dc kind:function(arm,size=0x64) addr:0x20be4dc
@@ -2738,7 +2640,7 @@ _ZN9EquipItem8vfunc_2cEv kind:function(arm,size=0x8) addr:0x20be964
_ZN9EquipItem8vfunc_34EPs kind:function(arm,size=0x4) addr:0x20be96c
_ZNK9EquipItem8vfunc_40Ev kind:function(arm,size=0x8) addr:0x20be970
_ZNK9EquipItem8vfunc_44Ei kind:function(arm,size=0x8) addr:0x20be978
-_ZNK9EquipItem8vfunc_48Ei kind:function(arm,size=0x8) addr:0x20be980
+_ZNK9EquipItem8vfunc_48Eii kind:function(arm,size=0x8) addr:0x20be980
_ZNK9EquipItem8vfunc_4cEv kind:function(arm,size=0x8) addr:0x20be988
_ZN9EquipItem12GetPlayerPosEv kind:function(arm,size=0xc) addr:0x20be990
_ZN9EquipItem19func_ov000_020be99cEP5Vec3p kind:function(arm,size=0x48) addr:0x20be99c
@@ -2788,21 +2690,21 @@ _ZN11EquipShield8vfunc_00Ev kind:function(arm,size=0x4) addr:0x20c06d4
_ZNK11EquipShield5GetIdEv kind:function(arm,size=0x8) addr:0x20c06d8
_ZNK11EquipShield8IsUsableEi kind:function(arm,size=0x2c) addr:0x20c06e0
_ZN11EquipShield19func_ov000_020c070cEjP5Vec3pi kind:function(arm,size=0x60) addr:0x20c070c
-_ZN11EquipShield8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x20c076c
+_ZN11EquipShield8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x20c076c
_ZN11EquipShield8vfunc_18Ev kind:function(arm,size=0x88) addr:0x20c0770
_ZN11EquipShield8vfunc_1cEv kind:function(arm,size=0xc) addr:0x20c07f8
_ZN11EquipShield8vfunc_30Ev kind:function(arm,size=0x68) addr:0x20c0804
_ZN11EquipShield8vfunc_38Ei kind:function(arm,size=0x21c) addr:0x20c086c
_ZNK11EquipShield9GetHitboxEP8Cylinder kind:function(arm,size=0xdc) addr:0x20c0a88
-func_ov000_020c0b64 kind:function(arm,size=0x40) addr:0x20c0b64
-func_ov000_020c0ba4 kind:function(arm,size=0x8) addr:0x20c0ba4
-func_ov000_020c0bac kind:function(arm,size=0x1c) addr:0x20c0bac
-func_ov000_020c0bc8 kind:function(arm,size=0x14) addr:0x20c0bc8
+_ZN15ActorWisdomNavi6CreateEv kind:function(arm,size=0x40) addr:0x20c0b64
+_ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20c0ba4
+_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x20c0bac
+_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x20c0bc8
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x20c0bdc
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x20c0c08
-func_ov000_020c0c30 kind:function(thumb,size=0x4) addr:0x20c0c30
+func_ov000_020c0c30 kind:function(thumb,size=0x2) addr:0x20c0c30
func_ov000_020c0c34 kind:function(thumb,size=0xc) addr:0x20c0c34
-func_ov000_020c0c40 kind:function(thumb,size=0x4) addr:0x20c0c40
+func_ov000_020c0c40 kind:function(thumb,size=0x2) addr:0x20c0c40
func_ov000_020c0c44 kind:function(arm,size=0x2c) addr:0x20c0c44
func_ov000_020c0c70 kind:function(arm,size=0x2c) addr:0x20c0c70
func_ov000_020c0c9c kind:function(arm,size=0x2c) addr:0x20c0c9c
@@ -2830,7 +2732,7 @@ _ZN5ActorC2Ev kind:function(arm,size=0x1c4) addr:0x20c1554
_ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x20c1718
_ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x20c171c
_ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x20c1730
-_ZN5Actor8vfunc_08Ev kind:function(arm,size=0x8) addr:0x20c1734
+_ZN5Actor4InitEv kind:function(arm,size=0x8) addr:0x20c1734
_ZN5Actor8vfunc_0cEv kind:function(arm,size=0x4) addr:0x20c173c
_ZN5Actor8vfunc_10Ej kind:function(arm,size=0x4) addr:0x20c1740
_ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x20c1744
@@ -2843,7 +2745,7 @@ _ZN5Actor8vfunc_30Ev kind:function(arm,size=0x8) addr:0x20c17b0
_ZN5Actor8vfunc_14Ej kind:function(arm,size=0x4) addr:0x20c17b8
_ZN5Actor8vfunc_18Ej kind:function(arm,size=0x18) addr:0x20c17bc
_ZN5Actor8vfunc_1cEPt kind:function(arm,size=0xc0) addr:0x20c17d4
-_ZN5Actor8vfunc_20Ei kind:function(arm,size=0x4) addr:0x20c1894
+_ZN5Actor8vfunc_20Eb kind:function(arm,size=0x4) addr:0x20c1894
_ZN5Actor10SetUnk_129Eb kind:function(arm,size=0x10) addr:0x20c1898
_ZN5Actor10SetUnk_11bEv kind:function(arm,size=0x1c) addr:0x20c18a8
_ZN5Actor11SetVelocityEP5Vec3p kind:function(arm,size=0x38) addr:0x20c18c4
@@ -2871,7 +2773,7 @@ _ZN5Actor20KillPickupItemActorsEv kind:function(arm,size=0x54) addr:0x20c1b18
_ZN5Actor15TrySetTransformEP9Transform kind:function(arm,size=0x48) addr:0x20c1b6c
_ZN5Actor12SetTransformEP9Transform kind:function(arm,size=0x44) addr:0x20c1bb4
_ZN5Actor8vfunc_a8Ev kind:function(arm,size=0x4) addr:0x20c1bf8
-_ZN5Actor18func_Ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1bfc
+_ZN5Actor18func_ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1bfc
_ZN5Actor18func_ov00_020c1c20Eii kind:function(arm,size=0x28) addr:0x20c1c20
_ZN5Actor8vfunc_48EP9Knockback kind:function(arm,size=0x8) addr:0x20c1c48
_ZN5Actor8vfunc_4cEPi kind:function(arm,size=0x44) addr:0x20c1c50
@@ -2932,7 +2834,7 @@ _ZN5Actor10GetLinkPosEP5Vec3p kind:function(arm,size=0x60) addr:0x20c3230
_ZN5Actor15GetLinkDummyPosEP5Vec3p kind:function(arm,size=0x98) addr:0x20c3290
_ZN19Actor_UnkStruct_09cC2Ev kind:function(arm,size=0x20) addr:0x20c3328
func_ov000_020c3348 kind:function(arm,size=0x24) addr:0x20c3348
-func_ov000_020c336c kind:function(thumb,size=0x1c) addr:0x20c336c
+func_ov000_020c336c kind:function(thumb,size=0x1a) addr:0x20c336c
func_ov000_020c3388 kind:function(thumb,size=0x28) addr:0x20c3388
func_ov000_020c33b0 kind:function(thumb,size=0x24) addr:0x20c33b0
_ZN12ActorManager11DeleteActorEjb kind:function(arm,size=0xb0) addr:0x20c33d4
@@ -2966,7 +2868,7 @@ _ZN12ActorSpawnerD1Ev kind:function(arm,size=0x4) addr:0x20c4010
_ZN12ActorSpawner19func_ov000_020c4014Ev kind:function(arm,size=0x4) addr:0x20c4014
_ZN12ActorSpawner19func_ov000_020c4018Ev kind:function(arm,size=0x4) addr:0x20c4018
_ZN12ActorSpawner11CreateActorEj kind:function(arm,size=0x2c) addr:0x20c401c
-_ZN12ActorSpawner5SpawnEjP5Vec3pPvP8ActorRef kind:function(arm,size=0x290) addr:0x20c4048
+_ZN12ActorSpawner5SpawnEjP5Vec3pP17ActorSpawnOptionsP8ActorRef kind:function(arm,size=0x290) addr:0x20c4048
func_ov000_020c42d8 kind:function(arm,size=0x14) addr:0x20c42d8
func_ov000_020c42ec kind:function(arm,size=0x30) addr:0x20c42ec
func_ov000_020c431c kind:function(arm,size=0x6c) addr:0x20c431c
@@ -3311,7 +3213,7 @@ func_ov000_020ce6b0 kind:function(arm,size=0x8) addr:0x20ce6b0
func_ov000_020ce6b8 kind:function(arm,size=0x1c) addr:0x20ce6b8
func_ov000_020ce6d4 kind:function(arm,size=0x14) addr:0x20ce6d4
func_ov000_020ce6e8 kind:function(arm,size=0x1c) addr:0x20ce6e8
-func_ov000_020ce704 kind:function(thumb,size=0x3c) addr:0x20ce704
+func_ov000_020ce704 kind:function(thumb,size=0x3a) addr:0x20ce704
func_ov000_020ce740 kind:function(arm,size=0x1a4) addr:0x20ce740
func_ov000_020ce8e4 kind:function(arm,size=0x30) addr:0x20ce8e4
func_ov000_020ce914 kind:function(arm,size=0x5c) addr:0x20ce914
@@ -3320,12 +3222,12 @@ func_ov000_020cea3c kind:function(arm,size=0x44) addr:0x20cea3c
func_ov000_020cea80 kind:function(arm,size=0x4c) addr:0x20cea80
func_ov000_020ceacc kind:function(arm,size=0x58) addr:0x20ceacc
func_ov000_020ceb24 kind:function(arm,size=0xa8) addr:0x20ceb24
-func_ov000_020cebcc kind:function(arm,size=0x3c) addr:0x20cebcc
+_ZN18UnkStruct_027e0ffc19func_ov000_020cebccEjsi kind:function(arm,size=0x3c) addr:0x20cebcc
func_ov000_020cec08 kind:function(arm,size=0x58) addr:0x20cec08
func_ov000_020cec60 kind:function(arm,size=0x78) addr:0x20cec60
func_ov000_020cecd8 kind:function(arm,size=0x8c) addr:0x20cecd8
-func_ov000_020ced64 kind:function(arm,size=0x18) addr:0x20ced64
-func_ov000_020ced7c kind:function(arm,size=0x40) addr:0x20ced7c
+_ZN18UnkStruct_027e0ffc19func_ov000_020ced64EP8Cylinderjj kind:function(arm,size=0x18) addr:0x20ced64
+_ZN18UnkStruct_027e0ffc19func_ov000_020ced7cEP5Vec3piii kind:function(arm,size=0x40) addr:0x20ced7c
func_ov000_020cedbc kind:function(arm,size=0x54) addr:0x20cedbc
func_ov000_020cee10 kind:function(arm,size=0x48) addr:0x20cee10
func_ov000_020cee58 kind:function(arm,size=0x88) addr:0x20cee58
@@ -3451,7 +3353,7 @@ func_ov000_020d0a30 kind:function(arm,size=0x24) addr:0x20d0a30
func_ov000_020d0a54 kind:function(arm,size=0x2c) addr:0x20d0a54
func_ov000_020d0a80 kind:function(arm,size=0xfc) addr:0x20d0a80
func_ov000_020d0b7c kind:function(arm,size=0x4d8) addr:0x20d0b7c
-func_ov000_020d1054 kind:function(thumb,size=0x4) addr:0x20d1054
+func_ov000_020d1054 kind:function(thumb,size=0x2) addr:0x20d1054
func_ov000_020d1058 kind:function(arm,size=0x4) addr:0x20d1058
func_ov000_020d105c kind:function(arm,size=0x4) addr:0x20d105c
func_ov000_020d1060 kind:function(arm,size=0x4) addr:0x20d1060
@@ -3463,8 +3365,8 @@ func_ov000_020d1080 kind:function(arm,size=0x4) addr:0x20d1080
func_ov000_020d1084 kind:function(arm,size=0x4) addr:0x20d1084
func_ov000_020d1088 kind:function(arm,size=0x4) addr:0x20d1088
func_ov000_020d108c kind:function(arm,size=0x4) addr:0x20d108c
-func_ov000_020d1090 kind:function(thumb,size=0x4) addr:0x20d1090
-func_ov000_020d1094 kind:function(thumb,size=0x4) addr:0x20d1094
+func_ov000_020d1090 kind:function(thumb,size=0x2) addr:0x20d1090
+func_ov000_020d1094 kind:function(thumb,size=0x2) addr:0x20d1094
func_ov000_020d1098 kind:function(arm,size=0x4) addr:0x20d1098
func_ov000_020d109c kind:function(arm,size=0x4) addr:0x20d109c
func_ov000_020d10a0 kind:function(arm,size=0x8) addr:0x20d10a0
@@ -3659,8 +3561,8 @@ func_ov000_020d65b8 kind:function(thumb,size=0x38) addr:0x20d65b8
func_ov000_020d65f0 kind:function(thumb,size=0x30) addr:0x20d65f0
func_ov000_020d6620 kind:function(thumb,size=0x4c) addr:0x20d6620
func_ov000_020d666c kind:function(thumb,size=0x38) addr:0x20d666c
-func_ov000_020d66a4 kind:function(thumb,size=0x1c) addr:0x20d66a4
-func_ov000_020d66c0 kind:function(thumb,size=0x6c) addr:0x20d66c0
+func_ov000_020d66a4 kind:function(thumb,size=0x1a) addr:0x20d66a4
+func_ov000_020d66c0 kind:function(thumb,size=0x6a) addr:0x20d66c0
func_ov000_020d672c kind:function(thumb,size=0x34) addr:0x20d672c
func_ov000_020d6760 kind:function(thumb,size=0x38) addr:0x20d6760
func_ov000_020d6798 kind:function(arm,size=0x28) addr:0x20d6798
@@ -3819,8 +3721,8 @@ data_ov000_020dc55c kind:data(any) addr:0x20dc55c
data_ov000_020dc560 kind:data(any) addr:0x20dc560
data_ov000_020dc574 kind:data(any) addr:0x20dc574
data_ov000_020dc674 kind:data(any) addr:0x20dc674
-sQuiverSizes kind:data(any) addr:0x20dc6c4
-sBombBagSizes kind:data(any) addr:0x20dc6cc
+sQuiverSizes kind:data(any) addr:0x20dc6c4 local
+sBombBagSizes kind:data(any) addr:0x20dc6cc local
data_ov000_020dc6e0 kind:data(any) addr:0x20dc6e0
data_ov000_020dc6e4 kind:data(any) addr:0x20dc6e4
data_ov000_020dc6e8 kind:data(any) addr:0x20dc6e8
@@ -4038,7 +3940,7 @@ __sinit_ov000_020df4cc kind:function(arm,size=0x174) addr:0x20df4cc
__sinit_ov000_020df640 kind:function(arm,size=0x38) addr:0x20df640
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x20df678
__sinit_ov000_020df6b8 kind:function(arm,size=0x40) addr:0x20df6b8
-__sinit_ov000_020df6f8 kind:function(arm,size=0x40) addr:0x20df6f8
+__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x20df6f8
__sinit_ov000_020df738 kind:function(arm,size=0x38) addr:0x20df738
__sinit_ov000_020df770 kind:function(arm,size=0x20) addr:0x20df770
__sinit_ov000_020df790 kind:function(arm,size=0x1718) addr:0x20df790
@@ -4053,11 +3955,11 @@ __sinit_ov000_020e11d8 kind:function(arm,size=0x34) addr:0x20e11d8
__sinit_ov000_020e120c kind:function(arm,size=0x44) addr:0x20e120c
__sinit_ov000_020e1250 kind:function(arm,size=0x40) addr:0x20e1250
__sinit_ov000_020e1290 kind:function(arm,size=0x48) addr:0x20e1290
-__sinit_ov000_020e12d8 kind:function(arm,size=0x64) addr:0x20e12d8
-__sinit_ov000_020e133c kind:function(arm,size=0x40) addr:0x20e133c
+__sinit_ActorNavi.cpp kind:function(arm,size=0x64) addr:0x20e12d8 local
+__sinit_ActorForceNavi.cpp kind:function(arm,size=0x40) addr:0x20e133c local
__sinit_ov000_020e137c kind:function(arm,size=0x798) addr:0x20e137c
-__sinit_ov000_020e1b14 kind:function(arm,size=0x40) addr:0x20e1b14
-__sinit_ov000_020e1b54 kind:function(arm,size=0x40) addr:0x20e1b54
+__sinit_ActorActionObject.cpp kind:function(arm,size=0x40) addr:0x20e1b14 local
+__sinit_ActorWisdomNavi.cpp kind:function(arm,size=0x40) addr:0x20e1b54 local
__sinit_ov000_020e1b94 kind:function(arm,size=0x40) addr:0x20e1b94
__sinit_ov000_020e1bd4 kind:function(arm,size=0x40) addr:0x20e1bd4
__sinit_ov000_020e1c14 kind:function(arm,size=0x40) addr:0x20e1c14
@@ -4821,9 +4723,10 @@ data_ov000_020e5674 kind:data(any) addr:0x20e5674
data_ov000_020e5684 kind:data(any) addr:0x20e5684
data_ov000_020e5694 kind:data(any) addr:0x20e5694
_ZTV13LinkStateBase kind:data(any) addr:0x20e56ac
-data_ov000_020e56f0 kind:data(any) addr:0x20e56f0
-data_ov000_020e5700 kind:data(any) addr:0x20e5700
-data_ov000_020e5744 kind:data(any) addr:0x20e5744
+_ZN13LinkStateMove19data_ov000_020e56f0E kind:data(any) addr:0x20e56f0
+data_ov000_020e56f4$964 kind:data(any) addr:0x20e56f4 local
+_ZTV13LinkStateMove kind:data(any) addr:0x20e56f8
+@922 kind:data(any) addr:0x20e5744 local
data_ov000_020e575c kind:data(any) addr:0x20e575c
data_ov000_020e5760 kind:data(any) addr:0x20e5760
data_ov000_020e5764 kind:data(any) addr:0x20e5764
@@ -4866,7 +4769,7 @@ data_ov000_020e59fc kind:data(any) addr:0x20e59fc
data_ov000_020e5a0c kind:data(any) addr:0x20e5a0c
data_ov000_020e5a20 kind:data(any) addr:0x20e5a20
data_ov000_020e5a34 kind:data(any) addr:0x20e5a34
-_ZTV13LinkStateItem kind:data(any) addr:0x20e5a48
+_ZTV13LinkStateItem kind:data(any) addr:0x20e5a40
data_ov000_020e5a8c kind:data(any) addr:0x20e5a8c
data_ov000_020e5a90 kind:data(any) addr:0x20e5a90
data_ov000_020e5a94 kind:data(any) addr:0x20e5a94
@@ -4902,107 +4805,108 @@ data_ov000_020e5c04 kind:data(any) addr:0x20e5c04
data_ov000_020e5c1c kind:data(any) addr:0x20e5c1c
data_ov000_020e5c34 kind:data(any) addr:0x20e5c34
data_ov000_020e5c44 kind:data(any) addr:0x20e5c44
-data_ov000_020e5c58 kind:data(any) addr:0x20e5c58
-data_ov000_020e5c5c kind:data(any) addr:0x20e5c5c
-data_ov000_020e5c60 kind:data(any) addr:0x20e5c60
-data_ov000_020e5c64 kind:data(any) addr:0x20e5c64
-data_ov000_020e5c68 kind:data(any) addr:0x20e5c68
-data_ov000_020e5c6c kind:data(any) addr:0x20e5c6c
-data_ov000_020e5c70 kind:data(any) addr:0x20e5c70
-data_ov000_020e5c74 kind:data(any) addr:0x20e5c74
-sShipPartTypes kind:data(any) addr:0x20e5c78
-sDefaultItemModel kind:data(any) addr:0x20e5c98
-sItemModelNames kind:data(any) addr:0x20e5c9c
-sItemModelNames2 kind:data(any) addr:0x20e5db4
-sItemModelNames3 kind:data(any) addr:0x20e5dd4
+@1437 kind:data(any) addr:0x20e5c58 local
+@1436 kind:data(any) addr:0x20e5c5c local
+@1435 kind:data(any) addr:0x20e5c60 local
+@1434 kind:data(any) addr:0x20e5c64 local
+@1433 kind:data(any) addr:0x20e5c68 local
+@1432 kind:data(any) addr:0x20e5c6c local
+@1431 kind:data(any) addr:0x20e5c70 local
+@1430 kind:data(any) addr:0x20e5c74 local
+sShipPartTypes kind:data(any) addr:0x20e5c78 local
+sDefaultItemModel kind:data(any) addr:0x20e5c98 local
+sItemModelNames kind:data(any) addr:0x20e5c9c local
+sItemModelNames2 kind:data(any) addr:0x20e5db4 local
+sItemModelNames3 kind:data(any) addr:0x20e5dd4 local
sSpecialItemModelNames kind:data(any) addr:0x20e5df8
-data_ov000_020e5e14 kind:data(any) addr:0x20e5e14
-data_ov000_020e5e18 kind:data(any) addr:0x20e5e18
-data_ov000_020e5e1c kind:data(any) addr:0x20e5e1c
-data_ov000_020e5e20 kind:data(any) addr:0x20e5e20
-data_ov000_020e5e28 kind:data(any) addr:0x20e5e28
-data_ov000_020e5e2c kind:data(any) addr:0x20e5e2c
-data_ov000_020e5e30 kind:data(any) addr:0x20e5e30
-data_ov000_020e5e38 kind:data(any) addr:0x20e5e38
-data_ov000_020e5e40 kind:data(any) addr:0x20e5e40
-data_ov000_020e5e44 kind:data(any) addr:0x20e5e44
-data_ov000_020e5e4c kind:data(any) addr:0x20e5e4c
-data_ov000_020e5e58 kind:data(any) addr:0x20e5e58
-data_ov000_020e5e64 kind:data(any) addr:0x20e5e64
-data_ov000_020e5e68 kind:data(any) addr:0x20e5e68
-data_ov000_020e5e70 kind:data(any) addr:0x20e5e70
-data_ov000_020e5e78 kind:data(any) addr:0x20e5e78
-data_ov000_020e5e80 kind:data(any) addr:0x20e5e80
-data_ov000_020e5e88 kind:data(any) addr:0x20e5e88
-data_ov000_020e5e90 kind:data(any) addr:0x20e5e90
-data_ov000_020e5e98 kind:data(any) addr:0x20e5e98
-data_ov000_020e5ea0 kind:data(any) addr:0x20e5ea0
-data_ov000_020e5ea8 kind:data(any) addr:0x20e5ea8
-data_ov000_020e5eb0 kind:data(any) addr:0x20e5eb0
-data_ov000_020e5eb8 kind:data(any) addr:0x20e5eb8
-data_ov000_020e5ec4 kind:data(any) addr:0x20e5ec4
-data_ov000_020e5ecc kind:data(any) addr:0x20e5ecc
-data_ov000_020e5ed4 kind:data(any) addr:0x20e5ed4
-data_ov000_020e5edc kind:data(any) addr:0x20e5edc
-data_ov000_020e5ee0 kind:data(any) addr:0x20e5ee0
-data_ov000_020e5ee8 kind:data(any) addr:0x20e5ee8
-data_ov000_020e5ef0 kind:data(any) addr:0x20e5ef0
-data_ov000_020e5ef8 kind:data(any) addr:0x20e5ef8
-data_ov000_020e5f00 kind:data(any) addr:0x20e5f00
-data_ov000_020e5f04 kind:data(any) addr:0x20e5f04
-data_ov000_020e5f0c kind:data(any) addr:0x20e5f0c
-data_ov000_020e5f18 kind:data(any) addr:0x20e5f18
-data_ov000_020e5f20 kind:data(any) addr:0x20e5f20
-data_ov000_020e5f28 kind:data(any) addr:0x20e5f28
-data_ov000_020e5f30 kind:data(any) addr:0x20e5f30
-data_ov000_020e5f38 kind:data(any) addr:0x20e5f38
-data_ov000_020e5f40 kind:data(any) addr:0x20e5f40
-data_ov000_020e5f48 kind:data(any) addr:0x20e5f48
-data_ov000_020e5f50 kind:data(any) addr:0x20e5f50
-data_ov000_020e5f5c kind:data(any) addr:0x20e5f5c
-data_ov000_020e5f68 kind:data(any) addr:0x20e5f68
-data_ov000_020e5f74 kind:data(any) addr:0x20e5f74
-data_ov000_020e5f7c kind:data(any) addr:0x20e5f7c
-data_ov000_020e5f84 kind:data(any) addr:0x20e5f84
-data_ov000_020e5f90 kind:data(any) addr:0x20e5f90
-data_ov000_020e5f9c kind:data(any) addr:0x20e5f9c
-data_ov000_020e5fa4 kind:data(any) addr:0x20e5fa4
-data_ov000_020e5fac kind:data(any) addr:0x20e5fac
-data_ov000_020e5fb4 kind:data(any) addr:0x20e5fb4
-data_ov000_020e5fbc kind:data(any) addr:0x20e5fbc
-data_ov000_020e5fc8 kind:data(any) addr:0x20e5fc8
-data_ov000_020e5fd0 kind:data(any) addr:0x20e5fd0
-data_ov000_020e5fd8 kind:data(any) addr:0x20e5fd8
-data_ov000_020e5fe0 kind:data(any) addr:0x20e5fe0
-data_ov000_020e5fe8 kind:data(any) addr:0x20e5fe8
-data_ov000_020e5ff4 kind:data(any) addr:0x20e5ff4
-data_ov000_020e6000 kind:data(any) addr:0x20e6000
-data_ov000_020e6008 kind:data(any) addr:0x20e6008
-data_ov000_020e6010 kind:data(any) addr:0x20e6010
-data_ov000_020e6018 kind:data(any) addr:0x20e6018
-data_ov000_020e6024 kind:data(any) addr:0x20e6024
-data_ov000_020e6030 kind:data(any) addr:0x20e6030
-data_ov000_020e603c kind:data(any) addr:0x20e603c
-data_ov000_020e6048 kind:data(any) addr:0x20e6048
-data_ov000_020e6050 kind:data(any) addr:0x20e6050
-data_ov000_020e6058 kind:data(any) addr:0x20e6058
-data_ov000_020e6068 kind:data(any) addr:0x20e6068
-data_ov000_020e6070 kind:data(any) addr:0x20e6070
+@2138 kind:data(any) addr:0x20e5e14 local
+@2139 kind:data(any) addr:0x20e5e18 local
+@2140 kind:data(any) addr:0x20e5e1c local
+@2141 kind:data(any) addr:0x20e5e20 local
+@2142 kind:data(any) addr:0x20e5e28 local
+@2143 kind:data(any) addr:0x20e5e2c local
+@2144 kind:data(any) addr:0x20e5e30 local
+@2145 kind:data(any) addr:0x20e5e38 local
+@2146 kind:data(any) addr:0x20e5e40 local
+@2147 kind:data(any) addr:0x20e5e44 local
+@2148 kind:data(any) addr:0x20e5e4c local
+@2149 kind:data(any) addr:0x20e5e58 local
+@2150 kind:data(any) addr:0x20e5e64 local
+@2151 kind:data(any) addr:0x20e5e68 local
+@2152 kind:data(any) addr:0x20e5e70 local
+@2153 kind:data(any) addr:0x20e5e78 local
+@2154 kind:data(any) addr:0x20e5e80 local
+@2155 kind:data(any) addr:0x20e5e88 local
+@2156 kind:data(any) addr:0x20e5e90 local
+@2157 kind:data(any) addr:0x20e5e98 local
+@2158 kind:data(any) addr:0x20e5ea0 local
+@2159 kind:data(any) addr:0x20e5ea8 local
+@2160 kind:data(any) addr:0x20e5eb0 local
+@2161 kind:data(any) addr:0x20e5eb8 local
+@2162 kind:data(any) addr:0x20e5ec4 local
+@2163 kind:data(any) addr:0x20e5ecc local
+@2164 kind:data(any) addr:0x20e5ed4 local
+@2165 kind:data(any) addr:0x20e5edc local
+@2166 kind:data(any) addr:0x20e5ee0 local
+@2167 kind:data(any) addr:0x20e5ee8 local
+@2168 kind:data(any) addr:0x20e5ef0 local
+@2169 kind:data(any) addr:0x20e5ef8 local
+@2170 kind:data(any) addr:0x20e5f00 local
+@2171 kind:data(any) addr:0x20e5f04 local
+@2172 kind:data(any) addr:0x20e5f0c local
+@2173 kind:data(any) addr:0x20e5f18 local
+@2174 kind:data(any) addr:0x20e5f20 local
+@2175 kind:data(any) addr:0x20e5f28 local
+@2176 kind:data(any) addr:0x20e5f30 local
+@2177 kind:data(any) addr:0x20e5f38 local
+@2178 kind:data(any) addr:0x20e5f40 local
+@2179 kind:data(any) addr:0x20e5f48 local
+@2180 kind:data(any) addr:0x20e5f50 local
+@2181 kind:data(any) addr:0x20e5f5c local
+@2182 kind:data(any) addr:0x20e5f68 local
+@2183 kind:data(any) addr:0x20e5f74 local
+@2184 kind:data(any) addr:0x20e5f7c local
+@2185 kind:data(any) addr:0x20e5f84 local
+@2186 kind:data(any) addr:0x20e5f90 local
+@2187 kind:data(any) addr:0x20e5f9c local
+@2188 kind:data(any) addr:0x20e5fa4 local
+@2189 kind:data(any) addr:0x20e5fac local
+@2190 kind:data(any) addr:0x20e5fb4 local
+@2191 kind:data(any) addr:0x20e5fbc local
+@2192 kind:data(any) addr:0x20e5fc8 local
+@2193 kind:data(any) addr:0x20e5fd0 local
+@2194 kind:data(any) addr:0x20e5fd8 local
+@2195 kind:data(any) addr:0x20e5fe0 local
+@2196 kind:data(any) addr:0x20e5fe8 local
+@2197 kind:data(any) addr:0x20e5ff4 local
+@2198 kind:data(any) addr:0x20e6000 local
+@2199 kind:data(any) addr:0x20e6008 local
+@2200 kind:data(any) addr:0x20e6010 local
+@2201 kind:data(any) addr:0x20e6018 local
+@2202 kind:data(any) addr:0x20e6024 local
+@2203 kind:data(any) addr:0x20e6030 local
+@2204 kind:data(any) addr:0x20e603c local
+@2205 kind:data(any) addr:0x20e6048 local
+@2206 kind:data(any) addr:0x20e6050 local
+@2207 kind:data(any) addr:0x20e6058 local
+@2208 kind:data(any) addr:0x20e6068 local
+@2209 kind:data(any) addr:0x20e6070 local
data_ov000_020e6078 kind:data(any) addr:0x20e6078
data_ov000_020e6088 kind:data(any) addr:0x20e6088
data_ov000_020e6098 kind:data(any) addr:0x20e6098
data_ov000_020e60a8 kind:data(any) addr:0x20e60a8
_ZTV13LinkStateRoll kind:data(any) addr:0x20e60c0
-data_ov000_020e6104 kind:data(any) addr:0x20e6104
-data_ov000_020e6108 kind:data(any) addr:0x20e6108
-data_ov000_020e610c kind:data(any) addr:0x20e610c
-data_ov000_020e6110 kind:data(any) addr:0x20e6110
-data_ov000_020e6114 kind:data(any) addr:0x20e6114
-data_ov000_020e6118 kind:data(any) addr:0x20e6118
-data_ov000_020e611c kind:data(any) addr:0x20e611c
-data_ov000_020e6120 kind:data(any) addr:0x20e6120
-data_ov000_020e6124 kind:data(any) addr:0x20e6124
-data_ov000_020e6148 kind:data(any) addr:0x20e6148
+@1505 kind:data(any) addr:0x20e6104
+@1504 kind:data(any) addr:0x20e6108
+@1503 kind:data(any) addr:0x20e610c
+@1502 kind:data(any) addr:0x20e6110
+@1501 kind:data(any) addr:0x20e6114
+@1500 kind:data(any) addr:0x20e6118
+@1499 kind:data(any) addr:0x20e611c
+@1498 kind:data(any) addr:0x20e6120
+sShipTypes kind:data(any) addr:0x20e6124 local
+data_ov000_020e6144 kind:data(any) addr:0x20e6144
+@1556 kind:data(any) addr:0x20e6148
data_ov000_020e6158 kind:data(any) addr:0x20e6158
data_ov000_020e6174 kind:data(any) addr:0x20e6174
data_ov000_020e6178 kind:data(any) addr:0x20e6178
@@ -5054,9 +4958,9 @@ data_ov000_020e6528 kind:data(any) addr:0x20e6528
data_ov000_020e652c kind:data(any) addr:0x20e652c
data_ov000_020e6530 kind:data(any) addr:0x20e6530
data_ov000_020e6534 kind:data(any) addr:0x20e6534
-data_ov000_020e6560 kind:data(any) addr:0x20e6560
-data_ov000_020e6658 kind:data(any) addr:0x20e6658
-data_ov000_020e667c kind:data(any) addr:0x20e667c
+_ZTV9ActorNavi kind:data(any) addr:0x20e6560
+_ZTV24UnkStruct_ov000_020b8110 kind:data(any) addr:0x20e6658
+_ZTV14ActorForceNavi kind:data(any) addr:0x20e6674
data_ov000_020e676c kind:data(any) addr:0x20e676c
data_ov000_020e6770 kind:data(any) addr:0x20e6770
data_ov000_020e6774 kind:data(any) addr:0x20e6774
@@ -5115,7 +5019,7 @@ data_ov000_020e6c58 kind:data(any) addr:0x20e6c58
data_ov000_020e6c5c kind:data(any) addr:0x20e6c5c
_ZTV14PlayerLinkBase kind:data(any) addr:0x20e6c88
data_ov000_020e6d18 kind:data(any) addr:0x20e6d18
-data_ov000_020e6d44 kind:data(any) addr:0x20e6d44
+_ZTV17ActorActionObject kind:data(any) addr:0x20e6d44
data_ov000_020e6df8 kind:data(any) addr:0x20e6df8
data_ov000_020e6dfc kind:data(any) addr:0x20e6dfc
data_ov000_020e6e08 kind:data(any) addr:0x20e6e08
@@ -5155,7 +5059,7 @@ data_ov000_020e7014 kind:data(any) addr:0x20e7014
data_ov000_020e7018 kind:data(any) addr:0x20e7018
data_ov000_020e701c kind:data(any) addr:0x20e701c
data_ov000_020e7048 kind:data(any) addr:0x20e7048
-data_ov000_020e70a0 kind:data(any) addr:0x20e70a0
+_ZTV15ActorWisdomNavi kind:data(any) addr:0x20e7098
data_ov000_020e7198 kind:data(any) addr:0x20e7198
data_ov000_020e71a0 kind:data(any) addr:0x20e71a0
data_ov000_020e71a4 kind:data(any) addr:0x20e71a4
@@ -5168,14 +5072,14 @@ data_ov000_020e71bc kind:data(any) addr:0x20e71bc
sShipTypes kind:data(any) addr:0x20e71c0
_ZTV17KillPickupsFilter kind:data(any) addr:0x20e71e8
_ZTV5Actor kind:data(any) addr:0x20e71f4
-data_ov000_020e72a8 kind:data(any) addr:0x20e72a8
-data_ov000_020e72ac kind:data(any) addr:0x20e72ac
-data_ov000_020e72b0 kind:data(any) addr:0x20e72b0
-data_ov000_020e72b4 kind:data(any) addr:0x20e72b4
-data_ov000_020e72b8 kind:data(any) addr:0x20e72b8
-data_ov000_020e72bc kind:data(any) addr:0x20e72bc
-data_ov000_020e72c0 kind:data(any) addr:0x20e72c0
-data_ov000_020e72c4 kind:data(any) addr:0x20e72c4
+@964 kind:data(any) addr:0x20e72a8 local
+@963 kind:data(any) addr:0x20e72ac local
+@962 kind:data(any) addr:0x20e72b0 local
+@961 kind:data(any) addr:0x20e72b4 local
+@960 kind:data(any) addr:0x20e72b8 local
+@959 kind:data(any) addr:0x20e72bc local
+@958 kind:data(any) addr:0x20e72c0 local
+@957 kind:data(any) addr:0x20e72c4 local
_ZTV11FilterActor kind:data(any) addr:0x20e72e8
data_ov000_020e72fc kind:data(any) addr:0x20e72fc
data_ov000_020e7300 kind:data(any) addr:0x20e7300
@@ -5973,12 +5877,13 @@ data_ov000_020ee16c kind:bss addr:0x20ee16c
data_ov000_020ee178 kind:bss addr:0x20ee178
data_ov000_020ee184 kind:bss addr:0x20ee184
data_ov000_020ee198 kind:bss addr:0x20ee198
-data_ov000_020ee1a0 kind:bss addr:0x20ee1a0
-data_ov000_020ee1ac kind:bss addr:0x20ee1ac
-data_ov000_020ee1c0 kind:bss addr:0x20ee1c0
+data_ov000_020ee19c kind:bss addr:0x20ee19c
+@418 kind:bss addr:0x20ee1a0 local
+_ZN9ActorNavi5gTypeE kind:bss addr:0x20ee1ac
+@419 kind:bss addr:0x20ee1c0 local
data_ov000_020ee1cc kind:bss addr:0x20ee1cc
-data_ov000_020ee1d8 kind:bss addr:0x20ee1d8
-data_ov000_020ee1e4 kind:bss addr:0x20ee1e4
+@403 kind:bss addr:0x20ee1d8 local
+_ZN14ActorForceNavi5gTypeE kind:bss addr:0x20ee1e4
data_ov000_020ee1f8 kind:bss addr:0x20ee1f8
data_ov000_020ee1fc kind:bss addr:0x20ee1fc
data_ov000_020ee208 kind:bss addr:0x20ee208
@@ -6037,12 +5942,12 @@ data_ov000_020ee50c kind:bss addr:0x20ee50c
data_ov000_020ee520 kind:bss addr:0x20ee520
data_ov000_020ee534 kind:bss addr:0x20ee534
data_ov000_020ee548 kind:bss addr:0x20ee548
-data_ov000_020ee55c kind:bss addr:0x20ee55c
-data_ov000_020ee568 kind:bss addr:0x20ee568
+@360 kind:bss addr:0x20ee55c local
+_ZN17ActorActionObject5gTypeE kind:bss addr:0x20ee568
gPlayerAnimHandler kind:bss addr:0x20ee57c
data_ov000_020ee588 kind:bss addr:0x20ee588
-data_ov000_020ee590 kind:bss addr:0x20ee590
-data_ov000_020ee59c kind:bss addr:0x20ee59c
+@403 kind:bss addr:0x20ee590 local
+_ZN15ActorWisdomNavi5gTypeE kind:bss addr:0x20ee59c
data_ov000_020ee5b0 kind:bss addr:0x20ee5b0
data_ov000_020ee5bc kind:bss addr:0x20ee5bc
data_ov000_020ee5d0 kind:bss addr:0x20ee5d0
diff --git a/config/eur/arm9/overlays/ov001/delinks.txt b/config/eur/arm9/overlays/ov001/delinks.txt
index 40006dbe..020be41c 100644
--- a/config/eur/arm9/overlays/ov001/delinks.txt
+++ b/config/eur/arm9/overlays/ov001/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x020eed40 end:0x020f86b4 kind:code align:32
- .rodata start:0x020f86b4 end:0x020f88f4 kind:data align:4
- .ctor start:0x020f88f4 end:0x020f88f8 kind:data align:4
+ .rodata start:0x020f86b4 end:0x020f88f4 kind:rodata align:4
+ .ctor start:0x020f88f4 end:0x020f88f8 kind:rodata align:4
.data start:0x020f8900 end:0x020f8b60 kind:data align:32
.bss start:0x020f8b60 end:0x020ff1a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov001/symbols.txt b/config/eur/arm9/overlays/ov001/symbols.txt
index 8fa7d7aa..6698bade 100644
--- a/config/eur/arm9/overlays/ov001/symbols.txt
+++ b/config/eur/arm9/overlays/ov001/symbols.txt
@@ -85,16 +85,16 @@ func_ov001_020f2028 kind:function(thumb,size=0x30c) addr:0x20f2028
func_ov001_020f2334 kind:function(thumb,size=0x74) addr:0x20f2334
func_ov001_020f23a8 kind:function(thumb,size=0x28) addr:0x20f23a8
func_ov001_020f23d0 kind:function(thumb,size=0x118) addr:0x20f23d0
-func_ov001_020f24e8 kind:function(thumb,size=0x60) addr:0x20f24e8
+func_ov001_020f24e8 kind:function(thumb,size=0x5e) addr:0x20f24e8
func_ov001_020f2548 kind:function(thumb,size=0x1b0) addr:0x20f2548
func_ov001_020f26f8 kind:function(thumb,size=0xf8) addr:0x20f26f8
func_ov001_020f27f0 kind:function(thumb,size=0x6c) addr:0x20f27f0
-func_ov001_020f285c kind:function(thumb,size=0xc) addr:0x20f285c
+func_ov001_020f285c kind:function(thumb,size=0xa) addr:0x20f285c
func_ov001_020f2868 kind:function(thumb,size=0x10) addr:0x20f2868
func_ov001_020f2878 kind:function(thumb,size=0x10) addr:0x20f2878
func_ov001_020f2888 kind:function(thumb,size=0x54) addr:0x20f2888
func_ov001_020f28dc kind:function(thumb,size=0x314) addr:0x20f28dc
-func_ov001_020f2bf0 kind:function(thumb,size=0x54) addr:0x20f2bf0
+func_ov001_020f2bf0 kind:function(thumb,size=0x52) addr:0x20f2bf0
func_ov001_020f2c44 kind:function(thumb,size=0x1d4) addr:0x20f2c44
func_ov001_020f2e18 kind:function(thumb,size=0x50) addr:0x20f2e18
func_ov001_020f2e68 kind:function(thumb,size=0x104) addr:0x20f2e68
@@ -102,10 +102,10 @@ func_ov001_020f2f6c kind:function(thumb,size=0x98) addr:0x20f2f6c
func_ov001_020f3004 kind:function(thumb,size=0x78) addr:0x20f3004
func_ov001_020f307c kind:function(thumb,size=0x7c) addr:0x20f307c
func_ov001_020f30f8 kind:function(thumb,size=0x90) addr:0x20f30f8
-func_ov001_020f3188 kind:function(thumb,size=0x28) addr:0x20f3188
+func_ov001_020f3188 kind:function(thumb,size=0x26) addr:0x20f3188
func_ov001_020f31b0 kind:function(thumb,size=0x30) addr:0x20f31b0
func_ov001_020f31e0 kind:function(thumb,size=0xbc) addr:0x20f31e0
-func_ov001_020f329c kind:function(thumb,size=0x68) addr:0x20f329c
+func_ov001_020f329c kind:function(thumb,size=0x66) addr:0x20f329c
func_ov001_020f3304 kind:function(thumb,size=0x58) addr:0x20f3304
func_ov001_020f335c kind:function(thumb,size=0x18) addr:0x20f335c
func_ov001_020f3374 kind:function(thumb,size=0x30) addr:0x20f3374
@@ -117,7 +117,7 @@ func_ov001_020f34a8 kind:function(thumb,size=0x3c) addr:0x20f34a8
func_ov001_020f34e4 kind:function(thumb,size=0x104) addr:0x20f34e4
func_ov001_020f35e8 kind:function(thumb,size=0x24) addr:0x20f35e8
func_ov001_020f360c kind:function(thumb,size=0x1b0) addr:0x20f360c
-func_ov001_020f37bc kind:function(thumb,size=0x50) addr:0x20f37bc
+func_ov001_020f37bc kind:function(thumb,size=0x4e) addr:0x20f37bc
func_ov001_020f380c kind:function(thumb,size=0x50) addr:0x20f380c
func_ov001_020f385c kind:function(thumb,size=0x34) addr:0x20f385c
func_ov001_020f3890 kind:function(thumb,size=0x30) addr:0x20f3890
@@ -139,7 +139,7 @@ func_ov001_020f4800 kind:function(thumb,size=0x2c) addr:0x20f4800
func_ov001_020f482c kind:function(thumb,size=0x2c) addr:0x20f482c
func_ov001_020f4858 kind:function(thumb,size=0x114) addr:0x20f4858
func_ov001_020f496c kind:function(thumb,size=0xc) addr:0x20f496c
-func_ov001_020f4978 kind:function(thumb,size=0x30) addr:0x20f4978
+func_ov001_020f4978 kind:function(thumb,size=0x2e) addr:0x20f4978
func_ov001_020f49a8 kind:function(thumb,size=0xa8) addr:0x20f49a8
func_ov001_020f4a50 kind:function(thumb,size=0xc) addr:0x20f4a50
func_ov001_020f4a5c kind:function(thumb,size=0xc) addr:0x20f4a5c
@@ -147,9 +147,9 @@ func_ov001_020f4a68 kind:function(thumb,size=0x4c) addr:0x20f4a68
func_ov001_020f4ab4 kind:function(thumb,size=0x1c) addr:0x20f4ab4
func_ov001_020f4ad0 kind:function(thumb,size=0x28) addr:0x20f4ad0
func_ov001_020f4af8 kind:function(thumb,size=0xc) addr:0x20f4af8
-func_ov001_020f4b04 kind:function(thumb,size=0x44) addr:0x20f4b04
-func_ov001_020f4b48 kind:function(thumb,size=0x60) addr:0x20f4b48
-func_ov001_020f4ba8 kind:function(thumb,size=0xcc) addr:0x20f4ba8
+func_ov001_020f4b04 kind:function(thumb,size=0x42) addr:0x20f4b04
+func_ov001_020f4b48 kind:function(thumb,size=0x5e) addr:0x20f4b48
+func_ov001_020f4ba8 kind:function(thumb,size=0xca) addr:0x20f4ba8
func_ov001_020f4c74 kind:function(thumb,size=0x5c) addr:0x20f4c74
func_ov001_020f4cd0 kind:function(thumb,size=0x14) addr:0x20f4cd0
func_ov001_020f4ce4 kind:function(thumb,size=0xc) addr:0x20f4ce4
@@ -159,7 +159,7 @@ func_ov001_020f4df8 kind:function(thumb,size=0x30) addr:0x20f4df8
func_ov001_020f4e28 kind:function(thumb,size=0x1c) addr:0x20f4e28
func_ov001_020f4e44 kind:function(thumb,size=0x18) addr:0x20f4e44
func_ov001_020f4e5c kind:function(thumb,size=0x30) addr:0x20f4e5c
-func_ov001_020f4e8c kind:function(thumb,size=0x54) addr:0x20f4e8c
+func_ov001_020f4e8c kind:function(thumb,size=0x52) addr:0x20f4e8c
func_ov001_020f4ee0 kind:function(thumb,size=0xa4) addr:0x20f4ee0
func_ov001_020f4f84 kind:function(thumb,size=0x60) addr:0x20f4f84
func_ov001_020f4fe4 kind:function(thumb,size=0x40) addr:0x20f4fe4
diff --git a/config/eur/arm9/overlays/ov002/delinks.txt b/config/eur/arm9/overlays/ov002/delinks.txt
index 884d78b3..f533848b 100644
--- a/config/eur/arm9/overlays/ov002/delinks.txt
+++ b/config/eur/arm9/overlays/ov002/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x020eed40 end:0x020f672c kind:code align:32
- .rodata start:0x020f672c end:0x020f6978 kind:data align:4
+ .rodata start:0x020f672c end:0x020f6978 kind:rodata align:4
.init start:0x020f6978 end:0x020f69a4 kind:code align:4
- .ctor start:0x020f69a4 end:0x020f69ac kind:data align:4
+ .ctor start:0x020f69a4 end:0x020f69ac kind:rodata align:4
.data start:0x020f69c0 end:0x020f7160 kind:data align:32
.bss start:0x020f7160 end:0x02100180 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov003/delinks.txt b/config/eur/arm9/overlays/ov003/delinks.txt
index a7c88d15..7016907a 100644
--- a/config/eur/arm9/overlays/ov003/delinks.txt
+++ b/config/eur/arm9/overlays/ov003/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x020eed40 end:0x020fc454 kind:code align:32
- .rodata start:0x020fc454 end:0x020ffe28 kind:data align:4
+ .rodata start:0x020fc454 end:0x020ffe28 kind:rodata align:4
.init start:0x020ffe28 end:0x020fffcc kind:code align:4
- .ctor start:0x020fffcc end:0x020ffff4 kind:data align:4
+ .ctor start:0x020fffcc end:0x020ffff4 kind:rodata align:4
.data start:0x02100000 end:0x02100a80 kind:data align:32
.bss start:0x02100a80 end:0x02100ae0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov003/symbols.txt b/config/eur/arm9/overlays/ov003/symbols.txt
index 96bf28cf..74e12a49 100644
--- a/config/eur/arm9/overlays/ov003/symbols.txt
+++ b/config/eur/arm9/overlays/ov003/symbols.txt
@@ -1,26 +1,26 @@
func_ov003_020eed40 kind:function(thumb,size=0x14) addr:0x20eed40
func_ov003_020eed54 kind:function(thumb,size=0x28) addr:0x20eed54
-func_ov003_020eed7c kind:function(thumb,size=0x78) addr:0x20eed7c
+func_ov003_020eed7c kind:function(thumb,size=0x76) addr:0x20eed7c
func_ov003_020eedf4 kind:function(thumb,size=0x8) addr:0x20eedf4
-func_ov003_020eedfc kind:function(thumb,size=0x54) addr:0x20eedfc
-func_ov003_020eee50 kind:function(thumb,size=0x8c) addr:0x20eee50
-func_ov003_020eeedc kind:function(thumb,size=0x2c) addr:0x20eeedc
-func_ov003_020eef08 kind:function(thumb,size=0x50) addr:0x20eef08
-func_ov003_020eef58 kind:function(thumb,size=0xb4) addr:0x20eef58
+func_ov003_020eedfc kind:function(thumb,size=0x52) addr:0x20eedfc
+func_ov003_020eee50 kind:function(thumb,size=0x8a) addr:0x20eee50
+func_ov003_020eeedc kind:function(thumb,size=0x2a) addr:0x20eeedc
+func_ov003_020eef08 kind:function(thumb,size=0x4e) addr:0x20eef08
+func_ov003_020eef58 kind:function(thumb,size=0xb2) addr:0x20eef58
func_ov003_020ef00c kind:function(thumb,size=0x28) addr:0x20ef00c
-func_ov003_020ef034 kind:function(thumb,size=0x4c) addr:0x20ef034
-func_ov003_020ef080 kind:function(thumb,size=0x380) addr:0x20ef080
+func_ov003_020ef034 kind:function(thumb,size=0x4a) addr:0x20ef034
+func_ov003_020ef080 kind:function(thumb,size=0x37e) addr:0x20ef080
func_ov003_020ef400 kind:function(thumb,size=0x334) addr:0x20ef400
func_ov003_020ef734 kind:function(thumb,size=0x4) addr:0x20ef734
-func_ov003_020ef738 kind:function(thumb,size=0x350) addr:0x20ef738
-func_ov003_020efa88 kind:function(thumb,size=0x6c) addr:0x20efa88
-func_ov003_020efaf4 kind:function(thumb,size=0x54) addr:0x20efaf4
-func_ov003_020efb48 kind:function(thumb,size=0x120) addr:0x20efb48
-func_ov003_020efc68 kind:function(thumb,size=0x1ec) addr:0x20efc68
+func_ov003_020ef738 kind:function(thumb,size=0x34e) addr:0x20ef738
+func_ov003_020efa88 kind:function(thumb,size=0x6a) addr:0x20efa88
+func_ov003_020efaf4 kind:function(thumb,size=0x52) addr:0x20efaf4
+func_ov003_020efb48 kind:function(thumb,size=0x11e) addr:0x20efb48
+func_ov003_020efc68 kind:function(thumb,size=0x1ea) addr:0x20efc68
func_ov003_020efe54 kind:function(thumb,size=0x29c) addr:0x20efe54
func_ov003_020f00f0 kind:function(thumb,size=0x68) addr:0x20f00f0
func_ov003_020f0158 kind:function(thumb,size=0x20) addr:0x20f0158
-func_ov003_020f0178 kind:function(thumb,size=0x7c) addr:0x20f0178
+func_ov003_020f0178 kind:function(thumb,size=0x7a) addr:0x20f0178
func_ov003_020f01f4 kind:function(thumb,size=0x6c) addr:0x20f01f4
func_ov003_020f0260 kind:function(thumb,size=0x1bc) addr:0x20f0260
func_ov003_020f041c kind:function(thumb,size=0x70) addr:0x20f041c
@@ -71,12 +71,12 @@ func_ov003_020f2774 kind:function(arm,size=0x74) addr:0x20f2774
func_ov003_020f27e8 kind:function(arm,size=0x60) addr:0x20f27e8
func_ov003_020f2848 kind:function(arm,size=0xbc) addr:0x20f2848
func_ov003_020f2904 kind:function(thumb,size=0x40) addr:0x20f2904
-func_ov003_020f2944 kind:function(thumb,size=0x34) addr:0x20f2944
+func_ov003_020f2944 kind:function(thumb,size=0x32) addr:0x20f2944
func_ov003_020f2978 kind:function(thumb,size=0xa0) addr:0x20f2978
func_ov003_020f2a18 kind:function(arm,size=0x14) addr:0x20f2a18
func_ov003_020f2a2c kind:function(thumb,size=0xa0) addr:0x20f2a2c
func_ov003_020f2acc kind:function(thumb,size=0xb8) addr:0x20f2acc
-func_ov003_020f2b84 kind:function(thumb,size=0x48) addr:0x20f2b84
+func_ov003_020f2b84 kind:function(thumb,size=0x46) addr:0x20f2b84
func_ov003_020f2bcc kind:function(thumb,size=0x50) addr:0x20f2bcc
func_ov003_020f2c1c kind:function(arm,size=0x1c) addr:0x20f2c1c
func_ov003_020f2c38 kind:function(arm,size=0x4) addr:0x20f2c38
@@ -104,33 +104,33 @@ func_ov003_020f3758 kind:function(thumb,size=0x118) addr:0x20f3758
func_ov003_020f3870 kind:function(thumb,size=0x24) addr:0x20f3870
func_ov003_020f3894 kind:function(thumb,size=0x8c) addr:0x20f3894
func_ov003_020f3920 kind:function(thumb,size=0x28) addr:0x20f3920
-func_ov003_020f3948 kind:function(thumb,size=0x2c) addr:0x20f3948
+func_ov003_020f3948 kind:function(thumb,size=0x2a) addr:0x20f3948
func_ov003_020f3974 kind:function(thumb,size=0x1c4) addr:0x20f3974
func_ov003_020f3b38 kind:function(thumb,size=0x34) addr:0x20f3b38
func_ov003_020f3b6c kind:function(thumb,size=0x50) addr:0x20f3b6c
-func_ov003_020f3bbc kind:function(thumb,size=0x1c) addr:0x20f3bbc
-func_ov003_020f3bd8 kind:function(thumb,size=0x18) addr:0x20f3bd8
-func_ov003_020f3bf0 kind:function(thumb,size=0x18) addr:0x20f3bf0
-func_ov003_020f3c08 kind:function(thumb,size=0x20) addr:0x20f3c08
-func_ov003_020f3c28 kind:function(thumb,size=0x5c) addr:0x20f3c28
-func_ov003_020f3c84 kind:function(thumb,size=0x44) addr:0x20f3c84
+func_ov003_020f3bbc kind:function(thumb,size=0x1a) addr:0x20f3bbc
+func_ov003_020f3bd8 kind:function(thumb,size=0x16) addr:0x20f3bd8
+func_ov003_020f3bf0 kind:function(thumb,size=0x16) addr:0x20f3bf0
+func_ov003_020f3c08 kind:function(thumb,size=0x1e) addr:0x20f3c08
+func_ov003_020f3c28 kind:function(thumb,size=0x5a) addr:0x20f3c28
+func_ov003_020f3c84 kind:function(thumb,size=0x42) addr:0x20f3c84
func_ov003_020f3cc8 kind:function(arm,size=0x8) addr:0x20f3cc8
func_ov003_020f3cd0 kind:function(arm,size=0x8c) addr:0x20f3cd0
-func_ov003_020f3d5c kind:function(thumb,size=0x18) addr:0x20f3d5c
+func_ov003_020f3d5c kind:function(thumb,size=0x16) addr:0x20f3d5c
func_ov003_020f3d74 kind:function(thumb,size=0xc) addr:0x20f3d74
func_ov003_020f3d80 kind:function(thumb,size=0xc) addr:0x20f3d80
-func_ov003_020f3d8c kind:function(thumb,size=0x8) addr:0x20f3d8c
-func_ov003_020f3d94 kind:function(thumb,size=0x8) addr:0x20f3d94
-func_ov003_020f3d9c kind:function(thumb,size=0x8) addr:0x20f3d9c
+func_ov003_020f3d8c kind:function(thumb,size=0x6) addr:0x20f3d8c
+func_ov003_020f3d94 kind:function(thumb,size=0x6) addr:0x20f3d94
+func_ov003_020f3d9c kind:function(thumb,size=0x6) addr:0x20f3d9c
func_ov003_020f3da4 kind:function(thumb,size=0xc) addr:0x20f3da4
func_ov003_020f3db0 kind:function(thumb,size=0xc) addr:0x20f3db0
func_ov003_020f3dbc kind:function(thumb,size=0xc) addr:0x20f3dbc
func_ov003_020f3dc8 kind:function(thumb,size=0x20) addr:0x20f3dc8
-func_ov003_020f3de8 kind:function(thumb,size=0x1c) addr:0x20f3de8
+func_ov003_020f3de8 kind:function(thumb,size=0x1a) addr:0x20f3de8
func_ov003_020f3e04 kind:function(thumb,size=0x70) addr:0x20f3e04
-func_ov003_020f3e74 kind:function(thumb,size=0x20) addr:0x20f3e74
+func_ov003_020f3e74 kind:function(thumb,size=0x1e) addr:0x20f3e74
func_ov003_020f3e94 kind:function(thumb,size=0xd8) addr:0x20f3e94
-func_ov003_020f3f6c kind:function(thumb,size=0x28) addr:0x20f3f6c
+func_ov003_020f3f6c kind:function(thumb,size=0x26) addr:0x20f3f6c
func_ov003_020f3f94 kind:function(arm,size=0x20) addr:0x20f3f94
func_ov003_020f3fb4 kind:function(arm,size=0x44) addr:0x20f3fb4
func_ov003_020f3ff8 kind:function(arm,size=0x44) addr:0x20f3ff8
@@ -144,10 +144,10 @@ func_ov003_020f40c0 kind:function(arm,size=0x28) addr:0x20f40c0
func_ov003_020f40e8 kind:function(arm,size=0x28) addr:0x20f40e8
func_ov003_020f4110 kind:function(thumb,size=0x68) addr:0x20f4110
func_ov003_020f4178 kind:function(thumb,size=0x48) addr:0x20f4178
-func_ov003_020f41c0 kind:function(thumb,size=0x70) addr:0x20f41c0
+func_ov003_020f41c0 kind:function(thumb,size=0x6e) addr:0x20f41c0
func_ov003_020f4230 kind:function(thumb,size=0x38) addr:0x20f4230
func_ov003_020f4268 kind:function(thumb,size=0xa4) addr:0x20f4268
-func_ov003_020f430c kind:function(thumb,size=0x18) addr:0x20f430c
+func_ov003_020f430c kind:function(thumb,size=0x16) addr:0x20f430c
func_ov003_020f4324 kind:function(thumb,size=0x7c) addr:0x20f4324
func_ov003_020f43a0 kind:function(thumb,size=0x7c) addr:0x20f43a0
func_ov003_020f441c kind:function(thumb,size=0xc) addr:0x20f441c
@@ -157,12 +157,12 @@ func_ov003_020f4488 kind:function(arm,size=0x18) addr:0x20f4488
func_ov003_020f44a0 kind:function(arm,size=0x18) addr:0x20f44a0
func_ov003_020f44b8 kind:function(arm,size=0x18) addr:0x20f44b8
func_ov003_020f44d0 kind:function(thumb,size=0xc) addr:0x20f44d0
-func_ov003_020f44dc kind:function(thumb,size=0x4) addr:0x20f44dc
+func_ov003_020f44dc kind:function(thumb,size=0x2) addr:0x20f44dc
func_ov003_020f44e0 kind:function(thumb,size=0xc) addr:0x20f44e0
-func_ov003_020f44ec kind:function(thumb,size=0x4) addr:0x20f44ec
-func_ov003_020f44f0 kind:function(thumb,size=0x4) addr:0x20f44f0
-func_ov003_020f44f4 kind:function(thumb,size=0x4) addr:0x20f44f4
-func_ov003_020f44f8 kind:function(thumb,size=0x4) addr:0x20f44f8
+func_ov003_020f44ec kind:function(thumb,size=0x2) addr:0x20f44ec
+func_ov003_020f44f0 kind:function(thumb,size=0x2) addr:0x20f44f0
+func_ov003_020f44f4 kind:function(thumb,size=0x2) addr:0x20f44f4
+func_ov003_020f44f8 kind:function(thumb,size=0x2) addr:0x20f44f8
func_ov003_020f44fc kind:function(arm,size=0x4) addr:0x20f44fc
func_ov003_020f4500 kind:function(arm,size=0x4) addr:0x20f4500
func_ov003_020f4504 kind:function(arm,size=0x4) addr:0x20f4504
@@ -172,7 +172,7 @@ func_ov003_020f4534 kind:function(thumb,size=0x24) addr:0x20f4534
func_ov003_020f4558 kind:function(thumb,size=0xa8) addr:0x20f4558
func_ov003_020f4600 kind:function(thumb,size=0x78) addr:0x20f4600
func_ov003_020f4678 kind:function(thumb,size=0x80) addr:0x20f4678
-func_ov003_020f46f8 kind:function(thumb,size=0x20) addr:0x20f46f8
+func_ov003_020f46f8 kind:function(thumb,size=0x1e) addr:0x20f46f8
func_ov003_020f4718 kind:function(thumb,size=0x48) addr:0x20f4718
func_ov003_020f4760 kind:function(thumb,size=0x18) addr:0x20f4760
func_ov003_020f4778 kind:function(thumb,size=0x6c) addr:0x20f4778
@@ -180,7 +180,7 @@ func_ov003_020f47e4 kind:function(thumb,size=0x60) addr:0x20f47e4
func_ov003_020f4844 kind:function(thumb,size=0x30) addr:0x20f4844
func_ov003_020f4874 kind:function(thumb,size=0x10) addr:0x20f4874
func_ov003_020f4884 kind:function(thumb,size=0x58) addr:0x20f4884
-func_ov003_020f48dc kind:function(thumb,size=0x30) addr:0x20f48dc
+func_ov003_020f48dc kind:function(thumb,size=0x2e) addr:0x20f48dc
func_ov003_020f490c kind:function(thumb,size=0x34) addr:0x20f490c
func_ov003_020f4940 kind:function(thumb,size=0x20) addr:0x20f4940
func_ov003_020f4960 kind:function(arm,size=0xfc) addr:0x20f4960
@@ -209,7 +209,7 @@ func_ov003_020f5188 kind:function(thumb,size=0x24) addr:0x20f5188
func_ov003_020f51ac kind:function(arm,size=0x20) addr:0x20f51ac
func_ov003_020f51cc kind:function(thumb,size=0x38) addr:0x20f51cc
func_ov003_020f5204 kind:function(thumb,size=0x30) addr:0x20f5204
-func_ov003_020f5234 kind:function(thumb,size=0x1c) addr:0x20f5234
+func_ov003_020f5234 kind:function(thumb,size=0x1a) addr:0x20f5234
func_ov003_020f5250 kind:function(thumb,size=0x38) addr:0x20f5250
func_ov003_020f5288 kind:function(thumb,size=0xc) addr:0x20f5288
func_ov003_020f5294 kind:function(thumb,size=0x10) addr:0x20f5294
@@ -344,19 +344,19 @@ func_ov003_020faa64 kind:function(thumb,size=0x40) addr:0x20faa64
func_ov003_020faaa4 kind:function(thumb,size=0x14) addr:0x20faaa4
_ZN14OverlayManager13LoadEquipItemEi kind:function(thumb,size=0x70) addr:0x20faab8
func_ov003_020fab28 kind:function(thumb,size=0x14) addr:0x20fab28
-func_ov003_020fab3c kind:function(thumb,size=0x4) addr:0x20fab3c
+func_ov003_020fab3c kind:function(thumb,size=0x2) addr:0x20fab3c
func_ov003_020fab40 kind:function(thumb,size=0xc) addr:0x20fab40
-func_ov003_020fab4c kind:function(thumb,size=0x4) addr:0x20fab4c
-func_ov003_020fab50 kind:function(thumb,size=0x8) addr:0x20fab50
-func_ov003_020fab58 kind:function(thumb,size=0x4) addr:0x20fab58
-func_ov003_020fab5c kind:function(thumb,size=0x4) addr:0x20fab5c
-func_ov003_020fab60 kind:function(thumb,size=0x4) addr:0x20fab60
+func_ov003_020fab4c kind:function(thumb,size=0x2) addr:0x20fab4c
+func_ov003_020fab50 kind:function(thumb,size=0x6) addr:0x20fab50
+func_ov003_020fab58 kind:function(thumb,size=0x2) addr:0x20fab58
+func_ov003_020fab5c kind:function(thumb,size=0x2) addr:0x20fab5c
+func_ov003_020fab60 kind:function(thumb,size=0x2) addr:0x20fab60
func_ov003_020fab64 kind:function(thumb,size=0x240) addr:0x20fab64
-func_ov003_020fada4 kind:function(thumb,size=0x30) addr:0x20fada4
+func_ov003_020fada4 kind:function(thumb,size=0x2e) addr:0x20fada4
func_ov003_020fadd4 kind:function(thumb,size=0x20) addr:0x20fadd4
func_ov003_020fadf4 kind:function(thumb,size=0x40) addr:0x20fadf4
func_ov003_020fae34 kind:function(thumb,size=0x30) addr:0x20fae34
-func_ov003_020fae64 kind:function(thumb,size=0x24) addr:0x20fae64
+func_ov003_020fae64 kind:function(thumb,size=0x22) addr:0x20fae64
func_ov003_020fae88 kind:function(thumb,size=0x18) addr:0x20fae88
func_ov003_020faea0 kind:function(thumb,size=0x44) addr:0x20faea0
func_ov003_020faee4 kind:function(thumb,size=0x48) addr:0x20faee4
@@ -368,12 +368,12 @@ func_ov003_020fb054 kind:function(thumb,size=0x30) addr:0x20fb054
func_ov003_020fb084 kind:function(thumb,size=0x24) addr:0x20fb084
func_ov003_020fb0a8 kind:function(thumb,size=0x8) addr:0x20fb0a8
func_ov003_020fb0b0 kind:function(thumb,size=0x68) addr:0x20fb0b0
-func_ov003_020fb118 kind:function(thumb,size=0x30) addr:0x20fb118
+func_ov003_020fb118 kind:function(thumb,size=0x2e) addr:0x20fb118
func_ov003_020fb148 kind:function(arm,size=0x110) addr:0x20fb148
func_ov003_020fb258 kind:function(thumb,size=0x14) addr:0x20fb258
-func_ov003_020fb26c kind:function(thumb,size=0x28) addr:0x20fb26c
+func_ov003_020fb26c kind:function(thumb,size=0x26) addr:0x20fb26c
func_ov003_020fb294 kind:function(thumb,size=0x38) addr:0x20fb294
-func_ov003_020fb2cc kind:function(thumb,size=0x1c) addr:0x20fb2cc
+func_ov003_020fb2cc kind:function(thumb,size=0x1a) addr:0x20fb2cc
func_ov003_020fb2e8 kind:function(thumb,size=0x88) addr:0x20fb2e8
func_ov003_020fb370 kind:function(thumb,size=0x3c) addr:0x20fb370
func_ov003_020fb3ac kind:function(thumb,size=0x1c) addr:0x20fb3ac
@@ -408,8 +408,8 @@ func_ov003_020fbed0 kind:function(arm,size=0x18) addr:0x20fbed0
func_ov003_020fbee8 kind:function(arm,size=0x8) addr:0x20fbee8
func_ov003_020fbef0 kind:function(arm,size=0x48) addr:0x20fbef0
func_ov003_020fbf38 kind:function(arm,size=0x8) addr:0x20fbf38
-func_ov003_020fbf40 kind:function(thumb,size=0x8) addr:0x20fbf40
-func_ov003_020fbf48 kind:function(thumb,size=0xc) addr:0x20fbf48
+func_ov003_020fbf40 kind:function(thumb,size=0x6) addr:0x20fbf40
+func_ov003_020fbf48 kind:function(thumb,size=0xa) addr:0x20fbf48
func_ov003_020fbf54 kind:function(thumb,size=0x54) addr:0x20fbf54
func_ov003_020fbfa8 kind:function(thumb,size=0x6c) addr:0x20fbfa8
func_ov003_020fc014 kind:function(arm,size=0x1c) addr:0x20fc014
diff --git a/config/eur/arm9/overlays/ov004/delinks.txt b/config/eur/arm9/overlays/ov004/delinks.txt
index 3df0adbc..4263b532 100644
--- a/config/eur/arm9/overlays/ov004/delinks.txt
+++ b/config/eur/arm9/overlays/ov004/delinks.txt
@@ -1,7 +1,10 @@
.text start:0x02100ae0 end:0x0210f824 kind:code align:32
- .rodata start:0x0210f824 end:0x0210fd58 kind:data align:4
+ .rodata start:0x0210f824 end:0x0210fd58 kind:rodata align:4
.init start:0x0210fd58 end:0x0210fd90 kind:code align:4
- .ctor start:0x0210fd90 end:0x0210fd9c kind:data align:4
+ .ctor start:0x0210fd90 end:0x0210fd9c kind:rodata align:4
.data start:0x0210fda0 end:0x021113e0 kind:data align:32
.bss start:0x021113e0 end:0x021113e0 kind:bss align:32
+src/04_Load/Player/LinkStateMove.cpp:
+ complete
+ .text start:0x0210aed4 end:0x0210af14
diff --git a/config/eur/arm9/overlays/ov004/relocs.txt b/config/eur/arm9/overlays/ov004/relocs.txt
index ce85e811..5b9dcff4 100644
--- a/config/eur/arm9/overlays/ov004/relocs.txt
+++ b/config/eur/arm9/overlays/ov004/relocs.txt
@@ -1960,7 +1960,7 @@ from:0x02109a4c kind:thumb_call_arm to:0x020d0530 module:overlay(0)
from:0x02109a52 kind:thumb_call to:0x021099b0 module:overlay(4)
from:0x02109a5e kind:thumb_call to:0x0210add4 module:overlay(4)
from:0x02109aba kind:thumb_call_arm to:0x0204f614 module:main
-from:0x02109ad8 kind:load to:0x020e5a48 add:8 module:overlay(0)
+from:0x02109ad8 kind:load to:0x020e5a40 add:8 module:overlay(0)
from:0x02109adc kind:load to:0x021079d5 module:overlay(4)
from:0x02109ae0 kind:load to:0x02057200 module:main
from:0x02109ae4 kind:load to:0x020b7d74 module:overlay(0)
@@ -2231,7 +2231,7 @@ from:0x0210aec2 kind:thumb_call to:0x0210adf4 module:overlay(4)
from:0x0210aec8 kind:thumb_call_arm to:0x0202ea0c module:main
from:0x0210aed0 kind:load to:0x020b7d74 module:overlay(0)
from:0x0210aed8 kind:thumb_call to:0x0210add4 module:overlay(4)
-from:0x0210aef0 kind:load to:0x020e5700 module:overlay(0)
+from:0x0210aef0 kind:load to:0x020e56f8 add:8 module:overlay(0)
from:0x0210aef8 kind:thumb_call to:0x0210adf4 module:overlay(4)
from:0x0210af04 kind:thumb_call to:0x0210adf4 module:overlay(4)
from:0x0210af0a kind:thumb_call_arm to:0x0202ea0c module:main
diff --git a/config/eur/arm9/overlays/ov004/symbols.txt b/config/eur/arm9/overlays/ov004/symbols.txt
index 89894cc5..64c73de8 100644
--- a/config/eur/arm9/overlays/ov004/symbols.txt
+++ b/config/eur/arm9/overlays/ov004/symbols.txt
@@ -11,13 +11,13 @@ func_ov004_02100ef8 kind:function(thumb,size=0x274) addr:0x2100ef8
func_ov004_0210116c kind:function(thumb,size=0x1c) addr:0x210116c
func_ov004_02101188 kind:function(thumb,size=0x21c) addr:0x2101188
func_ov004_021013a4 kind:function(thumb,size=0x7c) addr:0x21013a4
-func_ov004_02101420 kind:function(thumb,size=0x4c) addr:0x2101420
+func_ov004_02101420 kind:function(thumb,size=0x4a) addr:0x2101420
func_ov004_0210146c kind:function(thumb,size=0x2c) addr:0x210146c
func_ov004_02101498 kind:function(thumb,size=0x24) addr:0x2101498
func_ov004_021014bc kind:function(thumb,size=0x1c8) addr:0x21014bc
func_ov004_02101684 kind:function(arm,size=0x4) addr:0x2101684
func_ov004_02101688 kind:function(arm,size=0x4) addr:0x2101688
-func_ov004_0210168c kind:function(thumb,size=0x34) addr:0x210168c
+func_ov004_0210168c kind:function(thumb,size=0x32) addr:0x210168c
func_ov004_021016c0 kind:function(thumb,size=0x64) addr:0x21016c0
func_ov004_02101724 kind:function(thumb,size=0x280) addr:0x2101724
func_ov004_021019a4 kind:function(thumb,size=0xc0) addr:0x21019a4
@@ -29,17 +29,17 @@ func_ov004_02101c14 kind:function(thumb,size=0x20) addr:0x2101c14
func_ov004_02101c34 kind:function(thumb,size=0x40) addr:0x2101c34
func_ov004_02101c74 kind:function(thumb,size=0x14) addr:0x2101c74
func_ov004_02101c88 kind:function(thumb,size=0x3c) addr:0x2101c88
-func_ov004_02101cc4 kind:function(thumb,size=0x38) addr:0x2101cc4
+func_ov004_02101cc4 kind:function(thumb,size=0x36) addr:0x2101cc4
func_ov004_02101cfc kind:function(thumb,size=0x6c) addr:0x2101cfc
func_ov004_02101d68 kind:function(thumb,size=0x154) addr:0x2101d68
func_ov004_02101ebc kind:function(thumb,size=0x1c) addr:0x2101ebc
func_ov004_02101ed8 kind:function(thumb,size=0x7c) addr:0x2101ed8
_ZN10MapManagerC1Ev kind:function(thumb,size=0x3c) addr:0x2101f54
-_ZN10MapManagerD1Ev kind:function(thumb,size=0x2c) addr:0x2101f90
+_ZN10MapManagerD1Ev kind:function(thumb,size=0x2a) addr:0x2101f90
_ZN10MapManager6CreateEv kind:function(thumb,size=0x2c) addr:0x2101fbc
_ZN10MapManager7DestroyEv kind:function(thumb,size=0x24) addr:0x2101fe8
_ZN10MapManager17LoadMapTexSpritesEi kind:function(thumb,size=0x254) addr:0x210200c
-_ZN10MapManager19func_ov004_02102260Ev kind:function(thumb,size=0x4) addr:0x2102260
+_ZN10MapManager19func_ov004_02102260Ev kind:function(thumb,size=0x2) addr:0x2102260
_ZN10MapManager19func_ov004_02102264EPiPc kind:function(thumb,size=0x260) addr:0x2102264
_ZN10MapManager19func_ov004_021024c4Eiii kind:function(thumb,size=0x114) addr:0x21024c4
_ZN10MapManager19func_ov004_021025d8Ev kind:function(thumb,size=0x10) addr:0x21025d8
@@ -50,7 +50,7 @@ func_ov004_021026a0 kind:function(thumb,size=0x2c) addr:0x21026a0
func_ov004_021026cc kind:function(thumb,size=0x24) addr:0x21026cc
func_ov004_021026f0 kind:function(thumb,size=0x4c) addr:0x21026f0
func_ov004_0210273c kind:function(thumb,size=0xc) addr:0x210273c
-func_ov004_02102748 kind:function(thumb,size=0x28) addr:0x2102748
+func_ov004_02102748 kind:function(thumb,size=0x26) addr:0x2102748
func_ov004_02102770 kind:function(thumb,size=0x44) addr:0x2102770
func_ov004_021027b4 kind:function(arm,size=0x28) addr:0x21027b4
func_ov004_021027dc kind:function(arm,size=0x4) addr:0x21027dc
@@ -63,14 +63,14 @@ func_ov004_021028d8 kind:function(thumb,size=0x4c) addr:0x21028d8
func_ov004_02102924 kind:function(thumb,size=0x2c) addr:0x2102924
func_ov004_02102950 kind:function(thumb,size=0x24) addr:0x2102950
func_ov004_02102974 kind:function(thumb,size=0x70) addr:0x2102974
-func_ov004_021029e4 kind:function(thumb,size=0x24) addr:0x21029e4
+func_ov004_021029e4 kind:function(thumb,size=0x22) addr:0x21029e4
func_ov004_02102a08 kind:function(thumb,size=0x14) addr:0x2102a08
-func_ov004_02102a1c kind:function(thumb,size=0x10) addr:0x2102a1c
+func_ov004_02102a1c kind:function(thumb,size=0xe) addr:0x2102a1c
func_ov004_02102a2c kind:function(thumb,size=0x24) addr:0x2102a2c
func_ov004_02102a50 kind:function(thumb,size=0x50) addr:0x2102a50
func_ov004_02102aa0 kind:function(thumb,size=0x38) addr:0x2102aa0
-func_ov004_02102ad8 kind:function(thumb,size=0x20) addr:0x2102ad8
-func_ov004_02102af8 kind:function(thumb,size=0x8) addr:0x2102af8
+func_ov004_02102ad8 kind:function(thumb,size=0x1e) addr:0x2102ad8
+func_ov004_02102af8 kind:function(thumb,size=0x6) addr:0x2102af8
func_ov004_02102b00 kind:function(thumb,size=0x28) addr:0x2102b00
func_ov004_02102b28 kind:function(thumb,size=0x54) addr:0x2102b28
func_ov004_02102b7c kind:function(arm,size=0x14) addr:0x2102b7c
@@ -83,7 +83,7 @@ func_ov004_02102d54 kind:function(arm,size=0x8) addr:0x2102d54
func_ov004_02102d5c kind:function(arm,size=0x8) addr:0x2102d5c
func_ov004_02102d64 kind:function(arm,size=0x40) addr:0x2102d64
func_ov004_02102da4 kind:function(thumb,size=0x44) addr:0x2102da4
-func_ov004_02102de8 kind:function(thumb,size=0x4) addr:0x2102de8
+func_ov004_02102de8 kind:function(thumb,size=0x2) addr:0x2102de8
func_ov004_02102dec kind:function(thumb,size=0x2c) addr:0x2102dec
func_ov004_02102e18 kind:function(thumb,size=0x24) addr:0x2102e18
func_ov004_02102e3c kind:function(thumb,size=0x1c) addr:0x2102e3c
@@ -91,22 +91,22 @@ func_ov004_02102e58 kind:function(thumb,size=0x5ec) addr:0x2102e58
func_ov004_02103444 kind:function(thumb,size=0xb8) addr:0x2103444
func_ov004_021034fc kind:function(thumb,size=0xbc) addr:0x21034fc
func_ov004_021035b8 kind:function(thumb,size=0x54) addr:0x21035b8
-func_ov004_0210360c kind:function(thumb,size=0x2c) addr:0x210360c
+func_ov004_0210360c kind:function(thumb,size=0x2a) addr:0x210360c
func_ov004_02103638 kind:function(thumb,size=0x64) addr:0x2103638
-func_ov004_0210369c kind:function(thumb,size=0x40) addr:0x210369c
+func_ov004_0210369c kind:function(thumb,size=0x3e) addr:0x210369c
func_ov004_021036dc kind:function(thumb,size=0x2c) addr:0x21036dc
func_ov004_02103708 kind:function(thumb,size=0x24) addr:0x2103708
-func_ov004_0210372c kind:function(thumb,size=0x14) addr:0x210372c
-func_ov004_02103740 kind:function(thumb,size=0x14) addr:0x2103740
+func_ov004_0210372c kind:function(thumb,size=0x12) addr:0x210372c
+func_ov004_02103740 kind:function(thumb,size=0x12) addr:0x2103740
func_ov004_02103754 kind:function(thumb,size=0xc94) addr:0x2103754
-func_ov004_021043e8 kind:function(thumb,size=0x4) addr:0x21043e8
+func_ov004_021043e8 kind:function(thumb,size=0x2) addr:0x21043e8
_ZN14DebugHierarchyD0Ev kind:function(arm,size=0x1c) addr:0x21043ec
_ZN14DebugHierarchyD1Ev kind:function(arm,size=0x14) addr:0x2104408
_ZN14AdventureFlagsC1Ev kind:function(thumb,size=0x4c) addr:0x210441c
-_ZN14AdventureFlagsD1Ev kind:function(thumb,size=0x40) addr:0x2104468
+_ZN14AdventureFlagsD1Ev kind:function(thumb,size=0x3e) addr:0x2104468
_ZN14AdventureFlags6CreateEv kind:function(thumb,size=0x2c) addr:0x21044a8
_ZN14AdventureFlags7DestroyEv kind:function(thumb,size=0x24) addr:0x21044d4
-_ZN14AdventureFlags19func_ov004_021044f8Ei kind:function(thumb,size=0x44) addr:0x21044f8
+_ZN14AdventureFlags19func_ov004_021044f8Ei kind:function(thumb,size=0x42) addr:0x21044f8
_ZN14AdventureFlags19func_ov004_0210453cEv kind:function(thumb,size=0x20) addr:0x210453c
_ZN14AdventureFlags19func_ov004_0210455cEi kind:function(thumb,size=0x16c) addr:0x210455c
_ZN14AdventureFlags19func_ov004_021046c8Ei kind:function(thumb,size=0xc) addr:0x21046c8
@@ -145,24 +145,24 @@ func_ov004_021056f0 kind:function(thumb,size=0x24) addr:0x21056f0
func_ov004_02105714 kind:function(thumb,size=0x38) addr:0x2105714
func_ov004_0210574c kind:function(arm,size=0x24) addr:0x210574c
func_ov004_02105770 kind:function(thumb,size=0x20) addr:0x2105770
-func_ov004_02105790 kind:function(thumb,size=0x18) addr:0x2105790
+func_ov004_02105790 kind:function(thumb,size=0x16) addr:0x2105790
func_ov004_021057a8 kind:function(thumb,size=0xc) addr:0x21057a8
-func_ov004_021057b4 kind:function(thumb,size=0xa8) addr:0x21057b4
+func_ov004_021057b4 kind:function(thumb,size=0xa6) addr:0x21057b4
func_ov004_0210585c kind:function(thumb,size=0x70) addr:0x210585c
func_ov004_021058cc kind:function(thumb,size=0x84) addr:0x21058cc
func_ov004_02105950 kind:function(thumb,size=0x1c) addr:0x2105950
func_ov004_0210596c kind:function(thumb,size=0x78) addr:0x210596c
func_ov004_021059e4 kind:function(thumb,size=0x30) addr:0x21059e4
-func_ov004_02105a14 kind:function(thumb,size=0x18) addr:0x2105a14
+func_ov004_02105a14 kind:function(thumb,size=0x16) addr:0x2105a14
func_ov004_02105a2c kind:function(thumb,size=0x20) addr:0x2105a2c
-func_ov004_02105a4c kind:function(thumb,size=0x18) addr:0x2105a4c
+func_ov004_02105a4c kind:function(thumb,size=0x16) addr:0x2105a4c
func_ov004_02105a64 kind:function(thumb,size=0x28) addr:0x2105a64
func_ov004_02105a8c kind:function(thumb,size=0x1c) addr:0x2105a8c
func_ov004_02105aa8 kind:function(thumb,size=0x68) addr:0x2105aa8
func_ov004_02105b10 kind:function(thumb,size=0x154) addr:0x2105b10
LoadNarcFile kind:function(thumb,size=0x58) addr:0x2105c64
func_ov004_02105cbc kind:function(thumb,size=0x14) addr:0x2105cbc
-func_ov004_02105cd0 kind:function(thumb,size=0xa8) addr:0x2105cd0
+func_ov004_02105cd0 kind:function(thumb,size=0xa6) addr:0x2105cd0
func_ov004_02105d78 kind:function(thumb,size=0x2c) addr:0x2105d78
func_ov004_02105da4 kind:function(thumb,size=0x24) addr:0x2105da4
func_ov004_02105dc8 kind:function(thumb,size=0x84) addr:0x2105dc8
@@ -186,23 +186,23 @@ func_ov004_021060d4 kind:function(thumb,size=0x44) addr:0x21060d4
func_ov004_02106118 kind:function(arm,size=0x10) addr:0x2106118
func_ov004_02106128 kind:function(thumb,size=0x20) addr:0x2106128
func_ov004_02106148 kind:function(thumb,size=0x10) addr:0x2106148
-func_ov004_02106158 kind:function(thumb,size=0x44) addr:0x2106158
+func_ov004_02106158 kind:function(thumb,size=0x42) addr:0x2106158
func_ov004_0210619c kind:function(thumb,size=0x10) addr:0x210619c
func_ov004_021061ac kind:function(thumb,size=0x94) addr:0x21061ac
-func_ov004_02106240 kind:function(thumb,size=0xe0) addr:0x2106240
+func_ov004_02106240 kind:function(thumb,size=0xde) addr:0x2106240
func_ov004_02106320 kind:function(thumb,size=0x150) addr:0x2106320
-func_ov004_02106470 kind:function(thumb,size=0x3bc) addr:0x2106470
+func_ov004_02106470 kind:function(thumb,size=0x3ba) addr:0x2106470
func_ov004_0210682c kind:function(thumb,size=0x28) addr:0x210682c
func_ov004_02106854 kind:function(thumb,size=0x24) addr:0x2106854
func_ov004_02106878 kind:function(thumb,size=0x14) addr:0x2106878
-func_ov004_0210688c kind:function(thumb,size=0x4) addr:0x210688c
+func_ov004_0210688c kind:function(thumb,size=0x2) addr:0x210688c
func_ov004_02106890 kind:function(thumb,size=0xbc) addr:0x2106890
func_ov004_0210694c kind:function(thumb,size=0x24) addr:0x210694c
func_ov004_02106970 kind:function(thumb,size=0x54) addr:0x2106970
func_ov004_021069c4 kind:function(thumb,size=0x31c) addr:0x21069c4
func_ov004_02106ce0 kind:function(thumb,size=0x80) addr:0x2106ce0
func_ov004_02106d60 kind:function(thumb,size=0x44) addr:0x2106d60
-func_ov004_02106da4 kind:function(thumb,size=0x14) addr:0x2106da4
+func_ov004_02106da4 kind:function(thumb,size=0x12) addr:0x2106da4
func_ov004_02106db8 kind:function(thumb,size=0x50) addr:0x2106db8
func_ov004_02106e08 kind:function(thumb,size=0x1bc) addr:0x2106e08
func_ov004_02106fc4 kind:function(thumb,size=0xc) addr:0x2106fc4
@@ -210,22 +210,22 @@ func_ov004_02106fd0 kind:function(thumb,size=0x154) addr:0x2106fd0
func_ov004_02107124 kind:function(thumb,size=0xc) addr:0x2107124
func_ov004_02107130 kind:function(thumb,size=0x78) addr:0x2107130
func_ov004_021071a8 kind:function(thumb,size=0x14) addr:0x21071a8
-func_ov004_021071bc kind:function(thumb,size=0x18) addr:0x21071bc
+func_ov004_021071bc kind:function(thumb,size=0x16) addr:0x21071bc
_ZN11ItemManagerC1Ev kind:function(thumb,size=0x140) addr:0x21071d4
_ZN11ItemManager4InitEv kind:function(thumb,size=0x1d4) addr:0x2107314
-_ZN11ItemManagerD1Ev kind:function(thumb,size=0x1c) addr:0x21074e8
+_ZN11ItemManagerD1Ev kind:function(thumb,size=0x1a) addr:0x21074e8
_ZN11ItemManager14InitEquipItemsEv kind:function(thumb,size=0x144) addr:0x2107504
_ZN11ItemManager19func_ov004_02107648Ev kind:function(thumb,size=0x8) addr:0x2107648
_ZN11ItemManager19func_ov004_02107650Ev kind:function(thumb,size=0x48) addr:0x2107650
_ZN11ItemManager19func_ov004_02107698Ev kind:function(thumb,size=0x24) addr:0x2107698
-_ZN11ItemManager19func_ov004_021076bcEv kind:function(thumb,size=0x94) addr:0x21076bc
+_ZN11ItemManager19func_ov004_021076bcEv kind:function(thumb,size=0x92) addr:0x21076bc
_ZN11ItemManager12SpawnFairiesEv kind:function(thumb,size=0xc0) addr:0x2107750
_ZN13ActorNaviBaseC2Ev kind:function(thumb,size=0xfc) addr:0x2107810
_ZN13ActorNaviBaseD1Ev kind:function(thumb,size=0x40) addr:0x210790c
_ZN13ActorNaviBaseD0Ev kind:function(thumb,size=0x48) addr:0x210794c
_ZN13ActorNaviBaseD2Ev kind:function(thumb,size=0x40) addr:0x2107994
-_Z19func_ov004_021079d4Pi kind:function(thumb,size=0x8) addr:0x21079d4
-_ZN13ActorNaviBase8vfunc_08Ev kind:function(thumb,size=0xa4) addr:0x21079dc
+_Z19func_ov004_021079d4Pi kind:function(thumb,size=0x6) addr:0x21079d4
+_ZN13ActorNaviBase4InitEv kind:function(thumb,size=0xa4) addr:0x21079dc
func_ov004_02107a80 kind:function(thumb,size=0x20) addr:0x2107a80
func_ov004_02107aa0 kind:function(thumb,size=0xc4) addr:0x2107aa0
func_ov004_02107b64 kind:function(thumb,size=0x9c) addr:0x2107b64
@@ -233,7 +233,7 @@ func_ov004_02107c00 kind:function(thumb,size=0x2c) addr:0x2107c00
func_ov004_02107c2c kind:function(thumb,size=0x20) addr:0x2107c2c
func_ov004_02107c4c kind:function(thumb,size=0x1c0) addr:0x2107c4c
func_ov004_02107e0c kind:function(thumb,size=0x28) addr:0x2107e0c
-func_ov004_02107e34 kind:function(thumb,size=0x20) addr:0x2107e34
+func_ov004_02107e34 kind:function(thumb,size=0x1e) addr:0x2107e34
_ZN13PlayerManager6CreateEv kind:function(thumb,size=0x24) addr:0x2107e54
_ZN13PlayerManager7DestroyEv kind:function(thumb,size=0x24) addr:0x2107e78
_ZN13PlayerManagerC1Ev kind:function(thumb,size=0x9c) addr:0x2107e9c
@@ -253,12 +253,12 @@ func_ov004_02108b80 kind:function(thumb,size=0x10) addr:0x2108b80
func_ov004_02108b90 kind:function(thumb,size=0x44) addr:0x2108b90
func_ov004_02108bd4 kind:function(thumb,size=0x158) addr:0x2108bd4
func_ov004_02108d2c kind:function(thumb,size=0xb4) addr:0x2108d2c
-func_ov004_02108de0 kind:function(thumb,size=0x2e8) addr:0x2108de0
+func_ov004_02108de0 kind:function(thumb,size=0x2e6) addr:0x2108de0
func_ov004_021090c8 kind:function(thumb,size=0x220) addr:0x21090c8
func_ov004_021092e8 kind:function(thumb,size=0x1b8) addr:0x21092e8
func_ov004_021094a0 kind:function(thumb,size=0x11c) addr:0x21094a0
func_ov004_021095bc kind:function(thumb,size=0x1a4) addr:0x21095bc
-func_ov004_02109760 kind:function(thumb,size=0x50) addr:0x2109760
+func_ov004_02109760 kind:function(thumb,size=0x4e) addr:0x2109760
func_ov004_021097b0 kind:function(thumb,size=0x1b8) addr:0x21097b0
func_ov004_02109968 kind:function(thumb,size=0x48) addr:0x2109968
func_ov004_021099b0 kind:function(thumb,size=0x5c) addr:0x21099b0
@@ -271,8 +271,8 @@ func_ov004_02109b78 kind:function(thumb,size=0x234) addr:0x2109b78
func_ov004_02109dac kind:function(thumb,size=0x64) addr:0x2109dac
func_ov004_02109e10 kind:function(thumb,size=0x50) addr:0x2109e10
func_ov004_02109e60 kind:function(thumb,size=0x1f0) addr:0x2109e60
-func_ov004_0210a050 kind:function(thumb,size=0x44) addr:0x210a050
-func_ov004_0210a094 kind:function(thumb,size=0x14) addr:0x210a094
+func_ov004_0210a050 kind:function(thumb,size=0x42) addr:0x210a050
+func_ov004_0210a094 kind:function(thumb,size=0x12) addr:0x210a094
_ZN14PlayerLinkBaseC2Ev kind:function(thumb,size=0x68c) addr:0x210a0a8
_ZN14PlayerLinkBaseD1Ev kind:function(thumb,size=0xd0) addr:0x210a734
_ZN14PlayerLinkBaseD0Ev kind:function(thumb,size=0xd8) addr:0x210a804
@@ -281,30 +281,30 @@ _ZN14PlayerLinkBase4InitEv kind:function(thumb,size=0x174) addr:0x210a9ac
_ZN14PlayerLinkBase8vfunc_20Ev kind:function(thumb,size=0x24) addr:0x210ab20
_ZN17LinkStateInteractC2EP14PlayerLinkBase kind:function(thumb,size=0x44) addr:0x210ab44
_ZN17LinkStateInteractD1Ev kind:function(thumb,size=0x14) addr:0x210ab88
-_ZN17LinkStateInteractD0Ev kind:function(thumb,size=0x1c) addr:0x210ab9c
+_ZN17LinkStateInteractD0Ev kind:function(thumb,size=0x1a) addr:0x210ab9c
func_ov004_0210abb8 kind:function(thumb,size=0x1c) addr:0x210abb8
_ZN17LinkStateCutsceneC2EP14PlayerLinkBase kind:function(thumb,size=0xf4) addr:0x210abd4
_ZN17LinkStateCutsceneD1Ev kind:function(thumb,size=0x44) addr:0x210acc8
_ZN17LinkStateCutsceneD0Ev kind:function(thumb,size=0x4c) addr:0x210ad0c
_ZN15LinkStateFollowC2EP14PlayerLinkBase kind:function(thumb,size=0x3c) addr:0x210ad58
_ZN15LinkStateFollowD1Ev kind:function(thumb,size=0x1c) addr:0x210ad94
-_ZN15LinkStateFollowD0Ev kind:function(thumb,size=0x24) addr:0x210adb0
+_ZN15LinkStateFollowD0Ev kind:function(thumb,size=0x22) addr:0x210adb0
_ZN13LinkStateBaseC2EP14PlayerLinkBase kind:function(thumb,size=0x10) addr:0x210add4
-_ZN13LinkStateBaseD1Ev kind:function(thumb,size=0x4) addr:0x210ade4
+_ZN13LinkStateBaseD1Ev kind:function(thumb,size=0x2) addr:0x210ade4
_ZN13LinkStateBaseD0Ev kind:function(thumb,size=0xc) addr:0x210ade8
-_ZN13LinkStateBaseD2Ev kind:function(thumb,size=0x4) addr:0x210adf4
-_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x4) addr:0x210adf8
+_ZN13LinkStateBaseD2Ev kind:function(thumb,size=0x2) addr:0x210adf4
+_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x2) addr:0x210adf8
_ZN13LinkStateRollC2EP14PlayerLinkBase kind:function(thumb,size=0x84) addr:0x210adfc
_ZN13LinkStateRollD1Ev kind:function(thumb,size=0x28) addr:0x210ae80
_ZN13LinkStateRollD0Ev kind:function(thumb,size=0x2c) addr:0x210aea8
_ZN13LinkStateMoveC2EP14PlayerLinkBase kind:function(thumb,size=0x20) addr:0x210aed4
_ZN13LinkStateMoveD1Ev kind:function(thumb,size=0xc) addr:0x210aef4
-_ZN13LinkStateMoveD0Ev kind:function(thumb,size=0x14) addr:0x210af00
+_ZN13LinkStateMoveD0Ev kind:function(thumb,size=0x12) addr:0x210af00
_ZN15ItemModelLoader6CreateEv kind:function(thumb,size=0x24) addr:0x210af14
_ZN15ItemModelLoader7DestroyEv kind:function(thumb,size=0x24) addr:0x210af38
func_ov004_0210af5c kind:function(thumb,size=0x80) addr:0x210af5c
_ZN13PlayerControlC1Ev kind:function(thumb,size=0x11c) addr:0x210afdc
-_ZN13PlayerControlD1Ev kind:function(thumb,size=0x44) addr:0x210b0f8
+_ZN13PlayerControlD1Ev kind:function(thumb,size=0x42) addr:0x210b0f8
_ZN13PlayerControl6CreateEv kind:function(thumb,size=0x24) addr:0x210b13c
_ZN13PlayerControl7DestroyEv kind:function(thumb,size=0x24) addr:0x210b160
_ZN13PlayerControl4InitEv kind:function(thumb,size=0x4c) addr:0x210b184
@@ -315,7 +315,7 @@ _ZN10PlayerBaseD1Ev kind:function(thumb,size=0x28) addr:0x210b258
_ZN10PlayerBaseD0Ev kind:function(thumb,size=0x30) addr:0x210b280
_ZN10PlayerBaseD2Ev kind:function(thumb,size=0x28) addr:0x210b2b0
func_ov004_0210b2d8 kind:function(thumb,size=0xb8) addr:0x210b2d8
-func_ov004_0210b390 kind:function(thumb,size=0x14) addr:0x210b390
+func_ov004_0210b390 kind:function(thumb,size=0x12) addr:0x210b390
func_ov004_0210b3a4 kind:function(thumb,size=0x2c) addr:0x210b3a4
func_ov004_0210b3d0 kind:function(arm,size=0x4) addr:0x210b3d0
func_ov004_0210b3d4 kind:function(arm,size=0x1c) addr:0x210b3d4
@@ -325,17 +325,17 @@ _ZN17PlayerControlDataD0Ev kind:function(thumb,size=0x58) addr:0x210b588
_ZN17PlayerControlDataD2Ev kind:function(thumb,size=0x54) addr:0x210b5e0
_Z19func_ov004_0210b634Pi kind:function(thumb,size=0xc) addr:0x210b634
_ZN17PlayerControlData8vfunc_18Ev kind:function(thumb,size=0x38) addr:0x210b640
-_ZN17PlayerControlData8vfunc_1cEv kind:function(thumb,size=0x4) addr:0x210b678
+_ZN17PlayerControlData8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x210b678
func_ov004_0210b67c kind:function(thumb,size=0x2c) addr:0x210b67c
func_ov004_0210b6a8 kind:function(thumb,size=0x2c) addr:0x210b6a8
_ZN10EquipSwordC2Ev kind:function(thumb,size=0x244) addr:0x210b6d4
_ZN10EquipSwordD1Ev kind:function(thumb,size=0xa0) addr:0x210b918
_ZN10EquipSwordD0Ev kind:function(thumb,size=0xa8) addr:0x210b9b8
_ZN9EquipItemC2Ev kind:function(thumb,size=0x14) addr:0x210ba60
-_ZN9EquipItemD1Ev kind:function(thumb,size=0x4) addr:0x210ba74
+_ZN9EquipItemD1Ev kind:function(thumb,size=0x2) addr:0x210ba74
_ZN9EquipItemD0Ev kind:function(thumb,size=0xc) addr:0x210ba78
-_ZN9EquipItemD2Ev kind:function(thumb,size=0x4) addr:0x210ba84
-_ZN9EquipItem8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x210ba88
+_ZN9EquipItemD2Ev kind:function(thumb,size=0x2) addr:0x210ba84
+_ZN9EquipItem8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x210ba88
_ZN11EquipShieldC2Ev kind:function(thumb,size=0x19c) addr:0x210ba8c
_ZN11EquipShieldD1Ev kind:function(thumb,size=0x6c) addr:0x210bc28
_ZN11EquipShieldD0Ev kind:function(thumb,size=0x70) addr:0x210bc94
@@ -353,9 +353,9 @@ _ZN7MapBase8vfunc_10Ev kind:function(thumb,size=0xa0) addr:0x210c52c
_ZN7MapBase8vfunc_2cEv kind:function(thumb,size=0x198) addr:0x210c5cc
_ZN7MapBase8vfunc_30Ei kind:function(thumb,size=0x9c) addr:0x210c764
_ZN7MapBase8vfunc_34EPc kind:function(thumb,size=0x8c) addr:0x210c800
-_ZN7MapBase8vfunc_38Ev kind:function(thumb,size=0x48) addr:0x210c88c
+_ZN7MapBase8vfunc_38Ev kind:function(thumb,size=0x46) addr:0x210c88c
_ZN7MapBase8vfunc_3cEv kind:function(thumb,size=0x1b0) addr:0x210c8d4
-_ZN7MapBase8vfunc_40Ev kind:function(thumb,size=0x7c) addr:0x210ca84
+_ZN7MapBase8vfunc_40Ev kind:function(thumb,size=0x7a) addr:0x210ca84
_ZN7MapBase8vfunc_44Ev kind:function(thumb,size=0x1c) addr:0x210cb00
_ZN7MapBase19func_ov004_0210cb1cEv kind:function(thumb,size=0x1c) addr:0x210cb1c
_ZN7MapBase19func_ov004_0210cb38Ev kind:function(thumb,size=0xe8) addr:0x210cb38
@@ -379,7 +379,7 @@ func_ov004_0210d110 kind:function(arm,size=0x24) addr:0x210d110
func_ov004_0210d134 kind:function(arm,size=0x10) addr:0x210d134
func_ov004_0210d144 kind:function(arm,size=0x134) addr:0x210d144
func_ov004_0210d278 kind:function(arm,size=0x24) addr:0x210d278
-func_ov004_0210d29c kind:function(thumb,size=0x2c) addr:0x210d29c
+func_ov004_0210d29c kind:function(thumb,size=0x2a) addr:0x210d29c
func_ov004_0210d2c8 kind:function(arm,size=0x48) addr:0x210d2c8
func_ov004_0210d310 kind:function(arm,size=0x8) addr:0x210d310
func_ov004_0210d318 kind:function(arm,size=0x8) addr:0x210d318
@@ -402,8 +402,8 @@ func_ov004_0210dd90 kind:function(thumb,size=0xb8) addr:0x210dd90
func_ov004_0210de48 kind:function(thumb,size=0x4c) addr:0x210de48
func_ov004_0210de94 kind:function(thumb,size=0x1c) addr:0x210de94
func_ov004_0210deb0 kind:function(thumb,size=0xd84) addr:0x210deb0
-_0210eb10 kind:label(thumb) addr:0x210eb10
-func_ov004_0210ec34 kind:function(thumb,size=0x8c) addr:0x210ec34
+.L_0210eb10 kind:label(thumb) addr:0x210eb10
+func_ov004_0210ec34 kind:function(thumb,size=0x8a) addr:0x210ec34
func_ov004_0210ecc0 kind:function(thumb,size=0x5c) addr:0x210ecc0
_ZN6CourseC1Ev kind:function(thumb,size=0x114) addr:0x210ed1c
_ZN6CourseD1Ev kind:function(thumb,size=0x54) addr:0x210ee30
@@ -411,20 +411,20 @@ _ZN6Course19func_ov004_0210ee84EPc kind:function(thumb,size=0x10c) addr:0x210ee8
_ZN6Course19func_ov004_0210ef90Ei kind:function(thumb,size=0x80) addr:0x210ef90
_ZN6Course19func_ov004_0210f010Ev kind:function(thumb,size=0x6c) addr:0x210f010
_ZN6Course11LoadMapDataEPhiici kind:function(thumb,size=0x80) addr:0x210f07c
-_ZN6Course19func_ov004_0210f0fcEiPsi kind:function(thumb,size=0x44) addr:0x210f0fc
-_ZN6Course19func_ov004_0210f140Ei kind:function(thumb,size=0x17c) addr:0x210f140
+_ZN6Course19func_ov004_0210f0fcEiPsi kind:function(thumb,size=0x42) addr:0x210f0fc
+_ZN6Course19func_ov004_0210f140Ei kind:function(thumb,size=0x17a) addr:0x210f140
_ZN15CutsceneHandlerC1Ev kind:function(thumb,size=0xb0) addr:0x210f2bc
_ZN15CutsceneHandlerD1Ev kind:function(thumb,size=0x78) addr:0x210f36c
_ZN15CutsceneHandler19func_ov004_0210f3e4Ei kind:function(thumb,size=0x88) addr:0x210f3e4
_ZN15CutsceneHandler19func_ov004_0210f46cEv kind:function(thumb,size=0x5c) addr:0x210f46c
func_ov004_0210f4c8 kind:function(thumb,size=0xc) addr:0x210f4c8
-func_ov004_0210f4d4 kind:function(thumb,size=0x4) addr:0x210f4d4
+func_ov004_0210f4d4 kind:function(thumb,size=0x2) addr:0x210f4d4
func_ov004_0210f4d8 kind:function(thumb,size=0xc) addr:0x210f4d8
-func_ov004_0210f4e4 kind:function(thumb,size=0x4) addr:0x210f4e4
-func_ov004_0210f4e8 kind:function(thumb,size=0x4) addr:0x210f4e8
-func_ov004_0210f4ec kind:function(thumb,size=0x4) addr:0x210f4ec
-func_ov004_0210f4f0 kind:function(thumb,size=0x4) addr:0x210f4f0
-func_ov004_0210f4f4 kind:function(thumb,size=0x4) addr:0x210f4f4
+func_ov004_0210f4e4 kind:function(thumb,size=0x2) addr:0x210f4e4
+func_ov004_0210f4e8 kind:function(thumb,size=0x2) addr:0x210f4e8
+func_ov004_0210f4ec kind:function(thumb,size=0x2) addr:0x210f4ec
+func_ov004_0210f4f0 kind:function(thumb,size=0x2) addr:0x210f4f0
+func_ov004_0210f4f4 kind:function(thumb,size=0x2) addr:0x210f4f4
func_ov004_0210f4f8 kind:function(thumb,size=0x30) addr:0x210f4f8
func_ov004_0210f528 kind:function(thumb,size=0x48) addr:0x210f528
func_ov004_0210f570 kind:function(thumb,size=0x4c) addr:0x210f570
@@ -436,11 +436,11 @@ func_ov004_0210f670 kind:function(thumb,size=0x6c) addr:0x210f670
func_ov004_0210f6dc kind:function(arm,size=0x4) addr:0x210f6dc
func_ov004_0210f6e0 kind:function(thumb,size=0x28) addr:0x210f6e0
func_ov004_0210f708 kind:function(thumb,size=0x3c) addr:0x210f708
-func_ov004_0210f744 kind:function(thumb,size=0x28) addr:0x210f744
+func_ov004_0210f744 kind:function(thumb,size=0x26) addr:0x210f744
func_ov004_0210f76c kind:function(thumb,size=0x24) addr:0x210f76c
func_ov004_0210f790 kind:function(thumb,size=0x24) addr:0x210f790
func_ov004_0210f7b4 kind:function(thumb,size=0x38) addr:0x210f7b4
-func_ov004_0210f7ec kind:function(thumb,size=0x20) addr:0x210f7ec
+func_ov004_0210f7ec kind:function(thumb,size=0x1e) addr:0x210f7ec
func_ov004_0210f80c kind:function(thumb,size=0x18) addr:0x210f80c
data_ov004_0210f824 kind:data(any) addr:0x210f824
data_ov004_0210f826 kind:data(any) addr:0x210f826
diff --git a/config/eur/arm9/overlays/ov005/delinks.txt b/config/eur/arm9/overlays/ov005/delinks.txt
index 37358df1..2dc0f7d5 100644
--- a/config/eur/arm9/overlays/ov005/delinks.txt
+++ b/config/eur/arm9/overlays/ov005/delinks.txt
@@ -1,7 +1,12 @@
.text start:0x02100ae0 end:0x021122a0 kind:code align:32
- .rodata start:0x021122a0 end:0x021123bc kind:data align:4
+ .rodata start:0x021122a0 end:0x021123bc kind:rodata align:4
.init start:0x021123bc end:0x02112464 kind:code align:4
- .ctor start:0x02112464 end:0x02112478 kind:data align:4
+ .ctor start:0x02112464 end:0x02112478 kind:rodata align:4
.data start:0x02112480 end:0x02112c20 kind:data align:32
.bss start:0x02112c20 end:0x02112c20 kind:bss align:32
+src/05/Player/LinkStateMove.cpp:
+ complete
+ .text start:0x021113d0 end:0x02111bc0
+ .rodata start:0x021123ac end:0x021123bc
+ .data start:0x02112be4 end:0x02112c20
diff --git a/config/eur/arm9/overlays/ov005/relocs.txt b/config/eur/arm9/overlays/ov005/relocs.txt
index 6f4acbc0..aaf7b5ff 100644
--- a/config/eur/arm9/overlays/ov005/relocs.txt
+++ b/config/eur/arm9/overlays/ov005/relocs.txt
@@ -2426,7 +2426,7 @@ from:0x02111a64 kind:load to:0x027e0618 module:dtcm
from:0x02111a68 kind:load to:0x027e0fb8 module:dtcm
from:0x02111a6c kind:load to:0x02112be4 module:overlay(5)
from:0x02111a70 kind:load to:0x020e56f0 module:overlay(0)
-from:0x02111a78 kind:load to:0x02112c04 module:overlay(5)
+from:0x02111a78 kind:load to:0x02112bfc add:8 module:overlay(5)
from:0x02111a7c kind:load to:0x027e0fe4 module:dtcm
from:0x02111a88 kind:load to:0x027e0ffc module:dtcm
from:0x02111a90 kind:load to:0x021123ac module:overlay(5)
diff --git a/config/eur/arm9/overlays/ov005/symbols.txt b/config/eur/arm9/overlays/ov005/symbols.txt
index 2689f39f..a0c2e66b 100644
--- a/config/eur/arm9/overlays/ov005/symbols.txt
+++ b/config/eur/arm9/overlays/ov005/symbols.txt
@@ -308,7 +308,7 @@ _ZN13LinkStateBase19func_ov005_021113c4Eb kind:function(arm,size=0xc) addr:0x211
_ZN13LinkStateMove19func_ov005_021113d0Ev kind:function(arm,size=0xc) addr:0x21113d0
_ZN13LinkStateMove8vfunc_1cEv kind:function(arm,size=0x6bc) addr:0x21113dc
_ZN13LinkStateMove8vfunc_3cEv kind:function(arm,size=0x60) addr:0x2111a98
-func_ov005_02111af8 kind:function(arm,size=0xc8) addr:0x2111af8
+_ZN14UnkFilterActor6FilterEP5Actor kind:function(arm,size=0xc8) addr:0x2111af8
_ZN7MapBase8vfunc_1cEb kind:function(arm,size=0x40) addr:0x2111bc0
_ZN7MapBase8vfunc_20Ei kind:function(arm,size=0x6c) addr:0x2111c00
_ZN7MapBase8vfunc_24Ev kind:function(arm,size=0x4) addr:0x2111c6c
@@ -329,7 +329,8 @@ data_ov005_02112308 kind:data(any) addr:0x2112308
data_ov005_02112324 kind:data(any) addr:0x2112324
data_ov005_02112360 kind:data(any) addr:0x2112360
data_ov005_021123a0 kind:data(any) addr:0x21123a0
-data_ov005_021123ac kind:data(any) addr:0x21123ac
+data_ov005_021123ac kind:data(any) addr:0x21123ac local
+data_ov005_021123b8 kind:data(any) addr:0x21123b8 local
__sinit_ov005_021123bc kind:function(arm,size=0x24) addr:0x21123bc
__sinit_ov005_021123e0 kind:function(arm,size=0x1c) addr:0x21123e0
__sinit_ov005_021123fc kind:function(arm,size=0x24) addr:0x21123fc
@@ -452,5 +453,8 @@ data_ov005_02112ba4 kind:data(any) addr:0x2112ba4
data_ov005_02112bb4 kind:data(any) addr:0x2112bb4
data_ov005_02112bc4 kind:data(any) addr:0x2112bc4
data_ov005_02112bd4 kind:data(any) addr:0x2112bd4
-data_ov005_02112be4 kind:data(any) addr:0x2112be4
-data_ov005_02112c04 kind:data(any) addr:0x2112c04
+data_ov005_02112be4 kind:data(any) addr:0x2112be4 local
+data_ov005_02112be8 kind:data(any) addr:0x2112be8 local
+data_ov005_02112bec kind:data(any) addr:0x2112bec local
+data_ov005_02112bf0 kind:data(any) addr:0x2112bf0 local
+_ZTV14UnkFilterActor kind:data(any) addr:0x2112bfc
diff --git a/config/eur/arm9/overlays/ov006/delinks.txt b/config/eur/arm9/overlays/ov006/delinks.txt
index 4d3863bd..bcf568d7 100644
--- a/config/eur/arm9/overlays/ov006/delinks.txt
+++ b/config/eur/arm9/overlays/ov006/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02100ae0 end:0x02102ffc kind:code align:32
- .rodata start:0x02102ffc end:0x021039ac kind:data align:4
- .ctor start:0x021039ac end:0x021039b0 kind:data align:4
+ .rodata start:0x02102ffc end:0x021039ac kind:rodata align:4
+ .ctor start:0x021039ac end:0x021039b0 kind:rodata align:4
.data start:0x021039c0 end:0x02104000 kind:data align:32
.bss start:0x02104000 end:0x02104020 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov007/delinks.txt b/config/eur/arm9/overlays/ov007/delinks.txt
index 5de92741..48eb7448 100644
--- a/config/eur/arm9/overlays/ov007/delinks.txt
+++ b/config/eur/arm9/overlays/ov007/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02100ae0 end:0x021028c8 kind:code align:32
- .rodata start:0x021028c8 end:0x02102938 kind:data align:4
- .ctor start:0x02102938 end:0x0210293c kind:data align:4
+ .rodata start:0x021028c8 end:0x02102938 kind:rodata align:4
+ .ctor start:0x02102938 end:0x0210293c kind:rodata align:4
.data start:0x02102940 end:0x02102aa0 kind:data align:32
.bss start:0x02102aa0 end:0x0210eb40 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov008/delinks.txt b/config/eur/arm9/overlays/ov008/delinks.txt
index 84cf4871..0abc0500 100644
--- a/config/eur/arm9/overlays/ov008/delinks.txt
+++ b/config/eur/arm9/overlays/ov008/delinks.txt
@@ -1,5 +1,5 @@
.text start:0x02112c20 end:0x02113af4 kind:code align:32
- .ctor start:0x02113af4 end:0x02113af8 kind:data align:4
+ .ctor start:0x02113af4 end:0x02113af8 kind:rodata align:4
.data start:0x02113b00 end:0x02113b80 kind:data align:32
.bss start:0x02113b80 end:0x02113b80 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov009/delinks.txt b/config/eur/arm9/overlays/ov009/delinks.txt
index be6e1916..9ed9eb3f 100644
--- a/config/eur/arm9/overlays/ov009/delinks.txt
+++ b/config/eur/arm9/overlays/ov009/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02112c20 end:0x0211d98c kind:code align:32
- .rodata start:0x0211d98c end:0x0211e4a4 kind:data align:4
+ .rodata start:0x0211d98c end:0x0211e4a4 kind:rodata align:4
.init start:0x0211e4a4 end:0x0211e660 kind:code align:4
- .ctor start:0x0211e660 end:0x0211e680 kind:data align:4
+ .ctor start:0x0211e660 end:0x0211e680 kind:rodata align:4
.data start:0x0211e680 end:0x0211f520 kind:data align:32
.bss start:0x0211f520 end:0x0211f640 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov009/symbols.txt b/config/eur/arm9/overlays/ov009/symbols.txt
index 7635ef57..13fd8779 100644
--- a/config/eur/arm9/overlays/ov009/symbols.txt
+++ b/config/eur/arm9/overlays/ov009/symbols.txt
@@ -15,10 +15,10 @@ func_ov009_02113490 kind:function(thumb,size=0xa4) addr:0x2113490
func_ov009_02113534 kind:function(thumb,size=0x9c) addr:0x2113534
func_ov009_021135d0 kind:function(arm,size=0x50) addr:0x21135d0
func_ov009_02113620 kind:function(thumb,size=0x20) addr:0x2113620
-func_ov009_02113640 kind:function(thumb,size=0x4) addr:0x2113640
-func_ov009_02113644 kind:function(thumb,size=0x4) addr:0x2113644
-func_ov009_02113648 kind:function(thumb,size=0x4) addr:0x2113648
-func_ov009_0211364c kind:function(thumb,size=0x4) addr:0x211364c
+func_ov009_02113640 kind:function(thumb,size=0x2) addr:0x2113640
+func_ov009_02113644 kind:function(thumb,size=0x2) addr:0x2113644
+func_ov009_02113648 kind:function(thumb,size=0x2) addr:0x2113648
+func_ov009_0211364c kind:function(thumb,size=0x2) addr:0x211364c
func_ov009_02113650 kind:function(arm,size=0x1c) addr:0x2113650
func_ov009_0211366c kind:function(arm,size=0x2c) addr:0x211366c
func_ov009_02113698 kind:function(arm,size=0x2c) addr:0x2113698
@@ -37,23 +37,23 @@ func_ov009_021139f8 kind:function(thumb,size=0x2c) addr:0x21139f8
func_ov009_02113a24 kind:function(thumb,size=0x38) addr:0x2113a24
func_ov009_02113a5c kind:function(thumb,size=0x2c) addr:0x2113a5c
func_ov009_02113a88 kind:function(thumb,size=0xd4) addr:0x2113a88
-func_ov009_02113b5c kind:function(thumb,size=0xc4) addr:0x2113b5c
+func_ov009_02113b5c kind:function(thumb,size=0xc2) addr:0x2113b5c
func_ov009_02113c20 kind:function(thumb,size=0x14) addr:0x2113c20
func_ov009_02113c34 kind:function(thumb,size=0x20) addr:0x2113c34
func_ov009_02113c54 kind:function(thumb,size=0x5c) addr:0x2113c54
-func_ov009_02113cb0 kind:function(thumb,size=0x34) addr:0x2113cb0
-func_ov009_02113ce4 kind:function(thumb,size=0x14) addr:0x2113ce4
+func_ov009_02113cb0 kind:function(thumb,size=0x32) addr:0x2113cb0
+func_ov009_02113ce4 kind:function(thumb,size=0x12) addr:0x2113ce4
func_ov009_02113cf8 kind:function(thumb,size=0x4) addr:0x2113cf8
func_ov009_02113cfc kind:function(thumb,size=0x24) addr:0x2113cfc
-func_ov009_02113d20 kind:function(thumb,size=0x8) addr:0x2113d20
+func_ov009_02113d20 kind:function(thumb,size=0x6) addr:0x2113d20
func_ov009_02113d28 kind:function(thumb,size=0x8) addr:0x2113d28
func_ov009_02113d30 kind:function(thumb,size=0x8) addr:0x2113d30
-func_ov009_02113d38 kind:function(thumb,size=0xe0) addr:0x2113d38
+func_ov009_02113d38 kind:function(thumb,size=0xde) addr:0x2113d38
func_ov009_02113e18 kind:function(thumb,size=0xf0) addr:0x2113e18
func_ov009_02113f08 kind:function(thumb,size=0x18) addr:0x2113f08
-func_ov009_02113f20 kind:function(thumb,size=0x20) addr:0x2113f20
-func_ov009_02113f40 kind:function(thumb,size=0x50) addr:0x2113f40
-func_ov009_02113f90 kind:function(thumb,size=0x90) addr:0x2113f90
+func_ov009_02113f20 kind:function(thumb,size=0x1e) addr:0x2113f20
+func_ov009_02113f40 kind:function(thumb,size=0x4e) addr:0x2113f40
+func_ov009_02113f90 kind:function(thumb,size=0x8e) addr:0x2113f90
func_ov009_02114020 kind:function(thumb,size=0x58) addr:0x2114020
func_ov009_02114078 kind:function(thumb,size=0x6c) addr:0x2114078
func_ov009_021140e4 kind:function(thumb,size=0x2c) addr:0x21140e4
@@ -64,7 +64,7 @@ func_ov009_021141a8 kind:function(thumb,size=0x70) addr:0x21141a8
func_ov009_02114218 kind:function(thumb,size=0x14) addr:0x2114218
func_ov009_0211422c kind:function(thumb,size=0x80) addr:0x211422c
func_ov009_021142ac kind:function(thumb,size=0x38) addr:0x21142ac
-func_ov009_021142e4 kind:function(thumb,size=0xc0) addr:0x21142e4
+func_ov009_021142e4 kind:function(thumb,size=0xbe) addr:0x21142e4
func_ov009_021143a4 kind:function(thumb,size=0x1c) addr:0x21143a4
func_ov009_021143c0 kind:function(thumb,size=0x1c) addr:0x21143c0
func_ov009_021143dc kind:function(thumb,size=0x50) addr:0x21143dc
@@ -73,17 +73,17 @@ func_ov009_02114448 kind:function(arm,size=0x14) addr:0x2114448
func_ov009_0211445c kind:function(arm,size=0x28) addr:0x211445c
func_ov009_02114484 kind:function(arm,size=0x20) addr:0x2114484
func_ov009_021144a4 kind:function(thumb,size=0x10) addr:0x21144a4
-func_ov009_021144b4 kind:function(thumb,size=0x4) addr:0x21144b4
+func_ov009_021144b4 kind:function(thumb,size=0x2) addr:0x21144b4
func_ov009_021144b8 kind:function(thumb,size=0xc) addr:0x21144b8
-func_ov009_021144c4 kind:function(thumb,size=0x4) addr:0x21144c4
-func_ov009_021144c8 kind:function(thumb,size=0x4) addr:0x21144c8
-func_ov009_021144cc kind:function(thumb,size=0x4) addr:0x21144cc
-func_ov009_021144d0 kind:function(thumb,size=0x8) addr:0x21144d0
-func_ov009_021144d8 kind:function(thumb,size=0x4) addr:0x21144d8
+func_ov009_021144c4 kind:function(thumb,size=0x2) addr:0x21144c4
+func_ov009_021144c8 kind:function(thumb,size=0x2) addr:0x21144c8
+func_ov009_021144cc kind:function(thumb,size=0x2) addr:0x21144cc
+func_ov009_021144d0 kind:function(thumb,size=0x6) addr:0x21144d0
+func_ov009_021144d8 kind:function(thumb,size=0x2) addr:0x21144d8
func_ov009_021144dc kind:function(thumb,size=0x24) addr:0x21144dc
-func_ov009_02114500 kind:function(thumb,size=0x4) addr:0x2114500
-func_ov009_02114504 kind:function(thumb,size=0x4) addr:0x2114504
-func_ov009_02114508 kind:function(thumb,size=0x4) addr:0x2114508
+func_ov009_02114500 kind:function(thumb,size=0x2) addr:0x2114500
+func_ov009_02114504 kind:function(thumb,size=0x2) addr:0x2114504
+func_ov009_02114508 kind:function(thumb,size=0x2) addr:0x2114508
func_ov009_0211450c kind:function(thumb,size=0x10) addr:0x211450c
func_ov009_0211451c kind:function(thumb,size=0x4) addr:0x211451c
func_ov009_02114520 kind:function(thumb,size=0x34) addr:0x2114520
@@ -145,7 +145,7 @@ func_ov009_021161e4 kind:function(thumb,size=0x28) addr:0x21161e4
func_ov009_0211620c kind:function(thumb,size=0x24) addr:0x211620c
func_ov009_02116230 kind:function(thumb,size=0x98) addr:0x2116230
func_ov009_021162c8 kind:function(thumb,size=0x3c) addr:0x21162c8
-func_ov009_02116304 kind:function(thumb,size=0x60) addr:0x2116304
+func_ov009_02116304 kind:function(thumb,size=0x5e) addr:0x2116304
func_ov009_02116364 kind:function(arm,size=0x1d8) addr:0x2116364
func_ov009_0211653c kind:function(arm,size=0x30) addr:0x211653c
func_ov009_0211656c kind:function(arm,size=0xb4) addr:0x211656c
@@ -158,7 +158,7 @@ func_ov009_02116a04 kind:function(thumb,size=0xfc) addr:0x2116a04
func_ov009_02116b00 kind:function(thumb,size=0x24) addr:0x2116b00
func_ov009_02116b24 kind:function(thumb,size=0x440) addr:0x2116b24
func_ov009_02116f64 kind:function(thumb,size=0x8) addr:0x2116f64
-func_ov009_02116f6c kind:function(thumb,size=0x30) addr:0x2116f6c
+func_ov009_02116f6c kind:function(thumb,size=0x2e) addr:0x2116f6c
func_ov009_02116f9c kind:function(thumb,size=0xac) addr:0x2116f9c
func_ov009_02117048 kind:function(thumb,size=0xec) addr:0x2117048
func_ov009_02117134 kind:function(thumb,size=0x34) addr:0x2117134
@@ -186,13 +186,13 @@ func_ov009_02117b6c kind:function(thumb,size=0x38) addr:0x2117b6c
func_ov009_02117ba4 kind:function(thumb,size=0x10) addr:0x2117ba4
func_ov009_02117bb4 kind:function(thumb,size=0x20c) addr:0x2117bb4
func_ov009_02117dc0 kind:function(thumb,size=0xe8) addr:0x2117dc0
-func_ov009_02117ea8 kind:function(thumb,size=0x34) addr:0x2117ea8
-func_ov009_02117edc kind:function(thumb,size=0x28) addr:0x2117edc
-func_ov009_02117f04 kind:function(thumb,size=0x4) addr:0x2117f04
+func_ov009_02117ea8 kind:function(thumb,size=0x32) addr:0x2117ea8
+func_ov009_02117edc kind:function(thumb,size=0x26) addr:0x2117edc
+func_ov009_02117f04 kind:function(thumb,size=0x2) addr:0x2117f04
func_ov009_02117f08 kind:function(thumb,size=0x4) addr:0x2117f08
-func_ov009_02117f0c kind:function(thumb,size=0x4) addr:0x2117f0c
-func_ov009_02117f10 kind:function(thumb,size=0x4) addr:0x2117f10
-func_ov009_02117f14 kind:function(thumb,size=0x4) addr:0x2117f14
+func_ov009_02117f0c kind:function(thumb,size=0x2) addr:0x2117f0c
+func_ov009_02117f10 kind:function(thumb,size=0x2) addr:0x2117f10
+func_ov009_02117f14 kind:function(thumb,size=0x2) addr:0x2117f14
func_ov009_02117f18 kind:function(thumb,size=0xc) addr:0x2117f18
func_ov009_02117f24 kind:function(thumb,size=0x4) addr:0x2117f24
func_ov009_02117f28 kind:function(thumb,size=0x40) addr:0x2117f28
@@ -211,7 +211,7 @@ func_ov009_0211805c kind:function(thumb,size=0x60) addr:0x211805c
func_ov009_021180bc kind:function(thumb,size=0x84) addr:0x21180bc
func_ov009_02118140 kind:function(thumb,size=0x74) addr:0x2118140
func_ov009_021181b4 kind:function(thumb,size=0x1c) addr:0x21181b4
-func_ov009_021181d0 kind:function(thumb,size=0x4) addr:0x21181d0
+func_ov009_021181d0 kind:function(thumb,size=0x2) addr:0x21181d0
func_ov009_021181d4 kind:function(thumb,size=0x1c) addr:0x21181d4
func_ov009_021181f0 kind:function(thumb,size=0xc0) addr:0x21181f0
func_ov009_021182b0 kind:function(thumb,size=0x94) addr:0x21182b0
@@ -220,7 +220,7 @@ func_ov009_021183dc kind:function(thumb,size=0x94) addr:0x21183dc
func_ov009_02118470 kind:function(thumb,size=0x24) addr:0x2118470
func_ov009_02118494 kind:function(thumb,size=0x130) addr:0x2118494
func_ov009_021185c4 kind:function(thumb,size=0x8) addr:0x21185c4
-func_ov009_021185cc kind:function(thumb,size=0x30) addr:0x21185cc
+func_ov009_021185cc kind:function(thumb,size=0x2e) addr:0x21185cc
func_ov009_021185fc kind:function(thumb,size=0x48) addr:0x21185fc
func_ov009_02118644 kind:function(thumb,size=0x70) addr:0x2118644
func_ov009_021186b4 kind:function(thumb,size=0x2c) addr:0x21186b4
@@ -238,11 +238,11 @@ func_ov009_02118914 kind:function(thumb,size=0x38) addr:0x2118914
func_ov009_0211894c kind:function(thumb,size=0x18) addr:0x211894c
func_ov009_02118964 kind:function(thumb,size=0x94) addr:0x2118964
func_ov009_021189f8 kind:function(thumb,size=0x11c) addr:0x21189f8
-func_ov009_02118b14 kind:function(thumb,size=0x24) addr:0x2118b14
-func_ov009_02118b38 kind:function(thumb,size=0x4) addr:0x2118b38
+func_ov009_02118b14 kind:function(thumb,size=0x22) addr:0x2118b14
+func_ov009_02118b38 kind:function(thumb,size=0x2) addr:0x2118b38
func_ov009_02118b3c kind:function(thumb,size=0x4) addr:0x2118b3c
-func_ov009_02118b40 kind:function(thumb,size=0x4) addr:0x2118b40
-func_ov009_02118b44 kind:function(thumb,size=0x4) addr:0x2118b44
+func_ov009_02118b40 kind:function(thumb,size=0x2) addr:0x2118b40
+func_ov009_02118b44 kind:function(thumb,size=0x2) addr:0x2118b44
func_ov009_02118b48 kind:function(thumb,size=0x14) addr:0x2118b48
func_ov009_02118b5c kind:function(thumb,size=0x14) addr:0x2118b5c
func_ov009_02118b70 kind:function(thumb,size=0x14) addr:0x2118b70
@@ -252,9 +252,9 @@ func_ov009_02118bac kind:function(thumb,size=0x14) addr:0x2118bac
func_ov009_02118bc0 kind:function(thumb,size=0x14) addr:0x2118bc0
func_ov009_02118bd4 kind:function(thumb,size=0x14) addr:0x2118bd4
func_ov009_02118be8 kind:function(thumb,size=0x10) addr:0x2118be8
-func_ov009_02118bf8 kind:function(thumb,size=0x4) addr:0x2118bf8
+func_ov009_02118bf8 kind:function(thumb,size=0x2) addr:0x2118bf8
func_ov009_02118bfc kind:function(thumb,size=0x30) addr:0x2118bfc
-func_ov009_02118c2c kind:function(thumb,size=0x28) addr:0x2118c2c
+func_ov009_02118c2c kind:function(thumb,size=0x26) addr:0x2118c2c
func_ov009_02118c54 kind:function(thumb,size=0x2c) addr:0x2118c54
func_ov009_02118c80 kind:function(thumb,size=0x24) addr:0x2118c80
func_ov009_02118ca4 kind:function(thumb,size=0x28) addr:0x2118ca4
@@ -262,7 +262,7 @@ func_ov009_02118ccc kind:function(arm,size=0x4) addr:0x2118ccc
func_ov009_02118cd0 kind:function(arm,size=0x4) addr:0x2118cd0
func_ov009_02118cd4 kind:function(arm,size=0x5c) addr:0x2118cd4
func_ov009_02118d30 kind:function(thumb,size=0xc8) addr:0x2118d30
-func_ov009_02118df8 kind:function(thumb,size=0x4) addr:0x2118df8
+func_ov009_02118df8 kind:function(thumb,size=0x2) addr:0x2118df8
func_ov009_02118dfc kind:function(thumb,size=0xc) addr:0x2118dfc
func_ov009_02118e08 kind:function(arm,size=0x4) addr:0x2118e08
func_ov009_02118e0c kind:function(thumb,size=0x38) addr:0x2118e0c
@@ -298,7 +298,7 @@ func_ov009_02119730 kind:function(arm,size=0x24) addr:0x2119730
func_ov009_02119754 kind:function(arm,size=0x3c) addr:0x2119754
func_ov009_02119790 kind:function(arm,size=0xec) addr:0x2119790
func_ov009_0211987c kind:function(arm,size=0x24) addr:0x211987c
-func_ov009_021198a0 kind:function(thumb,size=0x4) addr:0x21198a0
+func_ov009_021198a0 kind:function(thumb,size=0x2) addr:0x21198a0
func_ov009_021198a4 kind:function(arm,size=0x8) addr:0x21198a4
func_ov009_021198ac kind:function(arm,size=0x8) addr:0x21198ac
func_ov009_021198b4 kind:function(arm,size=0x6c) addr:0x21198b4
@@ -350,14 +350,14 @@ func_ov009_0211aa94 kind:function(arm,size=0xf8) addr:0x211aa94
func_ov009_0211ab8c kind:function(arm,size=0x3c) addr:0x211ab8c
func_ov009_0211abc8 kind:function(arm,size=0x44) addr:0x211abc8
func_ov009_0211ac0c kind:function(thumb,size=0x20) addr:0x211ac0c
-func_ov009_0211ac2c kind:function(thumb,size=0x2c) addr:0x211ac2c
+func_ov009_0211ac2c kind:function(thumb,size=0x2a) addr:0x211ac2c
func_ov009_0211ac58 kind:function(thumb,size=0x90) addr:0x211ac58
func_ov009_0211ace8 kind:function(thumb,size=0x10) addr:0x211ace8
func_ov009_0211acf8 kind:function(thumb,size=0xa0) addr:0x211acf8
func_ov009_0211ad98 kind:function(thumb,size=0x7c) addr:0x211ad98
func_ov009_0211ae14 kind:function(thumb,size=0x80) addr:0x211ae14
func_ov009_0211ae94 kind:function(thumb,size=0x7c) addr:0x211ae94
-func_ov009_0211af10 kind:function(thumb,size=0x18) addr:0x211af10
+func_ov009_0211af10 kind:function(thumb,size=0x16) addr:0x211af10
func_ov009_0211af28 kind:function(thumb,size=0x10) addr:0x211af28
func_ov009_0211af38 kind:function(thumb,size=0x10) addr:0x211af38
func_ov009_0211af48 kind:function(arm,size=0x20) addr:0x211af48
@@ -380,9 +380,9 @@ func_ov009_0211b708 kind:function(arm,size=0x38) addr:0x211b708
func_ov009_0211b740 kind:function(arm,size=0x38) addr:0x211b740
func_ov009_0211b778 kind:function(thumb,size=0x34) addr:0x211b778
func_ov009_0211b7ac kind:function(thumb,size=0x34) addr:0x211b7ac
-func_ov009_0211b7e0 kind:function(thumb,size=0x4) addr:0x211b7e0
+func_ov009_0211b7e0 kind:function(thumb,size=0x2) addr:0x211b7e0
func_ov009_0211b7e4 kind:function(thumb,size=0xc) addr:0x211b7e4
-func_ov009_0211b7f0 kind:function(thumb,size=0x4) addr:0x211b7f0
+func_ov009_0211b7f0 kind:function(thumb,size=0x2) addr:0x211b7f0
func_ov009_0211b7f4 kind:function(arm,size=0x54) addr:0x211b7f4
func_ov009_0211b848 kind:function(arm,size=0x68) addr:0x211b848
func_ov009_0211b8b0 kind:function(arm,size=0x64) addr:0x211b8b0
@@ -431,7 +431,7 @@ func_ov009_0211c428 kind:function(thumb,size=0x1c) addr:0x211c428
func_ov009_0211c444 kind:function(thumb,size=0xc) addr:0x211c444
func_ov009_0211c450 kind:function(thumb,size=0xc) addr:0x211c450
func_ov009_0211c45c kind:function(thumb,size=0xc) addr:0x211c45c
-func_ov009_0211c468 kind:function(thumb,size=0x4) addr:0x211c468
+func_ov009_0211c468 kind:function(thumb,size=0x2) addr:0x211c468
func_ov009_0211c46c kind:function(thumb,size=0x1c) addr:0x211c46c
func_ov009_0211c488 kind:function(thumb,size=0x40) addr:0x211c488
func_ov009_0211c4c8 kind:function(thumb,size=0x20) addr:0x211c4c8
@@ -473,21 +473,21 @@ func_ov009_0211cb88 kind:function(thumb,size=0x48) addr:0x211cb88
func_ov009_0211cbd0 kind:function(thumb,size=0x34) addr:0x211cbd0
func_ov009_0211cc04 kind:function(thumb,size=0x3c) addr:0x211cc04
func_ov009_0211cc40 kind:function(thumb,size=0x34) addr:0x211cc40
-func_ov009_0211cc74 kind:function(thumb,size=0x18) addr:0x211cc74
+func_ov009_0211cc74 kind:function(thumb,size=0x16) addr:0x211cc74
func_ov009_0211cc8c kind:function(thumb,size=0xc) addr:0x211cc8c
func_ov009_0211cc98 kind:function(thumb,size=0xc) addr:0x211cc98
-func_ov009_0211cca4 kind:function(thumb,size=0x10) addr:0x211cca4
-func_ov009_0211ccb4 kind:function(thumb,size=0x4) addr:0x211ccb4
+func_ov009_0211cca4 kind:function(thumb,size=0xe) addr:0x211cca4
+func_ov009_0211ccb4 kind:function(thumb,size=0x2) addr:0x211ccb4
func_ov009_0211ccb8 kind:function(thumb,size=0x84) addr:0x211ccb8
func_ov009_0211cd3c kind:function(arm,size=0x4) addr:0x211cd3c
func_ov009_0211cd40 kind:function(arm,size=0x130) addr:0x211cd40
func_ov009_0211ce70 kind:function(arm,size=0x4c) addr:0x211ce70
-func_ov009_0211cebc kind:function(thumb,size=0x1c) addr:0x211cebc
-func_ov009_0211ced8 kind:function(thumb,size=0x4) addr:0x211ced8
+func_ov009_0211cebc kind:function(thumb,size=0x1a) addr:0x211cebc
+func_ov009_0211ced8 kind:function(thumb,size=0x2) addr:0x211ced8
func_ov009_0211cedc kind:function(thumb,size=0x10) addr:0x211cedc
func_ov009_0211ceec kind:function(thumb,size=0x120) addr:0x211ceec
func_ov009_0211d00c kind:function(thumb,size=0x84) addr:0x211d00c
-func_ov009_0211d090 kind:function(thumb,size=0x20) addr:0x211d090
+func_ov009_0211d090 kind:function(thumb,size=0x1e) addr:0x211d090
func_ov009_0211d0b0 kind:function(arm,size=0x78) addr:0x211d0b0
func_ov009_0211d128 kind:function(arm,size=0x4c) addr:0x211d128
func_ov009_0211d174 kind:function(arm,size=0xc) addr:0x211d174
diff --git a/config/eur/arm9/overlays/ov010/delinks.txt b/config/eur/arm9/overlays/ov010/delinks.txt
index db92de38..885e1605 100644
--- a/config/eur/arm9/overlays/ov010/delinks.txt
+++ b/config/eur/arm9/overlays/ov010/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02112c20 end:0x0211e750 kind:code align:32
- .rodata start:0x0211e750 end:0x0211ea18 kind:data align:4
- .ctor start:0x0211ea18 end:0x0211ea1c kind:data align:4
+ .rodata start:0x0211e750 end:0x0211ea18 kind:rodata align:4
+ .ctor start:0x0211ea18 end:0x0211ea1c kind:rodata align:4
.data start:0x0211ea20 end:0x0211f400 kind:data align:32
.bss start:0x0211f400 end:0x0211f460 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov010/symbols.txt b/config/eur/arm9/overlays/ov010/symbols.txt
index 525a77f7..022e74e2 100644
--- a/config/eur/arm9/overlays/ov010/symbols.txt
+++ b/config/eur/arm9/overlays/ov010/symbols.txt
@@ -11,9 +11,9 @@ func_ov010_02112ef4 kind:function(thumb,size=0xc) addr:0x2112ef4
func_ov010_02112f00 kind:function(thumb,size=0xc) addr:0x2112f00
func_ov010_02112f0c kind:function(thumb,size=0xc) addr:0x2112f0c
func_ov010_02112f18 kind:function(thumb,size=0x1c) addr:0x2112f18
-func_ov010_02112f34 kind:function(thumb,size=0x4) addr:0x2112f34
+func_ov010_02112f34 kind:function(thumb,size=0x2) addr:0x2112f34
func_ov010_02112f38 kind:function(thumb,size=0xc) addr:0x2112f38
-func_ov010_02112f44 kind:function(thumb,size=0x4) addr:0x2112f44
+func_ov010_02112f44 kind:function(thumb,size=0x2) addr:0x2112f44
func_ov010_02112f48 kind:function(arm,size=0x14) addr:0x2112f48
func_ov010_02112f5c kind:function(arm,size=0x4) addr:0x2112f5c
func_ov010_02112f60 kind:function(arm,size=0x4) addr:0x2112f60
@@ -25,13 +25,13 @@ func_ov010_02113000 kind:function(thumb,size=0x3c) addr:0x2113000
func_ov010_0211303c kind:function(thumb,size=0x29c) addr:0x211303c
func_ov010_021132d8 kind:function(thumb,size=0xc) addr:0x21132d8
func_ov010_021132e4 kind:function(thumb,size=0x74) addr:0x21132e4
-func_ov010_02113358 kind:function(thumb,size=0xc) addr:0x2113358
+func_ov010_02113358 kind:function(thumb,size=0xa) addr:0x2113358
func_ov010_02113364 kind:function(thumb,size=0x18) addr:0x2113364
func_ov010_0211337c kind:function(thumb,size=0x1ac) addr:0x211337c
func_ov010_02113528 kind:function(thumb,size=0x44) addr:0x2113528
-func_ov010_0211356c kind:function(thumb,size=0x14) addr:0x211356c
-func_ov010_02113580 kind:function(thumb,size=0x2c) addr:0x2113580
-func_ov010_021135ac kind:function(thumb,size=0x4) addr:0x21135ac
+func_ov010_0211356c kind:function(thumb,size=0x12) addr:0x211356c
+func_ov010_02113580 kind:function(thumb,size=0x2a) addr:0x2113580
+func_ov010_021135ac kind:function(thumb,size=0x2) addr:0x21135ac
func_ov010_021135b0 kind:function(thumb,size=0x6c) addr:0x21135b0
func_ov010_0211361c kind:function(thumb,size=0x30) addr:0x211361c
func_ov010_0211364c kind:function(thumb,size=0x114) addr:0x211364c
@@ -39,11 +39,11 @@ func_ov010_02113760 kind:function(thumb,size=0x94) addr:0x2113760
func_ov010_021137f4 kind:function(thumb,size=0x74) addr:0x21137f4
func_ov010_02113868 kind:function(thumb,size=0x8) addr:0x2113868
func_ov010_02113870 kind:function(thumb,size=0x8) addr:0x2113870
-func_ov010_02113878 kind:function(thumb,size=0x18) addr:0x2113878
-func_ov010_02113890 kind:function(thumb,size=0x14) addr:0x2113890
+func_ov010_02113878 kind:function(thumb,size=0x16) addr:0x2113878
+func_ov010_02113890 kind:function(thumb,size=0x12) addr:0x2113890
func_ov010_021138a4 kind:function(thumb,size=0x40) addr:0x21138a4
func_ov010_021138e4 kind:function(thumb,size=0xd8) addr:0x21138e4
-func_ov010_021139bc kind:function(thumb,size=0x30) addr:0x21139bc
+func_ov010_021139bc kind:function(thumb,size=0x2e) addr:0x21139bc
func_ov010_021139ec kind:function(thumb,size=0x60) addr:0x21139ec
func_ov010_02113a4c kind:function(thumb,size=0xc) addr:0x2113a4c
func_ov010_02113a58 kind:function(thumb,size=0x38) addr:0x2113a58
@@ -86,7 +86,7 @@ func_ov010_02114bb0 kind:function(thumb,size=0x7c) addr:0x2114bb0
func_ov010_02114c2c kind:function(thumb,size=0x20c) addr:0x2114c2c
func_ov010_02114e38 kind:function(thumb,size=0x1b4) addr:0x2114e38
func_ov010_02114fec kind:function(thumb,size=0x28) addr:0x2114fec
-func_ov010_02115014 kind:function(thumb,size=0x1c) addr:0x2115014
+func_ov010_02115014 kind:function(thumb,size=0x1a) addr:0x2115014
func_ov010_02115030 kind:function(thumb,size=0x64) addr:0x2115030
func_ov010_02115094 kind:function(arm,size=0x40) addr:0x2115094
func_ov010_021150d4 kind:function(arm,size=0x38) addr:0x21150d4
@@ -237,7 +237,7 @@ func_ov010_0211b2e4 kind:function(arm,size=0x40) addr:0x211b2e4
func_ov010_0211b324 kind:function(thumb,size=0x30) addr:0x211b324
func_ov010_0211b354 kind:function(thumb,size=0x98) addr:0x211b354
func_ov010_0211b3ec kind:function(thumb,size=0xc) addr:0x211b3ec
-func_ov010_0211b3f8 kind:function(thumb,size=0xb4) addr:0x211b3f8
+func_ov010_0211b3f8 kind:function(thumb,size=0xb2) addr:0x211b3f8
func_ov010_0211b4ac kind:function(thumb,size=0xc) addr:0x211b4ac
func_ov010_0211b4b8 kind:function(arm,size=0x28) addr:0x211b4b8
func_ov010_0211b4e0 kind:function(arm,size=0x20) addr:0x211b4e0
@@ -262,10 +262,10 @@ func_ov010_0211bc3c kind:function(thumb,size=0x44) addr:0x211bc3c
func_ov010_0211bc80 kind:function(thumb,size=0x1a8) addr:0x211bc80
func_ov010_0211be28 kind:function(thumb,size=0xa8) addr:0x211be28
func_ov010_0211bed0 kind:function(thumb,size=0xb8) addr:0x211bed0
-func_ov010_0211bf88 kind:function(thumb,size=0x4c) addr:0x211bf88
-func_ov010_0211bfd4 kind:function(thumb,size=0x24c) addr:0x211bfd4
-func_ov010_0211c220 kind:function(thumb,size=0x198) addr:0x211c220
-func_ov010_0211c3b8 kind:function(thumb,size=0x114) addr:0x211c3b8
+func_ov010_0211bf88 kind:function(thumb,size=0x4a) addr:0x211bf88
+func_ov010_0211bfd4 kind:function(thumb,size=0x24a) addr:0x211bfd4
+func_ov010_0211c220 kind:function(thumb,size=0x196) addr:0x211c220
+func_ov010_0211c3b8 kind:function(thumb,size=0x112) addr:0x211c3b8
func_ov010_0211c4cc kind:function(thumb,size=0x1b8) addr:0x211c4cc
func_ov010_0211c684 kind:function(thumb,size=0x6c) addr:0x211c684
func_ov010_0211c6f0 kind:function(arm,size=0x40) addr:0x211c6f0
@@ -310,11 +310,11 @@ func_ov010_0211dd44 kind:function(thumb,size=0x98) addr:0x211dd44
func_ov010_0211dddc kind:function(thumb,size=0x18) addr:0x211dddc
func_ov010_0211ddf4 kind:function(thumb,size=0x40) addr:0x211ddf4
func_ov010_0211de34 kind:function(thumb,size=0x40) addr:0x211de34
-func_ov010_0211de74 kind:function(thumb,size=0x2c) addr:0x211de74
+func_ov010_0211de74 kind:function(thumb,size=0x2a) addr:0x211de74
func_ov010_0211dea0 kind:function(thumb,size=0x40) addr:0x211dea0
func_ov010_0211dee0 kind:function(thumb,size=0x14) addr:0x211dee0
func_ov010_0211def4 kind:function(thumb,size=0x14) addr:0x211def4
-func_ov010_0211df08 kind:function(thumb,size=0x8) addr:0x211df08
+func_ov010_0211df08 kind:function(thumb,size=0x6) addr:0x211df08
func_ov010_0211df10 kind:function(thumb,size=0x60) addr:0x211df10
func_ov010_0211df70 kind:function(thumb,size=0x1c) addr:0x211df70
func_ov010_0211df8c kind:function(thumb,size=0x18) addr:0x211df8c
@@ -323,7 +323,7 @@ func_ov010_0211dfd4 kind:function(thumb,size=0x3c) addr:0x211dfd4
func_ov010_0211e010 kind:function(thumb,size=0xc0) addr:0x211e010
func_ov010_0211e0d0 kind:function(thumb,size=0x24) addr:0x211e0d0
func_ov010_0211e0f4 kind:function(thumb,size=0x40) addr:0x211e0f4
-func_ov010_0211e134 kind:function(thumb,size=0x20) addr:0x211e134
+func_ov010_0211e134 kind:function(thumb,size=0x1e) addr:0x211e134
func_ov010_0211e154 kind:function(thumb,size=0xb8) addr:0x211e154
func_ov010_0211e20c kind:function(thumb,size=0x38) addr:0x211e20c
func_ov010_0211e244 kind:function(thumb,size=0x24) addr:0x211e244
diff --git a/config/eur/arm9/overlays/ov011/delinks.txt b/config/eur/arm9/overlays/ov011/delinks.txt
index 7b8a3367..f15ef98a 100644
--- a/config/eur/arm9/overlays/ov011/delinks.txt
+++ b/config/eur/arm9/overlays/ov011/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02112c20 end:0x0212ba0c kind:code align:32
- .rodata start:0x0212ba0c end:0x0212ed00 kind:data align:4
- .ctor start:0x0212ed00 end:0x0212ed04 kind:data align:4
+ .rodata start:0x0212ba0c end:0x0212ed00 kind:rodata align:4
+ .ctor start:0x0212ed00 end:0x0212ed04 kind:rodata align:4
.data start:0x0212ed20 end:0x02130820 kind:data align:32
.bss start:0x02130820 end:0x02132ee0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov011/symbols.txt b/config/eur/arm9/overlays/ov011/symbols.txt
index 08df4538..b83e3f33 100644
--- a/config/eur/arm9/overlays/ov011/symbols.txt
+++ b/config/eur/arm9/overlays/ov011/symbols.txt
@@ -8,7 +8,7 @@ func_ov011_0211378c kind:function(thumb,size=0x58) addr:0x211378c
func_ov011_021137e4 kind:function(thumb,size=0xc) addr:0x21137e4
func_ov011_021137f0 kind:function(thumb,size=0xc) addr:0x21137f0
func_ov011_021137fc kind:function(thumb,size=0x1f8) addr:0x21137fc
-func_ov011_021139f4 kind:function(thumb,size=0x24) addr:0x21139f4
+func_ov011_021139f4 kind:function(thumb,size=0x22) addr:0x21139f4
func_ov011_02113a18 kind:function(thumb,size=0x7c) addr:0x2113a18
func_ov011_02113a94 kind:function(thumb,size=0x44) addr:0x2113a94
func_ov011_02113ad8 kind:function(thumb,size=0x30) addr:0x2113ad8
@@ -16,61 +16,61 @@ func_ov011_02113b08 kind:function(thumb,size=0x2c) addr:0x2113b08
func_ov011_02113b34 kind:function(thumb,size=0xa0) addr:0x2113b34
func_ov011_02113bd4 kind:function(thumb,size=0xdc) addr:0x2113bd4
func_ov011_02113cb0 kind:function(thumb,size=0xd8) addr:0x2113cb0
-func_ov011_02113d88 kind:function(thumb,size=0xa4) addr:0x2113d88
+func_ov011_02113d88 kind:function(thumb,size=0xa2) addr:0x2113d88
func_ov011_02113e2c kind:function(thumb,size=0xf4) addr:0x2113e2c
func_ov011_02113f20 kind:function(thumb,size=0x44) addr:0x2113f20
func_ov011_02113f64 kind:function(thumb,size=0x4c) addr:0x2113f64
func_ov011_02113fb0 kind:function(thumb,size=0xbc) addr:0x2113fb0
-func_ov011_0211406c kind:function(thumb,size=0x24) addr:0x211406c
-func_ov011_02114090 kind:function(thumb,size=0x154) addr:0x2114090
+func_ov011_0211406c kind:function(thumb,size=0x22) addr:0x211406c
+func_ov011_02114090 kind:function(thumb,size=0x152) addr:0x2114090
func_ov011_021141e4 kind:function(thumb,size=0xb8) addr:0x21141e4
func_ov011_0211429c kind:function(thumb,size=0x30) addr:0x211429c
func_ov011_021142cc kind:function(thumb,size=0x110) addr:0x21142cc
-func_ov011_021143dc kind:function(thumb,size=0x10) addr:0x21143dc
-func_ov011_021143ec kind:function(thumb,size=0x54) addr:0x21143ec
+func_ov011_021143dc kind:function(thumb,size=0xe) addr:0x21143dc
+func_ov011_021143ec kind:function(thumb,size=0x52) addr:0x21143ec
func_ov011_02114440 kind:function(thumb,size=0x144) addr:0x2114440
func_ov011_02114584 kind:function(thumb,size=0xdc) addr:0x2114584
func_ov011_02114660 kind:function(thumb,size=0x6c) addr:0x2114660
func_ov011_021146cc kind:function(thumb,size=0x8c) addr:0x21146cc
func_ov011_02114758 kind:function(thumb,size=0x54) addr:0x2114758
-func_ov011_021147ac kind:function(thumb,size=0x58) addr:0x21147ac
+func_ov011_021147ac kind:function(thumb,size=0x56) addr:0x21147ac
func_ov011_02114804 kind:function(thumb,size=0x68) addr:0x2114804
func_ov011_0211486c kind:function(thumb,size=0x7c) addr:0x211486c
func_ov011_021148e8 kind:function(thumb,size=0x88) addr:0x21148e8
-func_ov011_02114970 kind:function(thumb,size=0x64) addr:0x2114970
+func_ov011_02114970 kind:function(thumb,size=0x62) addr:0x2114970
func_ov011_021149d4 kind:function(thumb,size=0x2c) addr:0x21149d4
-func_ov011_02114a00 kind:function(thumb,size=0x40) addr:0x2114a00
+func_ov011_02114a00 kind:function(thumb,size=0x3e) addr:0x2114a00
func_ov011_02114a40 kind:function(thumb,size=0x28) addr:0x2114a40
-func_ov011_02114a68 kind:function(thumb,size=0x38) addr:0x2114a68
+func_ov011_02114a68 kind:function(thumb,size=0x36) addr:0x2114a68
func_ov011_02114aa0 kind:function(thumb,size=0x38) addr:0x2114aa0
-func_ov011_02114ad8 kind:function(thumb,size=0x7c) addr:0x2114ad8
+func_ov011_02114ad8 kind:function(thumb,size=0x7a) addr:0x2114ad8
func_ov011_02114b54 kind:function(thumb,size=0x34) addr:0x2114b54
func_ov011_02114b88 kind:function(thumb,size=0x24) addr:0x2114b88
-func_ov011_02114bac kind:function(thumb,size=0x30) addr:0x2114bac
+func_ov011_02114bac kind:function(thumb,size=0x2e) addr:0x2114bac
func_ov011_02114bdc kind:function(thumb,size=0x18) addr:0x2114bdc
func_ov011_02114bf4 kind:function(thumb,size=0x10) addr:0x2114bf4
func_ov011_02114c04 kind:function(thumb,size=0x58) addr:0x2114c04
-func_ov011_02114c5c kind:function(thumb,size=0x24) addr:0x2114c5c
+func_ov011_02114c5c kind:function(thumb,size=0x22) addr:0x2114c5c
func_ov011_02114c80 kind:function(thumb,size=0x20) addr:0x2114c80
func_ov011_02114ca0 kind:function(thumb,size=0x10) addr:0x2114ca0
func_ov011_02114cb0 kind:function(thumb,size=0xc) addr:0x2114cb0
-func_ov011_02114cbc kind:function(thumb,size=0x14) addr:0x2114cbc
+func_ov011_02114cbc kind:function(thumb,size=0x12) addr:0x2114cbc
func_ov011_02114cd0 kind:function(thumb,size=0x54) addr:0x2114cd0
func_ov011_02114d24 kind:function(thumb,size=0x10) addr:0x2114d24
-func_ov011_02114d34 kind:function(thumb,size=0x4) addr:0x2114d34
+func_ov011_02114d34 kind:function(thumb,size=0x2) addr:0x2114d34
func_ov011_02114d38 kind:function(thumb,size=0x8) addr:0x2114d38
func_ov011_02114d40 kind:function(thumb,size=0xc) addr:0x2114d40
func_ov011_02114d4c kind:function(thumb,size=0x8) addr:0x2114d4c
func_ov011_02114d54 kind:function(thumb,size=0x28) addr:0x2114d54
-func_ov011_02114d7c kind:function(thumb,size=0x18) addr:0x2114d7c
+func_ov011_02114d7c kind:function(thumb,size=0x16) addr:0x2114d7c
func_ov011_02114d94 kind:function(thumb,size=0x28) addr:0x2114d94
-func_ov011_02114dbc kind:function(thumb,size=0x18) addr:0x2114dbc
+func_ov011_02114dbc kind:function(thumb,size=0x16) addr:0x2114dbc
func_ov011_02114dd4 kind:function(thumb,size=0x14) addr:0x2114dd4
func_ov011_02114de8 kind:function(thumb,size=0x70) addr:0x2114de8
-func_ov011_02114e58 kind:function(thumb,size=0xc) addr:0x2114e58
+func_ov011_02114e58 kind:function(thumb,size=0xa) addr:0x2114e58
func_ov011_02114e64 kind:function(thumb,size=0x8) addr:0x2114e64
func_ov011_02114e6c kind:function(thumb,size=0x8c) addr:0x2114e6c
-func_ov011_02114ef8 kind:function(thumb,size=0x24) addr:0x2114ef8
+func_ov011_02114ef8 kind:function(thumb,size=0x22) addr:0x2114ef8
func_ov011_02114f1c kind:function(thumb,size=0x10) addr:0x2114f1c
func_ov011_02114f2c kind:function(thumb,size=0x14) addr:0x2114f2c
func_ov011_02114f40 kind:function(thumb,size=0x14) addr:0x2114f40
@@ -83,7 +83,7 @@ func_ov011_02115430 kind:function(thumb,size=0x8) addr:0x2115430
func_ov011_02115438 kind:function(thumb,size=0x14) addr:0x2115438
func_ov011_0211544c kind:function(thumb,size=0x2b8) addr:0x211544c
func_ov011_02115704 kind:function(thumb,size=0x68) addr:0x2115704
-func_ov011_0211576c kind:function(thumb,size=0x44) addr:0x211576c
+func_ov011_0211576c kind:function(thumb,size=0x42) addr:0x211576c
func_ov011_021157b0 kind:function(thumb,size=0xf0) addr:0x21157b0
func_ov011_021158a0 kind:function(thumb,size=0x3c) addr:0x21158a0
func_ov011_021158dc kind:function(thumb,size=0x38) addr:0x21158dc
@@ -92,7 +92,7 @@ func_ov011_0211596c kind:function(thumb,size=0x84) addr:0x211596c
func_ov011_021159f0 kind:function(thumb,size=0xb8) addr:0x21159f0
func_ov011_02115aa8 kind:function(thumb,size=0x30c) addr:0x2115aa8
func_ov011_02115db4 kind:function(thumb,size=0x68) addr:0x2115db4
-func_ov011_02115e1c kind:function(thumb,size=0x44) addr:0x2115e1c
+func_ov011_02115e1c kind:function(thumb,size=0x42) addr:0x2115e1c
func_ov011_02115e60 kind:function(thumb,size=0xe8) addr:0x2115e60
func_ov011_02115f48 kind:function(thumb,size=0x38) addr:0x2115f48
func_ov011_02115f80 kind:function(thumb,size=0x58) addr:0x2115f80
@@ -114,16 +114,16 @@ func_ov011_02116668 kind:function(thumb,size=0x294) addr:0x2116668
func_ov011_021168fc kind:function(thumb,size=0x18) addr:0x21168fc
func_ov011_02116914 kind:function(thumb,size=0x3c) addr:0x2116914
func_ov011_02116950 kind:function(thumb,size=0xc) addr:0x2116950
-func_ov011_0211695c kind:function(thumb,size=0x70) addr:0x211695c
-func_ov011_021169cc kind:function(thumb,size=0x50) addr:0x21169cc
-func_ov011_02116a1c kind:function(thumb,size=0x34) addr:0x2116a1c
-func_ov011_02116a50 kind:function(thumb,size=0xc4) addr:0x2116a50
-func_ov011_02116b14 kind:function(thumb,size=0x60) addr:0x2116b14
+func_ov011_0211695c kind:function(thumb,size=0x6e) addr:0x211695c
+func_ov011_021169cc kind:function(thumb,size=0x4e) addr:0x21169cc
+func_ov011_02116a1c kind:function(thumb,size=0x32) addr:0x2116a1c
+func_ov011_02116a50 kind:function(thumb,size=0xc2) addr:0x2116a50
+func_ov011_02116b14 kind:function(thumb,size=0x5e) addr:0x2116b14
func_ov011_02116b74 kind:function(thumb,size=0x28) addr:0x2116b74
func_ov011_02116b9c kind:function(thumb,size=0xd4) addr:0x2116b9c
func_ov011_02116c70 kind:function(thumb,size=0x50) addr:0x2116c70
func_ov011_02116cc0 kind:function(thumb,size=0x9c) addr:0x2116cc0
-func_ov011_02116d5c kind:function(thumb,size=0xc) addr:0x2116d5c
+func_ov011_02116d5c kind:function(thumb,size=0xa) addr:0x2116d5c
func_ov011_02116d68 kind:function(thumb,size=0xfc) addr:0x2116d68
func_ov011_02116e64 kind:function(thumb,size=0x1d4) addr:0x2116e64
func_ov011_02117038 kind:function(thumb,size=0xb4) addr:0x2117038
@@ -132,20 +132,20 @@ func_ov011_02117274 kind:function(thumb,size=0x3e4) addr:0x2117274
func_ov011_02117658 kind:function(thumb,size=0x38) addr:0x2117658
func_ov011_02117690 kind:function(thumb,size=0x1b8) addr:0x2117690
func_ov011_02117848 kind:function(thumb,size=0x1b8) addr:0x2117848
-func_ov011_02117a00 kind:function(thumb,size=0x48) addr:0x2117a00
+func_ov011_02117a00 kind:function(thumb,size=0x46) addr:0x2117a00
func_ov011_02117a48 kind:function(thumb,size=0x2b8) addr:0x2117a48
func_ov011_02117d00 kind:function(thumb,size=0x190) addr:0x2117d00
func_ov011_02117e90 kind:function(thumb,size=0x3bc) addr:0x2117e90
func_ov011_0211824c kind:function(thumb,size=0x3bc) addr:0x211824c
func_ov011_02118608 kind:function(thumb,size=0x28) addr:0x2118608
-func_ov011_02118630 kind:function(thumb,size=0x78) addr:0x2118630
+func_ov011_02118630 kind:function(thumb,size=0x76) addr:0x2118630
func_ov011_021186a8 kind:function(thumb,size=0x54) addr:0x21186a8
func_ov011_021186fc kind:function(thumb,size=0x848) addr:0x21186fc
func_ov011_02118f44 kind:function(thumb,size=0x2c) addr:0x2118f44
-func_ov011_02118f70 kind:function(thumb,size=0x2c) addr:0x2118f70
-func_ov011_02118f9c kind:function(thumb,size=0x18) addr:0x2118f9c
-func_ov011_02118fb4 kind:function(thumb,size=0x18) addr:0x2118fb4
-func_ov011_02118fcc kind:function(thumb,size=0x28) addr:0x2118fcc
+func_ov011_02118f70 kind:function(thumb,size=0x2a) addr:0x2118f70
+func_ov011_02118f9c kind:function(thumb,size=0x16) addr:0x2118f9c
+func_ov011_02118fb4 kind:function(thumb,size=0x16) addr:0x2118fb4
+func_ov011_02118fcc kind:function(thumb,size=0x26) addr:0x2118fcc
func_ov011_02118ff4 kind:function(thumb,size=0x1c) addr:0x2118ff4
func_ov011_02119010 kind:function(thumb,size=0x24) addr:0x2119010
func_ov011_02119034 kind:function(thumb,size=0x10) addr:0x2119034
@@ -180,7 +180,7 @@ func_ov011_02119878 kind:function(thumb,size=0x24) addr:0x2119878
func_ov011_0211989c kind:function(thumb,size=0x3c) addr:0x211989c
func_ov011_021198d8 kind:function(thumb,size=0x28) addr:0x21198d8
func_ov011_02119900 kind:function(thumb,size=0x2c) addr:0x2119900
-func_ov011_0211992c kind:function(thumb,size=0x20) addr:0x211992c
+func_ov011_0211992c kind:function(thumb,size=0x1e) addr:0x211992c
func_ov011_0211994c kind:function(thumb,size=0x48) addr:0x211994c
func_ov011_02119994 kind:function(thumb,size=0x7c) addr:0x2119994
func_ov011_02119a10 kind:function(thumb,size=0x14) addr:0x2119a10
@@ -192,8 +192,8 @@ func_ov011_02119b50 kind:function(thumb,size=0x28) addr:0x2119b50
func_ov011_02119b78 kind:function(thumb,size=0x50) addr:0x2119b78
func_ov011_02119bc8 kind:function(thumb,size=0x10) addr:0x2119bc8
func_ov011_02119bd8 kind:function(thumb,size=0x40) addr:0x2119bd8
-func_ov011_02119c18 kind:function(thumb,size=0x14) addr:0x2119c18
-func_ov011_02119c2c kind:function(thumb,size=0x14) addr:0x2119c2c
+func_ov011_02119c18 kind:function(thumb,size=0x12) addr:0x2119c18
+func_ov011_02119c2c kind:function(thumb,size=0x12) addr:0x2119c2c
func_ov011_02119c40 kind:function(thumb,size=0x28) addr:0x2119c40
func_ov011_02119c68 kind:function(thumb,size=0x7c) addr:0x2119c68
func_ov011_02119ce4 kind:function(thumb,size=0x2c) addr:0x2119ce4
@@ -280,7 +280,7 @@ func_ov011_0211c48c kind:function(thumb,size=0x24) addr:0x211c48c
func_ov011_0211c4b0 kind:function(thumb,size=0x10) addr:0x211c4b0
func_ov011_0211c4c0 kind:function(thumb,size=0x34) addr:0x211c4c0
func_ov011_0211c4f4 kind:function(thumb,size=0x1c) addr:0x211c4f4
-func_ov011_0211c510 kind:function(thumb,size=0x10) addr:0x211c510
+func_ov011_0211c510 kind:function(thumb,size=0xe) addr:0x211c510
func_ov011_0211c520 kind:function(thumb,size=0x1c) addr:0x211c520
func_ov011_0211c53c kind:function(thumb,size=0xa4) addr:0x211c53c
func_ov011_0211c5e0 kind:function(thumb,size=0x14) addr:0x211c5e0
@@ -309,7 +309,7 @@ func_ov011_0211cc6c kind:function(thumb,size=0x28) addr:0x211cc6c
func_ov011_0211cc94 kind:function(thumb,size=0x20) addr:0x211cc94
func_ov011_0211ccb4 kind:function(thumb,size=0x10) addr:0x211ccb4
func_ov011_0211ccc4 kind:function(thumb,size=0xc0) addr:0x211ccc4
-func_ov011_0211cd84 kind:function(thumb,size=0x4) addr:0x211cd84
+func_ov011_0211cd84 kind:function(thumb,size=0x2) addr:0x211cd84
func_ov011_0211cd88 kind:function(thumb,size=0x38) addr:0x211cd88
func_ov011_0211cdc0 kind:function(thumb,size=0x18) addr:0x211cdc0
func_ov011_0211cdd8 kind:function(thumb,size=0x30) addr:0x211cdd8
@@ -323,7 +323,7 @@ func_ov011_0211cfa8 kind:function(thumb,size=0x28) addr:0x211cfa8
func_ov011_0211cfd0 kind:function(thumb,size=0x20) addr:0x211cfd0
func_ov011_0211cff0 kind:function(thumb,size=0x10) addr:0x211cff0
func_ov011_0211d000 kind:function(thumb,size=0x24) addr:0x211d000
-func_ov011_0211d024 kind:function(thumb,size=0x4) addr:0x211d024
+func_ov011_0211d024 kind:function(thumb,size=0x2) addr:0x211d024
func_ov011_0211d028 kind:function(thumb,size=0x48) addr:0x211d028
func_ov011_0211d070 kind:function(thumb,size=0x18) addr:0x211d070
func_ov011_0211d088 kind:function(thumb,size=0x40) addr:0x211d088
@@ -337,7 +337,7 @@ func_ov011_0211d224 kind:function(thumb,size=0x20) addr:0x211d224
func_ov011_0211d244 kind:function(thumb,size=0x20) addr:0x211d244
func_ov011_0211d264 kind:function(thumb,size=0x10) addr:0x211d264
func_ov011_0211d274 kind:function(thumb,size=0x14) addr:0x211d274
-func_ov011_0211d288 kind:function(thumb,size=0x4) addr:0x211d288
+func_ov011_0211d288 kind:function(thumb,size=0x2) addr:0x211d288
func_ov011_0211d28c kind:function(thumb,size=0x1c) addr:0x211d28c
func_ov011_0211d2a8 kind:function(thumb,size=0x18) addr:0x211d2a8
func_ov011_0211d2c0 kind:function(thumb,size=0x30) addr:0x211d2c0
@@ -350,7 +350,7 @@ func_ov011_0211d4ec kind:function(thumb,size=0x28) addr:0x211d4ec
func_ov011_0211d514 kind:function(thumb,size=0x20) addr:0x211d514
func_ov011_0211d534 kind:function(thumb,size=0x10) addr:0x211d534
func_ov011_0211d544 kind:function(thumb,size=0x14) addr:0x211d544
-func_ov011_0211d558 kind:function(thumb,size=0x4) addr:0x211d558
+func_ov011_0211d558 kind:function(thumb,size=0x2) addr:0x211d558
func_ov011_0211d55c kind:function(thumb,size=0x1c) addr:0x211d55c
func_ov011_0211d578 kind:function(thumb,size=0x18) addr:0x211d578
func_ov011_0211d590 kind:function(thumb,size=0x34) addr:0x211d590
@@ -362,7 +362,7 @@ func_ov011_0211d7dc kind:function(thumb,size=0x28) addr:0x211d7dc
func_ov011_0211d804 kind:function(thumb,size=0x20) addr:0x211d804
func_ov011_0211d824 kind:function(thumb,size=0x10) addr:0x211d824
func_ov011_0211d834 kind:function(thumb,size=0x9c) addr:0x211d834
-func_ov011_0211d8d0 kind:function(thumb,size=0x4) addr:0x211d8d0
+func_ov011_0211d8d0 kind:function(thumb,size=0x2) addr:0x211d8d0
func_ov011_0211d8d4 kind:function(thumb,size=0x70) addr:0x211d8d4
func_ov011_0211d944 kind:function(thumb,size=0x18) addr:0x211d944
func_ov011_0211d95c kind:function(thumb,size=0x40) addr:0x211d95c
@@ -374,8 +374,8 @@ func_ov011_0211daf4 kind:function(thumb,size=0x50) addr:0x211daf4
func_ov011_0211db44 kind:function(thumb,size=0x24) addr:0x211db44
func_ov011_0211db68 kind:function(thumb,size=0x24) addr:0x211db68
func_ov011_0211db8c kind:function(thumb,size=0xc) addr:0x211db8c
-func_ov011_0211db98 kind:function(thumb,size=0x4) addr:0x211db98
-func_ov011_0211db9c kind:function(thumb,size=0x4) addr:0x211db9c
+func_ov011_0211db98 kind:function(thumb,size=0x2) addr:0x211db98
+func_ov011_0211db9c kind:function(thumb,size=0x2) addr:0x211db9c
func_ov011_0211dba0 kind:function(thumb,size=0x1c) addr:0x211dba0
func_ov011_0211dbbc kind:function(thumb,size=0x68) addr:0x211dbbc
func_ov011_0211dc24 kind:function(thumb,size=0x5c) addr:0x211dc24
@@ -386,7 +386,7 @@ func_ov011_0211dcf8 kind:function(thumb,size=0x20) addr:0x211dcf8
func_ov011_0211dd18 kind:function(thumb,size=0x20) addr:0x211dd18
func_ov011_0211dd38 kind:function(thumb,size=0x10) addr:0x211dd38
func_ov011_0211dd48 kind:function(thumb,size=0x14) addr:0x211dd48
-func_ov011_0211dd5c kind:function(thumb,size=0x4) addr:0x211dd5c
+func_ov011_0211dd5c kind:function(thumb,size=0x2) addr:0x211dd5c
func_ov011_0211dd60 kind:function(thumb,size=0x1c) addr:0x211dd60
func_ov011_0211dd7c kind:function(thumb,size=0x18) addr:0x211dd7c
func_ov011_0211dd94 kind:function(thumb,size=0x30) addr:0x211dd94
@@ -398,7 +398,7 @@ func_ov011_0211de60 kind:function(thumb,size=0x28) addr:0x211de60
func_ov011_0211de88 kind:function(thumb,size=0x20) addr:0x211de88
func_ov011_0211dea8 kind:function(thumb,size=0x10) addr:0x211dea8
func_ov011_0211deb8 kind:function(thumb,size=0x14) addr:0x211deb8
-func_ov011_0211decc kind:function(thumb,size=0x4) addr:0x211decc
+func_ov011_0211decc kind:function(thumb,size=0x2) addr:0x211decc
func_ov011_0211ded0 kind:function(thumb,size=0x1c) addr:0x211ded0
func_ov011_0211deec kind:function(thumb,size=0x18) addr:0x211deec
func_ov011_0211df04 kind:function(thumb,size=0x28) addr:0x211df04
@@ -410,7 +410,7 @@ func_ov011_0211e020 kind:function(thumb,size=0x20) addr:0x211e020
func_ov011_0211e040 kind:function(thumb,size=0x20) addr:0x211e040
func_ov011_0211e060 kind:function(thumb,size=0x10) addr:0x211e060
func_ov011_0211e070 kind:function(thumb,size=0x24) addr:0x211e070
-func_ov011_0211e094 kind:function(thumb,size=0x4) addr:0x211e094
+func_ov011_0211e094 kind:function(thumb,size=0x2) addr:0x211e094
func_ov011_0211e098 kind:function(thumb,size=0x34) addr:0x211e098
func_ov011_0211e0cc kind:function(thumb,size=0x18) addr:0x211e0cc
func_ov011_0211e0e4 kind:function(thumb,size=0x40) addr:0x211e0e4
@@ -420,7 +420,7 @@ func_ov011_0211e1c4 kind:function(thumb,size=0x48) addr:0x211e1c4
func_ov011_0211e20c kind:function(thumb,size=0x24) addr:0x211e20c
func_ov011_0211e230 kind:function(thumb,size=0x20) addr:0x211e230
func_ov011_0211e250 kind:function(thumb,size=0xc) addr:0x211e250
-func_ov011_0211e25c kind:function(thumb,size=0x4) addr:0x211e25c
+func_ov011_0211e25c kind:function(thumb,size=0x2) addr:0x211e25c
func_ov011_0211e260 kind:function(thumb,size=0x28) addr:0x211e260
func_ov011_0211e288 kind:function(thumb,size=0x44) addr:0x211e288
func_ov011_0211e2cc kind:function(thumb,size=0x20) addr:0x211e2cc
@@ -431,7 +431,7 @@ func_ov011_0211e3ac kind:function(thumb,size=0x28) addr:0x211e3ac
func_ov011_0211e3d4 kind:function(thumb,size=0x28) addr:0x211e3d4
func_ov011_0211e3fc kind:function(thumb,size=0x10) addr:0x211e3fc
func_ov011_0211e40c kind:function(thumb,size=0x24) addr:0x211e40c
-func_ov011_0211e430 kind:function(thumb,size=0x4) addr:0x211e430
+func_ov011_0211e430 kind:function(thumb,size=0x2) addr:0x211e430
func_ov011_0211e434 kind:function(thumb,size=0x38) addr:0x211e434
func_ov011_0211e46c kind:function(thumb,size=0x18) addr:0x211e46c
func_ov011_0211e484 kind:function(thumb,size=0x40) addr:0x211e484
@@ -442,8 +442,8 @@ func_ov011_0211e60c kind:function(thumb,size=0x24) addr:0x211e60c
func_ov011_0211e630 kind:function(thumb,size=0x18) addr:0x211e630
func_ov011_0211e648 kind:function(thumb,size=0x1c) addr:0x211e648
func_ov011_0211e664 kind:function(thumb,size=0x4c) addr:0x211e664
-func_ov011_0211e6b0 kind:function(thumb,size=0x4) addr:0x211e6b0
-func_ov011_0211e6b4 kind:function(thumb,size=0x4) addr:0x211e6b4
+func_ov011_0211e6b0 kind:function(thumb,size=0x2) addr:0x211e6b0
+func_ov011_0211e6b4 kind:function(thumb,size=0x2) addr:0x211e6b4
func_ov011_0211e6b8 kind:function(thumb,size=0x3c) addr:0x211e6b8
func_ov011_0211e6f4 kind:function(thumb,size=0x40) addr:0x211e6f4
func_ov011_0211e734 kind:function(thumb,size=0x80) addr:0x211e734
@@ -456,7 +456,7 @@ func_ov011_0211e888 kind:function(thumb,size=0x20) addr:0x211e888
func_ov011_0211e8a8 kind:function(thumb,size=0x1c) addr:0x211e8a8
func_ov011_0211e8c4 kind:function(thumb,size=0x10) addr:0x211e8c4
func_ov011_0211e8d4 kind:function(thumb,size=0x24) addr:0x211e8d4
-func_ov011_0211e8f8 kind:function(thumb,size=0x4) addr:0x211e8f8
+func_ov011_0211e8f8 kind:function(thumb,size=0x2) addr:0x211e8f8
func_ov011_0211e8fc kind:function(thumb,size=0x20) addr:0x211e8fc
func_ov011_0211e91c kind:function(thumb,size=0x28) addr:0x211e91c
func_ov011_0211e944 kind:function(thumb,size=0x50) addr:0x211e944
@@ -470,12 +470,12 @@ func_ov011_0211eb84 kind:function(thumb,size=0x28) addr:0x211eb84
func_ov011_0211ebac kind:function(thumb,size=0x34) addr:0x211ebac
func_ov011_0211ebe0 kind:function(thumb,size=0x88) addr:0x211ebe0
func_ov011_0211ec68 kind:function(thumb,size=0x24) addr:0x211ec68
-func_ov011_0211ec8c kind:function(thumb,size=0x4) addr:0x211ec8c
+func_ov011_0211ec8c kind:function(thumb,size=0x2) addr:0x211ec8c
func_ov011_0211ec90 kind:function(thumb,size=0x34) addr:0x211ec90
func_ov011_0211ecc4 kind:function(thumb,size=0x2c) addr:0x211ecc4
func_ov011_0211ecf0 kind:function(thumb,size=0x40) addr:0x211ecf0
func_ov011_0211ed30 kind:function(thumb,size=0x94) addr:0x211ed30
-func_ov011_0211edc4 kind:function(thumb,size=0x18) addr:0x211edc4
+func_ov011_0211edc4 kind:function(thumb,size=0x16) addr:0x211edc4
func_ov011_0211eddc kind:function(thumb,size=0x20) addr:0x211eddc
func_ov011_0211edfc kind:function(thumb,size=0x18) addr:0x211edfc
func_ov011_0211ee14 kind:function(thumb,size=0x38) addr:0x211ee14
@@ -485,7 +485,7 @@ func_ov011_0211ee9c kind:function(thumb,size=0x48) addr:0x211ee9c
func_ov011_0211eee4 kind:function(thumb,size=0x24) addr:0x211eee4
func_ov011_0211ef08 kind:function(thumb,size=0x18) addr:0x211ef08
func_ov011_0211ef20 kind:function(thumb,size=0xc) addr:0x211ef20
-func_ov011_0211ef2c kind:function(thumb,size=0x4) addr:0x211ef2c
+func_ov011_0211ef2c kind:function(thumb,size=0x2) addr:0x211ef2c
func_ov011_0211ef30 kind:function(thumb,size=0x28) addr:0x211ef30
func_ov011_0211ef58 kind:function(thumb,size=0x4c) addr:0x211ef58
func_ov011_0211efa4 kind:function(thumb,size=0x20) addr:0x211efa4
@@ -524,7 +524,7 @@ func_ov011_0211ffa0 kind:function(thumb,size=0x54) addr:0x211ffa0
func_ov011_0211fff4 kind:function(thumb,size=0x18) addr:0x211fff4
func_ov011_0212000c kind:function(thumb,size=0xc) addr:0x212000c
func_ov011_02120018 kind:function(thumb,size=0x12c) addr:0x2120018
-func_ov011_02120144 kind:function(thumb,size=0x4) addr:0x2120144
+func_ov011_02120144 kind:function(thumb,size=0x2) addr:0x2120144
func_ov011_02120148 kind:function(thumb,size=0x14) addr:0x2120148
func_ov011_0212015c kind:function(thumb,size=0x24) addr:0x212015c
func_ov011_02120180 kind:function(thumb,size=0x88) addr:0x2120180
@@ -544,7 +544,7 @@ func_ov011_02120788 kind:function(thumb,size=0x18) addr:0x2120788
func_ov011_021207a0 kind:function(thumb,size=0xc) addr:0x21207a0
func_ov011_021207ac kind:function(thumb,size=0x1f0) addr:0x21207ac
func_ov011_0212099c kind:function(thumb,size=0x64) addr:0x212099c
-func_ov011_02120a00 kind:function(thumb,size=0x4) addr:0x2120a00
+func_ov011_02120a00 kind:function(thumb,size=0x2) addr:0x2120a00
func_ov011_02120a04 kind:function(thumb,size=0x14) addr:0x2120a04
func_ov011_02120a18 kind:function(thumb,size=0x24) addr:0x2120a18
func_ov011_02120a3c kind:function(thumb,size=0x60) addr:0x2120a3c
@@ -565,7 +565,7 @@ func_ov011_021210c0 kind:function(thumb,size=0x28) addr:0x21210c0
func_ov011_021210e8 kind:function(thumb,size=0x20) addr:0x21210e8
func_ov011_02121108 kind:function(thumb,size=0x10) addr:0x2121108
func_ov011_02121118 kind:function(thumb,size=0x14) addr:0x2121118
-func_ov011_0212112c kind:function(thumb,size=0x4) addr:0x212112c
+func_ov011_0212112c kind:function(thumb,size=0x2) addr:0x212112c
func_ov011_02121130 kind:function(thumb,size=0x1c) addr:0x2121130
func_ov011_0212114c kind:function(thumb,size=0x18) addr:0x212114c
func_ov011_02121164 kind:function(thumb,size=0x34) addr:0x2121164
@@ -587,7 +587,7 @@ func_ov011_02121a3c kind:function(thumb,size=0x18) addr:0x2121a3c
func_ov011_02121a54 kind:function(thumb,size=0x30) addr:0x2121a54
func_ov011_02121a84 kind:function(thumb,size=0x21c) addr:0x2121a84
func_ov011_02121ca0 kind:function(thumb,size=0x78) addr:0x2121ca0
-func_ov011_02121d18 kind:function(thumb,size=0x10c) addr:0x2121d18
+func_ov011_02121d18 kind:function(thumb,size=0x10a) addr:0x2121d18
func_ov011_02121e24 kind:function(thumb,size=0xe8) addr:0x2121e24
func_ov011_02121f0c kind:function(thumb,size=0x68) addr:0x2121f0c
func_ov011_02121f74 kind:function(thumb,size=0xa8) addr:0x2121f74
@@ -616,8 +616,8 @@ func_ov011_02122a08 kind:function(thumb,size=0x68) addr:0x2122a08
func_ov011_02122a70 kind:function(thumb,size=0x38) addr:0x2122a70
func_ov011_02122aa8 kind:function(thumb,size=0x34) addr:0x2122aa8
func_ov011_02122adc kind:function(thumb,size=0x20) addr:0x2122adc
-func_ov011_02122afc kind:function(thumb,size=0x4) addr:0x2122afc
-func_ov011_02122b00 kind:function(thumb,size=0x4) addr:0x2122b00
+func_ov011_02122afc kind:function(thumb,size=0x2) addr:0x2122afc
+func_ov011_02122b00 kind:function(thumb,size=0x2) addr:0x2122b00
func_ov011_02122b04 kind:function(thumb,size=0x28) addr:0x2122b04
func_ov011_02122b2c kind:function(thumb,size=0x40) addr:0x2122b2c
func_ov011_02122b6c kind:function(thumb,size=0x1c) addr:0x2122b6c
@@ -626,9 +626,9 @@ func_ov011_02122bb4 kind:function(thumb,size=0x50) addr:0x2122bb4
func_ov011_02122c04 kind:function(thumb,size=0x24) addr:0x2122c04
func_ov011_02122c28 kind:function(thumb,size=0x20) addr:0x2122c28
func_ov011_02122c48 kind:function(thumb,size=0x20) addr:0x2122c48
-func_ov011_02122c68 kind:function(thumb,size=0x1c) addr:0x2122c68
+func_ov011_02122c68 kind:function(thumb,size=0x1a) addr:0x2122c68
func_ov011_02122c84 kind:function(thumb,size=0x24) addr:0x2122c84
-func_ov011_02122ca8 kind:function(thumb,size=0x4) addr:0x2122ca8
+func_ov011_02122ca8 kind:function(thumb,size=0x2) addr:0x2122ca8
func_ov011_02122cac kind:function(thumb,size=0x20) addr:0x2122cac
func_ov011_02122ccc kind:function(thumb,size=0x18) addr:0x2122ccc
func_ov011_02122ce4 kind:function(thumb,size=0x48) addr:0x2122ce4
@@ -642,9 +642,9 @@ func_ov011_02122e88 kind:function(thumb,size=0x50) addr:0x2122e88
func_ov011_02122ed8 kind:function(thumb,size=0x24) addr:0x2122ed8
func_ov011_02122efc kind:function(thumb,size=0x20) addr:0x2122efc
func_ov011_02122f1c kind:function(thumb,size=0x20) addr:0x2122f1c
-func_ov011_02122f3c kind:function(thumb,size=0x1c) addr:0x2122f3c
+func_ov011_02122f3c kind:function(thumb,size=0x1a) addr:0x2122f3c
func_ov011_02122f58 kind:function(thumb,size=0x24) addr:0x2122f58
-func_ov011_02122f7c kind:function(thumb,size=0x4) addr:0x2122f7c
+func_ov011_02122f7c kind:function(thumb,size=0x2) addr:0x2122f7c
func_ov011_02122f80 kind:function(thumb,size=0x20) addr:0x2122f80
func_ov011_02122fa0 kind:function(thumb,size=0x18) addr:0x2122fa0
func_ov011_02122fb8 kind:function(thumb,size=0x40) addr:0x2122fb8
@@ -657,7 +657,7 @@ func_ov011_02123168 kind:function(thumb,size=0x50) addr:0x2123168
func_ov011_021231b8 kind:function(thumb,size=0x24) addr:0x21231b8
func_ov011_021231dc kind:function(thumb,size=0x18) addr:0x21231dc
func_ov011_021231f4 kind:function(thumb,size=0xc) addr:0x21231f4
-func_ov011_02123200 kind:function(thumb,size=0x4) addr:0x2123200
+func_ov011_02123200 kind:function(thumb,size=0x2) addr:0x2123200
func_ov011_02123204 kind:function(thumb,size=0x28) addr:0x2123204
func_ov011_0212322c kind:function(thumb,size=0x4c) addr:0x212322c
func_ov011_02123278 kind:function(thumb,size=0x20) addr:0x2123278
@@ -667,9 +667,9 @@ func_ov011_021232f8 kind:function(thumb,size=0x70) addr:0x21232f8
func_ov011_02123368 kind:function(thumb,size=0x38) addr:0x2123368
func_ov011_021233a0 kind:function(thumb,size=0x2c) addr:0x21233a0
func_ov011_021233cc kind:function(thumb,size=0x20) addr:0x21233cc
-func_ov011_021233ec kind:function(thumb,size=0x1c) addr:0x21233ec
+func_ov011_021233ec kind:function(thumb,size=0x1a) addr:0x21233ec
func_ov011_02123408 kind:function(thumb,size=0x24) addr:0x2123408
-func_ov011_0212342c kind:function(thumb,size=0x4) addr:0x212342c
+func_ov011_0212342c kind:function(thumb,size=0x2) addr:0x212342c
func_ov011_02123430 kind:function(thumb,size=0x20) addr:0x2123430
func_ov011_02123450 kind:function(thumb,size=0x18) addr:0x2123450
func_ov011_02123468 kind:function(thumb,size=0x48) addr:0x2123468
@@ -685,7 +685,7 @@ func_ov011_021236e4 kind:function(thumb,size=0x20) addr:0x21236e4
func_ov011_02123704 kind:function(thumb,size=0x14) addr:0x2123704
func_ov011_02123718 kind:function(thumb,size=0xb8) addr:0x2123718
func_ov011_021237d0 kind:function(thumb,size=0x18) addr:0x21237d0
-func_ov011_021237e8 kind:function(thumb,size=0x4) addr:0x21237e8
+func_ov011_021237e8 kind:function(thumb,size=0x2) addr:0x21237e8
func_ov011_021237ec kind:function(thumb,size=0x20) addr:0x21237ec
func_ov011_0212380c kind:function(thumb,size=0x18) addr:0x212380c
func_ov011_02123824 kind:function(thumb,size=0x34) addr:0x2123824
@@ -700,7 +700,7 @@ func_ov011_02123b00 kind:function(thumb,size=0x28) addr:0x2123b00
func_ov011_02123b28 kind:function(thumb,size=0x28) addr:0x2123b28
func_ov011_02123b50 kind:function(thumb,size=0x10) addr:0x2123b50
func_ov011_02123b60 kind:function(thumb,size=0x9c) addr:0x2123b60
-func_ov011_02123bfc kind:function(thumb,size=0x4) addr:0x2123bfc
+func_ov011_02123bfc kind:function(thumb,size=0x2) addr:0x2123bfc
func_ov011_02123c00 kind:function(thumb,size=0xc0) addr:0x2123c00
func_ov011_02123cc0 kind:function(thumb,size=0x2c) addr:0x2123cc0
func_ov011_02123cec kind:function(thumb,size=0x54) addr:0x2123cec
@@ -718,7 +718,7 @@ func_ov011_0212436c kind:function(thumb,size=0x28) addr:0x212436c
func_ov011_02124394 kind:function(thumb,size=0x20) addr:0x2124394
func_ov011_021243b4 kind:function(thumb,size=0x10) addr:0x21243b4
func_ov011_021243c4 kind:function(thumb,size=0x104) addr:0x21243c4
-func_ov011_021244c8 kind:function(thumb,size=0x4) addr:0x21244c8
+func_ov011_021244c8 kind:function(thumb,size=0x2) addr:0x21244c8
func_ov011_021244cc kind:function(thumb,size=0x38) addr:0x21244cc
func_ov011_02124504 kind:function(thumb,size=0x18) addr:0x2124504
func_ov011_0212451c kind:function(thumb,size=0x40) addr:0x212451c
@@ -731,9 +731,9 @@ func_ov011_021247e4 kind:function(thumb,size=0x6c) addr:0x21247e4
func_ov011_02124850 kind:function(thumb,size=0x44) addr:0x2124850
func_ov011_02124894 kind:function(thumb,size=0x24) addr:0x2124894
func_ov011_021248b8 kind:function(thumb,size=0x10) addr:0x21248b8
-func_ov011_021248c8 kind:function(thumb,size=0x4) addr:0x21248c8
-func_ov011_021248cc kind:function(thumb,size=0x4) addr:0x21248cc
-func_ov011_021248d0 kind:function(thumb,size=0x4) addr:0x21248d0
+func_ov011_021248c8 kind:function(thumb,size=0x2) addr:0x21248c8
+func_ov011_021248cc kind:function(thumb,size=0x2) addr:0x21248cc
+func_ov011_021248d0 kind:function(thumb,size=0x2) addr:0x21248d0
func_ov011_021248d4 kind:function(thumb,size=0x1c) addr:0x21248d4
func_ov011_021248f0 kind:function(thumb,size=0x18) addr:0x21248f0
func_ov011_02124908 kind:function(thumb,size=0x74) addr:0x2124908
@@ -745,7 +745,7 @@ func_ov011_02124a04 kind:function(thumb,size=0x48) addr:0x2124a04
func_ov011_02124a4c kind:function(thumb,size=0x24) addr:0x2124a4c
func_ov011_02124a70 kind:function(thumb,size=0x18) addr:0x2124a70
func_ov011_02124a88 kind:function(thumb,size=0xc) addr:0x2124a88
-func_ov011_02124a94 kind:function(thumb,size=0x4) addr:0x2124a94
+func_ov011_02124a94 kind:function(thumb,size=0x2) addr:0x2124a94
func_ov011_02124a98 kind:function(thumb,size=0x38) addr:0x2124a98
func_ov011_02124ad0 kind:function(thumb,size=0x70) addr:0x2124ad0
func_ov011_02124b40 kind:function(thumb,size=0x48) addr:0x2124b40
@@ -754,8 +754,8 @@ func_ov011_02124bc8 kind:function(thumb,size=0x48) addr:0x2124bc8
func_ov011_02124c10 kind:function(thumb,size=0x38) addr:0x2124c10
func_ov011_02124c48 kind:function(thumb,size=0x54) addr:0x2124c48
func_ov011_02124c9c kind:function(thumb,size=0x30) addr:0x2124c9c
-func_ov011_02124ccc kind:function(thumb,size=0x4) addr:0x2124ccc
-func_ov011_02124cd0 kind:function(thumb,size=0x4) addr:0x2124cd0
+func_ov011_02124ccc kind:function(thumb,size=0x2) addr:0x2124ccc
+func_ov011_02124cd0 kind:function(thumb,size=0x2) addr:0x2124cd0
func_ov011_02124cd4 kind:function(thumb,size=0x24) addr:0x2124cd4
func_ov011_02124cf8 kind:function(thumb,size=0x28) addr:0x2124cf8
func_ov011_02124d20 kind:function(thumb,size=0x30) addr:0x2124d20
@@ -763,7 +763,7 @@ func_ov011_02124d50 kind:function(thumb,size=0x50) addr:0x2124d50
func_ov011_02124da0 kind:function(thumb,size=0x24) addr:0x2124da0
func_ov011_02124dc4 kind:function(thumb,size=0x18) addr:0x2124dc4
func_ov011_02124ddc kind:function(thumb,size=0xc) addr:0x2124ddc
-func_ov011_02124de8 kind:function(thumb,size=0x4) addr:0x2124de8
+func_ov011_02124de8 kind:function(thumb,size=0x2) addr:0x2124de8
func_ov011_02124dec kind:function(thumb,size=0x28) addr:0x2124dec
func_ov011_02124e14 kind:function(thumb,size=0x4c) addr:0x2124e14
func_ov011_02124e60 kind:function(thumb,size=0x20) addr:0x2124e60
@@ -774,7 +774,7 @@ func_ov011_02124f64 kind:function(thumb,size=0x28) addr:0x2124f64
func_ov011_02124f8c kind:function(thumb,size=0x20) addr:0x2124f8c
func_ov011_02124fac kind:function(thumb,size=0x10) addr:0x2124fac
func_ov011_02124fbc kind:function(thumb,size=0x24) addr:0x2124fbc
-func_ov011_02124fe0 kind:function(thumb,size=0x4) addr:0x2124fe0
+func_ov011_02124fe0 kind:function(thumb,size=0x2) addr:0x2124fe0
func_ov011_02124fe4 kind:function(thumb,size=0x34) addr:0x2124fe4
func_ov011_02125018 kind:function(thumb,size=0x18) addr:0x2125018
func_ov011_02125030 kind:function(thumb,size=0x40) addr:0x2125030
@@ -787,7 +787,7 @@ func_ov011_02125208 kind:function(thumb,size=0x20) addr:0x2125208
func_ov011_02125228 kind:function(thumb,size=0x20) addr:0x2125228
func_ov011_02125248 kind:function(thumb,size=0x10) addr:0x2125248
func_ov011_02125258 kind:function(thumb,size=0x24) addr:0x2125258
-func_ov011_0212527c kind:function(thumb,size=0x4) addr:0x212527c
+func_ov011_0212527c kind:function(thumb,size=0x2) addr:0x212527c
func_ov011_02125280 kind:function(thumb,size=0x34) addr:0x2125280
func_ov011_021252b4 kind:function(thumb,size=0x18) addr:0x21252b4
func_ov011_021252cc kind:function(thumb,size=0x48) addr:0x21252cc
@@ -901,7 +901,7 @@ func_ov011_02127630 kind:function(thumb,size=0x84) addr:0x2127630
func_ov011_021276b4 kind:function(thumb,size=0xd4) addr:0x21276b4
func_ov011_02127788 kind:function(thumb,size=0x40) addr:0x2127788
func_ov011_021277c8 kind:function(thumb,size=0x118) addr:0x21277c8
-func_ov011_021278e0 kind:function(thumb,size=0x48) addr:0x21278e0
+func_ov011_021278e0 kind:function(thumb,size=0x46) addr:0x21278e0
func_ov011_02127928 kind:function(thumb,size=0x80) addr:0x2127928
func_ov011_021279a8 kind:function(thumb,size=0x24) addr:0x21279a8
func_ov011_021279cc kind:function(thumb,size=0x54) addr:0x21279cc
@@ -909,7 +909,7 @@ func_ov011_02127a20 kind:function(thumb,size=0x3c) addr:0x2127a20
func_ov011_02127a5c kind:function(thumb,size=0x78) addr:0x2127a5c
func_ov011_02127ad4 kind:function(thumb,size=0x2c) addr:0x2127ad4
func_ov011_02127b00 kind:function(thumb,size=0xb0) addr:0x2127b00
-func_ov011_02127bb0 kind:function(thumb,size=0x30) addr:0x2127bb0
+func_ov011_02127bb0 kind:function(thumb,size=0x2e) addr:0x2127bb0
func_ov011_02127be0 kind:function(thumb,size=0x84) addr:0x2127be0
func_ov011_02127c64 kind:function(thumb,size=0x60) addr:0x2127c64
func_ov011_02127cc4 kind:function(thumb,size=0x80) addr:0x2127cc4
@@ -917,7 +917,7 @@ func_ov011_02127d44 kind:function(thumb,size=0x80) addr:0x2127d44
func_ov011_02127dc4 kind:function(thumb,size=0x84) addr:0x2127dc4
func_ov011_02127e48 kind:function(thumb,size=0x40) addr:0x2127e48
func_ov011_02127e88 kind:function(thumb,size=0x94) addr:0x2127e88
-func_ov011_02127f1c kind:function(thumb,size=0x10) addr:0x2127f1c
+func_ov011_02127f1c kind:function(thumb,size=0xe) addr:0x2127f1c
func_ov011_02127f2c kind:function(thumb,size=0x20) addr:0x2127f2c
func_ov011_02127f4c kind:function(thumb,size=0x1ec) addr:0x2127f4c
func_ov011_02128138 kind:function(thumb,size=0xc) addr:0x2128138
@@ -942,12 +942,12 @@ func_ov011_0212868c kind:function(thumb,size=0x24) addr:0x212868c
func_ov011_021286b0 kind:function(thumb,size=0x24) addr:0x21286b0
func_ov011_021286d4 kind:function(thumb,size=0x38) addr:0x21286d4
func_ov011_0212870c kind:function(thumb,size=0x1c) addr:0x212870c
-func_ov011_02128728 kind:function(thumb,size=0x18) addr:0x2128728
+func_ov011_02128728 kind:function(thumb,size=0x16) addr:0x2128728
func_ov011_02128740 kind:function(thumb,size=0x38) addr:0x2128740
func_ov011_02128778 kind:function(thumb,size=0x24) addr:0x2128778
-func_ov011_0212879c kind:function(thumb,size=0x24) addr:0x212879c
+func_ov011_0212879c kind:function(thumb,size=0x22) addr:0x212879c
func_ov011_021287c0 kind:function(thumb,size=0x28) addr:0x21287c0
-func_ov011_021287e8 kind:function(thumb,size=0x18) addr:0x21287e8
+func_ov011_021287e8 kind:function(thumb,size=0x16) addr:0x21287e8
func_ov011_02128800 kind:function(thumb,size=0x24) addr:0x2128800
func_ov011_02128824 kind:function(thumb,size=0x20) addr:0x2128824
func_ov011_02128844 kind:function(thumb,size=0x18) addr:0x2128844
@@ -957,7 +957,7 @@ func_ov011_02128878 kind:function(thumb,size=0xc) addr:0x2128878
func_ov011_02128884 kind:function(thumb,size=0x90) addr:0x2128884
func_ov011_02128914 kind:function(thumb,size=0x70) addr:0x2128914
func_ov011_02128984 kind:function(thumb,size=0x90) addr:0x2128984
-func_ov011_02128a14 kind:function(thumb,size=0x14) addr:0x2128a14
+func_ov011_02128a14 kind:function(thumb,size=0x12) addr:0x2128a14
func_ov011_02128a28 kind:function(thumb,size=0x50) addr:0x2128a28
func_ov011_02128a78 kind:function(thumb,size=0x8c) addr:0x2128a78
func_ov011_02128b04 kind:function(thumb,size=0x4c) addr:0x2128b04
@@ -968,7 +968,7 @@ func_ov011_02128bd0 kind:function(thumb,size=0xe0) addr:0x2128bd0
func_ov011_02128cb0 kind:function(thumb,size=0xc) addr:0x2128cb0
func_ov011_02128cbc kind:function(thumb,size=0x20) addr:0x2128cbc
func_ov011_02128cdc kind:function(thumb,size=0x70) addr:0x2128cdc
-func_ov011_02128d4c kind:function(thumb,size=0x14) addr:0x2128d4c
+func_ov011_02128d4c kind:function(thumb,size=0x12) addr:0x2128d4c
func_ov011_02128d60 kind:function(thumb,size=0xb4) addr:0x2128d60
func_ov011_02128e14 kind:function(thumb,size=0x38) addr:0x2128e14
func_ov011_02128e4c kind:function(thumb,size=0xc0) addr:0x2128e4c
@@ -1014,12 +1014,12 @@ func_ov011_02129ff0 kind:function(thumb,size=0x20) addr:0x2129ff0
func_ov011_0212a010 kind:function(thumb,size=0x20) addr:0x212a010
func_ov011_0212a030 kind:function(thumb,size=0x18) addr:0x212a030
func_ov011_0212a048 kind:function(thumb,size=0x4c) addr:0x212a048
-func_ov011_0212a094 kind:function(thumb,size=0x1c) addr:0x212a094
+func_ov011_0212a094 kind:function(thumb,size=0x1a) addr:0x212a094
func_ov011_0212a0b0 kind:function(thumb,size=0x30) addr:0x212a0b0
func_ov011_0212a0e0 kind:function(thumb,size=0x1c) addr:0x212a0e0
func_ov011_0212a0fc kind:function(thumb,size=0x24) addr:0x212a0fc
-func_ov011_0212a120 kind:function(thumb,size=0x14) addr:0x212a120
-func_ov011_0212a134 kind:function(thumb,size=0x38) addr:0x212a134
+func_ov011_0212a120 kind:function(thumb,size=0x12) addr:0x212a120
+func_ov011_0212a134 kind:function(thumb,size=0x36) addr:0x212a134
func_ov011_0212a16c kind:function(thumb,size=0x34) addr:0x212a16c
func_ov011_0212a1a0 kind:function(thumb,size=0x30) addr:0x212a1a0
func_ov011_0212a1d0 kind:function(thumb,size=0x10) addr:0x212a1d0
@@ -1027,7 +1027,7 @@ func_ov011_0212a1e0 kind:function(thumb,size=0x18) addr:0x212a1e0
func_ov011_0212a1f8 kind:function(thumb,size=0x88) addr:0x212a1f8
func_ov011_0212a280 kind:function(thumb,size=0xb8) addr:0x212a280
func_ov011_0212a338 kind:function(thumb,size=0x34) addr:0x212a338
-func_ov011_0212a36c kind:function(thumb,size=0x24) addr:0x212a36c
+func_ov011_0212a36c kind:function(thumb,size=0x22) addr:0x212a36c
func_ov011_0212a390 kind:function(thumb,size=0xb4) addr:0x212a390
func_ov011_0212a444 kind:function(thumb,size=0x40) addr:0x212a444
func_ov011_0212a484 kind:function(thumb,size=0x90) addr:0x212a484
@@ -1040,12 +1040,12 @@ func_ov011_0212a704 kind:function(thumb,size=0x74) addr:0x212a704
func_ov011_0212a778 kind:function(thumb,size=0x2c) addr:0x212a778
func_ov011_0212a7a4 kind:function(thumb,size=0x74) addr:0x212a7a4
func_ov011_0212a818 kind:function(thumb,size=0x7c) addr:0x212a818
-func_ov011_0212a894 kind:function(thumb,size=0xc) addr:0x212a894
-func_ov011_0212a8a0 kind:function(thumb,size=0x64) addr:0x212a8a0
+func_ov011_0212a894 kind:function(thumb,size=0xa) addr:0x212a894
+func_ov011_0212a8a0 kind:function(thumb,size=0x62) addr:0x212a8a0
func_ov011_0212a904 kind:function(thumb,size=0x24) addr:0x212a904
-func_ov011_0212a928 kind:function(thumb,size=0x8) addr:0x212a928
+func_ov011_0212a928 kind:function(thumb,size=0x6) addr:0x212a928
func_ov011_0212a930 kind:function(thumb,size=0x10) addr:0x212a930
-func_ov011_0212a940 kind:function(thumb,size=0x20) addr:0x212a940
+func_ov011_0212a940 kind:function(thumb,size=0x1e) addr:0x212a940
func_ov011_0212a960 kind:function(thumb,size=0x4c) addr:0x212a960
func_ov011_0212a9ac kind:function(thumb,size=0x50) addr:0x212a9ac
func_ov011_0212a9fc kind:function(thumb,size=0xdc) addr:0x212a9fc
@@ -1053,7 +1053,7 @@ func_ov011_0212aad8 kind:function(thumb,size=0x114) addr:0x212aad8
func_ov011_0212abec kind:function(thumb,size=0x2c) addr:0x212abec
func_ov011_0212ac18 kind:function(thumb,size=0x18) addr:0x212ac18
func_ov011_0212ac30 kind:function(thumb,size=0x30) addr:0x212ac30
-func_ov011_0212ac60 kind:function(thumb,size=0x18) addr:0x212ac60
+func_ov011_0212ac60 kind:function(thumb,size=0x16) addr:0x212ac60
func_ov011_0212ac78 kind:function(thumb,size=0x2c) addr:0x212ac78
func_ov011_0212aca4 kind:function(thumb,size=0x28) addr:0x212aca4
func_ov011_0212accc kind:function(thumb,size=0x54) addr:0x212accc
@@ -1074,10 +1074,10 @@ func_ov011_0212b0d0 kind:function(thumb,size=0x50) addr:0x212b0d0
func_ov011_0212b120 kind:function(thumb,size=0x50) addr:0x212b120
func_ov011_0212b170 kind:function(thumb,size=0x28) addr:0x212b170
func_ov011_0212b198 kind:function(thumb,size=0x20) addr:0x212b198
-func_ov011_0212b1b8 kind:function(thumb,size=0x1c) addr:0x212b1b8
-func_ov011_0212b1d4 kind:function(thumb,size=0x14) addr:0x212b1d4
-func_ov011_0212b1e8 kind:function(thumb,size=0x24) addr:0x212b1e8
-func_ov011_0212b20c kind:function(thumb,size=0x20) addr:0x212b20c
+func_ov011_0212b1b8 kind:function(thumb,size=0x1a) addr:0x212b1b8
+func_ov011_0212b1d4 kind:function(thumb,size=0x12) addr:0x212b1d4
+func_ov011_0212b1e8 kind:function(thumb,size=0x22) addr:0x212b1e8
+func_ov011_0212b20c kind:function(thumb,size=0x1e) addr:0x212b20c
func_ov011_0212b22c kind:function(thumb,size=0xc) addr:0x212b22c
func_ov011_0212b238 kind:function(thumb,size=0xc) addr:0x212b238
func_ov011_0212b244 kind:function(thumb,size=0x6c) addr:0x212b244
@@ -1089,11 +1089,11 @@ func_ov011_0212b360 kind:function(thumb,size=0x14) addr:0x212b360
func_ov011_0212b374 kind:function(thumb,size=0x90) addr:0x212b374
func_ov011_0212b404 kind:function(thumb,size=0x110) addr:0x212b404
func_ov011_0212b514 kind:function(thumb,size=0x34) addr:0x212b514
-func_ov011_0212b548 kind:function(thumb,size=0x18) addr:0x212b548
+func_ov011_0212b548 kind:function(thumb,size=0x16) addr:0x212b548
func_ov011_0212b560 kind:function(thumb,size=0x7c) addr:0x212b560
func_ov011_0212b5dc kind:function(thumb,size=0xc0) addr:0x212b5dc
func_ov011_0212b69c kind:function(thumb,size=0x6c) addr:0x212b69c
-func_ov011_0212b708 kind:function(thumb,size=0x1c) addr:0x212b708
+func_ov011_0212b708 kind:function(thumb,size=0x1a) addr:0x212b708
func_ov011_0212b724 kind:function(thumb,size=0xc) addr:0x212b724
func_ov011_0212b730 kind:function(thumb,size=0xa0) addr:0x212b730
func_ov011_0212b7d0 kind:function(thumb,size=0x34) addr:0x212b7d0
diff --git a/config/eur/arm9/overlays/ov012/delinks.txt b/config/eur/arm9/overlays/ov012/delinks.txt
index 33d2d934..756c7714 100644
--- a/config/eur/arm9/overlays/ov012/delinks.txt
+++ b/config/eur/arm9/overlays/ov012/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02112c20 end:0x021344ac kind:code align:32
- .rodata start:0x021344ac end:0x021354cc kind:data align:4
+ .rodata start:0x021344ac end:0x021354cc kind:rodata align:4
.init start:0x021354cc end:0x021358f4 kind:code align:4
- .ctor start:0x021358f4 end:0x02135920 kind:data align:4
+ .ctor start:0x021358f4 end:0x02135920 kind:rodata align:4
.data start:0x02135920 end:0x02137c60 kind:data align:32
.bss start:0x02137c60 end:0x0213dec0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov013/delinks.txt b/config/eur/arm9/overlays/ov013/delinks.txt
index 7d9da21e..8731e1f2 100644
--- a/config/eur/arm9/overlays/ov013/delinks.txt
+++ b/config/eur/arm9/overlays/ov013/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02112c20 end:0x02116004 kind:code align:32
- .rodata start:0x02116004 end:0x021160ec kind:data align:4
- .ctor start:0x021160ec end:0x021160f4 kind:data align:4
+ .rodata start:0x02116004 end:0x021160ec kind:rodata align:4
+ .ctor start:0x021160ec end:0x021160f4 kind:rodata align:4
.data start:0x02116100 end:0x02116200 kind:data align:32
.bss start:0x02116200 end:0x021163a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov014/delinks.txt b/config/eur/arm9/overlays/ov014/delinks.txt
index 07c0b3f4..df6a203b 100644
--- a/config/eur/arm9/overlays/ov014/delinks.txt
+++ b/config/eur/arm9/overlays/ov014/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0211f640 end:0x02153b50 kind:code align:32
- .rodata start:0x02153b50 end:0x021541ec kind:data align:4
+ .rodata start:0x02153b50 end:0x021541ec kind:rodata align:4
.init start:0x021541ec end:0x0215584c kind:code align:4
- .ctor start:0x0215584c end:0x0215598c kind:data align:4
+ .ctor start:0x0215584c end:0x0215598c kind:rodata align:4
.data start:0x021559a0 end:0x0215abc0 kind:data align:32
.bss start:0x0215abc0 end:0x0215b4a0 kind:bss align:32
@@ -12,3 +12,11 @@ src/14_Land/Actor/ActorRupee.cpp:
.ctor start:0x0215591c end:0x02155920
.data start:0x02158994 end:0x02158a94
.bss start:0x0215b1f4 end:0x0215b214
+
+src/14_Land/Actor/Player/ActorRefill.cpp:
+ complete
+ .text start:0x02134e24 end:0x02135940
+ .init start:0x02154c14 end:0x02154d24
+ .ctor start:0x021558ec end:0x021558f0
+ .data start:0x021578b0 end:0x02157d70
+ .bss start:0x0215af94 end:0x0215b034
diff --git a/config/eur/arm9/overlays/ov014/relocs.txt b/config/eur/arm9/overlays/ov014/relocs.txt
index 422bdbad..32eaed4d 100644
--- a/config/eur/arm9/overlays/ov014/relocs.txt
+++ b/config/eur/arm9/overlays/ov014/relocs.txt
@@ -2474,7 +2474,7 @@ from:0x02134efc kind:arm_call to:0x0202e9dc module:main
from:0x02134f08 kind:arm_call to:0x021357bc module:overlay(14)
from:0x02134f10 kind:load to:0x027e0fe0 module:dtcm
from:0x02134f20 kind:arm_call to:0x020c1554 module:overlay(0)
-from:0x02134f50 kind:load to:0x02157cb8 module:overlay(14)
+from:0x02134f50 kind:load to:0x02157cb0 add:8 module:overlay(14)
from:0x02134f5c kind:arm_call to:0x020c1730 module:overlay(0)
from:0x02134f70 kind:arm_call to:0x020c1730 module:overlay(0)
from:0x02134f78 kind:arm_call to:0x0202ea0c module:main
@@ -2527,29 +2527,29 @@ from:0x021354b4 kind:arm_call to:0x0207c1b0 module:overlay(0)
from:0x021354d8 kind:arm_call to:0x0207c1b0 module:overlay(0)
from:0x021354ec kind:load to:0x027e0e58 module:dtcm
from:0x02135504 kind:arm_call to:0x02134f14 module:overlay(14)
-from:0x02135528 kind:load to:0x02157bf8 module:overlay(14)
+from:0x02135528 kind:load to:0x02157bf0 add:8 module:overlay(14)
from:0x02135534 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x02135548 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x02135550 kind:arm_call to:0x0202ea0c module:main
from:0x02135570 kind:arm_call to:0x02134f14 module:overlay(14)
-from:0x02135594 kind:load to:0x02157b38 module:overlay(14)
+from:0x02135594 kind:load to:0x02157b30 add:8 module:overlay(14)
from:0x021355a0 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x021355b4 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x021355bc kind:arm_call to:0x0202ea0c module:main
from:0x021355dc kind:arm_call to:0x02134f14 module:overlay(14)
-from:0x02135600 kind:load to:0x02157a78 module:overlay(14)
+from:0x02135600 kind:load to:0x02157a70 add:8 module:overlay(14)
from:0x0213560c kind:arm_call to:0x02134f84 module:overlay(14)
from:0x02135620 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x02135628 kind:arm_call to:0x0202ea0c module:main
from:0x02135648 kind:arm_call to:0x02134f14 module:overlay(14)
-from:0x0213566c kind:load to:0x021579b8 module:overlay(14)
+from:0x0213566c kind:load to:0x021579b0 add:8 module:overlay(14)
from:0x02135678 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x0213568c kind:arm_call to:0x02134f84 module:overlay(14)
from:0x02135694 kind:arm_call to:0x0202ea0c module:main
from:0x021356a8 kind:arm_call to:0x02134f98 module:overlay(14)
from:0x021357b0 kind:load to:0x027e0764 module:dtcm
from:0x021357c8 kind:arm_call to:0x02134f14 module:overlay(14)
-from:0x021357ec kind:load to:0x021578f8 module:overlay(14)
+from:0x021357ec kind:load to:0x021578f0 add:8 module:overlay(14)
from:0x021357f8 kind:arm_call to:0x02134f84 module:overlay(14)
from:0x0213580c kind:arm_call to:0x02134f84 module:overlay(14)
from:0x02135814 kind:arm_call to:0x0202ea0c module:main
diff --git a/config/eur/arm9/overlays/ov014/symbols.txt b/config/eur/arm9/overlays/ov014/symbols.txt
index 87782ee1..6f2c7d43 100644
--- a/config/eur/arm9/overlays/ov014/symbols.txt
+++ b/config/eur/arm9/overlays/ov014/symbols.txt
@@ -8,14 +8,14 @@ func_ov014_0211f980 kind:function(arm,size=0x130) addr:0x211f980
func_ov014_0211fab0 kind:function(arm,size=0x1dc) addr:0x211fab0
func_ov014_0211fc8c kind:function(arm,size=0x50) addr:0x211fc8c
func_ov014_0211fcdc kind:function(thumb,size=0x28) addr:0x211fcdc
-_Z19func_ov014_0211fd04Pi kind:function(thumb,size=0x4c) addr:0x211fd04
+_ZN18UnkStruct_027e109819func_ov014_0211fd04Ev kind:function(thumb,size=0x4c) addr:0x211fd04
_ZN10ActorArrow6CreateEv kind:function(arm,size=0x30) addr:0x211fd50
_ZN10ActorArrow19func_ov014_0211fd80Ei kind:function(arm,size=0x10) addr:0x211fd80
_ZN10ActorArrow19func_ov014_0211fd90Ev kind:function(arm,size=0x14) addr:0x211fd90
_ZN10ActorArrowC2Ev kind:function(arm,size=0x108) addr:0x211fda4
_ZN10ActorArrowD1Ev kind:function(arm,size=0x28) addr:0x211feac
_ZN10ActorArrowD0Ev kind:function(arm,size=0x30) addr:0x211fed4
-_ZN10ActorArrow8vfunc_08Ev kind:function(arm,size=0x148) addr:0x211ff04
+_ZN10ActorArrow4InitEv kind:function(arm,size=0x148) addr:0x211ff04
_ZN10ActorArrow12CollidesWithEP5Actor kind:function(arm,size=0x88) addr:0x212004c
_ZN10ActorArrow19func_ov014_021200d4Ev kind:function(arm,size=0x44) addr:0x21200d4
_ZN10ActorArrow19func_ov014_02120118Ev kind:function(arm,size=0x68) addr:0x2120118
@@ -42,7 +42,7 @@ _ZN15ActorBlast_Unk18vfunc_10EPi kind:function(arm,size=0xa4) addr:0x212140c
_ZN10ActorBlastC2Ev kind:function(arm,size=0x8c) addr:0x21214b0
_ZN10ActorBlastD1Ev kind:function(arm,size=0x14) addr:0x212153c
_ZN10ActorBlastD0Ev kind:function(arm,size=0x1c) addr:0x2121550
-_ZN10ActorBlast8vfunc_08Ev kind:function(arm,size=0x260) addr:0x212156c
+_ZN10ActorBlast4InitEv kind:function(arm,size=0x260) addr:0x212156c
_ZN10ActorBlast8vfunc_14Ej kind:function(arm,size=0x218) addr:0x21217cc
_ZN15ActorBlast_Unk1D1Ev kind:function(arm,size=0x14) addr:0x21219e4
_ZN10ActorBlast8vfunc_18Ej kind:function(arm,size=0x90) addr:0x21219f8
@@ -55,7 +55,7 @@ _ZN14ActorBomb_Unk2D1Ev kind:function(arm,size=0x1c) addr:0x2121cd8
_ZN9ActorBombD1Ev kind:function(arm,size=0x38) addr:0x2121cf4
_ZN9ActorBombD0Ev kind:function(arm,size=0x40) addr:0x2121d2c
_ZN14ActorBomb_Unk2C1Ev kind:function(arm,size=0x14) addr:0x2121d6c
-_ZN9ActorBomb8vfunc_08Ev kind:function(arm,size=0x134) addr:0x2121d80
+_ZN9ActorBomb4InitEv kind:function(arm,size=0x134) addr:0x2121d80
_ZN9ActorBomb8vfunc_14Ej kind:function(arm,size=0xc58) addr:0x2121eb4
_ZN14ActorBomb_Unk1D1Ev kind:function(arm,size=0x14) addr:0x2122b0c
_ZN9ActorBomb8vfunc_18Ej kind:function(arm,size=0x98) addr:0x2122b20
@@ -99,7 +99,7 @@ _ZN9ActorRope19func_ov014_02123cd0EP5Vec3pi kind:function(arm,size=0x14c) addr:0
_ZN9ActorRope19func_ov014_02123e1cEv kind:function(arm,size=0x2c) addr:0x2123e1c
_ZN9ActorRope19func_ov014_02123e48Ei kind:function(arm,size=0xbc) addr:0x2123e48
_ZN9ActorRope8vfunc_20Eb kind:function(arm,size=0xec) addr:0x2123f04
-_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x14) addr:0x2123ff0
+_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x12) addr:0x2123ff0
func_ov014_02124004 kind:function(arm,size=0x30) addr:0x2124004
func_ov014_02124034 kind:function(arm,size=0xc) addr:0x2124034
func_ov014_02124040 kind:function(arm,size=0xdc) addr:0x2124040
@@ -586,42 +586,42 @@ func_ov014_02134c04 kind:function(arm,size=0x8) addr:0x2134c04
func_ov014_02134c0c kind:function(arm,size=0x8) addr:0x2134c0c
func_ov014_02134c14 kind:function(arm,size=0x200) addr:0x2134c14
func_ov014_02134e14 kind:function(arm,size=0x10) addr:0x2134e14
-func_ov014_02134e24 kind:function(arm,size=0x30) addr:0x2134e24
-func_ov014_02134e54 kind:function(arm,size=0x30) addr:0x2134e54
-func_ov014_02134e84 kind:function(arm,size=0x30) addr:0x2134e84
-func_ov014_02134eb4 kind:function(arm,size=0x30) addr:0x2134eb4
-func_ov014_02134ee4 kind:function(arm,size=0x30) addr:0x2134ee4
-func_ov014_02134f14 kind:function(arm,size=0x40) addr:0x2134f14
-func_ov014_02134f54 kind:function(arm,size=0x14) addr:0x2134f54
-func_ov014_02134f68 kind:function(arm,size=0x1c) addr:0x2134f68
-func_ov014_02134f84 kind:function(arm,size=0x14) addr:0x2134f84
-func_ov014_02134f98 kind:function(arm,size=0xf4) addr:0x2134f98
-func_ov014_0213508c kind:function(arm,size=0x2d8) addr:0x213508c
-func_ov014_02135364 kind:function(arm,size=0x54) addr:0x2135364
-func_ov014_021353b8 kind:function(arm,size=0xbc) addr:0x21353b8
-func_ov014_02135474 kind:function(arm,size=0x84) addr:0x2135474
-func_ov014_021354f8 kind:function(arm,size=0x34) addr:0x21354f8
-func_ov014_0213552c kind:function(arm,size=0x14) addr:0x213552c
-func_ov014_02135540 kind:function(arm,size=0x1c) addr:0x2135540
-func_ov014_0213555c kind:function(arm,size=0x8) addr:0x213555c
-func_ov014_02135564 kind:function(arm,size=0x34) addr:0x2135564
-func_ov014_02135598 kind:function(arm,size=0x14) addr:0x2135598
-func_ov014_021355ac kind:function(arm,size=0x1c) addr:0x21355ac
-func_ov014_021355c8 kind:function(arm,size=0x8) addr:0x21355c8
-func_ov014_021355d0 kind:function(arm,size=0x34) addr:0x21355d0
-func_ov014_02135604 kind:function(arm,size=0x14) addr:0x2135604
-func_ov014_02135618 kind:function(arm,size=0x1c) addr:0x2135618
-func_ov014_02135634 kind:function(arm,size=0x8) addr:0x2135634
-func_ov014_0213563c kind:function(arm,size=0x34) addr:0x213563c
-func_ov014_02135670 kind:function(arm,size=0x14) addr:0x2135670
-func_ov014_02135684 kind:function(arm,size=0x1c) addr:0x2135684
-func_ov014_021356a0 kind:function(arm,size=0x114) addr:0x21356a0
-func_ov014_021357b4 kind:function(arm,size=0x8) addr:0x21357b4
-func_ov014_021357bc kind:function(arm,size=0x34) addr:0x21357bc
-func_ov014_021357f0 kind:function(arm,size=0x14) addr:0x21357f0
-func_ov014_02135804 kind:function(arm,size=0x1c) addr:0x2135804
-func_ov014_02135820 kind:function(arm,size=0x118) addr:0x2135820
-func_ov014_02135938 kind:function(arm,size=0x8) addr:0x2135938
+_ZN16ActorRefillBombs6CreateEv kind:function(arm,size=0x30) addr:0x2134e24
+_ZN19ActorRefillBombchus6CreateEv kind:function(arm,size=0x30) addr:0x2134e54
+_ZN17ActorRefillArrows6CreateEv kind:function(arm,size=0x30) addr:0x2134e84
+_ZN15ActorRefillTime6CreateEv kind:function(arm,size=0x30) addr:0x2134eb4
+_ZN9ActorLSTM6CreateEv kind:function(arm,size=0x30) addr:0x2134ee4
+_ZN11ActorRefillC2Ei kind:function(arm,size=0x40) addr:0x2134f14
+_ZN11ActorRefillD1Ev kind:function(arm,size=0x14) addr:0x2134f54
+_ZN11ActorRefillD0Ev kind:function(arm,size=0x1c) addr:0x2134f68
+_ZN11ActorRefillD2Ev kind:function(arm,size=0x14) addr:0x2134f84
+_ZN11ActorRefill4InitEv kind:function(arm,size=0xf4) addr:0x2134f98
+_ZN11ActorRefill8vfunc_14Ej kind:function(arm,size=0x2d8) addr:0x213508c
+_ZN11ActorRefill19func_ov014_02135364Ei kind:function(arm,size=0x54) addr:0x2135364
+_ZN11ActorRefill8vfunc_20Eb kind:function(arm,size=0xbc) addr:0x21353b8
+_ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135474
+_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x21354f8
+_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x213552c
+_ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x2135540
+_ZN16ActorRefillBombs11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x213555c
+_ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x2135564
+_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x2135598
+_ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x21355ac
+_ZN19ActorRefillBombchus11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21355c8
+_ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x21355d0
+_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135604
+_ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135618
+_ZN17ActorRefillArrows11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135634
+_ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x213563c
+_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x2135670
+_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x2135684
+_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21356a0
+_ZN15ActorRefillTime11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21357b4
+_ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x21357bc
+_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x21357f0
+_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135804
+_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x2135820
+_ZN9ActorLSTM11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135938
func_ov014_02135940 kind:function(arm,size=0x34) addr:0x2135940
func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x2135974
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135a38
@@ -784,7 +784,7 @@ func_ov014_0213ae20 kind:function(arm,size=0x28) addr:0x213ae20
func_ov014_0213ae48 kind:function(arm,size=0x20) addr:0x213ae48
_ZN10ActorRupee6CreateEv kind:function(arm,size=0x30) addr:0x213ae68
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x34) addr:0x213ae98
-_ZN10ActorRupee8vfunc_08Ev kind:function(arm,size=0x240) addr:0x213aecc
+_ZN10ActorRupee4InitEv kind:function(arm,size=0x240) addr:0x213aecc
_ZN10ActorRupee8vfunc_60Ev kind:function(arm,size=0x10) addr:0x213b10c
_ZN10ActorRupee8vfunc_64Ev kind:function(arm,size=0x4) addr:0x213b11c
_ZN10ActorRupee4MoveEv kind:function(arm,size=0x6c) addr:0x213b120
@@ -830,7 +830,7 @@ func_ov014_0213c364 kind:function(arm,size=0x10) addr:0x213c364
func_ov014_0213c374 kind:function(arm,size=0x10) addr:0x213c374
func_ov014_0213c384 kind:function(thumb,size=0xb8) addr:0x213c384
func_ov014_0213c43c kind:function(arm,size=0x4) addr:0x213c43c
-func_ov014_0213c440 kind:function(thumb,size=0x4) addr:0x213c440
+func_ov014_0213c440 kind:function(thumb,size=0x2) addr:0x213c440
func_ov014_0213c444 kind:function(arm,size=0x4c) addr:0x213c444
func_ov014_0213c490 kind:function(thumb,size=0x38) addr:0x213c490
func_ov014_0213c4c8 kind:function(thumb,size=0x3c) addr:0x213c4c8
@@ -846,11 +846,11 @@ func_ov014_0213ccd8 kind:function(arm,size=0xe8) addr:0x213ccd8
func_ov014_0213cdc0 kind:function(arm,size=0x3c) addr:0x213cdc0
func_ov014_0213cdfc kind:function(arm,size=0x5c) addr:0x213cdfc
func_ov014_0213ce58 kind:function(arm,size=0x18) addr:0x213ce58
-func_ov014_0213ce70 kind:function(arm,size=0xbc) addr:0x213ce70
+_ZN24UnkStruct_ov015_0213ce4c11GetInstanceEv kind:function(arm,size=0xbc) addr:0x213ce70 local
func_ov014_0213cf2c kind:function(arm,size=0x5c) addr:0x213cf2c
_ZN10EquipScoopC2Ev kind:function(thumb,size=0x14) addr:0x213cf88
_ZN10EquipScoopD1Ev kind:function(thumb,size=0xc) addr:0x213cf9c
-_ZN10EquipScoopD0Ev kind:function(thumb,size=0x14) addr:0x213cfa8
+_ZN10EquipScoopD0Ev kind:function(thumb,size=0x12) addr:0x213cfa8
_ZNK10EquipScoop5GetIdEv kind:function(arm,size=0x8) addr:0x213cfbc
_ZN14EquipBoomerangC2Ev kind:function(thumb,size=0x4c) addr:0x213cfc4
_ZN14EquipBoomerangD1Ev kind:function(thumb,size=0x2c) addr:0x213d010
@@ -871,7 +871,7 @@ _ZN9EquipBomb8vfunc_50Ev kind:function(arm,size=0x8) addr:0x213d228
_Z19func_ov014_0213d230ii kind:function(arm,size=0x18) addr:0x213d230
_Z19func_ov013_0213d248i kind:function(arm,size=0x14) addr:0x213d248
_ZN9EquipRopeC2Ev kind:function(thumb,size=0x8c) addr:0x213d25c
-_Z19func_ov014_0213d2e8v kind:function(thumb,size=0x4) addr:0x213d2e8
+_Z19func_ov014_0213d2e8v kind:function(thumb,size=0x2) addr:0x213d2e8
_Z19func_ov014_0213d2eci kind:function(arm,size=0x28) addr:0x213d2ec
_ZN9EquipRopeD1Ev kind:function(thumb,size=0x44) addr:0x213d314
_ZN9EquipRopeD0Ev kind:function(thumb,size=0x48) addr:0x213d358
@@ -895,7 +895,7 @@ _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p kind:function(arm,size=0x100) addr:0x
_ZN9EquipRope18func_ov14_0213d91cEi kind:function(arm,size=0x90) addr:0x213d91c
_ZN9EquipRope19func_ov014_0213d9acEv kind:function(arm,size=0x130) addr:0x213d9ac
_ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder kind:function(arm,size=0x58) addr:0x213dadc
-_ZN9EquipRope19func_ov014_0213db34Ev kind:function(thumb,size=0x2c) addr:0x213db34
+_ZN9EquipRope19func_ov014_0213db34Ev kind:function(thumb,size=0x2a) addr:0x213db34
_ZN9EquipRope19func_ov014_0213db60Ev kind:function(arm,size=0x44) addr:0x213db60
_ZN9EquipRope19func_ov014_0213dba4EP5Vec3p kind:function(arm,size=0x1fc) addr:0x213dba4
_ZN9EquipRope19func_ov014_0213dda0Ev kind:function(arm,size=0x34) addr:0x213dda0
@@ -909,7 +909,7 @@ _Z19func_ov014_0213e544ii kind:function(arm,size=0x18) addr:0x213e544
_Z19func_ov014_0213e55cPi kind:function(arm,size=0x55c) addr:0x213e55c
_ZN8EquipBowC2Ev kind:function(thumb,size=0x1c) addr:0x213eab8
_ZN8EquipBowD1Ev kind:function(thumb,size=0xc) addr:0x213ead4
-_ZN8EquipBowD0Ev kind:function(thumb,size=0x14) addr:0x213eae0
+_ZN8EquipBowD0Ev kind:function(thumb,size=0x12) addr:0x213eae0
_ZNK8EquipBow5GetIdEv kind:function(arm,size=0x8) addr:0x213eaf4
_ZN12EquipBombchuC2Ev kind:function(thumb,size=0x50) addr:0x213eafc
_ZN17EquipBombchu_Unk1C1Ev kind:function(arm,size=0x10) addr:0x213eb4c
@@ -922,11 +922,11 @@ _ZNK12EquipBombchu5GetIdEv kind:function(arm,size=0x8) addr:0x213ecac
_ZN12EquipBombchu8vfunc_34EPs kind:function(arm,size=0xc0) addr:0x213ecb4
_ZN12EquipBombchu19func_ov014_0213ed74Ev kind:function(arm,size=0x20) addr:0x213ed74
_ZN12EquipBombchu19func_ov014_0213ed94Ei kind:function(arm,size=0xc) addr:0x213ed94
-_ZN12EquipBombchu19func_ov014_0213eda0Ev kind:function(thumb,size=0x20) addr:0x213eda0
+_ZN12EquipBombchu19func_ov014_0213eda0Ev kind:function(thumb,size=0x1e) addr:0x213eda0
_ZN11EquipHammerC2Ev kind:function(thumb,size=0x24) addr:0x213edc0
_ZN11EquipHammerD1Ev kind:function(thumb,size=0xc) addr:0x213ede4
-_ZN11EquipHammerD0Ev kind:function(thumb,size=0x14) addr:0x213edf0
-_ZN11EquipHammer8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x213ee04
+_ZN11EquipHammerD0Ev kind:function(thumb,size=0x12) addr:0x213edf0
+_ZN11EquipHammer8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x213ee04
_ZNK11EquipHammer5GetIdEv kind:function(arm,size=0x8) addr:0x213ee08
_ZNK11EquipHammer9GetHitboxEP8Cylinder kind:function(arm,size=0x98) addr:0x213ee10
_ZNK11EquipHammer8vfunc_4cEv kind:function(arm,size=0xc) addr:0x213eea8
@@ -1038,8 +1038,8 @@ func_ov014_02143b78 kind:function(thumb,size=0x198) addr:0x2143b78
func_ov014_02143d10 kind:function(thumb,size=0x9c) addr:0x2143d10
func_ov014_02143dac kind:function(thumb,size=0xa0) addr:0x2143dac
func_ov014_02143e4c kind:function(thumb,size=0x9c) addr:0x2143e4c
-func_ov014_02143ee8 kind:function(thumb,size=0x1c) addr:0x2143ee8
-func_ov014_02143f04 kind:function(thumb,size=0x14) addr:0x2143f04
+func_ov014_02143ee8 kind:function(thumb,size=0x1a) addr:0x2143ee8
+func_ov014_02143f04 kind:function(thumb,size=0x12) addr:0x2143f04
func_ov014_02143f18 kind:function(thumb,size=0x88) addr:0x2143f18
func_ov014_02143fa0 kind:function(thumb,size=0x20) addr:0x2143fa0
func_ov014_02143fc0 kind:function(arm,size=0xb8) addr:0x2143fc0
@@ -1425,10 +1425,10 @@ func_ov014_02150670 kind:function(thumb,size=0x28) addr:0x2150670
func_ov014_02150698 kind:function(thumb,size=0x2c) addr:0x2150698
func_ov014_021506c4 kind:function(thumb,size=0xa4) addr:0x21506c4
func_ov014_02150768 kind:function(thumb,size=0x64) addr:0x2150768
-func_ov014_021507cc kind:function(thumb,size=0x34) addr:0x21507cc
-func_ov014_02150800 kind:function(thumb,size=0x10) addr:0x2150800
+func_ov014_021507cc kind:function(thumb,size=0x32) addr:0x21507cc
+func_ov014_02150800 kind:function(thumb,size=0xe) addr:0x2150800
func_ov014_02150810 kind:function(thumb,size=0x38) addr:0x2150810
-func_ov014_02150848 kind:function(thumb,size=0x1c) addr:0x2150848
+func_ov014_02150848 kind:function(thumb,size=0x1a) addr:0x2150848
func_ov014_02150864 kind:function(thumb,size=0x54) addr:0x2150864
func_ov014_021508b8 kind:function(thumb,size=0x2c) addr:0x21508b8
func_ov014_021508e4 kind:function(thumb,size=0x24) addr:0x21508e4
@@ -1458,15 +1458,15 @@ func_ov014_0215141c kind:function(arm,size=0x110) addr:0x215141c
func_ov014_0215152c kind:function(arm,size=0x20) addr:0x215152c
_ZN11EquipPotionC2Ev kind:function(thumb,size=0x18) addr:0x215154c
_ZN11EquipPotionD1Ev kind:function(thumb,size=0xc) addr:0x2151564
-_ZN11EquipPotionD0Ev kind:function(thumb,size=0x14) addr:0x2151570
+_ZN11EquipPotionD0Ev kind:function(thumb,size=0x12) addr:0x2151570
_ZN11EquipPotionD2Ev kind:function(thumb,size=0xc) addr:0x2151584
_ZN12EquipPotionAC2Ev kind:function(thumb,size=0x18) addr:0x2151590
_ZN12EquipPotionAD1Ev kind:function(thumb,size=0xc) addr:0x21515a8
-_ZN12EquipPotionAD0Ev kind:function(thumb,size=0x14) addr:0x21515b4
+_ZN12EquipPotionAD0Ev kind:function(thumb,size=0x12) addr:0x21515b4
_ZNK12EquipPotionA5GetIdEv kind:function(arm,size=0x8) addr:0x21515c8
_ZN12EquipPotionBC2Ev kind:function(thumb,size=0x18) addr:0x21515d0
_ZN12EquipPotionBD1Ev kind:function(thumb,size=0xc) addr:0x21515e8
-_ZN12EquipPotionBD0Ev kind:function(thumb,size=0x14) addr:0x21515f4
+_ZN12EquipPotionBD0Ev kind:function(thumb,size=0x12) addr:0x21515f4
_ZNK12EquipPotionB5GetIdEv kind:function(arm,size=0x8) addr:0x2151608
_ZNK11EquipPotion8IsUsableEi kind:function(arm,size=0x7c) addr:0x2151610
func_ov014_0215168c kind:function(arm,size=0x38) addr:0x215168c
@@ -1485,7 +1485,7 @@ func_ov014_02151b9c kind:function(arm,size=0x1c) addr:0x2151b9c
func_ov014_02151bb8 kind:function(arm,size=0x14) addr:0x2151bb8
func_ov014_02151bcc kind:function(thumb,size=0xc) addr:0x2151bcc
func_ov014_02151bd8 kind:function(thumb,size=0x10) addr:0x2151bd8
-func_ov014_02151be8 kind:function(thumb,size=0x4) addr:0x2151be8
+func_ov014_02151be8 kind:function(thumb,size=0x2) addr:0x2151be8
func_ov014_02151bec kind:function(arm,size=0x1f4) addr:0x2151bec
func_ov014_02151de0 kind:function(arm,size=0x24) addr:0x2151de0
func_ov014_02151e04 kind:function(arm,size=0x2c) addr:0x2151e04
@@ -1517,8 +1517,8 @@ func_ov014_02152e44 kind:function(arm,size=0x1ac) addr:0x2152e44
func_ov014_02152ff0 kind:function(arm,size=0x2c) addr:0x2152ff0
func_ov014_0215301c kind:function(arm,size=0x74) addr:0x215301c
func_ov014_02153090 kind:function(arm,size=0x3c) addr:0x2153090
-func_ov014_021530cc kind:function(thumb,size=0x20) addr:0x21530cc
-func_ov014_021530ec kind:function(thumb,size=0x4) addr:0x21530ec
+func_ov014_021530cc kind:function(thumb,size=0x1e) addr:0x21530cc
+func_ov014_021530ec kind:function(thumb,size=0x2) addr:0x21530ec
func_ov014_021530f0 kind:function(thumb,size=0x2c) addr:0x21530f0
func_ov014_0215311c kind:function(thumb,size=0x28) addr:0x215311c
func_ov014_02153144 kind:function(arm,size=0x160) addr:0x2153144
@@ -1672,7 +1672,7 @@ __sinit_ov014_02154b34 kind:function(arm,size=0x38) addr:0x2154b34
__sinit_ov014_02154b6c kind:function(arm,size=0x38) addr:0x2154b6c
__sinit_ov014_02154ba4 kind:function(arm,size=0x38) addr:0x2154ba4
__sinit_ov014_02154bdc kind:function(arm,size=0x38) addr:0x2154bdc
-__sinit_ov014_02154c14 kind:function(arm,size=0x110) addr:0x2154c14
+__sinit_ActorRefill.cpp kind:function(arm,size=0x110) addr:0x2154c14 local
__sinit_ov014_02154d24 kind:function(arm,size=0x1d8) addr:0x2154d24
__sinit_ov014_02154efc kind:function(arm,size=0x40) addr:0x2154efc
__sinit_ov014_02154f3c kind:function(arm,size=0x40) addr:0x2154f3c
@@ -1846,20 +1846,21 @@ data_ov014_02157768 kind:data(any) addr:0x2157768
data_ov014_0215777c kind:data(any) addr:0x215777c
data_ov014_02157790 kind:data(any) addr:0x2157790
data_ov014_02157824 kind:data(any) addr:0x2157824
-data_ov014_021578b0 kind:data(any) addr:0x21578b0
-data_ov014_021578b4 kind:data(any) addr:0x21578b4
-data_ov014_021578b8 kind:data(any) addr:0x21578b8
-data_ov014_021578bc kind:data(any) addr:0x21578bc
-data_ov014_021578c0 kind:data(any) addr:0x21578c0
-data_ov014_021578c4 kind:data(any) addr:0x21578c4
-data_ov014_021578c8 kind:data(any) addr:0x21578c8
-data_ov014_021578cc kind:data(any) addr:0x21578cc
-data_ov014_021578f8 kind:data(any) addr:0x21578f8
-data_ov014_021579b8 kind:data(any) addr:0x21579b8
-data_ov014_02157a78 kind:data(any) addr:0x2157a78
-data_ov014_02157b38 kind:data(any) addr:0x2157b38
-data_ov014_02157bf8 kind:data(any) addr:0x2157bf8
-data_ov014_02157cb8 kind:data(any) addr:0x2157cb8
+@570 kind:data(any) addr:0x21578b0 local
+@569 kind:data(any) addr:0x21578b4 local
+@568 kind:data(any) addr:0x21578b8 local
+@567 kind:data(any) addr:0x21578bc local
+@566 kind:data(any) addr:0x21578c0 local
+@565 kind:data(any) addr:0x21578c4 local
+@564 kind:data(any) addr:0x21578c8 local
+@563 kind:data(any) addr:0x21578cc local
+sShipTypes kind:data(any) addr:0x21578d0 local
+_ZTV9ActorLSTM kind:data(any) addr:0x21578f0
+_ZTV15ActorRefillTime kind:data(any) addr:0x21579b0
+_ZTV17ActorRefillArrows kind:data(any) addr:0x2157a70
+_ZTV19ActorRefillBombchus kind:data(any) addr:0x2157b30
+_ZTV16ActorRefillBombs kind:data(any) addr:0x2157bf0
+_ZTV11ActorRefill kind:data(any) addr:0x2157cb0
data_ov014_02157d70 kind:data(any) addr:0x2157d70
data_ov014_02157d7c kind:data(any) addr:0x2157d7c
data_ov014_02157d88 kind:data(any) addr:0x2157d88
@@ -2195,16 +2196,16 @@ data_ov014_0215af6c kind:bss addr:0x215af6c
data_ov014_0215af74 kind:bss addr:0x215af74
data_ov014_0215af80 kind:bss addr:0x215af80
data_ov014_0215af88 kind:bss addr:0x215af88
-data_ov014_0215af94 kind:bss addr:0x215af94
-data_ov014_0215afa0 kind:bss addr:0x215afa0
-data_ov014_0215afb4 kind:bss addr:0x215afb4
-data_ov014_0215afc0 kind:bss addr:0x215afc0
-data_ov014_0215afd4 kind:bss addr:0x215afd4
-data_ov014_0215afe0 kind:bss addr:0x215afe0
-data_ov014_0215aff4 kind:bss addr:0x215aff4
-data_ov014_0215b000 kind:bss addr:0x215b000
-data_ov014_0215b014 kind:bss addr:0x215b014
-data_ov014_0215b020 kind:bss addr:0x215b020
+@363 kind:bss addr:0x215af94 local
+_ZN16ActorRefillBombs5gTypeE kind:bss addr:0x215afa0
+@361 kind:bss addr:0x215afb4 local
+_ZN19ActorRefillBombchus5gTypeE kind:bss addr:0x215afc0
+@364 kind:bss addr:0x215afd4 local
+_ZN17ActorRefillArrows5gTypeE kind:bss addr:0x215afe0
+@360 kind:bss addr:0x215aff4 local
+_ZN15ActorRefillTime5gTypeE kind:bss addr:0x215b000
+@362 kind:bss addr:0x215b014 local
+_ZN9ActorLSTM5gTypeE kind:bss addr:0x215b020
data_ov014_0215b034 kind:bss addr:0x215b034
data_ov014_0215b040 kind:bss addr:0x215b040
data_ov014_0215b054 kind:bss addr:0x215b054
diff --git a/config/eur/arm9/overlays/ov015/delinks.txt b/config/eur/arm9/overlays/ov015/delinks.txt
index 67672a0b..60df5596 100644
--- a/config/eur/arm9/overlays/ov015/delinks.txt
+++ b/config/eur/arm9/overlays/ov015/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0211f640 end:0x02185b1c kind:code align:32
- .rodata start:0x02185b1c end:0x02187384 kind:data align:4
+ .rodata start:0x02185b1c end:0x02187384 kind:rodata align:4
.init start:0x02187384 end:0x021892d0 kind:code align:4
- .ctor start:0x021892d0 end:0x02189420 kind:data align:4
+ .ctor start:0x021892d0 end:0x02189420 kind:rodata align:4
.data start:0x02189420 end:0x0218ebe0 kind:data align:32
.bss start:0x0218ebe0 end:0x021904a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov015/symbols.txt b/config/eur/arm9/overlays/ov015/symbols.txt
index 710f83b9..325923f3 100644
--- a/config/eur/arm9/overlays/ov015/symbols.txt
+++ b/config/eur/arm9/overlays/ov015/symbols.txt
@@ -613,7 +613,7 @@ func_ov015_0213cc98 kind:function(arm,size=0x14) addr:0x213cc98
func_ov015_0213ccac kind:function(arm,size=0x38) addr:0x213ccac
func_ov015_0213cce4 kind:function(arm,size=0x78) addr:0x213cce4
func_ov015_0213cd5c kind:function(arm,size=0xf0) addr:0x213cd5c
-func_ov015_0213ce4c kind:function(arm,size=0x10) addr:0x213ce4c
+_ZN24UnkStruct_ov015_0213ce4c11GetInstanceEv kind:function(arm,size=0x10) addr:0x213ce4c
func_ov015_0213ce5c kind:function(arm,size=0xb4) addr:0x213ce5c
func_ov015_0213cf10 kind:function(arm,size=0x20) addr:0x213cf10
func_ov015_0213cf30 kind:function(arm,size=0x48) addr:0x213cf30
@@ -640,8 +640,8 @@ func_ov015_0213d87c kind:function(arm,size=0x28c) addr:0x213d87c
func_ov015_0213db08 kind:function(arm,size=0xb0) addr:0x213db08
func_ov015_0213dbb8 kind:function(arm,size=0xb0) addr:0x213dbb8
func_ov015_0213dc68 kind:function(arm,size=0x48) addr:0x213dc68
-func_ov015_0213dcb0 kind:function(arm,size=0x8) addr:0x213dcb0
-func_ov015_0213dcb8 kind:function(arm,size=0x8) addr:0x213dcb8
+_ZN24UnkStruct_ov015_0213ce4c8GetUnk3fEv kind:function(arm,size=0x8) addr:0x213dcb0
+_ZN24UnkStruct_ov015_0213ce4c8GetUnk40Ev kind:function(arm,size=0x8) addr:0x213dcb8
func_ov015_0213dcc0 kind:function(arm,size=0x4) addr:0x213dcc0
func_ov015_0213dcc4 kind:function(arm,size=0x8c) addr:0x213dcc4
func_ov015_0213dd50 kind:function(arm,size=0x24) addr:0x213dd50
diff --git a/config/eur/arm9/overlays/ov016/delinks.txt b/config/eur/arm9/overlays/ov016/delinks.txt
index 8c4b2e68..5ab20a36 100644
--- a/config/eur/arm9/overlays/ov016/delinks.txt
+++ b/config/eur/arm9/overlays/ov016/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x0211f640 end:0x02120134 kind:code align:32
- .rodata start:0x02120134 end:0x02120150 kind:data align:4
- .ctor start:0x02120150 end:0x02120154 kind:data align:4
+ .rodata start:0x02120134 end:0x02120150 kind:rodata align:4
+ .ctor start:0x02120150 end:0x02120154 kind:rodata align:4
.data start:0x02120160 end:0x021201a0 kind:data align:32
.bss start:0x021201a0 end:0x021201a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov017/delinks.txt b/config/eur/arm9/overlays/ov017/delinks.txt
index b91c64bb..4c6e3c89 100644
--- a/config/eur/arm9/overlays/ov017/delinks.txt
+++ b/config/eur/arm9/overlays/ov017/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0215b4a0 end:0x0216b098 kind:code align:32
- .rodata start:0x0216b098 end:0x0216b2c4 kind:data align:4
+ .rodata start:0x0216b098 end:0x0216b2c4 kind:rodata align:4
.init start:0x0216b2c4 end:0x0216b964 kind:code align:4
- .ctor start:0x0216b964 end:0x0216b9d4 kind:data align:4
+ .ctor start:0x0216b964 end:0x0216b9d4 kind:rodata align:4
.data start:0x0216b9e0 end:0x0216cea0 kind:data align:32
.bss start:0x0216cea0 end:0x0216d120 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov018/delinks.txt b/config/eur/arm9/overlays/ov018/delinks.txt
index 7c6e4a27..cd18e2d7 100644
--- a/config/eur/arm9/overlays/ov018/delinks.txt
+++ b/config/eur/arm9/overlays/ov018/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0215b4a0 end:0x0216b42c kind:code align:32
- .rodata start:0x0216b42c end:0x0216b780 kind:data align:4
+ .rodata start:0x0216b42c end:0x0216b780 kind:rodata align:4
.init start:0x0216b780 end:0x0216c04c kind:code align:4
- .ctor start:0x0216c04c end:0x0216c0ac kind:data align:4
+ .ctor start:0x0216c04c end:0x0216c0ac kind:rodata align:4
.data start:0x0216c0c0 end:0x0216d440 kind:data align:32
.bss start:0x0216d440 end:0x0216d6a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov018/symbols.txt b/config/eur/arm9/overlays/ov018/symbols.txt
index e5840916..605800d5 100644
--- a/config/eur/arm9/overlays/ov018/symbols.txt
+++ b/config/eur/arm9/overlays/ov018/symbols.txt
@@ -1,39 +1,39 @@
-func_ov018_0215b4a0 kind:function(arm,size=0x1ac) addr:0x215b4a0
-func_ov018_0215b64c kind:function(arm,size=0x10c) addr:0x215b64c
-func_ov018_0215b758 kind:function(arm,size=0x114) addr:0x215b758
-func_ov018_0215b86c kind:function(arm,size=0x518) addr:0x215b86c
-func_ov018_0215bd84 kind:function(arm,size=0x134) addr:0x215bd84
-func_ov018_0215beb8 kind:function(arm,size=0x110) addr:0x215beb8
-func_ov018_0215bfc8 kind:function(arm,size=0x17c) addr:0x215bfc8
-func_ov018_0215c144 kind:function(arm,size=0x84) addr:0x215c144
-func_ov018_0215c1c8 kind:function(arm,size=0xb4) addr:0x215c1c8
-func_ov018_0215c27c kind:function(arm,size=0x8) addr:0x215c27c
-func_ov018_0215c284 kind:function(arm,size=0xc) addr:0x215c284
-func_ov018_0215c290 kind:function(arm,size=0x20) addr:0x215c290
-func_ov018_0215c2b0 kind:function(arm,size=0x30) addr:0x215c2b0
-func_ov018_0215c2e0 kind:function(arm,size=0x20) addr:0x215c2e0
-func_ov018_0215c300 kind:function(arm,size=0x2c) addr:0x215c300
-func_ov018_0215c32c kind:function(arm,size=0x20) addr:0x215c32c
-func_ov018_0215c34c kind:function(arm,size=0x1c) addr:0x215c34c
-func_ov018_0215c368 kind:function(arm,size=0x18) addr:0x215c368
-func_ov018_0215c380 kind:function(arm,size=0x20) addr:0x215c380
-func_ov018_0215c3a0 kind:function(arm,size=0x20) addr:0x215c3a0
-func_ov018_0215c3c0 kind:function(arm,size=0x68) addr:0x215c3c0
-func_ov018_0215c428 kind:function(arm,size=0x20) addr:0x215c428
-func_ov018_0215c448 kind:function(arm,size=0x18) addr:0x215c448
-func_ov018_0215c460 kind:function(arm,size=0x164) addr:0x215c460
-func_ov018_0215c5c4 kind:function(arm,size=0x44) addr:0x215c5c4
-func_ov018_0215c608 kind:function(arm,size=0x48) addr:0x215c608
-func_ov018_0215c650 kind:function(arm,size=0x5c) addr:0x215c650
-func_ov018_0215c6ac kind:function(arm,size=0x24) addr:0x215c6ac
-func_ov018_0215c6d0 kind:function(arm,size=0x24c) addr:0x215c6d0
-func_ov018_0215c91c kind:function(arm,size=0x48) addr:0x215c91c
-func_ov018_0215c964 kind:function(arm,size=0x48) addr:0x215c964
-func_ov018_0215c9ac kind:function(arm,size=0x78) addr:0x215c9ac
-func_ov018_0215ca24 kind:function(arm,size=0x18) addr:0x215ca24
-func_ov018_0215ca3c kind:function(arm,size=0x50) addr:0x215ca3c
-func_ov018_0215ca8c kind:function(arm,size=0x18) addr:0x215ca8c
-func_ov018_0215caa4 kind:function(arm,size=0x8) addr:0x215caa4
+_ZN12MapOverworldC2Ejj kind:function(arm,size=0x1ac) addr:0x215b4a0
+_ZN12MapOverworldD1Ev kind:function(arm,size=0x10c) addr:0x215b64c
+_ZN12MapOverworldD0Ev kind:function(arm,size=0x114) addr:0x215b758
+_ZN12MapOverworld8vfunc_08EjjP6Course kind:function(arm,size=0x518) addr:0x215b86c
+_ZN12MapOverworld8vfunc_14Ev kind:function(arm,size=0x134) addr:0x215bd84
+_ZN12MapOverworld8vfunc_1cEb kind:function(arm,size=0x110) addr:0x215beb8
+_ZN12MapOverworld19func_ov018_0215bfc8Ev kind:function(arm,size=0x17c) addr:0x215bfc8
+_ZN12MapOverworld8vfunc_20Ei kind:function(arm,size=0x84) addr:0x215c144
+_ZN12MapOverworld8vfunc_2cEv kind:function(arm,size=0xb4) addr:0x215c1c8
+_ZN12MapOverworld8vfunc_94Ev kind:function(arm,size=0x8) addr:0x215c27c
+_ZN12MapOverworld8vfunc_a4Ev kind:function(arm,size=0xc) addr:0x215c284
+_ZN12MapOverworld8vfunc_54Ev kind:function(arm,size=0x20) addr:0x215c290
+_ZN12MapOverworld8vfunc_58Ev kind:function(arm,size=0x30) addr:0x215c2b0
+_ZN12MapOverworld8vfunc_5cEv kind:function(arm,size=0x20) addr:0x215c2e0
+_ZN12MapOverworld8vfunc_60Ev kind:function(arm,size=0x2c) addr:0x215c300
+_ZN12MapOverworld8vfunc_64Ev kind:function(arm,size=0x20) addr:0x215c32c
+_ZN12MapOverworld19func_ov018_0215c34cEv kind:function(arm,size=0x1c) addr:0x215c34c
+_ZN12MapOverworld19func_ov018_0215c368Ev kind:function(arm,size=0x18) addr:0x215c368
+_ZN12MapOverworld19func_ov018_0215c380EPh kind:function(arm,size=0x20) addr:0x215c380
+_ZN12MapOverworld8vfunc_bcEv kind:function(arm,size=0x20) addr:0x215c3a0
+_ZN12MapOverworld8vfunc_98Ev kind:function(arm,size=0x68) addr:0x215c3c0
+_ZN12MapOverworld8vfunc_c0Ev kind:function(arm,size=0x20) addr:0x215c428
+_ZN12MapOverworld8vfunc_78Ev kind:function(arm,size=0x18) addr:0x215c448
+_ZN12MapOverworld8vfunc_7cEv kind:function(arm,size=0x164) addr:0x215c460
+_ZN12MapOverworld8vfunc_80Ev kind:function(arm,size=0x44) addr:0x215c5c4
+_ZN12MapOverworld8vfunc_b0Eii kind:function(arm,size=0x48) addr:0x215c608
+_ZN12MapOverworld19func_ov018_0215c650Ev kind:function(arm,size=0x5c) addr:0x215c650
+_ZN12MapOverworld19func_ov018_0215c6acEv kind:function(arm,size=0x24) addr:0x215c6ac
+_ZN12MapOverworld19func_ov018_0215c6d0Ev kind:function(arm,size=0x24c) addr:0x215c6d0
+_ZN17MapOverworld_Unk1C2EjPhi kind:function(arm,size=0x48) addr:0x215c91c
+_ZN17MapOverworld_Unk1C1EjPhi kind:function(arm,size=0x48) addr:0x215c964
+_ZN12MapOverworld19func_ov018_0215c9acEv kind:function(arm,size=0x78) addr:0x215c9ac
+_Z19func_ov018_0215ca24i kind:function(arm,size=0x18) addr:0x215ca24
+_Z19func_ov018_0215ca3ciiii kind:function(arm,size=0x50) addr:0x215ca3c
+_Z19func_ov018_0215ca8ci kind:function(arm,size=0x18) addr:0x215ca8c
+_ZN12MapOverworld8vfunc_4cEv kind:function(arm,size=0x8) addr:0x215caa4
func_ov018_0215caac kind:function(arm,size=0x7c) addr:0x215caac
func_ov018_0215cb28 kind:function(arm,size=0x4c) addr:0x215cb28
func_ov018_0215cb74 kind:function(arm,size=0xcc) addr:0x215cb74
@@ -514,7 +514,7 @@ __sinit_ov018_0216bf54 kind:function(arm,size=0x38) addr:0x216bf54
__sinit_ov018_0216bf8c kind:function(arm,size=0x80) addr:0x216bf8c
__sinit_ov018_0216c00c kind:function(arm,size=0x40) addr:0x216c00c
data_ov018_0216c0c0 kind:data(any) addr:0x216c0c0
-data_ov018_0216c0e0 kind:data(any) addr:0x216c0e0
+_ZTV12MapOverworld kind:data(any) addr:0x216c0e0
data_ov018_0216c1a4 kind:data(any) addr:0x216c1a4
data_ov018_0216c1a8 kind:data(any) addr:0x216c1a8
data_ov018_0216c1bc kind:data(any) addr:0x216c1bc
diff --git a/config/eur/arm9/overlays/ov019/delinks.txt b/config/eur/arm9/overlays/ov019/delinks.txt
index c5693aaa..d8d542da 100644
--- a/config/eur/arm9/overlays/ov019/delinks.txt
+++ b/config/eur/arm9/overlays/ov019/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02175c50 kind:code align:32
- .rodata start:0x02175c50 end:0x02175f04 kind:data align:4
+ .rodata start:0x02175c50 end:0x02175f04 kind:rodata align:4
.init start:0x02175f04 end:0x021762d4 kind:code align:4
- .ctor start:0x021762d4 end:0x021762fc kind:data align:4
+ .ctor start:0x021762d4 end:0x021762fc kind:rodata align:4
.data start:0x02176300 end:0x02176e80 kind:data align:32
.bss start:0x02176e80 end:0x02177680 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov020/delinks.txt b/config/eur/arm9/overlays/ov020/delinks.txt
index 10bd7e54..3d4742f0 100644
--- a/config/eur/arm9/overlays/ov020/delinks.txt
+++ b/config/eur/arm9/overlays/ov020/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02177868 kind:code align:32
- .rodata start:0x02177868 end:0x02177af4 kind:data align:4
+ .rodata start:0x02177868 end:0x02177af4 kind:rodata align:4
.init start:0x02177af4 end:0x02178298 kind:code align:4
- .ctor start:0x02178298 end:0x021782e0 kind:data align:4
+ .ctor start:0x02178298 end:0x021782e0 kind:rodata align:4
.data start:0x021782e0 end:0x02179500 kind:data align:32
.bss start:0x02179500 end:0x02179740 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov021/delinks.txt b/config/eur/arm9/overlays/ov021/delinks.txt
index 6402c9ca..3eb325b9 100644
--- a/config/eur/arm9/overlays/ov021/delinks.txt
+++ b/config/eur/arm9/overlays/ov021/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02170bd4 kind:code align:32
- .rodata start:0x02170bd4 end:0x02170cec kind:data align:4
+ .rodata start:0x02170bd4 end:0x02170cec kind:rodata align:4
.init start:0x02170cec end:0x02170f64 kind:code align:4
- .ctor start:0x02170f64 end:0x02170f84 kind:data align:4
+ .ctor start:0x02170f64 end:0x02170f84 kind:rodata align:4
.data start:0x02170fa0 end:0x02171ae0 kind:data align:32
.bss start:0x02171ae0 end:0x02171cc0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov022/delinks.txt b/config/eur/arm9/overlays/ov022/delinks.txt
index cde2c294..58ef429a 100644
--- a/config/eur/arm9/overlays/ov022/delinks.txt
+++ b/config/eur/arm9/overlays/ov022/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x021785b8 kind:code align:32
- .rodata start:0x021785b8 end:0x021789c8 kind:data align:4
+ .rodata start:0x021785b8 end:0x021789c8 kind:rodata align:4
.init start:0x021789c8 end:0x02178ff4 kind:code align:4
- .ctor start:0x02178ff4 end:0x0217903c kind:data align:4
+ .ctor start:0x02178ff4 end:0x0217903c kind:rodata align:4
.data start:0x02179040 end:0x0217a400 kind:data align:32
.bss start:0x0217a400 end:0x0217a640 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov023/delinks.txt b/config/eur/arm9/overlays/ov023/delinks.txt
index ad04c7fa..5edf281b 100644
--- a/config/eur/arm9/overlays/ov023/delinks.txt
+++ b/config/eur/arm9/overlays/ov023/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02179030 kind:code align:32
- .rodata start:0x02179030 end:0x02179698 kind:data align:4
+ .rodata start:0x02179030 end:0x02179698 kind:rodata align:4
.init start:0x02179698 end:0x02179ce0 kind:code align:4
- .ctor start:0x02179ce0 end:0x02179d18 kind:data align:4
+ .ctor start:0x02179ce0 end:0x02179d18 kind:rodata align:4
.data start:0x02179d20 end:0x0217ab60 kind:data align:32
.bss start:0x0217ab60 end:0x0217ad80 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov024/delinks.txt b/config/eur/arm9/overlays/ov024/delinks.txt
index ed85c2d1..68d1e512 100644
--- a/config/eur/arm9/overlays/ov024/delinks.txt
+++ b/config/eur/arm9/overlays/ov024/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x021791d4 kind:code align:32
- .rodata start:0x021791d4 end:0x021795d0 kind:data align:4
+ .rodata start:0x021791d4 end:0x021795d0 kind:rodata align:4
.init start:0x021795d0 end:0x02179e1c kind:code align:4
- .ctor start:0x02179e1c end:0x02179e5c kind:data align:4
+ .ctor start:0x02179e1c end:0x02179e5c kind:rodata align:4
.data start:0x02179e60 end:0x0217af60 kind:data align:32
.bss start:0x0217af60 end:0x0217b160 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov024/symbols.txt b/config/eur/arm9/overlays/ov024/symbols.txt
index bca88683..1cd13f2a 100644
--- a/config/eur/arm9/overlays/ov024/symbols.txt
+++ b/config/eur/arm9/overlays/ov024/symbols.txt
@@ -286,7 +286,7 @@ func_ov024_02178204 kind:function(arm,size=0x30) addr:0x2178204
func_ov024_02178234 kind:function(arm,size=0xec) addr:0x2178234
func_ov024_02178320 kind:function(arm,size=0x20) addr:0x2178320
func_ov024_02178340 kind:function(arm,size=0x8) addr:0x2178340
-func_ov024_02178348 kind:function(arm,size=0x358) addr:0x2178348
+_ZN13PlayerControl19func_ov024_02178348EP5Vec3p kind:function(arm,size=0x358) addr:0x2178348
func_ov024_021786a0 kind:function(arm,size=0x10) addr:0x21786a0
func_ov024_021786b0 kind:function(arm,size=0x30) addr:0x21786b0
func_ov024_021786e0 kind:function(arm,size=0x20) addr:0x21786e0
diff --git a/config/eur/arm9/overlays/ov025/delinks.txt b/config/eur/arm9/overlays/ov025/delinks.txt
index 4426b815..df4aadeb 100644
--- a/config/eur/arm9/overlays/ov025/delinks.txt
+++ b/config/eur/arm9/overlays/ov025/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x0217933c kind:code align:32
- .rodata start:0x0217933c end:0x02179680 kind:data align:4
+ .rodata start:0x0217933c end:0x02179680 kind:rodata align:4
.init start:0x02179680 end:0x02179b98 kind:code align:4
- .ctor start:0x02179b98 end:0x02179bc8 kind:data align:4
+ .ctor start:0x02179b98 end:0x02179bc8 kind:rodata align:4
.data start:0x02179be0 end:0x0217a880 kind:data align:32
.bss start:0x0217a880 end:0x0217aa20 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov026/delinks.txt b/config/eur/arm9/overlays/ov026/delinks.txt
index fcbc09d6..fe99e306 100644
--- a/config/eur/arm9/overlays/ov026/delinks.txt
+++ b/config/eur/arm9/overlays/ov026/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02179260 kind:code align:32
- .rodata start:0x02179260 end:0x021797dc kind:data align:4
+ .rodata start:0x02179260 end:0x021797dc kind:rodata align:4
.init start:0x021797dc end:0x0217a020 kind:code align:4
- .ctor start:0x0217a020 end:0x0217a060 kind:data align:4
+ .ctor start:0x0217a020 end:0x0217a060 kind:rodata align:4
.data start:0x0217a060 end:0x0217b2c0 kind:data align:32
.bss start:0x0217b2c0 end:0x0217b5c0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov026/symbols.txt b/config/eur/arm9/overlays/ov026/symbols.txt
index 4488f5f6..314a2918 100644
--- a/config/eur/arm9/overlays/ov026/symbols.txt
+++ b/config/eur/arm9/overlays/ov026/symbols.txt
@@ -179,10 +179,10 @@ func_ov026_02173920 kind:function(arm,size=0x24) addr:0x2173920
func_ov026_02173944 kind:function(arm,size=0x17c) addr:0x2173944
func_ov026_02173ac0 kind:function(arm,size=0x7c) addr:0x2173ac0
func_ov026_02173b3c kind:function(arm,size=0x40) addr:0x2173b3c
-func_ov026_02173b7c kind:function(thumb,size=0x28) addr:0x2173b7c
-func_ov026_02173ba4 kind:function(thumb,size=0x1c) addr:0x2173ba4
+func_ov026_02173b7c kind:function(thumb,size=0x26) addr:0x2173b7c
+func_ov026_02173ba4 kind:function(thumb,size=0x1a) addr:0x2173ba4
func_ov026_02173bc0 kind:function(thumb,size=0x40) addr:0x2173bc0
-func_ov026_02173c00 kind:function(thumb,size=0x1c) addr:0x2173c00
+func_ov026_02173c00 kind:function(thumb,size=0x1a) addr:0x2173c00
func_ov026_02173c1c kind:function(thumb,size=0x18) addr:0x2173c1c
func_ov026_02173c34 kind:function(thumb,size=0x18) addr:0x2173c34
func_ov026_02173c4c kind:function(thumb,size=0xc) addr:0x2173c4c
@@ -258,8 +258,8 @@ func_ov026_02175f68 kind:function(thumb,size=0x10) addr:0x2175f68
func_ov026_02175f78 kind:function(thumb,size=0x10) addr:0x2175f78
func_ov026_02175f88 kind:function(thumb,size=0x10) addr:0x2175f88
func_ov026_02175f98 kind:function(thumb,size=0x10) addr:0x2175f98
-func_ov026_02175fa8 kind:function(thumb,size=0xc) addr:0x2175fa8
-func_ov026_02175fb4 kind:function(thumb,size=0x4) addr:0x2175fb4
+func_ov026_02175fa8 kind:function(thumb,size=0xa) addr:0x2175fa8
+func_ov026_02175fb4 kind:function(thumb,size=0x2) addr:0x2175fb4
func_ov026_02175fb8 kind:function(arm,size=0xb4) addr:0x2175fb8
func_ov026_0217606c kind:function(arm,size=0xc0) addr:0x217606c
func_ov026_0217612c kind:function(arm,size=0x88) addr:0x217612c
@@ -309,12 +309,12 @@ func_ov026_02177324 kind:function(arm,size=0x60) addr:0x2177324
func_ov026_02177384 kind:function(arm,size=0xa4) addr:0x2177384
func_ov026_02177428 kind:function(arm,size=0x104) addr:0x2177428
func_ov026_0217752c kind:function(thumb,size=0x58) addr:0x217752c
-func_ov026_02177584 kind:function(thumb,size=0x4) addr:0x2177584
+func_ov026_02177584 kind:function(thumb,size=0x2) addr:0x2177584
func_ov026_02177588 kind:function(arm,size=0x28) addr:0x2177588
func_ov026_021775b0 kind:function(thumb,size=0x18) addr:0x21775b0
func_ov026_021775c8 kind:function(arm,size=0x1d4) addr:0x21775c8
func_ov026_0217779c kind:function(arm,size=0xdc) addr:0x217779c
-func_ov026_02177878 kind:function(thumb,size=0x8) addr:0x2177878
+func_ov026_02177878 kind:function(thumb,size=0x6) addr:0x2177878
func_ov026_02177880 kind:function(arm,size=0x68) addr:0x2177880
func_ov026_021778e8 kind:function(arm,size=0xf4) addr:0x21778e8
func_ov026_021779dc kind:function(arm,size=0x30) addr:0x21779dc
diff --git a/config/eur/arm9/overlays/ov027/delinks.txt b/config/eur/arm9/overlays/ov027/delinks.txt
index 7cdc16db..3bd15fdf 100644
--- a/config/eur/arm9/overlays/ov027/delinks.txt
+++ b/config/eur/arm9/overlays/ov027/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02178cfc kind:code align:32
- .rodata start:0x02178cfc end:0x0217913c kind:data align:4
+ .rodata start:0x02178cfc end:0x0217913c kind:rodata align:4
.init start:0x0217913c end:0x02179474 kind:code align:4
- .ctor start:0x02179474 end:0x02179498 kind:data align:4
+ .ctor start:0x02179474 end:0x02179498 kind:rodata align:4
.data start:0x021794a0 end:0x0217a0c0 kind:data align:32
.bss start:0x0217a0c0 end:0x0217a1c0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov028/delinks.txt b/config/eur/arm9/overlays/ov028/delinks.txt
index c82b0263..7a4401e4 100644
--- a/config/eur/arm9/overlays/ov028/delinks.txt
+++ b/config/eur/arm9/overlays/ov028/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x0217807c kind:code align:32
- .rodata start:0x0217807c end:0x02178504 kind:data align:4
+ .rodata start:0x0217807c end:0x02178504 kind:rodata align:4
.init start:0x02178504 end:0x02178894 kind:code align:4
- .ctor start:0x02178894 end:0x021788c8 kind:data align:4
+ .ctor start:0x02178894 end:0x021788c8 kind:rodata align:4
.data start:0x021788e0 end:0x02179b00 kind:data align:32
.bss start:0x02179b00 end:0x02179ce0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov029/delinks.txt b/config/eur/arm9/overlays/ov029/delinks.txt
index 4d29edf6..f067ea1b 100644
--- a/config/eur/arm9/overlays/ov029/delinks.txt
+++ b/config/eur/arm9/overlays/ov029/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d6a0 end:0x02179298 kind:code align:32
- .rodata start:0x02179298 end:0x021794b0 kind:data align:4
+ .rodata start:0x02179298 end:0x021794b0 kind:rodata align:4
.init start:0x021794b0 end:0x02179824 kind:code align:4
- .ctor start:0x02179824 end:0x0217985c kind:data align:4
+ .ctor start:0x02179824 end:0x0217985c kind:rodata align:4
.data start:0x02179860 end:0x0217a4a0 kind:data align:32
.bss start:0x0217a4a0 end:0x0217bd80 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov030/delinks.txt b/config/eur/arm9/overlays/ov030/delinks.txt
index 1f43f935..4ab40a5e 100644
--- a/config/eur/arm9/overlays/ov030/delinks.txt
+++ b/config/eur/arm9/overlays/ov030/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x021885d4 kind:code align:32
- .rodata start:0x021885d4 end:0x02188824 kind:data align:4
+ .rodata start:0x021885d4 end:0x02188824 kind:rodata align:4
.init start:0x02188824 end:0x02188a2c kind:code align:4
- .ctor start:0x02188a2c end:0x02188a38 kind:data align:4
+ .ctor start:0x02188a2c end:0x02188a38 kind:rodata align:4
.data start:0x02188a40 end:0x021894a0 kind:data align:32
.bss start:0x021894a0 end:0x02189560 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov030/symbols.txt b/config/eur/arm9/overlays/ov030/symbols.txt
index a08d98fd..e162f14c 100644
--- a/config/eur/arm9/overlays/ov030/symbols.txt
+++ b/config/eur/arm9/overlays/ov030/symbols.txt
@@ -218,9 +218,9 @@ func_ov030_021840b0 kind:function(arm,size=0x34) addr:0x21840b0
func_ov030_021840e4 kind:function(arm,size=0x8) addr:0x21840e4
func_ov030_021840ec kind:function(arm,size=0x30) addr:0x21840ec
func_ov030_0218411c kind:function(arm,size=0x1f4) addr:0x218411c
-func_ov030_02184310 kind:function(thumb,size=0x58) addr:0x2184310
-func_ov030_02184368 kind:function(thumb,size=0x5c) addr:0x2184368
-func_ov030_021843c4 kind:function(thumb,size=0x28) addr:0x21843c4
+func_ov030_02184310 kind:function(thumb,size=0x56) addr:0x2184310
+func_ov030_02184368 kind:function(thumb,size=0x5a) addr:0x2184368
+func_ov030_021843c4 kind:function(thumb,size=0x26) addr:0x21843c4
func_ov030_021843ec kind:function(thumb,size=0x168) addr:0x21843ec
func_ov030_02184554 kind:function(thumb,size=0xec) addr:0x2184554
func_ov030_02184640 kind:function(thumb,size=0xf8) addr:0x2184640
diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt
index 4f9880d0..6e0c2bbe 100644
--- a/config/eur/arm9/overlays/ov031/delinks.txt
+++ b/config/eur/arm9/overlays/ov031/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x021818a0 kind:code align:32
- .rodata start:0x021818a0 end:0x02181b6c kind:data align:4
+ .rodata start:0x021818a0 end:0x02181b6c kind:rodata align:4
.init start:0x02181b6c end:0x02182080 kind:code align:4
- .ctor start:0x02182080 end:0x02182094 kind:data align:4
+ .ctor start:0x02182080 end:0x02182094 kind:rodata align:4
.data start:0x021820a0 end:0x02183e80 kind:data align:32
.bss start:0x02183e80 end:0x02184200 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov032/delinks.txt b/config/eur/arm9/overlays/ov032/delinks.txt
index 2ca78f8f..4937f85c 100644
--- a/config/eur/arm9/overlays/ov032/delinks.txt
+++ b/config/eur/arm9/overlays/ov032/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02184ba8 kind:code align:32
- .rodata start:0x02184ba8 end:0x02184d3c kind:data align:4
+ .rodata start:0x02184ba8 end:0x02184d3c kind:rodata align:4
.init start:0x02184d3c end:0x021853c8 kind:code align:4
- .ctor start:0x021853c8 end:0x021853ec kind:data align:4
+ .ctor start:0x021853c8 end:0x021853ec kind:rodata align:4
.data start:0x02185400 end:0x021861e0 kind:data align:32
.bss start:0x021861e0 end:0x02186320 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov033/delinks.txt b/config/eur/arm9/overlays/ov033/delinks.txt
index c8391dfd..5c38ed26 100644
--- a/config/eur/arm9/overlays/ov033/delinks.txt
+++ b/config/eur/arm9/overlays/ov033/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x0217facc kind:code align:32
- .rodata start:0x0217facc end:0x0217fb90 kind:data align:4
+ .rodata start:0x0217facc end:0x0217fb90 kind:rodata align:4
.init start:0x0217fb90 end:0x0217fe94 kind:code align:4
- .ctor start:0x0217fe94 end:0x0217feac kind:data align:4
+ .ctor start:0x0217fe94 end:0x0217feac kind:rodata align:4
.data start:0x0217fec0 end:0x02180580 kind:data align:32
.bss start:0x02180580 end:0x02180640 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov034/delinks.txt b/config/eur/arm9/overlays/ov034/delinks.txt
index 3ea2d481..d1364a8b 100644
--- a/config/eur/arm9/overlays/ov034/delinks.txt
+++ b/config/eur/arm9/overlays/ov034/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02185740 kind:code align:32
- .rodata start:0x02185740 end:0x02185818 kind:data align:4
+ .rodata start:0x02185740 end:0x02185818 kind:rodata align:4
.init start:0x02185818 end:0x02185a64 kind:code align:4
- .ctor start:0x02185a64 end:0x02185a74 kind:data align:4
+ .ctor start:0x02185a64 end:0x02185a74 kind:rodata align:4
.data start:0x02185a80 end:0x021861a0 kind:data align:32
.bss start:0x021861a0 end:0x021863c0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov035/delinks.txt b/config/eur/arm9/overlays/ov035/delinks.txt
index 4fcb63a7..776671d5 100644
--- a/config/eur/arm9/overlays/ov035/delinks.txt
+++ b/config/eur/arm9/overlays/ov035/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x0218512c kind:code align:32
- .rodata start:0x0218512c end:0x02185668 kind:data align:4
+ .rodata start:0x0218512c end:0x02185668 kind:rodata align:4
.init start:0x02185668 end:0x02185900 kind:code align:4
- .ctor start:0x02185900 end:0x02185914 kind:data align:4
+ .ctor start:0x02185900 end:0x02185914 kind:rodata align:4
.data start:0x02185920 end:0x02185ec0 kind:data align:32
.bss start:0x02185ec0 end:0x02187020 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov036/delinks.txt b/config/eur/arm9/overlays/ov036/delinks.txt
index 3d0a7186..c310fd44 100644
--- a/config/eur/arm9/overlays/ov036/delinks.txt
+++ b/config/eur/arm9/overlays/ov036/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02186698 kind:code align:32
- .rodata start:0x02186698 end:0x02186bb4 kind:data align:4
+ .rodata start:0x02186698 end:0x02186bb4 kind:rodata align:4
.init start:0x02186bb4 end:0x02186c34 kind:code align:4
- .ctor start:0x02186c34 end:0x02186c40 kind:data align:4
+ .ctor start:0x02186c34 end:0x02186c40 kind:rodata align:4
.data start:0x02186c40 end:0x02186fa0 kind:data align:32
.bss start:0x02186fa0 end:0x02186fe0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov037/delinks.txt b/config/eur/arm9/overlays/ov037/delinks.txt
index a679b136..62529715 100644
--- a/config/eur/arm9/overlays/ov037/delinks.txt
+++ b/config/eur/arm9/overlays/ov037/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02187dc8 kind:code align:32
- .rodata start:0x02187dc8 end:0x02188690 kind:data align:4
+ .rodata start:0x02187dc8 end:0x02188690 kind:rodata align:4
.init start:0x02188690 end:0x021889b4 kind:code align:4
- .ctor start:0x021889b4 end:0x021889cc kind:data align:4
+ .ctor start:0x021889b4 end:0x021889cc kind:rodata align:4
.data start:0x021889e0 end:0x02189160 kind:data align:32
.bss start:0x02189160 end:0x02189240 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov038/delinks.txt b/config/eur/arm9/overlays/ov038/delinks.txt
index 5cca0d2c..44c4aca1 100644
--- a/config/eur/arm9/overlays/ov038/delinks.txt
+++ b/config/eur/arm9/overlays/ov038/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02188908 kind:code align:32
- .rodata start:0x02188908 end:0x02188ae4 kind:data align:4
+ .rodata start:0x02188908 end:0x02188ae4 kind:rodata align:4
.init start:0x02188ae4 end:0x02188c60 kind:code align:4
- .ctor start:0x02188c60 end:0x02188c6c kind:data align:4
+ .ctor start:0x02188c60 end:0x02188c6c kind:rodata align:4
.data start:0x02188c80 end:0x021891e0 kind:data align:32
.bss start:0x021891e0 end:0x021894a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov039/delinks.txt b/config/eur/arm9/overlays/ov039/delinks.txt
index 87fd8241..9463b213 100644
--- a/config/eur/arm9/overlays/ov039/delinks.txt
+++ b/config/eur/arm9/overlays/ov039/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02186124 kind:code align:32
- .rodata start:0x02186124 end:0x02186968 kind:data align:4
+ .rodata start:0x02186124 end:0x02186968 kind:rodata align:4
.init start:0x02186968 end:0x021869bc kind:code align:4
- .ctor start:0x021869bc end:0x021869c4 kind:data align:4
+ .ctor start:0x021869bc end:0x021869c4 kind:rodata align:4
.data start:0x021869e0 end:0x02186cc0 kind:data align:32
.bss start:0x02186cc0 end:0x02186d00 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov040/delinks.txt b/config/eur/arm9/overlays/ov040/delinks.txt
index d716794f..0d19381b 100644
--- a/config/eur/arm9/overlays/ov040/delinks.txt
+++ b/config/eur/arm9/overlays/ov040/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bd80 end:0x02187ffc kind:code align:32
- .rodata start:0x02187ffc end:0x02188360 kind:data align:4
+ .rodata start:0x02187ffc end:0x02188360 kind:rodata align:4
.init start:0x02188360 end:0x02188604 kind:code align:4
- .ctor start:0x02188604 end:0x02188630 kind:data align:4
+ .ctor start:0x02188604 end:0x02188630 kind:rodata align:4
.data start:0x02188640 end:0x02189ac0 kind:data align:32
.bss start:0x02189ac0 end:0x0219a1a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov041/delinks.txt b/config/eur/arm9/overlays/ov041/delinks.txt
index b4d097d7..b3c949d8 100644
--- a/config/eur/arm9/overlays/ov041/delinks.txt
+++ b/config/eur/arm9/overlays/ov041/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02189560 end:0x0218dec4 kind:code align:32
- .rodata start:0x0218dec4 end:0x0218e098 kind:data align:4
+ .rodata start:0x0218dec4 end:0x0218e098 kind:rodata align:4
.init start:0x0218e098 end:0x0218e30c kind:code align:4
- .ctor start:0x0218e30c end:0x0218e328 kind:data align:4
+ .ctor start:0x0218e30c end:0x0218e328 kind:rodata align:4
.data start:0x0218e340 end:0x0218ea80 kind:data align:32
.bss start:0x0218ea80 end:0x0218eb60 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov042/delinks.txt b/config/eur/arm9/overlays/ov042/delinks.txt
index 07530a75..744eb0ca 100644
--- a/config/eur/arm9/overlays/ov042/delinks.txt
+++ b/config/eur/arm9/overlays/ov042/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02189560 end:0x0218c6f4 kind:code align:32
- .rodata start:0x0218c6f4 end:0x0218c744 kind:data align:4
+ .rodata start:0x0218c6f4 end:0x0218c744 kind:rodata align:4
.init start:0x0218c744 end:0x0218c7f8 kind:code align:4
- .ctor start:0x0218c7f8 end:0x0218c804 kind:data align:4
+ .ctor start:0x0218c7f8 end:0x0218c804 kind:rodata align:4
.data start:0x0218c820 end:0x0218cd20 kind:data align:32
.bss start:0x0218cd20 end:0x0218cda0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov043/delinks.txt b/config/eur/arm9/overlays/ov043/delinks.txt
index 7ddd6d6d..69562b42 100644
--- a/config/eur/arm9/overlays/ov043/delinks.txt
+++ b/config/eur/arm9/overlays/ov043/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02189560 end:0x0218d340 kind:code align:32
- .rodata start:0x0218d340 end:0x0218d414 kind:data align:4
+ .rodata start:0x0218d340 end:0x0218d414 kind:rodata align:4
.init start:0x0218d414 end:0x0218d5c0 kind:code align:4
- .ctor start:0x0218d5c0 end:0x0218d5cc kind:data align:4
+ .ctor start:0x0218d5c0 end:0x0218d5cc kind:rodata align:4
.data start:0x0218d5e0 end:0x0218db00 kind:data align:32
.bss start:0x0218db00 end:0x0218db80 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov044/delinks.txt b/config/eur/arm9/overlays/ov044/delinks.txt
index 1f307847..188fb140 100644
--- a/config/eur/arm9/overlays/ov044/delinks.txt
+++ b/config/eur/arm9/overlays/ov044/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02189560 end:0x0218e984 kind:code align:32
- .rodata start:0x0218e984 end:0x0218ea9c kind:data align:4
+ .rodata start:0x0218e984 end:0x0218ea9c kind:rodata align:4
.init start:0x0218ea9c end:0x0218f1cc kind:code align:4
- .ctor start:0x0218f1cc end:0x0218f1f0 kind:data align:4
+ .ctor start:0x0218f1cc end:0x0218f1f0 kind:rodata align:4
.data start:0x0218f200 end:0x0218fee0 kind:data align:32
.bss start:0x0218fee0 end:0x02190040 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov044/symbols.txt b/config/eur/arm9/overlays/ov044/symbols.txt
index 1c661fa5..2c7fb572 100644
--- a/config/eur/arm9/overlays/ov044/symbols.txt
+++ b/config/eur/arm9/overlays/ov044/symbols.txt
@@ -144,7 +144,7 @@ func_ov044_0218e2d4 kind:function(arm,size=0x48) addr:0x218e2d4
func_ov044_0218e31c kind:function(arm,size=0x4) addr:0x218e31c
func_ov044_0218e320 kind:function(arm,size=0x30) addr:0x218e320
func_ov044_0218e350 kind:function(thumb,size=0x38) addr:0x218e350
-func_ov044_0218e388 kind:function(thumb,size=0x40) addr:0x218e388
+func_ov044_0218e388 kind:function(thumb,size=0x3e) addr:0x218e388
func_ov044_0218e3c8 kind:function(arm,size=0x18) addr:0x218e3c8
func_ov044_0218e3e0 kind:function(arm,size=0xc0) addr:0x218e3e0
func_ov044_0218e4a0 kind:function(arm,size=0xf8) addr:0x218e4a0
diff --git a/config/eur/arm9/overlays/ov045/delinks.txt b/config/eur/arm9/overlays/ov045/delinks.txt
index 266968cc..359004dd 100644
--- a/config/eur/arm9/overlays/ov045/delinks.txt
+++ b/config/eur/arm9/overlays/ov045/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02189560 end:0x0218e278 kind:code align:32
- .rodata start:0x0218e278 end:0x0218e3e8 kind:data align:4
+ .rodata start:0x0218e278 end:0x0218e3e8 kind:rodata align:4
.init start:0x0218e3e8 end:0x0218e4a8 kind:code align:4
- .ctor start:0x0218e4a8 end:0x0218e4b8 kind:data align:4
+ .ctor start:0x0218e4a8 end:0x0218e4b8 kind:rodata align:4
.data start:0x0218e4c0 end:0x0218ed80 kind:data align:32
.bss start:0x0218ed80 end:0x0218ee00 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov046/delinks.txt b/config/eur/arm9/overlays/ov046/delinks.txt
index df810b40..aeeafe31 100644
--- a/config/eur/arm9/overlays/ov046/delinks.txt
+++ b/config/eur/arm9/overlays/ov046/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02190040 end:0x021942f4 kind:code align:32
- .rodata start:0x021942f4 end:0x021944ac kind:data align:4
+ .rodata start:0x021942f4 end:0x021944ac kind:rodata align:4
.init start:0x021944ac end:0x0219463c kind:code align:4
- .ctor start:0x0219463c end:0x02194650 kind:data align:4
+ .ctor start:0x0219463c end:0x02194650 kind:rodata align:4
.data start:0x02194660 end:0x02194ba0 kind:data align:32
.bss start:0x02194ba0 end:0x02194ca0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov047/delinks.txt b/config/eur/arm9/overlays/ov047/delinks.txt
index 19a45f1c..608eaf50 100644
--- a/config/eur/arm9/overlays/ov047/delinks.txt
+++ b/config/eur/arm9/overlays/ov047/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02190040 end:0x021941f0 kind:code align:32
- .rodata start:0x021941f0 end:0x021942f0 kind:data align:4
+ .rodata start:0x021941f0 end:0x021942f0 kind:rodata align:4
.init start:0x021942f0 end:0x021944e8 kind:code align:4
- .ctor start:0x021944e8 end:0x021944fc kind:data align:4
+ .ctor start:0x021944e8 end:0x021944fc kind:rodata align:4
.data start:0x02194500 end:0x02194a00 kind:data align:32
.bss start:0x02194a00 end:0x02194aa0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov048/delinks.txt b/config/eur/arm9/overlays/ov048/delinks.txt
index e267f969..bc429bc7 100644
--- a/config/eur/arm9/overlays/ov048/delinks.txt
+++ b/config/eur/arm9/overlays/ov048/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02190040 end:0x0219465c kind:code align:32
- .rodata start:0x0219465c end:0x021946c0 kind:data align:4
+ .rodata start:0x0219465c end:0x021946c0 kind:rodata align:4
.init start:0x021946c0 end:0x02194ad4 kind:code align:4
- .ctor start:0x02194ad4 end:0x02194af0 kind:data align:4
+ .ctor start:0x02194ad4 end:0x02194af0 kind:rodata align:4
.data start:0x02194b00 end:0x02195400 kind:data align:32
.bss start:0x02195400 end:0x02195500 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov048/symbols.txt b/config/eur/arm9/overlays/ov048/symbols.txt
index 7501a41f..676e3a8d 100644
--- a/config/eur/arm9/overlays/ov048/symbols.txt
+++ b/config/eur/arm9/overlays/ov048/symbols.txt
@@ -32,7 +32,7 @@ func_ov048_02190c68 kind:function(thumb,size=0xa8) addr:0x2190c68
func_ov048_02190d10 kind:function(arm,size=0x14) addr:0x2190d10
func_ov048_02190d24 kind:function(thumb,size=0xa8) addr:0x2190d24
func_ov048_02190dcc kind:function(thumb,size=0xac) addr:0x2190dcc
-func_ov048_02190e78 kind:function(thumb,size=0x8) addr:0x2190e78
+func_ov048_02190e78 kind:function(thumb,size=0x6) addr:0x2190e78
func_ov048_02190e80 kind:function(thumb,size=0xec) addr:0x2190e80
func_ov048_02190f6c kind:function(arm,size=0x1b0) addr:0x2190f6c
func_ov048_0219111c kind:function(arm,size=0x24) addr:0x219111c
diff --git a/config/eur/arm9/overlays/ov049/delinks.txt b/config/eur/arm9/overlays/ov049/delinks.txt
index b4fdabac..f15c743c 100644
--- a/config/eur/arm9/overlays/ov049/delinks.txt
+++ b/config/eur/arm9/overlays/ov049/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195500 end:0x021981e0 kind:code align:32
- .rodata start:0x021981e0 end:0x021982c8 kind:data align:4
+ .rodata start:0x021981e0 end:0x021982c8 kind:rodata align:4
.init start:0x021982c8 end:0x02198474 kind:code align:4
- .ctor start:0x02198474 end:0x02198484 kind:data align:4
+ .ctor start:0x02198474 end:0x02198484 kind:rodata align:4
.data start:0x021984a0 end:0x02198920 kind:data align:32
.bss start:0x02198920 end:0x021989a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov050/delinks.txt b/config/eur/arm9/overlays/ov050/delinks.txt
index 7f715155..c2053033 100644
--- a/config/eur/arm9/overlays/ov050/delinks.txt
+++ b/config/eur/arm9/overlays/ov050/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195500 end:0x021987cc kind:code align:32
- .rodata start:0x021987cc end:0x0219882c kind:data align:4
+ .rodata start:0x021987cc end:0x0219882c kind:rodata align:4
.init start:0x0219882c end:0x021989a8 kind:code align:4
- .ctor start:0x021989a8 end:0x021989b4 kind:data align:4
+ .ctor start:0x021989a8 end:0x021989b4 kind:rodata align:4
.data start:0x021989c0 end:0x02198ca0 kind:data align:32
.bss start:0x02198ca0 end:0x02198d00 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov051/delinks.txt b/config/eur/arm9/overlays/ov051/delinks.txt
index d870fbf0..52689ec7 100644
--- a/config/eur/arm9/overlays/ov051/delinks.txt
+++ b/config/eur/arm9/overlays/ov051/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195500 end:0x02198268 kind:code align:32
- .rodata start:0x02198268 end:0x021982a0 kind:data align:4
+ .rodata start:0x02198268 end:0x021982a0 kind:rodata align:4
.init start:0x021982a0 end:0x021984b0 kind:code align:4
- .ctor start:0x021984b0 end:0x021984c8 kind:data align:4
+ .ctor start:0x021984b0 end:0x021984c8 kind:rodata align:4
.data start:0x021984e0 end:0x02198a60 kind:data align:32
.bss start:0x02198a60 end:0x02198b20 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov052/delinks.txt b/config/eur/arm9/overlays/ov052/delinks.txt
index 88e1edf0..6614fab2 100644
--- a/config/eur/arm9/overlays/ov052/delinks.txt
+++ b/config/eur/arm9/overlays/ov052/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195500 end:0x02197888 kind:code align:32
- .rodata start:0x02197888 end:0x021978d4 kind:data align:4
+ .rodata start:0x02197888 end:0x021978d4 kind:rodata align:4
.init start:0x021978d4 end:0x02197954 kind:code align:4
- .ctor start:0x02197954 end:0x02197960 kind:data align:4
+ .ctor start:0x02197954 end:0x02197960 kind:rodata align:4
.data start:0x02197960 end:0x02197c40 kind:data align:32
.bss start:0x02197c40 end:0x02197ca0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov053/delinks.txt b/config/eur/arm9/overlays/ov053/delinks.txt
index 0852c01d..4bc4c519 100644
--- a/config/eur/arm9/overlays/ov053/delinks.txt
+++ b/config/eur/arm9/overlays/ov053/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198d00 end:0x02199fb8 kind:code align:32
- .rodata start:0x02199fb8 end:0x02199fc4 kind:data align:4
+ .rodata start:0x02199fb8 end:0x02199fc4 kind:rodata align:4
.init start:0x02199fc4 end:0x0219a070 kind:code align:4
- .ctor start:0x0219a070 end:0x0219a078 kind:data align:4
+ .ctor start:0x0219a070 end:0x0219a078 kind:rodata align:4
.data start:0x0219a080 end:0x0219a180 kind:data align:32
.bss start:0x0219a180 end:0x0219a6a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov054/delinks.txt b/config/eur/arm9/overlays/ov054/delinks.txt
index 00b36bb6..2f7ed216 100644
--- a/config/eur/arm9/overlays/ov054/delinks.txt
+++ b/config/eur/arm9/overlays/ov054/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198d00 end:0x02199914 kind:code align:32
- .rodata start:0x02199914 end:0x02199924 kind:data align:4
+ .rodata start:0x02199914 end:0x02199924 kind:rodata align:4
.init start:0x02199924 end:0x02199954 kind:code align:4
- .ctor start:0x02199954 end:0x0219995c kind:data align:4
+ .ctor start:0x02199954 end:0x0219995c kind:rodata align:4
.data start:0x02199960 end:0x02199a20 kind:data align:32
.bss start:0x02199a20 end:0x02199aa0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov055/delinks.txt b/config/eur/arm9/overlays/ov055/delinks.txt
index 815d5a56..8eeb83ee 100644
--- a/config/eur/arm9/overlays/ov055/delinks.txt
+++ b/config/eur/arm9/overlays/ov055/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198d00 end:0x021997b0 kind:code align:32
- .rodata start:0x021997b0 end:0x021997ec kind:data align:4
+ .rodata start:0x021997b0 end:0x021997ec kind:rodata align:4
.init start:0x021997ec end:0x0219981c kind:code align:4
- .ctor start:0x0219981c end:0x02199824 kind:data align:4
+ .ctor start:0x0219981c end:0x02199824 kind:rodata align:4
.data start:0x02199840 end:0x021998a0 kind:data align:32
.bss start:0x021998a0 end:0x02199920 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov056/delinks.txt b/config/eur/arm9/overlays/ov056/delinks.txt
index 04bb0a92..20159d47 100644
--- a/config/eur/arm9/overlays/ov056/delinks.txt
+++ b/config/eur/arm9/overlays/ov056/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198d00 end:0x0219931c kind:code align:32
- .rodata start:0x0219931c end:0x02199328 kind:data align:4
+ .rodata start:0x0219931c end:0x02199328 kind:rodata align:4
.init start:0x02199328 end:0x0219937c kind:code align:4
- .ctor start:0x0219937c end:0x02199384 kind:data align:4
+ .ctor start:0x0219937c end:0x02199384 kind:rodata align:4
.data start:0x021993a0 end:0x02199400 kind:data align:32
.bss start:0x02199400 end:0x02199500 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov057/delinks.txt b/config/eur/arm9/overlays/ov057/delinks.txt
index 71435e87..a6315de5 100644
--- a/config/eur/arm9/overlays/ov057/delinks.txt
+++ b/config/eur/arm9/overlays/ov057/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198d00 end:0x0219a994 kind:code align:32
- .rodata start:0x0219a994 end:0x0219a9a0 kind:data align:4
+ .rodata start:0x0219a994 end:0x0219a9a0 kind:rodata align:4
.init start:0x0219a9a0 end:0x0219aa10 kind:code align:4
- .ctor start:0x0219aa10 end:0x0219aa1c kind:data align:4
+ .ctor start:0x0219aa10 end:0x0219aa1c kind:rodata align:4
.data start:0x0219aa20 end:0x0219ab00 kind:data align:32
.bss start:0x0219ab00 end:0x0219ab40 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov057/symbols.txt b/config/eur/arm9/overlays/ov057/symbols.txt
index 1da23918..9ded7bcd 100644
--- a/config/eur/arm9/overlays/ov057/symbols.txt
+++ b/config/eur/arm9/overlays/ov057/symbols.txt
@@ -36,7 +36,7 @@ _ZN13LinkStateItem19func_ov057_0219a364Ev kind:function(arm,size=0x4c) addr:0x21
_ZN22ActorRope_Unk_0219a3b08vfunc_08EPs kind:function(arm,size=0x4c) addr:0x219a3b0
_ZN22ActorRope_Unk_0219a3b08vfunc_10EPi kind:function(arm,size=0x64) addr:0x219a3fc
_ZN9ActorRopeC2Ev kind:function(arm,size=0x108) addr:0x219a460
-_ZN9ActorRope8vfunc_08Ev kind:function(arm,size=0x44) addr:0x219a568
+_ZN9ActorRope4InitEv kind:function(arm,size=0x44) addr:0x219a568
_ZN9ActorRope19func_ov057_0219a5acEv kind:function(arm,size=0x10c) addr:0x219a5ac
_ZN9ActorRope19func_ov057_0219a6b8Ev kind:function(arm,size=0x198) addr:0x219a6b8
_ZN9ActorRope19func_ov057_0219a850Ev kind:function(arm,size=0x114) addr:0x219a850
diff --git a/config/eur/arm9/overlays/ov058/delinks.txt b/config/eur/arm9/overlays/ov058/delinks.txt
index fe87a28e..f53e0902 100644
--- a/config/eur/arm9/overlays/ov058/delinks.txt
+++ b/config/eur/arm9/overlays/ov058/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198d00 end:0x0219ad68 kind:code align:32
- .rodata start:0x0219ad68 end:0x0219ad80 kind:data align:4
+ .rodata start:0x0219ad68 end:0x0219ad80 kind:rodata align:4
.init start:0x0219ad80 end:0x0219ae7c kind:code align:4
- .ctor start:0x0219ae7c end:0x0219ae84 kind:data align:4
+ .ctor start:0x0219ae7c end:0x0219ae84 kind:rodata align:4
.data start:0x0219aea0 end:0x0219afc0 kind:data align:32
.bss start:0x0219afc0 end:0x0219b120 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov058/symbols.txt b/config/eur/arm9/overlays/ov058/symbols.txt
index a9eeb6c0..bb3ffdb2 100644
--- a/config/eur/arm9/overlays/ov058/symbols.txt
+++ b/config/eur/arm9/overlays/ov058/symbols.txt
@@ -4,7 +4,7 @@ _Z19func_ov058_02198ef8v kind:function(arm,size=0x4) addr:0x2198ef8
_ZN25EquipBombchu_Unk_02198d008vfunc_14EPt kind:function(arm,size=0x78) addr:0x2198efc
_ZN25EquipBombchu_Unk_02198d008vfunc_10EPi kind:function(arm,size=0x4c) addr:0x2198f74
_ZN12EquipBombchu8vfunc_00Ev kind:function(thumb,size=0x7c) addr:0x2198fc0
-_ZN12EquipBombchu8vfunc_18Ev kind:function(thumb,size=0x24) addr:0x219903c
+_ZN12EquipBombchu8vfunc_18Ev kind:function(thumb,size=0x22) addr:0x219903c
_ZN12EquipBombchu8vfunc_1cEv kind:function(thumb,size=0xc) addr:0x2199060
_ZN12EquipBombchu8vfunc_30Ev kind:function(thumb,size=0x104) addr:0x219906c
_ZN12EquipBombchu8vfunc_38Ei kind:function(thumb,size=0xb0) addr:0x2199170
@@ -33,7 +33,7 @@ func_ov058_0219a998 kind:function(arm,size=0x138) addr:0x219a998
func_ov058_0219aad0 kind:function(arm,size=0x58) addr:0x219aad0
func_ov058_0219ab28 kind:function(thumb,size=0x184) addr:0x219ab28
func_ov058_0219acac kind:function(thumb,size=0x88) addr:0x219acac
-func_ov058_0219ad34 kind:function(thumb,size=0x34) addr:0x219ad34
+func_ov058_0219ad34 kind:function(thumb,size=0x32) addr:0x219ad34
data_ov058_0219ad68 kind:data(any) addr:0x219ad68
__sinit_EquipBombchu.cpp kind:function(arm,size=0xfc) addr:0x219ad80
data_ov058_0219aea0 kind:data(any) addr:0x219aea0
diff --git a/config/eur/arm9/overlays/ov059/delinks.txt b/config/eur/arm9/overlays/ov059/delinks.txt
index 4554202b..ff7e5c38 100644
--- a/config/eur/arm9/overlays/ov059/delinks.txt
+++ b/config/eur/arm9/overlays/ov059/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02198d00 end:0x0219b110 kind:code align:32
- .rodata start:0x0219b110 end:0x0219b124 kind:data align:4
- .ctor start:0x0219b124 end:0x0219b128 kind:data align:4
+ .rodata start:0x0219b110 end:0x0219b124 kind:rodata align:4
+ .ctor start:0x0219b124 end:0x0219b128 kind:rodata align:4
.data start:0x0219b140 end:0x0219b1c0 kind:data align:32
.bss start:0x0219b1c0 end:0x0219b1c0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov060/delinks.txt b/config/eur/arm9/overlays/ov060/delinks.txt
index 6b3ab4cc..ffeee978 100644
--- a/config/eur/arm9/overlays/ov060/delinks.txt
+++ b/config/eur/arm9/overlays/ov060/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x0213dec0 end:0x021476b8 kind:code align:32
- .rodata start:0x021476b8 end:0x021476ec kind:data align:4
- .ctor start:0x021476ec end:0x021476f0 kind:data align:4
+ .rodata start:0x021476b8 end:0x021476ec kind:rodata align:4
+ .ctor start:0x021476ec end:0x021476f0 kind:rodata align:4
.data start:0x02147700 end:0x021477e0 kind:data align:32
.bss start:0x021477e0 end:0x021485a0 kind:bss align:32
diff --git a/config/eur/arm9/overlays/ov061/delinks.txt b/config/eur/arm9/overlays/ov061/delinks.txt
index ee44ae97..8903a646 100644
--- a/config/eur/arm9/overlays/ov061/delinks.txt
+++ b/config/eur/arm9/overlays/ov061/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x0213dec0 end:0x0217a210 kind:code align:32
- .rodata start:0x0217a210 end:0x0217a608 kind:data align:4
- .ctor start:0x0217a608 end:0x0217a60c kind:data align:4
+ .rodata start:0x0217a210 end:0x0217a608 kind:rodata align:4
+ .ctor start:0x0217a608 end:0x0217a60c kind:rodata align:4
.data start:0x0217a620 end:0x0217ea20 kind:data align:32
.bss start:0x0217ea20 end:0x021819e0 kind:bss align:32
diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt
index cb1185e3..d523188f 100644
--- a/config/eur/arm9/symbols.txt
+++ b/config/eur/arm9/symbols.txt
@@ -9,7 +9,7 @@ IsDebugger kind:function(thumb,size=0x4) addr:0x200038c
LZ77UnCompReadNormalWrite8bit kind:function(thumb,size=0x4) addr:0x2000402
RLUnCompReadByCallbackWrite16bit kind:function(thumb,size=0x4) addr:0x2000472
Halt kind:function(thumb,size=0x4) addr:0x20004de
-VBlankIntrWait kind:function(thumb,size=0x4) addr:0x200054e
+VBlankIntrWait kind:function(thumb,size=0x4) addr:0x200054c
Div kind:function(thumb,size=0x4) addr:0x20005ae
GetCRC16 kind:function(thumb,size=0x4) addr:0x2000610
SoftReset kind:function(thumb,size=0x4) addr:0x2000684
@@ -45,7 +45,7 @@ func_02001fb0 kind:function(arm,size=0x5c) addr:0x2001fb0
func_0200200c kind:function(arm,size=0x5c) addr:0x200200c
func_02002068 kind:function(arm,size=0x5c) addr:0x2002068
func_020020d0 kind:function(arm,size=0x3b8) addr:0x20020d0
-_02002184 kind:data(byte[256]) addr:0x2002184
+.L_02002184 kind:data(byte[256]) addr:0x2002184
func_02002488 kind:function(arm,size=0x84) addr:0x2002488
func_0200250c kind:function(arm,size=0x34) addr:0x200250c
func_02002540 kind:function(arm,size=0x48) addr:0x2002540
@@ -56,11 +56,11 @@ func_020029fc kind:function(arm,size=0x1b0) addr:0x20029fc
func_02002bac kind:function(arm,size=0xc) addr:0x2002bac
func_02002bb8 kind:function(arm,size=0x3c) addr:0x2002bb8
func_02002bf4 kind:function(arm,size=0x20) addr:0x2002bf4
-SoftDivideMod kind:function(arm,size=0x20c) addr:0x2002c14
+_s32_div_f kind:function(arm,size=0x20c) addr:0x2002c14
SoftDivide kind:function(arm,size=0x1e4) addr:0x2002e20
-_02002e28 kind:label(arm) addr:0x2002e28
+.L_02002e28 kind:label(arm) addr:0x2002e28
func_0200301c kind:function(arm,size=0x544) addr:0x200301c
-_02003154 kind:data(byte[256]) addr:0x2003154
+.L_02003154 kind:data(byte[256]) addr:0x2003154
func_02003560 kind:function(arm,size=0x4) addr:0x2003560
func_02003564 kind:function(arm,size=0x40) addr:0x2003564
func_020035a4 kind:function(arm,size=0x3c) addr:0x20035a4
@@ -266,7 +266,7 @@ CopySingle384 kind:function(arm,size=0x24) addr:0x20079f4
CopySingle512 kind:function(arm,size=0x2c) addr:0x2007a18
Fill kind:function(arm,size=0x94) addr:0x2007a44
Copy kind:function(arm,size=0x130) addr:0x2007ad8
-Zero288 kind:function(thumb,size=0x10) addr:0x2007c08
+Zero288 kind:function(thumb,size=0xe) addr:0x2007c08
Swap32 kind:function(arm,size=0x8) addr:0x2007c18
func_02007c20 kind:function(arm,size=0x94) addr:0x2007c20
func_02007cb4 kind:function(arm,size=0xd8) addr:0x2007cb4
@@ -414,8 +414,8 @@ func_0200b828 kind:function(arm,size=0x28) addr:0x200b828
func_0200b850 kind:function(arm,size=0x48) addr:0x200b850
func_0200b898 kind:function(arm,size=0x28) addr:0x200b898
func_0200b8c0 kind:function(thumb,size=0xc) addr:0x200b8c0
-func_0200b8cc kind:function(thumb,size=0x28) addr:0x200b8cc
-func_0200b8f4 kind:function(thumb,size=0x2c) addr:0x200b8f4
+func_0200b8cc kind:function(thumb,size=0x26) addr:0x200b8cc
+func_0200b8f4 kind:function(thumb,size=0x2a) addr:0x200b8f4
func_0200b920 kind:function(thumb,size=0x14) addr:0x200b920
func_0200b934 kind:function(thumb,size=0x10) addr:0x200b934
func_0200b944 kind:function(thumb,size=0x10) addr:0x200b944
@@ -640,7 +640,7 @@ func_020123ec kind:function(thumb,size=0x11c) addr:0x20123ec
func_02012508 kind:function(thumb,size=0x208) addr:0x2012508
func_02012710 kind:function(thumb,size=0xc) addr:0x2012710
func_0201271c kind:function(thumb,size=0xc) addr:0x201271c
-func_02012728 kind:function(thumb,size=0x7c) addr:0x2012728
+func_02012728 kind:function(thumb,size=0x7a) addr:0x2012728
func_020127a4 kind:function(thumb,size=0x6c) addr:0x20127a4
func_02012810 kind:function(thumb,size=0x10) addr:0x2012810
func_02012820 kind:function(thumb,size=0x10) addr:0x2012820
@@ -674,13 +674,13 @@ func_02016e38 kind:function(arm,size=0x48) addr:0x2016e38
func_02016e80 kind:function(arm,size=0x48) addr:0x2016e80
func_02016ec8 kind:function(thumb,size=0x34) addr:0x2016ec8
func_02016efc kind:function(thumb,size=0xd0) addr:0x2016efc
-func_02016fcc kind:function(thumb,size=0x1c) addr:0x2016fcc
-func_02016fe8 kind:function(thumb,size=0x30) addr:0x2016fe8
+func_02016fcc kind:function(thumb,size=0x1a) addr:0x2016fcc
+func_02016fe8 kind:function(thumb,size=0x2e) addr:0x2016fe8
func_02017018 kind:function(thumb,size=0x1c) addr:0x2017018
-func_02017034 kind:function(thumb,size=0x1c) addr:0x2017034
+func_02017034 kind:function(thumb,size=0x1a) addr:0x2017034
func_02017050 kind:function(thumb,size=0x1c) addr:0x2017050
func_0201706c kind:function(thumb,size=0x20) addr:0x201706c
-func_0201708c kind:function(thumb,size=0x1c) addr:0x201708c
+func_0201708c kind:function(thumb,size=0x1a) addr:0x201708c
func_020170a8 kind:function(thumb,size=0x50) addr:0x20170a8
func_020170f8 kind:function(thumb,size=0x100) addr:0x20170f8
func_020171f8 kind:function(thumb,size=0x7c) addr:0x20171f8
@@ -690,35 +690,35 @@ func_02017374 kind:function(thumb,size=0x20) addr:0x2017374
func_02017394 kind:function(thumb,size=0x8) addr:0x2017394
NewEXPH kind:function(thumb,size=0x20) addr:0x201739c
func_020173bc kind:function(thumb,size=0xe8) addr:0x20173bc
-func_020174a4 kind:function(thumb,size=0x2c) addr:0x20174a4
-func_020174d0 kind:function(thumb,size=0x18) addr:0x20174d0
-func_020174e8 kind:function(thumb,size=0x48) addr:0x20174e8
+func_020174a4 kind:function(thumb,size=0x2a) addr:0x20174a4
+func_020174d0 kind:function(thumb,size=0x16) addr:0x20174d0
+func_020174e8 kind:function(thumb,size=0x46) addr:0x20174e8
func_02017530 kind:function(thumb,size=0x2c) addr:0x2017530
-func_0201755c kind:function(thumb,size=0x40) addr:0x201755c
+func_0201755c kind:function(thumb,size=0x3e) addr:0x201755c
func_0201759c kind:function(thumb,size=0x3c) addr:0x201759c
-func_020175d8 kind:function(thumb,size=0x10) addr:0x20175d8
-func_020175e8 kind:function(thumb,size=0x1c) addr:0x20175e8
+func_020175d8 kind:function(thumb,size=0xe) addr:0x20175d8
+func_020175e8 kind:function(thumb,size=0x1a) addr:0x20175e8
func_02017604 kind:function(thumb,size=0x20) addr:0x2017604
func_02017624 kind:function(thumb,size=0x8) addr:0x2017624
-NewFRMH kind:function(thumb,size=0x24) addr:0x201762c
-func_02017650 kind:function(thumb,size=0x20) addr:0x2017650
+NewFRMH kind:function(thumb,size=0x22) addr:0x201762c
+func_02017650 kind:function(thumb,size=0x1e) addr:0x2017650
func_02017670 kind:function(thumb,size=0x24) addr:0x2017670
-func_02017694 kind:function(thumb,size=0x30) addr:0x2017694
+func_02017694 kind:function(thumb,size=0x2e) addr:0x2017694
func_020176c4 kind:function(thumb,size=0x30) addr:0x20176c4
func_020176f4 kind:function(thumb,size=0x1c) addr:0x20176f4
-func_02017710 kind:function(thumb,size=0x40) addr:0x2017710
+func_02017710 kind:function(thumb,size=0x3e) addr:0x2017710
func_02017750 kind:function(thumb,size=0x1c) addr:0x2017750
func_0201776c kind:function(thumb,size=0x5c) addr:0x201776c
func_020177c8 kind:function(thumb,size=0x10) addr:0x20177c8
func_020177d8 kind:function(thumb,size=0x10) addr:0x20177d8
func_020177e8 kind:function(thumb,size=0xc) addr:0x20177e8
-func_020177f4 kind:function(thumb,size=0x1c) addr:0x20177f4
+func_020177f4 kind:function(thumb,size=0x1a) addr:0x20177f4
func_02017810 kind:function(thumb,size=0x2c) addr:0x2017810
-func_0201783c kind:function(thumb,size=0x2c) addr:0x201783c
-func_02017868 kind:function(thumb,size=0x38) addr:0x2017868
-func_020178a0 kind:function(thumb,size=0x3c) addr:0x20178a0
+func_0201783c kind:function(thumb,size=0x2a) addr:0x201783c
+func_02017868 kind:function(thumb,size=0x36) addr:0x2017868
+func_020178a0 kind:function(thumb,size=0x3a) addr:0x20178a0
func_020178dc kind:function(thumb,size=0x10) addr:0x20178dc
-func_020178ec kind:function(thumb,size=0x10) addr:0x20178ec
+func_020178ec kind:function(thumb,size=0xe) addr:0x20178ec
func_020178fc kind:function(thumb,size=0x98) addr:0x20178fc
func_02017994 kind:function(thumb,size=0x8) addr:0x2017994
func_0201799c kind:function(thumb,size=0x10) addr:0x201799c
@@ -1117,12 +1117,12 @@ func_02023754 kind:function(arm,size=0x98) addr:0x2023754
func_020237ec kind:function(arm,size=0x60) addr:0x20237ec
func_0202384c kind:function(arm,size=0x124) addr:0x202384c
func_02023970 kind:function(arm,size=0x14) addr:0x2023970
-func_02023984 kind:function(thumb,size=0x30) addr:0x2023984
-func_020239b4 kind:function(thumb,size=0x2c) addr:0x20239b4
+func_02023984 kind:function(thumb,size=0x2e) addr:0x2023984
+func_020239b4 kind:function(thumb,size=0x2a) addr:0x20239b4
func_020239e0 kind:function(thumb,size=0x28) addr:0x20239e0
func_02023a08 kind:function(thumb,size=0x8) addr:0x2023a08
-func_02023a10 kind:function(thumb,size=0xb8) addr:0x2023a10
-func_02023ac8 kind:function(thumb,size=0x14) addr:0x2023ac8
+func_02023a10 kind:function(thumb,size=0xb6) addr:0x2023a10
+func_02023ac8 kind:function(thumb,size=0x12) addr:0x2023ac8
func_02023adc kind:function(thumb,size=0x28) addr:0x2023adc
func_02023b04 kind:function(thumb,size=0x8) addr:0x2023b04
func_02023b0c kind:function(thumb,size=0x28) addr:0x2023b0c
@@ -1131,7 +1131,7 @@ func_02023b3c kind:function(thumb,size=0x28) addr:0x2023b3c
func_02023b64 kind:function(thumb,size=0x8) addr:0x2023b64
func_02023b6c kind:function(thumb,size=0xd4) addr:0x2023b6c
func_02023c40 kind:function(thumb,size=0x94) addr:0x2023c40
-func_02023cd4 kind:function(thumb,size=0x1c) addr:0x2023cd4
+func_02023cd4 kind:function(thumb,size=0x1a) addr:0x2023cd4
func_02023cf0 kind:function(thumb,size=0xc) addr:0x2023cf0
func_02023cfc kind:function(thumb,size=0x28) addr:0x2023cfc
func_02023d24 kind:function(thumb,size=0x20) addr:0x2023d24
@@ -1207,7 +1207,7 @@ func_02026f1c kind:function(arm,size=0x10c) addr:0x2026f1c
func_02027028 kind:function(arm,size=0x64) addr:0x2027028
func_0202708c kind:function(arm,size=0xb4) addr:0x202708c
func_02027140 kind:function(arm,size=0xe8) addr:0x2027140
-func_02027228 kind:function(thumb,size=0x2c) addr:0x2027228
+func_02027228 kind:function(thumb,size=0x2a) addr:0x2027228
func_02027254 kind:function(thumb,size=0x34) addr:0x2027254
func_02027288 kind:function(thumb,size=0x1c) addr:0x2027288
func_020272a4 kind:function(thumb,size=0xd8) addr:0x20272a4
@@ -1219,17 +1219,17 @@ func_02027538 kind:function(thumb,size=0x58) addr:0x2027538
func_02027590 kind:function(thumb,size=0x28) addr:0x2027590
func_020275b8 kind:function(thumb,size=0x2c) addr:0x20275b8
func_020275e4 kind:function(thumb,size=0x2c) addr:0x20275e4
-func_02027610 kind:function(thumb,size=0x24) addr:0x2027610
+func_02027610 kind:function(thumb,size=0x22) addr:0x2027610
func_02027634 kind:function(thumb,size=0x5c) addr:0x2027634
func_02027690 kind:function(thumb,size=0x8c) addr:0x2027690
func_0202771c kind:function(thumb,size=0x8c) addr:0x202771c
-func_020277a8 kind:function(thumb,size=0x50) addr:0x20277a8
+func_020277a8 kind:function(thumb,size=0x4e) addr:0x20277a8
func_020277f8 kind:function(thumb,size=0x1d8) addr:0x20277f8
-func_020279d0 kind:function(thumb,size=0x50) addr:0x20279d0
+func_020279d0 kind:function(thumb,size=0x4e) addr:0x20279d0
func_02027a20 kind:function(thumb,size=0x5c) addr:0x2027a20
-func_02027a7c kind:function(thumb,size=0x38) addr:0x2027a7c
-func_02027ab4 kind:function(thumb,size=0x48) addr:0x2027ab4
-func_02027afc kind:function(thumb,size=0x108) addr:0x2027afc
+func_02027a7c kind:function(thumb,size=0x36) addr:0x2027a7c
+func_02027ab4 kind:function(thumb,size=0x46) addr:0x2027ab4
+func_02027afc kind:function(thumb,size=0x106) addr:0x2027afc
func_02027c04 kind:function(arm,size=0x24) addr:0x2027c04
func_02027c28 kind:function(arm,size=0x20) addr:0x2027c28
func_02027c48 kind:function(arm,size=0x20) addr:0x2027c48
@@ -1302,7 +1302,7 @@ func_0202a750 kind:function(arm,size=0x4) addr:0x202a750
func_0202a754 kind:function(arm,size=0x188) addr:0x202a754
func_0202a8dc kind:function(arm,size=0x1cc) addr:0x202a8dc
func_0202aaa8 kind:function(arm,size=0x40) addr:0x202aaa8
-func_0202aae8 kind:function(thumb,size=0x10) addr:0x202aae8
+func_0202aae8 kind:function(thumb,size=0xe) addr:0x202aae8
func_0202aaf8 kind:function(thumb,size=0x40) addr:0x202aaf8
func_0202ab38 kind:function(thumb,size=0x10) addr:0x202ab38
func_0202ab48 kind:function(thumb,size=0x4) addr:0x202ab48
@@ -1311,8 +1311,8 @@ _ZN11FadeControl8RegisterEv kind:function(thumb,size=0x10) addr:0x202ab54
_ZN11FadeControl10UnregisterEv kind:function(thumb,size=0x14) addr:0x202ab64
_ZN11FadeControlC2Ev kind:function(thumb,size=0x30) addr:0x202ab78
_ZN11FadeControl13func_0202aba8Eiii kind:function(thumb,size=0x34) addr:0x202aba8
-_ZN11FadeControl13func_0202abdcEii kind:function(thumb,size=0x18) addr:0x202abdc
-_ZN11FadeControl13func_0202abf4Eii kind:function(thumb,size=0x18) addr:0x202abf4
+_ZN11FadeControl13func_0202abdcEii kind:function(thumb,size=0x16) addr:0x202abdc
+_ZN11FadeControl13func_0202abf4Eii kind:function(thumb,size=0x16) addr:0x202abf4
_ZN11FadeControl13func_0202ac0cEitii kind:function(thumb,size=0x54) addr:0x202ac0c
_ZN11FadeControl10UpdateFadeEi kind:function(arm,size=0x194) addr:0x202ac60
_ZN18UnkStruct_027e05f813func_0202adf4Eii kind:function(arm,size=0x74) addr:0x202adf4
@@ -1331,7 +1331,7 @@ func_0202b2e8 kind:function(arm,size=0x10) addr:0x202b2e8
func_0202b2f8 kind:function(arm,size=0x10) addr:0x202b2f8
Vec3p_Lerp kind:function(arm,size=0xb4) addr:0x202b308
func_0202b3bc kind:function(arm,size=0x5c) addr:0x202b3bc
-func_0202b418 kind:function(arm,size=0xcc) addr:0x202b418
+Lerp kind:function(arm,size=0xcc) addr:0x202b418
func_0202b4e4 kind:function(arm,size=0x188) addr:0x202b4e4
func_0202b66c kind:function(arm,size=0xc8) addr:0x202b66c
func_0202b734 kind:function(arm,size=0xb0) addr:0x202b734
@@ -1353,13 +1353,13 @@ func_0202bc10 kind:function(arm,size=0x28) addr:0x202bc10
func_0202bc38 kind:function(arm,size=0x320) addr:0x202bc38
func_0202bf58 kind:function(arm,size=0x68) addr:0x202bf58
func_0202bfc0 kind:function(arm,size=0xe8) addr:0x202bfc0
-func_0202c0a8 kind:function(thumb,size=0x4) addr:0x202c0a8
+func_0202c0a8 kind:function(thumb,size=0x2) addr:0x202c0a8
func_0202c0ac kind:function(thumb,size=0xc) addr:0x202c0ac
-func_0202c0b8 kind:function(thumb,size=0x4) addr:0x202c0b8
-func_0202c0bc kind:function(thumb,size=0x4) addr:0x202c0bc
-func_0202c0c0 kind:function(thumb,size=0x4) addr:0x202c0c0
-func_0202c0c4 kind:function(thumb,size=0x4) addr:0x202c0c4
-func_0202c0c8 kind:function(thumb,size=0x4) addr:0x202c0c8
+func_0202c0b8 kind:function(thumb,size=0x2) addr:0x202c0b8
+func_0202c0bc kind:function(thumb,size=0x2) addr:0x202c0bc
+func_0202c0c0 kind:function(thumb,size=0x2) addr:0x202c0c0
+func_0202c0c4 kind:function(thumb,size=0x2) addr:0x202c0c4
+func_0202c0c8 kind:function(thumb,size=0x2) addr:0x202c0c8
func_0202c0cc kind:function(thumb,size=0x5c) addr:0x202c0cc
func_0202c128 kind:function(thumb,size=0x27c) addr:0x202c128
func_0202c3a4 kind:function(arm,size=0x34) addr:0x202c3a4
@@ -1388,7 +1388,7 @@ func_0202cec8 kind:function(thumb,size=0x6c) addr:0x202cec8
func_0202cf34 kind:function(thumb,size=0x10) addr:0x202cf34
func_0202cf44 kind:function(arm,size=0x170) addr:0x202cf44
func_0202d0b4 kind:function(arm,size=0x18) addr:0x202d0b4
-func_0202d0cc kind:function(thumb,size=0x3c) addr:0x202d0cc
+func_0202d0cc kind:function(thumb,size=0x3a) addr:0x202d0cc
func_0202d108 kind:function(thumb,size=0x38) addr:0x202d108
func_0202d140 kind:function(thumb,size=0x24) addr:0x202d140
func_0202d164 kind:function(thumb,size=0x60) addr:0x202d164
@@ -1398,10 +1398,10 @@ func_0202d23c kind:function(thumb,size=0x180) addr:0x202d23c
func_0202d3bc kind:function(thumb,size=0xb8) addr:0x202d3bc
func_0202d474 kind:function(thumb,size=0xdc) addr:0x202d474
func_0202d550 kind:function(thumb,size=0x1c) addr:0x202d550
-LoadFile kind:function(thumb,size=0x24) addr:0x202d56c
+LoadFile kind:function(thumb,size=0x22) addr:0x202d56c
func_0202d590 kind:function(thumb,size=0x8) addr:0x202d590
func_0202d598 kind:function(thumb,size=0x1c) addr:0x202d598
-MountCompressedNarc kind:function(thumb,size=0x28) addr:0x202d5b4
+MountCompressedNarc kind:function(thumb,size=0x26) addr:0x202d5b4
func_0202d5dc kind:function(thumb,size=0x10) addr:0x202d5dc
LoadFileFromRom kind:function(thumb,size=0x3c) addr:0x202d5ec
func_0202d628 kind:function(thumb,size=0x1c) addr:0x202d628
@@ -1435,7 +1435,7 @@ _ZN18UnkStruct_027e077cC2Ei kind:function(thumb,size=0x10) addr:0x202e730
_ZN18UnkStruct_027e077c13func_0202e740Ei kind:function(arm,size=0x34) addr:0x202e740
func_0202e774 kind:function(thumb,size=0x30) addr:0x202e774
func_0202e7a4 kind:function(thumb,size=0x18) addr:0x202e7a4
-func_0202e7bc kind:function(thumb,size=0x40) addr:0x202e7bc
+func_0202e7bc kind:function(thumb,size=0x3e) addr:0x202e7bc
func_0202e7fc kind:function(thumb,size=0x14) addr:0x202e7fc
func_0202e810 kind:function(arm,size=0x84) addr:0x202e810
_Z6SysNewP18UnkStruct_0202e894ii kind:function(arm,size=0xb4) addr:0x202e894
@@ -1447,7 +1447,7 @@ _ZN9SysObjectnaEmPjj kind:function(arm,size=0x18) addr:0x202e9f4
_ZN9SysObjectdlEPv kind:function(arm,size=0xc) addr:0x202ea0c
_ZN9SysObjectdaEPv kind:function(arm,size=0xc) addr:0x202ea18
_ZN18UnkStruct_027e0fe04InitEv kind:function(thumb,size=0x10) addr:0x202ea24
-_ZN18UnkStruct_027e0fe07DisposeEv kind:function(thumb,size=0x1c) addr:0x202ea34
+_ZN18UnkStruct_027e0fe07DisposeEv kind:function(thumb,size=0x1a) addr:0x202ea34
_ZN18UnkStruct_027e0fe013func_0202ea50Eiii kind:function(thumb,size=0x48) addr:0x202ea50
_ZN18UnkStruct_027e0fe013func_0202ea98Ev kind:function(thumb,size=0x24) addr:0x202ea98
func_0202eabc kind:function(arm,size=0x80) addr:0x202eabc
@@ -1455,7 +1455,7 @@ func_0202eb3c kind:function(arm,size=0x58) addr:0x202eb3c
func_0202eb94 kind:function(arm,size=0x28) addr:0x202eb94
func_0202ebbc kind:function(thumb,size=0x5c) addr:0x202ebbc
func_0202ec18 kind:function(thumb,size=0x24) addr:0x202ec18
-func_0202ec3c kind:function(thumb,size=0x20) addr:0x202ec3c
+func_0202ec3c kind:function(thumb,size=0x1e) addr:0x202ec3c
func_0202ec5c kind:function(thumb,size=0x14) addr:0x202ec5c
func_0202ec70 kind:function(arm,size=0x70) addr:0x202ec70
func_0202ece0 kind:function(thumb,size=0x34) addr:0x202ece0
@@ -1464,7 +1464,7 @@ func_0202ed58 kind:function(arm,size=0x164) addr:0x202ed58
func_0202eebc kind:function(arm,size=0x3c) addr:0x202eebc
func_0202eef8 kind:function(arm,size=0x23c) addr:0x202eef8
func_0202f134 kind:function(thumb,size=0x20) addr:0x202f134
-func_0202f154 kind:function(thumb,size=0x40) addr:0x202f154
+func_0202f154 kind:function(thumb,size=0x3e) addr:0x202f154
func_0202f194 kind:function(thumb,size=0x5c) addr:0x202f194
func_0202f1f0 kind:function(thumb,size=0x6c) addr:0x202f1f0
func_0202f25c kind:function(thumb,size=0x2c) addr:0x202f25c
@@ -1475,7 +1475,7 @@ func_0202f328 kind:function(arm,size=0x38) addr:0x202f328
func_0202f360 kind:function(thumb,size=0x14) addr:0x202f360
func_0202f374 kind:function(thumb,size=0x7c) addr:0x202f374
_ZN18UnkStruct_0206322013func_0202f3f0Ei kind:function(thumb,size=0x10) addr:0x202f3f0
-_ZN18UnkStruct_0206322013func_0202f400Ei kind:function(thumb,size=0x18) addr:0x202f400
+_ZN18UnkStruct_0206322013func_0202f400Ei kind:function(thumb,size=0x16) addr:0x202f400
_ZN18UnkStruct_0206322018DisplayAssertErrorEPctS0_z kind:function(thumb,size=0x9c) addr:0x202f418
_ZN18UnkStruct_0206322013func_0202f4b4Ev kind:function(thumb,size=0x4c) addr:0x202f4b4
_ZN18UnkStruct_0206322013func_0202f500Ev kind:function(thumb,size=0x2c) addr:0x202f500
@@ -1490,14 +1490,14 @@ func_0202fd9c kind:function(thumb,size=0x40) addr:0x202fd9c
func_0202fddc kind:function(thumb,size=0x150) addr:0x202fddc
func_0202ff2c kind:function(arm,size=0x4) addr:0x202ff2c
func_0202ff30 kind:function(arm,size=0x14) addr:0x202ff30
-_ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x20) addr:0x202ff44
+_ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x1e) addr:0x202ff44
_ZN14OverlayManager15LoadIfNotLoadedEjj kind:function(thumb,size=0x20) addr:0x202ff64
-_ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x20) addr:0x202ff84
+_ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x1e) addr:0x202ff84
_ZN14OverlayManager16LoadOverlaySetupEi kind:function(thumb,size=0x64) addr:0x202ffa4
_ZN14OverlayManager18UnloadOverlaySetupEv kind:function(thumb,size=0x34) addr:0x2030008
-func_0203003c kind:function(thumb,size=0x4) addr:0x203003c
+func_0203003c kind:function(thumb,size=0x2) addr:0x203003c
func_02030040 kind:function(thumb,size=0xc) addr:0x2030040
-func_0203004c kind:function(thumb,size=0x4) addr:0x203004c
+func_0203004c kind:function(thumb,size=0x2) addr:0x203004c
func_02030050 kind:function(thumb,size=0x8) addr:0x2030050
func_02030058 kind:function(thumb,size=0x4) addr:0x2030058
func_0203005c kind:function(thumb,size=0x1c) addr:0x203005c
@@ -1507,12 +1507,12 @@ func_020300cc kind:function(thumb,size=0x18) addr:0x20300cc
func_020300e4 kind:function(thumb,size=0x28) addr:0x20300e4
func_0203010c kind:function(thumb,size=0x1c) addr:0x203010c
func_02030128 kind:function(thumb,size=0x24) addr:0x2030128
-func_0203014c kind:function(thumb,size=0x1c) addr:0x203014c
+func_0203014c kind:function(thumb,size=0x1a) addr:0x203014c
func_02030168 kind:function(thumb,size=0x30) addr:0x2030168
-func_02030198 kind:function(thumb,size=0x4) addr:0x2030198
+func_02030198 kind:function(thumb,size=0x2) addr:0x2030198
func_0203019c kind:function(thumb,size=0x4) addr:0x203019c
func_020301a0 kind:function(thumb,size=0x2c) addr:0x20301a0
-func_020301cc kind:function(thumb,size=0x4) addr:0x20301cc
+func_020301cc kind:function(thumb,size=0x2) addr:0x20301cc
func_020301d0 kind:function(thumb,size=0x4) addr:0x20301d0
func_020301d4 kind:function(arm,size=0x1c) addr:0x20301d4
func_020301f0 kind:function(arm,size=0x14) addr:0x20301f0
@@ -1521,34 +1521,34 @@ func_02030220 kind:function(arm,size=0x14) addr:0x2030220
CopyDebugNodeDescription kind:function(arm,size=0x10) addr:0x2030234
DebugNodeDescriptionEquals kind:function(arm,size=0x30) addr:0x2030244
_ZN18DebugHierarchyBaseC2Ev kind:function(thumb,size=0x10) addr:0x2030274
-_ZN18DebugHierarchyBaseD1Ev kind:function(thumb,size=0x4) addr:0x2030284
+_ZN18DebugHierarchyBaseD1Ev kind:function(thumb,size=0x2) addr:0x2030284
_ZN18DebugHierarchyBaseD0Ev kind:function(thumb,size=0xc) addr:0x2030288
-_ZN18DebugHierarchyBaseD2Ev kind:function(thumb,size=0x4) addr:0x2030294
+_ZN18DebugHierarchyBaseD2Ev kind:function(thumb,size=0x2) addr:0x2030294
_ZN18DebugHierarchyBase8FindNodeEj kind:function(thumb,size=0x3c) addr:0x2030298
_ZN18DebugHierarchyBase12GetChildNodeEiPKcjPi kind:function(thumb,size=0x4c) addr:0x20302d4
-_ZN18DebugHierarchyBase8vfunc_08Ev kind:function(thumb,size=0x4) addr:0x2030320
-_ZN18DebugHierarchyBase8vfunc_0cEv kind:function(thumb,size=0x4) addr:0x2030324
-_ZN18DebugHierarchyBase8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x2030328
-_ZN18DebugHierarchyBase8vfunc_14Ev kind:function(thumb,size=0x4) addr:0x203032c
-_ZN18DebugHierarchyBase8vfunc_18Ev kind:function(thumb,size=0x4) addr:0x2030330
-_ZN18DebugHierarchyBase8vfunc_1cEv kind:function(thumb,size=0x4) addr:0x2030334
+_ZN18DebugHierarchyBase8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x2030320
+_ZN18DebugHierarchyBase8vfunc_0cEv kind:function(thumb,size=0x2) addr:0x2030324
+_ZN18DebugHierarchyBase8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x2030328
+_ZN18DebugHierarchyBase8vfunc_14Ev kind:function(thumb,size=0x2) addr:0x203032c
+_ZN18DebugHierarchyBase8vfunc_18Ev kind:function(thumb,size=0x2) addr:0x2030330
+_ZN18DebugHierarchyBase8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x2030334
_ZN18DebugHierarchyBase8vfunc_20Ev kind:function(thumb,size=0x4) addr:0x2030338
-_ZN18DebugHierarchyBase8vfunc_24Ev kind:function(thumb,size=0x4) addr:0x203033c
-_ZN18DebugHierarchyBase8vfunc_28Ev kind:function(thumb,size=0x4) addr:0x2030340
-_ZN18DebugHierarchyBase8vfunc_2cEv kind:function(thumb,size=0x4) addr:0x2030344
-_ZN18DebugHierarchyBase8vfunc_30Ev kind:function(thumb,size=0x4) addr:0x2030348
-_ZN18DebugHierarchyBase8vfunc_38Ev kind:function(thumb,size=0x4) addr:0x203034c
-_ZN18DebugHierarchyBase8vfunc_3cEv kind:function(thumb,size=0x4) addr:0x2030350
+_ZN18DebugHierarchyBase8vfunc_24Ev kind:function(thumb,size=0x2) addr:0x203033c
+_ZN18DebugHierarchyBase8vfunc_28Ev kind:function(thumb,size=0x2) addr:0x2030340
+_ZN18DebugHierarchyBase8vfunc_2cEv kind:function(thumb,size=0x2) addr:0x2030344
+_ZN18DebugHierarchyBase8vfunc_30Ev kind:function(thumb,size=0x2) addr:0x2030348
+_ZN18DebugHierarchyBase8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x203034c
+_ZN18DebugHierarchyBase8vfunc_3cEv kind:function(thumb,size=0x2) addr:0x2030350
_ZN18UnkStruct_0206322c13func_02030354Ebb kind:function(thumb,size=0xb4) addr:0x2030354
-_ZN18UnkStruct_0206322c13func_02030408Ev kind:function(thumb,size=0x18) addr:0x2030408
+_ZN18UnkStruct_0206322c13func_02030408Ev kind:function(thumb,size=0x16) addr:0x2030408
func_02030420 kind:function(thumb,size=0x44) addr:0x2030420
-_ZN18UnkStruct_0206322c13func_02030464Ebb kind:function(thumb,size=0x44) addr:0x2030464
+_ZN18UnkStruct_0206322c13func_02030464Ebb kind:function(thumb,size=0x42) addr:0x2030464
_ZN18UnkStruct_0206322c13func_020304a8Ebb kind:function(thumb,size=0x2c) addr:0x20304a8
DisplayDebugText kind:function(thumb,size=0xd8) addr:0x20304d4
func_020305ac kind:function(thumb,size=0x88) addr:0x20305ac
_Z22DisplayDebugTextFormatiiiiiPcS_ kind:function(thumb,size=0x30) addr:0x2030634
-_Z28DisplayDebugTextFormat_thunkiiiiiPcz kind:function(thumb,size=0x28) addr:0x2030664
-_Z17DisplayDebugTextFiiiiPcz kind:function(thumb,size=0x34) addr:0x203068c
+_Z28DisplayDebugTextFormat_thunkiiiiiPcz kind:function(thumb,size=0x26) addr:0x2030664
+_Z17DisplayDebugTextFiiiiPcz kind:function(thumb,size=0x32) addr:0x203068c
func_020306c0 kind:function(thumb,size=0x70) addr:0x20306c0
func_02030730 kind:function(thumb,size=0x28) addr:0x2030730
func_02030758 kind:function(thumb,size=0x84) addr:0x2030758
@@ -1605,12 +1605,12 @@ func_020320c0 kind:function(arm,size=0x2c) addr:0x20320c0
func_020320ec kind:function(arm,size=0xec) addr:0x20320ec
func_020321d8 kind:function(arm,size=0xec) addr:0x20321d8
func_020322c4 kind:function(arm,size=0x40) addr:0x20322c4
-func_02032304 kind:function(thumb,size=0x58) addr:0x2032304
+func_02032304 kind:function(thumb,size=0x56) addr:0x2032304
func_0203235c kind:function(arm,size=0x8c) addr:0x203235c
func_020323e8 kind:function(thumb,size=0x48) addr:0x20323e8
-func_02032430 kind:function(thumb,size=0x1c) addr:0x2032430
+func_02032430 kind:function(thumb,size=0x1a) addr:0x2032430
func_0203244c kind:function(thumb,size=0x3c) addr:0x203244c
-func_02032488 kind:function(thumb,size=0x1c) addr:0x2032488
+func_02032488 kind:function(thumb,size=0x1a) addr:0x2032488
func_020324a4 kind:function(thumb,size=0x28) addr:0x20324a4
func_020324cc kind:function(arm,size=0x7c) addr:0x20324cc
func_02032548 kind:function(arm,size=0x54) addr:0x2032548
@@ -1648,9 +1648,9 @@ func_02032e60 kind:function(arm,size=0x1c) addr:0x2032e60
_ZN18UnkStruct_02032e7cC2Ev kind:function(arm,size=0x48) addr:0x2032e7c
_ZN18UnkStruct_02032e7cC1Ev kind:function(arm,size=0x48) addr:0x2032ec4
_ZN18UnkStruct_02032f0cC2Ev kind:function(thumb,size=0x78) addr:0x2032f0c
-_ZN18UnkStruct_02032f0cD1Ev kind:function(thumb,size=0x4) addr:0x2032f84
+_ZN18UnkStruct_02032f0cD1Ev kind:function(thumb,size=0x2) addr:0x2032f84
_ZN18UnkStruct_02032f0cD0Ev kind:function(thumb,size=0xc) addr:0x2032f88
-_ZN18UnkStruct_02032f0c13func_02032f94Ev kind:function(thumb,size=0x4) addr:0x2032f94
+_ZN18UnkStruct_02032f0c13func_02032f94Ev kind:function(thumb,size=0x2) addr:0x2032f94
_ZN18UnkStruct_02032f0c9SetUnk_0cEPt kind:function(arm,size=0xc) addr:0x2032f98
_ZN18UnkStruct_02032f0c13func_02032fa4Ev kind:function(arm,size=0x10) addr:0x2032fa4
_ZN18UnkStruct_02032f0c13func_02032fb4Ev kind:function(arm,size=0x18) addr:0x2032fb4
@@ -1749,8 +1749,8 @@ func_02035428 kind:function(arm,size=0x18) addr:0x2035428
func_02035440 kind:function(arm,size=0x140) addr:0x2035440
func_02035580 kind:function(thumb,size=0x14) addr:0x2035580
func_02035594 kind:function(thumb,size=0x3c) addr:0x2035594
-func_020355d0 kind:function(thumb,size=0x14) addr:0x20355d0
-func_020355e4 kind:function(thumb,size=0x20) addr:0x20355e4
+func_020355d0 kind:function(thumb,size=0x12) addr:0x20355d0
+func_020355e4 kind:function(thumb,size=0x1e) addr:0x20355e4
func_02035604 kind:function(thumb,size=0x2c) addr:0x2035604
func_02035630 kind:function(arm,size=0x18) addr:0x2035630
func_02035648 kind:function(arm,size=0x58) addr:0x2035648
@@ -1777,7 +1777,7 @@ func_02035f3c kind:function(arm,size=0x20) addr:0x2035f3c
func_02035f5c kind:function(arm,size=0xb0) addr:0x2035f5c
func_0203600c kind:function(thumb,size=0x8) addr:0x203600c
func_02036014 kind:function(thumb,size=0x3c) addr:0x2036014
-func_02036050 kind:function(thumb,size=0x24) addr:0x2036050
+func_02036050 kind:function(thumb,size=0x22) addr:0x2036050
func_02036074 kind:function(arm,size=0x18) addr:0x2036074
func_0203608c kind:function(arm,size=0x1c) addr:0x203608c
func_020360a8 kind:function(arm,size=0x28) addr:0x20360a8
@@ -1791,7 +1791,7 @@ func_020363b0 kind:function(arm,size=0x18) addr:0x20363b0
func_020363c8 kind:function(arm,size=0x74) addr:0x20363c8
func_0203643c kind:function(arm,size=0x54) addr:0x203643c
func_02036490 kind:function(thumb,size=0x1cc) addr:0x2036490
-func_0203665c kind:function(thumb,size=0x4c) addr:0x203665c
+func_0203665c kind:function(thumb,size=0x4a) addr:0x203665c
func_020366a8 kind:function(arm,size=0x1c) addr:0x20366a8
func_020366c4 kind:function(arm,size=0x3c) addr:0x20366c4
func_02036700 kind:function(arm,size=0x3c) addr:0x2036700
@@ -1821,14 +1821,14 @@ func_020370e8 kind:function(arm,size=0x70) addr:0x20370e8
func_02037158 kind:function(arm,size=0x20) addr:0x2037158
func_02037178 kind:function(arm,size=0x38) addr:0x2037178
func_020371b0 kind:function(arm,size=0x4) addr:0x20371b0
-func_020371b4 kind:function(thumb,size=0x14) addr:0x20371b4
+func_020371b4 kind:function(thumb,size=0x12) addr:0x20371b4
func_020371c8 kind:function(thumb,size=0x90) addr:0x20371c8
func_02037258 kind:function(arm,size=0x34) addr:0x2037258
func_0203728c kind:function(arm,size=0x64) addr:0x203728c
func_020372f0 kind:function(thumb,size=0xc4) addr:0x20372f0
-func_020373b4 kind:function(thumb,size=0x38) addr:0x20373b4
+func_020373b4 kind:function(thumb,size=0x36) addr:0x20373b4
func_020373ec kind:function(arm,size=0x60) addr:0x20373ec
-_ZN18UnkStruct_027e05f8C2Ev kind:function(thumb,size=0xc) addr:0x203744c
+_ZN18UnkStruct_027e05f8C2Ev kind:function(thumb,size=0xa) addr:0x203744c
_ZN18UnkStruct_027e05f813func_02037458Et kind:function(arm,size=0x28) addr:0x2037458
_ZN18UnkStruct_027e05f813func_02037480Ev kind:function(arm,size=0x10) addr:0x2037480
_ZN18UnkStruct_027e05f813func_02037490Ei kind:function(arm,size=0x24) addr:0x2037490
@@ -1871,10 +1871,10 @@ _ZN18UnkStruct_0203881c13func_02038858Ei kind:function(arm,size=0x30) addr:0x203
_ZN18UnkStruct_0203881c13func_02038888Ev kind:function(arm,size=0xc8) addr:0x2038888
_ZN18UnkStruct_0203881c13func_02038950EP18UnkStruct_02038aa0i kind:function(arm,size=0x130) addr:0x2038950
_ZN18UnkStruct_0203881c13func_02038a80Ei kind:function(arm,size=0x1c) addr:0x2038a80
-_ZN18UnkStruct_0203881cD1Ev kind:function(thumb,size=0x4) addr:0x2038a9c
+_ZN18UnkStruct_0203881cD1Ev kind:function(thumb,size=0x2) addr:0x2038a9c
_ZN18UnkStruct_02038aa0C2Ehh kind:function(thumb,size=0x5c) addr:0x2038aa0
_ZN18UnkStruct_02038aa0D1Ev kind:function(thumb,size=0xc) addr:0x2038afc
-_ZN18UnkStruct_02038aa0D0Ev kind:function(thumb,size=0x14) addr:0x2038b08
+_ZN18UnkStruct_02038aa0D0Ev kind:function(thumb,size=0x12) addr:0x2038b08
_ZN18UnkStruct_02038aa0D2Ev kind:function(thumb,size=0xc) addr:0x2038b1c
_ZN18UnkStruct_02038aa08vfunc_4cEv kind:function(thumb,size=0xc) addr:0x2038b28
_ZN18UnkStruct_02038aa08vfunc_10Ei kind:function(arm,size=0xc) addr:0x2038b34
@@ -2006,14 +2006,14 @@ func_0203d464 kind:function(arm,size=0x4c) addr:0x203d464
func_0203d4b0 kind:function(arm,size=0x88) addr:0x203d4b0
func_0203d538 kind:function(arm,size=0x44) addr:0x203d538
func_0203d57c kind:function(thumb,size=0x44) addr:0x203d57c
-func_0203d5c0 kind:function(thumb,size=0x1c) addr:0x203d5c0
+func_0203d5c0 kind:function(thumb,size=0x1a) addr:0x203d5c0
func_0203d5dc kind:function(thumb,size=0x24) addr:0x203d5dc
func_0203d600 kind:function(arm,size=0x4c) addr:0x203d600
func_0203d64c kind:function(arm,size=0x18) addr:0x203d64c
func_0203d664 kind:function(arm,size=0x18) addr:0x203d664
func_0203d67c kind:function(arm,size=0x1c) addr:0x203d67c
func_0203d698 kind:function(thumb,size=0x38) addr:0x203d698
-func_0203d6d0 kind:function(thumb,size=0x8) addr:0x203d6d0
+func_0203d6d0 kind:function(thumb,size=0x6) addr:0x203d6d0
func_0203d6d8 kind:function(thumb,size=0x58) addr:0x203d6d8
func_0203d730 kind:function(thumb,size=0x4c) addr:0x203d730
func_0203d77c kind:function(arm,size=0x3c) addr:0x203d77c
@@ -2067,7 +2067,7 @@ func_0203eaac kind:function(arm,size=0x24) addr:0x203eaac
func_0203ead0 kind:function(arm,size=0xc) addr:0x203ead0
func_0203eadc kind:function(arm,size=0x30) addr:0x203eadc
func_0203eb0c kind:function(arm,size=0x80) addr:0x203eb0c
-func_0203eb8c kind:function(thumb,size=0x1c) addr:0x203eb8c
+func_0203eb8c kind:function(thumb,size=0x1a) addr:0x203eb8c
func_0203eba8 kind:function(arm,size=0x20) addr:0x203eba8
func_0203ebc8 kind:function(arm,size=0x18) addr:0x203ebc8
func_0203ebe0 kind:function(arm,size=0x18) addr:0x203ebe0
@@ -2120,8 +2120,8 @@ func_02040068 kind:function(thumb,size=0x10) addr:0x2040068
func_02040078 kind:function(thumb,size=0xc) addr:0x2040078
func_02040084 kind:function(thumb,size=0x3c) addr:0x2040084
func_020400c0 kind:function(thumb,size=0xc) addr:0x20400c0
-func_020400cc kind:function(thumb,size=0x14) addr:0x20400cc
-func_020400e0 kind:function(thumb,size=0x14) addr:0x20400e0
+func_020400cc kind:function(thumb,size=0x12) addr:0x20400cc
+func_020400e0 kind:function(thumb,size=0x12) addr:0x20400e0
func_020400f4 kind:function(thumb,size=0xc) addr:0x20400f4
func_02040100 kind:function(thumb,size=0xc) addr:0x2040100
func_0204010c kind:function(thumb,size=0x8) addr:0x204010c
@@ -2150,14 +2150,14 @@ func_02040c84 kind:function(thumb,size=0x34) addr:0x2040c84
func_02040cb8 kind:function(thumb,size=0xc) addr:0x2040cb8
func_02040cc4 kind:function(thumb,size=0x60) addr:0x2040cc4
func_02040d24 kind:function(thumb,size=0x40) addr:0x2040d24
-func_02040d64 kind:function(thumb,size=0x30) addr:0x2040d64
+func_02040d64 kind:function(thumb,size=0x2e) addr:0x2040d64
func_02040d94 kind:function(thumb,size=0x3c) addr:0x2040d94
func_02040dd0 kind:function(thumb,size=0x118) addr:0x2040dd0
-func_02040ee8 kind:function(thumb,size=0x34) addr:0x2040ee8
+func_02040ee8 kind:function(thumb,size=0x32) addr:0x2040ee8
func_02040f1c kind:function(thumb,size=0x88) addr:0x2040f1c
func_02040fa4 kind:function(thumb,size=0x20) addr:0x2040fa4
-func_02040fc4 kind:function(thumb,size=0x18) addr:0x2040fc4
-func_02040fdc kind:function(thumb,size=0x18) addr:0x2040fdc
+func_02040fc4 kind:function(thumb,size=0x16) addr:0x2040fc4
+func_02040fdc kind:function(thumb,size=0x16) addr:0x2040fdc
func_02040ff4 kind:function(thumb,size=0x64) addr:0x2040ff4
func_02041058 kind:function(thumb,size=0xa8) addr:0x2041058
func_02041100 kind:function(thumb,size=0x130) addr:0x2041100
@@ -2168,10 +2168,10 @@ func_0204150c kind:function(thumb,size=0x4) addr:0x204150c
ReadArchiveId kind:function(thumb,size=0x34) addr:0x2041510
func_02041544 kind:function(thumb,size=0x10) addr:0x2041544
func_02041554 kind:function(thumb,size=0x14) addr:0x2041554
-func_02041568 kind:function(thumb,size=0x10) addr:0x2041568
+func_02041568 kind:function(thumb,size=0xe) addr:0x2041568
func_02041578 kind:function(thumb,size=0x16c) addr:0x2041578
-func_020416e4 kind:function(thumb,size=0x60) addr:0x20416e4
-func_02041744 kind:function(thumb,size=0x30) addr:0x2041744
+func_020416e4 kind:function(thumb,size=0x5e) addr:0x20416e4
+func_02041744 kind:function(thumb,size=0x2e) addr:0x2041744
func_02041774 kind:function(thumb,size=0x120) addr:0x2041774
func_02041894 kind:function(thumb,size=0x18) addr:0x2041894
FindArchive kind:function(thumb,size=0x2c) addr:0x20418ac
@@ -2181,7 +2181,7 @@ func_0204198c kind:function(thumb,size=0x44) addr:0x204198c
func_020419d0 kind:function(thumb,size=0x74) addr:0x20419d0
func_02041a44 kind:function(thumb,size=0xb4) addr:0x2041a44
func_02041af8 kind:function(thumb,size=0x58) addr:0x2041af8
-func_02041b50 kind:function(thumb,size=0x7c) addr:0x2041b50
+func_02041b50 kind:function(thumb,size=0x7a) addr:0x2041b50
func_02041bcc kind:function(thumb,size=0x4c) addr:0x2041bcc
func_02041c18 kind:function(thumb,size=0x14) addr:0x2041c18
func_02041c2c kind:function(thumb,size=0x64) addr:0x2041c2c
@@ -2189,18 +2189,18 @@ func_02041c90 kind:function(thumb,size=0x18) addr:0x2041c90
func_02041ca8 kind:function(thumb,size=0x14) addr:0x2041ca8
func_02041cbc kind:function(thumb,size=0xd0) addr:0x2041cbc
func_02041d8c kind:function(thumb,size=0x50) addr:0x2041d8c
-func_02041ddc kind:function(thumb,size=0x2c) addr:0x2041ddc
+func_02041ddc kind:function(thumb,size=0x2a) addr:0x2041ddc
func_02041e08 kind:function(thumb,size=0x2c) addr:0x2041e08
func_02041e34 kind:function(thumb,size=0x48) addr:0x2041e34
-func_02041e7c kind:function(thumb,size=0x2c) addr:0x2041e7c
-func_02041ea8 kind:function(thumb,size=0x28) addr:0x2041ea8
+func_02041e7c kind:function(thumb,size=0x2a) addr:0x2041e7c
+func_02041ea8 kind:function(thumb,size=0x26) addr:0x2041ea8
func_02041ed0 kind:function(thumb,size=0x98) addr:0x2041ed0
-func_02041f68 kind:function(thumb,size=0x30) addr:0x2041f68
-func_02041f98 kind:function(thumb,size=0xc) addr:0x2041f98
-func_02041fa4 kind:function(thumb,size=0xc) addr:0x2041fa4
-func_02041fb0 kind:function(thumb,size=0x3c) addr:0x2041fb0
+func_02041f68 kind:function(thumb,size=0x2e) addr:0x2041f68
+func_02041f98 kind:function(thumb,size=0xa) addr:0x2041f98
+func_02041fa4 kind:function(thumb,size=0xa) addr:0x2041fa4
+func_02041fb0 kind:function(thumb,size=0x3a) addr:0x2041fb0
func_02041fec kind:function(thumb,size=0x38) addr:0x2041fec
-func_02042024 kind:function(thumb,size=0x1c) addr:0x2042024
+func_02042024 kind:function(thumb,size=0x1a) addr:0x2042024
func_02042040 kind:function(thumb,size=0x2c) addr:0x2042040
func_0204206c kind:function(thumb,size=0x4) addr:0x204206c
func_02042070 kind:function(thumb,size=0x3c) addr:0x2042070
@@ -2211,17 +2211,17 @@ func_02042190 kind:function(thumb,size=0x34) addr:0x2042190
func_020421c4 kind:function(thumb,size=0x14) addr:0x20421c4
func_020421d8 kind:function(thumb,size=0x24) addr:0x20421d8
Overlay_FileSize kind:function(thumb,size=0x14) addr:0x20421fc
-Overlay_ClearCacheAndBss kind:function(thumb,size=0x28) addr:0x2042210
+Overlay_ClearCacheAndBss kind:function(thumb,size=0x26) addr:0x2042210
Overlay_func_02042238 kind:function(thumb,size=0x18) addr:0x2042238
Overlay_func_02042250 kind:function(thumb,size=0x9c) addr:0x2042250
Overlay_func_020422ec kind:function(thumb,size=0xa0) addr:0x20422ec
-Overlay_func_0204238c kind:function(thumb,size=0x5c) addr:0x204238c
+Overlay_func_0204238c kind:function(thumb,size=0x5a) addr:0x204238c
Overlay_func_020423e8 kind:function(thumb,size=0x58) addr:0x20423e8
Overlay_Init kind:function(thumb,size=0x94) addr:0x2042440
Overlay_RunGlobalDestructors kind:function(thumb,size=0xa4) addr:0x20424d4
-Overlay_Destroy kind:function(thumb,size=0xc) addr:0x2042578
+Overlay_Destroy kind:function(thumb,size=0xa) addr:0x2042578
Overlay_Load kind:function(thumb,size=0x30) addr:0x2042584
-Overlay_Unload kind:function(thumb,size=0x2c) addr:0x20425b4
+Overlay_Unload kind:function(thumb,size=0x2a) addr:0x20425b4
func_020425e0 kind:function(thumb,size=0x40) addr:0x20425e0
func_02042620 kind:function(thumb,size=0x48) addr:0x2042620
func_02042668 kind:function(thumb,size=0x24) addr:0x2042668
@@ -2230,7 +2230,7 @@ func_020426d4 kind:function(thumb,size=0x24) addr:0x20426d4
func_020426f8 kind:function(thumb,size=0x4c) addr:0x20426f8
func_02042744 kind:function(thumb,size=0x24) addr:0x2042744
func_02042768 kind:function(thumb,size=0x31c) addr:0x2042768
-func_02042a84 kind:function(thumb,size=0x48) addr:0x2042a84
+func_02042a84 kind:function(thumb,size=0x46) addr:0x2042a84
func_02042acc kind:function(thumb,size=0xc) addr:0x2042acc
func_02042ad8 kind:function(arm,size=0x18) addr:0x2042ad8
func_02042af0 kind:function(thumb,size=0xc) addr:0x2042af0
@@ -2243,7 +2243,7 @@ func_02042ba0 kind:function(thumb,size=0x18) addr:0x2042ba0
func_02042bb8 kind:function(thumb,size=0x44) addr:0x2042bb8
func_02042bfc kind:function(thumb,size=0xa0) addr:0x2042bfc
func_02042c9c kind:function(thumb,size=0x60) addr:0x2042c9c
-func_02042cfc kind:function(thumb,size=0x40) addr:0x2042cfc
+func_02042cfc kind:function(thumb,size=0x3e) addr:0x2042cfc
func_02042d3c kind:function(thumb,size=0x14) addr:0x2042d3c
func_02042d50 kind:function(arm,size=0x24) addr:0x2042d50
func_02042d74 kind:function(arm,size=0x4c) addr:0x2042d74
@@ -2425,20 +2425,20 @@ func_0204fc20 kind:function(arm,size=0x48) addr:0x204fc20
func_0204fc68 kind:function(arm,size=0x4c) addr:0x204fc68
func_0204fcb4 kind:function(arm,size=0xc) addr:0x204fcb4
func_0204fcc0 kind:function(thumb,size=0x28) addr:0x204fcc0
-func_0204fce8 kind:function(thumb,size=0x1c) addr:0x204fce8
+func_0204fce8 kind:function(thumb,size=0x1a) addr:0x204fce8
func_0204fd04 kind:function(thumb,size=0x10) addr:0x204fd04
func_0204fd14 kind:function(thumb,size=0xac) addr:0x204fd14
func_0204fdc0 kind:function(thumb,size=0x34) addr:0x204fdc0
func_0204fdf4 kind:function(thumb,size=0x28) addr:0x204fdf4
func_0204fe1c kind:function(thumb,size=0x3c) addr:0x204fe1c
-func_0204fe58 kind:function(thumb,size=0x18) addr:0x204fe58
-func_0204fe70 kind:function(thumb,size=0x30) addr:0x204fe70
+func_0204fe58 kind:function(thumb,size=0x16) addr:0x204fe58
+func_0204fe70 kind:function(thumb,size=0x2e) addr:0x204fe70
func_0204fea0 kind:function(thumb,size=0x38) addr:0x204fea0
func_0204fed8 kind:function(thumb,size=0x78) addr:0x204fed8
func_0204ff50 kind:function(thumb,size=0x150) addr:0x204ff50
func_020500a0 kind:function(thumb,size=0x1c) addr:0x20500a0
func_020500bc kind:function(thumb,size=0x38) addr:0x20500bc
-func_020500f4 kind:function(thumb,size=0x10) addr:0x20500f4
+func_020500f4 kind:function(thumb,size=0xe) addr:0x20500f4
func_02050104 kind:function(thumb,size=0xc) addr:0x2050104
func_02050110 kind:function(thumb,size=0x64) addr:0x2050110
func_02050174 kind:function(thumb,size=0xc) addr:0x2050174
@@ -2451,7 +2451,7 @@ func_02050684 kind:function(thumb,size=0x34) addr:0x2050684
func_020506b8 kind:function(thumb,size=0xd4) addr:0x20506b8
func_0205078c kind:function(thumb,size=0x138) addr:0x205078c
func_020508c4 kind:function(thumb,size=0x54) addr:0x20508c4
-func_02050918 kind:function(thumb,size=0xf4) addr:0x2050918
+func_02050918 kind:function(thumb,size=0xf2) addr:0x2050918
__sinit_02050ca0 kind:function(arm,size=0x14) addr:0x2050ca0
__sinit_02050cb4 kind:function(arm,size=0x2c) addr:0x2050cb4
__sinit_02050ce0 kind:function(arm,size=0x2c) addr:0x2050ce0
@@ -2581,7 +2581,7 @@ data_02056af8 kind:data(any) addr:0x2056af8
data_02056afd kind:data(any) addr:0x2056afd
data_02056afe kind:data(any) addr:0x2056afe
data_02056b00 kind:data(any) addr:0x2056b00
-data_02056be4 kind:data(any) addr:0x2056be4
+data_02056be4 kind:data(byte[64]) addr:0x2056be4
data_02056c24 kind:data(any) addr:0x2056c24
data_02056c25 kind:data(any) addr:0x2056c25
gpBuildDate kind:data(any) addr:0x2056c30
diff --git a/config/usa/arm9/delinks.txt b/config/usa/arm9/delinks.txt
index 5c30acbc..d3ab3589 100644
--- a/config/usa/arm9/delinks.txt
+++ b/config/usa/arm9/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02000000 end:0x02050c5c kind:code align:32
.init start:0x02050c5c end:0x02050f10 kind:code align:4
- .rodata start:0x02050f10 end:0x02057214 kind:data align:4
- .ctor start:0x02057214 end:0x0205727c kind:data align:4
+ .rodata start:0x02050f10 end:0x02057214 kind:rodata align:4
+ .ctor start:0x02057214 end:0x0205727c kind:rodata align:4
.data start:0x02057280 end:0x02058dc0 kind:data align:32
.bss start:0x02058dc0 end:0x02077360 kind:bss align:32
@@ -10,6 +10,9 @@ src/Main/Actor/ActorType.cpp:
.text start:0x0203e740 end:0x0203e85c
.bss start:0x02069120 end:0x02069128
+src/Main/System/OverlayManager.cpp:
+ .text start:0x0202ff40 end:0x02030038
+
libs/cpp/src/__register_global_object.cpp:
complete
.text start:0x0204f890 end:0x0204f8b0
diff --git a/config/usa/arm9/itcm/symbols.txt b/config/usa/arm9/itcm/symbols.txt
index dcffc2b4..a6fd3961 100644
--- a/config/usa/arm9/itcm/symbols.txt
+++ b/config/usa/arm9/itcm/symbols.txt
@@ -3,7 +3,7 @@ Mat2p_InitRotation kind:function(thumb,size=0xc) addr:0x1ff8018
Mat2p_Multiply kind:function(arm,size=0xb0) addr:0x1ff8024
Mat3p_InitIdentity kind:function(arm,size=0x24) addr:0x1ff80d4
Mat3p_CopyToMat4x3p kind:function(arm,size=0x2c) addr:0x1ff80f8
-Mat3p_InitScale kind:function(thumb,size=0x14) addr:0x1ff8124
+Mat3p_InitScale kind:function(thumb,size=0x12) addr:0x1ff8124
Mat3p_ScaleColumns kind:function(arm,size=0xc0) addr:0x1ff8138
Mat3p_InitXRotation kind:function(thumb,size=0x1c) addr:0x1ff81f8
Mat3p_InitYRotation kind:function(thumb,size=0x1c) addr:0x1ff8214
@@ -15,18 +15,18 @@ Mat3p_MultiplyVec kind:function(arm,size=0x7c) addr:0x1ff88b0
Mat4x3p_InitIdentity kind:function(arm,size=0x28) addr:0x1ff892c
Mat4x3p_CopyToMat4p kind:function(arm,size=0x34) addr:0x1ff8954
Mat4x3p_func_01ff8988 kind:function(arm,size=0xac) addr:0x1ff8988
-Mat4x3p_InitScale kind:function(thumb,size=0x18) addr:0x1ff8a34
+Mat4x3p_InitScale kind:function(thumb,size=0x16) addr:0x1ff8a34
Mat4x3p_ScaleColumns kind:function(arm,size=0x34) addr:0x1ff8a4c
-Mat4x3p_InitXRotation kind:function(thumb,size=0x20) addr:0x1ff8a80
-Mat4x3p_InitYRotation kind:function(thumb,size=0x1c) addr:0x1ff8aa0
-Mat4x3p_InitZRotation kind:function(thumb,size=0x1c) addr:0x1ff8abc
+Mat4x3p_InitXRotation kind:function(thumb,size=0x1e) addr:0x1ff8a80
+Mat4x3p_InitYRotation kind:function(thumb,size=0x1a) addr:0x1ff8aa0
+Mat4x3p_InitZRotation kind:function(thumb,size=0x1a) addr:0x1ff8abc
Mat4x3p_func_01ff8ad8 kind:function(arm,size=0x20) addr:0x1ff8ad8
Mat4x3p_func_01ff8af8 kind:function(arm,size=0x38c) addr:0x1ff8af8
Mat4x3p_Multiply kind:function(arm,size=0x2d4) addr:0x1ff8e84
Mat4x3p_MultiplyVec kind:function(arm,size=0xa0) addr:0x1ff9158
Mat4p_InitIdentity kind:function(arm,size=0x2c) addr:0x1ff91f8
Mat4p_CopyToMat4x3p kind:function(arm,size=0x34) addr:0x1ff9224
-Mat4p_InitZRotation kind:function(thumb,size=0x24) addr:0x1ff9258
+Mat4p_InitZRotation kind:function(thumb,size=0x22) addr:0x1ff9258
Mat4p_Multiply kind:function(arm,size=0x664) addr:0x1ff927c
CoDivide64By32 kind:function(arm,size=0x10) addr:0x1ff98e0
func_01ff98f0 kind:function(arm,size=0x2c) addr:0x1ff98f0
diff --git a/config/usa/arm9/overlays/ov000/delinks.txt b/config/usa/arm9/overlays/ov000/delinks.txt
index 356452b7..894e26de 100644
--- a/config/usa/arm9/overlays/ov000/delinks.txt
+++ b/config/usa/arm9/overlays/ov000/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02077360 end:0x020d8710 kind:code align:32
- .rodata start:0x020d8710 end:0x020df2d8 kind:data align:4
+ .rodata start:0x020d8710 end:0x020df2d8 kind:rodata align:4
.init start:0x020df2d8 end:0x020e1e28 kind:code align:4
- .ctor start:0x020e1e28 end:0x020e1f0c kind:data align:4
+ .ctor start:0x020e1e28 end:0x020e1f0c kind:rodata align:4
.data start:0x020e1f20 end:0x020e92c0 kind:data align:32
.bss start:0x020e92c0 end:0x020ec718 kind:bss align:32
.sbss start:0x020ec718 end:0x020eece0 kind:bss align:4
@@ -16,11 +16,66 @@ src/00_Core/Actor/ActorManager.cpp:
.text start:0x020c3374 end:0x020c3df4
.data start:0x020e7248 end:0x020e7294
+src/00_Core/Actor/ActorSpawner.cpp:
+ complete
+ .text start:0x020c3f3c end:0x020c4278
+
+src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
+ .text start:0x0208fa10 end:0x02090348
+ .init start:0x020df618 end:0x020df658
+ .ctor start:0x020e1e64 end:0x020e1e68
+ .data start:0x020e28c8 end:0x020e2984
+ .sbss start:0x020ecd04 end:0x020ecd24
+
+src/00_Core/Actor/Dungeon/ActorEventIcon.cpp:
+ .text start:0x02090494 end:0x02090898
+ .init start:0x020df698 end:0x020df6d8
+ .ctor start:0x020e1e6c end:0x020e1e70
+ .data start:0x020e2a40 end:0x020e2afc
+ .sbss start:0x020ecd44 end:0x020ecd64
+
+src/00_Core/Actor/Navi/ActorNavi.cpp:
+ .text start:0x020b8080 end:0x020b8578
+ .init start:0x020e1278 end:0x020e12dc
+ .ctor start:0x020e1ea8 end:0x020e1eac
+ .data start:0x020e64b4 end:0x020e6614
+ .sbss start:0x020ee140 end:0x020ee178
+
+src/00_Core/Actor/Navi/ActorForceNavi.cpp:
+ complete
+ .text start:0x020b85cc end:0x020b8644
+ .init start:0x020e12dc end:0x020e131c
+ .ctor start:0x020e1eac end:0x020e1eb0
+ .data start:0x020e6614 end:0x020e670c
+ .sbss start:0x020ee178 end:0x020ee198
+
+src/00_Core/Actor/Navi/ActorNaviBase.cpp:
+ .text start:0x020b87fc end:0x020bb0b8
+ .rodata start:0x020dc7bc end:0x020dc7f8
+ .data start:0x020e670c end:0x020e6874
+ .sbss start:0x020ee198 end:0x020ee19c
+
+src/00_Core/Actor/Dungeon/ActorActionObject.cpp:
+ .text start:0x020be138 end:0x020be3b8
+ .init start:0x020e1ab4 end:0x020e1af4
+ .ctor start:0x020e1eb4 end:0x020e1eb8
+ .data start:0x020e6cdc end:0x020e6d98
+ .sbss start:0x020ee4fc end:0x020ee51c
+
+src/00_Core/Actor/Navi/ActorWisdomNavi.cpp:
+ complete
+ .text start:0x020c0b04 end:0x020c0b7c
+ .init start:0x020e1af4 end:0x020e1b34
+ .ctor start:0x020e1eb8 end:0x020e1ebc
+ .data start:0x020e7038 end:0x020e7130
+ .sbss start:0x020ee530 end:0x020ee550
+
src/00_Core/Item/Item.cpp:
.text start:0x020acfc0 end:0x020ad030
.rodata start:0x020dc514 end:0x020dc664
src/00_Core/Item/ItemManager.cpp:
+ complete
.text start:0x020ad030 end:0x020ae730
.rodata start:0x020dc664 end:0x020dc674
.data start:0x020e5bf8 end:0x020e6018
@@ -67,6 +122,7 @@ src/00_Core/Player/LinkStateItem.cpp:
.data start:0x020e59e0 end:0x020e5a2c
src/00_Core/Player/LinkStateMove.cpp:
+ complete
.text start:0x020a8da4 end:0x020a8f14
.data start:0x020e5690 end:0x020e56fc
diff --git a/config/usa/arm9/overlays/ov000/relocs.txt b/config/usa/arm9/overlays/ov000/relocs.txt
index eb606487..9e9a093e 100644
--- a/config/usa/arm9/overlays/ov000/relocs.txt
+++ b/config/usa/arm9/overlays/ov000/relocs.txt
@@ -5464,6 +5464,7 @@ from:0x020ad844 kind:arm_call to:0x020ad6b4 module:overlay(0)
from:0x020ad864 kind:load to:0x027e0d38 module:dtcm
from:0x020ad868 kind:load to:0x027e10a4 module:dtcm
from:0x020ad86c kind:load to:0x027e0900 module:dtcm
+from:0x020ad870 kind:overlay_id to:29 module:none
from:0x020ad874 kind:load to:0x0217a40c module:overlays(22,23,24,25,26,29,61)
from:0x020ad878 kind:load to:0x027e0e60 module:dtcm
from:0x020ad87c kind:load to:0x027e0fc8 module:dtcm
@@ -6526,7 +6527,7 @@ from:0x020b85c8 kind:load to:0x020dc798 module:overlay(0)
from:0x020b85e4 kind:arm_call to:0x0202e9d8 module:main
from:0x020b85f0 kind:arm_call_thumb to:0x02107790 module:overlay(4)
from:0x020b8604 kind:load to:0x027e0fe0 module:dtcm
-from:0x020b8608 kind:load to:0x020e661c module:overlay(0)
+from:0x020b8608 kind:load to:0x020e6614 add:8 module:overlay(0)
from:0x020b861c kind:arm_call_thumb to:0x02107914 module:overlay(4)
from:0x020b8624 kind:arm_call to:0x0202ea08 module:main
from:0x020b8638 kind:arm_call_thumb to:0x02107914 module:overlay(4)
@@ -7436,7 +7437,7 @@ from:0x020c0afc kind:load to:0x02050f10 module:main
from:0x020c0b1c kind:arm_call to:0x0202e9d8 module:main
from:0x020c0b28 kind:arm_call_thumb to:0x02107790 module:overlay(4)
from:0x020c0b3c kind:load to:0x027e0fe0 module:dtcm
-from:0x020c0b40 kind:load to:0x020e7040 module:overlay(0)
+from:0x020c0b40 kind:load to:0x020e7038 add:8 module:overlay(0)
from:0x020c0b54 kind:arm_call_thumb to:0x02107914 module:overlay(4)
from:0x020c0b5c kind:arm_call to:0x0202ea08 module:main
from:0x020c0b70 kind:arm_call_thumb to:0x02107914 module:overlay(4)
diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt
index 6a5f320f..3d96d716 100644
--- a/config/usa/arm9/overlays/ov000/symbols.txt
+++ b/config/usa/arm9/overlays/ov000/symbols.txt
@@ -1,33 +1,33 @@
func_ov000_020773c0 kind:function(thumb,size=0x44) addr:0x2077360
-func_ov000_02077404 kind:function(thumb,size=0x24) addr:0x20773a4
+func_ov000_02077404 kind:function(thumb,size=0x22) addr:0x20773a4
func_ov000_02077428 kind:function(thumb,size=0x18) addr:0x20773c8
func_ov000_02077440 kind:function(thumb,size=0x4) addr:0x20773e0
-func_ov000_02077444 kind:function(thumb,size=0x10) addr:0x20773e4
+func_ov000_02077444 kind:function(thumb,size=0xe) addr:0x20773e4
func_ov000_02077454 kind:function(thumb,size=0x4) addr:0x20773f4
func_ov000_02077458 kind:function(thumb,size=0x18) addr:0x20773f8
func_ov000_02077470 kind:function(thumb,size=0x4) addr:0x2077410
-func_ov000_02077474 kind:function(thumb,size=0x8) addr:0x2077414
+func_ov000_02077474 kind:function(thumb,size=0x6) addr:0x2077414
func_ov000_0207747c kind:function(thumb,size=0x4) addr:0x207741c
func_ov000_02077480 kind:function(thumb,size=0x10) addr:0x2077420
func_ov000_02077490 kind:function(thumb,size=0xc) addr:0x2077430
-func_ov000_0207749c kind:function(thumb,size=0x28) addr:0x207743c
+func_ov000_0207749c kind:function(thumb,size=0x26) addr:0x207743c
func_ov000_020774c4 kind:function(thumb,size=0x8) addr:0x2077464
func_ov000_020774cc kind:function(thumb,size=0x10) addr:0x207746c
-func_ov000_020774dc kind:function(thumb,size=0x1c) addr:0x207747c
-func_ov000_020774f8 kind:function(thumb,size=0x20) addr:0x2077498
+func_ov000_020774dc kind:function(thumb,size=0x1a) addr:0x207747c
+func_ov000_020774f8 kind:function(thumb,size=0x1e) addr:0x2077498
func_ov000_02077518 kind:function(thumb,size=0x20) addr:0x20774b8
-func_ov000_02077538 kind:function(thumb,size=0x30) addr:0x20774d8
+func_ov000_02077538 kind:function(thumb,size=0x2e) addr:0x20774d8
func_ov000_02077568 kind:function(thumb,size=0x10) addr:0x2077508
-func_ov000_02077578 kind:function(thumb,size=0x60) addr:0x2077518
+func_ov000_02077578 kind:function(thumb,size=0x5e) addr:0x2077518
func_ov000_020775d8 kind:function(thumb,size=0x18) addr:0x2077578
func_ov000_020775f0 kind:function(thumb,size=0x44) addr:0x2077590
func_ov000_02077634 kind:function(thumb,size=0x60) addr:0x20775d4
func_ov000_02077694 kind:function(thumb,size=0x58) addr:0x2077634
func_ov000_020776ec kind:function(thumb,size=0x74) addr:0x207768c
-func_ov000_02077760 kind:function(thumb,size=0x50) addr:0x2077700
-func_ov000_020777b0 kind:function(thumb,size=0x14) addr:0x2077750
+func_ov000_02077760 kind:function(thumb,size=0x4e) addr:0x2077700
+func_ov000_020777b0 kind:function(thumb,size=0x12) addr:0x2077750
func_ov000_020777c4 kind:function(thumb,size=0xc) addr:0x2077764
-func_ov000_020777d0 kind:function(thumb,size=0x14) addr:0x2077770
+func_ov000_020777d0 kind:function(thumb,size=0x12) addr:0x2077770
func_ov000_020777e4 kind:function(thumb,size=0x8) addr:0x2077784
func_ov000_020777ec kind:function(thumb,size=0x8) addr:0x207778c
func_ov000_020777f4 kind:function(thumb,size=0x3c) addr:0x2077794
@@ -35,17 +35,17 @@ func_ov000_02077830 kind:function(thumb,size=0x1c) addr:0x20777d0
func_ov000_0207784c kind:function(thumb,size=0x48) addr:0x20777ec
func_ov000_02077894 kind:function(thumb,size=0x44) addr:0x2077834
func_ov000_020778d8 kind:function(thumb,size=0x8) addr:0x2077878
-func_ov000_020778e0 kind:function(thumb,size=0x10) addr:0x2077880
+func_ov000_020778e0 kind:function(thumb,size=0xe) addr:0x2077880
func_ov000_020778f0 kind:function(thumb,size=0x8) addr:0x2077890
func_ov000_020778f8 kind:function(thumb,size=0x34) addr:0x2077898
-func_ov000_0207792c kind:function(thumb,size=0x1c) addr:0x20778cc
+func_ov000_0207792c kind:function(thumb,size=0x1a) addr:0x20778cc
func_ov000_02077948 kind:function(thumb,size=0x50) addr:0x20778e8
-func_ov000_02077998 kind:function(thumb,size=0x1c) addr:0x2077938
+func_ov000_02077998 kind:function(thumb,size=0x1a) addr:0x2077938
func_ov000_020779b4 kind:function(thumb,size=0x24) addr:0x2077954
func_ov000_020779d8 kind:function(thumb,size=0x38) addr:0x2077978
func_ov000_02077a10 kind:function(thumb,size=0x20) addr:0x20779b0
func_ov000_02077a30 kind:function(thumb,size=0x10) addr:0x20779d0
-func_ov000_02077a40 kind:function(thumb,size=0x98) addr:0x20779e0
+func_ov000_02077a40 kind:function(thumb,size=0x96) addr:0x20779e0
func_ov000_02077ad8 kind:function(thumb,size=0x20) addr:0x2077a78
func_ov000_02077af8 kind:function(thumb,size=0x90) addr:0x2077a98
func_ov000_02077b88 kind:function(thumb,size=0xb0) addr:0x2077b28
@@ -56,9 +56,9 @@ func_ov000_02077cf4 kind:function(thumb,size=0x78) addr:0x2077c94
func_ov000_02077d6c kind:function(thumb,size=0x10) addr:0x2077d0c
func_ov000_02077d7c kind:function(thumb,size=0x2c) addr:0x2077d1c
func_ov000_02077da8 kind:function(thumb,size=0x28) addr:0x2077d48
-func_ov000_02077dd0 kind:function(thumb,size=0x18) addr:0x2077d70
-func_ov000_02077de8 kind:function(thumb,size=0x54) addr:0x2077d88
-func_ov000_02077e3c kind:function(thumb,size=0x20) addr:0x2077ddc
+func_ov000_02077dd0 kind:function(thumb,size=0x16) addr:0x2077d70
+func_ov000_02077de8 kind:function(thumb,size=0x52) addr:0x2077d88
+func_ov000_02077e3c kind:function(thumb,size=0x1e) addr:0x2077ddc
func_ov000_02077e5c kind:function(thumb,size=0x308) addr:0x2077dfc
func_ov000_02078164 kind:function(thumb,size=0x58) addr:0x2078104
func_ov000_020781bc kind:function(thumb,size=0x48) addr:0x207815c
@@ -69,15 +69,15 @@ func_ov000_02078298 kind:function(thumb,size=0x7c) addr:0x2078238
func_ov000_02078314 kind:function(thumb,size=0x8) addr:0x20782b4
func_ov000_0207831c kind:function(thumb,size=0x24c) addr:0x20782bc
func_ov000_02078568 kind:function(thumb,size=0xb4) addr:0x2078508
-func_ov000_0207861c kind:function(thumb,size=0x58) addr:0x20785bc
+func_ov000_0207861c kind:function(thumb,size=0x56) addr:0x20785bc
func_ov000_02078674 kind:function(thumb,size=0x1c) addr:0x2078614
func_ov000_02078690 kind:function(thumb,size=0x11c) addr:0x2078630
func_ov000_020787ac kind:function(thumb,size=0x158) addr:0x207874c
-func_ov000_02078904 kind:function(thumb,size=0x30) addr:0x20788a4
+func_ov000_02078904 kind:function(thumb,size=0x2e) addr:0x20788a4
func_ov000_02078934 kind:function(thumb,size=0x38) addr:0x20788d4
func_ov000_0207896c kind:function(thumb,size=0x128) addr:0x207890c
-func_ov000_02078a94 kind:function(thumb,size=0x40) addr:0x2078a34
-func_ov000_02078ad4 kind:function(thumb,size=0x38) addr:0x2078a74
+func_ov000_02078a94 kind:function(thumb,size=0x3e) addr:0x2078a34
+func_ov000_02078ad4 kind:function(thumb,size=0x36) addr:0x2078a74
func_ov000_02078b0c kind:function(thumb,size=0x34) addr:0x2078aac
_ZN18UnkStruct_027e0d3819func_ov000_02078b40Ev kind:function(arm,size=0x24) addr:0x2078ae0
_ZN18UnkStruct_027e0d3819func_ov000_02078b64Ev kind:function(arm,size=0x24) addr:0x2078b04
@@ -87,7 +87,7 @@ func_ov000_02078bf0 kind:function(thumb,size=0x11c) addr:0x2078b90
func_ov000_02078d0c kind:function(thumb,size=0x24) addr:0x2078cac
func_ov000_02078d30 kind:function(thumb,size=0x24) addr:0x2078cd0
func_ov000_02078d54 kind:function(thumb,size=0x3c) addr:0x2078cf4
-func_ov000_02078d90 kind:function(thumb,size=0x1c) addr:0x2078d30
+func_ov000_02078d90 kind:function(thumb,size=0x1a) addr:0x2078d30
func_ov000_02078dac kind:function(thumb,size=0x54) addr:0x2078d4c
func_ov000_02078e00 kind:function(thumb,size=0x154) addr:0x2078da0
func_ov000_02078f54 kind:function(arm,size=0x2c) addr:0x2078ef4
@@ -117,10 +117,10 @@ func_ov000_02079a4c kind:function(arm,size=0x44) addr:0x20799ec
func_ov000_02079a90 kind:function(arm,size=0x24) addr:0x2079a30
func_ov000_02079ab4 kind:function(arm,size=0x80) addr:0x2079a54
func_ov000_02079b34 kind:function(arm,size=0x20) addr:0x2079ad4
-func_ov000_02079b54 kind:function(thumb,size=0x24) addr:0x2079af4
+func_ov000_02079b54 kind:function(thumb,size=0x22) addr:0x2079af4
func_ov000_02079b78 kind:function(arm,size=0x1c) addr:0x2079b18
func_ov000_02079b94 kind:function(arm,size=0x48) addr:0x2079b34
-func_ov000_02079bdc kind:function(thumb,size=0xac) addr:0x2079b7c
+func_ov000_02079bdc kind:function(thumb,size=0xaa) addr:0x2079b7c
func_ov000_02079c88 kind:function(thumb,size=0x50) addr:0x2079c28
func_ov000_02079cd8 kind:function(thumb,size=0xc) addr:0x2079c78
func_ov000_02079ce4 kind:function(thumb,size=0xc) addr:0x2079c84
@@ -130,48 +130,48 @@ func_ov000_02079d54 kind:function(thumb,size=0x24) addr:0x2079cf4
func_ov000_02079d78 kind:function(thumb,size=0x2c) addr:0x2079d18
func_ov000_02079da4 kind:function(thumb,size=0x24) addr:0x2079d44
func_ov000_02079dc8 kind:function(thumb,size=0x10) addr:0x2079d68
-func_ov000_02079dd8 kind:function(thumb,size=0x4) addr:0x2079d78
+func_ov000_02079dd8 kind:function(thumb,size=0x2) addr:0x2079d78
func_ov000_02079ddc kind:function(thumb,size=0x14) addr:0x2079d7c
func_ov000_02079df0 kind:function(thumb,size=0x14) addr:0x2079d90
func_ov000_02079e04 kind:function(arm,size=0x38) addr:0x2079da4
func_ov000_02079e3c kind:function(arm,size=0x2c) addr:0x2079ddc
func_ov000_02079e68 kind:function(arm,size=0x4c) addr:0x2079e08
func_ov000_02079eb4 kind:function(arm,size=0x24) addr:0x2079e54
-func_ov000_02079ed8 kind:function(thumb,size=0x24) addr:0x2079e78
-func_ov000_02079efc kind:function(thumb,size=0x40) addr:0x2079e9c
+func_ov000_02079ed8 kind:function(thumb,size=0x22) addr:0x2079e78
+func_ov000_02079efc kind:function(thumb,size=0x3e) addr:0x2079e9c
func_ov000_02079f3c kind:function(thumb,size=0x20) addr:0x2079edc
func_ov000_02079f5c kind:function(thumb,size=0xa0) addr:0x2079efc
-LoadNsbTexturedModel kind:function(thumb,size=0x3c) addr:0x2079f9c
-func_ov000_0207a038 kind:function(thumb,size=0x104) addr:0x2079fd8
+LoadNsbTexturedModel kind:function(thumb,size=0x3a) addr:0x2079f9c
+func_ov000_0207a038 kind:function(thumb,size=0x102) addr:0x2079fd8
_ZN19Actor_UnkStruct_012C1Ev kind:function(arm,size=0x4c) addr:0x207a0dc
_ZN19Actor_UnkStruct_0a4C1Eiiii kind:function(thumb,size=0x1c) addr:0x207a128
func_ov000_0207a1a4 kind:function(arm,size=0x24) addr:0x207a144
-func_ov000_0207a1c8 kind:function(arm,size=0xcc) addr:0x207a168
+_ZN19Actor_UnkStruct_0a419func_ov000_0207a1c8EiP5Vec3p kind:function(arm,size=0xcc) addr:0x207a168
func_ov000_0207a294 kind:function(thumb,size=0x44) addr:0x207a234
func_ov000_0207a2d8 kind:function(arm,size=0x10) addr:0x207a278
func_ov000_0207a2e8 kind:function(thumb,size=0x14) addr:0x207a288
func_ov000_0207a2fc kind:function(arm,size=0x4) addr:0x207a29c
func_ov000_0207a300 kind:function(thumb,size=0x8c) addr:0x207a2a0
-_ZN15SaveItemManagerC1Ev kind:function(thumb,size=0x58) addr:0x207a32c
-func_ov000_0207a3e4 kind:function(thumb,size=0x34) addr:0x207a384
+_ZN15SaveItemManagerC1Ev kind:function(thumb,size=0x56) addr:0x207a32c
+func_ov000_0207a3e4 kind:function(thumb,size=0x32) addr:0x207a384
func_ov000_0207a418 kind:function(thumb,size=0xbc) addr:0x207a3b8
-func_ov000_0207a4d4 kind:function(thumb,size=0x1c) addr:0x207a474
+func_ov000_0207a4d4 kind:function(thumb,size=0x1a) addr:0x207a474
func_ov000_0207a4f0 kind:function(thumb,size=0x24) addr:0x207a490
func_ov000_0207a514 kind:function(thumb,size=0x98) addr:0x207a4b4
func_ov000_0207a5ac kind:function(thumb,size=0x48) addr:0x207a54c
-func_ov000_0207a5f4 kind:function(thumb,size=0x20) addr:0x207a594
+func_ov000_0207a5f4 kind:function(thumb,size=0x1e) addr:0x207a594
func_ov000_0207a614 kind:function(thumb,size=0x40) addr:0x207a5b4
func_ov000_0207a654 kind:function(thumb,size=0x38) addr:0x207a5f4
-func_ov000_0207a68c kind:function(thumb,size=0x20) addr:0x207a62c
+func_ov000_0207a68c kind:function(thumb,size=0x1e) addr:0x207a62c
func_ov000_0207a6ac kind:function(thumb,size=0x24) addr:0x207a64c
func_ov000_0207a6d0 kind:function(thumb,size=0x18) addr:0x207a670
-func_ov000_0207a6e8 kind:function(thumb,size=0x24) addr:0x207a688
+func_ov000_0207a6e8 kind:function(thumb,size=0x22) addr:0x207a688
func_ov000_0207a70c kind:function(thumb,size=0x24) addr:0x207a6ac
-func_ov000_0207a730 kind:function(thumb,size=0x18) addr:0x207a6d0
+func_ov000_0207a730 kind:function(thumb,size=0x16) addr:0x207a6d0
func_ov000_0207a748 kind:function(arm,size=0x4c) addr:0x207a6e8
func_ov000_0207a794 kind:function(arm,size=0x1c) addr:0x207a734
func_ov000_0207a7b0 kind:function(thumb,size=0x28) addr:0x207a750
-func_ov000_0207a7d8 kind:function(thumb,size=0x1c) addr:0x207a778
+func_ov000_0207a7d8 kind:function(thumb,size=0x1a) addr:0x207a778
func_ov000_0207a7f4 kind:function(arm,size=0x2c) addr:0x207a794
func_ov000_0207a820 kind:function(arm,size=0xc0) addr:0x207a7c0
func_ov000_0207a8e0 kind:function(thumb,size=0x28) addr:0x207a880
@@ -225,16 +225,16 @@ func_ov000_0207bb1c kind:function(arm,size=0x30) addr:0x207babc
func_ov000_0207bb4c kind:function(arm,size=0xfc) addr:0x207baec
func_ov000_0207bc48 kind:function(arm,size=0x20) addr:0x207bbe8
func_ov000_0207bc68 kind:function(arm,size=0x14) addr:0x207bc08
-func_ov000_0207bc7c kind:function(thumb,size=0x20) addr:0x207bc1c
+func_ov000_0207bc7c kind:function(thumb,size=0x1e) addr:0x207bc1c
func_ov000_0207bc9c kind:function(arm,size=0x18) addr:0x207bc3c
func_ov000_0207bcb4 kind:function(thumb,size=0x28) addr:0x207bc54
func_ov000_0207bcdc kind:function(thumb,size=0x70) addr:0x207bc7c
func_ov000_0207bd4c kind:function(thumb,size=0x50) addr:0x207bcec
func_ov000_0207bd9c kind:function(thumb,size=0x38) addr:0x207bd3c
-func_ov000_0207bdd4 kind:function(thumb,size=0x28) addr:0x207bd74
-func_ov000_0207bdfc kind:function(thumb,size=0x88) addr:0x207bd9c
+func_ov000_0207bdd4 kind:function(thumb,size=0x26) addr:0x207bd74
+func_ov000_0207bdfc kind:function(thumb,size=0x86) addr:0x207bd9c
func_ov000_0207be84 kind:function(arm,size=0x140) addr:0x207be24
-func_ov000_0207bfc4 kind:function(thumb,size=0x3c) addr:0x207bf64
+func_ov000_0207bfc4 kind:function(thumb,size=0x3a) addr:0x207bf64
func_ov000_0207c000 kind:function(thumb,size=0x30) addr:0x207bfa0
func_ov000_0207c030 kind:function(thumb,size=0x44) addr:0x207bfd0
func_ov000_0207c074 kind:function(thumb,size=0x38) addr:0x207c014
@@ -242,8 +242,8 @@ func_ov000_0207c0ac kind:function(thumb,size=0x20) addr:0x207c04c
func_ov000_0207c0cc kind:function(thumb,size=0x24) addr:0x207c06c
func_ov000_0207c0f0 kind:function(thumb,size=0x28) addr:0x207c090
func_ov000_0207c118 kind:function(thumb,size=0x58) addr:0x207c0b8
-func_ov000_0207c170 kind:function(thumb,size=0x20) addr:0x207c110
-func_ov000_0207c190 kind:function(thumb,size=0x20) addr:0x207c130
+func_ov000_0207c170 kind:function(thumb,size=0x1e) addr:0x207c110
+func_ov000_0207c190 kind:function(thumb,size=0x1e) addr:0x207c130
func_ov000_0207c1b0 kind:function(arm,size=0x48) addr:0x207c150
func_ov000_0207c1f8 kind:function(arm,size=0x68) addr:0x207c198
func_ov000_0207c260 kind:function(arm,size=0x88) addr:0x207c200
@@ -255,7 +255,7 @@ func_ov000_0207c3e8 kind:function(arm,size=0x5c) addr:0x207c388
func_ov000_0207c444 kind:function(arm,size=0x30) addr:0x207c3e4
func_ov000_0207c474 kind:function(arm,size=0xa4) addr:0x207c414
func_ov000_0207c518 kind:function(arm,size=0x98) addr:0x207c4b8
-func_ov000_0207c5b0 kind:function(thumb,size=0x24) addr:0x207c550
+func_ov000_0207c5b0 kind:function(thumb,size=0x22) addr:0x207c550
func_ov000_0207c5d4 kind:function(arm,size=0x48) addr:0x207c574
func_ov000_0207c61c kind:function(arm,size=0x58) addr:0x207c5bc
func_ov000_0207c674 kind:function(arm,size=0x20) addr:0x207c614
@@ -601,7 +601,7 @@ _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x208395
_ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x2083964
_ZN10MapManager18func_ov00_020839d4Ev kind:function(arm,size=0x24) addr:0x2083974
_ZN10MapManager18func_ov00_020839f8Ev kind:function(arm,size=0x24) addr:0x2083998
-_ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p kind:function(arm,size=0x38) addr:0x20839bc
+_ZN10MapManager18func_ov00_02083a1cEP5Vec2bPS_P5Vec3p kind:function(arm,size=0x38) addr:0x20839bc
_ZN10MapManager18func_ov00_02083a54EiPS_iii kind:function(arm,size=0x130) addr:0x20839f4
_ZN10MapManager18func_ov00_02083b84Ev kind:function(arm,size=0x28) addr:0x2083b24
_ZN10MapManager18func_ov00_02083bacEv kind:function(arm,size=0x28) addr:0x2083b4c
@@ -609,7 +609,7 @@ _ZN10MapManager18func_ov00_02083bd4Ev kind:function(arm,size=0x28) addr:0x2083b7
_ZN10MapManager18func_ov00_02083bfcEv kind:function(arm,size=0x28) addr:0x2083b9c
_ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x2083bc4
_ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x2083bf0
-_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi kind:function(arm,size=0x6c) addr:0x2083c1c
+_ZN10MapManager18func_ov00_02083c7cEP5Vec3p5Vec2b kind:function(arm,size=0x6c) addr:0x2083c1c
_ZN10MapManager18func_ov00_02083ce8Ecccci kind:function(arm,size=0x14c) addr:0x2083c88
_ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x2083dd4
_ZN10MapManager16MapData_vfunc_60Ev kind:function(arm,size=0x18) addr:0x2083df8
@@ -623,7 +623,7 @@ _ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) ad
_ZN10MapManager18GetTileWorldBoundsEP5Vec2bP4AABB kind:function(arm,size=0x64) addr:0x2083fc4
_ZN10MapManager16MapData_vfunc_54Ev kind:function(arm,size=0x18) addr:0x2084028
_ZN10MapManager18func_ov00_020840a0Ecci kind:function(arm,size=0x24) addr:0x2084040
-_ZN10MapManager16MapData_vfunc_78Ev kind:function(arm,size=0x18) addr:0x2084064
+_ZN10MapManager16MapData_vfunc_78EP5Vec2b kind:function(arm,size=0x18) addr:0x2084064
_ZN10MapManager18func_ov00_020840dcEv kind:function(arm,size=0x24) addr:0x208407c
_ZN10MapManager18func_ov00_02084100EiPS_ kind:function(arm,size=0x14) addr:0x20840a0
_ZN10MapManager17GetMapData_Unk_48Ev kind:function(arm,size=0xc) addr:0x20840b4
@@ -653,7 +653,7 @@ _ZN10MapManager17GetMapData_Unk_07Ev kind:function(arm,size=0xc) addr:0x2084930
_ZN10MapManager18func_ov00_0208499cEv kind:function(arm,size=0x24) addr:0x208493c
_ZN10MapManager18func_ov00_020849c0Ev kind:function(arm,size=0x1c) addr:0x2084960
_ZN10MapManager18func_ov00_020849dcEv kind:function(arm,size=0x1c) addr:0x208497c
-_ZN10MapManager18func_ov00_020849f8Ei kind:function(arm,size=0x58) addr:0x2084998
+_ZN10MapManager18func_ov00_020849f8Ev kind:function(arm,size=0x58) addr:0x2084998
_ZN10MapManager18func_ov00_02084a50Ev kind:function(arm,size=0xc) addr:0x20849f0
_ZN10MapManager8SpawnNPCEP5Vec3pii kind:function(arm,size=0x68) addr:0x20849fc
_ZN10MapManager18func_ov00_02084ac4Ej kind:function(arm,size=0x44) addr:0x2084a64
@@ -675,10 +675,10 @@ _ZN10MapManager17GetMapData_Unk_09Ev kind:function(arm,size=0xc) addr:0x2084cb8
_ZN10MapManager18func_ov00_02084d24Ecci kind:function(arm,size=0x28) addr:0x2084cc4
_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p kind:function(arm,size=0x170) addr:0x2084cec
_ZN10MapManager18func_ov00_02084ebcEi kind:function(arm,size=0x24c) addr:0x2084e5c
-_ZN10MapManager18func_ov00_02085108EPi kind:function(arm,size=0x174) addr:0x20850a8
+_ZN10MapManager18func_ov00_02085108EP5Vec3p kind:function(arm,size=0x174) addr:0x20850a8
_ZN10MapManager18func_ov00_0208527cEv kind:function(arm,size=0x180) addr:0x208521c
_ZN10MapManager18func_ov00_020853fcEv kind:function(arm,size=0x198) addr:0x208539c
-_ZN10MapManager18func_ov00_02085594Ev kind:function(arm,size=0x2a8) addr:0x2085534
+_ZN10MapManager18func_ov00_02085594EP5Vec3p kind:function(arm,size=0x2a8) addr:0x2085534
_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi kind:function(arm,size=0x74) addr:0x20857dc
_ZN10MapManager18func_ov00_020858b0Ev kind:function(arm,size=0x184) addr:0x2085850
_ZN10MapManager18func_ov00_02085a34Eii kind:function(arm,size=0x22c) addr:0x20859d4
@@ -779,7 +779,7 @@ func_ov000_0208aed8 kind:function(arm,size=0x244) addr:0x208ae78
func_ov000_0208b11c kind:function(arm,size=0x20) addr:0x208b0bc
func_ov000_0208b13c kind:function(arm,size=0x1c) addr:0x208b0dc
func_ov000_0208b158 kind:function(arm,size=0x28) addr:0x208b0f8
-func_ov000_0208b180 kind:function(arm,size=0x28) addr:0x208b120
+_ZN18UnkStruct_027e0f6419func_ov000_0208b180Ev kind:function(arm,size=0x28) addr:0x208b120
func_ov000_0208b1a8 kind:function(arm,size=0x28) addr:0x208b148
func_ov000_0208b1d0 kind:function(arm,size=0x28) addr:0x208b170
func_ov000_0208b1f8 kind:function(arm,size=0x28) addr:0x208b198
@@ -942,7 +942,7 @@ func_ov000_0208f9f0 kind:function(arm,size=0x1c) addr:0x208f990
func_ov000_0208fa0c kind:function(arm,size=0x5c) addr:0x208f9ac
func_ov000_0208fa68 kind:function(arm,size=0x8) addr:0x208fa08
_ZN17ActorSwitchObject6CreateEv kind:function(arm,size=0x78) addr:0x208fa10
-_ZN17ActorSwitchObject8vfunc_08Ev kind:function(arm,size=0x24) addr:0x208fa88
+_ZN17ActorSwitchObject4InitEv kind:function(arm,size=0x24) addr:0x208fa88
_ZN17ActorSwitchObject8vfunc_0cEv kind:function(arm,size=0x34) addr:0x208faac
_ZN17ActorSwitchObject8vfunc_14Ej kind:function(arm,size=0xbc) addr:0x208fae0
_ZN17ActorSwitchObject8vfunc_18Ej kind:function(arm,size=0x14) addr:0x208fb9c
@@ -961,11 +961,11 @@ func_ov000_020904c4 kind:function(arm,size=0x14) addr:0x2090464
func_ov000_020904d8 kind:function(arm,size=0x1c) addr:0x2090478
_ZN14ActorEventIcon6CreateEv kind:function(arm,size=0x30) addr:0x2090494
_ZN14ActorEventIconC2Ev kind:function(arm,size=0x5c) addr:0x20904c4
-_ZN14ActorEventIcon8vfunc_08Ev kind:function(arm,size=0xb0) addr:0x2090520
+_ZN14ActorEventIcon4InitEv kind:function(arm,size=0xb0) addr:0x2090520
_ZN14ActorEventIcon8vfunc_14Ej kind:function(arm,size=0xc) addr:0x20905d0
_ZN14ActorEventIcon8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20905dc
_ZN14ActorEventIcon19func_ov000_02090648Ej kind:function(arm,size=0x12c) addr:0x20905e8
-_Z19func_ov000_02090774j kind:function(arm,size=0x2c) addr:0x2090714
+_ZN14ActorEventIcon19func_ov000_02090774Ej kind:function(arm,size=0x2c) addr:0x2090714
_ZN14ActorEventIcon8vfunc_1cEPt kind:function(arm,size=0x110) addr:0x2090740
_ZN14ActorEventIconD1Ev kind:function(arm,size=0x20) addr:0x2090850
_ZN14ActorEventIconD0Ev kind:function(arm,size=0x28) addr:0x2090870
@@ -1323,9 +1323,9 @@ _ZN14AdventureFlags18func_ov00_020980acEv kind:function(arm,size=0x10) addr:0x20
_ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x209805c
_ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x2098070
_ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x2098094
-_ZN8FlagsUnk19func_ov000_020980f8Ev kind:function(arm,size=0x4) addr:0x2098098
-_ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x209809c
-_ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x20980b4
+_Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x2098098
+_Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x209809c
+_Z19func_ov000_02098114P15CutsceneHandler kind:function(arm,size=0x3c) addr:0x20980b4
_ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x20980f0
_ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x2098158
_ZN15CutsceneHandler19func_ov000_020985c0Ev kind:function(arm,size=0x4) addr:0x2098560
@@ -1877,7 +1877,7 @@ _ZN10PlayerBase9AddHealthEs kind:function(arm,size=0x68) addr:0x20a7d2c
_ZN10PlayerBase8TeleportEP5Vec3psibb kind:function(arm,size=0x7c) addr:0x20a7d94
_ZN10PlayerBase18TeleportToEntranceEib kind:function(arm,size=0x118) addr:0x20a7e10
_ZN10PlayerBase22TeleportToLastEntranceEb kind:function(arm,size=0x1c) addr:0x20a7f28
-_ZN13LinkStateBase8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20a7f44
+_ZN13LinkStateBase8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20a7f44
_ZN13LinkStateBase12OnStateEnterEv kind:function(arm,size=0x4) addr:0x20a7f48
_ZN13LinkStateBase12OnStateLeaveEi kind:function(arm,size=0x4) addr:0x20a7f4c
_ZN13LinkStateBase8vfunc_20Ei kind:function(arm,size=0x8) addr:0x20a7f50
@@ -1893,7 +1893,7 @@ _ZN13LinkStateBase22UpdateSwordShieldInUseEv kind:function(arm,size=0x18) addr:0
_ZN13LinkStateBase18func_ov00_020a81b8Eii kind:function(arm,size=0x24) addr:0x20a8158
_ZN13LinkStateBase16GetLinkItemStateEv kind:function(arm,size=0x10) addr:0x20a817c
_ZN13LinkStateBase6LookAtEP5Vec3p kind:function(arm,size=0x10) addr:0x20a818c
-_ZN13LinkStateBase18func_ov00_020a81fcEv kind:function(arm,size=0x10) addr:0x20a819c
+_ZN13LinkStateBase18func_ov00_020a81fcEP5Vec3pi kind:function(arm,size=0x10) addr:0x20a819c
_ZN13LinkStateBase9AddHealthEs kind:function(arm,size=0x18) addr:0x20a81ac
_ZN13LinkStateBase18func_ov00_020a8224Ei kind:function(arm,size=0x14) addr:0x20a81c4
_ZN13LinkStateBase6TurnToEsii kind:function(arm,size=0x44) addr:0x20a81d8
@@ -1915,7 +1915,7 @@ _ZN13LinkStateBase18func_ov00_020a8638Ei kind:function(arm,size=0x30) addr:0x20a
_ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et kind:function(arm,size=0x18) addr:0x20a8608
_ZN13LinkStateBase18func_ov00_020a8680Eisb kind:function(arm,size=0x5c) addr:0x20a8620
_ZN13LinkStateBase33PlayerLinkBase_func_ov00_020bccc8Ev kind:function(arm,size=0x10) addr:0x20a867c
-_ZN13LinkStateBase23PlayerLinkBase_vfunc_58Ev kind:function(arm,size=0x18) addr:0x20a868c
+_ZN13LinkStateBase23PlayerLinkBase_vfunc_58EiP8ActorRef kind:function(arm,size=0x18) addr:0x20a868c
_ZN13LinkStateBase18func_ov00_020a8704EPs kind:function(arm,size=0x70) addr:0x20a86a4
_ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi kind:function(arm,size=0xd0) addr:0x20a8714
_ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb kind:function(arm,size=0x110) addr:0x20a87e4
@@ -1923,7 +1923,7 @@ _ZN13LinkStateBase18func_ov00_020a8954EbPi kind:function(arm,size=0x40) addr:0x2
_ZN13LinkStateBase18func_ov00_020a8994Ev kind:function(arm,size=0x28) addr:0x20a8934
_ZN13LinkStateBase18func_ov00_020a89bcEii kind:function(arm,size=0x4c) addr:0x20a895c
_ZN13LinkStateBase18func_ov00_020a8a08Ei kind:function(arm,size=0x44) addr:0x20a89a8
-_ZN13LinkStateBase18func_ov00_020a8a4cEii kind:function(arm,size=0x44) addr:0x20a89ec
+_ZN13LinkStateBase18func_ov00_020a8a4cEPKvi kind:function(arm,size=0x44) addr:0x20a89ec
_ZN13LinkStateBase18func_ov00_020a8a90Ei kind:function(arm,size=0x20) addr:0x20a8a30
_ZN13LinkStateBase18func_ov00_020a8ab0Ei kind:function(arm,size=0x20) addr:0x20a8a50
_ZN13LinkStateBase18func_ov00_020a8ad0Ei kind:function(arm,size=0x34) addr:0x20a8a70
@@ -1960,7 +1960,7 @@ _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev kind:function(arm,size=0x14)
_ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev kind:function(arm,size=0xc) addr:0x20a8d80
_ZN13LinkStateBase18GetDebugHierarchy0Ev kind:function(arm,size=0xc) addr:0x20a8d8c
_ZN13LinkStateBase18GetDebugHierarchy1Ev kind:function(arm,size=0xc) addr:0x20a8d98
-_ZN13LinkStateMove8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20a8da4
+_ZN13LinkStateMove8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20a8da4
_ZN13LinkStateMove5GetIdEv kind:function(arm,size=0x8) addr:0x20a8da8
_ZN13LinkStateMove20CreateDebugHierarchyEv kind:function(thumb,size=0x48) addr:0x20a8db0
_ZN13LinkStateMove12OnStateEnterEv kind:function(arm,size=0x74) addr:0x20a8df8
@@ -1968,7 +1968,7 @@ _ZN13LinkStateMove12OnStateLeaveEi kind:function(arm,size=0x20) addr:0x20a8e6c
_ZN13LinkStateMove8vfunc_24Ei kind:function(arm,size=0x40) addr:0x20a8e8c
_ZN13LinkStateMove18func_ov00_020a8f2cEv kind:function(arm,size=0x20) addr:0x20a8ecc
_ZN13LinkStateMove18func_ov00_020a8f4cEv kind:function(arm,size=0x28) addr:0x20a8eec
-_ZN15LinkStateFollow8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20a8f14
+_ZN15LinkStateFollow8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20a8f14
_ZN15LinkStateFollow5GetIdEv kind:function(arm,size=0x8) addr:0x20a8f18
_ZN15LinkStateFollow16MoveTowardTargetEv kind:function(arm,size=0xa8) addr:0x20a8f20
_ZN15LinkStateFollow12OnStateLeaveEi kind:function(arm,size=0x88) addr:0x20a8fc8
@@ -2017,21 +2017,21 @@ func_ov000_020a9a20 kind:function(thumb,size=0x20) addr:0x20a99c0
func_ov000_020a9a40 kind:function(thumb,size=0x28) addr:0x20a99e0
func_ov000_020a9a68 kind:function(thumb,size=0x24) addr:0x20a9a08
func_ov000_020a9a8c kind:function(thumb,size=0xc) addr:0x20a9a2c
-func_ov000_020a9a98 kind:function(thumb,size=0x14) addr:0x20a9a38
+func_ov000_020a9a98 kind:function(thumb,size=0x12) addr:0x20a9a38
func_ov000_020a9aac kind:function(thumb,size=0xc) addr:0x20a9a4c
-func_ov000_020a9ab8 kind:function(thumb,size=0x14) addr:0x20a9a58
+func_ov000_020a9ab8 kind:function(thumb,size=0x12) addr:0x20a9a58
func_ov000_020a9acc kind:function(thumb,size=0xc) addr:0x20a9a6c
-func_ov000_020a9ad8 kind:function(thumb,size=0x14) addr:0x20a9a78
+func_ov000_020a9ad8 kind:function(thumb,size=0x12) addr:0x20a9a78
func_ov000_020a9aec kind:function(thumb,size=0xc) addr:0x20a9a8c
-func_ov000_020a9af8 kind:function(thumb,size=0x14) addr:0x20a9a98
+func_ov000_020a9af8 kind:function(thumb,size=0x12) addr:0x20a9a98
func_ov000_020a9b0c kind:function(thumb,size=0xc) addr:0x20a9aac
-func_ov000_020a9b18 kind:function(thumb,size=0x14) addr:0x20a9ab8
+func_ov000_020a9b18 kind:function(thumb,size=0x12) addr:0x20a9ab8
func_ov000_020a9b2c kind:function(thumb,size=0xc) addr:0x20a9acc
-func_ov000_020a9b38 kind:function(thumb,size=0x14) addr:0x20a9ad8
+func_ov000_020a9b38 kind:function(thumb,size=0x12) addr:0x20a9ad8
func_ov000_020a9b4c kind:function(thumb,size=0xc) addr:0x20a9aec
-func_ov000_020a9b58 kind:function(thumb,size=0x14) addr:0x20a9af8
+func_ov000_020a9b58 kind:function(thumb,size=0x12) addr:0x20a9af8
func_ov000_020a9b6c kind:function(thumb,size=0xc) addr:0x20a9b0c
-func_ov000_020a9b78 kind:function(thumb,size=0x14) addr:0x20a9b18
+func_ov000_020a9b78 kind:function(thumb,size=0x12) addr:0x20a9b18
func_ov000_020a9b8c kind:function(arm,size=0x2c) addr:0x20a9b2c
func_ov000_020a9bb8 kind:function(arm,size=0x34) addr:0x20a9b58
func_ov000_020a9bec kind:function(arm,size=0x28) addr:0x20a9b8c
@@ -2046,7 +2046,7 @@ func_ov000_020a9f10 kind:function(arm,size=0x174) addr:0x20a9eb0
func_ov000_020aa084 kind:function(arm,size=0x6c) addr:0x20aa024
func_ov000_020aa0f0 kind:function(arm,size=0x34) addr:0x20aa090
func_ov000_020aa124 kind:function(arm,size=0x208) addr:0x20aa0c4
-_ZN17LinkStateInteract8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20aa2cc
+_ZN17LinkStateInteract8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20aa2cc
_ZN17LinkStateInteract5GetIdEv kind:function(arm,size=0x8) addr:0x20aa2d0
_ZN17LinkStateInteract20CreateDebugHierarchyEv kind:function(arm,size=0x24) addr:0x20aa2d8
_ZN17LinkStateInteract14GetGrabActorIdEv kind:function(thumb,size=0x1d8) addr:0x20aa2fc
@@ -2074,7 +2074,7 @@ _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef kind:function(arm,size=0x3
_ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef kind:function(arm,size=0x28) addr:0x20abbb8
_ZN17LinkStateInteract18func_ov00_020abc40Ev kind:function(arm,size=0x38) addr:0x20abbe0
_ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef kind:function(arm,size=0x100) addr:0x20abc18
-_ZN13LinkStateItem8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20abd18
+_ZN13LinkStateItem8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20abd18
_ZN13LinkStateItem5GetIdEv kind:function(arm,size=0x8) addr:0x20abd1c
_ZN13LinkStateItem16IsHammerEquippedEv kind:function(arm,size=0x1c) addr:0x20abd24
_ZN13LinkStateItem12OnStateLeaveEi kind:function(arm,size=0x1b0) addr:0x20abd40
@@ -2082,7 +2082,7 @@ _ZN13LinkStateItem15GetEquipBombchuEv kind:function(arm,size=0x10) addr:0x20abef
_ZN13LinkStateItem16GetLinkStateMoveEv kind:function(arm,size=0x10) addr:0x20abf00
_ZN13LinkStateItem18func_ov00_020abf70Ev kind:function(arm,size=0x20) addr:0x20abf10
_ZN13LinkStateItem8vfunc_28Ev kind:function(arm,size=0x14) addr:0x20abf30
-_ZN15LinkStateDamage8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20abf44
+_ZN15LinkStateDamage8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20abf44
_ZN15LinkStateDamage20CreateDebugHierarchyEv kind:function(thumb,size=0x218) addr:0x20abf48
_ZN15LinkStateDamage12OnStateEnterEv kind:function(arm,size=0x630) addr:0x20ac160
_ZN15LinkStateDamage12OnStateLeaveEi kind:function(arm,size=0x1f4) addr:0x20ac790
@@ -2097,11 +2097,11 @@ _ZN15LinkStateDamage8vfunc_20Ei kind:function(arm,size=0xc0) addr:0x20acec8
_ZN15LinkStateDamage18func_ov00_020acfe8Eb kind:function(arm,size=0x30) addr:0x20acf88
_ZN15LinkStateDamage5GetIdEv kind:function(arm,size=0x8) addr:0x20acfb8
_ZN4Item18func_ov00_020ad020Ei kind:function(thumb,size=0x48) addr:0x20acfc0
-_ZN4Item18func_ov00_020ad068Ei kind:function(thumb,size=0x28) addr:0x20ad008
+_ZN4Item18func_ov00_020ad068Ei kind:function(thumb,size=0x26) addr:0x20ad008
_ZN11ItemManager6CreateEv kind:function(thumb,size=0x28) addr:0x20ad030
_ZN11ItemManager7DestroyEv kind:function(thumb,size=0x24) addr:0x20ad058
_ZN11ItemManager21ClearPrevEquippedItemEv kind:function(thumb,size=0x8) addr:0x20ad07c
-_ZN11ItemManager4SaveEP15SaveItemManager kind:function(thumb,size=0x160) addr:0x20ad084
+_ZN11ItemManager4SaveEP15SaveItemManager kind:function(thumb,size=0x15e) addr:0x20ad084
_ZN11ItemManager4LoadEPK15SaveItemManager kind:function(thumb,size=0x1d0) addr:0x20ad1e4
_ZNK11ItemManager16GetEquippedFairyEv kind:function(arm,size=0x14) addr:0x20ad3b4
_ZNK11ItemManager8GetFairyEi kind:function(arm,size=0xc) addr:0x20ad3c8
@@ -2119,16 +2119,16 @@ _ZN11ItemManager17EquipCollidesWithEP8Cylinderi kind:function(arm,size=0x80) add
_ZN11ItemManager18EquipItem_vfunc_2cEi kind:function(arm,size=0x1c) addr:0x20ad698
_ZN11ItemManager12GetEquipItemEi kind:function(arm,size=0x18) addr:0x20ad6b4
_ZNK11ItemManager7GetAmmoEi kind:function(arm,size=0x10) addr:0x20ad6cc
-_ZN11ItemManager8GiveAmmoEit kind:function(arm,size=0x54) addr:0x20ad6dc
+_ZN11ItemManager8GiveAmmoEij kind:function(arm,size=0x54) addr:0x20ad6dc
_ZN11ItemManager18func_ov00_020ad790Ei kind:function(arm,size=0x150) addr:0x20ad730
_ZNK11ItemManager19GetEquippedShipPartEj kind:function(thumb,size=0x8) addr:0x20ad880
_ZN11ItemManager13EquipShipPartEjj kind:function(thumb,size=0x8) addr:0x20ad888
-_ZNK11ItemManager16GetShipPartCountEjj kind:function(thumb,size=0x10) addr:0x20ad890
+_ZNK11ItemManager16GetShipPartCountEjj kind:function(thumb,size=0xe) addr:0x20ad890
_ZN11ItemManager16SetShipPartCountEjjc kind:function(thumb,size=0x18) addr:0x20ad8a0
_ZNK11ItemManager16GetTreasureCountEj kind:function(thumb,size=0x8) addr:0x20ad8b8
-_ZN11ItemManager16SetTreasureCountEjc kind:function(thumb,size=0x10) addr:0x20ad8c0
+_ZN11ItemManager16SetTreasureCountEjc kind:function(thumb,size=0xe) addr:0x20ad8c0
_ZNK11ItemManager10GetUnk_098Ej kind:function(thumb,size=0x8) addr:0x20ad8d0
-_ZNK11ItemManager10GetUnk_09eEj kind:function(thumb,size=0xc) addr:0x20ad8d8
+_ZNK11ItemManager10GetUnk_09eEj kind:function(thumb,size=0xa) addr:0x20ad8d8
_ZNK11ItemManager18GetUnk_09e_DividedEj kind:function(thumb,size=0x28) addr:0x20ad8e4
_ZN11ItemManager10SetUnk_09eEjt kind:function(thumb,size=0x34) addr:0x20ad90c
_ZNK11ItemManager10GetMaxAmmoEi kind:function(thumb,size=0x40) addr:0x20ad940
@@ -2137,15 +2137,15 @@ _ZNK11ItemManager19GetMaxTreasureCountEv kind:function(thumb,size=0x4) addr:0x20
_ZNK11ItemManager19GetActiveFairyLevelEi kind:function(arm,size=0x60) addr:0x20ad988
_ZNK11ItemManager13GetFairyLevelEi kind:function(arm,size=0x30) addr:0x20ad9e8
_ZNK11ItemManager7HasItemEi kind:function(arm,size=0x20) addr:0x20ada18
-_ZN11ItemManager7AddItemEi kind:function(thumb,size=0x24) addr:0x20ada38
+_ZN11ItemManager7AddItemEi kind:function(thumb,size=0x22) addr:0x20ada38
_ZNK11ItemManager18IsTreasureSalvagedEj kind:function(arm,size=0x20) addr:0x20ada5c
-_ZN11ItemManager19SetTreasureSalvagedEj kind:function(thumb,size=0x24) addr:0x20ada7c
+_ZN11ItemManager19SetTreasureSalvagedEj kind:function(thumb,size=0x22) addr:0x20ada7c
_ZN11ItemManager10RemoveItemEi kind:function(thumb,size=0x30) addr:0x20adaa0
_ZN11ItemManager15LoadFanfareItemEi kind:function(thumb,size=0x178) addr:0x20adad0
_ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p kind:function(thumb,size=0x34) addr:0x20adc48
_ZN11ItemManager8GiveItemEi kind:function(thumb,size=0x59c) addr:0x20adc7c
-_ZN11ItemManager13GiveEquipItemEit kind:function(thumb,size=0x48) addr:0x20ae218
-_ZN11ItemManager13UnequipPotionEv kind:function(thumb,size=0x14) addr:0x20ae260
+_ZN11ItemManager13GiveEquipItemEit kind:function(thumb,size=0x46) addr:0x20ae218
+_ZN11ItemManager13UnequipPotionEv kind:function(thumb,size=0x12) addr:0x20ae260
_ZNK11ItemManager12GetMaxRupeesEv kind:function(arm,size=0xc) addr:0x20ae274
_ZN11ItemManager10GiveRupeesEib kind:function(arm,size=0x70) addr:0x20ae280
_ZNK11ItemManager10GetNumKeysEv kind:function(arm,size=0x18) addr:0x20ae2f0
@@ -2153,12 +2153,12 @@ _ZN11ItemManager8GiveKeysEj kind:function(thumb,size=0x28) addr:0x20ae308
_ZNK11ItemManager15GetEquippedItemEv kind:function(arm,size=0x18) addr:0x20ae330
_ZN11ItemManager15SetEquippedItemEi kind:function(arm,size=0x18) addr:0x20ae348
_ZN11ItemManager17EquipPreviousItemEv kind:function(arm,size=0x10) addr:0x20ae360
-_ZN11ItemManager14ForceEquipItemEi kind:function(thumb,size=0x30) addr:0x20ae370
+_ZN11ItemManager14ForceEquipItemEi kind:function(thumb,size=0x2e) addr:0x20ae370
_ZN11ItemManager20ClearForcedEquipItemEv kind:function(thumb,size=0x18) addr:0x20ae3a0
_ZN11ItemManager22UpdateSwordShieldInUseEv kind:function(arm,size=0x40) addr:0x20ae3b8
-_ZN11ItemManager13UpgradeQuiverEv kind:function(thumb,size=0x2c) addr:0x20ae3f8
-_ZN11ItemManager14UpgradeBombBagEv kind:function(thumb,size=0x2c) addr:0x20ae424
-_ZN11ItemManager17UpgradeBombchuBagEv kind:function(thumb,size=0x2c) addr:0x20ae450
+_ZN11ItemManager13UpgradeQuiverEv kind:function(thumb,size=0x2a) addr:0x20ae3f8
+_ZN11ItemManager14UpgradeBombBagEv kind:function(thumb,size=0x2a) addr:0x20ae424
+_ZN11ItemManager17UpgradeBombchuBagEv kind:function(thumb,size=0x2a) addr:0x20ae450
_ZN11ItemManager18func_ov00_020ae4dcEi kind:function(arm,size=0x30) addr:0x20ae47c
_ZN11ItemManager9SetPotionEjh kind:function(arm,size=0x58) addr:0x20ae4ac
_ZNK11ItemManager9HasPotionEj kind:function(arm,size=0x34) addr:0x20ae504
@@ -2168,9 +2168,9 @@ _ZN11ItemManager21LoadDungeonItemModelsEv kind:function(thumb,size=0x4c) addr:0x
_ZN11ItemManager18PlayItemFanfareSfxEi kind:function(thumb,size=0xa8) addr:0x20ae5e8
_ZNK11ItemManager21HasShipPartPriceShownEjj kind:function(thumb,size=0x2c) addr:0x20ae690
_ZN11ItemManager21AddShipPartPriceShownEjj kind:function(thumb,size=0x28) addr:0x20ae6bc
-_ZNK11ItemManager21HasTreasurePriceShownEj kind:function(thumb,size=0x28) addr:0x20ae6e4
-_ZN11ItemManager21AddTreasurePriceShownEj kind:function(thumb,size=0x24) addr:0x20ae70c
-_ZN13LinkStateRoll8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20ae730
+_ZNK11ItemManager21HasTreasurePriceShownEj kind:function(thumb,size=0x26) addr:0x20ae6e4
+_ZN11ItemManager21AddTreasurePriceShownEj kind:function(thumb,size=0x22) addr:0x20ae70c
+_ZN13LinkStateRoll8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20ae730
_ZN13LinkStateRoll5GetIdEv kind:function(arm,size=0x8) addr:0x20ae734
_ZN13LinkStateRoll20CreateDebugHierarchyEv kind:function(thumb,size=0x8) addr:0x20ae73c
_ZN13LinkStateRoll12OnStateEnterEv kind:function(arm,size=0x394) addr:0x20ae744
@@ -2179,12 +2179,12 @@ _ZN13LinkStateRoll8vfunc_20Ei kind:function(arm,size=0x180) addr:0x20aebb0
_ZN13LinkStateRoll8vfunc_24Ei kind:function(arm,size=0xc8) addr:0x20aed30
_ZN13LinkStateRoll18func_ov00_020aee58Est kind:function(arm,size=0x2c) addr:0x20aedf8
_ZN13LinkStateRoll18func_ov00_020aee84Ev kind:function(arm,size=0x28) addr:0x20aee24
-_ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv kind:function(arm,size=0x4c) addr:0x20aee4c
+_ZN13PlayerControl18func_ov00_020aeeacEv kind:function(arm,size=0x4c) addr:0x20aee4c
_ZN13PlayerControl18func_ov00_020aeef8Ev kind:function(arm,size=0x38) addr:0x20aee98
_ZN13PlayerControl18func_ov00_020aef30Ev kind:function(thumb,size=0x38) addr:0x20aeed0
_ZN13PlayerControl9UpdateAimEv kind:function(thumb,size=0x94) addr:0x20aef08
_ZN13PlayerControl14GetFollowActorEv kind:function(arm,size=0x20) addr:0x20aef9c
-_ZN13PlayerControl18func_ov00_020af01cEPc kind:function(arm,size=0x28) addr:0x20aefbc
+_ZN13PlayerControl18func_ov00_020af01cEP5Vec2b kind:function(arm,size=0x28) addr:0x20aefbc
_ZN13PlayerControl9SetUnk_80Ev kind:function(arm,size=0xc) addr:0x20aefe4
_ZN13PlayerControl13StopFollowingEv kind:function(arm,size=0x1c) addr:0x20aeff0
_ZN13PlayerControl18func_ov00_020af06cEv kind:function(arm,size=0x22c) addr:0x20af00c
@@ -2195,24 +2195,24 @@ _ZN13PlayerControl17CheckUntouchedNowEj kind:function(arm,size=0x30) addr:0x20af
_ZN13PlayerControl13CheckTouchingEj kind:function(arm,size=0x28) addr:0x20af3cc
_ZN13PlayerControl14CheckTouchFastEj kind:function(arm,size=0x50) addr:0x20af3f4
_ZN13PlayerControl18func_ov00_020af4a4Ev kind:function(arm,size=0x94) addr:0x20af444
-_ZN13PlayerControl18func_ov00_020af538Ev kind:function(arm,size=0x1ac) addr:0x20af4d8
+_ZN13PlayerControl18func_ov00_020af538Ebh kind:function(arm,size=0x1ac) addr:0x20af4d8
_ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii kind:function(arm,size=0x94) addr:0x20af684
_ZN13PlayerControl18func_ov00_020af778Ev kind:function(arm,size=0x360) addr:0x20af718
_ZN13PlayerControl18func_ov00_020afad8EP5Vec3p kind:function(arm,size=0x94) addr:0x20afa78
_ZN13PlayerControl18func_ov00_020afb6cEv kind:function(arm,size=0x31c) addr:0x20afb0c
_ZN13PlayerControl18func_ov00_020afe88Eib kind:function(arm,size=0x64) addr:0x20afe28
_ZN13PlayerControl18func_ov00_020afeecEib kind:function(arm,size=0xa4) addr:0x20afe8c
-_ZN13PlayerControl18func_ov00_020aff90Eii kind:function(arm,size=0x5c) addr:0x20aff30
+_ZN13PlayerControl18func_ov00_020aff90EP5Vec3pi kind:function(arm,size=0x5c) addr:0x20aff30
_ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_ kind:function(arm,size=0x160) addr:0x20aff8c
-_ZN13PlayerControl18func_ov00_020b014cEv kind:function(arm,size=0xd0) addr:0x20b00ec
-_ZN13PlayerControl6SetAimEv kind:function(arm,size=0x24) addr:0x20b01bc
+_ZN13PlayerControl18func_ov00_020b014cEP5Vec3p kind:function(arm,size=0xd0) addr:0x20b00ec
+_ZN13PlayerControl8ResetAimEv kind:function(arm,size=0x24) addr:0x20b01bc
_ZN13PlayerControl14UpdateAimWorldEP5Vec3p kind:function(arm,size=0xe8) addr:0x20b01e0
_ZN13PlayerControl13GetTouchAngleEv kind:function(arm,size=0x24) addr:0x20b02c8
_ZN13PlayerControl18func_ov00_020b034cEv kind:function(arm,size=0xcc) addr:0x20b02ec
_ZN13PlayerControl18func_ov00_020b0418Ev kind:function(arm,size=0x84) addr:0x20b03b8
_ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb kind:function(arm,size=0x14c) addr:0x20b043c
_ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p kind:function(arm,size=0x190) addr:0x20b0588
-_ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji kind:function(arm,size=0x33c) addr:0x20b0718
+_ZN13PlayerControl18func_ov00_020b0778EP5Vec3pjPi kind:function(arm,size=0x33c) addr:0x20b0718
_ZN13PlayerControl16CheckNotTouchingEv kind:function(arm,size=0x1c) addr:0x20b0a54
_ZN13PlayerControl18func_ov00_020b0ad0EP5Actor kind:function(arm,size=0x3c) addr:0x20b0a70
_ZN13PlayerControl18func_ov00_020b0b0cEPsPiS1_Pb kind:function(arm,size=0x2dc) addr:0x20b0aac
@@ -2233,7 +2233,7 @@ func_ov000_020b1498 kind:function(arm,size=0x90) addr:0x20b1438
_ZN24UnkStruct_ov000_020b1528C2Ev kind:function(thumb,size=0x14) addr:0x20b14c8
_ZN24UnkStruct_ov000_020b1528C1Ev kind:function(thumb,size=0x14) addr:0x20b14dc
_ZN24UnkStruct_ov000_020b1528D1Ev kind:function(thumb,size=0xc) addr:0x20b14f0
-_ZN24UnkStruct_ov000_020b1528D0Ev kind:function(thumb,size=0x14) addr:0x20b14fc
+_ZN24UnkStruct_ov000_020b1528D0Ev kind:function(thumb,size=0x12) addr:0x20b14fc
_ZN24UnkStruct_ov000_020b1528D2Ev kind:function(thumb,size=0xc) addr:0x20b1510
_ZN24UnkStruct_ov000_020b15285ClearEv kind:function(arm,size=0x1c) addr:0x20b151c
_ZN24UnkStruct_ov000_020b15288vfunc_08Ev kind:function(arm,size=0x8) addr:0x20b1538
@@ -2252,7 +2252,7 @@ func_ov000_020b1bfc kind:function(arm,size=0x140) addr:0x20b1b9c
func_ov000_020b1d3c kind:function(arm,size=0x34) addr:0x20b1cdc
func_ov000_020b1d70 kind:function(arm,size=0xa8) addr:0x20b1d10
IsXzDistWithin kind:function(arm,size=0x54) addr:0x20b1db8
-_ZN17LinkStateCutscene8vfunc_00Ev kind:function(thumb,size=0x4) addr:0x20b1e0c
+_ZN17LinkStateCutscene8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x20b1e0c
_ZN24UnkStruct_ov004_0210abb88vfunc_08Ei kind:function(arm,size=0x28) addr:0x20b1e10
_ZN17LinkStateCutscene19func_ov000_020b1e98Ei kind:function(arm,size=0x20) addr:0x20b1e38
_ZN17LinkStateCutscene19func_ov000_020b1eb8Ev kind:function(arm,size=0x34) addr:0x20b1e58
@@ -2288,7 +2288,7 @@ _ZN17LinkStateCutscene8vfunc_40Ev kind:function(arm,size=0x78) addr:0x20b3d0c
_ZN17LinkStateCutscene8vfunc_38Ev kind:function(arm,size=0x94) addr:0x20b3d84
_ZN24UnkStruct_ov004_0210abb8D1Ev kind:function(arm,size=0x1c) addr:0x20b3e18
_ZN24UnkStruct_ov004_0210abb8D0Ev kind:function(arm,size=0x14) addr:0x20b3e34
-func_ov000_020b3ea8 kind:function(thumb,size=0x4) addr:0x20b3e48
+func_ov000_020b3ea8 kind:function(thumb,size=0x2) addr:0x20b3e48
func_ov000_020b3eac kind:function(arm,size=0x18) addr:0x20b3e4c
func_ov000_020b3ec4 kind:function(arm,size=0x24) addr:0x20b3e64
func_ov000_020b3ee8 kind:function(arm,size=0x3c) addr:0x20b3e88
@@ -2348,8 +2348,8 @@ _ZN23UnkStruct_027e0fd4_Unk18vfunc_14Ev kind:function(arm,size=0x14) addr:0x20b4
_Z19func_ov000_020b4b60ii kind:function(arm,size=0x30) addr:0x20b4b00
_ZN18UnkStruct_027e0fd4C2Ev kind:function(thumb,size=0x78) addr:0x20b4b30
_ZN18UnkStruct_027e0fd4D1Ev kind:function(thumb,size=0xc) addr:0x20b4ba8
-_ZN18UnkStruct_027e0fd4D0Ev kind:function(thumb,size=0x14) addr:0x20b4bb4
-_ZN18UnkStruct_027e0fd48vfunc_1cEv kind:function(thumb,size=0x4) addr:0x20b4bc8
+_ZN18UnkStruct_027e0fd4D0Ev kind:function(thumb,size=0x12) addr:0x20b4bb4
+_ZN18UnkStruct_027e0fd48vfunc_1cEv kind:function(thumb,size=0x2) addr:0x20b4bc8
_ZN18UnkStruct_027e0fd419func_Ov000_020b4c2cEv kind:function(arm,size=0x20) addr:0x20b4bcc
_ZN18UnkStruct_027e0fd419func_ov000_020b4c4cEP5Vec3pi kind:function(thumb,size=0xb4) addr:0x20b4bec
_ZN18UnkStruct_027e0fd419func_ov000_020b4d00Ev kind:function(thumb,size=0x28) addr:0x20b4ca0
@@ -2397,40 +2397,40 @@ func_ov000_020b7fe8 kind:function(arm,size=0x14) addr:0x20b7f88
_ZN13PlayerManager4SaveEP15SaveItemManager kind:function(thumb,size=0x50) addr:0x20b7f9c
_ZN13PlayerManager17IncreaseMaxHealthEs kind:function(thumb,size=0x14) addr:0x20b7fec
_ZN13PlayerManager19UpdateShipMaxHealthEv kind:function(thumb,size=0x80) addr:0x20b8000
-func_ov000_020b80e0 kind:function(arm,size=0x30) addr:0x20b8080
-func_ov000_020b8110 kind:function(arm,size=0x24) addr:0x20b80b0
-func_ov000_020b8134 kind:function(arm,size=0x14) addr:0x20b80d4
-func_ov000_020b8148 kind:function(arm,size=0x1c) addr:0x20b80e8
-func_ov000_020b8164 kind:function(arm,size=0x50) addr:0x20b8104
-func_ov000_020b81b4 kind:function(arm,size=0x40) addr:0x20b8154
-func_ov000_020b81f4 kind:function(arm,size=0xc) addr:0x20b8194
-func_ov000_020b8200 kind:function(arm,size=0x10) addr:0x20b81a0
-func_ov000_020b8210 kind:function(arm,size=0x38) addr:0x20b81b0
-func_ov000_020b8248 kind:function(arm,size=0x38) addr:0x20b81e8
-func_ov000_020b8280 kind:function(arm,size=0x8) addr:0x20b8220
-func_ov000_020b8288 kind:function(arm,size=0x8) addr:0x20b8228
-func_ov000_020b8290 kind:function(arm,size=0x2c) addr:0x20b8230
-func_ov000_020b82bc kind:function(arm,size=0x2c) addr:0x20b825c
-func_ov000_020b82e8 kind:function(arm,size=0x58) addr:0x20b8288
-func_ov000_020b8340 kind:function(arm,size=0xb8) addr:0x20b82e0
-func_ov000_020b83f8 kind:function(arm,size=0x20) addr:0x20b8398
-func_ov000_020b8418 kind:function(arm,size=0x3c) addr:0x20b83b8
-func_ov000_020b8454 kind:function(arm,size=0x24) addr:0x20b83f4
-func_ov000_020b8478 kind:function(arm,size=0x24) addr:0x20b8418
-func_ov000_020b849c kind:function(arm,size=0x34) addr:0x20b843c
-func_ov000_020b84d0 kind:function(arm,size=0x8) addr:0x20b8470
-func_ov000_020b84d8 kind:function(arm,size=0x54) addr:0x20b8478
-func_ov000_020b852c kind:function(arm,size=0x10) addr:0x20b84cc
-func_ov000_020b853c kind:function(arm,size=0x14) addr:0x20b84dc
-func_ov000_020b8550 kind:function(arm,size=0x48) addr:0x20b84f0
-func_ov000_020b8598 kind:function(arm,size=0x40) addr:0x20b8538
+_ZN9ActorNavi6CreateEv kind:function(arm,size=0x30) addr:0x20b8080
+_ZN24UnkStruct_ov000_020b8110C2Ev kind:function(arm,size=0x24) addr:0x20b80b0
+_ZN24UnkStruct_ov000_020b8110D1Ev kind:function(arm,size=0x14) addr:0x20b80d4
+_ZN24UnkStruct_ov000_020b8110D0Ev kind:function(arm,size=0x1c) addr:0x20b80e8
+_ZN24UnkStruct_ov000_020b81108vfunc_08EPs kind:function(arm,size=0x50) addr:0x20b8104
+_ZN24UnkStruct_ov000_020b81108vfunc_18EPi kind:function(arm,size=0x40) addr:0x20b8154
+_ZN24UnkStruct_ov000_020b81108vfunc_14EPt kind:function(arm,size=0xc) addr:0x20b8194
+_ZN9ActorNavi19func_ov000_020b8200Ev kind:function(arm,size=0x10) addr:0x20b81a0
+_ZN9ActorNavi8vfunc_c4Ev kind:function(arm,size=0x38) addr:0x20b81b0
+_ZN9ActorNavi8vfunc_c8Ev kind:function(arm,size=0x38) addr:0x20b81e8
+_ZN9ActorNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b8220
+_ZN9ActorNavi8vfunc_b8Ev kind:function(arm,size=0x8) addr:0x20b8228
+_ZN9ActorNavi8vfunc_d4Ev kind:function(arm,size=0x2c) addr:0x20b8230
+_ZN9ActorNavi8vfunc_d0Ev kind:function(arm,size=0x2c) addr:0x20b825c
+_ZN9ActorNavi9SetActiveEb kind:function(arm,size=0x58) addr:0x20b8288
+_ZN9ActorNavi8vfunc_e0Ev kind:function(arm,size=0xb8) addr:0x20b82e0
+_ZN9ActorNavi8vfunc_d8Ev kind:function(arm,size=0x20) addr:0x20b8398
+_ZN9ActorNavi8vfunc_20Eb kind:function(arm,size=0x3c) addr:0x20b83b8
+_ZN9ActorNavi8vfunc_ccEPi kind:function(arm,size=0x24) addr:0x20b83f4
+_ZN9ActorNavi8vfunc_c0EP5Vec3p kind:function(arm,size=0x24) addr:0x20b8418
+_ZN9ActorNavi8vfunc_e8Ev kind:function(arm,size=0x34) addr:0x20b843c
+_ZN9ActorNavi8vfunc_8cEv kind:function(arm,size=0x8) addr:0x20b8470
+_ZN9ActorNavi8vfunc_ecEv kind:function(arm,size=0x54) addr:0x20b8478
+_Z14GetEquipHammerv kind:function(arm,size=0x10) addr:0x20b84cc local
+_ZN9ActorNavi19func_ov000_020b853cEv kind:function(arm,size=0x14) addr:0x20b84dc
+_ZN9ActorNaviD1Ev kind:function(arm,size=0x48) addr:0x20b84f0
+_ZN9ActorNaviD0Ev kind:function(arm,size=0x40) addr:0x20b8538
func_ov000_020b85d8 kind:function(thumb,size=0x28) addr:0x20b8578
func_ov000_020b8600 kind:function(arm,size=0x10) addr:0x20b85a0
func_ov000_020b8610 kind:function(arm,size=0x1c) addr:0x20b85b0
-func_ov000_020b862c kind:function(arm,size=0x40) addr:0x20b85cc
-func_ov000_020b866c kind:function(arm,size=0x8) addr:0x20b860c
-func_ov000_020b8674 kind:function(arm,size=0x1c) addr:0x20b8614
-func_ov000_020b8690 kind:function(arm,size=0x14) addr:0x20b8630
+_ZN14ActorForceNavi6CreateEv kind:function(arm,size=0x40) addr:0x20b85cc
+_ZN14ActorForceNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b860c
+_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x1c) addr:0x20b8614
+_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x14) addr:0x20b8630
func_ov000_020b86a4 kind:function(arm,size=0x44) addr:0x20b8644
func_ov000_020b86e8 kind:function(arm,size=0x30) addr:0x20b8688
func_ov000_020b8718 kind:function(arm,size=0x8) addr:0x20b86b8
@@ -2498,10 +2498,10 @@ _ZN15ItemModelLoader19func_ov000_020bb390Ei kind:function(thumb,size=0x18) addr:
_ZN15ItemModelLoader19func_ov000_020bb3a8Ei kind:function(thumb,size=0xc) addr:0x20bb348
_ZN15ItemModelLoader19func_ov000_020bb3b4EiPc kind:function(thumb,size=0x20) addr:0x20bb354
_ZN15ItemModelLoader19func_ov000_020bb3d4Eii kind:function(thumb,size=0x20) addr:0x20bb374
-_ZN15ItemModelLoader19func_ov000_020bb3f4EPc kind:function(thumb,size=0x20) addr:0x20bb394
+_ZN15ItemModelLoader19func_ov000_020bb3f4EPc kind:function(thumb,size=0x1e) addr:0x20bb394
_ZN15ItemModelLoader19func_ov000_020bb414Ei kind:function(thumb,size=0xc) addr:0x20bb3b4
_ZN15ItemModelLoader19func_ov000_020bb420Ei kind:function(thumb,size=0xc) addr:0x20bb3c0
-_ZN15ItemModelLoader19func_ov000_020bb42cEi kind:function(thumb,size=0x20) addr:0x20bb3cc
+_ZN15ItemModelLoader19func_ov000_020bb42cEi kind:function(thumb,size=0x1e) addr:0x20bb3cc
_ZN14PlayerLinkBase12GetMaxHealthEv kind:function(arm,size=0x20) addr:0x20bb3ec
_ZN14PlayerLinkBase8vfunc_10EP8Cylinder kind:function(arm,size=0x70) addr:0x20bb40c
_ZN14PlayerLinkBase8vfunc_14EP8Cylinder kind:function(arm,size=0x30) addr:0x20bb47c
@@ -2608,8 +2608,8 @@ func_ov000_020bd634 kind:function(arm,size=0x8) addr:0x20bd5d4
func_ov000_020bd63c kind:function(arm,size=0x38) addr:0x20bd5dc
func_ov000_020bd674 kind:function(arm,size=0x1c) addr:0x20bd614
func_ov000_020bd690 kind:function(thumb,size=0x88) addr:0x20bd630
-func_ov000_020bd718 kind:function(thumb,size=0x10) addr:0x20bd6b8
-func_ov000_020bd728 kind:function(thumb,size=0x70) addr:0x20bd6c8
+func_ov000_020bd718 kind:function(thumb,size=0xe) addr:0x20bd6b8
+func_ov000_020bd728 kind:function(thumb,size=0x6e) addr:0x20bd6c8
func_ov000_020bd798 kind:function(thumb,size=0x40) addr:0x20bd738
func_ov000_020bd7d8 kind:function(arm,size=0x16c) addr:0x20bd778
func_ov000_020bd944 kind:function(arm,size=0x14) addr:0x20bd8e4
@@ -2617,13 +2617,13 @@ func_ov000_020bd958 kind:function(arm,size=0x4fc) addr:0x20bd8f8
func_ov000_020bde54 kind:function(arm,size=0x60) addr:0x20bddf4
func_ov000_020bdeb4 kind:function(arm,size=0x10c) addr:0x20bde54
func_ov000_020bdfc0 kind:function(arm,size=0x1d8) addr:0x20bdf60
-func_ov000_020be198 kind:function(arm,size=0x30) addr:0x20be138
-func_ov000_020be1c8 kind:function(arm,size=0x20) addr:0x20be168
-func_ov000_020be1e8 kind:function(arm,size=0x14) addr:0x20be188
-func_ov000_020be1fc kind:function(arm,size=0x1c) addr:0x20be19c
-func_ov000_020be218 kind:function(arm,size=0x7c) addr:0x20be1b8
-func_ov000_020be294 kind:function(arm,size=0x178) addr:0x20be234
-func_ov000_020be40c kind:function(arm,size=0xc) addr:0x20be3ac
+_ZN17ActorActionObject6CreateEv kind:function(arm,size=0x30) addr:0x20be138
+_ZN17ActorActionObjectC1Ev kind:function(arm,size=0x20) addr:0x20be168
+_ZN17ActorActionObjectD1Ev kind:function(arm,size=0x14) addr:0x20be188
+_ZN17ActorActionObjectD0Ev kind:function(arm,size=0x1c) addr:0x20be19c
+_ZN17ActorActionObject4InitEv kind:function(arm,size=0x7c) addr:0x20be1b8
+_ZN17ActorActionObject8vfunc_14Ej kind:function(arm,size=0x178) addr:0x20be234
+_ZN17ActorActionObject8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20be3ac
func_ov000_020be418 kind:function(arm,size=0x4c) addr:0x20be3b8
func_ov000_020be464 kind:function(arm,size=0x78) addr:0x20be404
func_ov000_020be4dc kind:function(arm,size=0x64) addr:0x20be47c
@@ -2640,7 +2640,7 @@ _ZN9EquipItem8vfunc_2cEv kind:function(arm,size=0x8) addr:0x20be904
_ZN9EquipItem8vfunc_34EPs kind:function(arm,size=0x4) addr:0x20be90c
_ZNK9EquipItem8vfunc_40Ev kind:function(arm,size=0x8) addr:0x20be910
_ZNK9EquipItem8vfunc_44Ei kind:function(arm,size=0x8) addr:0x20be918
-_ZNK9EquipItem8vfunc_48Ei kind:function(arm,size=0x8) addr:0x20be920
+_ZNK9EquipItem8vfunc_48Eii kind:function(arm,size=0x8) addr:0x20be920
_ZNK9EquipItem8vfunc_4cEv kind:function(arm,size=0x8) addr:0x20be928
_ZN9EquipItem12GetPlayerPosEv kind:function(arm,size=0xc) addr:0x20be930
_ZN9EquipItem19func_ov000_020be99cEP5Vec3p kind:function(arm,size=0x48) addr:0x20be93c
@@ -2690,21 +2690,21 @@ _ZN11EquipShield8vfunc_00Ev kind:function(arm,size=0x4) addr:0x20c0674
_ZNK11EquipShield5GetIdEv kind:function(arm,size=0x8) addr:0x20c0678
_ZNK11EquipShield8IsUsableEi kind:function(arm,size=0x2c) addr:0x20c0680
_ZN11EquipShield19func_ov000_020c070cEjP5Vec3pi kind:function(arm,size=0x60) addr:0x20c06ac
-_ZN11EquipShield8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x20c070c
+_ZN11EquipShield8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x20c070c
_ZN11EquipShield8vfunc_18Ev kind:function(arm,size=0x88) addr:0x20c0710
_ZN11EquipShield8vfunc_1cEv kind:function(arm,size=0xc) addr:0x20c0798
_ZN11EquipShield8vfunc_30Ev kind:function(arm,size=0x68) addr:0x20c07a4
_ZN11EquipShield8vfunc_38Ei kind:function(arm,size=0x21c) addr:0x20c080c
_ZNK11EquipShield9GetHitboxEP8Cylinder kind:function(arm,size=0xdc) addr:0x20c0a28
-func_ov000_020c0b64 kind:function(arm,size=0x40) addr:0x20c0b04
-func_ov000_020c0ba4 kind:function(arm,size=0x8) addr:0x20c0b44
-func_ov000_020c0bac kind:function(arm,size=0x1c) addr:0x20c0b4c
-func_ov000_020c0bc8 kind:function(arm,size=0x14) addr:0x20c0b68
+_ZN15ActorWisdomNavi6CreateEv kind:function(arm,size=0x40) addr:0x20c0b04
+_ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20c0b44
+_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x20c0b4c
+_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x20c0b68
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x20c0b7c
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x20c0ba8
-func_ov000_020c0c30 kind:function(thumb,size=0x4) addr:0x20c0bd0
+func_ov000_020c0c30 kind:function(thumb,size=0x2) addr:0x20c0bd0
func_ov000_020c0c34 kind:function(thumb,size=0xc) addr:0x20c0bd4
-func_ov000_020c0c40 kind:function(thumb,size=0x4) addr:0x20c0be0
+func_ov000_020c0c40 kind:function(thumb,size=0x2) addr:0x20c0be0
func_ov000_020c0c44 kind:function(arm,size=0x2c) addr:0x20c0be4
func_ov000_020c0c70 kind:function(arm,size=0x2c) addr:0x20c0c10
func_ov000_020c0c9c kind:function(arm,size=0x2c) addr:0x20c0c3c
@@ -2732,7 +2732,7 @@ _ZN5ActorC2Ev kind:function(arm,size=0x1c4) addr:0x20c14f4
_ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x20c16b8
_ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x20c16bc
_ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x20c16d0
-_ZN5Actor8vfunc_08Ev kind:function(arm,size=0x8) addr:0x20c16d4
+_ZN5Actor4InitEv kind:function(arm,size=0x8) addr:0x20c16d4
_ZN5Actor8vfunc_0cEv kind:function(arm,size=0x4) addr:0x20c16dc
_ZN5Actor8vfunc_10Ej kind:function(arm,size=0x4) addr:0x20c16e0
_ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x20c16e4
@@ -2745,7 +2745,7 @@ _ZN5Actor8vfunc_30Ev kind:function(arm,size=0x8) addr:0x20c1750
_ZN5Actor8vfunc_14Ej kind:function(arm,size=0x4) addr:0x20c1758
_ZN5Actor8vfunc_18Ej kind:function(arm,size=0x18) addr:0x20c175c
_ZN5Actor8vfunc_1cEPt kind:function(arm,size=0xc0) addr:0x20c1774
-_ZN5Actor8vfunc_20Ei kind:function(arm,size=0x4) addr:0x20c1834
+_ZN5Actor8vfunc_20Eb kind:function(arm,size=0x4) addr:0x20c1834
_ZN5Actor10SetUnk_129Eb kind:function(arm,size=0x10) addr:0x20c1838
_ZN5Actor10SetUnk_11bEv kind:function(arm,size=0x1c) addr:0x20c1848
_ZN5Actor11SetVelocityEP5Vec3p kind:function(arm,size=0x38) addr:0x20c1864
@@ -2773,7 +2773,7 @@ _ZN5Actor20KillPickupItemActorsEv kind:function(arm,size=0x54) addr:0x20c1ab8
_ZN5Actor15TrySetTransformEP9Transform kind:function(arm,size=0x48) addr:0x20c1b0c
_ZN5Actor12SetTransformEP9Transform kind:function(arm,size=0x44) addr:0x20c1b54
_ZN5Actor8vfunc_a8Ev kind:function(arm,size=0x4) addr:0x20c1b98
-_ZN5Actor18func_Ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1b9c
+_ZN5Actor18func_ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1b9c
_ZN5Actor18func_ov00_020c1c20Eii kind:function(arm,size=0x28) addr:0x20c1bc0
_ZN5Actor8vfunc_48EP9Knockback kind:function(arm,size=0x8) addr:0x20c1be8
_ZN5Actor8vfunc_4cEPi kind:function(arm,size=0x44) addr:0x20c1bf0
@@ -2834,7 +2834,7 @@ _ZN5Actor10GetLinkPosEP5Vec3p kind:function(arm,size=0x60) addr:0x20c31d0
_ZN5Actor15GetLinkDummyPosEP5Vec3p kind:function(arm,size=0x98) addr:0x20c3230
_ZN19Actor_UnkStruct_09cC2Ev kind:function(arm,size=0x20) addr:0x20c32c8
func_ov000_020c3348 kind:function(arm,size=0x24) addr:0x20c32e8
-func_ov000_020c336c kind:function(thumb,size=0x1c) addr:0x20c330c
+func_ov000_020c336c kind:function(thumb,size=0x1a) addr:0x20c330c
func_ov000_020c3388 kind:function(thumb,size=0x28) addr:0x20c3328
func_ov000_020c33b0 kind:function(thumb,size=0x24) addr:0x20c3350
_ZN12ActorManager11DeleteActorEjb kind:function(arm,size=0xb0) addr:0x20c3374
@@ -2868,7 +2868,7 @@ _ZN12ActorSpawnerD1Ev kind:function(arm,size=0x4) addr:0x20c3fb0
_ZN12ActorSpawner19func_ov000_020c4014Ev kind:function(arm,size=0x4) addr:0x20c3fb4
_ZN12ActorSpawner19func_ov000_020c4018Ev kind:function(arm,size=0x4) addr:0x20c3fb8
_ZN12ActorSpawner11CreateActorEj kind:function(arm,size=0x2c) addr:0x20c3fbc
-_ZN12ActorSpawner5SpawnEjP5Vec3pPvP8ActorRef kind:function(arm,size=0x290) addr:0x20c3fe8
+_ZN12ActorSpawner5SpawnEjP5Vec3pP17ActorSpawnOptionsP8ActorRef kind:function(arm,size=0x290) addr:0x20c3fe8
func_ov000_020c42d8 kind:function(arm,size=0x14) addr:0x20c4278
func_ov000_020c42ec kind:function(arm,size=0x30) addr:0x20c428c
func_ov000_020c431c kind:function(arm,size=0x6c) addr:0x20c42bc
@@ -3213,7 +3213,7 @@ func_ov000_020ce6b0 kind:function(arm,size=0x8) addr:0x20ce650
func_ov000_020ce6b8 kind:function(arm,size=0x1c) addr:0x20ce658
func_ov000_020ce6d4 kind:function(arm,size=0x14) addr:0x20ce674
func_ov000_020ce6e8 kind:function(arm,size=0x1c) addr:0x20ce688
-func_ov000_020ce704 kind:function(thumb,size=0x3c) addr:0x20ce6a4
+func_ov000_020ce704 kind:function(thumb,size=0x3a) addr:0x20ce6a4
func_ov000_020ce740 kind:function(arm,size=0x1a4) addr:0x20ce6e0
func_ov000_020ce8e4 kind:function(arm,size=0x30) addr:0x20ce884
func_ov000_020ce914 kind:function(arm,size=0x5c) addr:0x20ce8b4
@@ -3222,12 +3222,12 @@ func_ov000_020cea3c kind:function(arm,size=0x44) addr:0x20ce9dc
func_ov000_020cea80 kind:function(arm,size=0x4c) addr:0x20cea20
func_ov000_020ceacc kind:function(arm,size=0x58) addr:0x20cea6c
func_ov000_020ceb24 kind:function(arm,size=0xa8) addr:0x20ceac4
-func_ov000_020cebcc kind:function(arm,size=0x3c) addr:0x20ceb6c
+_ZN18UnkStruct_027e0ffc19func_ov000_020cebccEjsi kind:function(arm,size=0x3c) addr:0x20ceb6c
func_ov000_020cec08 kind:function(arm,size=0x58) addr:0x20ceba8
func_ov000_020cec60 kind:function(arm,size=0x78) addr:0x20cec00
func_ov000_020cecd8 kind:function(arm,size=0x8c) addr:0x20cec78
-func_ov000_020ced64 kind:function(arm,size=0x18) addr:0x20ced04
-func_ov000_020ced7c kind:function(arm,size=0x40) addr:0x20ced1c
+_ZN18UnkStruct_027e0ffc19func_ov000_020ced64EP8Cylinderjj kind:function(arm,size=0x18) addr:0x20ced04
+_ZN18UnkStruct_027e0ffc19func_ov000_020ced7cEP5Vec3piii kind:function(arm,size=0x40) addr:0x20ced1c
func_ov000_020cedbc kind:function(arm,size=0x54) addr:0x20ced5c
func_ov000_020cee10 kind:function(arm,size=0x48) addr:0x20cedb0
func_ov000_020cee58 kind:function(arm,size=0x88) addr:0x20cedf8
@@ -3353,7 +3353,7 @@ func_ov000_020d0a30 kind:function(arm,size=0x24) addr:0x20d09d0
func_ov000_020d0a54 kind:function(arm,size=0x2c) addr:0x20d09f4
func_ov000_020d0a80 kind:function(arm,size=0xfc) addr:0x20d0a20
func_ov000_020d0b7c kind:function(arm,size=0x4d8) addr:0x20d0b1c
-func_ov000_020d1054 kind:function(thumb,size=0x4) addr:0x20d0ff4
+func_ov000_020d1054 kind:function(thumb,size=0x2) addr:0x20d0ff4
func_ov000_020d1058 kind:function(arm,size=0x4) addr:0x20d0ff8
func_ov000_020d105c kind:function(arm,size=0x4) addr:0x20d0ffc
func_ov000_020d1060 kind:function(arm,size=0x4) addr:0x20d1000
@@ -3365,8 +3365,8 @@ func_ov000_020d1080 kind:function(arm,size=0x4) addr:0x20d1020
func_ov000_020d1084 kind:function(arm,size=0x4) addr:0x20d1024
func_ov000_020d1088 kind:function(arm,size=0x4) addr:0x20d1028
func_ov000_020d108c kind:function(arm,size=0x4) addr:0x20d102c
-func_ov000_020d1090 kind:function(thumb,size=0x4) addr:0x20d1030
-func_ov000_020d1094 kind:function(thumb,size=0x4) addr:0x20d1034
+func_ov000_020d1090 kind:function(thumb,size=0x2) addr:0x20d1030
+func_ov000_020d1094 kind:function(thumb,size=0x2) addr:0x20d1034
func_ov000_020d1098 kind:function(arm,size=0x4) addr:0x20d1038
func_ov000_020d109c kind:function(arm,size=0x4) addr:0x20d103c
func_ov000_020d10a0 kind:function(arm,size=0x8) addr:0x20d1040
@@ -3561,8 +3561,8 @@ func_ov000_020d65b8 kind:function(thumb,size=0x38) addr:0x20d6558
func_ov000_020d65f0 kind:function(thumb,size=0x30) addr:0x20d6590
func_ov000_020d6620 kind:function(thumb,size=0x4c) addr:0x20d65c0
func_ov000_020d666c kind:function(thumb,size=0x38) addr:0x20d660c
-func_ov000_020d66a4 kind:function(thumb,size=0x1c) addr:0x20d6644
-func_ov000_020d66c0 kind:function(thumb,size=0x6c) addr:0x20d6660
+func_ov000_020d66a4 kind:function(thumb,size=0x1a) addr:0x20d6644
+func_ov000_020d66c0 kind:function(thumb,size=0x6a) addr:0x20d6660
func_ov000_020d672c kind:function(thumb,size=0x34) addr:0x20d66cc
func_ov000_020d6760 kind:function(thumb,size=0x38) addr:0x20d6700
func_ov000_020d6798 kind:function(arm,size=0x28) addr:0x20d6738
@@ -3721,8 +3721,8 @@ data_ov000_020dc55c kind:data(any) addr:0x20dc4fc
data_ov000_020dc560 kind:data(any) addr:0x20dc500
data_ov000_020dc574 kind:data(any) addr:0x20dc514
data_ov000_020dc674 kind:data(any) addr:0x20dc614
-sQuiverSizes kind:data(any) addr:0x20dc664
-sBombBagSizes kind:data(any) addr:0x20dc66c
+sQuiverSizes kind:data(any) addr:0x20dc664 local
+sBombBagSizes kind:data(any) addr:0x20dc66c local
data_ov000_020dc6e0 kind:data(any) addr:0x20dc680
data_ov000_020dc6e4 kind:data(any) addr:0x20dc684
data_ov000_020dc6e8 kind:data(any) addr:0x20dc688
@@ -3940,7 +3940,7 @@ __sinit_ov000_020df4cc kind:function(arm,size=0x174) addr:0x20df46c
__sinit_ov000_020df640 kind:function(arm,size=0x38) addr:0x20df5e0
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x20df618
__sinit_ov000_020df6b8 kind:function(arm,size=0x40) addr:0x20df658
-__sinit_ov000_020df6f8 kind:function(arm,size=0x40) addr:0x20df698
+__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x20df698
__sinit_ov000_020df738 kind:function(arm,size=0x38) addr:0x20df6d8
__sinit_ov000_020df770 kind:function(arm,size=0x20) addr:0x20df710
__sinit_ov000_020df790 kind:function(arm,size=0x1718) addr:0x20df730
@@ -3955,11 +3955,11 @@ __sinit_ov000_020e11d8 kind:function(arm,size=0x34) addr:0x20e1178
__sinit_ov000_020e120c kind:function(arm,size=0x44) addr:0x20e11ac
__sinit_ov000_020e1250 kind:function(arm,size=0x40) addr:0x20e11f0
__sinit_ov000_020e1290 kind:function(arm,size=0x48) addr:0x20e1230
-__sinit_ov000_020e12d8 kind:function(arm,size=0x64) addr:0x20e1278
-__sinit_ov000_020e133c kind:function(arm,size=0x40) addr:0x20e12dc
+__sinit_ActorNavi.cpp kind:function(arm,size=0x64) addr:0x20e1278 local
+__sinit_ActorForceNavi.cpp kind:function(arm,size=0x40) addr:0x20e12dc local
__sinit_ov000_020e137c kind:function(arm,size=0x798) addr:0x20e131c
-__sinit_ov000_020e1b14 kind:function(arm,size=0x40) addr:0x20e1ab4
-__sinit_ov000_020e1b54 kind:function(arm,size=0x40) addr:0x20e1af4
+__sinit_ActorActionObject.cpp kind:function(arm,size=0x40) addr:0x20e1ab4 local
+__sinit_ActorWisdomNavi.cpp kind:function(arm,size=0x40) addr:0x20e1af4 local
__sinit_ov000_020e1b94 kind:function(arm,size=0x40) addr:0x20e1b34
__sinit_ov000_020e1bd4 kind:function(arm,size=0x40) addr:0x20e1b74
__sinit_ov000_020e1c14 kind:function(arm,size=0x40) addr:0x20e1bb4
@@ -4723,9 +4723,10 @@ data_ov000_020e5674 kind:data(any) addr:0x20e5614
data_ov000_020e5684 kind:data(any) addr:0x20e5624
data_ov000_020e5694 kind:data(any) addr:0x20e5634
_ZTV13LinkStateBase kind:data(any) addr:0x20e564c
-data_ov000_020e56f0 kind:data(any) addr:0x20e5690
-data_ov000_020e5700 kind:data(any) addr:0x20e56a0
-data_ov000_020e5744 kind:data(any) addr:0x20e56e4
+_ZN13LinkStateMove19data_ov000_020e56f0E kind:data(any) addr:0x20e5690
+data_ov000_020e56f4$964 kind:data(any) addr:0x20e5694 local
+_ZTV13LinkStateMove kind:data(any) addr:0x20e5698
+@922 kind:data(any) addr:0x20e56e4 local
data_ov000_020e575c kind:data(any) addr:0x20e56fc
data_ov000_020e5760 kind:data(any) addr:0x20e5700
data_ov000_020e5764 kind:data(any) addr:0x20e5704
@@ -4768,7 +4769,7 @@ data_ov000_020e59fc kind:data(any) addr:0x20e599c
data_ov000_020e5a0c kind:data(any) addr:0x20e59ac
data_ov000_020e5a20 kind:data(any) addr:0x20e59c0
data_ov000_020e5a34 kind:data(any) addr:0x20e59d4
-_ZTV13LinkStateItem kind:data(any) addr:0x20e59e8
+_ZTV13LinkStateItem kind:data(any) addr:0x20e59e0
data_ov000_020e5a8c kind:data(any) addr:0x20e5a2c
data_ov000_020e5a90 kind:data(any) addr:0x20e5a30
data_ov000_020e5a94 kind:data(any) addr:0x20e5a34
@@ -4804,107 +4805,108 @@ data_ov000_020e5c04 kind:data(any) addr:0x20e5ba4
data_ov000_020e5c1c kind:data(any) addr:0x20e5bbc
data_ov000_020e5c34 kind:data(any) addr:0x20e5bd4
data_ov000_020e5c44 kind:data(any) addr:0x20e5be4
-data_ov000_020e5c58 kind:data(any) addr:0x20e5bf8
-data_ov000_020e5c5c kind:data(any) addr:0x20e5bfc
-data_ov000_020e5c60 kind:data(any) addr:0x20e5c00
-data_ov000_020e5c64 kind:data(any) addr:0x20e5c04
-data_ov000_020e5c68 kind:data(any) addr:0x20e5c08
-data_ov000_020e5c6c kind:data(any) addr:0x20e5c0c
-data_ov000_020e5c70 kind:data(any) addr:0x20e5c10
-data_ov000_020e5c74 kind:data(any) addr:0x20e5c14
-sShipPartTypes kind:data(any) addr:0x20e5c18
-sDefaultItemModel kind:data(any) addr:0x20e5c38
-sItemModelNames kind:data(any) addr:0x20e5c3c
-sItemModelNames2 kind:data(any) addr:0x20e5d54
-sItemModelNames3 kind:data(any) addr:0x20e5d74
+@1437 kind:data(any) addr:0x20e5bf8 local
+@1436 kind:data(any) addr:0x20e5bfc local
+@1435 kind:data(any) addr:0x20e5c00 local
+@1434 kind:data(any) addr:0x20e5c04 local
+@1433 kind:data(any) addr:0x20e5c08 local
+@1432 kind:data(any) addr:0x20e5c0c local
+@1431 kind:data(any) addr:0x20e5c10 local
+@1430 kind:data(any) addr:0x20e5c14 local
+sShipPartTypes kind:data(any) addr:0x20e5c18 local
+sDefaultItemModel kind:data(any) addr:0x20e5c38 local
+sItemModelNames kind:data(any) addr:0x20e5c3c local
+sItemModelNames2 kind:data(any) addr:0x20e5d54 local
+sItemModelNames3 kind:data(any) addr:0x20e5d74 local
sSpecialItemModelNames kind:data(any) addr:0x20e5d98
-data_ov000_020e5e14 kind:data(any) addr:0x20e5db4
-data_ov000_020e5e18 kind:data(any) addr:0x20e5db8
-data_ov000_020e5e1c kind:data(any) addr:0x20e5dbc
-data_ov000_020e5e20 kind:data(any) addr:0x20e5dc0
-data_ov000_020e5e28 kind:data(any) addr:0x20e5dc8
-data_ov000_020e5e2c kind:data(any) addr:0x20e5dcc
-data_ov000_020e5e30 kind:data(any) addr:0x20e5dd0
-data_ov000_020e5e38 kind:data(any) addr:0x20e5dd8
-data_ov000_020e5e40 kind:data(any) addr:0x20e5de0
-data_ov000_020e5e44 kind:data(any) addr:0x20e5de4
-data_ov000_020e5e4c kind:data(any) addr:0x20e5dec
-data_ov000_020e5e58 kind:data(any) addr:0x20e5df8
-data_ov000_020e5e64 kind:data(any) addr:0x20e5e04
-data_ov000_020e5e68 kind:data(any) addr:0x20e5e08
-data_ov000_020e5e70 kind:data(any) addr:0x20e5e10
-data_ov000_020e5e78 kind:data(any) addr:0x20e5e18
-data_ov000_020e5e80 kind:data(any) addr:0x20e5e20
-data_ov000_020e5e88 kind:data(any) addr:0x20e5e28
-data_ov000_020e5e90 kind:data(any) addr:0x20e5e30
-data_ov000_020e5e98 kind:data(any) addr:0x20e5e38
-data_ov000_020e5ea0 kind:data(any) addr:0x20e5e40
-data_ov000_020e5ea8 kind:data(any) addr:0x20e5e48
-data_ov000_020e5eb0 kind:data(any) addr:0x20e5e50
-data_ov000_020e5eb8 kind:data(any) addr:0x20e5e58
-data_ov000_020e5ec4 kind:data(any) addr:0x20e5e64
-data_ov000_020e5ecc kind:data(any) addr:0x20e5e6c
-data_ov000_020e5ed4 kind:data(any) addr:0x20e5e74
-data_ov000_020e5edc kind:data(any) addr:0x20e5e7c
-data_ov000_020e5ee0 kind:data(any) addr:0x20e5e80
-data_ov000_020e5ee8 kind:data(any) addr:0x20e5e88
-data_ov000_020e5ef0 kind:data(any) addr:0x20e5e90
-data_ov000_020e5ef8 kind:data(any) addr:0x20e5e98
-data_ov000_020e5f00 kind:data(any) addr:0x20e5ea0
-data_ov000_020e5f04 kind:data(any) addr:0x20e5ea4
-data_ov000_020e5f0c kind:data(any) addr:0x20e5eac
-data_ov000_020e5f18 kind:data(any) addr:0x20e5eb8
-data_ov000_020e5f20 kind:data(any) addr:0x20e5ec0
-data_ov000_020e5f28 kind:data(any) addr:0x20e5ec8
-data_ov000_020e5f30 kind:data(any) addr:0x20e5ed0
-data_ov000_020e5f38 kind:data(any) addr:0x20e5ed8
-data_ov000_020e5f40 kind:data(any) addr:0x20e5ee0
-data_ov000_020e5f48 kind:data(any) addr:0x20e5ee8
-data_ov000_020e5f50 kind:data(any) addr:0x20e5ef0
-data_ov000_020e5f5c kind:data(any) addr:0x20e5efc
-data_ov000_020e5f68 kind:data(any) addr:0x20e5f08
-data_ov000_020e5f74 kind:data(any) addr:0x20e5f14
-data_ov000_020e5f7c kind:data(any) addr:0x20e5f1c
-data_ov000_020e5f84 kind:data(any) addr:0x20e5f24
-data_ov000_020e5f90 kind:data(any) addr:0x20e5f30
-data_ov000_020e5f9c kind:data(any) addr:0x20e5f3c
-data_ov000_020e5fa4 kind:data(any) addr:0x20e5f44
-data_ov000_020e5fac kind:data(any) addr:0x20e5f4c
-data_ov000_020e5fb4 kind:data(any) addr:0x20e5f54
-data_ov000_020e5fbc kind:data(any) addr:0x20e5f5c
-data_ov000_020e5fc8 kind:data(any) addr:0x20e5f68
-data_ov000_020e5fd0 kind:data(any) addr:0x20e5f70
-data_ov000_020e5fd8 kind:data(any) addr:0x20e5f78
-data_ov000_020e5fe0 kind:data(any) addr:0x20e5f80
-data_ov000_020e5fe8 kind:data(any) addr:0x20e5f88
-data_ov000_020e5ff4 kind:data(any) addr:0x20e5f94
-data_ov000_020e6000 kind:data(any) addr:0x20e5fa0
-data_ov000_020e6008 kind:data(any) addr:0x20e5fa8
-data_ov000_020e6010 kind:data(any) addr:0x20e5fb0
-data_ov000_020e6018 kind:data(any) addr:0x20e5fb8
-data_ov000_020e6024 kind:data(any) addr:0x20e5fc4
-data_ov000_020e6030 kind:data(any) addr:0x20e5fd0
-data_ov000_020e603c kind:data(any) addr:0x20e5fdc
-data_ov000_020e6048 kind:data(any) addr:0x20e5fe8
-data_ov000_020e6050 kind:data(any) addr:0x20e5ff0
-data_ov000_020e6058 kind:data(any) addr:0x20e5ff8
-data_ov000_020e6068 kind:data(any) addr:0x20e6008
-data_ov000_020e6070 kind:data(any) addr:0x20e6010
+@2138 kind:data(any) addr:0x20e5db4 local
+@2139 kind:data(any) addr:0x20e5db8 local
+@2140 kind:data(any) addr:0x20e5dbc local
+@2141 kind:data(any) addr:0x20e5dc0 local
+@2142 kind:data(any) addr:0x20e5dc8 local
+@2143 kind:data(any) addr:0x20e5dcc local
+@2144 kind:data(any) addr:0x20e5dd0 local
+@2145 kind:data(any) addr:0x20e5dd8 local
+@2146 kind:data(any) addr:0x20e5de0 local
+@2147 kind:data(any) addr:0x20e5de4 local
+@2148 kind:data(any) addr:0x20e5dec local
+@2149 kind:data(any) addr:0x20e5df8 local
+@2150 kind:data(any) addr:0x20e5e04 local
+@2151 kind:data(any) addr:0x20e5e08 local
+@2152 kind:data(any) addr:0x20e5e10 local
+@2153 kind:data(any) addr:0x20e5e18 local
+@2154 kind:data(any) addr:0x20e5e20 local
+@2155 kind:data(any) addr:0x20e5e28 local
+@2156 kind:data(any) addr:0x20e5e30 local
+@2157 kind:data(any) addr:0x20e5e38 local
+@2158 kind:data(any) addr:0x20e5e40 local
+@2159 kind:data(any) addr:0x20e5e48 local
+@2160 kind:data(any) addr:0x20e5e50 local
+@2161 kind:data(any) addr:0x20e5e58 local
+@2162 kind:data(any) addr:0x20e5e64 local
+@2163 kind:data(any) addr:0x20e5e6c local
+@2164 kind:data(any) addr:0x20e5e74 local
+@2165 kind:data(any) addr:0x20e5e7c local
+@2166 kind:data(any) addr:0x20e5e80 local
+@2167 kind:data(any) addr:0x20e5e88 local
+@2168 kind:data(any) addr:0x20e5e90 local
+@2169 kind:data(any) addr:0x20e5e98 local
+@2170 kind:data(any) addr:0x20e5ea0 local
+@2171 kind:data(any) addr:0x20e5ea4 local
+@2172 kind:data(any) addr:0x20e5eac local
+@2173 kind:data(any) addr:0x20e5eb8 local
+@2174 kind:data(any) addr:0x20e5ec0 local
+@2175 kind:data(any) addr:0x20e5ec8 local
+@2176 kind:data(any) addr:0x20e5ed0 local
+@2177 kind:data(any) addr:0x20e5ed8 local
+@2178 kind:data(any) addr:0x20e5ee0 local
+@2179 kind:data(any) addr:0x20e5ee8 local
+@2180 kind:data(any) addr:0x20e5ef0 local
+@2181 kind:data(any) addr:0x20e5efc local
+@2182 kind:data(any) addr:0x20e5f08 local
+@2183 kind:data(any) addr:0x20e5f14 local
+@2184 kind:data(any) addr:0x20e5f1c local
+@2185 kind:data(any) addr:0x20e5f24 local
+@2186 kind:data(any) addr:0x20e5f30 local
+@2187 kind:data(any) addr:0x20e5f3c local
+@2188 kind:data(any) addr:0x20e5f44 local
+@2189 kind:data(any) addr:0x20e5f4c local
+@2190 kind:data(any) addr:0x20e5f54 local
+@2191 kind:data(any) addr:0x20e5f5c local
+@2192 kind:data(any) addr:0x20e5f68 local
+@2193 kind:data(any) addr:0x20e5f70 local
+@2194 kind:data(any) addr:0x20e5f78 local
+@2195 kind:data(any) addr:0x20e5f80 local
+@2196 kind:data(any) addr:0x20e5f88 local
+@2197 kind:data(any) addr:0x20e5f94 local
+@2198 kind:data(any) addr:0x20e5fa0 local
+@2199 kind:data(any) addr:0x20e5fa8 local
+@2200 kind:data(any) addr:0x20e5fb0 local
+@2201 kind:data(any) addr:0x20e5fb8 local
+@2202 kind:data(any) addr:0x20e5fc4 local
+@2203 kind:data(any) addr:0x20e5fd0 local
+@2204 kind:data(any) addr:0x20e5fdc local
+@2205 kind:data(any) addr:0x20e5fe8 local
+@2206 kind:data(any) addr:0x20e5ff0 local
+@2207 kind:data(any) addr:0x20e5ff8 local
+@2208 kind:data(any) addr:0x20e6008 local
+@2209 kind:data(any) addr:0x20e6010 local
data_ov000_020e6078 kind:data(any) addr:0x20e6018
data_ov000_020e6088 kind:data(any) addr:0x20e6028
data_ov000_020e6098 kind:data(any) addr:0x20e6038
data_ov000_020e60a8 kind:data(any) addr:0x20e6048
_ZTV13LinkStateRoll kind:data(any) addr:0x20e6060
-data_ov000_020e6104 kind:data(any) addr:0x20e60a4
-data_ov000_020e6108 kind:data(any) addr:0x20e60a8
-data_ov000_020e610c kind:data(any) addr:0x20e60ac
-data_ov000_020e6110 kind:data(any) addr:0x20e60b0
-data_ov000_020e6114 kind:data(any) addr:0x20e60b4
-data_ov000_020e6118 kind:data(any) addr:0x20e60b8
-data_ov000_020e611c kind:data(any) addr:0x20e60bc
-data_ov000_020e6120 kind:data(any) addr:0x20e60c0
-data_ov000_020e6124 kind:data(any) addr:0x20e60c4
-data_ov000_020e6148 kind:data(any) addr:0x20e60e8
+@1505 kind:data(any) addr:0x20e60a4
+@1504 kind:data(any) addr:0x20e60a8
+@1503 kind:data(any) addr:0x20e60ac
+@1502 kind:data(any) addr:0x20e60b0
+@1501 kind:data(any) addr:0x20e60b4
+@1500 kind:data(any) addr:0x20e60b8
+@1499 kind:data(any) addr:0x20e60bc
+@1498 kind:data(any) addr:0x20e60c0
+sShipTypes kind:data(any) addr:0x20e60c4 local
+data_ov000_020e6144 kind:data(any) addr:0x20e6144
+@1556 kind:data(any) addr:0x20e60e8
data_ov000_020e6158 kind:data(any) addr:0x20e60f8
data_ov000_020e6174 kind:data(any) addr:0x20e6114
data_ov000_020e6178 kind:data(any) addr:0x20e6118
@@ -4956,9 +4958,9 @@ data_ov000_020e6528 kind:data(any) addr:0x20e64c8
data_ov000_020e652c kind:data(any) addr:0x20e64cc
data_ov000_020e6530 kind:data(any) addr:0x20e64d0
data_ov000_020e6534 kind:data(any) addr:0x20e64d4
-data_ov000_020e6560 kind:data(any) addr:0x20e6500
-data_ov000_020e6658 kind:data(any) addr:0x20e65f8
-data_ov000_020e667c kind:data(any) addr:0x20e661c
+_ZTV9ActorNavi kind:data(any) addr:0x20e6500
+_ZTV24UnkStruct_ov000_020b8110 kind:data(any) addr:0x20e65f8
+_ZTV14ActorForceNavi kind:data(any) addr:0x20e6614
data_ov000_020e676c kind:data(any) addr:0x20e670c
data_ov000_020e6770 kind:data(any) addr:0x20e6710
data_ov000_020e6774 kind:data(any) addr:0x20e6714
@@ -5017,7 +5019,7 @@ data_ov000_020e6c58 kind:data(any) addr:0x20e6bf8
data_ov000_020e6c5c kind:data(any) addr:0x20e6bfc
_ZTV14PlayerLinkBase kind:data(any) addr:0x20e6c28
data_ov000_020e6d18 kind:data(any) addr:0x20e6cb8
-data_ov000_020e6d44 kind:data(any) addr:0x20e6ce4
+_ZTV17ActorActionObject kind:data(any) addr:0x20e6ce4
data_ov000_020e6df8 kind:data(any) addr:0x20e6d98
data_ov000_020e6dfc kind:data(any) addr:0x20e6d9c
data_ov000_020e6e08 kind:data(any) addr:0x20e6da8
@@ -5057,7 +5059,7 @@ data_ov000_020e7014 kind:data(any) addr:0x20e6fb4
data_ov000_020e7018 kind:data(any) addr:0x20e6fb8
data_ov000_020e701c kind:data(any) addr:0x20e6fbc
data_ov000_020e7048 kind:data(any) addr:0x20e6fe8
-data_ov000_020e70a0 kind:data(any) addr:0x20e7040
+_ZTV15ActorWisdomNavi kind:data(any) addr:0x20e7038
data_ov000_020e7198 kind:data(any) addr:0x20e7138
data_ov000_020e71a0 kind:data(any) addr:0x20e7140
data_ov000_020e71a4 kind:data(any) addr:0x20e7144
@@ -5070,14 +5072,14 @@ data_ov000_020e71bc kind:data(any) addr:0x20e715c
sShipTypes kind:data(any) addr:0x20e7160
_ZTV17KillPickupsFilter kind:data(any) addr:0x20e7188
_ZTV5Actor kind:data(any) addr:0x20e7194
-data_ov000_020e72a8 kind:data(any) addr:0x20e7248
-data_ov000_020e72ac kind:data(any) addr:0x20e724c
-data_ov000_020e72b0 kind:data(any) addr:0x20e7250
-data_ov000_020e72b4 kind:data(any) addr:0x20e7254
-data_ov000_020e72b8 kind:data(any) addr:0x20e7258
-data_ov000_020e72bc kind:data(any) addr:0x20e725c
-data_ov000_020e72c0 kind:data(any) addr:0x20e7260
-data_ov000_020e72c4 kind:data(any) addr:0x20e7264
+@964 kind:data(any) addr:0x20e7248 local
+@963 kind:data(any) addr:0x20e724c local
+@962 kind:data(any) addr:0x20e7250 local
+@961 kind:data(any) addr:0x20e7254 local
+@960 kind:data(any) addr:0x20e7258 local
+@959 kind:data(any) addr:0x20e725c local
+@958 kind:data(any) addr:0x20e7260 local
+@957 kind:data(any) addr:0x20e7264 local
_ZTV11FilterActor kind:data(any) addr:0x20e7288
data_ov000_020e72fc kind:data(any) addr:0x20e729c
data_ov000_020e7300 kind:data(any) addr:0x20e72a0
@@ -5875,12 +5877,12 @@ data_ov000_020ee16c kind:bss addr:0x20ee10c
data_ov000_020ee178 kind:bss addr:0x20ee118
data_ov000_020ee184 kind:bss addr:0x20ee124
data_ov000_020ee198 kind:bss addr:0x20ee138
-data_ov000_020ee1a0 kind:bss addr:0x20ee140
-data_ov000_020ee1ac kind:bss addr:0x20ee14c
-data_ov000_020ee1c0 kind:bss addr:0x20ee160
+@418 kind:bss addr:0x20ee140 local
+_ZN9ActorNavi5gTypeE kind:bss addr:0x20ee14c
+@419 kind:bss addr:0x20ee160 local
data_ov000_020ee1cc kind:bss addr:0x20ee16c
-data_ov000_020ee1d8 kind:bss addr:0x20ee178
-data_ov000_020ee1e4 kind:bss addr:0x20ee184
+@403 kind:bss addr:0x20ee178 local
+_ZN14ActorForceNavi5gTypeE kind:bss addr:0x20ee184
data_ov000_020ee1f8 kind:bss addr:0x20ee198
data_ov000_020ee1fc kind:bss addr:0x20ee19c
data_ov000_020ee208 kind:bss addr:0x20ee1a8
@@ -5939,12 +5941,12 @@ data_ov000_020ee50c kind:bss addr:0x20ee4ac
data_ov000_020ee520 kind:bss addr:0x20ee4c0
data_ov000_020ee534 kind:bss addr:0x20ee4d4
data_ov000_020ee548 kind:bss addr:0x20ee4e8
-data_ov000_020ee55c kind:bss addr:0x20ee4fc
-data_ov000_020ee568 kind:bss addr:0x20ee508
+@360 kind:bss addr:0x20ee4fc local
+_ZN17ActorActionObject5gTypeE kind:bss addr:0x20ee508
gPlayerAnimHandler kind:bss addr:0x20ee51c
data_ov000_020ee588 kind:bss addr:0x20ee528
-data_ov000_020ee590 kind:bss addr:0x20ee530
-data_ov000_020ee59c kind:bss addr:0x20ee53c
+@403 kind:bss addr:0x20ee530 local
+_ZN15ActorWisdomNavi5gTypeE kind:bss addr:0x20ee53c
data_ov000_020ee5b0 kind:bss addr:0x20ee550
data_ov000_020ee5bc kind:bss addr:0x20ee55c
data_ov000_020ee5d0 kind:bss addr:0x20ee570
diff --git a/config/usa/arm9/overlays/ov001/delinks.txt b/config/usa/arm9/overlays/ov001/delinks.txt
index 24709b61..12545356 100644
--- a/config/usa/arm9/overlays/ov001/delinks.txt
+++ b/config/usa/arm9/overlays/ov001/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x020eece0 end:0x020f8654 kind:code align:32
- .rodata start:0x020f8654 end:0x020f8894 kind:data align:4
- .ctor start:0x020f8894 end:0x020f8898 kind:data align:4
+ .rodata start:0x020f8654 end:0x020f8894 kind:rodata align:4
+ .ctor start:0x020f8894 end:0x020f8898 kind:rodata align:4
.data start:0x020f88a0 end:0x020f8b00 kind:data align:32
.bss start:0x020f8b00 end:0x020ff140 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov001/symbols.txt b/config/usa/arm9/overlays/ov001/symbols.txt
index a635b481..40b66446 100644
--- a/config/usa/arm9/overlays/ov001/symbols.txt
+++ b/config/usa/arm9/overlays/ov001/symbols.txt
@@ -85,16 +85,16 @@ func_ov001_020f2028 kind:function(thumb,size=0x30c) addr:0x20f1fc8
func_ov001_020f2334 kind:function(thumb,size=0x74) addr:0x20f22d4
func_ov001_020f23a8 kind:function(thumb,size=0x28) addr:0x20f2348
func_ov001_020f23d0 kind:function(thumb,size=0x118) addr:0x20f2370
-func_ov001_020f24e8 kind:function(thumb,size=0x60) addr:0x20f2488
+func_ov001_020f24e8 kind:function(thumb,size=0x5e) addr:0x20f2488
func_ov001_020f2548 kind:function(thumb,size=0x1b0) addr:0x20f24e8
func_ov001_020f26f8 kind:function(thumb,size=0xf8) addr:0x20f2698
func_ov001_020f27f0 kind:function(thumb,size=0x6c) addr:0x20f2790
-func_ov001_020f285c kind:function(thumb,size=0xc) addr:0x20f27fc
+func_ov001_020f285c kind:function(thumb,size=0xa) addr:0x20f27fc
func_ov001_020f2868 kind:function(thumb,size=0x10) addr:0x20f2808
func_ov001_020f2878 kind:function(thumb,size=0x10) addr:0x20f2818
func_ov001_020f2888 kind:function(thumb,size=0x54) addr:0x20f2828
func_ov001_020f28dc kind:function(thumb,size=0x314) addr:0x20f287c
-func_ov001_020f2bf0 kind:function(thumb,size=0x54) addr:0x20f2b90
+func_ov001_020f2bf0 kind:function(thumb,size=0x52) addr:0x20f2b90
func_ov001_020f2c44 kind:function(thumb,size=0x1d4) addr:0x20f2be4
func_ov001_020f2e18 kind:function(thumb,size=0x50) addr:0x20f2db8
func_ov001_020f2e68 kind:function(thumb,size=0x104) addr:0x20f2e08
@@ -102,10 +102,10 @@ func_ov001_020f2f6c kind:function(thumb,size=0x98) addr:0x20f2f0c
func_ov001_020f3004 kind:function(thumb,size=0x78) addr:0x20f2fa4
func_ov001_020f307c kind:function(thumb,size=0x7c) addr:0x20f301c
func_ov001_020f30f8 kind:function(thumb,size=0x90) addr:0x20f3098
-func_ov001_020f3188 kind:function(thumb,size=0x28) addr:0x20f3128
+func_ov001_020f3188 kind:function(thumb,size=0x26) addr:0x20f3128
func_ov001_020f31b0 kind:function(thumb,size=0x30) addr:0x20f3150
func_ov001_020f31e0 kind:function(thumb,size=0xbc) addr:0x20f3180
-func_ov001_020f329c kind:function(thumb,size=0x68) addr:0x20f323c
+func_ov001_020f329c kind:function(thumb,size=0x66) addr:0x20f323c
func_ov001_020f3304 kind:function(thumb,size=0x58) addr:0x20f32a4
func_ov001_020f335c kind:function(thumb,size=0x18) addr:0x20f32fc
func_ov001_020f3374 kind:function(thumb,size=0x30) addr:0x20f3314
@@ -117,7 +117,7 @@ func_ov001_020f34a8 kind:function(thumb,size=0x3c) addr:0x20f3448
func_ov001_020f34e4 kind:function(thumb,size=0x104) addr:0x20f3484
func_ov001_020f35e8 kind:function(thumb,size=0x24) addr:0x20f3588
func_ov001_020f360c kind:function(thumb,size=0x1b0) addr:0x20f35ac
-func_ov001_020f37bc kind:function(thumb,size=0x50) addr:0x20f375c
+func_ov001_020f37bc kind:function(thumb,size=0x4e) addr:0x20f375c
func_ov001_020f380c kind:function(thumb,size=0x50) addr:0x20f37ac
func_ov001_020f385c kind:function(thumb,size=0x34) addr:0x20f37fc
func_ov001_020f3890 kind:function(thumb,size=0x30) addr:0x20f3830
@@ -139,7 +139,7 @@ func_ov001_020f4800 kind:function(thumb,size=0x2c) addr:0x20f47a0
func_ov001_020f482c kind:function(thumb,size=0x2c) addr:0x20f47cc
func_ov001_020f4858 kind:function(thumb,size=0x114) addr:0x20f47f8
func_ov001_020f496c kind:function(thumb,size=0xc) addr:0x20f490c
-func_ov001_020f4978 kind:function(thumb,size=0x30) addr:0x20f4918
+func_ov001_020f4978 kind:function(thumb,size=0x2e) addr:0x20f4918
func_ov001_020f49a8 kind:function(thumb,size=0xa8) addr:0x20f4948
func_ov001_020f4a50 kind:function(thumb,size=0xc) addr:0x20f49f0
func_ov001_020f4a5c kind:function(thumb,size=0xc) addr:0x20f49fc
@@ -147,9 +147,9 @@ func_ov001_020f4a68 kind:function(thumb,size=0x4c) addr:0x20f4a08
func_ov001_020f4ab4 kind:function(thumb,size=0x1c) addr:0x20f4a54
func_ov001_020f4ad0 kind:function(thumb,size=0x28) addr:0x20f4a70
func_ov001_020f4af8 kind:function(thumb,size=0xc) addr:0x20f4a98
-func_ov001_020f4b04 kind:function(thumb,size=0x44) addr:0x20f4aa4
-func_ov001_020f4b48 kind:function(thumb,size=0x60) addr:0x20f4ae8
-func_ov001_020f4ba8 kind:function(thumb,size=0xcc) addr:0x20f4b48
+func_ov001_020f4b04 kind:function(thumb,size=0x42) addr:0x20f4aa4
+func_ov001_020f4b48 kind:function(thumb,size=0x5e) addr:0x20f4ae8
+func_ov001_020f4ba8 kind:function(thumb,size=0xca) addr:0x20f4b48
func_ov001_020f4c74 kind:function(thumb,size=0x5c) addr:0x20f4c14
func_ov001_020f4cd0 kind:function(thumb,size=0x14) addr:0x20f4c70
func_ov001_020f4ce4 kind:function(thumb,size=0xc) addr:0x20f4c84
@@ -159,7 +159,7 @@ func_ov001_020f4df8 kind:function(thumb,size=0x30) addr:0x20f4d98
func_ov001_020f4e28 kind:function(thumb,size=0x1c) addr:0x20f4dc8
func_ov001_020f4e44 kind:function(thumb,size=0x18) addr:0x20f4de4
func_ov001_020f4e5c kind:function(thumb,size=0x30) addr:0x20f4dfc
-func_ov001_020f4e8c kind:function(thumb,size=0x54) addr:0x20f4e2c
+func_ov001_020f4e8c kind:function(thumb,size=0x52) addr:0x20f4e2c
func_ov001_020f4ee0 kind:function(thumb,size=0xa4) addr:0x20f4e80
func_ov001_020f4f84 kind:function(thumb,size=0x60) addr:0x20f4f24
func_ov001_020f4fe4 kind:function(thumb,size=0x40) addr:0x20f4f84
diff --git a/config/usa/arm9/overlays/ov002/delinks.txt b/config/usa/arm9/overlays/ov002/delinks.txt
index 539058e7..bb08ad8c 100644
--- a/config/usa/arm9/overlays/ov002/delinks.txt
+++ b/config/usa/arm9/overlays/ov002/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x020eece0 end:0x020f66cc kind:code align:32
- .rodata start:0x020f66cc end:0x020f6918 kind:data align:4
+ .rodata start:0x020f66cc end:0x020f6918 kind:rodata align:4
.init start:0x020f6918 end:0x020f6944 kind:code align:4
- .ctor start:0x020f6944 end:0x020f694c kind:data align:4
+ .ctor start:0x020f6944 end:0x020f694c kind:rodata align:4
.data start:0x020f6960 end:0x020f7100 kind:data align:32
.bss start:0x020f7100 end:0x02100120 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov003/delinks.txt b/config/usa/arm9/overlays/ov003/delinks.txt
index fc653fb6..a19cf6ed 100644
--- a/config/usa/arm9/overlays/ov003/delinks.txt
+++ b/config/usa/arm9/overlays/ov003/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x020eece0 end:0x020fc3c8 kind:code align:32
- .rodata start:0x020fc3c8 end:0x020ffd9c kind:data align:4
+ .rodata start:0x020fc3c8 end:0x020ffd9c kind:rodata align:4
.init start:0x020ffd9c end:0x020fff40 kind:code align:4
- .ctor start:0x020fff40 end:0x020fff68 kind:data align:4
+ .ctor start:0x020fff40 end:0x020fff68 kind:rodata align:4
.data start:0x020fff80 end:0x02100a00 kind:data align:32
.bss start:0x02100a00 end:0x02100a60 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov003/symbols.txt b/config/usa/arm9/overlays/ov003/symbols.txt
index 26c51c80..a63f1b45 100644
--- a/config/usa/arm9/overlays/ov003/symbols.txt
+++ b/config/usa/arm9/overlays/ov003/symbols.txt
@@ -1,26 +1,26 @@
func_ov003_020eed40 kind:function(thumb,size=0x14) addr:0x20eece0
func_ov003_020eed54 kind:function(thumb,size=0x28) addr:0x20eecf4
-func_ov003_020eed7c kind:function(thumb,size=0x78) addr:0x20eed1c
+func_ov003_020eed7c kind:function(thumb,size=0x76) addr:0x20eed1c
func_ov003_020eedf4 kind:function(thumb,size=0x8) addr:0x20eed94
-func_ov003_020eedfc kind:function(thumb,size=0x54) addr:0x20eed9c
-func_ov003_020eee50 kind:function(thumb,size=0x8c) addr:0x20eedf0
-func_ov003_020eeedc kind:function(thumb,size=0x2c) addr:0x20eee7c
-func_ov003_020eef08 kind:function(thumb,size=0x50) addr:0x20eeea8
-func_ov003_020eef58 kind:function(thumb,size=0xb4) addr:0x20eeef8
+func_ov003_020eedfc kind:function(thumb,size=0x52) addr:0x20eed9c
+func_ov003_020eee50 kind:function(thumb,size=0x8a) addr:0x20eedf0
+func_ov003_020eeedc kind:function(thumb,size=0x2a) addr:0x20eee7c
+func_ov003_020eef08 kind:function(thumb,size=0x4e) addr:0x20eeea8
+func_ov003_020eef58 kind:function(thumb,size=0xb2) addr:0x20eeef8
func_ov003_020ef00c kind:function(thumb,size=0x28) addr:0x20eefac
-func_ov003_020ef034 kind:function(thumb,size=0x4c) addr:0x20eefd4
-func_ov003_020ef080 kind:function(thumb,size=0x380) addr:0x20ef020
+func_ov003_020ef034 kind:function(thumb,size=0x4a) addr:0x20eefd4
+func_ov003_020ef080 kind:function(thumb,size=0x37e) addr:0x20ef020
func_ov003_020ef400 kind:function(thumb,size=0x334) addr:0x20ef3a0
func_ov003_020ef734 kind:function(thumb,size=0x4) addr:0x20ef6d4
-func_ov003_020ef738 kind:function(thumb,size=0x350) addr:0x20ef6d8
-func_ov003_020efa88 kind:function(thumb,size=0x6c) addr:0x20efa28
-func_ov003_020efaf4 kind:function(thumb,size=0x54) addr:0x20efa94
-func_ov003_020efb48 kind:function(thumb,size=0x120) addr:0x20efae8
-func_ov003_020efc68 kind:function(thumb,size=0x1ec) addr:0x20efc08
+func_ov003_020ef738 kind:function(thumb,size=0x34e) addr:0x20ef6d8
+func_ov003_020efa88 kind:function(thumb,size=0x6a) addr:0x20efa28
+func_ov003_020efaf4 kind:function(thumb,size=0x52) addr:0x20efa94
+func_ov003_020efb48 kind:function(thumb,size=0x11e) addr:0x20efae8
+func_ov003_020efc68 kind:function(thumb,size=0x1ea) addr:0x20efc08
func_ov003_020efe54 kind:function(thumb,size=0x29c) addr:0x20efdf4
func_ov003_020f00f0 kind:function(thumb,size=0x68) addr:0x20f0090
func_ov003_020f0158 kind:function(thumb,size=0x20) addr:0x20f00f8
-func_ov003_020f0178 kind:function(thumb,size=0x7c) addr:0x20f0118
+func_ov003_020f0178 kind:function(thumb,size=0x7a) addr:0x20f0118
func_ov003_020f01f4 kind:function(thumb,size=0x6c) addr:0x20f0194
func_ov003_020f0260 kind:function(thumb,size=0x1bc) addr:0x20f0200
func_ov003_020f041c kind:function(thumb,size=0x70) addr:0x20f03bc
@@ -71,12 +71,12 @@ func_ov003_020f2774 kind:function(arm,size=0x74) addr:0x20f2714
func_ov003_020f27e8 kind:function(arm,size=0x60) addr:0x20f2788
func_ov003_020f2848 kind:function(arm,size=0xbc) addr:0x20f27e8
func_ov003_020f2904 kind:function(thumb,size=0x40) addr:0x20f28a4
-func_ov003_020f2944 kind:function(thumb,size=0x34) addr:0x20f28e4
+func_ov003_020f2944 kind:function(thumb,size=0x32) addr:0x20f28e4
func_ov003_020f2978 kind:function(thumb,size=0xa0) addr:0x20f2918
func_ov003_020f2a18 kind:function(arm,size=0x14) addr:0x20f29b8
func_ov003_020f2a2c kind:function(thumb,size=0xa0) addr:0x20f29cc
func_ov003_020f2acc kind:function(thumb,size=0xb8) addr:0x20f2a6c
-func_ov003_020f2b84 kind:function(thumb,size=0x48) addr:0x20f2b24
+func_ov003_020f2b84 kind:function(thumb,size=0x46) addr:0x20f2b24
func_ov003_020f2bcc kind:function(thumb,size=0x50) addr:0x20f2b6c
func_ov003_020f2c1c kind:function(arm,size=0x1c) addr:0x20f2bbc
func_ov003_020f2c38 kind:function(arm,size=0x4) addr:0x20f2bd8
@@ -104,33 +104,33 @@ func_ov003_020f3758 kind:function(thumb,size=0x118) addr:0x20f36f8
func_ov003_020f3870 kind:function(thumb,size=0x24) addr:0x20f3810
func_ov003_020f3894 kind:function(thumb,size=0x8c) addr:0x20f3834
func_ov003_020f3920 kind:function(thumb,size=0x28) addr:0x20f38c0
-func_ov003_020f3948 kind:function(thumb,size=0x2c) addr:0x20f38e8
+func_ov003_020f3948 kind:function(thumb,size=0x2a) addr:0x20f38e8
func_ov003_020f3974 kind:function(thumb,size=0x1c4) addr:0x20f3914
func_ov003_020f3b38 kind:function(thumb,size=0x34) addr:0x20f3ad8
func_ov003_020f3b6c kind:function(thumb,size=0x50) addr:0x20f3b0c
-func_ov003_020f3bbc kind:function(thumb,size=0x1c) addr:0x20f3b5c
-func_ov003_020f3bd8 kind:function(thumb,size=0x18) addr:0x20f3b78
-func_ov003_020f3bf0 kind:function(thumb,size=0x18) addr:0x20f3b90
-func_ov003_020f3c08 kind:function(thumb,size=0x20) addr:0x20f3ba8
-func_ov003_020f3c28 kind:function(thumb,size=0x5c) addr:0x20f3bc8
-func_ov003_020f3c84 kind:function(thumb,size=0x44) addr:0x20f3c24
+func_ov003_020f3bbc kind:function(thumb,size=0x1a) addr:0x20f3b5c
+func_ov003_020f3bd8 kind:function(thumb,size=0x16) addr:0x20f3b78
+func_ov003_020f3bf0 kind:function(thumb,size=0x16) addr:0x20f3b90
+func_ov003_020f3c08 kind:function(thumb,size=0x1e) addr:0x20f3ba8
+func_ov003_020f3c28 kind:function(thumb,size=0x5a) addr:0x20f3bc8
+func_ov003_020f3c84 kind:function(thumb,size=0x42) addr:0x20f3c24
func_ov003_020f3cc8 kind:function(arm,size=0x8) addr:0x20f3c68
func_ov003_020f3cd0 kind:function(arm,size=0x8c) addr:0x20f3c70
-func_ov003_020f3d5c kind:function(thumb,size=0x18) addr:0x20f3cfc
+func_ov003_020f3d5c kind:function(thumb,size=0x16) addr:0x20f3cfc
func_ov003_020f3d74 kind:function(thumb,size=0xc) addr:0x20f3d14
func_ov003_020f3d80 kind:function(thumb,size=0xc) addr:0x20f3d20
-func_ov003_020f3d8c kind:function(thumb,size=0x8) addr:0x20f3d2c
-func_ov003_020f3d94 kind:function(thumb,size=0x8) addr:0x20f3d34
-func_ov003_020f3d9c kind:function(thumb,size=0x8) addr:0x20f3d3c
+func_ov003_020f3d8c kind:function(thumb,size=0x6) addr:0x20f3d2c
+func_ov003_020f3d94 kind:function(thumb,size=0x6) addr:0x20f3d34
+func_ov003_020f3d9c kind:function(thumb,size=0x6) addr:0x20f3d3c
func_ov003_020f3da4 kind:function(thumb,size=0xc) addr:0x20f3d44
func_ov003_020f3db0 kind:function(thumb,size=0xc) addr:0x20f3d50
func_ov003_020f3dbc kind:function(thumb,size=0xc) addr:0x20f3d5c
func_ov003_020f3dc8 kind:function(thumb,size=0x20) addr:0x20f3d68
-func_ov003_020f3de8 kind:function(thumb,size=0x1c) addr:0x20f3d88
+func_ov003_020f3de8 kind:function(thumb,size=0x1a) addr:0x20f3d88
func_ov003_020f3e04 kind:function(thumb,size=0x70) addr:0x20f3da4
-func_ov003_020f3e74 kind:function(thumb,size=0x20) addr:0x20f3e14
+func_ov003_020f3e74 kind:function(thumb,size=0x1e) addr:0x20f3e14
func_ov003_020f3e94 kind:function(thumb,size=0xd8) addr:0x20f3e34
-func_ov003_020f3f6c kind:function(thumb,size=0x28) addr:0x20f3f0c
+func_ov003_020f3f6c kind:function(thumb,size=0x26) addr:0x20f3f0c
func_ov003_020f3f94 kind:function(arm,size=0x20) addr:0x20f3f34
func_ov003_020f3fb4 kind:function(arm,size=0x44) addr:0x20f3f54
func_ov003_020f3ff8 kind:function(arm,size=0x44) addr:0x20f3f98
@@ -144,10 +144,10 @@ func_ov003_020f40c0 kind:function(arm,size=0x28) addr:0x20f4060
func_ov003_020f40e8 kind:function(arm,size=0x28) addr:0x20f4088
func_ov003_020f4110 kind:function(thumb,size=0x68) addr:0x20f40b0
func_ov003_020f4178 kind:function(thumb,size=0x48) addr:0x20f4118
-func_ov003_020f41c0 kind:function(thumb,size=0x70) addr:0x20f4160
+func_ov003_020f41c0 kind:function(thumb,size=0x6e) addr:0x20f4160
func_ov003_020f4230 kind:function(thumb,size=0x38) addr:0x20f41d0
func_ov003_020f4268 kind:function(thumb,size=0xa4) addr:0x20f4208
-func_ov003_020f430c kind:function(thumb,size=0x18) addr:0x20f42ac
+func_ov003_020f430c kind:function(thumb,size=0x16) addr:0x20f42ac
func_ov003_020f4324 kind:function(thumb,size=0x7c) addr:0x20f42c4
func_ov003_020f43a0 kind:function(thumb,size=0x7c) addr:0x20f4340
func_ov003_020f441c kind:function(thumb,size=0xc) addr:0x20f43bc
@@ -157,12 +157,12 @@ func_ov003_020f4488 kind:function(arm,size=0x18) addr:0x20f4428
func_ov003_020f44a0 kind:function(arm,size=0x18) addr:0x20f4440
func_ov003_020f44b8 kind:function(arm,size=0x18) addr:0x20f4458
func_ov003_020f44d0 kind:function(thumb,size=0xc) addr:0x20f4470
-func_ov003_020f44dc kind:function(thumb,size=0x4) addr:0x20f447c
+func_ov003_020f44dc kind:function(thumb,size=0x2) addr:0x20f447c
func_ov003_020f44e0 kind:function(thumb,size=0xc) addr:0x20f4480
-func_ov003_020f44ec kind:function(thumb,size=0x4) addr:0x20f448c
-func_ov003_020f44f0 kind:function(thumb,size=0x4) addr:0x20f4490
-func_ov003_020f44f4 kind:function(thumb,size=0x4) addr:0x20f4494
-func_ov003_020f44f8 kind:function(thumb,size=0x4) addr:0x20f4498
+func_ov003_020f44ec kind:function(thumb,size=0x2) addr:0x20f448c
+func_ov003_020f44f0 kind:function(thumb,size=0x2) addr:0x20f4490
+func_ov003_020f44f4 kind:function(thumb,size=0x2) addr:0x20f4494
+func_ov003_020f44f8 kind:function(thumb,size=0x2) addr:0x20f4498
func_ov003_020f44fc kind:function(arm,size=0x4) addr:0x20f449c
func_ov003_020f4500 kind:function(arm,size=0x4) addr:0x20f44a0
func_ov003_020f4504 kind:function(arm,size=0x4) addr:0x20f44a4
@@ -172,7 +172,7 @@ func_ov003_020f4534 kind:function(thumb,size=0x24) addr:0x20f44d4
func_ov003_020f4558 kind:function(thumb,size=0xa8) addr:0x20f44f8
func_ov003_020f4600 kind:function(thumb,size=0x78) addr:0x20f45a0
func_ov003_020f4678 kind:function(thumb,size=0x80) addr:0x20f4618
-func_ov003_020f46f8 kind:function(thumb,size=0x20) addr:0x20f4698
+func_ov003_020f46f8 kind:function(thumb,size=0x1e) addr:0x20f4698
func_ov003_020f4718 kind:function(thumb,size=0x48) addr:0x20f46b8
func_ov003_020f4760 kind:function(thumb,size=0x18) addr:0x20f4700
func_ov003_020f4778 kind:function(thumb,size=0x6c) addr:0x20f4718
@@ -180,7 +180,7 @@ func_ov003_020f47e4 kind:function(thumb,size=0x60) addr:0x20f4784
func_ov003_020f4844 kind:function(thumb,size=0x30) addr:0x20f47e4
func_ov003_020f4874 kind:function(thumb,size=0x10) addr:0x20f4814
func_ov003_020f4884 kind:function(thumb,size=0x58) addr:0x20f4824
-func_ov003_020f48dc kind:function(thumb,size=0x30) addr:0x20f487c
+func_ov003_020f48dc kind:function(thumb,size=0x2e) addr:0x20f487c
func_ov003_020f490c kind:function(thumb,size=0x34) addr:0x20f48ac
func_ov003_020f4940 kind:function(thumb,size=0x20) addr:0x20f48e0
func_ov003_020f4960 kind:function(arm,size=0xfc) addr:0x20f4900
@@ -209,7 +209,7 @@ func_ov003_020f5188 kind:function(thumb,size=0x24) addr:0x20f5128
func_ov003_020f51ac kind:function(arm,size=0x20) addr:0x20f514c
func_ov003_020f51cc kind:function(thumb,size=0x38) addr:0x20f516c
func_ov003_020f5204 kind:function(thumb,size=0x30) addr:0x20f51a4
-func_ov003_020f5234 kind:function(thumb,size=0x1c) addr:0x20f51d4
+func_ov003_020f5234 kind:function(thumb,size=0x1a) addr:0x20f51d4
func_ov003_020f5250 kind:function(thumb,size=0x38) addr:0x20f51f0
func_ov003_020f5288 kind:function(thumb,size=0xc) addr:0x20f5228
func_ov003_020f5294 kind:function(thumb,size=0x10) addr:0x20f5234
@@ -344,19 +344,19 @@ func_ov003_020faa64 kind:function(thumb,size=0x40) addr:0x20fa9d8
func_ov003_020faaa4 kind:function(thumb,size=0x14) addr:0x20faa18
_ZN14OverlayManager13LoadEquipItemEi kind:function(thumb,size=0x70) addr:0x20faa2c
func_ov003_020fab28 kind:function(thumb,size=0x14) addr:0x20faa9c
-func_ov003_020fab3c kind:function(thumb,size=0x4) addr:0x20faab0
+func_ov003_020fab3c kind:function(thumb,size=0x2) addr:0x20faab0
func_ov003_020fab40 kind:function(thumb,size=0xc) addr:0x20faab4
-func_ov003_020fab4c kind:function(thumb,size=0x4) addr:0x20faac0
-func_ov003_020fab50 kind:function(thumb,size=0x8) addr:0x20faac4
-func_ov003_020fab58 kind:function(thumb,size=0x4) addr:0x20faacc
-func_ov003_020fab5c kind:function(thumb,size=0x4) addr:0x20faad0
-func_ov003_020fab60 kind:function(thumb,size=0x4) addr:0x20faad4
+func_ov003_020fab4c kind:function(thumb,size=0x2) addr:0x20faac0
+func_ov003_020fab50 kind:function(thumb,size=0x6) addr:0x20faac4
+func_ov003_020fab58 kind:function(thumb,size=0x2) addr:0x20faacc
+func_ov003_020fab5c kind:function(thumb,size=0x2) addr:0x20faad0
+func_ov003_020fab60 kind:function(thumb,size=0x2) addr:0x20faad4
func_ov003_020fab64 kind:function(thumb,size=0x240) addr:0x20faad8
-func_ov003_020fada4 kind:function(thumb,size=0x30) addr:0x20fad18
+func_ov003_020fada4 kind:function(thumb,size=0x2e) addr:0x20fad18
func_ov003_020fadd4 kind:function(thumb,size=0x20) addr:0x20fad48
func_ov003_020fadf4 kind:function(thumb,size=0x40) addr:0x20fad68
func_ov003_020fae34 kind:function(thumb,size=0x30) addr:0x20fada8
-func_ov003_020fae64 kind:function(thumb,size=0x24) addr:0x20fadd8
+func_ov003_020fae64 kind:function(thumb,size=0x22) addr:0x20fadd8
func_ov003_020fae88 kind:function(thumb,size=0x18) addr:0x20fadfc
func_ov003_020faea0 kind:function(thumb,size=0x44) addr:0x20fae14
func_ov003_020faee4 kind:function(thumb,size=0x48) addr:0x20fae58
@@ -368,12 +368,12 @@ func_ov003_020fb054 kind:function(thumb,size=0x30) addr:0x20fafc8
func_ov003_020fb084 kind:function(thumb,size=0x24) addr:0x20faff8
func_ov003_020fb0a8 kind:function(thumb,size=0x8) addr:0x20fb01c
func_ov003_020fb0b0 kind:function(thumb,size=0x68) addr:0x20fb024
-func_ov003_020fb118 kind:function(thumb,size=0x30) addr:0x20fb08c
+func_ov003_020fb118 kind:function(thumb,size=0x2e) addr:0x20fb08c
func_ov003_020fb148 kind:function(arm,size=0x110) addr:0x20fb0bc
func_ov003_020fb258 kind:function(thumb,size=0x14) addr:0x20fb1cc
-func_ov003_020fb26c kind:function(thumb,size=0x28) addr:0x20fb1e0
+func_ov003_020fb26c kind:function(thumb,size=0x26) addr:0x20fb1e0
func_ov003_020fb294 kind:function(thumb,size=0x38) addr:0x20fb208
-func_ov003_020fb2cc kind:function(thumb,size=0x1c) addr:0x20fb240
+func_ov003_020fb2cc kind:function(thumb,size=0x1a) addr:0x20fb240
func_ov003_020fb2e8 kind:function(thumb,size=0x88) addr:0x20fb25c
func_ov003_020fb370 kind:function(thumb,size=0x3c) addr:0x20fb2e4
func_ov003_020fb3ac kind:function(thumb,size=0x1c) addr:0x20fb320
@@ -408,8 +408,8 @@ func_ov003_020fbed0 kind:function(arm,size=0x18) addr:0x20fbe44
func_ov003_020fbee8 kind:function(arm,size=0x8) addr:0x20fbe5c
func_ov003_020fbef0 kind:function(arm,size=0x48) addr:0x20fbe64
func_ov003_020fbf38 kind:function(arm,size=0x8) addr:0x20fbeac
-func_ov003_020fbf40 kind:function(thumb,size=0x8) addr:0x20fbeb4
-func_ov003_020fbf48 kind:function(thumb,size=0xc) addr:0x20fbebc
+func_ov003_020fbf40 kind:function(thumb,size=0x6) addr:0x20fbeb4
+func_ov003_020fbf48 kind:function(thumb,size=0xa) addr:0x20fbebc
func_ov003_020fbf54 kind:function(thumb,size=0x54) addr:0x20fbec8
func_ov003_020fbfa8 kind:function(thumb,size=0x6c) addr:0x20fbf1c
func_ov003_020fc014 kind:function(arm,size=0x1c) addr:0x20fbf88
diff --git a/config/usa/arm9/overlays/ov004/delinks.txt b/config/usa/arm9/overlays/ov004/delinks.txt
index 4d0af9ea..78def35b 100644
--- a/config/usa/arm9/overlays/ov004/delinks.txt
+++ b/config/usa/arm9/overlays/ov004/delinks.txt
@@ -1,7 +1,10 @@
.text start:0x02100a60 end:0x0210f7a4 kind:code align:32
- .rodata start:0x0210f7a4 end:0x0210fcd8 kind:data align:4
+ .rodata start:0x0210f7a4 end:0x0210fcd8 kind:rodata align:4
.init start:0x0210fcd8 end:0x0210fd10 kind:code align:4
- .ctor start:0x0210fd10 end:0x0210fd1c kind:data align:4
+ .ctor start:0x0210fd10 end:0x0210fd1c kind:rodata align:4
.data start:0x0210fd20 end:0x02111360 kind:data align:32
.bss start:0x02111360 end:0x02111360 kind:bss align:32
+src/04_Load/Player/LinkStateMove.cpp:
+ complete
+ .text start:0x0210ae54 end:0x0210ae94
diff --git a/config/usa/arm9/overlays/ov004/relocs.txt b/config/usa/arm9/overlays/ov004/relocs.txt
index 76d78e03..21d9b0c8 100644
--- a/config/usa/arm9/overlays/ov004/relocs.txt
+++ b/config/usa/arm9/overlays/ov004/relocs.txt
@@ -1960,7 +1960,7 @@ from:0x021099cc kind:thumb_call_arm to:0x020d04d0 module:overlay(0)
from:0x021099d2 kind:thumb_call to:0x02109930 module:overlay(4)
from:0x021099de kind:thumb_call to:0x0210ad54 module:overlay(4)
from:0x02109a3a kind:thumb_call_arm to:0x0204f5d0 module:main
-from:0x02109a58 kind:load to:0x020e59e8 add:8 module:overlay(0)
+from:0x02109a58 kind:load to:0x020e59e0 add:8 module:overlay(0)
from:0x02109a5c kind:load to:0x02107955 module:overlay(4)
from:0x02109a60 kind:load to:0x020571b8 module:main
from:0x02109a64 kind:load to:0x020b7d14 module:overlay(0)
@@ -2231,7 +2231,7 @@ from:0x0210ae42 kind:thumb_call to:0x0210ad74 module:overlay(4)
from:0x0210ae48 kind:thumb_call_arm to:0x0202ea08 module:main
from:0x0210ae50 kind:load to:0x020b7d14 module:overlay(0)
from:0x0210ae58 kind:thumb_call to:0x0210ad54 module:overlay(4)
-from:0x0210ae70 kind:load to:0x020e56a0 module:overlay(0)
+from:0x0210ae70 kind:load to:0x020e5698 add:8 module:overlay(0)
from:0x0210ae78 kind:thumb_call to:0x0210ad74 module:overlay(4)
from:0x0210ae84 kind:thumb_call to:0x0210ad74 module:overlay(4)
from:0x0210ae8a kind:thumb_call_arm to:0x0202ea08 module:main
diff --git a/config/usa/arm9/overlays/ov004/symbols.txt b/config/usa/arm9/overlays/ov004/symbols.txt
index 0f7cd422..532f2002 100644
--- a/config/usa/arm9/overlays/ov004/symbols.txt
+++ b/config/usa/arm9/overlays/ov004/symbols.txt
@@ -11,13 +11,13 @@ func_ov004_02100ef8 kind:function(thumb,size=0x274) addr:0x2100e78
func_ov004_0210116c kind:function(thumb,size=0x1c) addr:0x21010ec
func_ov004_02101188 kind:function(thumb,size=0x21c) addr:0x2101108
func_ov004_021013a4 kind:function(thumb,size=0x7c) addr:0x2101324
-func_ov004_02101420 kind:function(thumb,size=0x4c) addr:0x21013a0
+func_ov004_02101420 kind:function(thumb,size=0x4a) addr:0x21013a0
func_ov004_0210146c kind:function(thumb,size=0x2c) addr:0x21013ec
func_ov004_02101498 kind:function(thumb,size=0x24) addr:0x2101418
func_ov004_021014bc kind:function(thumb,size=0x1c8) addr:0x210143c
func_ov004_02101684 kind:function(arm,size=0x4) addr:0x2101604
func_ov004_02101688 kind:function(arm,size=0x4) addr:0x2101608
-func_ov004_0210168c kind:function(thumb,size=0x34) addr:0x210160c
+func_ov004_0210168c kind:function(thumb,size=0x32) addr:0x210160c
func_ov004_021016c0 kind:function(thumb,size=0x64) addr:0x2101640
func_ov004_02101724 kind:function(thumb,size=0x280) addr:0x21016a4
func_ov004_021019a4 kind:function(thumb,size=0xc0) addr:0x2101924
@@ -29,17 +29,17 @@ func_ov004_02101c14 kind:function(thumb,size=0x20) addr:0x2101b94
func_ov004_02101c34 kind:function(thumb,size=0x40) addr:0x2101bb4
func_ov004_02101c74 kind:function(thumb,size=0x14) addr:0x2101bf4
func_ov004_02101c88 kind:function(thumb,size=0x3c) addr:0x2101c08
-func_ov004_02101cc4 kind:function(thumb,size=0x38) addr:0x2101c44
+func_ov004_02101cc4 kind:function(thumb,size=0x36) addr:0x2101c44
func_ov004_02101cfc kind:function(thumb,size=0x6c) addr:0x2101c7c
func_ov004_02101d68 kind:function(thumb,size=0x154) addr:0x2101ce8
func_ov004_02101ebc kind:function(thumb,size=0x1c) addr:0x2101e3c
func_ov004_02101ed8 kind:function(thumb,size=0x7c) addr:0x2101e58
_ZN10MapManagerC1Ev kind:function(thumb,size=0x3c) addr:0x2101ed4
-_ZN10MapManagerD1Ev kind:function(thumb,size=0x2c) addr:0x2101f10
+_ZN10MapManagerD1Ev kind:function(thumb,size=0x2a) addr:0x2101f10
_ZN10MapManager6CreateEv kind:function(thumb,size=0x2c) addr:0x2101f3c
_ZN10MapManager7DestroyEv kind:function(thumb,size=0x24) addr:0x2101f68
_ZN10MapManager17LoadMapTexSpritesEi kind:function(thumb,size=0x254) addr:0x2101f8c
-_ZN10MapManager19func_ov004_02102260Ev kind:function(thumb,size=0x4) addr:0x21021e0
+_ZN10MapManager19func_ov004_02102260Ev kind:function(thumb,size=0x2) addr:0x21021e0
_ZN10MapManager19func_ov004_02102264EPiPc kind:function(thumb,size=0x260) addr:0x21021e4
_ZN10MapManager19func_ov004_021024c4Eiii kind:function(thumb,size=0x114) addr:0x2102444
_ZN10MapManager19func_ov004_021025d8Ev kind:function(thumb,size=0x10) addr:0x2102558
@@ -50,7 +50,7 @@ func_ov004_021026a0 kind:function(thumb,size=0x2c) addr:0x2102620
func_ov004_021026cc kind:function(thumb,size=0x24) addr:0x210264c
func_ov004_021026f0 kind:function(thumb,size=0x4c) addr:0x2102670
func_ov004_0210273c kind:function(thumb,size=0xc) addr:0x21026bc
-func_ov004_02102748 kind:function(thumb,size=0x28) addr:0x21026c8
+func_ov004_02102748 kind:function(thumb,size=0x26) addr:0x21026c8
func_ov004_02102770 kind:function(thumb,size=0x44) addr:0x21026f0
func_ov004_021027b4 kind:function(arm,size=0x28) addr:0x2102734
func_ov004_021027dc kind:function(arm,size=0x4) addr:0x210275c
@@ -63,14 +63,14 @@ func_ov004_021028d8 kind:function(thumb,size=0x4c) addr:0x2102858
func_ov004_02102924 kind:function(thumb,size=0x2c) addr:0x21028a4
func_ov004_02102950 kind:function(thumb,size=0x24) addr:0x21028d0
func_ov004_02102974 kind:function(thumb,size=0x70) addr:0x21028f4
-func_ov004_021029e4 kind:function(thumb,size=0x24) addr:0x2102964
+func_ov004_021029e4 kind:function(thumb,size=0x22) addr:0x2102964
func_ov004_02102a08 kind:function(thumb,size=0x14) addr:0x2102988
-func_ov004_02102a1c kind:function(thumb,size=0x10) addr:0x210299c
+func_ov004_02102a1c kind:function(thumb,size=0xe) addr:0x210299c
func_ov004_02102a2c kind:function(thumb,size=0x24) addr:0x21029ac
func_ov004_02102a50 kind:function(thumb,size=0x50) addr:0x21029d0
func_ov004_02102aa0 kind:function(thumb,size=0x38) addr:0x2102a20
-func_ov004_02102ad8 kind:function(thumb,size=0x20) addr:0x2102a58
-func_ov004_02102af8 kind:function(thumb,size=0x8) addr:0x2102a78
+func_ov004_02102ad8 kind:function(thumb,size=0x1e) addr:0x2102a58
+func_ov004_02102af8 kind:function(thumb,size=0x6) addr:0x2102a78
func_ov004_02102b00 kind:function(thumb,size=0x28) addr:0x2102a80
func_ov004_02102b28 kind:function(thumb,size=0x54) addr:0x2102aa8
func_ov004_02102b7c kind:function(arm,size=0x14) addr:0x2102afc
@@ -83,7 +83,7 @@ func_ov004_02102d54 kind:function(arm,size=0x8) addr:0x2102cd4
func_ov004_02102d5c kind:function(arm,size=0x8) addr:0x2102cdc
func_ov004_02102d64 kind:function(arm,size=0x40) addr:0x2102ce4
func_ov004_02102da4 kind:function(thumb,size=0x44) addr:0x2102d24
-func_ov004_02102de8 kind:function(thumb,size=0x4) addr:0x2102d68
+func_ov004_02102de8 kind:function(thumb,size=0x2) addr:0x2102d68
func_ov004_02102dec kind:function(thumb,size=0x2c) addr:0x2102d6c
func_ov004_02102e18 kind:function(thumb,size=0x24) addr:0x2102d98
func_ov004_02102e3c kind:function(thumb,size=0x1c) addr:0x2102dbc
@@ -91,22 +91,22 @@ func_ov004_02102e58 kind:function(thumb,size=0x5ec) addr:0x2102dd8
func_ov004_02103444 kind:function(thumb,size=0xb8) addr:0x21033c4
func_ov004_021034fc kind:function(thumb,size=0xbc) addr:0x210347c
func_ov004_021035b8 kind:function(thumb,size=0x54) addr:0x2103538
-func_ov004_0210360c kind:function(thumb,size=0x2c) addr:0x210358c
+func_ov004_0210360c kind:function(thumb,size=0x2a) addr:0x210358c
func_ov004_02103638 kind:function(thumb,size=0x64) addr:0x21035b8
-func_ov004_0210369c kind:function(thumb,size=0x40) addr:0x210361c
+func_ov004_0210369c kind:function(thumb,size=0x3e) addr:0x210361c
func_ov004_021036dc kind:function(thumb,size=0x2c) addr:0x210365c
func_ov004_02103708 kind:function(thumb,size=0x24) addr:0x2103688
-func_ov004_0210372c kind:function(thumb,size=0x14) addr:0x21036ac
-func_ov004_02103740 kind:function(thumb,size=0x14) addr:0x21036c0
+func_ov004_0210372c kind:function(thumb,size=0x12) addr:0x21036ac
+func_ov004_02103740 kind:function(thumb,size=0x12) addr:0x21036c0
func_ov004_02103754 kind:function(thumb,size=0xc94) addr:0x21036d4
-func_ov004_021043e8 kind:function(thumb,size=0x4) addr:0x2104368
+func_ov004_021043e8 kind:function(thumb,size=0x2) addr:0x2104368
_ZN14DebugHierarchyD0Ev kind:function(arm,size=0x1c) addr:0x210436c
_ZN14DebugHierarchyD1Ev kind:function(arm,size=0x14) addr:0x2104388
_ZN14AdventureFlagsC1Ev kind:function(thumb,size=0x4c) addr:0x210439c
-_ZN14AdventureFlagsD1Ev kind:function(thumb,size=0x40) addr:0x21043e8
+_ZN14AdventureFlagsD1Ev kind:function(thumb,size=0x3e) addr:0x21043e8
_ZN14AdventureFlags6CreateEv kind:function(thumb,size=0x2c) addr:0x2104428
_ZN14AdventureFlags7DestroyEv kind:function(thumb,size=0x24) addr:0x2104454
-_ZN14AdventureFlags19func_ov004_021044f8Ei kind:function(thumb,size=0x44) addr:0x2104478
+_ZN14AdventureFlags19func_ov004_021044f8Ei kind:function(thumb,size=0x42) addr:0x2104478
_ZN14AdventureFlags19func_ov004_0210453cEv kind:function(thumb,size=0x20) addr:0x21044bc
_ZN14AdventureFlags19func_ov004_0210455cEi kind:function(thumb,size=0x16c) addr:0x21044dc
_ZN14AdventureFlags19func_ov004_021046c8Ei kind:function(thumb,size=0xc) addr:0x2104648
@@ -145,24 +145,24 @@ func_ov004_021056f0 kind:function(thumb,size=0x24) addr:0x2105670
func_ov004_02105714 kind:function(thumb,size=0x38) addr:0x2105694
func_ov004_0210574c kind:function(arm,size=0x24) addr:0x21056cc
func_ov004_02105770 kind:function(thumb,size=0x20) addr:0x21056f0
-func_ov004_02105790 kind:function(thumb,size=0x18) addr:0x2105710
+func_ov004_02105790 kind:function(thumb,size=0x16) addr:0x2105710
func_ov004_021057a8 kind:function(thumb,size=0xc) addr:0x2105728
-func_ov004_021057b4 kind:function(thumb,size=0xa8) addr:0x2105734
+func_ov004_021057b4 kind:function(thumb,size=0xa6) addr:0x2105734
func_ov004_0210585c kind:function(thumb,size=0x70) addr:0x21057dc
func_ov004_021058cc kind:function(thumb,size=0x84) addr:0x210584c
func_ov004_02105950 kind:function(thumb,size=0x1c) addr:0x21058d0
func_ov004_0210596c kind:function(thumb,size=0x78) addr:0x21058ec
func_ov004_021059e4 kind:function(thumb,size=0x30) addr:0x2105964
-func_ov004_02105a14 kind:function(thumb,size=0x18) addr:0x2105994
+func_ov004_02105a14 kind:function(thumb,size=0x16) addr:0x2105994
func_ov004_02105a2c kind:function(thumb,size=0x20) addr:0x21059ac
-func_ov004_02105a4c kind:function(thumb,size=0x18) addr:0x21059cc
+func_ov004_02105a4c kind:function(thumb,size=0x16) addr:0x21059cc
func_ov004_02105a64 kind:function(thumb,size=0x28) addr:0x21059e4
func_ov004_02105a8c kind:function(thumb,size=0x1c) addr:0x2105a0c
func_ov004_02105aa8 kind:function(thumb,size=0x68) addr:0x2105a28
func_ov004_02105b10 kind:function(thumb,size=0x154) addr:0x2105a90
LoadNarcFile kind:function(thumb,size=0x58) addr:0x2105be4
func_ov004_02105cbc kind:function(thumb,size=0x14) addr:0x2105c3c
-func_ov004_02105cd0 kind:function(thumb,size=0xa8) addr:0x2105c50
+func_ov004_02105cd0 kind:function(thumb,size=0xa6) addr:0x2105c50
func_ov004_02105d78 kind:function(thumb,size=0x2c) addr:0x2105cf8
func_ov004_02105da4 kind:function(thumb,size=0x24) addr:0x2105d24
func_ov004_02105dc8 kind:function(thumb,size=0x84) addr:0x2105d48
@@ -186,23 +186,23 @@ func_ov004_021060d4 kind:function(thumb,size=0x44) addr:0x2106054
func_ov004_02106118 kind:function(arm,size=0x10) addr:0x2106098
func_ov004_02106128 kind:function(thumb,size=0x20) addr:0x21060a8
func_ov004_02106148 kind:function(thumb,size=0x10) addr:0x21060c8
-func_ov004_02106158 kind:function(thumb,size=0x44) addr:0x21060d8
+func_ov004_02106158 kind:function(thumb,size=0x42) addr:0x21060d8
func_ov004_0210619c kind:function(thumb,size=0x10) addr:0x210611c
func_ov004_021061ac kind:function(thumb,size=0x94) addr:0x210612c
-func_ov004_02106240 kind:function(thumb,size=0xe0) addr:0x21061c0
+func_ov004_02106240 kind:function(thumb,size=0xde) addr:0x21061c0
func_ov004_02106320 kind:function(thumb,size=0x150) addr:0x21062a0
-func_ov004_02106470 kind:function(thumb,size=0x3bc) addr:0x21063f0
+func_ov004_02106470 kind:function(thumb,size=0x3ba) addr:0x21063f0
func_ov004_0210682c kind:function(thumb,size=0x28) addr:0x21067ac
func_ov004_02106854 kind:function(thumb,size=0x24) addr:0x21067d4
func_ov004_02106878 kind:function(thumb,size=0x14) addr:0x21067f8
-func_ov004_0210688c kind:function(thumb,size=0x4) addr:0x210680c
+func_ov004_0210688c kind:function(thumb,size=0x2) addr:0x210680c
func_ov004_02106890 kind:function(thumb,size=0xbc) addr:0x2106810
func_ov004_0210694c kind:function(thumb,size=0x24) addr:0x21068cc
func_ov004_02106970 kind:function(thumb,size=0x54) addr:0x21068f0
func_ov004_021069c4 kind:function(thumb,size=0x31c) addr:0x2106944
func_ov004_02106ce0 kind:function(thumb,size=0x80) addr:0x2106c60
func_ov004_02106d60 kind:function(thumb,size=0x44) addr:0x2106ce0
-func_ov004_02106da4 kind:function(thumb,size=0x14) addr:0x2106d24
+func_ov004_02106da4 kind:function(thumb,size=0x12) addr:0x2106d24
func_ov004_02106db8 kind:function(thumb,size=0x50) addr:0x2106d38
func_ov004_02106e08 kind:function(thumb,size=0x1bc) addr:0x2106d88
func_ov004_02106fc4 kind:function(thumb,size=0xc) addr:0x2106f44
@@ -210,22 +210,22 @@ func_ov004_02106fd0 kind:function(thumb,size=0x154) addr:0x2106f50
func_ov004_02107124 kind:function(thumb,size=0xc) addr:0x21070a4
func_ov004_02107130 kind:function(thumb,size=0x78) addr:0x21070b0
func_ov004_021071a8 kind:function(thumb,size=0x14) addr:0x2107128
-func_ov004_021071bc kind:function(thumb,size=0x18) addr:0x210713c
+func_ov004_021071bc kind:function(thumb,size=0x16) addr:0x210713c
_ZN11ItemManagerC1Ev kind:function(thumb,size=0x140) addr:0x2107154
_ZN11ItemManager4InitEv kind:function(thumb,size=0x1d4) addr:0x2107294
-_ZN11ItemManagerD1Ev kind:function(thumb,size=0x1c) addr:0x2107468
+_ZN11ItemManagerD1Ev kind:function(thumb,size=0x1a) addr:0x2107468
_ZN11ItemManager14InitEquipItemsEv kind:function(thumb,size=0x144) addr:0x2107484
_ZN11ItemManager19func_ov004_02107648Ev kind:function(thumb,size=0x8) addr:0x21075c8
_ZN11ItemManager19func_ov004_02107650Ev kind:function(thumb,size=0x48) addr:0x21075d0
_ZN11ItemManager19func_ov004_02107698Ev kind:function(thumb,size=0x24) addr:0x2107618
-_ZN11ItemManager19func_ov004_021076bcEv kind:function(thumb,size=0x94) addr:0x210763c
+_ZN11ItemManager19func_ov004_021076bcEv kind:function(thumb,size=0x92) addr:0x210763c
_ZN11ItemManager12SpawnFairiesEv kind:function(thumb,size=0xc0) addr:0x21076d0
_ZN13ActorNaviBaseC2Ev kind:function(thumb,size=0xfc) addr:0x2107790
_ZN13ActorNaviBaseD1Ev kind:function(thumb,size=0x40) addr:0x210788c
_ZN13ActorNaviBaseD0Ev kind:function(thumb,size=0x48) addr:0x21078cc
_ZN13ActorNaviBaseD2Ev kind:function(thumb,size=0x40) addr:0x2107914
-_Z19func_ov004_021079d4Pi kind:function(thumb,size=0x8) addr:0x2107954
-_ZN13ActorNaviBase8vfunc_08Ev kind:function(thumb,size=0xa4) addr:0x210795c
+_Z19func_ov004_021079d4Pi kind:function(thumb,size=0x6) addr:0x2107954
+_ZN13ActorNaviBase4InitEv kind:function(thumb,size=0xa4) addr:0x210795c
func_ov004_02107a80 kind:function(thumb,size=0x20) addr:0x2107a00
func_ov004_02107aa0 kind:function(thumb,size=0xc4) addr:0x2107a20
func_ov004_02107b64 kind:function(thumb,size=0x9c) addr:0x2107ae4
@@ -233,7 +233,7 @@ func_ov004_02107c00 kind:function(thumb,size=0x2c) addr:0x2107b80
func_ov004_02107c2c kind:function(thumb,size=0x20) addr:0x2107bac
func_ov004_02107c4c kind:function(thumb,size=0x1c0) addr:0x2107bcc
func_ov004_02107e0c kind:function(thumb,size=0x28) addr:0x2107d8c
-func_ov004_02107e34 kind:function(thumb,size=0x20) addr:0x2107db4
+func_ov004_02107e34 kind:function(thumb,size=0x1e) addr:0x2107db4
_ZN13PlayerManager6CreateEv kind:function(thumb,size=0x24) addr:0x2107dd4
_ZN13PlayerManager7DestroyEv kind:function(thumb,size=0x24) addr:0x2107df8
_ZN13PlayerManagerC1Ev kind:function(thumb,size=0x9c) addr:0x2107e1c
@@ -253,12 +253,12 @@ func_ov004_02108b80 kind:function(thumb,size=0x10) addr:0x2108b00
func_ov004_02108b90 kind:function(thumb,size=0x44) addr:0x2108b10
func_ov004_02108bd4 kind:function(thumb,size=0x158) addr:0x2108b54
func_ov004_02108d2c kind:function(thumb,size=0xb4) addr:0x2108cac
-func_ov004_02108de0 kind:function(thumb,size=0x2e8) addr:0x2108d60
+func_ov004_02108de0 kind:function(thumb,size=0x2e6) addr:0x2108d60
func_ov004_021090c8 kind:function(thumb,size=0x220) addr:0x2109048
func_ov004_021092e8 kind:function(thumb,size=0x1b8) addr:0x2109268
func_ov004_021094a0 kind:function(thumb,size=0x11c) addr:0x2109420
func_ov004_021095bc kind:function(thumb,size=0x1a4) addr:0x210953c
-func_ov004_02109760 kind:function(thumb,size=0x50) addr:0x21096e0
+func_ov004_02109760 kind:function(thumb,size=0x4e) addr:0x21096e0
func_ov004_021097b0 kind:function(thumb,size=0x1b8) addr:0x2109730
func_ov004_02109968 kind:function(thumb,size=0x48) addr:0x21098e8
func_ov004_021099b0 kind:function(thumb,size=0x5c) addr:0x2109930
@@ -271,8 +271,8 @@ func_ov004_02109b78 kind:function(thumb,size=0x234) addr:0x2109af8
func_ov004_02109dac kind:function(thumb,size=0x64) addr:0x2109d2c
func_ov004_02109e10 kind:function(thumb,size=0x50) addr:0x2109d90
func_ov004_02109e60 kind:function(thumb,size=0x1f0) addr:0x2109de0
-func_ov004_0210a050 kind:function(thumb,size=0x44) addr:0x2109fd0
-func_ov004_0210a094 kind:function(thumb,size=0x14) addr:0x210a014
+func_ov004_0210a050 kind:function(thumb,size=0x42) addr:0x2109fd0
+func_ov004_0210a094 kind:function(thumb,size=0x12) addr:0x210a014
_ZN14PlayerLinkBaseC2Ev kind:function(thumb,size=0x68c) addr:0x210a028
_ZN14PlayerLinkBaseD1Ev kind:function(thumb,size=0xd0) addr:0x210a6b4
_ZN14PlayerLinkBaseD0Ev kind:function(thumb,size=0xd8) addr:0x210a784
@@ -281,30 +281,30 @@ _ZN14PlayerLinkBase4InitEv kind:function(thumb,size=0x174) addr:0x210a92c
_ZN14PlayerLinkBase8vfunc_20Ev kind:function(thumb,size=0x24) addr:0x210aaa0
_ZN17LinkStateInteractC2EP14PlayerLinkBase kind:function(thumb,size=0x44) addr:0x210aac4
_ZN17LinkStateInteractD1Ev kind:function(thumb,size=0x14) addr:0x210ab08
-_ZN17LinkStateInteractD0Ev kind:function(thumb,size=0x1c) addr:0x210ab1c
+_ZN17LinkStateInteractD0Ev kind:function(thumb,size=0x1a) addr:0x210ab1c
func_ov004_0210abb8 kind:function(thumb,size=0x1c) addr:0x210ab38
_ZN17LinkStateCutsceneC2EP14PlayerLinkBase kind:function(thumb,size=0xf4) addr:0x210ab54
_ZN17LinkStateCutsceneD1Ev kind:function(thumb,size=0x44) addr:0x210ac48
_ZN17LinkStateCutsceneD0Ev kind:function(thumb,size=0x4c) addr:0x210ac8c
_ZN15LinkStateFollowC2EP14PlayerLinkBase kind:function(thumb,size=0x3c) addr:0x210acd8
_ZN15LinkStateFollowD1Ev kind:function(thumb,size=0x1c) addr:0x210ad14
-_ZN15LinkStateFollowD0Ev kind:function(thumb,size=0x24) addr:0x210ad30
+_ZN15LinkStateFollowD0Ev kind:function(thumb,size=0x22) addr:0x210ad30
_ZN13LinkStateBaseC2EP14PlayerLinkBase kind:function(thumb,size=0x10) addr:0x210ad54
-_ZN13LinkStateBaseD1Ev kind:function(thumb,size=0x4) addr:0x210ad64
+_ZN13LinkStateBaseD1Ev kind:function(thumb,size=0x2) addr:0x210ad64
_ZN13LinkStateBaseD0Ev kind:function(thumb,size=0xc) addr:0x210ad68
-_ZN13LinkStateBaseD2Ev kind:function(thumb,size=0x4) addr:0x210ad74
-_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x4) addr:0x210ad78
+_ZN13LinkStateBaseD2Ev kind:function(thumb,size=0x2) addr:0x210ad74
+_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x2) addr:0x210ad78
_ZN13LinkStateRollC2EP14PlayerLinkBase kind:function(thumb,size=0x84) addr:0x210ad7c
_ZN13LinkStateRollD1Ev kind:function(thumb,size=0x28) addr:0x210ae00
_ZN13LinkStateRollD0Ev kind:function(thumb,size=0x2c) addr:0x210ae28
_ZN13LinkStateMoveC2EP14PlayerLinkBase kind:function(thumb,size=0x20) addr:0x210ae54
_ZN13LinkStateMoveD1Ev kind:function(thumb,size=0xc) addr:0x210ae74
-_ZN13LinkStateMoveD0Ev kind:function(thumb,size=0x14) addr:0x210ae80
+_ZN13LinkStateMoveD0Ev kind:function(thumb,size=0x12) addr:0x210ae80
_ZN15ItemModelLoader6CreateEv kind:function(thumb,size=0x24) addr:0x210ae94
_ZN15ItemModelLoader7DestroyEv kind:function(thumb,size=0x24) addr:0x210aeb8
func_ov004_0210af5c kind:function(thumb,size=0x80) addr:0x210aedc
_ZN13PlayerControlC1Ev kind:function(thumb,size=0x11c) addr:0x210af5c
-_ZN13PlayerControlD1Ev kind:function(thumb,size=0x44) addr:0x210b078
+_ZN13PlayerControlD1Ev kind:function(thumb,size=0x42) addr:0x210b078
_ZN13PlayerControl6CreateEv kind:function(thumb,size=0x24) addr:0x210b0bc
_ZN13PlayerControl7DestroyEv kind:function(thumb,size=0x24) addr:0x210b0e0
_ZN13PlayerControl4InitEv kind:function(thumb,size=0x4c) addr:0x210b104
@@ -315,7 +315,7 @@ _ZN10PlayerBaseD1Ev kind:function(thumb,size=0x28) addr:0x210b1d8
_ZN10PlayerBaseD0Ev kind:function(thumb,size=0x30) addr:0x210b200
_ZN10PlayerBaseD2Ev kind:function(thumb,size=0x28) addr:0x210b230
func_ov004_0210b2d8 kind:function(thumb,size=0xb8) addr:0x210b258
-func_ov004_0210b390 kind:function(thumb,size=0x14) addr:0x210b310
+func_ov004_0210b390 kind:function(thumb,size=0x12) addr:0x210b310
func_ov004_0210b3a4 kind:function(thumb,size=0x2c) addr:0x210b324
func_ov004_0210b3d0 kind:function(arm,size=0x4) addr:0x210b350
func_ov004_0210b3d4 kind:function(arm,size=0x1c) addr:0x210b354
@@ -325,17 +325,17 @@ _ZN17PlayerControlDataD0Ev kind:function(thumb,size=0x58) addr:0x210b508
_ZN17PlayerControlDataD2Ev kind:function(thumb,size=0x54) addr:0x210b560
_Z19func_ov004_0210b634Pi kind:function(thumb,size=0xc) addr:0x210b5b4
_ZN17PlayerControlData8vfunc_18Ev kind:function(thumb,size=0x38) addr:0x210b5c0
-_ZN17PlayerControlData8vfunc_1cEv kind:function(thumb,size=0x4) addr:0x210b5f8
+_ZN17PlayerControlData8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x210b5f8
func_ov004_0210b67c kind:function(thumb,size=0x2c) addr:0x210b5fc
func_ov004_0210b6a8 kind:function(thumb,size=0x2c) addr:0x210b628
_ZN10EquipSwordC2Ev kind:function(thumb,size=0x244) addr:0x210b654
_ZN10EquipSwordD1Ev kind:function(thumb,size=0xa0) addr:0x210b898
_ZN10EquipSwordD0Ev kind:function(thumb,size=0xa8) addr:0x210b938
_ZN9EquipItemC2Ev kind:function(thumb,size=0x14) addr:0x210b9e0
-_ZN9EquipItemD1Ev kind:function(thumb,size=0x4) addr:0x210b9f4
+_ZN9EquipItemD1Ev kind:function(thumb,size=0x2) addr:0x210b9f4
_ZN9EquipItemD0Ev kind:function(thumb,size=0xc) addr:0x210b9f8
-_ZN9EquipItemD2Ev kind:function(thumb,size=0x4) addr:0x210ba04
-_ZN9EquipItem8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x210ba08
+_ZN9EquipItemD2Ev kind:function(thumb,size=0x2) addr:0x210ba04
+_ZN9EquipItem8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x210ba08
_ZN11EquipShieldC2Ev kind:function(thumb,size=0x19c) addr:0x210ba0c
_ZN11EquipShieldD1Ev kind:function(thumb,size=0x6c) addr:0x210bba8
_ZN11EquipShieldD0Ev kind:function(thumb,size=0x70) addr:0x210bc14
@@ -353,9 +353,9 @@ _ZN7MapBase8vfunc_10Ev kind:function(thumb,size=0xa0) addr:0x210c4ac
_ZN7MapBase8vfunc_2cEv kind:function(thumb,size=0x198) addr:0x210c54c
_ZN7MapBase8vfunc_30Ei kind:function(thumb,size=0x9c) addr:0x210c6e4
_ZN7MapBase8vfunc_34EPc kind:function(thumb,size=0x8c) addr:0x210c780
-_ZN7MapBase8vfunc_38Ev kind:function(thumb,size=0x48) addr:0x210c80c
+_ZN7MapBase8vfunc_38Ev kind:function(thumb,size=0x46) addr:0x210c80c
_ZN7MapBase8vfunc_3cEv kind:function(thumb,size=0x1b0) addr:0x210c854
-_ZN7MapBase8vfunc_40Ev kind:function(thumb,size=0x7c) addr:0x210ca04
+_ZN7MapBase8vfunc_40Ev kind:function(thumb,size=0x7a) addr:0x210ca04
_ZN7MapBase8vfunc_44Ev kind:function(thumb,size=0x1c) addr:0x210ca80
_ZN7MapBase19func_ov004_0210cb1cEv kind:function(thumb,size=0x1c) addr:0x210ca9c
_ZN7MapBase19func_ov004_0210cb38Ev kind:function(thumb,size=0xe8) addr:0x210cab8
@@ -379,7 +379,7 @@ func_ov004_0210d110 kind:function(arm,size=0x24) addr:0x210d090
func_ov004_0210d134 kind:function(arm,size=0x10) addr:0x210d0b4
func_ov004_0210d144 kind:function(arm,size=0x134) addr:0x210d0c4
func_ov004_0210d278 kind:function(arm,size=0x24) addr:0x210d1f8
-func_ov004_0210d29c kind:function(thumb,size=0x2c) addr:0x210d21c
+func_ov004_0210d29c kind:function(thumb,size=0x2a) addr:0x210d21c
func_ov004_0210d2c8 kind:function(arm,size=0x48) addr:0x210d248
func_ov004_0210d310 kind:function(arm,size=0x8) addr:0x210d290
func_ov004_0210d318 kind:function(arm,size=0x8) addr:0x210d298
@@ -402,8 +402,8 @@ func_ov004_0210dd90 kind:function(thumb,size=0xb8) addr:0x210dd10
func_ov004_0210de48 kind:function(thumb,size=0x4c) addr:0x210ddc8
func_ov004_0210de94 kind:function(thumb,size=0x1c) addr:0x210de14
func_ov004_0210deb0 kind:function(thumb,size=0xd84) addr:0x210de30
-func_ov004_0210eb10 kind:label(thumb) addr:0x210ea90
-func_ov004_0210ec34 kind:function(thumb,size=0x8c) addr:0x210ebb4
+.L_0210eb10 kind:label(thumb) addr:0x210ea90
+func_ov004_0210ec34 kind:function(thumb,size=0x8a) addr:0x210ebb4
func_ov004_0210ecc0 kind:function(thumb,size=0x5c) addr:0x210ec40
_ZN6CourseC1Ev kind:function(thumb,size=0x114) addr:0x210ec9c
_ZN6CourseD1Ev kind:function(thumb,size=0x54) addr:0x210edb0
@@ -411,20 +411,20 @@ _ZN6Course19func_ov004_0210ee84EPc kind:function(thumb,size=0x10c) addr:0x210ee0
_ZN6Course19func_ov004_0210ef90Ei kind:function(thumb,size=0x80) addr:0x210ef10
_ZN6Course19func_ov004_0210f010Ev kind:function(thumb,size=0x6c) addr:0x210ef90
_ZN6Course11LoadMapDataEPhiici kind:function(thumb,size=0x80) addr:0x210effc
-_ZN6Course19func_ov004_0210f0fcEiPsi kind:function(thumb,size=0x44) addr:0x210f07c
-_ZN6Course19func_ov004_0210f140Ei kind:function(thumb,size=0x17c) addr:0x210f0c0
+_ZN6Course19func_ov004_0210f0fcEiPsi kind:function(thumb,size=0x42) addr:0x210f07c
+_ZN6Course19func_ov004_0210f140Ei kind:function(thumb,size=0x17a) addr:0x210f0c0
_ZN15CutsceneHandlerC1Ev kind:function(thumb,size=0xb0) addr:0x210f23c
_ZN15CutsceneHandlerD1Ev kind:function(thumb,size=0x78) addr:0x210f2ec
_ZN15CutsceneHandler19func_ov004_0210f3e4Ei kind:function(thumb,size=0x88) addr:0x210f364
_ZN15CutsceneHandler19func_ov004_0210f46cEv kind:function(thumb,size=0x5c) addr:0x210f3ec
func_ov004_0210f4c8 kind:function(thumb,size=0xc) addr:0x210f448
-func_ov004_0210f4d4 kind:function(thumb,size=0x4) addr:0x210f454
+func_ov004_0210f4d4 kind:function(thumb,size=0x2) addr:0x210f454
func_ov004_0210f4d8 kind:function(thumb,size=0xc) addr:0x210f458
-func_ov004_0210f4e4 kind:function(thumb,size=0x4) addr:0x210f464
-func_ov004_0210f4e8 kind:function(thumb,size=0x4) addr:0x210f468
-func_ov004_0210f4ec kind:function(thumb,size=0x4) addr:0x210f46c
-func_ov004_0210f4f0 kind:function(thumb,size=0x4) addr:0x210f470
-func_ov004_0210f4f4 kind:function(thumb,size=0x4) addr:0x210f474
+func_ov004_0210f4e4 kind:function(thumb,size=0x2) addr:0x210f464
+func_ov004_0210f4e8 kind:function(thumb,size=0x2) addr:0x210f468
+func_ov004_0210f4ec kind:function(thumb,size=0x2) addr:0x210f46c
+func_ov004_0210f4f0 kind:function(thumb,size=0x2) addr:0x210f470
+func_ov004_0210f4f4 kind:function(thumb,size=0x2) addr:0x210f474
func_ov004_0210f4f8 kind:function(thumb,size=0x30) addr:0x210f478
func_ov004_0210f528 kind:function(thumb,size=0x48) addr:0x210f4a8
func_ov004_0210f570 kind:function(thumb,size=0x4c) addr:0x210f4f0
@@ -436,11 +436,11 @@ func_ov004_0210f670 kind:function(thumb,size=0x6c) addr:0x210f5f0
func_ov004_0210f6dc kind:function(arm,size=0x4) addr:0x210f65c
func_ov004_0210f6e0 kind:function(thumb,size=0x28) addr:0x210f660
func_ov004_0210f708 kind:function(thumb,size=0x3c) addr:0x210f688
-func_ov004_0210f744 kind:function(thumb,size=0x28) addr:0x210f6c4
+func_ov004_0210f744 kind:function(thumb,size=0x26) addr:0x210f6c4
func_ov004_0210f76c kind:function(thumb,size=0x24) addr:0x210f6ec
func_ov004_0210f790 kind:function(thumb,size=0x24) addr:0x210f710
func_ov004_0210f7b4 kind:function(thumb,size=0x38) addr:0x210f734
-func_ov004_0210f7ec kind:function(thumb,size=0x20) addr:0x210f76c
+func_ov004_0210f7ec kind:function(thumb,size=0x1e) addr:0x210f76c
func_ov004_0210f80c kind:function(thumb,size=0x18) addr:0x210f78c
data_ov004_0210f824 kind:data(any) addr:0x210f7a4
data_ov004_0210f826 kind:data(any) addr:0x210f7a6
diff --git a/config/usa/arm9/overlays/ov005/delinks.txt b/config/usa/arm9/overlays/ov005/delinks.txt
index 6183b59c..6908bc9e 100644
--- a/config/usa/arm9/overlays/ov005/delinks.txt
+++ b/config/usa/arm9/overlays/ov005/delinks.txt
@@ -1,7 +1,13 @@
.text start:0x02100a60 end:0x02112220 kind:code align:32
- .rodata start:0x02112220 end:0x0211233c kind:data align:4
+ .rodata start:0x02112220 end:0x0211233c kind:rodata align:4
.init start:0x0211233c end:0x021123e4 kind:code align:4
- .ctor start:0x021123e4 end:0x021123f8 kind:data align:4
+ .ctor start:0x021123e4 end:0x021123f8 kind:rodata align:4
.data start:0x02112400 end:0x02112ba0 kind:data align:32
.bss start:0x02112ba0 end:0x02112ba0 kind:bss align:32
+src/05/Player/LinkStateMove.cpp:
+ complete
+ .text start:0x02111350 end:0x02111b40
+ .rodata start:0x0211232c end:0x0211233c
+ .data start:0x02112b64 end:0x02112ba0
+
diff --git a/config/usa/arm9/overlays/ov005/relocs.txt b/config/usa/arm9/overlays/ov005/relocs.txt
index 788d0a95..eeed1b5e 100644
--- a/config/usa/arm9/overlays/ov005/relocs.txt
+++ b/config/usa/arm9/overlays/ov005/relocs.txt
@@ -2426,7 +2426,7 @@ from:0x021119e4 kind:load to:0x027e0618 module:dtcm
from:0x021119e8 kind:load to:0x027e0fb8 module:dtcm
from:0x021119ec kind:load to:0x02112b64 module:overlay(5)
from:0x021119f0 kind:load to:0x020e5690 module:overlay(0)
-from:0x021119f8 kind:load to:0x02112b84 module:overlay(5)
+from:0x021119f8 kind:load to:0x02112b7c add:8 module:overlay(5)
from:0x021119fc kind:load to:0x027e0fe4 module:dtcm
from:0x02111a08 kind:load to:0x027e0ffc module:dtcm
from:0x02111a10 kind:load to:0x0211232c module:overlay(5)
diff --git a/config/usa/arm9/overlays/ov005/symbols.txt b/config/usa/arm9/overlays/ov005/symbols.txt
index a29c8cc9..26670bd8 100644
--- a/config/usa/arm9/overlays/ov005/symbols.txt
+++ b/config/usa/arm9/overlays/ov005/symbols.txt
@@ -308,7 +308,7 @@ _ZN13LinkStateBase19func_ov005_021113c4Eb kind:function(arm,size=0xc) addr:0x211
_ZN13LinkStateMove19func_ov005_021113d0Ev kind:function(arm,size=0xc) addr:0x2111350
_ZN13LinkStateMove8vfunc_1cEv kind:function(arm,size=0x6bc) addr:0x211135c
_ZN13LinkStateMove8vfunc_3cEv kind:function(arm,size=0x60) addr:0x2111a18
-func_ov005_02111af8 kind:function(arm,size=0xc8) addr:0x2111a78
+_ZN14UnkFilterActor6FilterEP5Actor kind:function(arm,size=0xc8) addr:0x2111a78
_ZN7MapBase8vfunc_1cEb kind:function(arm,size=0x40) addr:0x2111b40
_ZN7MapBase8vfunc_20Ei kind:function(arm,size=0x6c) addr:0x2111b80
_ZN7MapBase8vfunc_24Ev kind:function(arm,size=0x4) addr:0x2111bec
@@ -329,7 +329,8 @@ data_ov005_02112308 kind:data(any) addr:0x2112288
data_ov005_02112324 kind:data(any) addr:0x21122a4
data_ov005_02112360 kind:data(any) addr:0x21122e0
data_ov005_021123a0 kind:data(any) addr:0x2112320
-data_ov005_021123ac kind:data(any) addr:0x211232c
+data_ov005_021123ac kind:data(any) addr:0x211232c local
+data_ov005_021123b8 kind:data(any) addr:0x2112338 local
__sinit_ov005_021123bc kind:function(arm,size=0x24) addr:0x211233c
__sinit_ov005_021123e0 kind:function(arm,size=0x1c) addr:0x2112360
__sinit_ov005_021123fc kind:function(arm,size=0x24) addr:0x211237c
@@ -452,5 +453,8 @@ data_ov005_02112ba4 kind:data(any) addr:0x2112b24
data_ov005_02112bb4 kind:data(any) addr:0x2112b34
data_ov005_02112bc4 kind:data(any) addr:0x2112b44
data_ov005_02112bd4 kind:data(any) addr:0x2112b54
-data_ov005_02112be4 kind:data(any) addr:0x2112b64
-data_ov005_02112c04 kind:data(any) addr:0x2112b84
+data_ov005_02112be4 kind:data(any) addr:0x2112b64 local
+data_ov005_02112be8 kind:data(any) addr:0x2112b68 local
+data_ov005_02112bec kind:data(any) addr:0x2112b6c local
+data_ov005_02112bf0 kind:data(any) addr:0x2112b70 local
+_ZTV14UnkFilterActor kind:data(any) addr:0x2112b7c
diff --git a/config/usa/arm9/overlays/ov006/delinks.txt b/config/usa/arm9/overlays/ov006/delinks.txt
index ac21294c..09230c08 100644
--- a/config/usa/arm9/overlays/ov006/delinks.txt
+++ b/config/usa/arm9/overlays/ov006/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02100a60 end:0x02102f7c kind:code align:32
- .rodata start:0x02102f7c end:0x0210392c kind:data align:4
- .ctor start:0x0210392c end:0x02103930 kind:data align:4
+ .rodata start:0x02102f7c end:0x0210392c kind:rodata align:4
+ .ctor start:0x0210392c end:0x02103930 kind:rodata align:4
.data start:0x02103940 end:0x02103f80 kind:data align:32
.bss start:0x02103f80 end:0x02103fa0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov007/delinks.txt b/config/usa/arm9/overlays/ov007/delinks.txt
index 53c6f3e7..3b0f2764 100644
--- a/config/usa/arm9/overlays/ov007/delinks.txt
+++ b/config/usa/arm9/overlays/ov007/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02100a60 end:0x02102848 kind:code align:32
- .rodata start:0x02102848 end:0x021028b8 kind:data align:4
- .ctor start:0x021028b8 end:0x021028bc kind:data align:4
+ .rodata start:0x02102848 end:0x021028b8 kind:rodata align:4
+ .ctor start:0x021028b8 end:0x021028bc kind:rodata align:4
.data start:0x021028c0 end:0x02102a20 kind:data align:32
.bss start:0x02102a20 end:0x0210eac0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov008/delinks.txt b/config/usa/arm9/overlays/ov008/delinks.txt
index 9ab2fc95..2dcabb64 100644
--- a/config/usa/arm9/overlays/ov008/delinks.txt
+++ b/config/usa/arm9/overlays/ov008/delinks.txt
@@ -1,5 +1,5 @@
.text start:0x02112ba0 end:0x02113a74 kind:code align:32
- .ctor start:0x02113a74 end:0x02113a78 kind:data align:4
+ .ctor start:0x02113a74 end:0x02113a78 kind:rodata align:4
.data start:0x02113a80 end:0x02113b00 kind:data align:32
.bss start:0x02113b00 end:0x02113b00 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov009/delinks.txt b/config/usa/arm9/overlays/ov009/delinks.txt
index 96d38eb9..0c4bafd7 100644
--- a/config/usa/arm9/overlays/ov009/delinks.txt
+++ b/config/usa/arm9/overlays/ov009/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02112ba0 end:0x0211d90c kind:code align:32
- .rodata start:0x0211d90c end:0x0211e424 kind:data align:4
+ .rodata start:0x0211d90c end:0x0211e424 kind:rodata align:4
.init start:0x0211e424 end:0x0211e5e0 kind:code align:4
- .ctor start:0x0211e5e0 end:0x0211e600 kind:data align:4
+ .ctor start:0x0211e5e0 end:0x0211e600 kind:rodata align:4
.data start:0x0211e600 end:0x0211f4a0 kind:data align:32
.bss start:0x0211f4a0 end:0x0211f5c0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov009/symbols.txt b/config/usa/arm9/overlays/ov009/symbols.txt
index 6aa1f07a..3f1423ee 100644
--- a/config/usa/arm9/overlays/ov009/symbols.txt
+++ b/config/usa/arm9/overlays/ov009/symbols.txt
@@ -15,10 +15,10 @@ func_ov009_02113490 kind:function(thumb,size=0xa4) addr:0x2113410
func_ov009_02113534 kind:function(thumb,size=0x9c) addr:0x21134b4
func_ov009_021135d0 kind:function(arm,size=0x50) addr:0x2113550
func_ov009_02113620 kind:function(thumb,size=0x20) addr:0x21135a0
-func_ov009_02113640 kind:function(thumb,size=0x4) addr:0x21135c0
-func_ov009_02113644 kind:function(thumb,size=0x4) addr:0x21135c4
-func_ov009_02113648 kind:function(thumb,size=0x4) addr:0x21135c8
-func_ov009_0211364c kind:function(thumb,size=0x4) addr:0x21135cc
+func_ov009_02113640 kind:function(thumb,size=0x2) addr:0x21135c0
+func_ov009_02113644 kind:function(thumb,size=0x2) addr:0x21135c4
+func_ov009_02113648 kind:function(thumb,size=0x2) addr:0x21135c8
+func_ov009_0211364c kind:function(thumb,size=0x2) addr:0x21135cc
func_ov009_02113650 kind:function(arm,size=0x1c) addr:0x21135d0
func_ov009_0211366c kind:function(arm,size=0x2c) addr:0x21135ec
func_ov009_02113698 kind:function(arm,size=0x2c) addr:0x2113618
@@ -37,23 +37,23 @@ func_ov009_021139f8 kind:function(thumb,size=0x2c) addr:0x2113978
func_ov009_02113a24 kind:function(thumb,size=0x38) addr:0x21139a4
func_ov009_02113a5c kind:function(thumb,size=0x2c) addr:0x21139dc
func_ov009_02113a88 kind:function(thumb,size=0xd4) addr:0x2113a08
-func_ov009_02113b5c kind:function(thumb,size=0xc4) addr:0x2113adc
+func_ov009_02113b5c kind:function(thumb,size=0xc2) addr:0x2113adc
func_ov009_02113c20 kind:function(thumb,size=0x14) addr:0x2113ba0
func_ov009_02113c34 kind:function(thumb,size=0x20) addr:0x2113bb4
func_ov009_02113c54 kind:function(thumb,size=0x5c) addr:0x2113bd4
-func_ov009_02113cb0 kind:function(thumb,size=0x34) addr:0x2113c30
-func_ov009_02113ce4 kind:function(thumb,size=0x14) addr:0x2113c64
+func_ov009_02113cb0 kind:function(thumb,size=0x32) addr:0x2113c30
+func_ov009_02113ce4 kind:function(thumb,size=0x12) addr:0x2113c64
func_ov009_02113cf8 kind:function(thumb,size=0x4) addr:0x2113c78
func_ov009_02113cfc kind:function(thumb,size=0x24) addr:0x2113c7c
-func_ov009_02113d20 kind:function(thumb,size=0x8) addr:0x2113ca0
+func_ov009_02113d20 kind:function(thumb,size=0x6) addr:0x2113ca0
func_ov009_02113d28 kind:function(thumb,size=0x8) addr:0x2113ca8
func_ov009_02113d30 kind:function(thumb,size=0x8) addr:0x2113cb0
-func_ov009_02113d38 kind:function(thumb,size=0xe0) addr:0x2113cb8
+func_ov009_02113d38 kind:function(thumb,size=0xde) addr:0x2113cb8
func_ov009_02113e18 kind:function(thumb,size=0xf0) addr:0x2113d98
func_ov009_02113f08 kind:function(thumb,size=0x18) addr:0x2113e88
-func_ov009_02113f20 kind:function(thumb,size=0x20) addr:0x2113ea0
-func_ov009_02113f40 kind:function(thumb,size=0x50) addr:0x2113ec0
-func_ov009_02113f90 kind:function(thumb,size=0x90) addr:0x2113f10
+func_ov009_02113f20 kind:function(thumb,size=0x1e) addr:0x2113ea0
+func_ov009_02113f40 kind:function(thumb,size=0x4e) addr:0x2113ec0
+func_ov009_02113f90 kind:function(thumb,size=0x8e) addr:0x2113f10
func_ov009_02114020 kind:function(thumb,size=0x58) addr:0x2113fa0
func_ov009_02114078 kind:function(thumb,size=0x6c) addr:0x2113ff8
func_ov009_021140e4 kind:function(thumb,size=0x2c) addr:0x2114064
@@ -64,7 +64,7 @@ func_ov009_021141a8 kind:function(thumb,size=0x70) addr:0x2114128
func_ov009_02114218 kind:function(thumb,size=0x14) addr:0x2114198
func_ov009_0211422c kind:function(thumb,size=0x80) addr:0x21141ac
func_ov009_021142ac kind:function(thumb,size=0x38) addr:0x211422c
-func_ov009_021142e4 kind:function(thumb,size=0xc0) addr:0x2114264
+func_ov009_021142e4 kind:function(thumb,size=0xbe) addr:0x2114264
func_ov009_021143a4 kind:function(thumb,size=0x1c) addr:0x2114324
func_ov009_021143c0 kind:function(thumb,size=0x1c) addr:0x2114340
func_ov009_021143dc kind:function(thumb,size=0x50) addr:0x211435c
@@ -73,17 +73,17 @@ func_ov009_02114448 kind:function(arm,size=0x14) addr:0x21143c8
func_ov009_0211445c kind:function(arm,size=0x28) addr:0x21143dc
func_ov009_02114484 kind:function(arm,size=0x20) addr:0x2114404
func_ov009_021144a4 kind:function(thumb,size=0x10) addr:0x2114424
-func_ov009_021144b4 kind:function(thumb,size=0x4) addr:0x2114434
+func_ov009_021144b4 kind:function(thumb,size=0x2) addr:0x2114434
func_ov009_021144b8 kind:function(thumb,size=0xc) addr:0x2114438
-func_ov009_021144c4 kind:function(thumb,size=0x4) addr:0x2114444
-func_ov009_021144c8 kind:function(thumb,size=0x4) addr:0x2114448
-func_ov009_021144cc kind:function(thumb,size=0x4) addr:0x211444c
-func_ov009_021144d0 kind:function(thumb,size=0x8) addr:0x2114450
-func_ov009_021144d8 kind:function(thumb,size=0x4) addr:0x2114458
+func_ov009_021144c4 kind:function(thumb,size=0x2) addr:0x2114444
+func_ov009_021144c8 kind:function(thumb,size=0x2) addr:0x2114448
+func_ov009_021144cc kind:function(thumb,size=0x2) addr:0x211444c
+func_ov009_021144d0 kind:function(thumb,size=0x6) addr:0x2114450
+func_ov009_021144d8 kind:function(thumb,size=0x2) addr:0x2114458
func_ov009_021144dc kind:function(thumb,size=0x24) addr:0x211445c
-func_ov009_02114500 kind:function(thumb,size=0x4) addr:0x2114480
-func_ov009_02114504 kind:function(thumb,size=0x4) addr:0x2114484
-func_ov009_02114508 kind:function(thumb,size=0x4) addr:0x2114488
+func_ov009_02114500 kind:function(thumb,size=0x2) addr:0x2114480
+func_ov009_02114504 kind:function(thumb,size=0x2) addr:0x2114484
+func_ov009_02114508 kind:function(thumb,size=0x2) addr:0x2114488
func_ov009_0211450c kind:function(thumb,size=0x10) addr:0x211448c
func_ov009_0211451c kind:function(thumb,size=0x4) addr:0x211449c
func_ov009_02114520 kind:function(thumb,size=0x34) addr:0x21144a0
@@ -145,7 +145,7 @@ func_ov009_021161e4 kind:function(thumb,size=0x28) addr:0x2116164
func_ov009_0211620c kind:function(thumb,size=0x24) addr:0x211618c
func_ov009_02116230 kind:function(thumb,size=0x98) addr:0x21161b0
func_ov009_021162c8 kind:function(thumb,size=0x3c) addr:0x2116248
-func_ov009_02116304 kind:function(thumb,size=0x60) addr:0x2116284
+func_ov009_02116304 kind:function(thumb,size=0x5e) addr:0x2116284
func_ov009_02116364 kind:function(arm,size=0x1d8) addr:0x21162e4
func_ov009_0211653c kind:function(arm,size=0x30) addr:0x21164bc
func_ov009_0211656c kind:function(arm,size=0xb4) addr:0x21164ec
@@ -158,7 +158,7 @@ func_ov009_02116a04 kind:function(thumb,size=0xfc) addr:0x2116984
func_ov009_02116b00 kind:function(thumb,size=0x24) addr:0x2116a80
func_ov009_02116b24 kind:function(thumb,size=0x440) addr:0x2116aa4
func_ov009_02116f64 kind:function(thumb,size=0x8) addr:0x2116ee4
-func_ov009_02116f6c kind:function(thumb,size=0x30) addr:0x2116eec
+func_ov009_02116f6c kind:function(thumb,size=0x2e) addr:0x2116eec
func_ov009_02116f9c kind:function(thumb,size=0xac) addr:0x2116f1c
func_ov009_02117048 kind:function(thumb,size=0xec) addr:0x2116fc8
func_ov009_02117134 kind:function(thumb,size=0x34) addr:0x21170b4
@@ -186,13 +186,13 @@ func_ov009_02117b6c kind:function(thumb,size=0x38) addr:0x2117aec
func_ov009_02117ba4 kind:function(thumb,size=0x10) addr:0x2117b24
func_ov009_02117bb4 kind:function(thumb,size=0x20c) addr:0x2117b34
func_ov009_02117dc0 kind:function(thumb,size=0xe8) addr:0x2117d40
-func_ov009_02117ea8 kind:function(thumb,size=0x34) addr:0x2117e28
-func_ov009_02117edc kind:function(thumb,size=0x28) addr:0x2117e5c
-func_ov009_02117f04 kind:function(thumb,size=0x4) addr:0x2117e84
+func_ov009_02117ea8 kind:function(thumb,size=0x32) addr:0x2117e28
+func_ov009_02117edc kind:function(thumb,size=0x26) addr:0x2117e5c
+func_ov009_02117f04 kind:function(thumb,size=0x2) addr:0x2117e84
func_ov009_02117f08 kind:function(thumb,size=0x4) addr:0x2117e88
-func_ov009_02117f0c kind:function(thumb,size=0x4) addr:0x2117e8c
-func_ov009_02117f10 kind:function(thumb,size=0x4) addr:0x2117e90
-func_ov009_02117f14 kind:function(thumb,size=0x4) addr:0x2117e94
+func_ov009_02117f0c kind:function(thumb,size=0x2) addr:0x2117e8c
+func_ov009_02117f10 kind:function(thumb,size=0x2) addr:0x2117e90
+func_ov009_02117f14 kind:function(thumb,size=0x2) addr:0x2117e94
func_ov009_02117f18 kind:function(thumb,size=0xc) addr:0x2117e98
func_ov009_02117f24 kind:function(thumb,size=0x4) addr:0x2117ea4
func_ov009_02117f28 kind:function(thumb,size=0x40) addr:0x2117ea8
@@ -211,7 +211,7 @@ func_ov009_0211805c kind:function(thumb,size=0x60) addr:0x2117fdc
func_ov009_021180bc kind:function(thumb,size=0x84) addr:0x211803c
func_ov009_02118140 kind:function(thumb,size=0x74) addr:0x21180c0
func_ov009_021181b4 kind:function(thumb,size=0x1c) addr:0x2118134
-func_ov009_021181d0 kind:function(thumb,size=0x4) addr:0x2118150
+func_ov009_021181d0 kind:function(thumb,size=0x2) addr:0x2118150
func_ov009_021181d4 kind:function(thumb,size=0x1c) addr:0x2118154
func_ov009_021181f0 kind:function(thumb,size=0xc0) addr:0x2118170
func_ov009_021182b0 kind:function(thumb,size=0x94) addr:0x2118230
@@ -220,7 +220,7 @@ func_ov009_021183dc kind:function(thumb,size=0x94) addr:0x211835c
func_ov009_02118470 kind:function(thumb,size=0x24) addr:0x21183f0
func_ov009_02118494 kind:function(thumb,size=0x130) addr:0x2118414
func_ov009_021185c4 kind:function(thumb,size=0x8) addr:0x2118544
-func_ov009_021185cc kind:function(thumb,size=0x30) addr:0x211854c
+func_ov009_021185cc kind:function(thumb,size=0x2e) addr:0x211854c
func_ov009_021185fc kind:function(thumb,size=0x48) addr:0x211857c
func_ov009_02118644 kind:function(thumb,size=0x70) addr:0x21185c4
func_ov009_021186b4 kind:function(thumb,size=0x2c) addr:0x2118634
@@ -238,11 +238,11 @@ func_ov009_02118914 kind:function(thumb,size=0x38) addr:0x2118894
func_ov009_0211894c kind:function(thumb,size=0x18) addr:0x21188cc
func_ov009_02118964 kind:function(thumb,size=0x94) addr:0x21188e4
func_ov009_021189f8 kind:function(thumb,size=0x11c) addr:0x2118978
-func_ov009_02118b14 kind:function(thumb,size=0x24) addr:0x2118a94
-func_ov009_02118b38 kind:function(thumb,size=0x4) addr:0x2118ab8
+func_ov009_02118b14 kind:function(thumb,size=0x22) addr:0x2118a94
+func_ov009_02118b38 kind:function(thumb,size=0x2) addr:0x2118ab8
func_ov009_02118b3c kind:function(thumb,size=0x4) addr:0x2118abc
-func_ov009_02118b40 kind:function(thumb,size=0x4) addr:0x2118ac0
-func_ov009_02118b44 kind:function(thumb,size=0x4) addr:0x2118ac4
+func_ov009_02118b40 kind:function(thumb,size=0x2) addr:0x2118ac0
+func_ov009_02118b44 kind:function(thumb,size=0x2) addr:0x2118ac4
func_ov009_02118b48 kind:function(thumb,size=0x14) addr:0x2118ac8
func_ov009_02118b5c kind:function(thumb,size=0x14) addr:0x2118adc
func_ov009_02118b70 kind:function(thumb,size=0x14) addr:0x2118af0
@@ -252,9 +252,9 @@ func_ov009_02118bac kind:function(thumb,size=0x14) addr:0x2118b2c
func_ov009_02118bc0 kind:function(thumb,size=0x14) addr:0x2118b40
func_ov009_02118bd4 kind:function(thumb,size=0x14) addr:0x2118b54
func_ov009_02118be8 kind:function(thumb,size=0x10) addr:0x2118b68
-func_ov009_02118bf8 kind:function(thumb,size=0x4) addr:0x2118b78
+func_ov009_02118bf8 kind:function(thumb,size=0x2) addr:0x2118b78
func_ov009_02118bfc kind:function(thumb,size=0x30) addr:0x2118b7c
-func_ov009_02118c2c kind:function(thumb,size=0x28) addr:0x2118bac
+func_ov009_02118c2c kind:function(thumb,size=0x26) addr:0x2118bac
func_ov009_02118c54 kind:function(thumb,size=0x2c) addr:0x2118bd4
func_ov009_02118c80 kind:function(thumb,size=0x24) addr:0x2118c00
func_ov009_02118ca4 kind:function(thumb,size=0x28) addr:0x2118c24
@@ -262,7 +262,7 @@ func_ov009_02118ccc kind:function(arm,size=0x4) addr:0x2118c4c
func_ov009_02118cd0 kind:function(arm,size=0x4) addr:0x2118c50
func_ov009_02118cd4 kind:function(arm,size=0x5c) addr:0x2118c54
func_ov009_02118d30 kind:function(thumb,size=0xc8) addr:0x2118cb0
-func_ov009_02118df8 kind:function(thumb,size=0x4) addr:0x2118d78
+func_ov009_02118df8 kind:function(thumb,size=0x2) addr:0x2118d78
func_ov009_02118dfc kind:function(thumb,size=0xc) addr:0x2118d7c
func_ov009_02118e08 kind:function(arm,size=0x4) addr:0x2118d88
func_ov009_02118e0c kind:function(thumb,size=0x38) addr:0x2118d8c
@@ -298,7 +298,7 @@ func_ov009_02119730 kind:function(arm,size=0x24) addr:0x21196b0
func_ov009_02119754 kind:function(arm,size=0x3c) addr:0x21196d4
func_ov009_02119790 kind:function(arm,size=0xec) addr:0x2119710
func_ov009_0211987c kind:function(arm,size=0x24) addr:0x21197fc
-func_ov009_021198a0 kind:function(thumb,size=0x4) addr:0x2119820
+func_ov009_021198a0 kind:function(thumb,size=0x2) addr:0x2119820
func_ov009_021198a4 kind:function(arm,size=0x8) addr:0x2119824
func_ov009_021198ac kind:function(arm,size=0x8) addr:0x211982c
func_ov009_021198b4 kind:function(arm,size=0x6c) addr:0x2119834
@@ -350,14 +350,14 @@ func_ov009_0211aa94 kind:function(arm,size=0xf8) addr:0x211aa14
func_ov009_0211ab8c kind:function(arm,size=0x3c) addr:0x211ab0c
func_ov009_0211abc8 kind:function(arm,size=0x44) addr:0x211ab48
func_ov009_0211ac0c kind:function(thumb,size=0x20) addr:0x211ab8c
-func_ov009_0211ac2c kind:function(thumb,size=0x2c) addr:0x211abac
+func_ov009_0211ac2c kind:function(thumb,size=0x2a) addr:0x211abac
func_ov009_0211ac58 kind:function(thumb,size=0x90) addr:0x211abd8
func_ov009_0211ace8 kind:function(thumb,size=0x10) addr:0x211ac68
func_ov009_0211acf8 kind:function(thumb,size=0xa0) addr:0x211ac78
func_ov009_0211ad98 kind:function(thumb,size=0x7c) addr:0x211ad18
func_ov009_0211ae14 kind:function(thumb,size=0x80) addr:0x211ad94
func_ov009_0211ae94 kind:function(thumb,size=0x7c) addr:0x211ae14
-func_ov009_0211af10 kind:function(thumb,size=0x18) addr:0x211ae90
+func_ov009_0211af10 kind:function(thumb,size=0x16) addr:0x211ae90
func_ov009_0211af28 kind:function(thumb,size=0x10) addr:0x211aea8
func_ov009_0211af38 kind:function(thumb,size=0x10) addr:0x211aeb8
func_ov009_0211af48 kind:function(arm,size=0x20) addr:0x211aec8
@@ -380,9 +380,9 @@ func_ov009_0211b708 kind:function(arm,size=0x38) addr:0x211b688
func_ov009_0211b740 kind:function(arm,size=0x38) addr:0x211b6c0
func_ov009_0211b778 kind:function(thumb,size=0x34) addr:0x211b6f8
func_ov009_0211b7ac kind:function(thumb,size=0x34) addr:0x211b72c
-func_ov009_0211b7e0 kind:function(thumb,size=0x4) addr:0x211b760
+func_ov009_0211b7e0 kind:function(thumb,size=0x2) addr:0x211b760
func_ov009_0211b7e4 kind:function(thumb,size=0xc) addr:0x211b764
-func_ov009_0211b7f0 kind:function(thumb,size=0x4) addr:0x211b770
+func_ov009_0211b7f0 kind:function(thumb,size=0x2) addr:0x211b770
func_ov009_0211b7f4 kind:function(arm,size=0x54) addr:0x211b774
func_ov009_0211b848 kind:function(arm,size=0x68) addr:0x211b7c8
func_ov009_0211b8b0 kind:function(arm,size=0x64) addr:0x211b830
@@ -431,7 +431,7 @@ func_ov009_0211c428 kind:function(thumb,size=0x1c) addr:0x211c3a8
func_ov009_0211c444 kind:function(thumb,size=0xc) addr:0x211c3c4
func_ov009_0211c450 kind:function(thumb,size=0xc) addr:0x211c3d0
func_ov009_0211c45c kind:function(thumb,size=0xc) addr:0x211c3dc
-func_ov009_0211c468 kind:function(thumb,size=0x4) addr:0x211c3e8
+func_ov009_0211c468 kind:function(thumb,size=0x2) addr:0x211c3e8
func_ov009_0211c46c kind:function(thumb,size=0x1c) addr:0x211c3ec
func_ov009_0211c488 kind:function(thumb,size=0x40) addr:0x211c408
func_ov009_0211c4c8 kind:function(thumb,size=0x20) addr:0x211c448
@@ -473,21 +473,21 @@ func_ov009_0211cb88 kind:function(thumb,size=0x48) addr:0x211cb08
func_ov009_0211cbd0 kind:function(thumb,size=0x34) addr:0x211cb50
func_ov009_0211cc04 kind:function(thumb,size=0x3c) addr:0x211cb84
func_ov009_0211cc40 kind:function(thumb,size=0x34) addr:0x211cbc0
-func_ov009_0211cc74 kind:function(thumb,size=0x18) addr:0x211cbf4
+func_ov009_0211cc74 kind:function(thumb,size=0x16) addr:0x211cbf4
func_ov009_0211cc8c kind:function(thumb,size=0xc) addr:0x211cc0c
func_ov009_0211cc98 kind:function(thumb,size=0xc) addr:0x211cc18
-func_ov009_0211cca4 kind:function(thumb,size=0x10) addr:0x211cc24
-func_ov009_0211ccb4 kind:function(thumb,size=0x4) addr:0x211cc34
+func_ov009_0211cca4 kind:function(thumb,size=0xe) addr:0x211cc24
+func_ov009_0211ccb4 kind:function(thumb,size=0x2) addr:0x211cc34
func_ov009_0211ccb8 kind:function(thumb,size=0x84) addr:0x211cc38
func_ov009_0211cd3c kind:function(arm,size=0x4) addr:0x211ccbc
func_ov009_0211cd40 kind:function(arm,size=0x130) addr:0x211ccc0
func_ov009_0211ce70 kind:function(arm,size=0x4c) addr:0x211cdf0
-func_ov009_0211cebc kind:function(thumb,size=0x1c) addr:0x211ce3c
-func_ov009_0211ced8 kind:function(thumb,size=0x4) addr:0x211ce58
+func_ov009_0211cebc kind:function(thumb,size=0x1a) addr:0x211ce3c
+func_ov009_0211ced8 kind:function(thumb,size=0x2) addr:0x211ce58
func_ov009_0211cedc kind:function(thumb,size=0x10) addr:0x211ce5c
func_ov009_0211ceec kind:function(thumb,size=0x120) addr:0x211ce6c
func_ov009_0211d00c kind:function(thumb,size=0x84) addr:0x211cf8c
-func_ov009_0211d090 kind:function(thumb,size=0x20) addr:0x211d010
+func_ov009_0211d090 kind:function(thumb,size=0x1e) addr:0x211d010
func_ov009_0211d0b0 kind:function(arm,size=0x78) addr:0x211d030
func_ov009_0211d128 kind:function(arm,size=0x4c) addr:0x211d0a8
func_ov009_0211d174 kind:function(arm,size=0xc) addr:0x211d0f4
diff --git a/config/usa/arm9/overlays/ov010/delinks.txt b/config/usa/arm9/overlays/ov010/delinks.txt
index 6b71d392..f715f316 100644
--- a/config/usa/arm9/overlays/ov010/delinks.txt
+++ b/config/usa/arm9/overlays/ov010/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02112ba0 end:0x0211e6d0 kind:code align:32
- .rodata start:0x0211e6d0 end:0x0211e998 kind:data align:4
- .ctor start:0x0211e998 end:0x0211e99c kind:data align:4
+ .rodata start:0x0211e6d0 end:0x0211e998 kind:rodata align:4
+ .ctor start:0x0211e998 end:0x0211e99c kind:rodata align:4
.data start:0x0211e9a0 end:0x0211f380 kind:data align:32
.bss start:0x0211f380 end:0x0211f3e0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov010/symbols.txt b/config/usa/arm9/overlays/ov010/symbols.txt
index afe501b6..f78436fe 100644
--- a/config/usa/arm9/overlays/ov010/symbols.txt
+++ b/config/usa/arm9/overlays/ov010/symbols.txt
@@ -11,9 +11,9 @@ func_ov010_02112ef4 kind:function(thumb,size=0xc) addr:0x2112e74
func_ov010_02112f00 kind:function(thumb,size=0xc) addr:0x2112e80
func_ov010_02112f0c kind:function(thumb,size=0xc) addr:0x2112e8c
func_ov010_02112f18 kind:function(thumb,size=0x1c) addr:0x2112e98
-func_ov010_02112f34 kind:function(thumb,size=0x4) addr:0x2112eb4
+func_ov010_02112f34 kind:function(thumb,size=0x2) addr:0x2112eb4
func_ov010_02112f38 kind:function(thumb,size=0xc) addr:0x2112eb8
-func_ov010_02112f44 kind:function(thumb,size=0x4) addr:0x2112ec4
+func_ov010_02112f44 kind:function(thumb,size=0x2) addr:0x2112ec4
func_ov010_02112f48 kind:function(arm,size=0x14) addr:0x2112ec8
func_ov010_02112f5c kind:function(arm,size=0x4) addr:0x2112edc
func_ov010_02112f60 kind:function(arm,size=0x4) addr:0x2112ee0
@@ -25,13 +25,13 @@ func_ov010_02113000 kind:function(thumb,size=0x3c) addr:0x2112f80
func_ov010_0211303c kind:function(thumb,size=0x29c) addr:0x2112fbc
func_ov010_021132d8 kind:function(thumb,size=0xc) addr:0x2113258
func_ov010_021132e4 kind:function(thumb,size=0x74) addr:0x2113264
-func_ov010_02113358 kind:function(thumb,size=0xc) addr:0x21132d8
+func_ov010_02113358 kind:function(thumb,size=0xa) addr:0x21132d8
func_ov010_02113364 kind:function(thumb,size=0x18) addr:0x21132e4
func_ov010_0211337c kind:function(thumb,size=0x1ac) addr:0x21132fc
func_ov010_02113528 kind:function(thumb,size=0x44) addr:0x21134a8
-func_ov010_0211356c kind:function(thumb,size=0x14) addr:0x21134ec
-func_ov010_02113580 kind:function(thumb,size=0x2c) addr:0x2113500
-func_ov010_021135ac kind:function(thumb,size=0x4) addr:0x211352c
+func_ov010_0211356c kind:function(thumb,size=0x12) addr:0x21134ec
+func_ov010_02113580 kind:function(thumb,size=0x2a) addr:0x2113500
+func_ov010_021135ac kind:function(thumb,size=0x2) addr:0x211352c
func_ov010_021135b0 kind:function(thumb,size=0x6c) addr:0x2113530
func_ov010_0211361c kind:function(thumb,size=0x30) addr:0x211359c
func_ov010_0211364c kind:function(thumb,size=0x114) addr:0x21135cc
@@ -39,11 +39,11 @@ func_ov010_02113760 kind:function(thumb,size=0x94) addr:0x21136e0
func_ov010_021137f4 kind:function(thumb,size=0x74) addr:0x2113774
func_ov010_02113868 kind:function(thumb,size=0x8) addr:0x21137e8
func_ov010_02113870 kind:function(thumb,size=0x8) addr:0x21137f0
-func_ov010_02113878 kind:function(thumb,size=0x18) addr:0x21137f8
-func_ov010_02113890 kind:function(thumb,size=0x14) addr:0x2113810
+func_ov010_02113878 kind:function(thumb,size=0x16) addr:0x21137f8
+func_ov010_02113890 kind:function(thumb,size=0x12) addr:0x2113810
func_ov010_021138a4 kind:function(thumb,size=0x40) addr:0x2113824
func_ov010_021138e4 kind:function(thumb,size=0xd8) addr:0x2113864
-func_ov010_021139bc kind:function(thumb,size=0x30) addr:0x211393c
+func_ov010_021139bc kind:function(thumb,size=0x2e) addr:0x211393c
func_ov010_021139ec kind:function(thumb,size=0x60) addr:0x211396c
func_ov010_02113a4c kind:function(thumb,size=0xc) addr:0x21139cc
func_ov010_02113a58 kind:function(thumb,size=0x38) addr:0x21139d8
@@ -86,7 +86,7 @@ func_ov010_02114bb0 kind:function(thumb,size=0x7c) addr:0x2114b30
func_ov010_02114c2c kind:function(thumb,size=0x20c) addr:0x2114bac
func_ov010_02114e38 kind:function(thumb,size=0x1b4) addr:0x2114db8
func_ov010_02114fec kind:function(thumb,size=0x28) addr:0x2114f6c
-func_ov010_02115014 kind:function(thumb,size=0x1c) addr:0x2114f94
+func_ov010_02115014 kind:function(thumb,size=0x1a) addr:0x2114f94
func_ov010_02115030 kind:function(thumb,size=0x64) addr:0x2114fb0
func_ov010_02115094 kind:function(arm,size=0x40) addr:0x2115014
func_ov010_021150d4 kind:function(arm,size=0x38) addr:0x2115054
@@ -237,7 +237,7 @@ func_ov010_0211b2e4 kind:function(arm,size=0x40) addr:0x211b264
func_ov010_0211b324 kind:function(thumb,size=0x30) addr:0x211b2a4
func_ov010_0211b354 kind:function(thumb,size=0x98) addr:0x211b2d4
func_ov010_0211b3ec kind:function(thumb,size=0xc) addr:0x211b36c
-func_ov010_0211b3f8 kind:function(thumb,size=0xb4) addr:0x211b378
+func_ov010_0211b3f8 kind:function(thumb,size=0xb2) addr:0x211b378
func_ov010_0211b4ac kind:function(thumb,size=0xc) addr:0x211b42c
func_ov010_0211b4b8 kind:function(arm,size=0x28) addr:0x211b438
func_ov010_0211b4e0 kind:function(arm,size=0x20) addr:0x211b460
@@ -262,10 +262,10 @@ func_ov010_0211bc3c kind:function(thumb,size=0x44) addr:0x211bbbc
func_ov010_0211bc80 kind:function(thumb,size=0x1a8) addr:0x211bc00
func_ov010_0211be28 kind:function(thumb,size=0xa8) addr:0x211bda8
func_ov010_0211bed0 kind:function(thumb,size=0xb8) addr:0x211be50
-func_ov010_0211bf88 kind:function(thumb,size=0x4c) addr:0x211bf08
-func_ov010_0211bfd4 kind:function(thumb,size=0x24c) addr:0x211bf54
-func_ov010_0211c220 kind:function(thumb,size=0x198) addr:0x211c1a0
-func_ov010_0211c3b8 kind:function(thumb,size=0x114) addr:0x211c338
+func_ov010_0211bf88 kind:function(thumb,size=0x4a) addr:0x211bf08
+func_ov010_0211bfd4 kind:function(thumb,size=0x24a) addr:0x211bf54
+func_ov010_0211c220 kind:function(thumb,size=0x196) addr:0x211c1a0
+func_ov010_0211c3b8 kind:function(thumb,size=0x112) addr:0x211c338
func_ov010_0211c4cc kind:function(thumb,size=0x1b8) addr:0x211c44c
func_ov010_0211c684 kind:function(thumb,size=0x6c) addr:0x211c604
func_ov010_0211c6f0 kind:function(arm,size=0x40) addr:0x211c670
@@ -310,11 +310,11 @@ func_ov010_0211dd44 kind:function(thumb,size=0x98) addr:0x211dcc4
func_ov010_0211dddc kind:function(thumb,size=0x18) addr:0x211dd5c
func_ov010_0211ddf4 kind:function(thumb,size=0x40) addr:0x211dd74
func_ov010_0211de34 kind:function(thumb,size=0x40) addr:0x211ddb4
-func_ov010_0211de74 kind:function(thumb,size=0x2c) addr:0x211ddf4
+func_ov010_0211de74 kind:function(thumb,size=0x2a) addr:0x211ddf4
func_ov010_0211dea0 kind:function(thumb,size=0x40) addr:0x211de20
func_ov010_0211dee0 kind:function(thumb,size=0x14) addr:0x211de60
func_ov010_0211def4 kind:function(thumb,size=0x14) addr:0x211de74
-func_ov010_0211df08 kind:function(thumb,size=0x8) addr:0x211de88
+func_ov010_0211df08 kind:function(thumb,size=0x6) addr:0x211de88
func_ov010_0211df10 kind:function(thumb,size=0x60) addr:0x211de90
func_ov010_0211df70 kind:function(thumb,size=0x1c) addr:0x211def0
func_ov010_0211df8c kind:function(thumb,size=0x18) addr:0x211df0c
@@ -323,7 +323,7 @@ func_ov010_0211dfd4 kind:function(thumb,size=0x3c) addr:0x211df54
func_ov010_0211e010 kind:function(thumb,size=0xc0) addr:0x211df90
func_ov010_0211e0d0 kind:function(thumb,size=0x24) addr:0x211e050
func_ov010_0211e0f4 kind:function(thumb,size=0x40) addr:0x211e074
-func_ov010_0211e134 kind:function(thumb,size=0x20) addr:0x211e0b4
+func_ov010_0211e134 kind:function(thumb,size=0x1e) addr:0x211e0b4
func_ov010_0211e154 kind:function(thumb,size=0xb8) addr:0x211e0d4
func_ov010_0211e20c kind:function(thumb,size=0x38) addr:0x211e18c
func_ov010_0211e244 kind:function(thumb,size=0x24) addr:0x211e1c4
diff --git a/config/usa/arm9/overlays/ov011/delinks.txt b/config/usa/arm9/overlays/ov011/delinks.txt
index 6a3b17a5..3d3d51db 100644
--- a/config/usa/arm9/overlays/ov011/delinks.txt
+++ b/config/usa/arm9/overlays/ov011/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02112ba0 end:0x0212b98c kind:code align:32
- .rodata start:0x0212b98c end:0x0212ec80 kind:data align:4
- .ctor start:0x0212ec80 end:0x0212ec84 kind:data align:4
+ .rodata start:0x0212b98c end:0x0212ec80 kind:rodata align:4
+ .ctor start:0x0212ec80 end:0x0212ec84 kind:rodata align:4
.data start:0x0212eca0 end:0x021307a0 kind:data align:32
.bss start:0x021307a0 end:0x02132e60 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov011/symbols.txt b/config/usa/arm9/overlays/ov011/symbols.txt
index 468029db..857da378 100644
--- a/config/usa/arm9/overlays/ov011/symbols.txt
+++ b/config/usa/arm9/overlays/ov011/symbols.txt
@@ -8,7 +8,7 @@ func_ov011_0211378c kind:function(thumb,size=0x58) addr:0x211370c
func_ov011_021137e4 kind:function(thumb,size=0xc) addr:0x2113764
func_ov011_021137f0 kind:function(thumb,size=0xc) addr:0x2113770
func_ov011_021137fc kind:function(thumb,size=0x1f8) addr:0x211377c
-func_ov011_021139f4 kind:function(thumb,size=0x24) addr:0x2113974
+func_ov011_021139f4 kind:function(thumb,size=0x22) addr:0x2113974
func_ov011_02113a18 kind:function(thumb,size=0x7c) addr:0x2113998
func_ov011_02113a94 kind:function(thumb,size=0x44) addr:0x2113a14
func_ov011_02113ad8 kind:function(thumb,size=0x30) addr:0x2113a58
@@ -16,61 +16,61 @@ func_ov011_02113b08 kind:function(thumb,size=0x2c) addr:0x2113a88
func_ov011_02113b34 kind:function(thumb,size=0xa0) addr:0x2113ab4
func_ov011_02113bd4 kind:function(thumb,size=0xdc) addr:0x2113b54
func_ov011_02113cb0 kind:function(thumb,size=0xd8) addr:0x2113c30
-func_ov011_02113d88 kind:function(thumb,size=0xa4) addr:0x2113d08
+func_ov011_02113d88 kind:function(thumb,size=0xa2) addr:0x2113d08
func_ov011_02113e2c kind:function(thumb,size=0xf4) addr:0x2113dac
func_ov011_02113f20 kind:function(thumb,size=0x44) addr:0x2113ea0
func_ov011_02113f64 kind:function(thumb,size=0x4c) addr:0x2113ee4
func_ov011_02113fb0 kind:function(thumb,size=0xbc) addr:0x2113f30
-func_ov011_0211406c kind:function(thumb,size=0x24) addr:0x2113fec
-func_ov011_02114090 kind:function(thumb,size=0x154) addr:0x2114010
+func_ov011_0211406c kind:function(thumb,size=0x22) addr:0x2113fec
+func_ov011_02114090 kind:function(thumb,size=0x152) addr:0x2114010
func_ov011_021141e4 kind:function(thumb,size=0xb8) addr:0x2114164
func_ov011_0211429c kind:function(thumb,size=0x30) addr:0x211421c
func_ov011_021142cc kind:function(thumb,size=0x110) addr:0x211424c
-func_ov011_021143dc kind:function(thumb,size=0x10) addr:0x211435c
-func_ov011_021143ec kind:function(thumb,size=0x54) addr:0x211436c
+func_ov011_021143dc kind:function(thumb,size=0xe) addr:0x211435c
+func_ov011_021143ec kind:function(thumb,size=0x52) addr:0x211436c
func_ov011_02114440 kind:function(thumb,size=0x144) addr:0x21143c0
func_ov011_02114584 kind:function(thumb,size=0xdc) addr:0x2114504
func_ov011_02114660 kind:function(thumb,size=0x6c) addr:0x21145e0
func_ov011_021146cc kind:function(thumb,size=0x8c) addr:0x211464c
func_ov011_02114758 kind:function(thumb,size=0x54) addr:0x21146d8
-func_ov011_021147ac kind:function(thumb,size=0x58) addr:0x211472c
+func_ov011_021147ac kind:function(thumb,size=0x56) addr:0x211472c
func_ov011_02114804 kind:function(thumb,size=0x68) addr:0x2114784
func_ov011_0211486c kind:function(thumb,size=0x7c) addr:0x21147ec
func_ov011_021148e8 kind:function(thumb,size=0x88) addr:0x2114868
-func_ov011_02114970 kind:function(thumb,size=0x64) addr:0x21148f0
+func_ov011_02114970 kind:function(thumb,size=0x62) addr:0x21148f0
func_ov011_021149d4 kind:function(thumb,size=0x2c) addr:0x2114954
-func_ov011_02114a00 kind:function(thumb,size=0x40) addr:0x2114980
+func_ov011_02114a00 kind:function(thumb,size=0x3e) addr:0x2114980
func_ov011_02114a40 kind:function(thumb,size=0x28) addr:0x21149c0
-func_ov011_02114a68 kind:function(thumb,size=0x38) addr:0x21149e8
+func_ov011_02114a68 kind:function(thumb,size=0x36) addr:0x21149e8
func_ov011_02114aa0 kind:function(thumb,size=0x38) addr:0x2114a20
-func_ov011_02114ad8 kind:function(thumb,size=0x7c) addr:0x2114a58
+func_ov011_02114ad8 kind:function(thumb,size=0x7a) addr:0x2114a58
func_ov011_02114b54 kind:function(thumb,size=0x34) addr:0x2114ad4
func_ov011_02114b88 kind:function(thumb,size=0x24) addr:0x2114b08
-func_ov011_02114bac kind:function(thumb,size=0x30) addr:0x2114b2c
+func_ov011_02114bac kind:function(thumb,size=0x2e) addr:0x2114b2c
func_ov011_02114bdc kind:function(thumb,size=0x18) addr:0x2114b5c
func_ov011_02114bf4 kind:function(thumb,size=0x10) addr:0x2114b74
func_ov011_02114c04 kind:function(thumb,size=0x58) addr:0x2114b84
-func_ov011_02114c5c kind:function(thumb,size=0x24) addr:0x2114bdc
+func_ov011_02114c5c kind:function(thumb,size=0x22) addr:0x2114bdc
func_ov011_02114c80 kind:function(thumb,size=0x20) addr:0x2114c00
func_ov011_02114ca0 kind:function(thumb,size=0x10) addr:0x2114c20
func_ov011_02114cb0 kind:function(thumb,size=0xc) addr:0x2114c30
-func_ov011_02114cbc kind:function(thumb,size=0x14) addr:0x2114c3c
+func_ov011_02114cbc kind:function(thumb,size=0x12) addr:0x2114c3c
func_ov011_02114cd0 kind:function(thumb,size=0x54) addr:0x2114c50
func_ov011_02114d24 kind:function(thumb,size=0x10) addr:0x2114ca4
-func_ov011_02114d34 kind:function(thumb,size=0x4) addr:0x2114cb4
+func_ov011_02114d34 kind:function(thumb,size=0x2) addr:0x2114cb4
func_ov011_02114d38 kind:function(thumb,size=0x8) addr:0x2114cb8
func_ov011_02114d40 kind:function(thumb,size=0xc) addr:0x2114cc0
func_ov011_02114d4c kind:function(thumb,size=0x8) addr:0x2114ccc
func_ov011_02114d54 kind:function(thumb,size=0x28) addr:0x2114cd4
-func_ov011_02114d7c kind:function(thumb,size=0x18) addr:0x2114cfc
+func_ov011_02114d7c kind:function(thumb,size=0x16) addr:0x2114cfc
func_ov011_02114d94 kind:function(thumb,size=0x28) addr:0x2114d14
-func_ov011_02114dbc kind:function(thumb,size=0x18) addr:0x2114d3c
+func_ov011_02114dbc kind:function(thumb,size=0x16) addr:0x2114d3c
func_ov011_02114dd4 kind:function(thumb,size=0x14) addr:0x2114d54
func_ov011_02114de8 kind:function(thumb,size=0x70) addr:0x2114d68
-func_ov011_02114e58 kind:function(thumb,size=0xc) addr:0x2114dd8
+func_ov011_02114e58 kind:function(thumb,size=0xa) addr:0x2114dd8
func_ov011_02114e64 kind:function(thumb,size=0x8) addr:0x2114de4
func_ov011_02114e6c kind:function(thumb,size=0x8c) addr:0x2114dec
-func_ov011_02114ef8 kind:function(thumb,size=0x24) addr:0x2114e78
+func_ov011_02114ef8 kind:function(thumb,size=0x22) addr:0x2114e78
func_ov011_02114f1c kind:function(thumb,size=0x10) addr:0x2114e9c
func_ov011_02114f2c kind:function(thumb,size=0x14) addr:0x2114eac
func_ov011_02114f40 kind:function(thumb,size=0x14) addr:0x2114ec0
@@ -83,7 +83,7 @@ func_ov011_02115430 kind:function(thumb,size=0x8) addr:0x21153b0
func_ov011_02115438 kind:function(thumb,size=0x14) addr:0x21153b8
func_ov011_0211544c kind:function(thumb,size=0x2b8) addr:0x21153cc
func_ov011_02115704 kind:function(thumb,size=0x68) addr:0x2115684
-func_ov011_0211576c kind:function(thumb,size=0x44) addr:0x21156ec
+func_ov011_0211576c kind:function(thumb,size=0x42) addr:0x21156ec
func_ov011_021157b0 kind:function(thumb,size=0xf0) addr:0x2115730
func_ov011_021158a0 kind:function(thumb,size=0x3c) addr:0x2115820
func_ov011_021158dc kind:function(thumb,size=0x38) addr:0x211585c
@@ -92,7 +92,7 @@ func_ov011_0211596c kind:function(thumb,size=0x84) addr:0x21158ec
func_ov011_021159f0 kind:function(thumb,size=0xb8) addr:0x2115970
func_ov011_02115aa8 kind:function(thumb,size=0x30c) addr:0x2115a28
func_ov011_02115db4 kind:function(thumb,size=0x68) addr:0x2115d34
-func_ov011_02115e1c kind:function(thumb,size=0x44) addr:0x2115d9c
+func_ov011_02115e1c kind:function(thumb,size=0x42) addr:0x2115d9c
func_ov011_02115e60 kind:function(thumb,size=0xe8) addr:0x2115de0
func_ov011_02115f48 kind:function(thumb,size=0x38) addr:0x2115ec8
func_ov011_02115f80 kind:function(thumb,size=0x58) addr:0x2115f00
@@ -114,16 +114,16 @@ func_ov011_02116668 kind:function(thumb,size=0x294) addr:0x21165e8
func_ov011_021168fc kind:function(thumb,size=0x18) addr:0x211687c
func_ov011_02116914 kind:function(thumb,size=0x3c) addr:0x2116894
func_ov011_02116950 kind:function(thumb,size=0xc) addr:0x21168d0
-func_ov011_0211695c kind:function(thumb,size=0x70) addr:0x21168dc
-func_ov011_021169cc kind:function(thumb,size=0x50) addr:0x211694c
-func_ov011_02116a1c kind:function(thumb,size=0x34) addr:0x211699c
-func_ov011_02116a50 kind:function(thumb,size=0xc4) addr:0x21169d0
-func_ov011_02116b14 kind:function(thumb,size=0x60) addr:0x2116a94
+func_ov011_0211695c kind:function(thumb,size=0x6e) addr:0x21168dc
+func_ov011_021169cc kind:function(thumb,size=0x4e) addr:0x211694c
+func_ov011_02116a1c kind:function(thumb,size=0x32) addr:0x211699c
+func_ov011_02116a50 kind:function(thumb,size=0xc2) addr:0x21169d0
+func_ov011_02116b14 kind:function(thumb,size=0x5e) addr:0x2116a94
func_ov011_02116b74 kind:function(thumb,size=0x28) addr:0x2116af4
func_ov011_02116b9c kind:function(thumb,size=0xd4) addr:0x2116b1c
func_ov011_02116c70 kind:function(thumb,size=0x50) addr:0x2116bf0
func_ov011_02116cc0 kind:function(thumb,size=0x9c) addr:0x2116c40
-func_ov011_02116d5c kind:function(thumb,size=0xc) addr:0x2116cdc
+func_ov011_02116d5c kind:function(thumb,size=0xa) addr:0x2116cdc
func_ov011_02116d68 kind:function(thumb,size=0xfc) addr:0x2116ce8
func_ov011_02116e64 kind:function(thumb,size=0x1d4) addr:0x2116de4
func_ov011_02117038 kind:function(thumb,size=0xb4) addr:0x2116fb8
@@ -132,20 +132,20 @@ func_ov011_02117274 kind:function(thumb,size=0x3e4) addr:0x21171f4
func_ov011_02117658 kind:function(thumb,size=0x38) addr:0x21175d8
func_ov011_02117690 kind:function(thumb,size=0x1b8) addr:0x2117610
func_ov011_02117848 kind:function(thumb,size=0x1b8) addr:0x21177c8
-func_ov011_02117a00 kind:function(thumb,size=0x48) addr:0x2117980
+func_ov011_02117a00 kind:function(thumb,size=0x46) addr:0x2117980
func_ov011_02117a48 kind:function(thumb,size=0x2b8) addr:0x21179c8
func_ov011_02117d00 kind:function(thumb,size=0x190) addr:0x2117c80
func_ov011_02117e90 kind:function(thumb,size=0x3bc) addr:0x2117e10
func_ov011_0211824c kind:function(thumb,size=0x3bc) addr:0x21181cc
func_ov011_02118608 kind:function(thumb,size=0x28) addr:0x2118588
-func_ov011_02118630 kind:function(thumb,size=0x78) addr:0x21185b0
+func_ov011_02118630 kind:function(thumb,size=0x76) addr:0x21185b0
func_ov011_021186a8 kind:function(thumb,size=0x54) addr:0x2118628
func_ov011_021186fc kind:function(thumb,size=0x848) addr:0x211867c
func_ov011_02118f44 kind:function(thumb,size=0x2c) addr:0x2118ec4
-func_ov011_02118f70 kind:function(thumb,size=0x2c) addr:0x2118ef0
-func_ov011_02118f9c kind:function(thumb,size=0x18) addr:0x2118f1c
-func_ov011_02118fb4 kind:function(thumb,size=0x18) addr:0x2118f34
-func_ov011_02118fcc kind:function(thumb,size=0x28) addr:0x2118f4c
+func_ov011_02118f70 kind:function(thumb,size=0x2a) addr:0x2118ef0
+func_ov011_02118f9c kind:function(thumb,size=0x16) addr:0x2118f1c
+func_ov011_02118fb4 kind:function(thumb,size=0x16) addr:0x2118f34
+func_ov011_02118fcc kind:function(thumb,size=0x26) addr:0x2118f4c
func_ov011_02118ff4 kind:function(thumb,size=0x1c) addr:0x2118f74
func_ov011_02119010 kind:function(thumb,size=0x24) addr:0x2118f90
func_ov011_02119034 kind:function(thumb,size=0x10) addr:0x2118fb4
@@ -180,7 +180,7 @@ func_ov011_02119878 kind:function(thumb,size=0x24) addr:0x21197f8
func_ov011_0211989c kind:function(thumb,size=0x3c) addr:0x211981c
func_ov011_021198d8 kind:function(thumb,size=0x28) addr:0x2119858
func_ov011_02119900 kind:function(thumb,size=0x2c) addr:0x2119880
-func_ov011_0211992c kind:function(thumb,size=0x20) addr:0x21198ac
+func_ov011_0211992c kind:function(thumb,size=0x1e) addr:0x21198ac
func_ov011_0211994c kind:function(thumb,size=0x48) addr:0x21198cc
func_ov011_02119994 kind:function(thumb,size=0x7c) addr:0x2119914
func_ov011_02119a10 kind:function(thumb,size=0x14) addr:0x2119990
@@ -192,8 +192,8 @@ func_ov011_02119b50 kind:function(thumb,size=0x28) addr:0x2119ad0
func_ov011_02119b78 kind:function(thumb,size=0x50) addr:0x2119af8
func_ov011_02119bc8 kind:function(thumb,size=0x10) addr:0x2119b48
func_ov011_02119bd8 kind:function(thumb,size=0x40) addr:0x2119b58
-func_ov011_02119c18 kind:function(thumb,size=0x14) addr:0x2119b98
-func_ov011_02119c2c kind:function(thumb,size=0x14) addr:0x2119bac
+func_ov011_02119c18 kind:function(thumb,size=0x12) addr:0x2119b98
+func_ov011_02119c2c kind:function(thumb,size=0x12) addr:0x2119bac
func_ov011_02119c40 kind:function(thumb,size=0x28) addr:0x2119bc0
func_ov011_02119c68 kind:function(thumb,size=0x7c) addr:0x2119be8
func_ov011_02119ce4 kind:function(thumb,size=0x2c) addr:0x2119c64
@@ -280,7 +280,7 @@ func_ov011_0211c48c kind:function(thumb,size=0x24) addr:0x211c40c
func_ov011_0211c4b0 kind:function(thumb,size=0x10) addr:0x211c430
func_ov011_0211c4c0 kind:function(thumb,size=0x34) addr:0x211c440
func_ov011_0211c4f4 kind:function(thumb,size=0x1c) addr:0x211c474
-func_ov011_0211c510 kind:function(thumb,size=0x10) addr:0x211c490
+func_ov011_0211c510 kind:function(thumb,size=0xe) addr:0x211c490
func_ov011_0211c520 kind:function(thumb,size=0x1c) addr:0x211c4a0
func_ov011_0211c53c kind:function(thumb,size=0xa4) addr:0x211c4bc
func_ov011_0211c5e0 kind:function(thumb,size=0x14) addr:0x211c560
@@ -309,7 +309,7 @@ func_ov011_0211cc6c kind:function(thumb,size=0x28) addr:0x211cbec
func_ov011_0211cc94 kind:function(thumb,size=0x20) addr:0x211cc14
func_ov011_0211ccb4 kind:function(thumb,size=0x10) addr:0x211cc34
func_ov011_0211ccc4 kind:function(thumb,size=0xc0) addr:0x211cc44
-func_ov011_0211cd84 kind:function(thumb,size=0x4) addr:0x211cd04
+func_ov011_0211cd84 kind:function(thumb,size=0x2) addr:0x211cd04
func_ov011_0211cd88 kind:function(thumb,size=0x38) addr:0x211cd08
func_ov011_0211cdc0 kind:function(thumb,size=0x18) addr:0x211cd40
func_ov011_0211cdd8 kind:function(thumb,size=0x30) addr:0x211cd58
@@ -323,7 +323,7 @@ func_ov011_0211cfa8 kind:function(thumb,size=0x28) addr:0x211cf28
func_ov011_0211cfd0 kind:function(thumb,size=0x20) addr:0x211cf50
func_ov011_0211cff0 kind:function(thumb,size=0x10) addr:0x211cf70
func_ov011_0211d000 kind:function(thumb,size=0x24) addr:0x211cf80
-func_ov011_0211d024 kind:function(thumb,size=0x4) addr:0x211cfa4
+func_ov011_0211d024 kind:function(thumb,size=0x2) addr:0x211cfa4
func_ov011_0211d028 kind:function(thumb,size=0x48) addr:0x211cfa8
func_ov011_0211d070 kind:function(thumb,size=0x18) addr:0x211cff0
func_ov011_0211d088 kind:function(thumb,size=0x40) addr:0x211d008
@@ -337,7 +337,7 @@ func_ov011_0211d224 kind:function(thumb,size=0x20) addr:0x211d1a4
func_ov011_0211d244 kind:function(thumb,size=0x20) addr:0x211d1c4
func_ov011_0211d264 kind:function(thumb,size=0x10) addr:0x211d1e4
func_ov011_0211d274 kind:function(thumb,size=0x14) addr:0x211d1f4
-func_ov011_0211d288 kind:function(thumb,size=0x4) addr:0x211d208
+func_ov011_0211d288 kind:function(thumb,size=0x2) addr:0x211d208
func_ov011_0211d28c kind:function(thumb,size=0x1c) addr:0x211d20c
func_ov011_0211d2a8 kind:function(thumb,size=0x18) addr:0x211d228
func_ov011_0211d2c0 kind:function(thumb,size=0x30) addr:0x211d240
@@ -350,7 +350,7 @@ func_ov011_0211d4ec kind:function(thumb,size=0x28) addr:0x211d46c
func_ov011_0211d514 kind:function(thumb,size=0x20) addr:0x211d494
func_ov011_0211d534 kind:function(thumb,size=0x10) addr:0x211d4b4
func_ov011_0211d544 kind:function(thumb,size=0x14) addr:0x211d4c4
-func_ov011_0211d558 kind:function(thumb,size=0x4) addr:0x211d4d8
+func_ov011_0211d558 kind:function(thumb,size=0x2) addr:0x211d4d8
func_ov011_0211d55c kind:function(thumb,size=0x1c) addr:0x211d4dc
func_ov011_0211d578 kind:function(thumb,size=0x18) addr:0x211d4f8
func_ov011_0211d590 kind:function(thumb,size=0x34) addr:0x211d510
@@ -362,7 +362,7 @@ func_ov011_0211d7dc kind:function(thumb,size=0x28) addr:0x211d75c
func_ov011_0211d804 kind:function(thumb,size=0x20) addr:0x211d784
func_ov011_0211d824 kind:function(thumb,size=0x10) addr:0x211d7a4
func_ov011_0211d834 kind:function(thumb,size=0x9c) addr:0x211d7b4
-func_ov011_0211d8d0 kind:function(thumb,size=0x4) addr:0x211d850
+func_ov011_0211d8d0 kind:function(thumb,size=0x2) addr:0x211d850
func_ov011_0211d8d4 kind:function(thumb,size=0x70) addr:0x211d854
func_ov011_0211d944 kind:function(thumb,size=0x18) addr:0x211d8c4
func_ov011_0211d95c kind:function(thumb,size=0x40) addr:0x211d8dc
@@ -374,8 +374,8 @@ func_ov011_0211daf4 kind:function(thumb,size=0x50) addr:0x211da74
func_ov011_0211db44 kind:function(thumb,size=0x24) addr:0x211dac4
func_ov011_0211db68 kind:function(thumb,size=0x24) addr:0x211dae8
func_ov011_0211db8c kind:function(thumb,size=0xc) addr:0x211db0c
-func_ov011_0211db98 kind:function(thumb,size=0x4) addr:0x211db18
-func_ov011_0211db9c kind:function(thumb,size=0x4) addr:0x211db1c
+func_ov011_0211db98 kind:function(thumb,size=0x2) addr:0x211db18
+func_ov011_0211db9c kind:function(thumb,size=0x2) addr:0x211db1c
func_ov011_0211dba0 kind:function(thumb,size=0x1c) addr:0x211db20
func_ov011_0211dbbc kind:function(thumb,size=0x68) addr:0x211db3c
func_ov011_0211dc24 kind:function(thumb,size=0x5c) addr:0x211dba4
@@ -386,7 +386,7 @@ func_ov011_0211dcf8 kind:function(thumb,size=0x20) addr:0x211dc78
func_ov011_0211dd18 kind:function(thumb,size=0x20) addr:0x211dc98
func_ov011_0211dd38 kind:function(thumb,size=0x10) addr:0x211dcb8
func_ov011_0211dd48 kind:function(thumb,size=0x14) addr:0x211dcc8
-func_ov011_0211dd5c kind:function(thumb,size=0x4) addr:0x211dcdc
+func_ov011_0211dd5c kind:function(thumb,size=0x2) addr:0x211dcdc
func_ov011_0211dd60 kind:function(thumb,size=0x1c) addr:0x211dce0
func_ov011_0211dd7c kind:function(thumb,size=0x18) addr:0x211dcfc
func_ov011_0211dd94 kind:function(thumb,size=0x30) addr:0x211dd14
@@ -398,7 +398,7 @@ func_ov011_0211de60 kind:function(thumb,size=0x28) addr:0x211dde0
func_ov011_0211de88 kind:function(thumb,size=0x20) addr:0x211de08
func_ov011_0211dea8 kind:function(thumb,size=0x10) addr:0x211de28
func_ov011_0211deb8 kind:function(thumb,size=0x14) addr:0x211de38
-func_ov011_0211decc kind:function(thumb,size=0x4) addr:0x211de4c
+func_ov011_0211decc kind:function(thumb,size=0x2) addr:0x211de4c
func_ov011_0211ded0 kind:function(thumb,size=0x1c) addr:0x211de50
func_ov011_0211deec kind:function(thumb,size=0x18) addr:0x211de6c
func_ov011_0211df04 kind:function(thumb,size=0x28) addr:0x211de84
@@ -410,7 +410,7 @@ func_ov011_0211e020 kind:function(thumb,size=0x20) addr:0x211dfa0
func_ov011_0211e040 kind:function(thumb,size=0x20) addr:0x211dfc0
func_ov011_0211e060 kind:function(thumb,size=0x10) addr:0x211dfe0
func_ov011_0211e070 kind:function(thumb,size=0x24) addr:0x211dff0
-func_ov011_0211e094 kind:function(thumb,size=0x4) addr:0x211e014
+func_ov011_0211e094 kind:function(thumb,size=0x2) addr:0x211e014
func_ov011_0211e098 kind:function(thumb,size=0x34) addr:0x211e018
func_ov011_0211e0cc kind:function(thumb,size=0x18) addr:0x211e04c
func_ov011_0211e0e4 kind:function(thumb,size=0x40) addr:0x211e064
@@ -420,7 +420,7 @@ func_ov011_0211e1c4 kind:function(thumb,size=0x48) addr:0x211e144
func_ov011_0211e20c kind:function(thumb,size=0x24) addr:0x211e18c
func_ov011_0211e230 kind:function(thumb,size=0x20) addr:0x211e1b0
func_ov011_0211e250 kind:function(thumb,size=0xc) addr:0x211e1d0
-func_ov011_0211e25c kind:function(thumb,size=0x4) addr:0x211e1dc
+func_ov011_0211e25c kind:function(thumb,size=0x2) addr:0x211e1dc
func_ov011_0211e260 kind:function(thumb,size=0x28) addr:0x211e1e0
func_ov011_0211e288 kind:function(thumb,size=0x44) addr:0x211e208
func_ov011_0211e2cc kind:function(thumb,size=0x20) addr:0x211e24c
@@ -431,7 +431,7 @@ func_ov011_0211e3ac kind:function(thumb,size=0x28) addr:0x211e32c
func_ov011_0211e3d4 kind:function(thumb,size=0x28) addr:0x211e354
func_ov011_0211e3fc kind:function(thumb,size=0x10) addr:0x211e37c
func_ov011_0211e40c kind:function(thumb,size=0x24) addr:0x211e38c
-func_ov011_0211e430 kind:function(thumb,size=0x4) addr:0x211e3b0
+func_ov011_0211e430 kind:function(thumb,size=0x2) addr:0x211e3b0
func_ov011_0211e434 kind:function(thumb,size=0x38) addr:0x211e3b4
func_ov011_0211e46c kind:function(thumb,size=0x18) addr:0x211e3ec
func_ov011_0211e484 kind:function(thumb,size=0x40) addr:0x211e404
@@ -442,8 +442,8 @@ func_ov011_0211e60c kind:function(thumb,size=0x24) addr:0x211e58c
func_ov011_0211e630 kind:function(thumb,size=0x18) addr:0x211e5b0
func_ov011_0211e648 kind:function(thumb,size=0x1c) addr:0x211e5c8
func_ov011_0211e664 kind:function(thumb,size=0x4c) addr:0x211e5e4
-func_ov011_0211e6b0 kind:function(thumb,size=0x4) addr:0x211e630
-func_ov011_0211e6b4 kind:function(thumb,size=0x4) addr:0x211e634
+func_ov011_0211e6b0 kind:function(thumb,size=0x2) addr:0x211e630
+func_ov011_0211e6b4 kind:function(thumb,size=0x2) addr:0x211e634
func_ov011_0211e6b8 kind:function(thumb,size=0x3c) addr:0x211e638
func_ov011_0211e6f4 kind:function(thumb,size=0x40) addr:0x211e674
func_ov011_0211e734 kind:function(thumb,size=0x80) addr:0x211e6b4
@@ -456,7 +456,7 @@ func_ov011_0211e888 kind:function(thumb,size=0x20) addr:0x211e808
func_ov011_0211e8a8 kind:function(thumb,size=0x1c) addr:0x211e828
func_ov011_0211e8c4 kind:function(thumb,size=0x10) addr:0x211e844
func_ov011_0211e8d4 kind:function(thumb,size=0x24) addr:0x211e854
-func_ov011_0211e8f8 kind:function(thumb,size=0x4) addr:0x211e878
+func_ov011_0211e8f8 kind:function(thumb,size=0x2) addr:0x211e878
func_ov011_0211e8fc kind:function(thumb,size=0x20) addr:0x211e87c
func_ov011_0211e91c kind:function(thumb,size=0x28) addr:0x211e89c
func_ov011_0211e944 kind:function(thumb,size=0x50) addr:0x211e8c4
@@ -470,12 +470,12 @@ func_ov011_0211eb84 kind:function(thumb,size=0x28) addr:0x211eb04
func_ov011_0211ebac kind:function(thumb,size=0x34) addr:0x211eb2c
func_ov011_0211ebe0 kind:function(thumb,size=0x88) addr:0x211eb60
func_ov011_0211ec68 kind:function(thumb,size=0x24) addr:0x211ebe8
-func_ov011_0211ec8c kind:function(thumb,size=0x4) addr:0x211ec0c
+func_ov011_0211ec8c kind:function(thumb,size=0x2) addr:0x211ec0c
func_ov011_0211ec90 kind:function(thumb,size=0x34) addr:0x211ec10
func_ov011_0211ecc4 kind:function(thumb,size=0x2c) addr:0x211ec44
func_ov011_0211ecf0 kind:function(thumb,size=0x40) addr:0x211ec70
func_ov011_0211ed30 kind:function(thumb,size=0x94) addr:0x211ecb0
-func_ov011_0211edc4 kind:function(thumb,size=0x18) addr:0x211ed44
+func_ov011_0211edc4 kind:function(thumb,size=0x16) addr:0x211ed44
func_ov011_0211eddc kind:function(thumb,size=0x20) addr:0x211ed5c
func_ov011_0211edfc kind:function(thumb,size=0x18) addr:0x211ed7c
func_ov011_0211ee14 kind:function(thumb,size=0x38) addr:0x211ed94
@@ -485,7 +485,7 @@ func_ov011_0211ee9c kind:function(thumb,size=0x48) addr:0x211ee1c
func_ov011_0211eee4 kind:function(thumb,size=0x24) addr:0x211ee64
func_ov011_0211ef08 kind:function(thumb,size=0x18) addr:0x211ee88
func_ov011_0211ef20 kind:function(thumb,size=0xc) addr:0x211eea0
-func_ov011_0211ef2c kind:function(thumb,size=0x4) addr:0x211eeac
+func_ov011_0211ef2c kind:function(thumb,size=0x2) addr:0x211eeac
func_ov011_0211ef30 kind:function(thumb,size=0x28) addr:0x211eeb0
func_ov011_0211ef58 kind:function(thumb,size=0x4c) addr:0x211eed8
func_ov011_0211efa4 kind:function(thumb,size=0x20) addr:0x211ef24
@@ -524,7 +524,7 @@ func_ov011_0211ffa0 kind:function(thumb,size=0x54) addr:0x211ff20
func_ov011_0211fff4 kind:function(thumb,size=0x18) addr:0x211ff74
func_ov011_0212000c kind:function(thumb,size=0xc) addr:0x211ff8c
func_ov011_02120018 kind:function(thumb,size=0x12c) addr:0x211ff98
-func_ov011_02120144 kind:function(thumb,size=0x4) addr:0x21200c4
+func_ov011_02120144 kind:function(thumb,size=0x2) addr:0x21200c4
func_ov011_02120148 kind:function(thumb,size=0x14) addr:0x21200c8
func_ov011_0212015c kind:function(thumb,size=0x24) addr:0x21200dc
func_ov011_02120180 kind:function(thumb,size=0x88) addr:0x2120100
@@ -544,7 +544,7 @@ func_ov011_02120788 kind:function(thumb,size=0x18) addr:0x2120708
func_ov011_021207a0 kind:function(thumb,size=0xc) addr:0x2120720
func_ov011_021207ac kind:function(thumb,size=0x1f0) addr:0x212072c
func_ov011_0212099c kind:function(thumb,size=0x64) addr:0x212091c
-func_ov011_02120a00 kind:function(thumb,size=0x4) addr:0x2120980
+func_ov011_02120a00 kind:function(thumb,size=0x2) addr:0x2120980
func_ov011_02120a04 kind:function(thumb,size=0x14) addr:0x2120984
func_ov011_02120a18 kind:function(thumb,size=0x24) addr:0x2120998
func_ov011_02120a3c kind:function(thumb,size=0x60) addr:0x21209bc
@@ -565,7 +565,7 @@ func_ov011_021210c0 kind:function(thumb,size=0x28) addr:0x2121040
func_ov011_021210e8 kind:function(thumb,size=0x20) addr:0x2121068
func_ov011_02121108 kind:function(thumb,size=0x10) addr:0x2121088
func_ov011_02121118 kind:function(thumb,size=0x14) addr:0x2121098
-func_ov011_0212112c kind:function(thumb,size=0x4) addr:0x21210ac
+func_ov011_0212112c kind:function(thumb,size=0x2) addr:0x21210ac
func_ov011_02121130 kind:function(thumb,size=0x1c) addr:0x21210b0
func_ov011_0212114c kind:function(thumb,size=0x18) addr:0x21210cc
func_ov011_02121164 kind:function(thumb,size=0x34) addr:0x21210e4
@@ -587,7 +587,7 @@ func_ov011_02121a3c kind:function(thumb,size=0x18) addr:0x21219bc
func_ov011_02121a54 kind:function(thumb,size=0x30) addr:0x21219d4
func_ov011_02121a84 kind:function(thumb,size=0x21c) addr:0x2121a04
func_ov011_02121ca0 kind:function(thumb,size=0x78) addr:0x2121c20
-func_ov011_02121d18 kind:function(thumb,size=0x10c) addr:0x2121c98
+func_ov011_02121d18 kind:function(thumb,size=0x10a) addr:0x2121c98
func_ov011_02121e24 kind:function(thumb,size=0xe8) addr:0x2121da4
func_ov011_02121f0c kind:function(thumb,size=0x68) addr:0x2121e8c
func_ov011_02121f74 kind:function(thumb,size=0xa8) addr:0x2121ef4
@@ -616,8 +616,8 @@ func_ov011_02122a08 kind:function(thumb,size=0x68) addr:0x2122988
func_ov011_02122a70 kind:function(thumb,size=0x38) addr:0x21229f0
func_ov011_02122aa8 kind:function(thumb,size=0x34) addr:0x2122a28
func_ov011_02122adc kind:function(thumb,size=0x20) addr:0x2122a5c
-func_ov011_02122afc kind:function(thumb,size=0x4) addr:0x2122a7c
-func_ov011_02122b00 kind:function(thumb,size=0x4) addr:0x2122a80
+func_ov011_02122afc kind:function(thumb,size=0x2) addr:0x2122a7c
+func_ov011_02122b00 kind:function(thumb,size=0x2) addr:0x2122a80
func_ov011_02122b04 kind:function(thumb,size=0x28) addr:0x2122a84
func_ov011_02122b2c kind:function(thumb,size=0x40) addr:0x2122aac
func_ov011_02122b6c kind:function(thumb,size=0x1c) addr:0x2122aec
@@ -626,9 +626,9 @@ func_ov011_02122bb4 kind:function(thumb,size=0x50) addr:0x2122b34
func_ov011_02122c04 kind:function(thumb,size=0x24) addr:0x2122b84
func_ov011_02122c28 kind:function(thumb,size=0x20) addr:0x2122ba8
func_ov011_02122c48 kind:function(thumb,size=0x20) addr:0x2122bc8
-func_ov011_02122c68 kind:function(thumb,size=0x1c) addr:0x2122be8
+func_ov011_02122c68 kind:function(thumb,size=0x1a) addr:0x2122be8
func_ov011_02122c84 kind:function(thumb,size=0x24) addr:0x2122c04
-func_ov011_02122ca8 kind:function(thumb,size=0x4) addr:0x2122c28
+func_ov011_02122ca8 kind:function(thumb,size=0x2) addr:0x2122c28
func_ov011_02122cac kind:function(thumb,size=0x20) addr:0x2122c2c
func_ov011_02122ccc kind:function(thumb,size=0x18) addr:0x2122c4c
func_ov011_02122ce4 kind:function(thumb,size=0x48) addr:0x2122c64
@@ -642,9 +642,9 @@ func_ov011_02122e88 kind:function(thumb,size=0x50) addr:0x2122e08
func_ov011_02122ed8 kind:function(thumb,size=0x24) addr:0x2122e58
func_ov011_02122efc kind:function(thumb,size=0x20) addr:0x2122e7c
func_ov011_02122f1c kind:function(thumb,size=0x20) addr:0x2122e9c
-func_ov011_02122f3c kind:function(thumb,size=0x1c) addr:0x2122ebc
+func_ov011_02122f3c kind:function(thumb,size=0x1a) addr:0x2122ebc
func_ov011_02122f58 kind:function(thumb,size=0x24) addr:0x2122ed8
-func_ov011_02122f7c kind:function(thumb,size=0x4) addr:0x2122efc
+func_ov011_02122f7c kind:function(thumb,size=0x2) addr:0x2122efc
func_ov011_02122f80 kind:function(thumb,size=0x20) addr:0x2122f00
func_ov011_02122fa0 kind:function(thumb,size=0x18) addr:0x2122f20
func_ov011_02122fb8 kind:function(thumb,size=0x40) addr:0x2122f38
@@ -657,7 +657,7 @@ func_ov011_02123168 kind:function(thumb,size=0x50) addr:0x21230e8
func_ov011_021231b8 kind:function(thumb,size=0x24) addr:0x2123138
func_ov011_021231dc kind:function(thumb,size=0x18) addr:0x212315c
func_ov011_021231f4 kind:function(thumb,size=0xc) addr:0x2123174
-func_ov011_02123200 kind:function(thumb,size=0x4) addr:0x2123180
+func_ov011_02123200 kind:function(thumb,size=0x2) addr:0x2123180
func_ov011_02123204 kind:function(thumb,size=0x28) addr:0x2123184
func_ov011_0212322c kind:function(thumb,size=0x4c) addr:0x21231ac
func_ov011_02123278 kind:function(thumb,size=0x20) addr:0x21231f8
@@ -667,9 +667,9 @@ func_ov011_021232f8 kind:function(thumb,size=0x70) addr:0x2123278
func_ov011_02123368 kind:function(thumb,size=0x38) addr:0x21232e8
func_ov011_021233a0 kind:function(thumb,size=0x2c) addr:0x2123320
func_ov011_021233cc kind:function(thumb,size=0x20) addr:0x212334c
-func_ov011_021233ec kind:function(thumb,size=0x1c) addr:0x212336c
+func_ov011_021233ec kind:function(thumb,size=0x1a) addr:0x212336c
func_ov011_02123408 kind:function(thumb,size=0x24) addr:0x2123388
-func_ov011_0212342c kind:function(thumb,size=0x4) addr:0x21233ac
+func_ov011_0212342c kind:function(thumb,size=0x2) addr:0x21233ac
func_ov011_02123430 kind:function(thumb,size=0x20) addr:0x21233b0
func_ov011_02123450 kind:function(thumb,size=0x18) addr:0x21233d0
func_ov011_02123468 kind:function(thumb,size=0x48) addr:0x21233e8
@@ -685,7 +685,7 @@ func_ov011_021236e4 kind:function(thumb,size=0x20) addr:0x2123664
func_ov011_02123704 kind:function(thumb,size=0x14) addr:0x2123684
func_ov011_02123718 kind:function(thumb,size=0xb8) addr:0x2123698
func_ov011_021237d0 kind:function(thumb,size=0x18) addr:0x2123750
-func_ov011_021237e8 kind:function(thumb,size=0x4) addr:0x2123768
+func_ov011_021237e8 kind:function(thumb,size=0x2) addr:0x2123768
func_ov011_021237ec kind:function(thumb,size=0x20) addr:0x212376c
func_ov011_0212380c kind:function(thumb,size=0x18) addr:0x212378c
func_ov011_02123824 kind:function(thumb,size=0x34) addr:0x21237a4
@@ -700,7 +700,7 @@ func_ov011_02123b00 kind:function(thumb,size=0x28) addr:0x2123a80
func_ov011_02123b28 kind:function(thumb,size=0x28) addr:0x2123aa8
func_ov011_02123b50 kind:function(thumb,size=0x10) addr:0x2123ad0
func_ov011_02123b60 kind:function(thumb,size=0x9c) addr:0x2123ae0
-func_ov011_02123bfc kind:function(thumb,size=0x4) addr:0x2123b7c
+func_ov011_02123bfc kind:function(thumb,size=0x2) addr:0x2123b7c
func_ov011_02123c00 kind:function(thumb,size=0xc0) addr:0x2123b80
func_ov011_02123cc0 kind:function(thumb,size=0x2c) addr:0x2123c40
func_ov011_02123cec kind:function(thumb,size=0x54) addr:0x2123c6c
@@ -718,7 +718,7 @@ func_ov011_0212436c kind:function(thumb,size=0x28) addr:0x21242ec
func_ov011_02124394 kind:function(thumb,size=0x20) addr:0x2124314
func_ov011_021243b4 kind:function(thumb,size=0x10) addr:0x2124334
func_ov011_021243c4 kind:function(thumb,size=0x104) addr:0x2124344
-func_ov011_021244c8 kind:function(thumb,size=0x4) addr:0x2124448
+func_ov011_021244c8 kind:function(thumb,size=0x2) addr:0x2124448
func_ov011_021244cc kind:function(thumb,size=0x38) addr:0x212444c
func_ov011_02124504 kind:function(thumb,size=0x18) addr:0x2124484
func_ov011_0212451c kind:function(thumb,size=0x40) addr:0x212449c
@@ -731,9 +731,9 @@ func_ov011_021247e4 kind:function(thumb,size=0x6c) addr:0x2124764
func_ov011_02124850 kind:function(thumb,size=0x44) addr:0x21247d0
func_ov011_02124894 kind:function(thumb,size=0x24) addr:0x2124814
func_ov011_021248b8 kind:function(thumb,size=0x10) addr:0x2124838
-func_ov011_021248c8 kind:function(thumb,size=0x4) addr:0x2124848
-func_ov011_021248cc kind:function(thumb,size=0x4) addr:0x212484c
-func_ov011_021248d0 kind:function(thumb,size=0x4) addr:0x2124850
+func_ov011_021248c8 kind:function(thumb,size=0x2) addr:0x2124848
+func_ov011_021248cc kind:function(thumb,size=0x2) addr:0x212484c
+func_ov011_021248d0 kind:function(thumb,size=0x2) addr:0x2124850
func_ov011_021248d4 kind:function(thumb,size=0x1c) addr:0x2124854
func_ov011_021248f0 kind:function(thumb,size=0x18) addr:0x2124870
func_ov011_02124908 kind:function(thumb,size=0x74) addr:0x2124888
@@ -745,7 +745,7 @@ func_ov011_02124a04 kind:function(thumb,size=0x48) addr:0x2124984
func_ov011_02124a4c kind:function(thumb,size=0x24) addr:0x21249cc
func_ov011_02124a70 kind:function(thumb,size=0x18) addr:0x21249f0
func_ov011_02124a88 kind:function(thumb,size=0xc) addr:0x2124a08
-func_ov011_02124a94 kind:function(thumb,size=0x4) addr:0x2124a14
+func_ov011_02124a94 kind:function(thumb,size=0x2) addr:0x2124a14
func_ov011_02124a98 kind:function(thumb,size=0x38) addr:0x2124a18
func_ov011_02124ad0 kind:function(thumb,size=0x70) addr:0x2124a50
func_ov011_02124b40 kind:function(thumb,size=0x48) addr:0x2124ac0
@@ -754,8 +754,8 @@ func_ov011_02124bc8 kind:function(thumb,size=0x48) addr:0x2124b48
func_ov011_02124c10 kind:function(thumb,size=0x38) addr:0x2124b90
func_ov011_02124c48 kind:function(thumb,size=0x54) addr:0x2124bc8
func_ov011_02124c9c kind:function(thumb,size=0x30) addr:0x2124c1c
-func_ov011_02124ccc kind:function(thumb,size=0x4) addr:0x2124c4c
-func_ov011_02124cd0 kind:function(thumb,size=0x4) addr:0x2124c50
+func_ov011_02124ccc kind:function(thumb,size=0x2) addr:0x2124c4c
+func_ov011_02124cd0 kind:function(thumb,size=0x2) addr:0x2124c50
func_ov011_02124cd4 kind:function(thumb,size=0x24) addr:0x2124c54
func_ov011_02124cf8 kind:function(thumb,size=0x28) addr:0x2124c78
func_ov011_02124d20 kind:function(thumb,size=0x30) addr:0x2124ca0
@@ -763,7 +763,7 @@ func_ov011_02124d50 kind:function(thumb,size=0x50) addr:0x2124cd0
func_ov011_02124da0 kind:function(thumb,size=0x24) addr:0x2124d20
func_ov011_02124dc4 kind:function(thumb,size=0x18) addr:0x2124d44
func_ov011_02124ddc kind:function(thumb,size=0xc) addr:0x2124d5c
-func_ov011_02124de8 kind:function(thumb,size=0x4) addr:0x2124d68
+func_ov011_02124de8 kind:function(thumb,size=0x2) addr:0x2124d68
func_ov011_02124dec kind:function(thumb,size=0x28) addr:0x2124d6c
func_ov011_02124e14 kind:function(thumb,size=0x4c) addr:0x2124d94
func_ov011_02124e60 kind:function(thumb,size=0x20) addr:0x2124de0
@@ -774,7 +774,7 @@ func_ov011_02124f64 kind:function(thumb,size=0x28) addr:0x2124ee4
func_ov011_02124f8c kind:function(thumb,size=0x20) addr:0x2124f0c
func_ov011_02124fac kind:function(thumb,size=0x10) addr:0x2124f2c
func_ov011_02124fbc kind:function(thumb,size=0x24) addr:0x2124f3c
-func_ov011_02124fe0 kind:function(thumb,size=0x4) addr:0x2124f60
+func_ov011_02124fe0 kind:function(thumb,size=0x2) addr:0x2124f60
func_ov011_02124fe4 kind:function(thumb,size=0x34) addr:0x2124f64
func_ov011_02125018 kind:function(thumb,size=0x18) addr:0x2124f98
func_ov011_02125030 kind:function(thumb,size=0x40) addr:0x2124fb0
@@ -787,7 +787,7 @@ func_ov011_02125208 kind:function(thumb,size=0x20) addr:0x2125188
func_ov011_02125228 kind:function(thumb,size=0x20) addr:0x21251a8
func_ov011_02125248 kind:function(thumb,size=0x10) addr:0x21251c8
func_ov011_02125258 kind:function(thumb,size=0x24) addr:0x21251d8
-func_ov011_0212527c kind:function(thumb,size=0x4) addr:0x21251fc
+func_ov011_0212527c kind:function(thumb,size=0x2) addr:0x21251fc
func_ov011_02125280 kind:function(thumb,size=0x34) addr:0x2125200
func_ov011_021252b4 kind:function(thumb,size=0x18) addr:0x2125234
func_ov011_021252cc kind:function(thumb,size=0x48) addr:0x212524c
@@ -901,7 +901,7 @@ func_ov011_02127630 kind:function(thumb,size=0x84) addr:0x21275b0
func_ov011_021276b4 kind:function(thumb,size=0xd4) addr:0x2127634
func_ov011_02127788 kind:function(thumb,size=0x40) addr:0x2127708
func_ov011_021277c8 kind:function(thumb,size=0x118) addr:0x2127748
-func_ov011_021278e0 kind:function(thumb,size=0x48) addr:0x2127860
+func_ov011_021278e0 kind:function(thumb,size=0x46) addr:0x2127860
func_ov011_02127928 kind:function(thumb,size=0x80) addr:0x21278a8
func_ov011_021279a8 kind:function(thumb,size=0x24) addr:0x2127928
func_ov011_021279cc kind:function(thumb,size=0x54) addr:0x212794c
@@ -909,7 +909,7 @@ func_ov011_02127a20 kind:function(thumb,size=0x3c) addr:0x21279a0
func_ov011_02127a5c kind:function(thumb,size=0x78) addr:0x21279dc
func_ov011_02127ad4 kind:function(thumb,size=0x2c) addr:0x2127a54
func_ov011_02127b00 kind:function(thumb,size=0xb0) addr:0x2127a80
-func_ov011_02127bb0 kind:function(thumb,size=0x30) addr:0x2127b30
+func_ov011_02127bb0 kind:function(thumb,size=0x2e) addr:0x2127b30
func_ov011_02127be0 kind:function(thumb,size=0x84) addr:0x2127b60
func_ov011_02127c64 kind:function(thumb,size=0x60) addr:0x2127be4
func_ov011_02127cc4 kind:function(thumb,size=0x80) addr:0x2127c44
@@ -917,7 +917,7 @@ func_ov011_02127d44 kind:function(thumb,size=0x80) addr:0x2127cc4
func_ov011_02127dc4 kind:function(thumb,size=0x84) addr:0x2127d44
func_ov011_02127e48 kind:function(thumb,size=0x40) addr:0x2127dc8
func_ov011_02127e88 kind:function(thumb,size=0x94) addr:0x2127e08
-func_ov011_02127f1c kind:function(thumb,size=0x10) addr:0x2127e9c
+func_ov011_02127f1c kind:function(thumb,size=0xe) addr:0x2127e9c
func_ov011_02127f2c kind:function(thumb,size=0x20) addr:0x2127eac
func_ov011_02127f4c kind:function(thumb,size=0x1ec) addr:0x2127ecc
func_ov011_02128138 kind:function(thumb,size=0xc) addr:0x21280b8
@@ -942,12 +942,12 @@ func_ov011_0212868c kind:function(thumb,size=0x24) addr:0x212860c
func_ov011_021286b0 kind:function(thumb,size=0x24) addr:0x2128630
func_ov011_021286d4 kind:function(thumb,size=0x38) addr:0x2128654
func_ov011_0212870c kind:function(thumb,size=0x1c) addr:0x212868c
-func_ov011_02128728 kind:function(thumb,size=0x18) addr:0x21286a8
+func_ov011_02128728 kind:function(thumb,size=0x16) addr:0x21286a8
func_ov011_02128740 kind:function(thumb,size=0x38) addr:0x21286c0
func_ov011_02128778 kind:function(thumb,size=0x24) addr:0x21286f8
-func_ov011_0212879c kind:function(thumb,size=0x24) addr:0x212871c
+func_ov011_0212879c kind:function(thumb,size=0x22) addr:0x212871c
func_ov011_021287c0 kind:function(thumb,size=0x28) addr:0x2128740
-func_ov011_021287e8 kind:function(thumb,size=0x18) addr:0x2128768
+func_ov011_021287e8 kind:function(thumb,size=0x16) addr:0x2128768
func_ov011_02128800 kind:function(thumb,size=0x24) addr:0x2128780
func_ov011_02128824 kind:function(thumb,size=0x20) addr:0x21287a4
func_ov011_02128844 kind:function(thumb,size=0x18) addr:0x21287c4
@@ -957,7 +957,7 @@ func_ov011_02128878 kind:function(thumb,size=0xc) addr:0x21287f8
func_ov011_02128884 kind:function(thumb,size=0x90) addr:0x2128804
func_ov011_02128914 kind:function(thumb,size=0x70) addr:0x2128894
func_ov011_02128984 kind:function(thumb,size=0x90) addr:0x2128904
-func_ov011_02128a14 kind:function(thumb,size=0x14) addr:0x2128994
+func_ov011_02128a14 kind:function(thumb,size=0x12) addr:0x2128994
func_ov011_02128a28 kind:function(thumb,size=0x50) addr:0x21289a8
func_ov011_02128a78 kind:function(thumb,size=0x8c) addr:0x21289f8
func_ov011_02128b04 kind:function(thumb,size=0x4c) addr:0x2128a84
@@ -968,7 +968,7 @@ func_ov011_02128bd0 kind:function(thumb,size=0xe0) addr:0x2128b50
func_ov011_02128cb0 kind:function(thumb,size=0xc) addr:0x2128c30
func_ov011_02128cbc kind:function(thumb,size=0x20) addr:0x2128c3c
func_ov011_02128cdc kind:function(thumb,size=0x70) addr:0x2128c5c
-func_ov011_02128d4c kind:function(thumb,size=0x14) addr:0x2128ccc
+func_ov011_02128d4c kind:function(thumb,size=0x12) addr:0x2128ccc
func_ov011_02128d60 kind:function(thumb,size=0xb4) addr:0x2128ce0
func_ov011_02128e14 kind:function(thumb,size=0x38) addr:0x2128d94
func_ov011_02128e4c kind:function(thumb,size=0xc0) addr:0x2128dcc
@@ -1014,12 +1014,12 @@ func_ov011_02129ff0 kind:function(thumb,size=0x20) addr:0x2129f70
func_ov011_0212a010 kind:function(thumb,size=0x20) addr:0x2129f90
func_ov011_0212a030 kind:function(thumb,size=0x18) addr:0x2129fb0
func_ov011_0212a048 kind:function(thumb,size=0x4c) addr:0x2129fc8
-func_ov011_0212a094 kind:function(thumb,size=0x1c) addr:0x212a014
+func_ov011_0212a094 kind:function(thumb,size=0x1a) addr:0x212a014
func_ov011_0212a0b0 kind:function(thumb,size=0x30) addr:0x212a030
func_ov011_0212a0e0 kind:function(thumb,size=0x1c) addr:0x212a060
func_ov011_0212a0fc kind:function(thumb,size=0x24) addr:0x212a07c
-func_ov011_0212a120 kind:function(thumb,size=0x14) addr:0x212a0a0
-func_ov011_0212a134 kind:function(thumb,size=0x38) addr:0x212a0b4
+func_ov011_0212a120 kind:function(thumb,size=0x12) addr:0x212a0a0
+func_ov011_0212a134 kind:function(thumb,size=0x36) addr:0x212a0b4
func_ov011_0212a16c kind:function(thumb,size=0x34) addr:0x212a0ec
func_ov011_0212a1a0 kind:function(thumb,size=0x30) addr:0x212a120
func_ov011_0212a1d0 kind:function(thumb,size=0x10) addr:0x212a150
@@ -1027,7 +1027,7 @@ func_ov011_0212a1e0 kind:function(thumb,size=0x18) addr:0x212a160
func_ov011_0212a1f8 kind:function(thumb,size=0x88) addr:0x212a178
func_ov011_0212a280 kind:function(thumb,size=0xb8) addr:0x212a200
func_ov011_0212a338 kind:function(thumb,size=0x34) addr:0x212a2b8
-func_ov011_0212a36c kind:function(thumb,size=0x24) addr:0x212a2ec
+func_ov011_0212a36c kind:function(thumb,size=0x22) addr:0x212a2ec
func_ov011_0212a390 kind:function(thumb,size=0xb4) addr:0x212a310
func_ov011_0212a444 kind:function(thumb,size=0x40) addr:0x212a3c4
func_ov011_0212a484 kind:function(thumb,size=0x90) addr:0x212a404
@@ -1040,12 +1040,12 @@ func_ov011_0212a704 kind:function(thumb,size=0x74) addr:0x212a684
func_ov011_0212a778 kind:function(thumb,size=0x2c) addr:0x212a6f8
func_ov011_0212a7a4 kind:function(thumb,size=0x74) addr:0x212a724
func_ov011_0212a818 kind:function(thumb,size=0x7c) addr:0x212a798
-func_ov011_0212a894 kind:function(thumb,size=0xc) addr:0x212a814
-func_ov011_0212a8a0 kind:function(thumb,size=0x64) addr:0x212a820
+func_ov011_0212a894 kind:function(thumb,size=0xa) addr:0x212a814
+func_ov011_0212a8a0 kind:function(thumb,size=0x62) addr:0x212a820
func_ov011_0212a904 kind:function(thumb,size=0x24) addr:0x212a884
-func_ov011_0212a928 kind:function(thumb,size=0x8) addr:0x212a8a8
+func_ov011_0212a928 kind:function(thumb,size=0x6) addr:0x212a8a8
func_ov011_0212a930 kind:function(thumb,size=0x10) addr:0x212a8b0
-func_ov011_0212a940 kind:function(thumb,size=0x20) addr:0x212a8c0
+func_ov011_0212a940 kind:function(thumb,size=0x1e) addr:0x212a8c0
func_ov011_0212a960 kind:function(thumb,size=0x4c) addr:0x212a8e0
func_ov011_0212a9ac kind:function(thumb,size=0x50) addr:0x212a92c
func_ov011_0212a9fc kind:function(thumb,size=0xdc) addr:0x212a97c
@@ -1053,7 +1053,7 @@ func_ov011_0212aad8 kind:function(thumb,size=0x114) addr:0x212aa58
func_ov011_0212abec kind:function(thumb,size=0x2c) addr:0x212ab6c
func_ov011_0212ac18 kind:function(thumb,size=0x18) addr:0x212ab98
func_ov011_0212ac30 kind:function(thumb,size=0x30) addr:0x212abb0
-func_ov011_0212ac60 kind:function(thumb,size=0x18) addr:0x212abe0
+func_ov011_0212ac60 kind:function(thumb,size=0x16) addr:0x212abe0
func_ov011_0212ac78 kind:function(thumb,size=0x2c) addr:0x212abf8
func_ov011_0212aca4 kind:function(thumb,size=0x28) addr:0x212ac24
func_ov011_0212accc kind:function(thumb,size=0x54) addr:0x212ac4c
@@ -1074,10 +1074,10 @@ func_ov011_0212b0d0 kind:function(thumb,size=0x50) addr:0x212b050
func_ov011_0212b120 kind:function(thumb,size=0x50) addr:0x212b0a0
func_ov011_0212b170 kind:function(thumb,size=0x28) addr:0x212b0f0
func_ov011_0212b198 kind:function(thumb,size=0x20) addr:0x212b118
-func_ov011_0212b1b8 kind:function(thumb,size=0x1c) addr:0x212b138
-func_ov011_0212b1d4 kind:function(thumb,size=0x14) addr:0x212b154
-func_ov011_0212b1e8 kind:function(thumb,size=0x24) addr:0x212b168
-func_ov011_0212b20c kind:function(thumb,size=0x20) addr:0x212b18c
+func_ov011_0212b1b8 kind:function(thumb,size=0x1a) addr:0x212b138
+func_ov011_0212b1d4 kind:function(thumb,size=0x12) addr:0x212b154
+func_ov011_0212b1e8 kind:function(thumb,size=0x22) addr:0x212b168
+func_ov011_0212b20c kind:function(thumb,size=0x1e) addr:0x212b18c
func_ov011_0212b22c kind:function(thumb,size=0xc) addr:0x212b1ac
func_ov011_0212b238 kind:function(thumb,size=0xc) addr:0x212b1b8
func_ov011_0212b244 kind:function(thumb,size=0x6c) addr:0x212b1c4
@@ -1089,11 +1089,11 @@ func_ov011_0212b360 kind:function(thumb,size=0x14) addr:0x212b2e0
func_ov011_0212b374 kind:function(thumb,size=0x90) addr:0x212b2f4
func_ov011_0212b404 kind:function(thumb,size=0x110) addr:0x212b384
func_ov011_0212b514 kind:function(thumb,size=0x34) addr:0x212b494
-func_ov011_0212b548 kind:function(thumb,size=0x18) addr:0x212b4c8
+func_ov011_0212b548 kind:function(thumb,size=0x16) addr:0x212b4c8
func_ov011_0212b560 kind:function(thumb,size=0x7c) addr:0x212b4e0
func_ov011_0212b5dc kind:function(thumb,size=0xc0) addr:0x212b55c
func_ov011_0212b69c kind:function(thumb,size=0x6c) addr:0x212b61c
-func_ov011_0212b708 kind:function(thumb,size=0x1c) addr:0x212b688
+func_ov011_0212b708 kind:function(thumb,size=0x1a) addr:0x212b688
func_ov011_0212b724 kind:function(thumb,size=0xc) addr:0x212b6a4
func_ov011_0212b730 kind:function(thumb,size=0xa0) addr:0x212b6b0
func_ov011_0212b7d0 kind:function(thumb,size=0x34) addr:0x212b750
diff --git a/config/usa/arm9/overlays/ov012/delinks.txt b/config/usa/arm9/overlays/ov012/delinks.txt
index c056e809..42eb8bf6 100644
--- a/config/usa/arm9/overlays/ov012/delinks.txt
+++ b/config/usa/arm9/overlays/ov012/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02112ba0 end:0x0213442c kind:code align:32
- .rodata start:0x0213442c end:0x0213544c kind:data align:4
+ .rodata start:0x0213442c end:0x0213544c kind:rodata align:4
.init start:0x0213544c end:0x02135874 kind:code align:4
- .ctor start:0x02135874 end:0x021358a0 kind:data align:4
+ .ctor start:0x02135874 end:0x021358a0 kind:rodata align:4
.data start:0x021358a0 end:0x02137be0 kind:data align:32
.bss start:0x02137be0 end:0x0213de40 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov013/delinks.txt b/config/usa/arm9/overlays/ov013/delinks.txt
index ac1c6866..47b516c9 100644
--- a/config/usa/arm9/overlays/ov013/delinks.txt
+++ b/config/usa/arm9/overlays/ov013/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02112ba0 end:0x02115f84 kind:code align:32
- .rodata start:0x02115f84 end:0x0211606c kind:data align:4
- .ctor start:0x0211606c end:0x02116074 kind:data align:4
+ .rodata start:0x02115f84 end:0x0211606c kind:rodata align:4
+ .ctor start:0x0211606c end:0x02116074 kind:rodata align:4
.data start:0x02116080 end:0x02116180 kind:data align:32
.bss start:0x02116180 end:0x02116320 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov014/delinks.txt b/config/usa/arm9/overlays/ov014/delinks.txt
index 744a0f4e..dcd2d705 100644
--- a/config/usa/arm9/overlays/ov014/delinks.txt
+++ b/config/usa/arm9/overlays/ov014/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0211f5c0 end:0x02153aac kind:code align:32
- .rodata start:0x02153aac end:0x02154148 kind:data align:4
+ .rodata start:0x02153aac end:0x02154148 kind:rodata align:4
.init start:0x02154148 end:0x021557a8 kind:code align:4
- .ctor start:0x021557a8 end:0x021558e8 kind:data align:4
+ .ctor start:0x021557a8 end:0x021558e8 kind:rodata align:4
.data start:0x02155900 end:0x0215ab20 kind:data align:32
.bss start:0x0215ab20 end:0x0215b400 kind:bss align:32
@@ -12,3 +12,11 @@ src/14_Land/Actor/ActorRupee.cpp:
.ctor start:0x02155878 end:0x0215587c
.data start:0x021588f4 end:0x021589f8
.bss start:0x0215b154 end:0x0215b174
+
+src/14_Land/Actor/Player/ActorRefill.cpp:
+ complete
+ .text start:0x02134d80 end:0x0213589c
+ .init start:0x02154b70 end:0x02154c80
+ .ctor start:0x02155848 end:0x0215584c
+ .data start:0x02157810 end:0x02157cd0
+ .bss start:0x0215aef4 end:0x0215af94
diff --git a/config/usa/arm9/overlays/ov014/relocs.txt b/config/usa/arm9/overlays/ov014/relocs.txt
index 180807df..46843a25 100644
--- a/config/usa/arm9/overlays/ov014/relocs.txt
+++ b/config/usa/arm9/overlays/ov014/relocs.txt
@@ -2474,7 +2474,7 @@ from:0x02134e58 kind:arm_call to:0x0202e9d8 module:main
from:0x02134e64 kind:arm_call to:0x02135718 module:overlay(14)
from:0x02134e6c kind:load to:0x027e0fe0 module:dtcm
from:0x02134e7c kind:arm_call to:0x020c14f4 module:overlay(0)
-from:0x02134eac kind:load to:0x02157c18 module:overlay(14)
+from:0x02134eac kind:load to:0x02157c10 add:8 module:overlay(14)
from:0x02134eb8 kind:arm_call to:0x020c16d0 module:overlay(0)
from:0x02134ecc kind:arm_call to:0x020c16d0 module:overlay(0)
from:0x02134ed4 kind:arm_call to:0x0202ea08 module:main
@@ -2527,29 +2527,29 @@ from:0x02135410 kind:arm_call to:0x0207c150 module:overlay(0)
from:0x02135434 kind:arm_call to:0x0207c150 module:overlay(0)
from:0x02135448 kind:load to:0x027e0e58 module:dtcm
from:0x02135460 kind:arm_call to:0x02134e70 module:overlay(14)
-from:0x02135484 kind:load to:0x02157b58 module:overlay(14)
+from:0x02135484 kind:load to:0x02157b50 add:8 module:overlay(14)
from:0x02135490 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x021354a4 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x021354ac kind:arm_call to:0x0202ea08 module:main
from:0x021354cc kind:arm_call to:0x02134e70 module:overlay(14)
-from:0x021354f0 kind:load to:0x02157a98 module:overlay(14)
+from:0x021354f0 kind:load to:0x02157a90 add:8 module:overlay(14)
from:0x021354fc kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x02135510 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x02135518 kind:arm_call to:0x0202ea08 module:main
from:0x02135538 kind:arm_call to:0x02134e70 module:overlay(14)
-from:0x0213555c kind:load to:0x021579d8 module:overlay(14)
+from:0x0213555c kind:load to:0x021579d0 add:8 module:overlay(14)
from:0x02135568 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x0213557c kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x02135584 kind:arm_call to:0x0202ea08 module:main
from:0x021355a4 kind:arm_call to:0x02134e70 module:overlay(14)
-from:0x021355c8 kind:load to:0x02157918 module:overlay(14)
+from:0x021355c8 kind:load to:0x02157910 add:8 module:overlay(14)
from:0x021355d4 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x021355e8 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x021355f0 kind:arm_call to:0x0202ea08 module:main
from:0x02135604 kind:arm_call to:0x02134ef4 module:overlay(14)
from:0x0213570c kind:load to:0x027e0764 module:dtcm
from:0x02135724 kind:arm_call to:0x02134e70 module:overlay(14)
-from:0x02135748 kind:load to:0x02157858 module:overlay(14)
+from:0x02135748 kind:load to:0x02157850 add:8 module:overlay(14)
from:0x02135754 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x02135768 kind:arm_call to:0x02134ee0 module:overlay(14)
from:0x02135770 kind:arm_call to:0x0202ea08 module:main
diff --git a/config/usa/arm9/overlays/ov014/symbols.txt b/config/usa/arm9/overlays/ov014/symbols.txt
index 82f56532..a033bc75 100644
--- a/config/usa/arm9/overlays/ov014/symbols.txt
+++ b/config/usa/arm9/overlays/ov014/symbols.txt
@@ -8,14 +8,14 @@ func_ov014_0211f980 kind:function(arm,size=0x130) addr:0x211f900
func_ov014_0211fab0 kind:function(arm,size=0x1dc) addr:0x211fa30
func_ov014_0211fc8c kind:function(arm,size=0x50) addr:0x211fc0c
func_ov014_0211fcdc kind:function(thumb,size=0x28) addr:0x211fc5c
-_Z19func_ov014_0211fd04Pi kind:function(thumb,size=0x4c) addr:0x211fc84
+_ZN18UnkStruct_027e109819func_ov014_0211fd04Ev kind:function(thumb,size=0x4c) addr:0x211fc84
_ZN10ActorArrow6CreateEv kind:function(arm,size=0x30) addr:0x211fcd0
_ZN10ActorArrow19func_ov014_0211fd80Ei kind:function(arm,size=0x10) addr:0x211fd00
_ZN10ActorArrow19func_ov014_0211fd90Ev kind:function(arm,size=0x14) addr:0x211fd10
_ZN10ActorArrowC2Ev kind:function(arm,size=0x108) addr:0x211fd24
_ZN10ActorArrowD1Ev kind:function(arm,size=0x28) addr:0x211fe2c
_ZN10ActorArrowD0Ev kind:function(arm,size=0x30) addr:0x211fe54
-_ZN10ActorArrow8vfunc_08Ev kind:function(arm,size=0x148) addr:0x211fe84
+_ZN10ActorArrow4InitEv kind:function(arm,size=0x148) addr:0x211fe84
_ZN10ActorArrow12CollidesWithEP5Actor kind:function(arm,size=0x88) addr:0x211ffcc
_ZN10ActorArrow19func_ov014_021200d4Ev kind:function(arm,size=0x44) addr:0x2120054
_ZN10ActorArrow19func_ov014_02120118Ev kind:function(arm,size=0x68) addr:0x2120098
@@ -42,7 +42,7 @@ _ZN15ActorBlast_Unk18vfunc_10EPi kind:function(arm,size=0xa4) addr:0x212138c
_ZN10ActorBlastC2Ev kind:function(arm,size=0x8c) addr:0x2121430
_ZN10ActorBlastD1Ev kind:function(arm,size=0x14) addr:0x21214bc
_ZN10ActorBlastD0Ev kind:function(arm,size=0x1c) addr:0x21214d0
-_ZN10ActorBlast8vfunc_08Ev kind:function(arm,size=0x260) addr:0x21214ec
+_ZN10ActorBlast4InitEv kind:function(arm,size=0x260) addr:0x21214ec
_ZN10ActorBlast8vfunc_14Ej kind:function(arm,size=0x218) addr:0x212174c
_ZN15ActorBlast_Unk1D1Ev kind:function(arm,size=0x14) addr:0x2121964
_ZN10ActorBlast8vfunc_18Ej kind:function(arm,size=0x90) addr:0x2121978
@@ -55,7 +55,7 @@ _ZN14ActorBomb_Unk2D1Ev kind:function(arm,size=0x1c) addr:0x2121c58
_ZN9ActorBombD1Ev kind:function(arm,size=0x38) addr:0x2121c74
_ZN9ActorBombD0Ev kind:function(arm,size=0x40) addr:0x2121cac
_ZN14ActorBomb_Unk2C1Ev kind:function(arm,size=0x14) addr:0x2121cec
-_ZN9ActorBomb8vfunc_08Ev kind:function(arm,size=0x134) addr:0x2121d00
+_ZN9ActorBomb4InitEv kind:function(arm,size=0x134) addr:0x2121d00
_ZN9ActorBomb8vfunc_14Ej kind:function(arm,size=0xc58) addr:0x2121e34
_ZN14ActorBomb_Unk1D1Ev kind:function(arm,size=0x14) addr:0x2122a8c
_ZN9ActorBomb8vfunc_18Ej kind:function(arm,size=0x98) addr:0x2122aa0
@@ -99,7 +99,7 @@ _ZN9ActorRope19func_ov014_02123cd0EP5Vec3pi kind:function(arm,size=0x14c) addr:0
_ZN9ActorRope19func_ov014_02123e1cEv kind:function(arm,size=0x2c) addr:0x2123d9c
_ZN9ActorRope19func_ov014_02123e48Ei kind:function(arm,size=0xbc) addr:0x2123dc8
_ZN9ActorRope8vfunc_20Eb kind:function(arm,size=0xec) addr:0x2123e84
-_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x14) addr:0x2123f70
+_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x12) addr:0x2123f70
func_ov014_02124004 kind:function(arm,size=0x30) addr:0x2123f84
func_ov014_02124034 kind:function(arm,size=0xc) addr:0x2123fb4
func_ov014_02124040 kind:function(arm,size=0xdc) addr:0x2123fc0
@@ -586,42 +586,42 @@ func_ov014_02134c04 kind:function(arm,size=0x8) addr:0x2134b60
func_ov014_02134c0c kind:function(arm,size=0x8) addr:0x2134b68
func_ov014_02134c14 kind:function(arm,size=0x200) addr:0x2134b70
func_ov014_02134e14 kind:function(arm,size=0x10) addr:0x2134d70
-func_ov014_02134e24 kind:function(arm,size=0x30) addr:0x2134d80
-func_ov014_02134e54 kind:function(arm,size=0x30) addr:0x2134db0
-func_ov014_02134e84 kind:function(arm,size=0x30) addr:0x2134de0
-func_ov014_02134eb4 kind:function(arm,size=0x30) addr:0x2134e10
-func_ov014_02134ee4 kind:function(arm,size=0x30) addr:0x2134e40
-func_ov014_02134f14 kind:function(arm,size=0x40) addr:0x2134e70
-func_ov014_02134f54 kind:function(arm,size=0x14) addr:0x2134eb0
-func_ov014_02134f68 kind:function(arm,size=0x1c) addr:0x2134ec4
-func_ov014_02134f84 kind:function(arm,size=0x14) addr:0x2134ee0
-func_ov014_02134f98 kind:function(arm,size=0xf4) addr:0x2134ef4
-func_ov014_0213508c kind:function(arm,size=0x2d8) addr:0x2134fe8
-func_ov014_02135364 kind:function(arm,size=0x54) addr:0x21352c0
-func_ov014_021353b8 kind:function(arm,size=0xbc) addr:0x2135314
-func_ov014_02135474 kind:function(arm,size=0x84) addr:0x21353d0
-func_ov014_021354f8 kind:function(arm,size=0x34) addr:0x2135454
-func_ov014_0213552c kind:function(arm,size=0x14) addr:0x2135488
-func_ov014_02135540 kind:function(arm,size=0x1c) addr:0x213549c
-func_ov014_0213555c kind:function(arm,size=0x8) addr:0x21354b8
-func_ov014_02135564 kind:function(arm,size=0x34) addr:0x21354c0
-func_ov014_02135598 kind:function(arm,size=0x14) addr:0x21354f4
-func_ov014_021355ac kind:function(arm,size=0x1c) addr:0x2135508
-func_ov014_021355c8 kind:function(arm,size=0x8) addr:0x2135524
-func_ov014_021355d0 kind:function(arm,size=0x34) addr:0x213552c
-func_ov014_02135604 kind:function(arm,size=0x14) addr:0x2135560
-func_ov014_02135618 kind:function(arm,size=0x1c) addr:0x2135574
-func_ov014_02135634 kind:function(arm,size=0x8) addr:0x2135590
-func_ov014_0213563c kind:function(arm,size=0x34) addr:0x2135598
-func_ov014_02135670 kind:function(arm,size=0x14) addr:0x21355cc
-func_ov014_02135684 kind:function(arm,size=0x1c) addr:0x21355e0
-func_ov014_021356a0 kind:function(arm,size=0x114) addr:0x21355fc
-func_ov014_021357b4 kind:function(arm,size=0x8) addr:0x2135710
-func_ov014_021357bc kind:function(arm,size=0x34) addr:0x2135718
-func_ov014_021357f0 kind:function(arm,size=0x14) addr:0x213574c
-func_ov014_02135804 kind:function(arm,size=0x1c) addr:0x2135760
-func_ov014_02135820 kind:function(arm,size=0x118) addr:0x213577c
-func_ov014_02135938 kind:function(arm,size=0x8) addr:0x2135894
+_ZN16ActorRefillBombs6CreateEv kind:function(arm,size=0x30) addr:0x2134d80
+_ZN19ActorRefillBombchus6CreateEv kind:function(arm,size=0x30) addr:0x2134db0
+_ZN17ActorRefillArrows6CreateEv kind:function(arm,size=0x30) addr:0x2134de0
+_ZN15ActorRefillTime6CreateEv kind:function(arm,size=0x30) addr:0x2134e10
+_ZN9ActorLSTM6CreateEv kind:function(arm,size=0x30) addr:0x2134e40
+_ZN11ActorRefillC2Ei kind:function(arm,size=0x40) addr:0x2134e70
+_ZN11ActorRefillD1Ev kind:function(arm,size=0x14) addr:0x2134eb0
+_ZN11ActorRefillD0Ev kind:function(arm,size=0x1c) addr:0x2134ec4
+_ZN11ActorRefillD2Ev kind:function(arm,size=0x14) addr:0x2134ee0
+_ZN11ActorRefill4InitEv kind:function(arm,size=0xf4) addr:0x2134ef4
+_ZN11ActorRefill8vfunc_14Ej kind:function(arm,size=0x2d8) addr:0x2134fe8
+_ZN11ActorRefill19func_ov014_02135364Ei kind:function(arm,size=0x54) addr:0x21352c0
+_ZN11ActorRefill8vfunc_20Eb kind:function(arm,size=0xbc) addr:0x2135314
+_ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x21353d0
+_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x2135454
+_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x2135488
+_ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x213549c
+_ZN16ActorRefillBombs11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21354b8
+_ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x21354c0
+_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x21354f4
+_ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x2135508
+_ZN19ActorRefillBombchus11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135524
+_ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x213552c
+_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135560
+_ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135574
+_ZN17ActorRefillArrows11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135590
+_ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x2135598
+_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x21355cc
+_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x21355e0
+_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21355fc
+_ZN15ActorRefillTime11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135710
+_ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x2135718
+_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x213574c
+_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135760
+_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x213577c
+_ZN9ActorLSTM11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135894
func_ov014_02135940 kind:function(arm,size=0x34) addr:0x213589c
func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x21358d0
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135994
@@ -784,7 +784,7 @@ func_ov014_0213ae20 kind:function(arm,size=0x28) addr:0x213ad7c
func_ov014_0213ae48 kind:function(arm,size=0x20) addr:0x213ada4
_ZN10ActorRupee6CreateEv kind:function(arm,size=0x30) addr:0x213adc4
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x34) addr:0x213adf4
-_ZN10ActorRupee8vfunc_08Ev kind:function(arm,size=0x240) addr:0x213ae28
+_ZN10ActorRupee4InitEv kind:function(arm,size=0x240) addr:0x213ae28
_ZN10ActorRupee8vfunc_60Ev kind:function(arm,size=0x10) addr:0x213b068
_ZN10ActorRupee8vfunc_64Ev kind:function(arm,size=0x4) addr:0x213b078
_ZN10ActorRupee4MoveEv kind:function(arm,size=0x6c) addr:0x213b07c
@@ -830,7 +830,7 @@ func_ov014_0213c364 kind:function(arm,size=0x10) addr:0x213c2c0
func_ov014_0213c374 kind:function(arm,size=0x10) addr:0x213c2d0
func_ov014_0213c384 kind:function(thumb,size=0xb8) addr:0x213c2e0
func_ov014_0213c43c kind:function(arm,size=0x4) addr:0x213c398
-func_ov014_0213c440 kind:function(thumb,size=0x4) addr:0x213c39c
+func_ov014_0213c440 kind:function(thumb,size=0x2) addr:0x213c39c
func_ov014_0213c444 kind:function(arm,size=0x4c) addr:0x213c3a0
func_ov014_0213c490 kind:function(thumb,size=0x38) addr:0x213c3ec
func_ov014_0213c4c8 kind:function(thumb,size=0x3c) addr:0x213c424
@@ -846,11 +846,11 @@ func_ov014_0213ccd8 kind:function(arm,size=0xe8) addr:0x213cc34
func_ov014_0213cdc0 kind:function(arm,size=0x3c) addr:0x213cd1c
func_ov014_0213cdfc kind:function(arm,size=0x5c) addr:0x213cd58
func_ov014_0213ce58 kind:function(arm,size=0x18) addr:0x213cdb4
-func_ov014_0213ce70 kind:function(arm,size=0xbc) addr:0x213cdcc
+_ZN24UnkStruct_ov015_0213ce4c11GetInstanceEv kind:function(arm,size=0xbc) addr:0x213cdcc local
func_ov014_0213cf2c kind:function(arm,size=0x5c) addr:0x213ce88
_ZN10EquipScoopC2Ev kind:function(thumb,size=0x14) addr:0x213cee4
_ZN10EquipScoopD1Ev kind:function(thumb,size=0xc) addr:0x213cef8
-_ZN10EquipScoopD0Ev kind:function(thumb,size=0x14) addr:0x213cf04
+_ZN10EquipScoopD0Ev kind:function(thumb,size=0x12) addr:0x213cf04
_ZNK10EquipScoop5GetIdEv kind:function(arm,size=0x8) addr:0x213cf18
_ZN14EquipBoomerangC2Ev kind:function(thumb,size=0x4c) addr:0x213cf20
_ZN14EquipBoomerangD1Ev kind:function(thumb,size=0x2c) addr:0x213cf6c
@@ -871,7 +871,7 @@ _ZN9EquipBomb8vfunc_50Ev kind:function(arm,size=0x8) addr:0x213d184
_Z19func_ov014_0213d230ii kind:function(arm,size=0x18) addr:0x213d18c
_Z19func_ov013_0213d248i kind:function(arm,size=0x14) addr:0x213d1a4
_ZN9EquipRopeC2Ev kind:function(thumb,size=0x8c) addr:0x213d1b8
-_Z19func_ov014_0213d2e8v kind:function(thumb,size=0x4) addr:0x213d244
+_Z19func_ov014_0213d2e8v kind:function(thumb,size=0x2) addr:0x213d244
_Z19func_ov014_0213d2eci kind:function(arm,size=0x28) addr:0x213d248
_ZN9EquipRopeD1Ev kind:function(thumb,size=0x44) addr:0x213d270
_ZN9EquipRopeD0Ev kind:function(thumb,size=0x48) addr:0x213d2b4
@@ -895,7 +895,7 @@ _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p kind:function(arm,size=0x100) addr:0x
_ZN9EquipRope18func_ov14_0213d91cEi kind:function(arm,size=0x90) addr:0x213d878
_ZN9EquipRope19func_ov014_0213d9acEv kind:function(arm,size=0x130) addr:0x213d908
_ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder kind:function(arm,size=0x58) addr:0x213da38
-_ZN9EquipRope19func_ov014_0213db34Ev kind:function(thumb,size=0x2c) addr:0x213da90
+_ZN9EquipRope19func_ov014_0213db34Ev kind:function(thumb,size=0x2a) addr:0x213da90
_ZN9EquipRope19func_ov014_0213db60Ev kind:function(arm,size=0x44) addr:0x213dabc
_ZN9EquipRope19func_ov014_0213dba4EP5Vec3p kind:function(arm,size=0x1fc) addr:0x213db00
_ZN9EquipRope19func_ov014_0213dda0Ev kind:function(arm,size=0x34) addr:0x213dcfc
@@ -909,7 +909,7 @@ _Z19func_ov014_0213e544ii kind:function(arm,size=0x18) addr:0x213e4a0
_Z19func_ov014_0213e55cPi kind:function(arm,size=0x55c) addr:0x213e4b8
_ZN8EquipBowC2Ev kind:function(thumb,size=0x1c) addr:0x213ea14
_ZN8EquipBowD1Ev kind:function(thumb,size=0xc) addr:0x213ea30
-_ZN8EquipBowD0Ev kind:function(thumb,size=0x14) addr:0x213ea3c
+_ZN8EquipBowD0Ev kind:function(thumb,size=0x12) addr:0x213ea3c
_ZNK8EquipBow5GetIdEv kind:function(arm,size=0x8) addr:0x213ea50
_ZN12EquipBombchuC2Ev kind:function(thumb,size=0x50) addr:0x213ea58
_ZN17EquipBombchu_Unk1C1Ev kind:function(arm,size=0x10) addr:0x213eaa8
@@ -922,11 +922,11 @@ _ZNK12EquipBombchu5GetIdEv kind:function(arm,size=0x8) addr:0x213ec08
_ZN12EquipBombchu8vfunc_34EPs kind:function(arm,size=0xc0) addr:0x213ec10
_ZN12EquipBombchu19func_ov014_0213ed74Ev kind:function(arm,size=0x20) addr:0x213ecd0
_ZN12EquipBombchu19func_ov014_0213ed94Ei kind:function(arm,size=0xc) addr:0x213ecf0
-_ZN12EquipBombchu19func_ov014_0213eda0Ev kind:function(thumb,size=0x20) addr:0x213ecfc
+_ZN12EquipBombchu19func_ov014_0213eda0Ev kind:function(thumb,size=0x1e) addr:0x213ecfc
_ZN11EquipHammerC2Ev kind:function(thumb,size=0x24) addr:0x213ed1c
_ZN11EquipHammerD1Ev kind:function(thumb,size=0xc) addr:0x213ed40
-_ZN11EquipHammerD0Ev kind:function(thumb,size=0x14) addr:0x213ed4c
-_ZN11EquipHammer8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x213ed60
+_ZN11EquipHammerD0Ev kind:function(thumb,size=0x12) addr:0x213ed4c
+_ZN11EquipHammer8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x213ed60
_ZNK11EquipHammer5GetIdEv kind:function(arm,size=0x8) addr:0x213ed64
_ZNK11EquipHammer9GetHitboxEP8Cylinder kind:function(arm,size=0x98) addr:0x213ed6c
_ZNK11EquipHammer8vfunc_4cEv kind:function(arm,size=0xc) addr:0x213ee04
@@ -1038,8 +1038,8 @@ func_ov014_02143b78 kind:function(thumb,size=0x198) addr:0x2143ad4
func_ov014_02143d10 kind:function(thumb,size=0x9c) addr:0x2143c6c
func_ov014_02143dac kind:function(thumb,size=0xa0) addr:0x2143d08
func_ov014_02143e4c kind:function(thumb,size=0x9c) addr:0x2143da8
-func_ov014_02143ee8 kind:function(thumb,size=0x1c) addr:0x2143e44
-func_ov014_02143f04 kind:function(thumb,size=0x14) addr:0x2143e60
+func_ov014_02143ee8 kind:function(thumb,size=0x1a) addr:0x2143e44
+func_ov014_02143f04 kind:function(thumb,size=0x12) addr:0x2143e60
func_ov014_02143f18 kind:function(thumb,size=0x88) addr:0x2143e74
func_ov014_02143fa0 kind:function(thumb,size=0x20) addr:0x2143efc
func_ov014_02143fc0 kind:function(arm,size=0xb8) addr:0x2143f1c
@@ -1425,10 +1425,10 @@ func_ov014_02150670 kind:function(thumb,size=0x28) addr:0x21505cc
func_ov014_02150698 kind:function(thumb,size=0x2c) addr:0x21505f4
func_ov014_021506c4 kind:function(thumb,size=0xa4) addr:0x2150620
func_ov014_02150768 kind:function(thumb,size=0x64) addr:0x21506c4
-func_ov014_021507cc kind:function(thumb,size=0x34) addr:0x2150728
-func_ov014_02150800 kind:function(thumb,size=0x10) addr:0x215075c
+func_ov014_021507cc kind:function(thumb,size=0x32) addr:0x2150728
+func_ov014_02150800 kind:function(thumb,size=0xe) addr:0x215075c
func_ov014_02150810 kind:function(thumb,size=0x38) addr:0x215076c
-func_ov014_02150848 kind:function(thumb,size=0x1c) addr:0x21507a4
+func_ov014_02150848 kind:function(thumb,size=0x1a) addr:0x21507a4
func_ov014_02150864 kind:function(thumb,size=0x54) addr:0x21507c0
func_ov014_021508b8 kind:function(thumb,size=0x2c) addr:0x2150814
func_ov014_021508e4 kind:function(thumb,size=0x24) addr:0x2150840
@@ -1458,15 +1458,15 @@ func_ov014_0215141c kind:function(arm,size=0x110) addr:0x2151378
func_ov014_0215152c kind:function(arm,size=0x20) addr:0x2151488
_ZN11EquipPotionC2Ev kind:function(thumb,size=0x18) addr:0x21514a8
_ZN11EquipPotionD1Ev kind:function(thumb,size=0xc) addr:0x21514c0
-_ZN11EquipPotionD0Ev kind:function(thumb,size=0x14) addr:0x21514cc
+_ZN11EquipPotionD0Ev kind:function(thumb,size=0x12) addr:0x21514cc
_ZN11EquipPotionD2Ev kind:function(thumb,size=0xc) addr:0x21514e0
_ZN12EquipPotionAC2Ev kind:function(thumb,size=0x18) addr:0x21514ec
_ZN12EquipPotionAD1Ev kind:function(thumb,size=0xc) addr:0x2151504
-_ZN12EquipPotionAD0Ev kind:function(thumb,size=0x14) addr:0x2151510
+_ZN12EquipPotionAD0Ev kind:function(thumb,size=0x12) addr:0x2151510
_ZNK12EquipPotionA5GetIdEv kind:function(arm,size=0x8) addr:0x2151524
_ZN12EquipPotionBC2Ev kind:function(thumb,size=0x18) addr:0x215152c
_ZN12EquipPotionBD1Ev kind:function(thumb,size=0xc) addr:0x2151544
-_ZN12EquipPotionBD0Ev kind:function(thumb,size=0x14) addr:0x2151550
+_ZN12EquipPotionBD0Ev kind:function(thumb,size=0x12) addr:0x2151550
_ZNK12EquipPotionB5GetIdEv kind:function(arm,size=0x8) addr:0x2151564
_ZNK11EquipPotion8IsUsableEi kind:function(arm,size=0x7c) addr:0x215156c
func_ov014_0215168c kind:function(arm,size=0x38) addr:0x21515e8
@@ -1485,7 +1485,7 @@ func_ov014_02151b9c kind:function(arm,size=0x1c) addr:0x2151af8
func_ov014_02151bb8 kind:function(arm,size=0x14) addr:0x2151b14
func_ov014_02151bcc kind:function(thumb,size=0xc) addr:0x2151b28
func_ov014_02151bd8 kind:function(thumb,size=0x10) addr:0x2151b34
-func_ov014_02151be8 kind:function(thumb,size=0x4) addr:0x2151b44
+func_ov014_02151be8 kind:function(thumb,size=0x2) addr:0x2151b44
func_ov014_02151bec kind:function(arm,size=0x1f4) addr:0x2151b48
func_ov014_02151de0 kind:function(arm,size=0x24) addr:0x2151d3c
func_ov014_02151e04 kind:function(arm,size=0x2c) addr:0x2151d60
@@ -1517,8 +1517,8 @@ func_ov014_02152e44 kind:function(arm,size=0x1ac) addr:0x2152da0
func_ov014_02152ff0 kind:function(arm,size=0x2c) addr:0x2152f4c
func_ov014_0215301c kind:function(arm,size=0x74) addr:0x2152f78
func_ov014_02153090 kind:function(arm,size=0x3c) addr:0x2152fec
-func_ov014_021530cc kind:function(thumb,size=0x20) addr:0x2153028
-func_ov014_021530ec kind:function(thumb,size=0x4) addr:0x2153048
+func_ov014_021530cc kind:function(thumb,size=0x1e) addr:0x2153028
+func_ov014_021530ec kind:function(thumb,size=0x2) addr:0x2153048
func_ov014_021530f0 kind:function(thumb,size=0x2c) addr:0x215304c
func_ov014_0215311c kind:function(thumb,size=0x28) addr:0x2153078
func_ov014_02153144 kind:function(arm,size=0x160) addr:0x21530a0
@@ -1672,7 +1672,7 @@ __sinit_ov014_02154b34 kind:function(arm,size=0x38) addr:0x2154a90
__sinit_ov014_02154b6c kind:function(arm,size=0x38) addr:0x2154ac8
__sinit_ov014_02154ba4 kind:function(arm,size=0x38) addr:0x2154b00
__sinit_ov014_02154bdc kind:function(arm,size=0x38) addr:0x2154b38
-__sinit_ov014_02154c14 kind:function(arm,size=0x110) addr:0x2154b70
+__sinit_ActorRefill.cpp kind:function(arm,size=0x110) addr:0x2154b70 local
__sinit_ov014_02154d24 kind:function(arm,size=0x1d8) addr:0x2154c80
__sinit_ov014_02154efc kind:function(arm,size=0x40) addr:0x2154e58
__sinit_ov014_02154f3c kind:function(arm,size=0x40) addr:0x2154e98
@@ -1846,20 +1846,21 @@ data_ov014_02157768 kind:data(any) addr:0x21576c8
data_ov014_0215777c kind:data(any) addr:0x21576dc
data_ov014_02157790 kind:data(any) addr:0x21576f0
data_ov014_02157824 kind:data(any) addr:0x2157784
-data_ov014_021578b0 kind:data(any) addr:0x2157810
-data_ov014_021578b4 kind:data(any) addr:0x2157814
-data_ov014_021578b8 kind:data(any) addr:0x2157818
-data_ov014_021578bc kind:data(any) addr:0x215781c
-data_ov014_021578c0 kind:data(any) addr:0x2157820
-data_ov014_021578c4 kind:data(any) addr:0x2157824
-data_ov014_021578c8 kind:data(any) addr:0x2157828
-data_ov014_021578cc kind:data(any) addr:0x215782c
-data_ov014_021578f8 kind:data(any) addr:0x2157858
-data_ov014_021579b8 kind:data(any) addr:0x2157918
-data_ov014_02157a78 kind:data(any) addr:0x21579d8
-data_ov014_02157b38 kind:data(any) addr:0x2157a98
-data_ov014_02157bf8 kind:data(any) addr:0x2157b58
-data_ov014_02157cb8 kind:data(any) addr:0x2157c18
+@570 kind:data(any) addr:0x2157810 local
+@569 kind:data(any) addr:0x2157814 local
+@568 kind:data(any) addr:0x2157818 local
+@567 kind:data(any) addr:0x215781c local
+@566 kind:data(any) addr:0x2157820 local
+@565 kind:data(any) addr:0x2157824 local
+@564 kind:data(any) addr:0x2157828 local
+@563 kind:data(any) addr:0x215782c local
+sShipTypes kind:data(any) addr:0x2157830 local
+_ZTV9ActorLSTM kind:data(any) addr:0x2157850
+_ZTV15ActorRefillTime kind:data(any) addr:0x2157910
+_ZTV17ActorRefillArrows kind:data(any) addr:0x21579d0
+_ZTV19ActorRefillBombchus kind:data(any) addr:0x2157a90
+_ZTV16ActorRefillBombs kind:data(any) addr:0x2157b50
+_ZTV11ActorRefill kind:data(any) addr:0x2157c10
data_ov014_02157d70 kind:data(any) addr:0x2157cd0
data_ov014_02157d7c kind:data(any) addr:0x2157cdc
data_ov014_02157d88 kind:data(any) addr:0x2157ce8
@@ -2195,16 +2196,16 @@ data_ov014_0215af6c kind:bss addr:0x215aecc
data_ov014_0215af74 kind:bss addr:0x215aed4
data_ov014_0215af80 kind:bss addr:0x215aee0
data_ov014_0215af88 kind:bss addr:0x215aee8
-data_ov014_0215af94 kind:bss addr:0x215aef4
-data_ov014_0215afa0 kind:bss addr:0x215af00
-data_ov014_0215afb4 kind:bss addr:0x215af14
-data_ov014_0215afc0 kind:bss addr:0x215af20
-data_ov014_0215afd4 kind:bss addr:0x215af34
-data_ov014_0215afe0 kind:bss addr:0x215af40
-data_ov014_0215aff4 kind:bss addr:0x215af54
-data_ov014_0215b000 kind:bss addr:0x215af60
-data_ov014_0215b014 kind:bss addr:0x215af74
-data_ov014_0215b020 kind:bss addr:0x215af80
+@363 kind:bss addr:0x215aef4 local
+_ZN16ActorRefillBombs5gTypeE kind:bss addr:0x215af00
+@361 kind:bss addr:0x215af14 local
+_ZN19ActorRefillBombchus5gTypeE kind:bss addr:0x215af20
+@364 kind:bss addr:0x215af34 local
+_ZN17ActorRefillArrows5gTypeE kind:bss addr:0x215af40
+@360 kind:bss addr:0x215af54 local
+_ZN15ActorRefillTime5gTypeE kind:bss addr:0x215af60
+@362 kind:bss addr:0x215af74 local
+_ZN9ActorLSTM5gTypeE kind:bss addr:0x215af80
data_ov014_0215b034 kind:bss addr:0x215af94
data_ov014_0215b040 kind:bss addr:0x215afa0
data_ov014_0215b054 kind:bss addr:0x215afb4
diff --git a/config/usa/arm9/overlays/ov015/delinks.txt b/config/usa/arm9/overlays/ov015/delinks.txt
index 615e2e60..29a20f05 100644
--- a/config/usa/arm9/overlays/ov015/delinks.txt
+++ b/config/usa/arm9/overlays/ov015/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0211f5c0 end:0x02185a9c kind:code align:32
- .rodata start:0x02185a9c end:0x02187304 kind:data align:4
+ .rodata start:0x02185a9c end:0x02187304 kind:rodata align:4
.init start:0x02187304 end:0x02189250 kind:code align:4
- .ctor start:0x02189250 end:0x021893a0 kind:data align:4
+ .ctor start:0x02189250 end:0x021893a0 kind:rodata align:4
.data start:0x021893a0 end:0x0218eb60 kind:data align:32
.bss start:0x0218eb60 end:0x02190420 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov015/symbols.txt b/config/usa/arm9/overlays/ov015/symbols.txt
index c9b2ed11..17c977cb 100644
--- a/config/usa/arm9/overlays/ov015/symbols.txt
+++ b/config/usa/arm9/overlays/ov015/symbols.txt
@@ -613,7 +613,7 @@ func_ov015_0213cc98 kind:function(arm,size=0x14) addr:0x213cc18
func_ov015_0213ccac kind:function(arm,size=0x38) addr:0x213cc2c
func_ov015_0213cce4 kind:function(arm,size=0x78) addr:0x213cc64
func_ov015_0213cd5c kind:function(arm,size=0xf0) addr:0x213ccdc
-func_ov015_0213ce4c kind:function(arm,size=0x10) addr:0x213cdcc
+_ZN24UnkStruct_ov015_0213ce4c11GetInstanceEv kind:function(arm,size=0x10) addr:0x213cdcc
func_ov015_0213ce5c kind:function(arm,size=0xb4) addr:0x213cddc
func_ov015_0213cf10 kind:function(arm,size=0x20) addr:0x213ce90
func_ov015_0213cf30 kind:function(arm,size=0x48) addr:0x213ceb0
@@ -640,8 +640,8 @@ func_ov015_0213d87c kind:function(arm,size=0x28c) addr:0x213d7fc
func_ov015_0213db08 kind:function(arm,size=0xb0) addr:0x213da88
func_ov015_0213dbb8 kind:function(arm,size=0xb0) addr:0x213db38
func_ov015_0213dc68 kind:function(arm,size=0x48) addr:0x213dbe8
-func_ov015_0213dcb0 kind:function(arm,size=0x8) addr:0x213dc30
-func_ov015_0213dcb8 kind:function(arm,size=0x8) addr:0x213dc38
+_ZN24UnkStruct_ov015_0213ce4c8GetUnk3fEv kind:function(arm,size=0x8) addr:0x213dc30
+_ZN24UnkStruct_ov015_0213ce4c8GetUnk40Ev kind:function(arm,size=0x8) addr:0x213dc38
func_ov015_0213dcc0 kind:function(arm,size=0x4) addr:0x213dc40
func_ov015_0213dcc4 kind:function(arm,size=0x8c) addr:0x213dc44
func_ov015_0213dd50 kind:function(arm,size=0x24) addr:0x213dcd0
diff --git a/config/usa/arm9/overlays/ov016/delinks.txt b/config/usa/arm9/overlays/ov016/delinks.txt
index 92145fbe..9eb4dec8 100644
--- a/config/usa/arm9/overlays/ov016/delinks.txt
+++ b/config/usa/arm9/overlays/ov016/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x0211f5c0 end:0x021200b4 kind:code align:32
- .rodata start:0x021200b4 end:0x021200d0 kind:data align:4
- .ctor start:0x021200d0 end:0x021200d4 kind:data align:4
+ .rodata start:0x021200b4 end:0x021200d0 kind:rodata align:4
+ .ctor start:0x021200d0 end:0x021200d4 kind:rodata align:4
.data start:0x021200e0 end:0x02120120 kind:data align:32
.bss start:0x02120120 end:0x02120120 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov017/delinks.txt b/config/usa/arm9/overlays/ov017/delinks.txt
index f83b6084..639891ca 100644
--- a/config/usa/arm9/overlays/ov017/delinks.txt
+++ b/config/usa/arm9/overlays/ov017/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0215b400 end:0x0216aff8 kind:code align:32
- .rodata start:0x0216aff8 end:0x0216b224 kind:data align:4
+ .rodata start:0x0216aff8 end:0x0216b224 kind:rodata align:4
.init start:0x0216b224 end:0x0216b8c4 kind:code align:4
- .ctor start:0x0216b8c4 end:0x0216b934 kind:data align:4
+ .ctor start:0x0216b8c4 end:0x0216b934 kind:rodata align:4
.data start:0x0216b940 end:0x0216ce00 kind:data align:32
.bss start:0x0216ce00 end:0x0216d080 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov018/delinks.txt b/config/usa/arm9/overlays/ov018/delinks.txt
index fe52c01c..31547a43 100644
--- a/config/usa/arm9/overlays/ov018/delinks.txt
+++ b/config/usa/arm9/overlays/ov018/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0215b400 end:0x0216b38c kind:code align:32
- .rodata start:0x0216b38c end:0x0216b6e0 kind:data align:4
+ .rodata start:0x0216b38c end:0x0216b6e0 kind:rodata align:4
.init start:0x0216b6e0 end:0x0216bfac kind:code align:4
- .ctor start:0x0216bfac end:0x0216c00c kind:data align:4
+ .ctor start:0x0216bfac end:0x0216c00c kind:rodata align:4
.data start:0x0216c020 end:0x0216d3a0 kind:data align:32
.bss start:0x0216d3a0 end:0x0216d600 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov018/symbols.txt b/config/usa/arm9/overlays/ov018/symbols.txt
index 69fde2ee..d16200b2 100644
--- a/config/usa/arm9/overlays/ov018/symbols.txt
+++ b/config/usa/arm9/overlays/ov018/symbols.txt
@@ -1,39 +1,39 @@
-func_ov018_0215b4a0 kind:function(arm,size=0x1ac) addr:0x215b400
-func_ov018_0215b64c kind:function(arm,size=0x10c) addr:0x215b5ac
-func_ov018_0215b758 kind:function(arm,size=0x114) addr:0x215b6b8
-func_ov018_0215b86c kind:function(arm,size=0x518) addr:0x215b7cc
-func_ov018_0215bd84 kind:function(arm,size=0x134) addr:0x215bce4
-func_ov018_0215beb8 kind:function(arm,size=0x110) addr:0x215be18
-func_ov018_0215bfc8 kind:function(arm,size=0x17c) addr:0x215bf28
-func_ov018_0215c144 kind:function(arm,size=0x84) addr:0x215c0a4
-func_ov018_0215c1c8 kind:function(arm,size=0xb4) addr:0x215c128
-func_ov018_0215c27c kind:function(arm,size=0x8) addr:0x215c1dc
-func_ov018_0215c284 kind:function(arm,size=0xc) addr:0x215c1e4
-func_ov018_0215c290 kind:function(arm,size=0x20) addr:0x215c1f0
-func_ov018_0215c2b0 kind:function(arm,size=0x30) addr:0x215c210
-func_ov018_0215c2e0 kind:function(arm,size=0x20) addr:0x215c240
-func_ov018_0215c300 kind:function(arm,size=0x2c) addr:0x215c260
-func_ov018_0215c32c kind:function(arm,size=0x20) addr:0x215c28c
-func_ov018_0215c34c kind:function(arm,size=0x1c) addr:0x215c2ac
-func_ov018_0215c368 kind:function(arm,size=0x18) addr:0x215c2c8
-func_ov018_0215c380 kind:function(arm,size=0x20) addr:0x215c2e0
-func_ov018_0215c3a0 kind:function(arm,size=0x20) addr:0x215c300
-func_ov018_0215c3c0 kind:function(arm,size=0x68) addr:0x215c320
-func_ov018_0215c428 kind:function(arm,size=0x20) addr:0x215c388
-func_ov018_0215c448 kind:function(arm,size=0x18) addr:0x215c3a8
-func_ov018_0215c460 kind:function(arm,size=0x164) addr:0x215c3c0
-func_ov018_0215c5c4 kind:function(arm,size=0x44) addr:0x215c524
-func_ov018_0215c608 kind:function(arm,size=0x48) addr:0x215c568
-func_ov018_0215c650 kind:function(arm,size=0x5c) addr:0x215c5b0
-func_ov018_0215c6ac kind:function(arm,size=0x24) addr:0x215c60c
-func_ov018_0215c6d0 kind:function(arm,size=0x24c) addr:0x215c630
-func_ov018_0215c91c kind:function(arm,size=0x48) addr:0x215c87c
-func_ov018_0215c964 kind:function(arm,size=0x48) addr:0x215c8c4
-func_ov018_0215c9ac kind:function(arm,size=0x78) addr:0x215c90c
-func_ov018_0215ca24 kind:function(arm,size=0x18) addr:0x215c984
-func_ov018_0215ca3c kind:function(arm,size=0x50) addr:0x215c99c
-func_ov018_0215ca8c kind:function(arm,size=0x18) addr:0x215c9ec
-func_ov018_0215caa4 kind:function(arm,size=0x8) addr:0x215ca04
+_ZN12MapOverworldC2Ejj kind:function(arm,size=0x1ac) addr:0x215b400
+_ZN12MapOverworldD1Ev kind:function(arm,size=0x10c) addr:0x215b5ac
+_ZN12MapOverworldD0Ev kind:function(arm,size=0x114) addr:0x215b6b8
+_ZN12MapOverworld8vfunc_08EjjP6Course kind:function(arm,size=0x518) addr:0x215b7cc
+_ZN12MapOverworld8vfunc_14Ev kind:function(arm,size=0x134) addr:0x215bce4
+_ZN12MapOverworld8vfunc_1cEb kind:function(arm,size=0x110) addr:0x215be18
+_ZN12MapOverworld19func_ov018_0215bfc8Ev kind:function(arm,size=0x17c) addr:0x215bf28
+_ZN12MapOverworld8vfunc_20Ei kind:function(arm,size=0x84) addr:0x215c0a4
+_ZN12MapOverworld8vfunc_2cEv kind:function(arm,size=0xb4) addr:0x215c128
+_ZN12MapOverworld8vfunc_94Ev kind:function(arm,size=0x8) addr:0x215c1dc
+_ZN12MapOverworld8vfunc_a4Ev kind:function(arm,size=0xc) addr:0x215c1e4
+_ZN12MapOverworld8vfunc_54Ev kind:function(arm,size=0x20) addr:0x215c1f0
+_ZN12MapOverworld8vfunc_58Ev kind:function(arm,size=0x30) addr:0x215c210
+_ZN12MapOverworld8vfunc_5cEv kind:function(arm,size=0x20) addr:0x215c240
+_ZN12MapOverworld8vfunc_60Ev kind:function(arm,size=0x2c) addr:0x215c260
+_ZN12MapOverworld8vfunc_64Ev kind:function(arm,size=0x20) addr:0x215c28c
+_ZN12MapOverworld19func_ov018_0215c34cEv kind:function(arm,size=0x1c) addr:0x215c2ac
+_ZN12MapOverworld19func_ov018_0215c368Ev kind:function(arm,size=0x18) addr:0x215c2c8
+_ZN12MapOverworld19func_ov018_0215c380EPh kind:function(arm,size=0x20) addr:0x215c2e0
+_ZN12MapOverworld8vfunc_bcEv kind:function(arm,size=0x20) addr:0x215c300
+_ZN12MapOverworld8vfunc_98Ev kind:function(arm,size=0x68) addr:0x215c320
+_ZN12MapOverworld8vfunc_c0Ev kind:function(arm,size=0x20) addr:0x215c388
+_ZN12MapOverworld8vfunc_78Ev kind:function(arm,size=0x18) addr:0x215c3a8
+_ZN12MapOverworld8vfunc_7cEv kind:function(arm,size=0x164) addr:0x215c3c0
+_ZN12MapOverworld8vfunc_80Ev kind:function(arm,size=0x44) addr:0x215c524
+_ZN12MapOverworld8vfunc_b0Eii kind:function(arm,size=0x48) addr:0x215c568
+_ZN12MapOverworld19func_ov018_0215c650Ev kind:function(arm,size=0x5c) addr:0x215c5b0
+_ZN12MapOverworld19func_ov018_0215c6acEv kind:function(arm,size=0x24) addr:0x215c60c
+_ZN12MapOverworld19func_ov018_0215c6d0Ev kind:function(arm,size=0x24c) addr:0x215c630
+_ZN17MapOverworld_Unk1C2EjPhi kind:function(arm,size=0x48) addr:0x215c87c
+_ZN17MapOverworld_Unk1C1EjPhi kind:function(arm,size=0x48) addr:0x215c8c4
+_ZN12MapOverworld19func_ov018_0215c9acEv kind:function(arm,size=0x78) addr:0x215c90c
+_Z19func_ov018_0215ca24i kind:function(arm,size=0x18) addr:0x215c984
+_Z19func_ov018_0215ca3ciiii kind:function(arm,size=0x50) addr:0x215c99c
+_Z19func_ov018_0215ca8ci kind:function(arm,size=0x18) addr:0x215c9ec
+_ZN12MapOverworld8vfunc_4cEv kind:function(arm,size=0x8) addr:0x215ca04
func_ov018_0215caac kind:function(arm,size=0x7c) addr:0x215ca0c
func_ov018_0215cb28 kind:function(arm,size=0x4c) addr:0x215ca88
func_ov018_0215cb74 kind:function(arm,size=0xcc) addr:0x215cad4
@@ -514,7 +514,7 @@ __sinit_ov018_0216bf54 kind:function(arm,size=0x38) addr:0x216beb4
__sinit_ov018_0216bf8c kind:function(arm,size=0x80) addr:0x216beec
__sinit_ov018_0216c00c kind:function(arm,size=0x40) addr:0x216bf6c
data_ov018_0216c0c0 kind:data(any) addr:0x216c020
-data_ov018_0216c0e0 kind:data(any) addr:0x216c040
+_ZTV12MapOverworld kind:data(any) addr:0x216c040
data_ov018_0216c1a4 kind:data(any) addr:0x216c104
data_ov018_0216c1a8 kind:data(any) addr:0x216c108
data_ov018_0216c1bc kind:data(any) addr:0x216c11c
diff --git a/config/usa/arm9/overlays/ov019/delinks.txt b/config/usa/arm9/overlays/ov019/delinks.txt
index ae33a171..130697bc 100644
--- a/config/usa/arm9/overlays/ov019/delinks.txt
+++ b/config/usa/arm9/overlays/ov019/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02175bb0 kind:code align:32
- .rodata start:0x02175bb0 end:0x02175e64 kind:data align:4
+ .rodata start:0x02175bb0 end:0x02175e64 kind:rodata align:4
.init start:0x02175e64 end:0x02176234 kind:code align:4
- .ctor start:0x02176234 end:0x0217625c kind:data align:4
+ .ctor start:0x02176234 end:0x0217625c kind:rodata align:4
.data start:0x02176260 end:0x02176de0 kind:data align:32
.bss start:0x02176de0 end:0x021775e0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov020/delinks.txt b/config/usa/arm9/overlays/ov020/delinks.txt
index 1bb412ab..4c659bc5 100644
--- a/config/usa/arm9/overlays/ov020/delinks.txt
+++ b/config/usa/arm9/overlays/ov020/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x021777c8 kind:code align:32
- .rodata start:0x021777c8 end:0x02177a54 kind:data align:4
+ .rodata start:0x021777c8 end:0x02177a54 kind:rodata align:4
.init start:0x02177a54 end:0x021781f8 kind:code align:4
- .ctor start:0x021781f8 end:0x02178240 kind:data align:4
+ .ctor start:0x021781f8 end:0x02178240 kind:rodata align:4
.data start:0x02178240 end:0x02179460 kind:data align:32
.bss start:0x02179460 end:0x021796a0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov021/delinks.txt b/config/usa/arm9/overlays/ov021/delinks.txt
index f309a1f4..e5d6d72e 100644
--- a/config/usa/arm9/overlays/ov021/delinks.txt
+++ b/config/usa/arm9/overlays/ov021/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02170b34 kind:code align:32
- .rodata start:0x02170b34 end:0x02170c4c kind:data align:4
+ .rodata start:0x02170b34 end:0x02170c4c kind:rodata align:4
.init start:0x02170c4c end:0x02170ec4 kind:code align:4
- .ctor start:0x02170ec4 end:0x02170ee4 kind:data align:4
+ .ctor start:0x02170ec4 end:0x02170ee4 kind:rodata align:4
.data start:0x02170f00 end:0x02171a40 kind:data align:32
.bss start:0x02171a40 end:0x02171c20 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov022/delinks.txt b/config/usa/arm9/overlays/ov022/delinks.txt
index 459a705a..9d1dd8ac 100644
--- a/config/usa/arm9/overlays/ov022/delinks.txt
+++ b/config/usa/arm9/overlays/ov022/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02178518 kind:code align:32
- .rodata start:0x02178518 end:0x02178928 kind:data align:4
+ .rodata start:0x02178518 end:0x02178928 kind:rodata align:4
.init start:0x02178928 end:0x02178f54 kind:code align:4
- .ctor start:0x02178f54 end:0x02178f9c kind:data align:4
+ .ctor start:0x02178f54 end:0x02178f9c kind:rodata align:4
.data start:0x02178fa0 end:0x0217a360 kind:data align:32
.bss start:0x0217a360 end:0x0217a5a0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov023/delinks.txt b/config/usa/arm9/overlays/ov023/delinks.txt
index fe652033..fccccda0 100644
--- a/config/usa/arm9/overlays/ov023/delinks.txt
+++ b/config/usa/arm9/overlays/ov023/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02178f90 kind:code align:32
- .rodata start:0x02178f90 end:0x021795f8 kind:data align:4
+ .rodata start:0x02178f90 end:0x021795f8 kind:rodata align:4
.init start:0x021795f8 end:0x02179c40 kind:code align:4
- .ctor start:0x02179c40 end:0x02179c78 kind:data align:4
+ .ctor start:0x02179c40 end:0x02179c78 kind:rodata align:4
.data start:0x02179c80 end:0x0217aac0 kind:data align:32
.bss start:0x0217aac0 end:0x0217ace0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov024/delinks.txt b/config/usa/arm9/overlays/ov024/delinks.txt
index d4a712de..4e11395e 100644
--- a/config/usa/arm9/overlays/ov024/delinks.txt
+++ b/config/usa/arm9/overlays/ov024/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02179134 kind:code align:32
- .rodata start:0x02179134 end:0x02179530 kind:data align:4
+ .rodata start:0x02179134 end:0x02179530 kind:rodata align:4
.init start:0x02179530 end:0x02179d7c kind:code align:4
- .ctor start:0x02179d7c end:0x02179dbc kind:data align:4
+ .ctor start:0x02179d7c end:0x02179dbc kind:rodata align:4
.data start:0x02179dc0 end:0x0217aec0 kind:data align:32
.bss start:0x0217aec0 end:0x0217b0c0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov024/symbols.txt b/config/usa/arm9/overlays/ov024/symbols.txt
index 2ab381dd..39e1c794 100644
--- a/config/usa/arm9/overlays/ov024/symbols.txt
+++ b/config/usa/arm9/overlays/ov024/symbols.txt
@@ -286,7 +286,7 @@ func_ov024_02178204 kind:function(arm,size=0x30) addr:0x2178164
func_ov024_02178234 kind:function(arm,size=0xec) addr:0x2178194
func_ov024_02178320 kind:function(arm,size=0x20) addr:0x2178280
func_ov024_02178340 kind:function(arm,size=0x8) addr:0x21782a0
-func_ov024_02178348 kind:function(arm,size=0x358) addr:0x21782a8
+_ZN13PlayerControl19func_ov024_02178348EP5Vec3p kind:function(arm,size=0x358) addr:0x21782a8
func_ov024_021786a0 kind:function(arm,size=0x10) addr:0x2178600
func_ov024_021786b0 kind:function(arm,size=0x30) addr:0x2178610
func_ov024_021786e0 kind:function(arm,size=0x20) addr:0x2178640
diff --git a/config/usa/arm9/overlays/ov025/delinks.txt b/config/usa/arm9/overlays/ov025/delinks.txt
index e367a3e8..e0aac9bd 100644
--- a/config/usa/arm9/overlays/ov025/delinks.txt
+++ b/config/usa/arm9/overlays/ov025/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x0217929c kind:code align:32
- .rodata start:0x0217929c end:0x021795e0 kind:data align:4
+ .rodata start:0x0217929c end:0x021795e0 kind:rodata align:4
.init start:0x021795e0 end:0x02179af8 kind:code align:4
- .ctor start:0x02179af8 end:0x02179b28 kind:data align:4
+ .ctor start:0x02179af8 end:0x02179b28 kind:rodata align:4
.data start:0x02179b40 end:0x0217a7e0 kind:data align:32
.bss start:0x0217a7e0 end:0x0217a980 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov026/delinks.txt b/config/usa/arm9/overlays/ov026/delinks.txt
index 3ab32f34..f8a4ba5e 100644
--- a/config/usa/arm9/overlays/ov026/delinks.txt
+++ b/config/usa/arm9/overlays/ov026/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x021791c0 kind:code align:32
- .rodata start:0x021791c0 end:0x0217973c kind:data align:4
+ .rodata start:0x021791c0 end:0x0217973c kind:rodata align:4
.init start:0x0217973c end:0x02179f80 kind:code align:4
- .ctor start:0x02179f80 end:0x02179fc0 kind:data align:4
+ .ctor start:0x02179f80 end:0x02179fc0 kind:rodata align:4
.data start:0x02179fc0 end:0x0217b220 kind:data align:32
.bss start:0x0217b220 end:0x0217b520 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov026/symbols.txt b/config/usa/arm9/overlays/ov026/symbols.txt
index a8abf237..451265c0 100644
--- a/config/usa/arm9/overlays/ov026/symbols.txt
+++ b/config/usa/arm9/overlays/ov026/symbols.txt
@@ -179,10 +179,10 @@ func_ov026_02173920 kind:function(arm,size=0x24) addr:0x2173880
func_ov026_02173944 kind:function(arm,size=0x17c) addr:0x21738a4
func_ov026_02173ac0 kind:function(arm,size=0x7c) addr:0x2173a20
func_ov026_02173b3c kind:function(arm,size=0x40) addr:0x2173a9c
-func_ov026_02173b7c kind:function(thumb,size=0x28) addr:0x2173adc
-func_ov026_02173ba4 kind:function(thumb,size=0x1c) addr:0x2173b04
+func_ov026_02173b7c kind:function(thumb,size=0x26) addr:0x2173adc
+func_ov026_02173ba4 kind:function(thumb,size=0x1a) addr:0x2173b04
func_ov026_02173bc0 kind:function(thumb,size=0x40) addr:0x2173b20
-func_ov026_02173c00 kind:function(thumb,size=0x1c) addr:0x2173b60
+func_ov026_02173c00 kind:function(thumb,size=0x1a) addr:0x2173b60
func_ov026_02173c1c kind:function(thumb,size=0x18) addr:0x2173b7c
func_ov026_02173c34 kind:function(thumb,size=0x18) addr:0x2173b94
func_ov026_02173c4c kind:function(thumb,size=0xc) addr:0x2173bac
@@ -258,8 +258,8 @@ func_ov026_02175f68 kind:function(thumb,size=0x10) addr:0x2175ec8
func_ov026_02175f78 kind:function(thumb,size=0x10) addr:0x2175ed8
func_ov026_02175f88 kind:function(thumb,size=0x10) addr:0x2175ee8
func_ov026_02175f98 kind:function(thumb,size=0x10) addr:0x2175ef8
-func_ov026_02175fa8 kind:function(thumb,size=0xc) addr:0x2175f08
-func_ov026_02175fb4 kind:function(thumb,size=0x4) addr:0x2175f14
+func_ov026_02175fa8 kind:function(thumb,size=0xa) addr:0x2175f08
+func_ov026_02175fb4 kind:function(thumb,size=0x2) addr:0x2175f14
func_ov026_02175fb8 kind:function(arm,size=0xb4) addr:0x2175f18
func_ov026_0217606c kind:function(arm,size=0xc0) addr:0x2175fcc
func_ov026_0217612c kind:function(arm,size=0x88) addr:0x217608c
@@ -309,12 +309,12 @@ func_ov026_02177324 kind:function(arm,size=0x60) addr:0x2177284
func_ov026_02177384 kind:function(arm,size=0xa4) addr:0x21772e4
func_ov026_02177428 kind:function(arm,size=0x104) addr:0x2177388
func_ov026_0217752c kind:function(thumb,size=0x58) addr:0x217748c
-func_ov026_02177584 kind:function(thumb,size=0x4) addr:0x21774e4
+func_ov026_02177584 kind:function(thumb,size=0x2) addr:0x21774e4
func_ov026_02177588 kind:function(arm,size=0x28) addr:0x21774e8
func_ov026_021775b0 kind:function(thumb,size=0x18) addr:0x2177510
func_ov026_021775c8 kind:function(arm,size=0x1d4) addr:0x2177528
func_ov026_0217779c kind:function(arm,size=0xdc) addr:0x21776fc
-func_ov026_02177878 kind:function(thumb,size=0x8) addr:0x21777d8
+func_ov026_02177878 kind:function(thumb,size=0x6) addr:0x21777d8
func_ov026_02177880 kind:function(arm,size=0x68) addr:0x21777e0
func_ov026_021778e8 kind:function(arm,size=0xf4) addr:0x2177848
func_ov026_021779dc kind:function(arm,size=0x30) addr:0x217793c
diff --git a/config/usa/arm9/overlays/ov027/delinks.txt b/config/usa/arm9/overlays/ov027/delinks.txt
index 8d117180..8e317728 100644
--- a/config/usa/arm9/overlays/ov027/delinks.txt
+++ b/config/usa/arm9/overlays/ov027/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02178c5c kind:code align:32
- .rodata start:0x02178c5c end:0x0217909c kind:data align:4
+ .rodata start:0x02178c5c end:0x0217909c kind:rodata align:4
.init start:0x0217909c end:0x021793d4 kind:code align:4
- .ctor start:0x021793d4 end:0x021793f8 kind:data align:4
+ .ctor start:0x021793d4 end:0x021793f8 kind:rodata align:4
.data start:0x02179400 end:0x0217a020 kind:data align:32
.bss start:0x0217a020 end:0x0217a120 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov028/delinks.txt b/config/usa/arm9/overlays/ov028/delinks.txt
index dfc678ce..100044c6 100644
--- a/config/usa/arm9/overlays/ov028/delinks.txt
+++ b/config/usa/arm9/overlays/ov028/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x02177fdc kind:code align:32
- .rodata start:0x02177fdc end:0x02178464 kind:data align:4
+ .rodata start:0x02177fdc end:0x02178464 kind:rodata align:4
.init start:0x02178464 end:0x021787f4 kind:code align:4
- .ctor start:0x021787f4 end:0x02178828 kind:data align:4
+ .ctor start:0x021787f4 end:0x02178828 kind:rodata align:4
.data start:0x02178840 end:0x02179a60 kind:data align:32
.bss start:0x02179a60 end:0x02179c40 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov029/delinks.txt b/config/usa/arm9/overlays/ov029/delinks.txt
index 54da6f6c..e72660a5 100644
--- a/config/usa/arm9/overlays/ov029/delinks.txt
+++ b/config/usa/arm9/overlays/ov029/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0216d600 end:0x021791f8 kind:code align:32
- .rodata start:0x021791f8 end:0x02179410 kind:data align:4
+ .rodata start:0x021791f8 end:0x02179410 kind:rodata align:4
.init start:0x02179410 end:0x02179784 kind:code align:4
- .ctor start:0x02179784 end:0x021797bc kind:data align:4
+ .ctor start:0x02179784 end:0x021797bc kind:rodata align:4
.data start:0x021797c0 end:0x0217a400 kind:data align:32
.bss start:0x0217a400 end:0x0217bce0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov030/delinks.txt b/config/usa/arm9/overlays/ov030/delinks.txt
index 779c0b53..9319f307 100644
--- a/config/usa/arm9/overlays/ov030/delinks.txt
+++ b/config/usa/arm9/overlays/ov030/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02188534 kind:code align:32
- .rodata start:0x02188534 end:0x02188784 kind:data align:4
+ .rodata start:0x02188534 end:0x02188784 kind:rodata align:4
.init start:0x02188784 end:0x0218898c kind:code align:4
- .ctor start:0x0218898c end:0x02188998 kind:data align:4
+ .ctor start:0x0218898c end:0x02188998 kind:rodata align:4
.data start:0x021889a0 end:0x02189400 kind:data align:32
.bss start:0x02189400 end:0x021894c0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov030/symbols.txt b/config/usa/arm9/overlays/ov030/symbols.txt
index b38ce99c..32406159 100644
--- a/config/usa/arm9/overlays/ov030/symbols.txt
+++ b/config/usa/arm9/overlays/ov030/symbols.txt
@@ -218,9 +218,9 @@ func_ov030_021840b0 kind:function(arm,size=0x34) addr:0x2184010
func_ov030_021840e4 kind:function(arm,size=0x8) addr:0x2184044
func_ov030_021840ec kind:function(arm,size=0x30) addr:0x218404c
func_ov030_0218411c kind:function(arm,size=0x1f4) addr:0x218407c
-func_ov030_02184310 kind:function(thumb,size=0x58) addr:0x2184270
-func_ov030_02184368 kind:function(thumb,size=0x5c) addr:0x21842c8
-func_ov030_021843c4 kind:function(thumb,size=0x28) addr:0x2184324
+func_ov030_02184310 kind:function(thumb,size=0x56) addr:0x2184270
+func_ov030_02184368 kind:function(thumb,size=0x5a) addr:0x21842c8
+func_ov030_021843c4 kind:function(thumb,size=0x26) addr:0x2184324
func_ov030_021843ec kind:function(thumb,size=0x168) addr:0x218434c
func_ov030_02184554 kind:function(thumb,size=0xec) addr:0x21844b4
func_ov030_02184640 kind:function(thumb,size=0xf8) addr:0x21845a0
diff --git a/config/usa/arm9/overlays/ov031/delinks.txt b/config/usa/arm9/overlays/ov031/delinks.txt
index f2a4b933..525b38b1 100644
--- a/config/usa/arm9/overlays/ov031/delinks.txt
+++ b/config/usa/arm9/overlays/ov031/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02181800 kind:code align:32
- .rodata start:0x02181800 end:0x02181acc kind:data align:4
+ .rodata start:0x02181800 end:0x02181acc kind:rodata align:4
.init start:0x02181acc end:0x02181fe0 kind:code align:4
- .ctor start:0x02181fe0 end:0x02181ff4 kind:data align:4
+ .ctor start:0x02181fe0 end:0x02181ff4 kind:rodata align:4
.data start:0x02182000 end:0x02183de0 kind:data align:32
.bss start:0x02183de0 end:0x02184160 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov032/delinks.txt b/config/usa/arm9/overlays/ov032/delinks.txt
index a93059a7..198ebf1e 100644
--- a/config/usa/arm9/overlays/ov032/delinks.txt
+++ b/config/usa/arm9/overlays/ov032/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02184b08 kind:code align:32
- .rodata start:0x02184b08 end:0x02184c9c kind:data align:4
+ .rodata start:0x02184b08 end:0x02184c9c kind:rodata align:4
.init start:0x02184c9c end:0x02185328 kind:code align:4
- .ctor start:0x02185328 end:0x0218534c kind:data align:4
+ .ctor start:0x02185328 end:0x0218534c kind:rodata align:4
.data start:0x02185360 end:0x02186140 kind:data align:32
.bss start:0x02186140 end:0x02186280 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov033/delinks.txt b/config/usa/arm9/overlays/ov033/delinks.txt
index 287e400c..7e5a59a7 100644
--- a/config/usa/arm9/overlays/ov033/delinks.txt
+++ b/config/usa/arm9/overlays/ov033/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x0217fa2c kind:code align:32
- .rodata start:0x0217fa2c end:0x0217faf0 kind:data align:4
+ .rodata start:0x0217fa2c end:0x0217faf0 kind:rodata align:4
.init start:0x0217faf0 end:0x0217fdf4 kind:code align:4
- .ctor start:0x0217fdf4 end:0x0217fe0c kind:data align:4
+ .ctor start:0x0217fdf4 end:0x0217fe0c kind:rodata align:4
.data start:0x0217fe20 end:0x021804e0 kind:data align:32
.bss start:0x021804e0 end:0x021805a0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov034/delinks.txt b/config/usa/arm9/overlays/ov034/delinks.txt
index 6e5e7169..173a34b0 100644
--- a/config/usa/arm9/overlays/ov034/delinks.txt
+++ b/config/usa/arm9/overlays/ov034/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x021856a0 kind:code align:32
- .rodata start:0x021856a0 end:0x02185778 kind:data align:4
+ .rodata start:0x021856a0 end:0x02185778 kind:rodata align:4
.init start:0x02185778 end:0x021859c4 kind:code align:4
- .ctor start:0x021859c4 end:0x021859d4 kind:data align:4
+ .ctor start:0x021859c4 end:0x021859d4 kind:rodata align:4
.data start:0x021859e0 end:0x02186100 kind:data align:32
.bss start:0x02186100 end:0x02186320 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov035/delinks.txt b/config/usa/arm9/overlays/ov035/delinks.txt
index c34458f0..38d572bf 100644
--- a/config/usa/arm9/overlays/ov035/delinks.txt
+++ b/config/usa/arm9/overlays/ov035/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x0218508c kind:code align:32
- .rodata start:0x0218508c end:0x021855c8 kind:data align:4
+ .rodata start:0x0218508c end:0x021855c8 kind:rodata align:4
.init start:0x021855c8 end:0x02185860 kind:code align:4
- .ctor start:0x02185860 end:0x02185874 kind:data align:4
+ .ctor start:0x02185860 end:0x02185874 kind:rodata align:4
.data start:0x02185880 end:0x02185e20 kind:data align:32
.bss start:0x02185e20 end:0x02186f80 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov036/delinks.txt b/config/usa/arm9/overlays/ov036/delinks.txt
index 7a26caf3..59ce0b05 100644
--- a/config/usa/arm9/overlays/ov036/delinks.txt
+++ b/config/usa/arm9/overlays/ov036/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x021865f8 kind:code align:32
- .rodata start:0x021865f8 end:0x02186b14 kind:data align:4
+ .rodata start:0x021865f8 end:0x02186b14 kind:rodata align:4
.init start:0x02186b14 end:0x02186b94 kind:code align:4
- .ctor start:0x02186b94 end:0x02186ba0 kind:data align:4
+ .ctor start:0x02186b94 end:0x02186ba0 kind:rodata align:4
.data start:0x02186ba0 end:0x02186f00 kind:data align:32
.bss start:0x02186f00 end:0x02186f40 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov037/delinks.txt b/config/usa/arm9/overlays/ov037/delinks.txt
index f21a1cd1..41bbe760 100644
--- a/config/usa/arm9/overlays/ov037/delinks.txt
+++ b/config/usa/arm9/overlays/ov037/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02187d28 kind:code align:32
- .rodata start:0x02187d28 end:0x021885f0 kind:data align:4
+ .rodata start:0x02187d28 end:0x021885f0 kind:rodata align:4
.init start:0x021885f0 end:0x02188914 kind:code align:4
- .ctor start:0x02188914 end:0x0218892c kind:data align:4
+ .ctor start:0x02188914 end:0x0218892c kind:rodata align:4
.data start:0x02188940 end:0x021890c0 kind:data align:32
.bss start:0x021890c0 end:0x021891a0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov038/delinks.txt b/config/usa/arm9/overlays/ov038/delinks.txt
index cbee1e6a..4a6f1167 100644
--- a/config/usa/arm9/overlays/ov038/delinks.txt
+++ b/config/usa/arm9/overlays/ov038/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02188868 kind:code align:32
- .rodata start:0x02188868 end:0x02188a44 kind:data align:4
+ .rodata start:0x02188868 end:0x02188a44 kind:rodata align:4
.init start:0x02188a44 end:0x02188bc0 kind:code align:4
- .ctor start:0x02188bc0 end:0x02188bcc kind:data align:4
+ .ctor start:0x02188bc0 end:0x02188bcc kind:rodata align:4
.data start:0x02188be0 end:0x02189140 kind:data align:32
.bss start:0x02189140 end:0x02189400 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov039/delinks.txt b/config/usa/arm9/overlays/ov039/delinks.txt
index cb44cebd..247c76cf 100644
--- a/config/usa/arm9/overlays/ov039/delinks.txt
+++ b/config/usa/arm9/overlays/ov039/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02186084 kind:code align:32
- .rodata start:0x02186084 end:0x021868c8 kind:data align:4
+ .rodata start:0x02186084 end:0x021868c8 kind:rodata align:4
.init start:0x021868c8 end:0x0218691c kind:code align:4
- .ctor start:0x0218691c end:0x02186924 kind:data align:4
+ .ctor start:0x0218691c end:0x02186924 kind:rodata align:4
.data start:0x02186940 end:0x02186c20 kind:data align:32
.bss start:0x02186c20 end:0x02186c60 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov040/delinks.txt b/config/usa/arm9/overlays/ov040/delinks.txt
index 61f0dac7..53cef88b 100644
--- a/config/usa/arm9/overlays/ov040/delinks.txt
+++ b/config/usa/arm9/overlays/ov040/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0217bce0 end:0x02187f5c kind:code align:32
- .rodata start:0x02187f5c end:0x021882c0 kind:data align:4
+ .rodata start:0x02187f5c end:0x021882c0 kind:rodata align:4
.init start:0x021882c0 end:0x02188594 kind:code align:4
- .ctor start:0x02188594 end:0x021885c0 kind:data align:4
+ .ctor start:0x02188594 end:0x021885c0 kind:rodata align:4
.data start:0x021885c0 end:0x02189a40 kind:data align:32
.bss start:0x02189a40 end:0x0219a120 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov041/delinks.txt b/config/usa/arm9/overlays/ov041/delinks.txt
index d643a3a0..80f119c9 100644
--- a/config/usa/arm9/overlays/ov041/delinks.txt
+++ b/config/usa/arm9/overlays/ov041/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x021894c0 end:0x0218de24 kind:code align:32
- .rodata start:0x0218de24 end:0x0218dff8 kind:data align:4
+ .rodata start:0x0218de24 end:0x0218dff8 kind:rodata align:4
.init start:0x0218dff8 end:0x0218e26c kind:code align:4
- .ctor start:0x0218e26c end:0x0218e288 kind:data align:4
+ .ctor start:0x0218e26c end:0x0218e288 kind:rodata align:4
.data start:0x0218e2a0 end:0x0218e9e0 kind:data align:32
.bss start:0x0218e9e0 end:0x0218eac0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov042/delinks.txt b/config/usa/arm9/overlays/ov042/delinks.txt
index 513b4174..07142e34 100644
--- a/config/usa/arm9/overlays/ov042/delinks.txt
+++ b/config/usa/arm9/overlays/ov042/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x021894c0 end:0x0218c654 kind:code align:32
- .rodata start:0x0218c654 end:0x0218c6a4 kind:data align:4
+ .rodata start:0x0218c654 end:0x0218c6a4 kind:rodata align:4
.init start:0x0218c6a4 end:0x0218c758 kind:code align:4
- .ctor start:0x0218c758 end:0x0218c764 kind:data align:4
+ .ctor start:0x0218c758 end:0x0218c764 kind:rodata align:4
.data start:0x0218c780 end:0x0218cc80 kind:data align:32
.bss start:0x0218cc80 end:0x0218cd00 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov043/delinks.txt b/config/usa/arm9/overlays/ov043/delinks.txt
index 8abf85b1..4fb4329b 100644
--- a/config/usa/arm9/overlays/ov043/delinks.txt
+++ b/config/usa/arm9/overlays/ov043/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x021894c0 end:0x0218d2a0 kind:code align:32
- .rodata start:0x0218d2a0 end:0x0218d374 kind:data align:4
+ .rodata start:0x0218d2a0 end:0x0218d374 kind:rodata align:4
.init start:0x0218d374 end:0x0218d520 kind:code align:4
- .ctor start:0x0218d520 end:0x0218d52c kind:data align:4
+ .ctor start:0x0218d520 end:0x0218d52c kind:rodata align:4
.data start:0x0218d540 end:0x0218da60 kind:data align:32
.bss start:0x0218da60 end:0x0218dae0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov044/delinks.txt b/config/usa/arm9/overlays/ov044/delinks.txt
index 583e6963..c219ce27 100644
--- a/config/usa/arm9/overlays/ov044/delinks.txt
+++ b/config/usa/arm9/overlays/ov044/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x021894c0 end:0x0218e8e4 kind:code align:32
- .rodata start:0x0218e8e4 end:0x0218e9fc kind:data align:4
+ .rodata start:0x0218e8e4 end:0x0218e9fc kind:rodata align:4
.init start:0x0218e9fc end:0x0218f12c kind:code align:4
- .ctor start:0x0218f12c end:0x0218f150 kind:data align:4
+ .ctor start:0x0218f12c end:0x0218f150 kind:rodata align:4
.data start:0x0218f160 end:0x0218fe40 kind:data align:32
.bss start:0x0218fe40 end:0x0218ffa0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov044/symbols.txt b/config/usa/arm9/overlays/ov044/symbols.txt
index b338fc65..f6f70c6a 100644
--- a/config/usa/arm9/overlays/ov044/symbols.txt
+++ b/config/usa/arm9/overlays/ov044/symbols.txt
@@ -144,7 +144,7 @@ func_ov044_0218e2d4 kind:function(arm,size=0x48) addr:0x218e234
func_ov044_0218e31c kind:function(arm,size=0x4) addr:0x218e27c
func_ov044_0218e320 kind:function(arm,size=0x30) addr:0x218e280
func_ov044_0218e350 kind:function(thumb,size=0x38) addr:0x218e2b0
-func_ov044_0218e388 kind:function(thumb,size=0x40) addr:0x218e2e8
+func_ov044_0218e388 kind:function(thumb,size=0x3e) addr:0x218e2e8
func_ov044_0218e3c8 kind:function(arm,size=0x18) addr:0x218e328
func_ov044_0218e3e0 kind:function(arm,size=0xc0) addr:0x218e340
func_ov044_0218e4a0 kind:function(arm,size=0xf8) addr:0x218e400
diff --git a/config/usa/arm9/overlays/ov045/delinks.txt b/config/usa/arm9/overlays/ov045/delinks.txt
index 9b23c36f..4caa3734 100644
--- a/config/usa/arm9/overlays/ov045/delinks.txt
+++ b/config/usa/arm9/overlays/ov045/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x021894c0 end:0x0218e1d8 kind:code align:32
- .rodata start:0x0218e1d8 end:0x0218e348 kind:data align:4
+ .rodata start:0x0218e1d8 end:0x0218e348 kind:rodata align:4
.init start:0x0218e348 end:0x0218e408 kind:code align:4
- .ctor start:0x0218e408 end:0x0218e418 kind:data align:4
+ .ctor start:0x0218e408 end:0x0218e418 kind:rodata align:4
.data start:0x0218e420 end:0x0218ece0 kind:data align:32
.bss start:0x0218ece0 end:0x0218ed60 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov046/delinks.txt b/config/usa/arm9/overlays/ov046/delinks.txt
index fe75cf88..58f28a71 100644
--- a/config/usa/arm9/overlays/ov046/delinks.txt
+++ b/config/usa/arm9/overlays/ov046/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0218ffa0 end:0x02194254 kind:code align:32
- .rodata start:0x02194254 end:0x0219440c kind:data align:4
+ .rodata start:0x02194254 end:0x0219440c kind:rodata align:4
.init start:0x0219440c end:0x0219459c kind:code align:4
- .ctor start:0x0219459c end:0x021945b0 kind:data align:4
+ .ctor start:0x0219459c end:0x021945b0 kind:rodata align:4
.data start:0x021945c0 end:0x02194b00 kind:data align:32
.bss start:0x02194b00 end:0x02194c00 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov047/delinks.txt b/config/usa/arm9/overlays/ov047/delinks.txt
index 547aa996..522e4e82 100644
--- a/config/usa/arm9/overlays/ov047/delinks.txt
+++ b/config/usa/arm9/overlays/ov047/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0218ffa0 end:0x02194150 kind:code align:32
- .rodata start:0x02194150 end:0x02194250 kind:data align:4
+ .rodata start:0x02194150 end:0x02194250 kind:rodata align:4
.init start:0x02194250 end:0x02194448 kind:code align:4
- .ctor start:0x02194448 end:0x0219445c kind:data align:4
+ .ctor start:0x02194448 end:0x0219445c kind:rodata align:4
.data start:0x02194460 end:0x02194960 kind:data align:32
.bss start:0x02194960 end:0x02194a00 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov048/delinks.txt b/config/usa/arm9/overlays/ov048/delinks.txt
index 5543605f..e4997ce2 100644
--- a/config/usa/arm9/overlays/ov048/delinks.txt
+++ b/config/usa/arm9/overlays/ov048/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x0218ffa0 end:0x021945bc kind:code align:32
- .rodata start:0x021945bc end:0x02194620 kind:data align:4
+ .rodata start:0x021945bc end:0x02194620 kind:rodata align:4
.init start:0x02194620 end:0x02194a34 kind:code align:4
- .ctor start:0x02194a34 end:0x02194a50 kind:data align:4
+ .ctor start:0x02194a34 end:0x02194a50 kind:rodata align:4
.data start:0x02194a60 end:0x02195360 kind:data align:32
.bss start:0x02195360 end:0x02195460 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov048/symbols.txt b/config/usa/arm9/overlays/ov048/symbols.txt
index 107e188c..d73e7bf4 100644
--- a/config/usa/arm9/overlays/ov048/symbols.txt
+++ b/config/usa/arm9/overlays/ov048/symbols.txt
@@ -32,7 +32,7 @@ func_ov048_02190c68 kind:function(thumb,size=0xa8) addr:0x2190bc8
func_ov048_02190d10 kind:function(arm,size=0x14) addr:0x2190c70
func_ov048_02190d24 kind:function(thumb,size=0xa8) addr:0x2190c84
func_ov048_02190dcc kind:function(thumb,size=0xac) addr:0x2190d2c
-func_ov048_02190e78 kind:function(thumb,size=0x8) addr:0x2190dd8
+func_ov048_02190e78 kind:function(thumb,size=0x6) addr:0x2190dd8
func_ov048_02190e80 kind:function(thumb,size=0xec) addr:0x2190de0
func_ov048_02190f6c kind:function(arm,size=0x1b0) addr:0x2190ecc
func_ov048_0219111c kind:function(arm,size=0x24) addr:0x219107c
diff --git a/config/usa/arm9/overlays/ov049/delinks.txt b/config/usa/arm9/overlays/ov049/delinks.txt
index d91a80f4..850dc935 100644
--- a/config/usa/arm9/overlays/ov049/delinks.txt
+++ b/config/usa/arm9/overlays/ov049/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195460 end:0x02198140 kind:code align:32
- .rodata start:0x02198140 end:0x02198228 kind:data align:4
+ .rodata start:0x02198140 end:0x02198228 kind:rodata align:4
.init start:0x02198228 end:0x021983d4 kind:code align:4
- .ctor start:0x021983d4 end:0x021983e4 kind:data align:4
+ .ctor start:0x021983d4 end:0x021983e4 kind:rodata align:4
.data start:0x02198400 end:0x02198880 kind:data align:32
.bss start:0x02198880 end:0x02198900 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov050/delinks.txt b/config/usa/arm9/overlays/ov050/delinks.txt
index 82f413d7..8a3e5fe9 100644
--- a/config/usa/arm9/overlays/ov050/delinks.txt
+++ b/config/usa/arm9/overlays/ov050/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195460 end:0x0219872c kind:code align:32
- .rodata start:0x0219872c end:0x0219878c kind:data align:4
+ .rodata start:0x0219872c end:0x0219878c kind:rodata align:4
.init start:0x0219878c end:0x02198908 kind:code align:4
- .ctor start:0x02198908 end:0x02198914 kind:data align:4
+ .ctor start:0x02198908 end:0x02198914 kind:rodata align:4
.data start:0x02198920 end:0x02198c00 kind:data align:32
.bss start:0x02198c00 end:0x02198c60 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov051/delinks.txt b/config/usa/arm9/overlays/ov051/delinks.txt
index 78f849f8..92d82868 100644
--- a/config/usa/arm9/overlays/ov051/delinks.txt
+++ b/config/usa/arm9/overlays/ov051/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195460 end:0x021981c8 kind:code align:32
- .rodata start:0x021981c8 end:0x02198200 kind:data align:4
+ .rodata start:0x021981c8 end:0x02198200 kind:rodata align:4
.init start:0x02198200 end:0x02198410 kind:code align:4
- .ctor start:0x02198410 end:0x02198428 kind:data align:4
+ .ctor start:0x02198410 end:0x02198428 kind:rodata align:4
.data start:0x02198440 end:0x021989c0 kind:data align:32
.bss start:0x021989c0 end:0x02198a80 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov052/delinks.txt b/config/usa/arm9/overlays/ov052/delinks.txt
index 80cbd4fb..29cd027a 100644
--- a/config/usa/arm9/overlays/ov052/delinks.txt
+++ b/config/usa/arm9/overlays/ov052/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02195460 end:0x021977e8 kind:code align:32
- .rodata start:0x021977e8 end:0x02197834 kind:data align:4
+ .rodata start:0x021977e8 end:0x02197834 kind:rodata align:4
.init start:0x02197834 end:0x021978b4 kind:code align:4
- .ctor start:0x021978b4 end:0x021978c0 kind:data align:4
+ .ctor start:0x021978b4 end:0x021978c0 kind:rodata align:4
.data start:0x021978c0 end:0x02197ba0 kind:data align:32
.bss start:0x02197ba0 end:0x02197c00 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov053/delinks.txt b/config/usa/arm9/overlays/ov053/delinks.txt
index 3101bdcd..8573e183 100644
--- a/config/usa/arm9/overlays/ov053/delinks.txt
+++ b/config/usa/arm9/overlays/ov053/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198c60 end:0x02199f18 kind:code align:32
- .rodata start:0x02199f18 end:0x02199f24 kind:data align:4
+ .rodata start:0x02199f18 end:0x02199f24 kind:rodata align:4
.init start:0x02199f24 end:0x02199fd0 kind:code align:4
- .ctor start:0x02199fd0 end:0x02199fd8 kind:data align:4
+ .ctor start:0x02199fd0 end:0x02199fd8 kind:rodata align:4
.data start:0x02199fe0 end:0x0219a0e0 kind:data align:32
.bss start:0x0219a0e0 end:0x0219a600 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov054/delinks.txt b/config/usa/arm9/overlays/ov054/delinks.txt
index 46bcf150..7c33369b 100644
--- a/config/usa/arm9/overlays/ov054/delinks.txt
+++ b/config/usa/arm9/overlays/ov054/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198c60 end:0x02199874 kind:code align:32
- .rodata start:0x02199874 end:0x02199884 kind:data align:4
+ .rodata start:0x02199874 end:0x02199884 kind:rodata align:4
.init start:0x02199884 end:0x021998b4 kind:code align:4
- .ctor start:0x021998b4 end:0x021998bc kind:data align:4
+ .ctor start:0x021998b4 end:0x021998bc kind:rodata align:4
.data start:0x021998c0 end:0x02199980 kind:data align:32
.bss start:0x02199980 end:0x02199a00 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov055/delinks.txt b/config/usa/arm9/overlays/ov055/delinks.txt
index 561f1408..14fc782b 100644
--- a/config/usa/arm9/overlays/ov055/delinks.txt
+++ b/config/usa/arm9/overlays/ov055/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198c60 end:0x02199710 kind:code align:32
- .rodata start:0x02199710 end:0x0219974c kind:data align:4
+ .rodata start:0x02199710 end:0x0219974c kind:rodata align:4
.init start:0x0219974c end:0x0219977c kind:code align:4
- .ctor start:0x0219977c end:0x02199784 kind:data align:4
+ .ctor start:0x0219977c end:0x02199784 kind:rodata align:4
.data start:0x021997a0 end:0x02199800 kind:data align:32
.bss start:0x02199800 end:0x02199880 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov056/delinks.txt b/config/usa/arm9/overlays/ov056/delinks.txt
index 95d4a142..e9189783 100644
--- a/config/usa/arm9/overlays/ov056/delinks.txt
+++ b/config/usa/arm9/overlays/ov056/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198c60 end:0x0219927c kind:code align:32
- .rodata start:0x0219927c end:0x02199288 kind:data align:4
+ .rodata start:0x0219927c end:0x02199288 kind:rodata align:4
.init start:0x02199288 end:0x021992dc kind:code align:4
- .ctor start:0x021992dc end:0x021992e4 kind:data align:4
+ .ctor start:0x021992dc end:0x021992e4 kind:rodata align:4
.data start:0x02199300 end:0x02199360 kind:data align:32
.bss start:0x02199360 end:0x02199460 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov057/delinks.txt b/config/usa/arm9/overlays/ov057/delinks.txt
index a7639a2b..5c6d006d 100644
--- a/config/usa/arm9/overlays/ov057/delinks.txt
+++ b/config/usa/arm9/overlays/ov057/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198c60 end:0x0219a8f4 kind:code align:32
- .rodata start:0x0219a8f4 end:0x0219a900 kind:data align:4
+ .rodata start:0x0219a8f4 end:0x0219a900 kind:rodata align:4
.init start:0x0219a900 end:0x0219a970 kind:code align:4
- .ctor start:0x0219a970 end:0x0219a97c kind:data align:4
+ .ctor start:0x0219a970 end:0x0219a97c kind:rodata align:4
.data start:0x0219a980 end:0x0219aa60 kind:data align:32
.bss start:0x0219aa60 end:0x0219aaa0 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov057/symbols.txt b/config/usa/arm9/overlays/ov057/symbols.txt
index 190088e2..99d8cd1a 100644
--- a/config/usa/arm9/overlays/ov057/symbols.txt
+++ b/config/usa/arm9/overlays/ov057/symbols.txt
@@ -36,7 +36,7 @@ _ZN13LinkStateItem19func_ov057_0219a364Ev kind:function(arm,size=0x4c) addr:0x21
_ZN22ActorRope_Unk_0219a3b08vfunc_08EPs kind:function(arm,size=0x4c) addr:0x219a310
_ZN22ActorRope_Unk_0219a3b08vfunc_10EPi kind:function(arm,size=0x64) addr:0x219a35c
_ZN9ActorRopeC2Ev kind:function(arm,size=0x108) addr:0x219a3c0
-_ZN9ActorRope8vfunc_08Ev kind:function(arm,size=0x44) addr:0x219a4c8
+_ZN9ActorRope4InitEv kind:function(arm,size=0x44) addr:0x219a4c8
_ZN9ActorRope19func_ov057_0219a5acEv kind:function(arm,size=0x10c) addr:0x219a50c
_ZN9ActorRope19func_ov057_0219a6b8Ev kind:function(arm,size=0x198) addr:0x219a618
_ZN9ActorRope19func_ov057_0219a850Ev kind:function(arm,size=0x114) addr:0x219a7b0
diff --git a/config/usa/arm9/overlays/ov058/delinks.txt b/config/usa/arm9/overlays/ov058/delinks.txt
index 5ac60591..d3d63fe3 100644
--- a/config/usa/arm9/overlays/ov058/delinks.txt
+++ b/config/usa/arm9/overlays/ov058/delinks.txt
@@ -1,7 +1,7 @@
.text start:0x02198c60 end:0x0219acc8 kind:code align:32
- .rodata start:0x0219acc8 end:0x0219ace0 kind:data align:4
+ .rodata start:0x0219acc8 end:0x0219ace0 kind:rodata align:4
.init start:0x0219ace0 end:0x0219addc kind:code align:4
- .ctor start:0x0219addc end:0x0219ade4 kind:data align:4
+ .ctor start:0x0219addc end:0x0219ade4 kind:rodata align:4
.data start:0x0219ae00 end:0x0219af20 kind:data align:32
.bss start:0x0219af20 end:0x0219b080 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov058/symbols.txt b/config/usa/arm9/overlays/ov058/symbols.txt
index 3e7e428c..0775b707 100644
--- a/config/usa/arm9/overlays/ov058/symbols.txt
+++ b/config/usa/arm9/overlays/ov058/symbols.txt
@@ -4,7 +4,7 @@ _Z19func_ov058_02198ef8v kind:function(arm,size=0x4) addr:0x2198e58
_ZN25EquipBombchu_Unk_02198d008vfunc_14EPt kind:function(arm,size=0x78) addr:0x2198e5c
_ZN25EquipBombchu_Unk_02198d008vfunc_10EPi kind:function(arm,size=0x4c) addr:0x2198ed4
_ZN12EquipBombchu8vfunc_00Ev kind:function(thumb,size=0x7c) addr:0x2198f20
-_ZN12EquipBombchu8vfunc_18Ev kind:function(thumb,size=0x24) addr:0x2198f9c
+_ZN12EquipBombchu8vfunc_18Ev kind:function(thumb,size=0x22) addr:0x2198f9c
_ZN12EquipBombchu8vfunc_1cEv kind:function(thumb,size=0xc) addr:0x2198fc0
_ZN12EquipBombchu8vfunc_30Ev kind:function(thumb,size=0x104) addr:0x2198fcc
_ZN12EquipBombchu8vfunc_38Ei kind:function(thumb,size=0xb0) addr:0x21990d0
@@ -33,7 +33,7 @@ func_ov058_0219a998 kind:function(arm,size=0x138) addr:0x219a8f8
func_ov058_0219aad0 kind:function(arm,size=0x58) addr:0x219aa30
func_ov058_0219ab28 kind:function(thumb,size=0x184) addr:0x219aa88
func_ov058_0219acac kind:function(thumb,size=0x88) addr:0x219ac0c
-func_ov058_0219ad34 kind:function(thumb,size=0x34) addr:0x219ac94
+func_ov058_0219ad34 kind:function(thumb,size=0x32) addr:0x219ac94
data_ov058_0219ad68 kind:data(any) addr:0x219acc8
__sinit_EquipBombchu.cpp kind:function(arm,size=0xfc) addr:0x219ace0
data_ov058_0219aea0 kind:data(any) addr:0x219ae00
diff --git a/config/usa/arm9/overlays/ov059/delinks.txt b/config/usa/arm9/overlays/ov059/delinks.txt
index 1dd419d1..10677e25 100644
--- a/config/usa/arm9/overlays/ov059/delinks.txt
+++ b/config/usa/arm9/overlays/ov059/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x02198c60 end:0x0219b070 kind:code align:32
- .rodata start:0x0219b070 end:0x0219b084 kind:data align:4
- .ctor start:0x0219b084 end:0x0219b088 kind:data align:4
+ .rodata start:0x0219b070 end:0x0219b084 kind:rodata align:4
+ .ctor start:0x0219b084 end:0x0219b088 kind:rodata align:4
.data start:0x0219b0a0 end:0x0219b120 kind:data align:32
.bss start:0x0219b120 end:0x0219b120 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov060/delinks.txt b/config/usa/arm9/overlays/ov060/delinks.txt
index e07d6eaa..36114eea 100644
--- a/config/usa/arm9/overlays/ov060/delinks.txt
+++ b/config/usa/arm9/overlays/ov060/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x0213de40 end:0x02147638 kind:code align:32
- .rodata start:0x02147638 end:0x0214766c kind:data align:4
- .ctor start:0x0214766c end:0x02147670 kind:data align:4
+ .rodata start:0x02147638 end:0x0214766c kind:rodata align:4
+ .ctor start:0x0214766c end:0x02147670 kind:rodata align:4
.data start:0x02147680 end:0x02147760 kind:data align:32
.bss start:0x02147760 end:0x02148520 kind:bss align:32
diff --git a/config/usa/arm9/overlays/ov061/delinks.txt b/config/usa/arm9/overlays/ov061/delinks.txt
index 199936f3..1293bb6a 100644
--- a/config/usa/arm9/overlays/ov061/delinks.txt
+++ b/config/usa/arm9/overlays/ov061/delinks.txt
@@ -1,6 +1,6 @@
.text start:0x0213de40 end:0x0217a190 kind:code align:32
- .rodata start:0x0217a190 end:0x0217a588 kind:data align:4
- .ctor start:0x0217a588 end:0x0217a58c kind:data align:4
+ .rodata start:0x0217a190 end:0x0217a588 kind:rodata align:4
+ .ctor start:0x0217a588 end:0x0217a58c kind:rodata align:4
.data start:0x0217a5a0 end:0x0217e9a0 kind:data align:32
.bss start:0x0217e9a0 end:0x02181960 kind:bss align:32
diff --git a/config/usa/arm9/symbols.txt b/config/usa/arm9/symbols.txt
index 07dd55c6..fe14219e 100644
--- a/config/usa/arm9/symbols.txt
+++ b/config/usa/arm9/symbols.txt
@@ -45,7 +45,7 @@ func_02001fb0 kind:function(arm,size=0x5c) addr:0x2001fb0
func_0200200c kind:function(arm,size=0x5c) addr:0x200200c
func_02002068 kind:function(arm,size=0x5c) addr:0x2002068
func_020020d0 kind:function(arm,size=0x3b8) addr:0x20020d0
-_02002184 kind:data(byte[256]) addr:0x2002184
+.L_02002184 kind:data(byte[256]) addr:0x2002184
func_02002488 kind:function(arm,size=0x84) addr:0x2002488
func_0200250c kind:function(arm,size=0x34) addr:0x200250c
func_02002540 kind:function(arm,size=0x48) addr:0x2002540
@@ -56,11 +56,11 @@ func_020029fc kind:function(arm,size=0x1b0) addr:0x20029fc
func_02002bac kind:function(arm,size=0xc) addr:0x2002bac
func_02002bb8 kind:function(arm,size=0x3c) addr:0x2002bb8
func_02002bf4 kind:function(arm,size=0x20) addr:0x2002bf4
-SoftDivideMod kind:function(arm,size=0x20c) addr:0x2002c14
+_s32_div_f kind:function(arm,size=0x20c) addr:0x2002c14
SoftDivide kind:function(arm,size=0x1e4) addr:0x2002e20
-_02002e28 kind:label(arm) addr:0x2002e28
+.L_02002e28 kind:label(arm) addr:0x2002e28
func_0200301c kind:function(arm,size=0x544) addr:0x200301c
-_02003154 kind:data(byte[256]) addr:0x2003154
+.L_02003154 kind:data(byte[256]) addr:0x2003154
func_02003560 kind:function(arm,size=0x4) addr:0x2003560
func_02003564 kind:function(arm,size=0x40) addr:0x2003564
func_020035a4 kind:function(arm,size=0x3c) addr:0x20035a4
@@ -266,7 +266,7 @@ CopySingle384 kind:function(arm,size=0x24) addr:0x20079f4
CopySingle512 kind:function(arm,size=0x2c) addr:0x2007a18
Fill kind:function(arm,size=0x94) addr:0x2007a44
Copy kind:function(arm,size=0x130) addr:0x2007ad8
-Zero288 kind:function(thumb,size=0x10) addr:0x2007c08
+Zero288 kind:function(thumb,size=0xe) addr:0x2007c08
Swap32 kind:function(arm,size=0x8) addr:0x2007c18
func_02007c20 kind:function(arm,size=0x94) addr:0x2007c20
func_02007cb4 kind:function(arm,size=0xd8) addr:0x2007cb4
@@ -414,8 +414,8 @@ func_0200b828 kind:function(arm,size=0x28) addr:0x200b828
func_0200b850 kind:function(arm,size=0x48) addr:0x200b850
func_0200b898 kind:function(arm,size=0x28) addr:0x200b898
func_0200b8c0 kind:function(thumb,size=0xc) addr:0x200b8c0
-func_0200b8cc kind:function(thumb,size=0x28) addr:0x200b8cc
-func_0200b8f4 kind:function(thumb,size=0x2c) addr:0x200b8f4
+func_0200b8cc kind:function(thumb,size=0x26) addr:0x200b8cc
+func_0200b8f4 kind:function(thumb,size=0x2a) addr:0x200b8f4
func_0200b920 kind:function(thumb,size=0x14) addr:0x200b920
func_0200b934 kind:function(thumb,size=0x10) addr:0x200b934
func_0200b944 kind:function(thumb,size=0x10) addr:0x200b944
@@ -640,7 +640,7 @@ func_020123ec kind:function(thumb,size=0x11c) addr:0x20123ec
func_02012508 kind:function(thumb,size=0x208) addr:0x2012508
func_02012710 kind:function(thumb,size=0xc) addr:0x2012710
func_0201271c kind:function(thumb,size=0xc) addr:0x201271c
-func_02012728 kind:function(thumb,size=0x7c) addr:0x2012728
+func_02012728 kind:function(thumb,size=0x7a) addr:0x2012728
func_020127a4 kind:function(thumb,size=0x6c) addr:0x20127a4
func_02012810 kind:function(thumb,size=0x10) addr:0x2012810
func_02012820 kind:function(thumb,size=0x10) addr:0x2012820
@@ -674,13 +674,13 @@ func_02016e38 kind:function(arm,size=0x48) addr:0x2016e38
func_02016e80 kind:function(arm,size=0x48) addr:0x2016e80
func_02016ec8 kind:function(thumb,size=0x34) addr:0x2016ec8
func_02016efc kind:function(thumb,size=0xd0) addr:0x2016efc
-func_02016fcc kind:function(thumb,size=0x1c) addr:0x2016fcc
-func_02016fe8 kind:function(thumb,size=0x30) addr:0x2016fe8
+func_02016fcc kind:function(thumb,size=0x1a) addr:0x2016fcc
+func_02016fe8 kind:function(thumb,size=0x2e) addr:0x2016fe8
func_02017018 kind:function(thumb,size=0x1c) addr:0x2017018
-func_02017034 kind:function(thumb,size=0x1c) addr:0x2017034
+func_02017034 kind:function(thumb,size=0x1a) addr:0x2017034
func_02017050 kind:function(thumb,size=0x1c) addr:0x2017050
func_0201706c kind:function(thumb,size=0x20) addr:0x201706c
-func_0201708c kind:function(thumb,size=0x1c) addr:0x201708c
+func_0201708c kind:function(thumb,size=0x1a) addr:0x201708c
func_020170a8 kind:function(thumb,size=0x50) addr:0x20170a8
func_020170f8 kind:function(thumb,size=0x100) addr:0x20170f8
func_020171f8 kind:function(thumb,size=0x7c) addr:0x20171f8
@@ -690,35 +690,35 @@ func_02017374 kind:function(thumb,size=0x20) addr:0x2017374
func_02017394 kind:function(thumb,size=0x8) addr:0x2017394
NewEXPH kind:function(thumb,size=0x20) addr:0x201739c
func_020173bc kind:function(thumb,size=0xe8) addr:0x20173bc
-func_020174a4 kind:function(thumb,size=0x2c) addr:0x20174a4
-func_020174d0 kind:function(thumb,size=0x18) addr:0x20174d0
-func_020174e8 kind:function(thumb,size=0x48) addr:0x20174e8
+func_020174a4 kind:function(thumb,size=0x2a) addr:0x20174a4
+func_020174d0 kind:function(thumb,size=0x16) addr:0x20174d0
+func_020174e8 kind:function(thumb,size=0x46) addr:0x20174e8
func_02017530 kind:function(thumb,size=0x2c) addr:0x2017530
-func_0201755c kind:function(thumb,size=0x40) addr:0x201755c
+func_0201755c kind:function(thumb,size=0x3e) addr:0x201755c
func_0201759c kind:function(thumb,size=0x3c) addr:0x201759c
-func_020175d8 kind:function(thumb,size=0x10) addr:0x20175d8
-func_020175e8 kind:function(thumb,size=0x1c) addr:0x20175e8
+func_020175d8 kind:function(thumb,size=0xe) addr:0x20175d8
+func_020175e8 kind:function(thumb,size=0x1a) addr:0x20175e8
func_02017604 kind:function(thumb,size=0x20) addr:0x2017604
func_02017624 kind:function(thumb,size=0x8) addr:0x2017624
-NewFRMH kind:function(thumb,size=0x24) addr:0x201762c
-func_02017650 kind:function(thumb,size=0x20) addr:0x2017650
+NewFRMH kind:function(thumb,size=0x22) addr:0x201762c
+func_02017650 kind:function(thumb,size=0x1e) addr:0x2017650
func_02017670 kind:function(thumb,size=0x24) addr:0x2017670
-func_02017694 kind:function(thumb,size=0x30) addr:0x2017694
+func_02017694 kind:function(thumb,size=0x2e) addr:0x2017694
func_020176c4 kind:function(thumb,size=0x30) addr:0x20176c4
func_020176f4 kind:function(thumb,size=0x1c) addr:0x20176f4
-func_02017710 kind:function(thumb,size=0x40) addr:0x2017710
+func_02017710 kind:function(thumb,size=0x3e) addr:0x2017710
func_02017750 kind:function(thumb,size=0x1c) addr:0x2017750
func_0201776c kind:function(thumb,size=0x5c) addr:0x201776c
func_020177c8 kind:function(thumb,size=0x10) addr:0x20177c8
func_020177d8 kind:function(thumb,size=0x10) addr:0x20177d8
func_020177e8 kind:function(thumb,size=0xc) addr:0x20177e8
-func_020177f4 kind:function(thumb,size=0x1c) addr:0x20177f4
+func_020177f4 kind:function(thumb,size=0x1a) addr:0x20177f4
func_02017810 kind:function(thumb,size=0x2c) addr:0x2017810
-func_0201783c kind:function(thumb,size=0x2c) addr:0x201783c
-func_02017868 kind:function(thumb,size=0x38) addr:0x2017868
-func_020178a0 kind:function(thumb,size=0x3c) addr:0x20178a0
+func_0201783c kind:function(thumb,size=0x2a) addr:0x201783c
+func_02017868 kind:function(thumb,size=0x36) addr:0x2017868
+func_020178a0 kind:function(thumb,size=0x3a) addr:0x20178a0
func_020178dc kind:function(thumb,size=0x10) addr:0x20178dc
-func_020178ec kind:function(thumb,size=0x10) addr:0x20178ec
+func_020178ec kind:function(thumb,size=0xe) addr:0x20178ec
func_020178fc kind:function(thumb,size=0x98) addr:0x20178fc
func_02017994 kind:function(thumb,size=0x8) addr:0x2017994
func_0201799c kind:function(thumb,size=0x10) addr:0x201799c
@@ -1117,12 +1117,12 @@ func_02023754 kind:function(arm,size=0x98) addr:0x2023754
func_020237ec kind:function(arm,size=0x60) addr:0x20237ec
func_0202384c kind:function(arm,size=0x124) addr:0x202384c
func_02023970 kind:function(arm,size=0x14) addr:0x2023970
-func_02023984 kind:function(thumb,size=0x30) addr:0x2023984
-func_020239b4 kind:function(thumb,size=0x2c) addr:0x20239b4
+func_02023984 kind:function(thumb,size=0x2e) addr:0x2023984
+func_020239b4 kind:function(thumb,size=0x2a) addr:0x20239b4
func_020239e0 kind:function(thumb,size=0x28) addr:0x20239e0
func_02023a08 kind:function(thumb,size=0x8) addr:0x2023a08
-func_02023a10 kind:function(thumb,size=0xb8) addr:0x2023a10
-func_02023ac8 kind:function(thumb,size=0x14) addr:0x2023ac8
+func_02023a10 kind:function(thumb,size=0xb6) addr:0x2023a10
+func_02023ac8 kind:function(thumb,size=0x12) addr:0x2023ac8
func_02023adc kind:function(thumb,size=0x28) addr:0x2023adc
func_02023b04 kind:function(thumb,size=0x8) addr:0x2023b04
func_02023b0c kind:function(thumb,size=0x28) addr:0x2023b0c
@@ -1131,7 +1131,7 @@ func_02023b3c kind:function(thumb,size=0x28) addr:0x2023b3c
func_02023b64 kind:function(thumb,size=0x8) addr:0x2023b64
func_02023b6c kind:function(thumb,size=0xd4) addr:0x2023b6c
func_02023c40 kind:function(thumb,size=0x94) addr:0x2023c40
-func_02023cd4 kind:function(thumb,size=0x1c) addr:0x2023cd4
+func_02023cd4 kind:function(thumb,size=0x1a) addr:0x2023cd4
func_02023cf0 kind:function(thumb,size=0xc) addr:0x2023cf0
func_02023cfc kind:function(thumb,size=0x28) addr:0x2023cfc
func_02023d24 kind:function(thumb,size=0x20) addr:0x2023d24
@@ -1207,7 +1207,7 @@ func_02026f1c kind:function(arm,size=0x10c) addr:0x2026f1c
func_02027028 kind:function(arm,size=0x64) addr:0x2027028
func_0202708c kind:function(arm,size=0xb4) addr:0x202708c
func_02027140 kind:function(arm,size=0xe8) addr:0x2027140
-func_02027228 kind:function(thumb,size=0x2c) addr:0x2027228
+func_02027228 kind:function(thumb,size=0x2a) addr:0x2027228
func_02027254 kind:function(thumb,size=0x34) addr:0x2027254
func_02027288 kind:function(thumb,size=0x1c) addr:0x2027288
func_020272a4 kind:function(thumb,size=0xd8) addr:0x20272a4
@@ -1219,17 +1219,17 @@ func_02027538 kind:function(thumb,size=0x58) addr:0x2027538
func_02027590 kind:function(thumb,size=0x28) addr:0x2027590
func_020275b8 kind:function(thumb,size=0x2c) addr:0x20275b8
func_020275e4 kind:function(thumb,size=0x2c) addr:0x20275e4
-func_02027610 kind:function(thumb,size=0x24) addr:0x2027610
+func_02027610 kind:function(thumb,size=0x22) addr:0x2027610
func_02027634 kind:function(thumb,size=0x5c) addr:0x2027634
func_02027690 kind:function(thumb,size=0x8c) addr:0x2027690
func_0202771c kind:function(thumb,size=0x8c) addr:0x202771c
-func_020277a8 kind:function(thumb,size=0x50) addr:0x20277a8
+func_020277a8 kind:function(thumb,size=0x4e) addr:0x20277a8
func_020277f8 kind:function(thumb,size=0x1d8) addr:0x20277f8
-func_020279d0 kind:function(thumb,size=0x50) addr:0x20279d0
+func_020279d0 kind:function(thumb,size=0x4e) addr:0x20279d0
func_02027a20 kind:function(thumb,size=0x5c) addr:0x2027a20
-func_02027a7c kind:function(thumb,size=0x38) addr:0x2027a7c
-func_02027ab4 kind:function(thumb,size=0x48) addr:0x2027ab4
-func_02027afc kind:function(thumb,size=0x108) addr:0x2027afc
+func_02027a7c kind:function(thumb,size=0x36) addr:0x2027a7c
+func_02027ab4 kind:function(thumb,size=0x46) addr:0x2027ab4
+func_02027afc kind:function(thumb,size=0x106) addr:0x2027afc
func_02027c04 kind:function(arm,size=0x24) addr:0x2027c04
func_02027c28 kind:function(arm,size=0x20) addr:0x2027c28
func_02027c48 kind:function(arm,size=0x20) addr:0x2027c48
@@ -1302,8 +1302,8 @@ func_0202a750 kind:function(arm,size=0x4) addr:0x202a750
func_0202a754 kind:function(arm,size=0x188) addr:0x202a754
func_0202a8dc kind:function(arm,size=0x1cc) addr:0x202a8dc
func_0202aaa8 kind:function(arm,size=0x40) addr:0x202aaa8
-func_0202aae8 kind:function(thumb,size=0x10) addr:0x202aae8
-func_0202aaf8 kind:function(thumb,size=0x28) addr:0x202aaf8
+func_0202aae8 kind:function(thumb,size=0xe) addr:0x202aae8
+func_0202aaf8 kind:function(thumb,size=0x26) addr:0x202aaf8
func_0202ab38 kind:function(thumb,size=0x10) addr:0x202ab20
func_0202ab48 kind:function(thumb,size=0x4) addr:0x202ab30
GetRegion kind:function(thumb,size=0x8) addr:0x202ab34
@@ -1311,8 +1311,8 @@ _ZN11FadeControl3AddEv kind:function(thumb,size=0x10) addr:0x202ab3c
_ZN11FadeControl6RemoveEv kind:function(thumb,size=0x14) addr:0x202ab4c
_ZN11FadeControlC2Ev kind:function(thumb,size=0x30) addr:0x202ab60
_ZN11FadeControl13func_0202aba8Eiii kind:function(thumb,size=0x34) addr:0x202ab90
-_ZN11FadeControl13func_0202abdcEii kind:function(thumb,size=0x18) addr:0x202abc4
-_ZN11FadeControl13func_0202abf4Eii kind:function(thumb,size=0x18) addr:0x202abdc
+_ZN11FadeControl13func_0202abdcEii kind:function(thumb,size=0x16) addr:0x202abc4
+_ZN11FadeControl13func_0202abf4Eii kind:function(thumb,size=0x16) addr:0x202abdc
_ZN11FadeControl13func_0202ac0cEitii kind:function(thumb,size=0x54) addr:0x202abf4
_ZN11FadeControl10UpdateFadeEi kind:function(arm,size=0x194) addr:0x202ac48
_ZN18UnkStruct_027e05f813func_0202adf4Eii kind:function(arm,size=0x74) addr:0x202addc
@@ -1331,7 +1331,7 @@ func_0202b2e8 kind:function(arm,size=0x10) addr:0x202b2d0
func_0202b2f8 kind:function(arm,size=0x10) addr:0x202b2e0
Vec3p_Lerp kind:function(arm,size=0xb4) addr:0x202b2f0
func_0202b3bc kind:function(arm,size=0x5c) addr:0x202b3a4
-func_0202b418 kind:function(arm,size=0xcc) addr:0x202b400
+Lerp kind:function(arm,size=0xcc) addr:0x202b400
func_0202b4e4 kind:function(arm,size=0x188) addr:0x202b4cc
func_0202b66c kind:function(arm,size=0xc8) addr:0x202b654
func_0202b734 kind:function(arm,size=0xb0) addr:0x202b71c
@@ -1353,13 +1353,13 @@ func_0202bc10 kind:function(arm,size=0x28) addr:0x202bbf8
func_0202bc38 kind:function(arm,size=0x320) addr:0x202bc20
func_0202bf58 kind:function(arm,size=0x68) addr:0x202bf40
func_0202bfc0 kind:function(arm,size=0xe8) addr:0x202bfa8
-func_0202c0a8 kind:function(thumb,size=0x4) addr:0x202c090
+func_0202c0a8 kind:function(thumb,size=0x2) addr:0x202c090
func_0202c0ac kind:function(thumb,size=0xc) addr:0x202c094
-func_0202c0b8 kind:function(thumb,size=0x4) addr:0x202c0a0
-func_0202c0bc kind:function(thumb,size=0x4) addr:0x202c0a4
-func_0202c0c0 kind:function(thumb,size=0x4) addr:0x202c0a8
-func_0202c0c4 kind:function(thumb,size=0x4) addr:0x202c0ac
-func_0202c0c8 kind:function(thumb,size=0x4) addr:0x202c0b0
+func_0202c0b8 kind:function(thumb,size=0x2) addr:0x202c0a0
+func_0202c0bc kind:function(thumb,size=0x2) addr:0x202c0a4
+func_0202c0c0 kind:function(thumb,size=0x2) addr:0x202c0a8
+func_0202c0c4 kind:function(thumb,size=0x2) addr:0x202c0ac
+func_0202c0c8 kind:function(thumb,size=0x2) addr:0x202c0b0
func_0202c0cc kind:function(thumb,size=0x5c) addr:0x202c0b4
func_0202c128 kind:function(thumb,size=0x27c) addr:0x202c110
func_0202c3a4 kind:function(arm,size=0x34) addr:0x202c38c
@@ -1388,7 +1388,7 @@ func_0202cec8 kind:function(thumb,size=0x6c) addr:0x202ceb0
func_0202cf34 kind:function(thumb,size=0x10) addr:0x202cf1c
func_0202cf44 kind:function(arm,size=0x170) addr:0x202cf2c
func_0202d0b4 kind:function(arm,size=0x18) addr:0x202d09c
-func_0202d0cc kind:function(thumb,size=0x3c) addr:0x202d0b4
+func_0202d0cc kind:function(thumb,size=0x3a) addr:0x202d0b4
func_0202d108 kind:function(thumb,size=0x38) addr:0x202d0f0
func_0202d140 kind:function(thumb,size=0x24) addr:0x202d128
func_0202d164 kind:function(thumb,size=0x74) addr:0x202d14c
@@ -1398,10 +1398,10 @@ func_0202d23c kind:function(thumb,size=0x180) addr:0x202d238
func_0202d3bc kind:function(thumb,size=0xb8) addr:0x202d3b8
func_0202d474 kind:function(thumb,size=0xdc) addr:0x202d470
func_0202d550 kind:function(thumb,size=0x1c) addr:0x202d54c
-LoadFile kind:function(thumb,size=0x24) addr:0x202d568
+LoadFile kind:function(thumb,size=0x22) addr:0x202d568
func_0202d590 kind:function(thumb,size=0x8) addr:0x202d58c
func_0202d598 kind:function(thumb,size=0x1c) addr:0x202d594
-MountCompressedNarc kind:function(thumb,size=0x28) addr:0x202d5b0
+MountCompressedNarc kind:function(thumb,size=0x26) addr:0x202d5b0
func_0202d5dc kind:function(thumb,size=0x10) addr:0x202d5d8
func_0202d5ec kind:function(thumb,size=0x3c) addr:0x202d5e8
func_0202d628 kind:function(thumb,size=0x1c) addr:0x202d624
@@ -1435,7 +1435,7 @@ _ZN18UnkStruct_027e077cC2Ei kind:function(thumb,size=0x10) addr:0x202e72c
_ZN18UnkStruct_027e077c13func_0202e740Ei kind:function(arm,size=0x34) addr:0x202e73c
func_0202e774 kind:function(thumb,size=0x30) addr:0x202e770
func_0202e7a4 kind:function(thumb,size=0x18) addr:0x202e7a0
-func_0202e7bc kind:function(thumb,size=0x40) addr:0x202e7b8
+func_0202e7bc kind:function(thumb,size=0x3e) addr:0x202e7b8
func_0202e7fc kind:function(thumb,size=0x14) addr:0x202e7f8
func_0202e810 kind:function(arm,size=0x84) addr:0x202e80c
_Z6SysNewP18UnkStruct_0202e894ii kind:function(arm,size=0xb4) addr:0x202e890
@@ -1447,7 +1447,7 @@ _ZN9SysObjectnaEmPjj kind:function(arm,size=0x18) addr:0x202e9f0
_ZN9SysObjectdlEPv kind:function(arm,size=0xc) addr:0x202ea08
_ZN9SysObjectdaEPv kind:function(arm,size=0xc) addr:0x202ea14
_ZN18UnkStruct_027e0fe04InitEv kind:function(thumb,size=0x10) addr:0x202ea20
-_ZN18UnkStruct_027e0fe07DisposeEv kind:function(thumb,size=0x1c) addr:0x202ea30
+_ZN18UnkStruct_027e0fe07DisposeEv kind:function(thumb,size=0x1a) addr:0x202ea30
_ZN18UnkStruct_027e0fe013func_0202ea50Eiii kind:function(thumb,size=0x48) addr:0x202ea4c
_ZN18UnkStruct_027e0fe013func_0202ea98Ev kind:function(thumb,size=0x24) addr:0x202ea94
func_0202eabc kind:function(arm,size=0x80) addr:0x202eab8
@@ -1455,7 +1455,7 @@ func_0202eb3c kind:function(arm,size=0x58) addr:0x202eb38
func_0202eb94 kind:function(arm,size=0x28) addr:0x202eb90
func_0202ebbc kind:function(thumb,size=0x5c) addr:0x202ebb8
func_0202ec18 kind:function(thumb,size=0x24) addr:0x202ec14
-func_0202ec3c kind:function(thumb,size=0x20) addr:0x202ec38
+func_0202ec3c kind:function(thumb,size=0x1e) addr:0x202ec38
func_0202ec5c kind:function(thumb,size=0x14) addr:0x202ec58
func_0202ec70 kind:function(arm,size=0x70) addr:0x202ec6c
func_0202ece0 kind:function(thumb,size=0x34) addr:0x202ecdc
@@ -1464,7 +1464,7 @@ func_0202ed58 kind:function(arm,size=0x164) addr:0x202ed54
func_0202eebc kind:function(arm,size=0x3c) addr:0x202eeb8
func_0202eef8 kind:function(arm,size=0x23c) addr:0x202eef4
func_0202f134 kind:function(thumb,size=0x20) addr:0x202f130
-func_0202f154 kind:function(thumb,size=0x40) addr:0x202f150
+func_0202f154 kind:function(thumb,size=0x3e) addr:0x202f150
func_0202f194 kind:function(thumb,size=0x5c) addr:0x202f190
func_0202f1f0 kind:function(thumb,size=0x6c) addr:0x202f1ec
func_0202f25c kind:function(thumb,size=0x2c) addr:0x202f258
@@ -1475,7 +1475,7 @@ func_0202f328 kind:function(arm,size=0x38) addr:0x202f324
func_0202f360 kind:function(thumb,size=0x14) addr:0x202f35c
func_0202f374 kind:function(thumb,size=0x7c) addr:0x202f370
func_0202f3f0 kind:function(thumb,size=0x10) addr:0x202f3ec
-func_0202f400 kind:function(thumb,size=0x18) addr:0x202f3fc
+func_0202f400 kind:function(thumb,size=0x16) addr:0x202f3fc
DisplayAssertError kind:function(thumb,size=0x9c) addr:0x202f414
func_0202f4b4 kind:function(thumb,size=0x4c) addr:0x202f4b0
func_0202f500 kind:function(thumb,size=0x2c) addr:0x202f4fc
@@ -1490,14 +1490,14 @@ func_0202fd9c kind:function(thumb,size=0x40) addr:0x202fd98
func_0202fddc kind:function(thumb,size=0x150) addr:0x202fdd8
func_0202ff2c kind:function(arm,size=0x4) addr:0x202ff28
func_0202ff30 kind:function(arm,size=0x14) addr:0x202ff2c
-_ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x20) addr:0x202ff40
+_ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x1e) addr:0x202ff40
_ZN14OverlayManager15LoadIfNotLoadedEjj kind:function(thumb,size=0x20) addr:0x202ff60
-_ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x20) addr:0x202ff80
+_ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x1e) addr:0x202ff80
_ZN14OverlayManager16LoadOverlaySetupEi kind:function(thumb,size=0x64) addr:0x202ffa0
_ZN14OverlayManager18UnloadOverlaySetupEv kind:function(thumb,size=0x34) addr:0x2030004
-func_0203003c kind:function(thumb,size=0x4) addr:0x2030038
+func_0203003c kind:function(thumb,size=0x2) addr:0x2030038
func_02030040 kind:function(thumb,size=0xc) addr:0x203003c
-func_0203004c kind:function(thumb,size=0x4) addr:0x2030048
+func_0203004c kind:function(thumb,size=0x2) addr:0x2030048
func_02030050 kind:function(thumb,size=0x8) addr:0x203004c
func_02030058 kind:function(thumb,size=0x4) addr:0x2030054
func_0203005c kind:function(thumb,size=0x1c) addr:0x2030058
@@ -1507,12 +1507,12 @@ func_020300cc kind:function(thumb,size=0x18) addr:0x20300c8
func_020300e4 kind:function(thumb,size=0x28) addr:0x20300e0
func_0203010c kind:function(thumb,size=0x1c) addr:0x2030108
func_02030128 kind:function(thumb,size=0x24) addr:0x2030124
-func_0203014c kind:function(thumb,size=0x1c) addr:0x2030148
+func_0203014c kind:function(thumb,size=0x1a) addr:0x2030148
func_02030168 kind:function(thumb,size=0x30) addr:0x2030164
-func_02030198 kind:function(thumb,size=0x4) addr:0x2030194
+func_02030198 kind:function(thumb,size=0x2) addr:0x2030194
func_0203019c kind:function(thumb,size=0x4) addr:0x2030198
func_020301a0 kind:function(thumb,size=0x2c) addr:0x203019c
-func_020301cc kind:function(thumb,size=0x4) addr:0x20301c8
+func_020301cc kind:function(thumb,size=0x2) addr:0x20301c8
func_020301d0 kind:function(thumb,size=0x4) addr:0x20301cc
func_020301d4 kind:function(arm,size=0x1c) addr:0x20301d0
func_020301f0 kind:function(arm,size=0x14) addr:0x20301ec
@@ -1521,34 +1521,34 @@ func_02030220 kind:function(arm,size=0x14) addr:0x203021c
CopyDebugNodeDescription kind:function(arm,size=0x10) addr:0x2030230
DebugNodeDescriptionEquals kind:function(arm,size=0x30) addr:0x2030240
_ZN18DebugHierarchyBaseC2Ev kind:function(thumb,size=0x10) addr:0x2030270
-_ZN18DebugHierarchyBaseD1Ev kind:function(thumb,size=0x4) addr:0x2030280
+_ZN18DebugHierarchyBaseD1Ev kind:function(thumb,size=0x2) addr:0x2030280
_ZN18DebugHierarchyBaseD0Ev kind:function(thumb,size=0xc) addr:0x2030284
-_ZN18DebugHierarchyBaseD2Ev kind:function(thumb,size=0x4) addr:0x2030290
+_ZN18DebugHierarchyBaseD2Ev kind:function(thumb,size=0x2) addr:0x2030290
_ZN18DebugHierarchyBase8FindNodeEj kind:function(thumb,size=0x3c) addr:0x2030294
_ZN18DebugHierarchyBase12GetChildNodeEiPKcjPi kind:function(thumb,size=0x4c) addr:0x20302d0
-_ZN18DebugHierarchyBase8vfunc_08Ev kind:function(thumb,size=0x4) addr:0x203031c
-_ZN18DebugHierarchyBase8vfunc_0cEv kind:function(thumb,size=0x4) addr:0x2030320
-_ZN18DebugHierarchyBase8vfunc_10Ev kind:function(thumb,size=0x4) addr:0x2030324
-_ZN18DebugHierarchyBase8vfunc_14Ev kind:function(thumb,size=0x4) addr:0x2030328
-_ZN18DebugHierarchyBase8vfunc_18Ev kind:function(thumb,size=0x4) addr:0x203032c
-_ZN18DebugHierarchyBase8vfunc_1cEv kind:function(thumb,size=0x4) addr:0x2030330
+_ZN18DebugHierarchyBase8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x203031c
+_ZN18DebugHierarchyBase8vfunc_0cEv kind:function(thumb,size=0x2) addr:0x2030320
+_ZN18DebugHierarchyBase8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x2030324
+_ZN18DebugHierarchyBase8vfunc_14Ev kind:function(thumb,size=0x2) addr:0x2030328
+_ZN18DebugHierarchyBase8vfunc_18Ev kind:function(thumb,size=0x2) addr:0x203032c
+_ZN18DebugHierarchyBase8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x2030330
_ZN18DebugHierarchyBase8vfunc_20Ev kind:function(thumb,size=0x4) addr:0x2030334
-_ZN18DebugHierarchyBase8vfunc_24Ev kind:function(thumb,size=0x4) addr:0x2030338
-_ZN18DebugHierarchyBase8vfunc_28Ev kind:function(thumb,size=0x4) addr:0x203033c
-_ZN18DebugHierarchyBase8vfunc_2cEv kind:function(thumb,size=0x4) addr:0x2030340
-_ZN18DebugHierarchyBase8vfunc_30Ev kind:function(thumb,size=0x4) addr:0x2030344
-_ZN18DebugHierarchyBase8vfunc_38Ev kind:function(thumb,size=0x4) addr:0x2030348
-_ZN18DebugHierarchyBase8vfunc_3cEv kind:function(thumb,size=0x4) addr:0x203034c
+_ZN18DebugHierarchyBase8vfunc_24Ev kind:function(thumb,size=0x2) addr:0x2030338
+_ZN18DebugHierarchyBase8vfunc_28Ev kind:function(thumb,size=0x2) addr:0x203033c
+_ZN18DebugHierarchyBase8vfunc_2cEv kind:function(thumb,size=0x2) addr:0x2030340
+_ZN18DebugHierarchyBase8vfunc_30Ev kind:function(thumb,size=0x2) addr:0x2030344
+_ZN18DebugHierarchyBase8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x2030348
+_ZN18DebugHierarchyBase8vfunc_3cEv kind:function(thumb,size=0x2) addr:0x203034c
func_02030354 kind:function(thumb,size=0xb4) addr:0x2030350
-func_02030408 kind:function(thumb,size=0x18) addr:0x2030404
+func_02030408 kind:function(thumb,size=0x16) addr:0x2030404
func_02030420 kind:function(thumb,size=0x44) addr:0x203041c
-func_02030464 kind:function(thumb,size=0x44) addr:0x2030460
+func_02030464 kind:function(thumb,size=0x42) addr:0x2030460
func_020304a8 kind:function(thumb,size=0x2c) addr:0x20304a4
DisplayDebugText kind:function(thumb,size=0xd8) addr:0x20304d0
func_020305ac kind:function(thumb,size=0x88) addr:0x20305a8
DisplayDebugTextFormat kind:function(thumb,size=0x30) addr:0x2030630
-DisplayDebugTextFormat_thunk kind:function(thumb,size=0x28) addr:0x2030660
-DisplayDebugTextF kind:function(thumb,size=0x34) addr:0x2030688
+DisplayDebugTextFormat_thunk kind:function(thumb,size=0x26) addr:0x2030660
+DisplayDebugTextF kind:function(thumb,size=0x32) addr:0x2030688
func_020306c0 kind:function(thumb,size=0x70) addr:0x20306bc
func_02030730 kind:function(thumb,size=0x28) addr:0x203072c
func_02030758 kind:function(thumb,size=0x84) addr:0x2030754
@@ -1605,12 +1605,12 @@ func_020320c0 kind:function(arm,size=0x2c) addr:0x20320bc
func_020320ec kind:function(arm,size=0xec) addr:0x20320e8
func_020321d8 kind:function(arm,size=0xec) addr:0x20321d4
func_020322c4 kind:function(arm,size=0x40) addr:0x20322c0
-func_02032304 kind:function(thumb,size=0x58) addr:0x2032300
+func_02032304 kind:function(thumb,size=0x56) addr:0x2032300
func_0203235c kind:function(arm,size=0x8c) addr:0x2032358
func_020323e8 kind:function(thumb,size=0x48) addr:0x20323e4
-func_02032430 kind:function(thumb,size=0x1c) addr:0x203242c
+func_02032430 kind:function(thumb,size=0x1a) addr:0x203242c
func_0203244c kind:function(thumb,size=0x3c) addr:0x2032448
-func_02032488 kind:function(thumb,size=0x1c) addr:0x2032484
+func_02032488 kind:function(thumb,size=0x1a) addr:0x2032484
func_020324a4 kind:function(thumb,size=0x28) addr:0x20324a0
func_020324cc kind:function(arm,size=0x7c) addr:0x20324c8
func_02032548 kind:function(arm,size=0x54) addr:0x2032544
@@ -1648,9 +1648,9 @@ func_02032e60 kind:function(arm,size=0x1c) addr:0x2032e5c
_ZN18UnkStruct_02032e7cC2Ev kind:function(arm,size=0x48) addr:0x2032e78
_ZN18UnkStruct_02032e7cC1Ev kind:function(arm,size=0x48) addr:0x2032ec0
_ZN18UnkStruct_02032f0cC2Ev kind:function(thumb,size=0x78) addr:0x2032f08
-_ZN18UnkStruct_02032f0cD1Ev kind:function(thumb,size=0x4) addr:0x2032f80
+_ZN18UnkStruct_02032f0cD1Ev kind:function(thumb,size=0x2) addr:0x2032f80
_ZN18UnkStruct_02032f0cD0Ev kind:function(thumb,size=0xc) addr:0x2032f84
-_ZN18UnkStruct_02032f0c13func_02032f94Ev kind:function(thumb,size=0x4) addr:0x2032f90
+_ZN18UnkStruct_02032f0c13func_02032f94Ev kind:function(thumb,size=0x2) addr:0x2032f90
_ZN18UnkStruct_02032f0c9SetUnk_0cEPt kind:function(arm,size=0xc) addr:0x2032f94
_ZN18UnkStruct_02032f0c13func_02032fa4Ev kind:function(arm,size=0x10) addr:0x2032fa0
_ZN18UnkStruct_02032f0c13func_02032fb4Ev kind:function(arm,size=0x18) addr:0x2032fb0
@@ -1749,8 +1749,8 @@ func_02035428 kind:function(arm,size=0x18) addr:0x20353e4
func_02035440 kind:function(arm,size=0x140) addr:0x20353fc
func_02035580 kind:function(thumb,size=0x14) addr:0x203553c
func_02035594 kind:function(thumb,size=0x3c) addr:0x2035550
-func_020355d0 kind:function(thumb,size=0x14) addr:0x203558c
-func_020355e4 kind:function(thumb,size=0x20) addr:0x20355a0
+func_020355d0 kind:function(thumb,size=0x12) addr:0x203558c
+func_020355e4 kind:function(thumb,size=0x1e) addr:0x20355a0
func_02035604 kind:function(thumb,size=0x2c) addr:0x20355c0
func_02035630 kind:function(arm,size=0x18) addr:0x20355ec
func_02035648 kind:function(arm,size=0x58) addr:0x2035604
@@ -1777,7 +1777,7 @@ func_02035f3c kind:function(arm,size=0x20) addr:0x2035ef8
func_02035f5c kind:function(arm,size=0xb0) addr:0x2035f18
func_0203600c kind:function(thumb,size=0x8) addr:0x2035fc8
func_02036014 kind:function(thumb,size=0x3c) addr:0x2035fd0
-func_02036050 kind:function(thumb,size=0x24) addr:0x203600c
+func_02036050 kind:function(thumb,size=0x22) addr:0x203600c
func_02036074 kind:function(arm,size=0x18) addr:0x2036030
func_0203608c kind:function(arm,size=0x1c) addr:0x2036048
func_020360a8 kind:function(arm,size=0x28) addr:0x2036064
@@ -1791,7 +1791,7 @@ func_020363b0 kind:function(arm,size=0x18) addr:0x203636c
func_020363c8 kind:function(arm,size=0x74) addr:0x2036384
func_0203643c kind:function(arm,size=0x54) addr:0x20363f8
func_02036490 kind:function(thumb,size=0x1cc) addr:0x203644c
-func_0203665c kind:function(thumb,size=0x4c) addr:0x2036618
+func_0203665c kind:function(thumb,size=0x4a) addr:0x2036618
func_020366a8 kind:function(arm,size=0x1c) addr:0x2036664
func_020366c4 kind:function(arm,size=0x3c) addr:0x2036680
func_02036700 kind:function(arm,size=0x3c) addr:0x20366bc
@@ -1821,14 +1821,14 @@ func_020370e8 kind:function(arm,size=0x70) addr:0x20370a4
func_02037158 kind:function(arm,size=0x20) addr:0x2037114
func_02037178 kind:function(arm,size=0x38) addr:0x2037134
func_020371b0 kind:function(arm,size=0x4) addr:0x203716c
-func_020371b4 kind:function(thumb,size=0x14) addr:0x2037170
+func_020371b4 kind:function(thumb,size=0x12) addr:0x2037170
func_020371c8 kind:function(thumb,size=0x90) addr:0x2037184
func_02037258 kind:function(arm,size=0x34) addr:0x2037214
func_0203728c kind:function(arm,size=0x64) addr:0x2037248
func_020372f0 kind:function(thumb,size=0xc4) addr:0x20372ac
-func_020373b4 kind:function(thumb,size=0x38) addr:0x2037370
+func_020373b4 kind:function(thumb,size=0x36) addr:0x2037370
func_020373ec kind:function(arm,size=0x60) addr:0x20373a8
-_ZN18UnkStruct_027e05f8C2Ev kind:function(thumb,size=0xc) addr:0x2037408
+_ZN18UnkStruct_027e05f8C2Ev kind:function(thumb,size=0xa) addr:0x2037408
_ZN18UnkStruct_027e05f813func_02037458Et kind:function(arm,size=0x28) addr:0x2037414
_ZN18UnkStruct_027e05f813func_02037480Ev kind:function(arm,size=0x10) addr:0x203743c
_ZN18UnkStruct_027e05f813func_02037490Ei kind:function(arm,size=0x24) addr:0x203744c
@@ -1871,10 +1871,10 @@ _ZN18UnkStruct_0203881c13func_02038858Ei kind:function(arm,size=0x30) addr:0x203
_ZN18UnkStruct_0203881c13func_02038888Ev kind:function(arm,size=0xc8) addr:0x2038844
_ZN18UnkStruct_0203881c13func_02038950EP18UnkStruct_02038aa0i kind:function(arm,size=0x130) addr:0x203890c
_ZN18UnkStruct_0203881c13func_02038a80Ei kind:function(arm,size=0x1c) addr:0x2038a3c
-_ZN18UnkStruct_0203881cD1Ev kind:function(thumb,size=0x4) addr:0x2038a58
+_ZN18UnkStruct_0203881cD1Ev kind:function(thumb,size=0x2) addr:0x2038a58
_ZN18UnkStruct_02038aa0C2Ehh kind:function(thumb,size=0x5c) addr:0x2038a5c
_ZN18UnkStruct_02038aa0D1Ev kind:function(thumb,size=0xc) addr:0x2038ab8
-_ZN18UnkStruct_02038aa0D0Ev kind:function(thumb,size=0x14) addr:0x2038ac4
+_ZN18UnkStruct_02038aa0D0Ev kind:function(thumb,size=0x12) addr:0x2038ac4
_ZN18UnkStruct_02038aa0D2Ev kind:function(thumb,size=0xc) addr:0x2038ad8
_ZN18UnkStruct_02038aa08vfunc_4cEv kind:function(thumb,size=0xc) addr:0x2038ae4
_ZN18UnkStruct_02038aa08vfunc_10Ei kind:function(arm,size=0xc) addr:0x2038af0
@@ -2006,14 +2006,14 @@ func_0203d464 kind:function(arm,size=0x4c) addr:0x203d420
func_0203d4b0 kind:function(arm,size=0x88) addr:0x203d46c
func_0203d538 kind:function(arm,size=0x44) addr:0x203d4f4
func_0203d57c kind:function(thumb,size=0x44) addr:0x203d538
-func_0203d5c0 kind:function(thumb,size=0x1c) addr:0x203d57c
+func_0203d5c0 kind:function(thumb,size=0x1a) addr:0x203d57c
func_0203d5dc kind:function(thumb,size=0x24) addr:0x203d598
func_0203d600 kind:function(arm,size=0x4c) addr:0x203d5bc
func_0203d64c kind:function(arm,size=0x18) addr:0x203d608
func_0203d664 kind:function(arm,size=0x18) addr:0x203d620
func_0203d67c kind:function(arm,size=0x1c) addr:0x203d638
func_0203d698 kind:function(thumb,size=0x38) addr:0x203d654
-func_0203d6d0 kind:function(thumb,size=0x8) addr:0x203d68c
+func_0203d6d0 kind:function(thumb,size=0x6) addr:0x203d68c
func_0203d6d8 kind:function(thumb,size=0x58) addr:0x203d694
func_0203d730 kind:function(thumb,size=0x4c) addr:0x203d6ec
func_0203d77c kind:function(arm,size=0x3c) addr:0x203d738
@@ -2067,7 +2067,7 @@ func_0203eaac kind:function(arm,size=0x24) addr:0x203ea68
func_0203ead0 kind:function(arm,size=0xc) addr:0x203ea8c
func_0203eadc kind:function(arm,size=0x30) addr:0x203ea98
func_0203eb0c kind:function(arm,size=0x80) addr:0x203eac8
-func_0203eb8c kind:function(thumb,size=0x1c) addr:0x203eb48
+func_0203eb8c kind:function(thumb,size=0x1a) addr:0x203eb48
func_0203eba8 kind:function(arm,size=0x20) addr:0x203eb64
func_0203ebc8 kind:function(arm,size=0x18) addr:0x203eb84
func_0203ebe0 kind:function(arm,size=0x18) addr:0x203eb9c
@@ -2120,8 +2120,8 @@ func_02040068 kind:function(thumb,size=0x10) addr:0x2040024
func_02040078 kind:function(thumb,size=0xc) addr:0x2040034
func_02040084 kind:function(thumb,size=0x3c) addr:0x2040040
func_020400c0 kind:function(thumb,size=0xc) addr:0x204007c
-func_020400cc kind:function(thumb,size=0x14) addr:0x2040088
-func_020400e0 kind:function(thumb,size=0x14) addr:0x204009c
+func_020400cc kind:function(thumb,size=0x12) addr:0x2040088
+func_020400e0 kind:function(thumb,size=0x12) addr:0x204009c
func_020400f4 kind:function(thumb,size=0xc) addr:0x20400b0
func_02040100 kind:function(thumb,size=0xc) addr:0x20400bc
func_0204010c kind:function(thumb,size=0x8) addr:0x20400c8
@@ -2150,14 +2150,14 @@ func_02040c84 kind:function(thumb,size=0x34) addr:0x2040c40
func_02040cb8 kind:function(thumb,size=0xc) addr:0x2040c74
func_02040cc4 kind:function(thumb,size=0x60) addr:0x2040c80
func_02040d24 kind:function(thumb,size=0x40) addr:0x2040ce0
-func_02040d64 kind:function(thumb,size=0x30) addr:0x2040d20
+func_02040d64 kind:function(thumb,size=0x2e) addr:0x2040d20
func_02040d94 kind:function(thumb,size=0x3c) addr:0x2040d50
func_02040dd0 kind:function(thumb,size=0x118) addr:0x2040d8c
-func_02040ee8 kind:function(thumb,size=0x34) addr:0x2040ea4
+func_02040ee8 kind:function(thumb,size=0x32) addr:0x2040ea4
func_02040f1c kind:function(thumb,size=0x88) addr:0x2040ed8
func_02040fa4 kind:function(thumb,size=0x20) addr:0x2040f60
-func_02040fc4 kind:function(thumb,size=0x18) addr:0x2040f80
-func_02040fdc kind:function(thumb,size=0x18) addr:0x2040f98
+func_02040fc4 kind:function(thumb,size=0x16) addr:0x2040f80
+func_02040fdc kind:function(thumb,size=0x16) addr:0x2040f98
func_02040ff4 kind:function(thumb,size=0x64) addr:0x2040fb0
func_02041058 kind:function(thumb,size=0xa8) addr:0x2041014
func_02041100 kind:function(thumb,size=0x130) addr:0x20410bc
@@ -2168,10 +2168,10 @@ func_0204150c kind:function(thumb,size=0x4) addr:0x20414c8
ReadArchiveId kind:function(thumb,size=0x34) addr:0x20414cc
func_02041544 kind:function(thumb,size=0x10) addr:0x2041500
func_02041554 kind:function(thumb,size=0x14) addr:0x2041510
-func_02041568 kind:function(thumb,size=0x10) addr:0x2041524
+func_02041568 kind:function(thumb,size=0xe) addr:0x2041524
func_02041578 kind:function(thumb,size=0x16c) addr:0x2041534
-func_020416e4 kind:function(thumb,size=0x60) addr:0x20416a0
-func_02041744 kind:function(thumb,size=0x30) addr:0x2041700
+func_020416e4 kind:function(thumb,size=0x5e) addr:0x20416a0
+func_02041744 kind:function(thumb,size=0x2e) addr:0x2041700
func_02041774 kind:function(thumb,size=0x120) addr:0x2041730
func_02041894 kind:function(thumb,size=0x18) addr:0x2041850
FindArchive kind:function(thumb,size=0x2c) addr:0x2041868
@@ -2181,7 +2181,7 @@ func_0204198c kind:function(thumb,size=0x44) addr:0x2041948
func_020419d0 kind:function(thumb,size=0x74) addr:0x204198c
func_02041a44 kind:function(thumb,size=0xb4) addr:0x2041a00
func_02041af8 kind:function(thumb,size=0x58) addr:0x2041ab4
-func_02041b50 kind:function(thumb,size=0x7c) addr:0x2041b0c
+func_02041b50 kind:function(thumb,size=0x7a) addr:0x2041b0c
func_02041bcc kind:function(thumb,size=0x4c) addr:0x2041b88
func_02041c18 kind:function(thumb,size=0x14) addr:0x2041bd4
func_02041c2c kind:function(thumb,size=0x64) addr:0x2041be8
@@ -2189,18 +2189,18 @@ func_02041c90 kind:function(thumb,size=0x18) addr:0x2041c4c
func_02041ca8 kind:function(thumb,size=0x14) addr:0x2041c64
func_02041cbc kind:function(thumb,size=0xd0) addr:0x2041c78
func_02041d8c kind:function(thumb,size=0x50) addr:0x2041d48
-func_02041ddc kind:function(thumb,size=0x2c) addr:0x2041d98
+func_02041ddc kind:function(thumb,size=0x2a) addr:0x2041d98
func_02041e08 kind:function(thumb,size=0x2c) addr:0x2041dc4
func_02041e34 kind:function(thumb,size=0x48) addr:0x2041df0
-func_02041e7c kind:function(thumb,size=0x2c) addr:0x2041e38
-func_02041ea8 kind:function(thumb,size=0x28) addr:0x2041e64
+func_02041e7c kind:function(thumb,size=0x2a) addr:0x2041e38
+func_02041ea8 kind:function(thumb,size=0x26) addr:0x2041e64
func_02041ed0 kind:function(thumb,size=0x98) addr:0x2041e8c
-func_02041f68 kind:function(thumb,size=0x30) addr:0x2041f24
-func_02041f98 kind:function(thumb,size=0xc) addr:0x2041f54
-func_02041fa4 kind:function(thumb,size=0xc) addr:0x2041f60
-func_02041fb0 kind:function(thumb,size=0x3c) addr:0x2041f6c
+func_02041f68 kind:function(thumb,size=0x2e) addr:0x2041f24
+func_02041f98 kind:function(thumb,size=0xa) addr:0x2041f54
+func_02041fa4 kind:function(thumb,size=0xa) addr:0x2041f60
+func_02041fb0 kind:function(thumb,size=0x3a) addr:0x2041f6c
func_02041fec kind:function(thumb,size=0x38) addr:0x2041fa8
-func_02042024 kind:function(thumb,size=0x1c) addr:0x2041fe0
+func_02042024 kind:function(thumb,size=0x1a) addr:0x2041fe0
func_02042040 kind:function(thumb,size=0x2c) addr:0x2041ffc
func_0204206c kind:function(thumb,size=0x4) addr:0x2042028
func_02042070 kind:function(thumb,size=0x3c) addr:0x204202c
@@ -2211,17 +2211,17 @@ func_02042190 kind:function(thumb,size=0x34) addr:0x204214c
func_020421c4 kind:function(thumb,size=0x14) addr:0x2042180
func_020421d8 kind:function(thumb,size=0x24) addr:0x2042194
Overlay_FileSize kind:function(thumb,size=0x14) addr:0x20421b8
-Overlay_ClearCacheAndBss kind:function(thumb,size=0x28) addr:0x20421cc
+Overlay_ClearCacheAndBss kind:function(thumb,size=0x26) addr:0x20421cc
Overlay_func_02042238 kind:function(thumb,size=0x18) addr:0x20421f4
Overlay_func_02042250 kind:function(thumb,size=0x9c) addr:0x204220c
Overlay_func_020422ec kind:function(thumb,size=0xa0) addr:0x20422a8
-Overlay_func_0204238c kind:function(thumb,size=0x5c) addr:0x2042348
+Overlay_func_0204238c kind:function(thumb,size=0x5a) addr:0x2042348
Overlay_func_020423e8 kind:function(thumb,size=0x58) addr:0x20423a4
Overlay_Init kind:function(thumb,size=0x94) addr:0x20423fc
Overlay_RunGlobalDestructors kind:function(thumb,size=0xa4) addr:0x2042490
-Overlay_Destroy kind:function(thumb,size=0xc) addr:0x2042534
+Overlay_Destroy kind:function(thumb,size=0xa) addr:0x2042534
Overlay_Load kind:function(thumb,size=0x30) addr:0x2042540
-Overlay_Unload kind:function(thumb,size=0x2c) addr:0x2042570
+Overlay_Unload kind:function(thumb,size=0x2a) addr:0x2042570
func_020425e0 kind:function(thumb,size=0x40) addr:0x204259c
func_02042620 kind:function(thumb,size=0x48) addr:0x20425dc
func_02042668 kind:function(thumb,size=0x24) addr:0x2042624
@@ -2230,7 +2230,7 @@ func_020426d4 kind:function(thumb,size=0x24) addr:0x2042690
func_020426f8 kind:function(thumb,size=0x4c) addr:0x20426b4
func_02042744 kind:function(thumb,size=0x24) addr:0x2042700
func_02042768 kind:function(thumb,size=0x31c) addr:0x2042724
-func_02042a84 kind:function(thumb,size=0x48) addr:0x2042a40
+func_02042a84 kind:function(thumb,size=0x46) addr:0x2042a40
func_02042acc kind:function(thumb,size=0xc) addr:0x2042a88
func_02042ad8 kind:function(arm,size=0x18) addr:0x2042a94
func_02042af0 kind:function(thumb,size=0xc) addr:0x2042aac
@@ -2243,7 +2243,7 @@ func_02042ba0 kind:function(thumb,size=0x18) addr:0x2042b5c
func_02042bb8 kind:function(thumb,size=0x44) addr:0x2042b74
func_02042bfc kind:function(thumb,size=0xa0) addr:0x2042bb8
func_02042c9c kind:function(thumb,size=0x60) addr:0x2042c58
-func_02042cfc kind:function(thumb,size=0x40) addr:0x2042cb8
+func_02042cfc kind:function(thumb,size=0x3e) addr:0x2042cb8
func_02042d3c kind:function(thumb,size=0x14) addr:0x2042cf8
func_02042d50 kind:function(arm,size=0x24) addr:0x2042d0c
func_02042d74 kind:function(arm,size=0x4c) addr:0x2042d30
@@ -2425,20 +2425,20 @@ func_0204fc20 kind:function(arm,size=0x48) addr:0x204fbdc
func_0204fc68 kind:function(arm,size=0x4c) addr:0x204fc24
func_0204fcb4 kind:function(arm,size=0xc) addr:0x204fc70
func_0204fcc0 kind:function(thumb,size=0x28) addr:0x204fc7c
-func_0204fce8 kind:function(thumb,size=0x1c) addr:0x204fca4
+func_0204fce8 kind:function(thumb,size=0x1a) addr:0x204fca4
func_0204fd04 kind:function(thumb,size=0x10) addr:0x204fcc0
func_0204fd14 kind:function(thumb,size=0xac) addr:0x204fcd0
func_0204fdc0 kind:function(thumb,size=0x34) addr:0x204fd7c
func_0204fdf4 kind:function(thumb,size=0x28) addr:0x204fdb0
func_0204fe1c kind:function(thumb,size=0x3c) addr:0x204fdd8
-func_0204fe58 kind:function(thumb,size=0x18) addr:0x204fe14
-func_0204fe70 kind:function(thumb,size=0x30) addr:0x204fe2c
+func_0204fe58 kind:function(thumb,size=0x16) addr:0x204fe14
+func_0204fe70 kind:function(thumb,size=0x2e) addr:0x204fe2c
func_0204fea0 kind:function(thumb,size=0x38) addr:0x204fe5c
func_0204fed8 kind:function(thumb,size=0x78) addr:0x204fe94
func_0204ff50 kind:function(thumb,size=0x150) addr:0x204ff0c
func_020500a0 kind:function(thumb,size=0x1c) addr:0x205005c
func_020500bc kind:function(thumb,size=0x38) addr:0x2050078
-func_020500f4 kind:function(thumb,size=0x10) addr:0x20500b0
+func_020500f4 kind:function(thumb,size=0xe) addr:0x20500b0
func_02050104 kind:function(thumb,size=0xc) addr:0x20500c0
func_02050110 kind:function(thumb,size=0x64) addr:0x20500cc
func_02050174 kind:function(thumb,size=0xc) addr:0x2050130
@@ -2451,7 +2451,7 @@ func_02050684 kind:function(thumb,size=0x34) addr:0x2050640
func_020506b8 kind:function(thumb,size=0xd4) addr:0x2050674
func_0205078c kind:function(thumb,size=0x138) addr:0x2050748
func_020508c4 kind:function(thumb,size=0x54) addr:0x2050880
-func_02050918 kind:function(thumb,size=0xf4) addr:0x20508d4
+func_02050918 kind:function(thumb,size=0xf2) addr:0x20508d4
__sinit_02050ca0 kind:function(arm,size=0x14) addr:0x2050c5c
__sinit_02050cb4 kind:function(arm,size=0x2c) addr:0x2050c70
__sinit_02050ce0 kind:function(arm,size=0x2c) addr:0x2050c9c
diff --git a/docs/actors.md b/docs/actors.md
index 49300936..1787be41 100644
--- a/docs/actors.md
+++ b/docs/actors.md
@@ -80,6 +80,8 @@ translations. Feel free to contribute to this list!
`PSBA` | Pushable Armos | Armos statue
`PSBL` | Push Block
`RFLR` | Repeating? Floor | Moves repetetively along a set path
+`RLST` | Rolling Stone
+`RLSG` | Rolling Stone Generator
`SPRL` | Spike Roller
`WBLK` | Wind Block | The blocks in the Wind Temple that blow air
`WPHL` | Warp Hole | Blue warp
@@ -101,7 +103,7 @@ translations. Feel free to contribute to this list!
`CHUC` | ChuChu
`CROW` | Crow | Bird that steals rupees
`EGST` | Escape Ghost | Poe
-`FLTB` | Floating ??? | Flying pot
+`FLTB` | Flying Tsubo (つぼ) | Flying pot
`FSHB` | Fish Bullet | Geozard bullet
`FSHM` | Fishman | Geozard
`GELL` | Gel
@@ -116,7 +118,7 @@ translations. Feel free to contribute to this list!
`OCSH` | Octa Shell | Octorok bullet
`OCTA` | Octarock | Octorok
`PBLN` | Petit Blin | Miniblin
-`PB ` | | Eye Slug
+`PBZK` | | Eye Slug
`PLSV` | Pols Voice
`POON` | Pōn (ポーン) | Hardhat beetle
`RAT0` | Rat
@@ -124,11 +126,15 @@ translations. Feel free to contribute to this list!
`RAT1`
`SNAK` | Snake | Rope, the purple snake enemy
`SPDR` | Spider | Skulltula
+`STLB` | Stalfos bone | Projectile thrown by Stalfos
`STLF` | Stalfos
+`STLH` | Stalfos head
+`STLP` | Stalfos | Stationary, throws bones constantly
`STLW` | Stalfos Warrior
`TAIL` | Tail | Moldorm head
`TALB` | Tail Body | One of Moldorm's 3 body parts
`TEKT` | Tektite
+`UBLN` | Umi (うみ) Blin | Pirate miniblin
`WTCR` | Watcher | Phantom eye
`YETI` | Yook
@@ -167,6 +173,7 @@ translations. Feel free to contribute to this list!
`CMNC` | Character Man C | Doudo, man in blue of Mercay Island
`COMA` | Character Old A | Tuzi, woman in brown of Mercay Island
`COBS` | Character Old B/Shared | Maltza, man at the bar of Mercay Island
+`CPSK` | Carpenter Spirit Knight? | Cobble spirit (Brant, Bremeur, Doylan, Max)
`CRPS` | Corpse | Non-moving skeleton with a blue spirit
`CSTM` | Character Standard Man | Adult Male NPC
`CWIF` | Character Wife | Maronie, woman in purple of Molida Island
@@ -220,7 +227,10 @@ translations. Feel free to contribute to this list!
`FSRL` | Fish Reel | Roaming fish
`GFIS` | Golden Frog ???
`GSIP` | Ghost Ship
+`GYRG` | Gyorg
+`GYMG` | Gyorg monster generator
`HRCN` | Hurricane | Stops you from going to other seas
+`KMGA` | Kamome (カモメ) Generator | Seagull generator
`KMME` | Kamome (カモメ) | Seagull
`LOND` | | Explosive barrel
`PLSP` | Pirate Lady Ship | Jolene's ship
@@ -231,6 +241,7 @@ translations. Feel free to contribute to this list!
`SLTR` | Salvage ??? | Salvage arm
`SLOC` | Salvage Octorok
`SLRC` | Salvage Rupee ???
+`SNGA` | Sea NPC Generator | Spawns sea monsters
`SNAV` | Sea Navi | Shows proximity to the Ghost Ship
`SPKN` | Sea Plant ??? | Eye Plant
`SROP` | Sea Rope | Sea Trap rope, jump over to avoid damage
diff --git a/docs/decompiling.md b/docs/decompiling.md
index 3ec8f682..e9f9c3b1 100644
--- a/docs/decompiling.md
+++ b/docs/decompiling.md
@@ -8,7 +8,7 @@ stuck or need assistance.
- [The Ghidra project](#the-ghidra-project)
## Pick a source file
-See the `decomp` tag in the [issue tracker](https://github.com/AetiasHax/ph/issues?q=is%3Aopen+is%3Aissue+label%3Adecomp) for
+See the `decomp` tag in the [issue tracker](https://github.com/zeldaret/ph/issues?q=is%3Aopen+is%3Aissue+label%3Adecomp) for
a list of delinked source files that are ready to be decompiled. This list grows as more source files are delinked from the
rest of the base ROM.
diff --git a/docs/overlays.md b/docs/overlays.md
index d966dd91..00eecb0d 100644
--- a/docs/overlays.md
+++ b/docs/overlays.md
@@ -18,11 +18,11 @@ contribute to this list!
`11` | --- | 3 |
`12` | Battle | 3 | Handles battle mode.
`13` | --- | 3 |
-`14` | Land | 4 | Link and essential land-based actors
-`15` | --- | 4 |
+`14` | Land | 4 | Link and essential land-based actors.
+`15` | Sea | 4 | Handles the sea, Linebeck's ship, and sea-based actors.
`16` | Startup | N/A | Exists briefly on game startup. Initializes RNG, messages, and more.
-`17` | --- | 5 |
-`18` | --- | 5 |
+`17` | Dungeon | 5 | Handles courses for caves and dungeons.
+`18` | Overworld | 5 | Handles overworld courses on land.
`19` | --- | 6 |
`20` | --- | 6 |
`21` | --- | 6 |
diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp
index 2a30a7c1..b58c39c8 100644
--- a/include/Actor/Actor.hpp
+++ b/include/Actor/Actor.hpp
@@ -35,8 +35,8 @@ struct Actor_UnkStruct_020 {
/* 08 */ u8 mUnk_08[2];
/* 0a */ u8 mUnk_0a[2];
/* 0c */ unk8 mUnk_0c;
- /* 0d */ unk8 mUnk_0d;
- /* 0e */ unk8 mUnk_0e;
+ /* 0d */ u8 mUnk_0d;
+ /* 0e */ u8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */ unk32 mUnk_10;
/* 14 */
@@ -64,6 +64,7 @@ struct Actor_UnkStruct_0a4 {
/* 14 */
Actor_UnkStruct_0a4(q20 x, q20 y, q20 z, s32 unk_10);
+ void func_ov000_0207a1c8(unk32 param1, Vec3p *param2);
};
class KillPickupsFilter : FilterActorReturn, public FilterActorBase {
@@ -83,7 +84,8 @@ enum PlayerCollide_ {
PlayerCollide_Gongoron = 0x8,
PlayerCollide_Hammer = 0x10,
- PlayerCollide_PickupFlags = PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player,
+ /* 0x1b */ PlayerCollide_PickupFlags =
+ PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player,
};
struct Knockback {
@@ -108,8 +110,7 @@ public:
/* 012 */ unk16 mUnk_012;
/* 014 */ Vec3p mUnk_014;
/* 020 */ Actor_UnkStruct_020 mUnk_020;
- /* 034 */ unk32 mUnk_034;
- /* 038 */ unk32 mUnk_038;
+ /* 034 */ ActorRef mUnk_034;
/* 03c */ unk32 mUnk_03c;
/* 040 */ ActorRef mUnk_040;
/* 048 */ Vec3p mPos;
@@ -136,10 +137,10 @@ public:
/* 108 */ unk8 mUnk_108;
/* 109 */ unk8 mUnk_109;
/* 10a */ unk8 mUnk_10a[0x6];
- /* 110 */ unk8 mUnk_110;
+ /* 110 */ bool mUnk_110;
/* 111 */ bool mUnk_111;
- /* 112 */ unk8 mUnk_112;
- /* 113 */ unk8 mUnk_113;
+ /* 112 */ bool mUnk_112;
+ /* 113 */ bool mUnk_113;
/* 114 */ unk8 mUnk_114;
/* 115 */ unk8 mUnk_115;
/* 116 */ unk8 mUnk_116;
@@ -172,8 +173,8 @@ public:
/* 158 */
/* 00 */ virtual ~Actor();
- /* 08 */ virtual bool vfunc_08();
- /* 0c */ virtual void vfunc_0c();
+ /* 08 */ virtual bool Init();
+ /* 0c */ virtual bool vfunc_0c();
/* 10 */ virtual void vfunc_10(u32 param1);
/* 14 */ virtual void vfunc_14(u32 param1);
/* 18 */ virtual void vfunc_18(u32 param1);
@@ -227,7 +228,7 @@ public:
bool func_ov00_020c195c();
bool func_ov00_020c198c();
void KillPickupItemActors();
- void func_Ov00_020c1bfc(s32 param1);
+ bool func_ov00_020c1bfc(s32 param1);
void func_ov00_020c1c20(s32 param1, unk32 param2);
bool IsNearLink();
void func_ov00_020c1cf8();
diff --git a/include/Actor/ActorRef.hpp b/include/Actor/ActorRef.hpp
index 5ef03f2c..eeace571 100644
--- a/include/Actor/ActorRef.hpp
+++ b/include/Actor/ActorRef.hpp
@@ -8,9 +8,7 @@ struct ActorRef {
/* 4 */ s32 index;
/* 8 */
- inline ActorRef() {
- Reset();
- }
+ inline ActorRef() {}
inline ActorRef(s32 id, s32 index) :
id(id),
index(index) {}
diff --git a/include/Actor/ActorRupee.hpp b/include/Actor/ActorRupee.hpp
index a5fcbea3..983abaae 100644
--- a/include/Actor/ActorRupee.hpp
+++ b/include/Actor/ActorRupee.hpp
@@ -33,7 +33,7 @@ public:
/* 160 */
/* 00 */ virtual ~ActorRupee() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
diff --git a/include/Actor/ActorSpawner.hpp b/include/Actor/ActorSpawner.hpp
index 94047e10..e99bafb3 100644
--- a/include/Actor/ActorSpawner.hpp
+++ b/include/Actor/ActorSpawner.hpp
@@ -5,10 +5,23 @@
#include "global.h"
#include "types.h"
+#include "Actor/Actor.hpp"
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
+#include "System/SysNew.hpp"
-class ActorSpawner {
+struct ActorSpawnOptions {
+ /* 00 */ Actor_UnkStruct_020 mUnk_00;
+ /* 14 */ s16 mAngle;
+ /* 16 */ unk8 mUnk_16[0x2];
+ /* 18 */ unk32 mUnk_18;
+ /* 1c */ ActorRef mUnk_1c;
+ /* 24 */ unk32 mUnk_24;
+ /* 28 */ unk32 mUnk_28;
+ /* 2c */
+};
+
+class ActorSpawner : public SysObject {
public:
/* 0 (empty) */
@@ -18,8 +31,8 @@ public:
~ActorSpawner();
void func_ov000_020c4014();
void func_ov000_020c4018();
- Actor *CreateActor(ActorTypeId type);
- s32 Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref);
+ Actor *CreateActor(ActorTypeId typeId);
+ s32 Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *param3, ActorRef *ref);
};
extern ActorSpawner *gActorSpawner;
diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp
index 7842da14..1d7d5723 100644
--- a/include/Actor/ActorType.hpp
+++ b/include/Actor/ActorType.hpp
@@ -25,8 +25,13 @@ enum ActorTypeId_ {
ActorTypeId_ShopItemShield = 'ITSL',
ActorTypeId_ShopItemSoldOut = 'ITSO',
- ActorTypeId_Heart = 'HART',
- ActorTypeId_Rupee = 'RUPY',
+ ActorTypeId_RefillArrows = 'FLAL',
+ ActorTypeId_RefillBombs = 'FLBM',
+ ActorTypeId_RefillBombchus = 'FLBT',
+ ActorTypeId_RefillTime = 'FLTM',
+ ActorTypeId_Heart = 'HART',
+ ActorTypeId_LSTM = 'LSTM',
+ ActorTypeId_Rupee = 'RUPY',
ActorTypeId_Arrow = 'ARRW',
ActorTypeId_Blast = 'BLST',
@@ -41,6 +46,7 @@ enum ActorTypeId_ {
ActorTypeId_SmallKey = 'NKEY',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
+ ActorTypeId_ActionObject = 'ACOB',
ActorTypeId_Sandworm = 'MLDW',
ActorTypeId_Tektite = 'TEKT',
diff --git a/include/Actor/Dungeon/ActorActionObject.hpp b/include/Actor/Dungeon/ActorActionObject.hpp
new file mode 100644
index 00000000..c4e2add3
--- /dev/null
+++ b/include/Actor/Dungeon/ActorActionObject.hpp
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "Actor/Actor.hpp"
+
+class ActorActionObject : public Actor {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 158 */
+
+ /* 00 */ virtual ~ActorActionObject() override;
+ /* 08 */ virtual bool Init() override;
+ /* 14 */ virtual void vfunc_14(u32 param1) override;
+ /* 18 */ virtual void vfunc_18(u32 param1) override;
+ /* b4 */
+
+ static ActorActionObject *Create();
+ ActorActionObject();
+};
diff --git a/include/Actor/Dungeon/ActorEventIcon.hpp b/include/Actor/Dungeon/ActorEventIcon.hpp
index ccef162d..a7a86751 100644
--- a/include/Actor/Dungeon/ActorEventIcon.hpp
+++ b/include/Actor/Dungeon/ActorEventIcon.hpp
@@ -17,7 +17,7 @@ public:
/* 160 */ UnkStruct_02035064 mUnk_160;
/* 00 */ virtual ~ActorEventIcon() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 1c */ virtual void vfunc_1c(u16 *param1) override;
diff --git a/include/Actor/Dungeon/ActorSwitchObject.hpp b/include/Actor/Dungeon/ActorSwitchObject.hpp
index b2fa08d3..0658fcb2 100644
--- a/include/Actor/Dungeon/ActorSwitchObject.hpp
+++ b/include/Actor/Dungeon/ActorSwitchObject.hpp
@@ -21,8 +21,8 @@ public:
/* 198 */
/* 00 */ virtual ~ActorSwitchObject() override;
- /* 08 */ virtual bool vfunc_08() override;
- /* 0c */ virtual void vfunc_0c() override;
+ /* 08 */ virtual bool Init() override;
+ /* 0c */ virtual bool vfunc_0c() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
diff --git a/include/Actor/Navi/ActorForceNavi.hpp b/include/Actor/Navi/ActorForceNavi.hpp
new file mode 100644
index 00000000..18a124f4
--- /dev/null
+++ b/include/Actor/Navi/ActorForceNavi.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "Actor/Navi/ActorNaviBase.hpp"
+
+class ActorForceNavi : public ActorNaviBase {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 294 */
+
+ /* b4 */ virtual FairyId GetFairyId() override;
+
+ static ActorForceNavi *Create();
+};
diff --git a/include/Actor/Navi/ActorNavi.hpp b/include/Actor/Navi/ActorNavi.hpp
index 98ebcf51..f8a86acc 100644
--- a/include/Actor/Navi/ActorNavi.hpp
+++ b/include/Actor/Navi/ActorNavi.hpp
@@ -1,3 +1,65 @@
#pragma once
-class ActorNavi;
+#include "Actor/Navi/ActorNaviBase.hpp"
+#include "Unknown/UnkStruct_ov000_020beba8.hpp"
+
+class UnkStruct_ov000_020b8110 : public UnkStruct_ov000_020beba8 {
+public:
+ /* 0 (base) */
+ /* c */
+
+ /* 00 */ virtual ~UnkStruct_ov000_020b8110() override;
+ /* 08 */ virtual void vfunc_08(unk16 *param1) override;
+ /* 14 */ virtual void vfunc_14(u16 *param1) override;
+ /* 18 */ virtual void vfunc_18(s32 *param1) override;
+ /* 1c */
+
+ UnkStruct_ov000_020b8110();
+};
+
+class ActorNavi : public ActorNaviBase {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 294 */ ModelRender mUnk_294;
+ /* 2f0 */ void *mUnk_2f0;
+ /* 2f4 */ unk8 mUnk_2f4[0x40];
+ /* 334 */ unk32 mUnk_334;
+ /* 338 */ unk32 mUnk_338;
+ /* 33c */ unk32 mUnk_33c;
+ /* 340 */ unk16 mUnk_340;
+ /* 342 */ unk8 mUnk_342[0x2];
+ /* 344 */ unk32 mUnk_344;
+ /* 348 */ unk32 mUnk_348;
+ /* 34c */ unk8 mUnk_34c[0x68];
+ /* 3b4 */ EquipHammer *mHammer;
+ /* 3b8 */ unk32 mUnk_3b8;
+ /* 3bc */ unk32 mUnk_3bc;
+ /* 3c0 */ unk8 mUnk_3c0[0x8];
+ /* 3c8 */
+
+ /* 00 */ virtual ~ActorNavi() override;
+ /* 08 */ virtual bool Init() override;
+ /* 20 */ virtual void vfunc_20(bool param1) override;
+ /* 8c */ virtual bool vfunc_8c() override;
+ /* b4 */ virtual FairyId GetFairyId() override;
+ /* b8 */ virtual s32 vfunc_b8() override;
+ /* c0 */ virtual bool vfunc_c0(Vec3p *param1) override;
+ /* c4 */ virtual void vfunc_c4() override;
+ /* c8 */ virtual void vfunc_c8() override;
+ /* cc */ virtual bool vfunc_cc(unk32 *param1) override;
+ /* d0 */ virtual void vfunc_d0() override;
+ /* d4 */ virtual void vfunc_d4() override;
+ /* d8 */ virtual void vfunc_d8() override;
+ /* dc */ virtual void SetActive(bool active) override;
+ /* e0 */ virtual void vfunc_e0() override;
+ /* e8 */ virtual void vfunc_e8() override;
+ /* ec */ virtual void vfunc_ec() override;
+
+ static ActorNavi *Create();
+ void func_ov000_020b8200();
+ void func_ov000_020b853c();
+
+ ActorNavi();
+};
diff --git a/include/Actor/Navi/ActorNaviBase.hpp b/include/Actor/Navi/ActorNaviBase.hpp
index f3a45e8a..c7dd7cea 100644
--- a/include/Actor/Navi/ActorNaviBase.hpp
+++ b/include/Actor/Navi/ActorNaviBase.hpp
@@ -7,20 +7,30 @@
#include "Player/EquipHammer.hpp"
#include "Render/ModelRender.hpp"
+typedef s32 FairyId;
+enum FairyId_ {
+ FairyId_None = -1,
+ FairyId_Courage = 0,
+ FairyId_Power = 1,
+ FairyId_Wisdom = 2,
+ FairyId_COUNT = 3,
+};
+
class ActorNaviBase_Unk1 {};
class ActorNaviBase : public Actor {
+public:
/* 000 (base) */
- /* 158 */ Vec3p mUnk_158;
+ /* 158 */ Vec3p mOffsetPos;
/* 164 */ unk32 mUnk_164;
/* 168 */ ModelRender mUnk_168;
/* 1c4 */ unk8 mUnk_1c4[0xc];
- /* 1d0 */ void *mUnk_1d0;
- /* 1d4 */ unk8 mUnk_1d4[0x30];
+ /* 1d0 */ unk8 mUnk_1d0[0x24];
+ /* 1f4 */ unk8 mUnk_1f4[0x20];
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 222 */ unk16 mUnk_222;
- /* 224 */ unk8 mUnk_224[0x18];
+ /* 224 */ unk8 mUnk_224[0x28];
/* 24c */ unk32 mUnk_24c;
/* 250 */ unk32 mUnk_250;
/* 254 */ unk32 mUnk_254;
@@ -33,25 +43,10 @@ class ActorNaviBase : public Actor {
/* 288 */ unk8 mUnk_288[0x2];
/* 28a */ unk16 mUnk_28a;
/* 28c */ unk8 mUnk_28c[0x8];
- /* 294 */ ModelRender mUnk_294;
- /* 2f0 */ void *mUnk_2f0;
- /* 2f4 */ unk8 mUnk_2f4[0x40];
- /* 334 */ unk32 mUnk_334;
- /* 338 */ unk32 mUnk_338;
- /* 33c */ unk32 mUnk_33c;
- /* 340 */ unk16 mUnk_340;
- /* 342 */ unk8 mUnk_342[0x2];
- /* 344 */ unk32 mUnk_344;
- /* 348 */ unk32 mUnk_348;
- /* 34c */ unk8 mUnk_34c[0x68];
- /* 3b4 */ EquipHammer *mHammer;
- /* 3b8 */ unk32 mUnk_3b8;
- /* 3bc */ unk32 mUnk_3bc;
- /* 3c0 */ unk8 mUnk_3c0[0x8];
- /* 3c8 */
+ /* 294 */
/* 00 */ virtual ~ActorNaviBase() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
@@ -65,9 +60,7 @@ class ActorNaviBase : public Actor {
/* 84 */ virtual void vfunc_84() override;
/* 90 */ virtual bool vfunc_90() override;
/* 94 */ virtual void vfunc_94() override;
- /* a0 */ virtual bool TrySetTransform(Transform *transform) override;
- /* b0 */ virtual void SetTransform(Transform *transform) override;
- /* b4 */ virtual void vfunc_b4() = 0;
+ /* b4 */ virtual FairyId GetFairyId() = 0;
/* b8 */ virtual s32 vfunc_b8();
/* bc */ virtual bool vfunc_bc(unk32 param1, unk8 param2, s32 param3);
/* c0 */ virtual bool vfunc_c0(Vec3p *param1);
diff --git a/include/Actor/Navi/ActorWisdomNavi.hpp b/include/Actor/Navi/ActorWisdomNavi.hpp
new file mode 100644
index 00000000..fb6d2641
--- /dev/null
+++ b/include/Actor/Navi/ActorWisdomNavi.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "Actor/Navi/ActorNaviBase.hpp"
+
+class ActorWisdomNavi : public ActorNaviBase {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 294 */
+
+ /* b4 */ virtual FairyId GetFairyId() override;
+
+ static ActorWisdomNavi *Create();
+};
diff --git a/include/Actor/Player/ActorArrow.hpp b/include/Actor/Player/ActorArrow.hpp
index a0ced1e3..021007f6 100644
--- a/include/Actor/Player/ActorArrow.hpp
+++ b/include/Actor/Player/ActorArrow.hpp
@@ -36,7 +36,7 @@ public:
/* 1b8 */
/* 00 */ virtual ~ActorArrow() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
diff --git a/include/Actor/Player/ActorBlast.hpp b/include/Actor/Player/ActorBlast.hpp
index a1e8b5fe..431cc1d7 100644
--- a/include/Actor/Player/ActorBlast.hpp
+++ b/include/Actor/Player/ActorBlast.hpp
@@ -19,7 +19,7 @@ public:
/* 164 */
/* 00 */ virtual ~ActorBlast() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
diff --git a/include/Actor/Player/ActorBomb.hpp b/include/Actor/Player/ActorBomb.hpp
index 17538bf8..3817a73e 100644
--- a/include/Actor/Player/ActorBomb.hpp
+++ b/include/Actor/Player/ActorBomb.hpp
@@ -54,7 +54,7 @@ public:
/* 26c */
/* 00 */ virtual ~ActorBomb() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
diff --git a/include/Actor/Player/ActorRefill.hpp b/include/Actor/Player/ActorRefill.hpp
new file mode 100644
index 00000000..eeab2793
--- /dev/null
+++ b/include/Actor/Player/ActorRefill.hpp
@@ -0,0 +1,113 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Actor/Actor.hpp"
+#include "Actor/ActorType.hpp"
+
+class ActorRefill : public Actor {
+public:
+ /* 000 (base) */
+ /* 158 */ unk32 mUnk_158;
+ /* 15c */ unk32 mUnk_15c;
+ /* 160 */ unk32 mUnk_160;
+ /* 164 */ u8 mUnk_164;
+ /* 165 */ unk8 mUnk_165[0x3];
+ /* 168 */
+
+public:
+ ActorRefill(unk32 param1);
+
+ /* 00 */ virtual ~ActorRefill() override;
+ /* 08 */ virtual bool Init() override;
+ /* 14 */ virtual void vfunc_14(u32 param1) override;
+ /* 20 */ virtual void vfunc_20(bool param1) override;
+ /* b4 */ virtual ItemFlag GetAmmoItem() = 0;
+ /* b8 */
+
+ bool func_ov014_02135364(unk32 param1);
+ void func_ov014_02135474();
+};
+
+class ActorRefillBombs : public ActorRefill {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 168 */
+
+public:
+ ActorRefillBombs();
+ static ActorRefillBombs *Create();
+
+ /* 00 */ virtual ~ActorRefillBombs() override;
+ /* b4 */ virtual ItemFlag GetAmmoItem() override;
+ /* b8 */
+};
+
+class ActorRefillBombchus : public ActorRefill {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 168 */
+
+public:
+ ActorRefillBombchus();
+ static ActorRefillBombchus *Create();
+
+ /* 00 */ virtual ~ActorRefillBombchus() override;
+ /* b4 */ virtual ItemFlag GetAmmoItem() override;
+ /* b8 */
+};
+
+class ActorRefillArrows : public ActorRefill {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 168 */
+
+public:
+ ActorRefillArrows();
+ static ActorRefillArrows *Create();
+
+ /* 00 */ virtual ~ActorRefillArrows() override;
+ /* b4 */ virtual ItemFlag GetAmmoItem() override;
+ /* b8 */
+};
+
+class ActorRefillTime : public ActorRefill {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 168 */
+
+public:
+ ActorRefillTime();
+ static ActorRefillTime *Create();
+
+ /* 00 */ virtual ~ActorRefillTime() override;
+ /* 08 */ virtual bool Init() override;
+ /* b4 */ virtual ItemFlag GetAmmoItem() override;
+ /* b8 */
+};
+
+class ActorLSTM : public ActorRefill {
+public:
+ static ActorType gType;
+
+ /* 000 (base) */
+ /* 168 */
+
+public:
+ ActorLSTM();
+ static ActorLSTM *Create();
+
+ /* 00 */ virtual ~ActorLSTM() override;
+ /* 08 */ virtual bool Init() override;
+ /* b4 */ virtual ItemFlag GetAmmoItem() override;
+ /* b8 */
+};
diff --git a/include/Actor/Player/ActorRope.hpp b/include/Actor/Player/ActorRope.hpp
index 1d70a5fd..245a7851 100644
--- a/include/Actor/Player/ActorRope.hpp
+++ b/include/Actor/Player/ActorRope.hpp
@@ -46,7 +46,7 @@ public:
/* 1a0 */
/* 00 */ virtual ~ActorRope() override;
- /* 08 */ virtual bool vfunc_08() override;
+ /* 08 */ virtual bool Init() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
diff --git a/include/DTCM/UnkStruct_027e05f8.hpp b/include/DTCM/UnkStruct_027e05f8.hpp
index 40d8d731..a5bc24d6 100644
--- a/include/DTCM/UnkStruct_027e05f8.hpp
+++ b/include/DTCM/UnkStruct_027e05f8.hpp
@@ -4,9 +4,10 @@
#include "types.h"
struct UnkStruct_027e05f8 {
- // TODO: Add fields
- unk16 mUnk_00;
- u16 mUnk_02;
+ /* 0 */ u16 mUnk_0;
+ /* 2 */ u16 mUnk_2;
+ /* 4 */ unk16 mUnk_4;
+ /* 6 */
void func_0202adf4(unk32 param1, s32 param2);
~UnkStruct_027e05f8();
diff --git a/include/DTCM/UnkStruct_027e077c.hpp b/include/DTCM/UnkStruct_027e077c.hpp
index 3adda2bc..57ef477d 100644
--- a/include/DTCM/UnkStruct_027e077c.hpp
+++ b/include/DTCM/UnkStruct_027e077c.hpp
@@ -4,8 +4,26 @@
#include "types.h"
struct UnkStruct_027e077c {
- // TODO: Add fields
+private:
+ /* 0 */ unk32 mUnk_0;
+ /* 4 */ unk32 mUnk_4;
+
+public:
+ /* 8 */ unk16 mUnk_8;
+ /* a */ unk8 mUnk_a;
+ /* b */
UnkStruct_027e077c(unk32 param1);
bool func_0202e740(unk32 param1);
+
+ inline volatile unk32 GetUnk0() const {
+ return mUnk_0;
+ }
+
+ inline unk32 GetUnk4() const {
+ return mUnk_4;
+ }
};
+
+extern UnkStruct_027e077c data_027e077c;
+extern volatile u8 data_02056be4[];
diff --git a/include/DTCM/UnkStruct_027e0c68.hpp b/include/DTCM/UnkStruct_027e0c68.hpp
new file mode 100644
index 00000000..e172e51e
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0c68.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Debug/DebugHierarchyBase.hpp"
+
+struct UnkStruct_027e0c68 {
+ /* 00 */ unk8 mUnk_00[4];
+ /* 04 */ u8 mUnk_04;
+ /* 05 */ unk8 mUnk_05[3];
+ /* 08 */ unk32 mUnk_08;
+ /* 0c */ unk8 mUnk_0c[4];
+ /* 10 */ unk16 mUnk_10;
+ /* 12 */ unk8 mUnk_12[2];
+ /* 14 */ unk32 mUnk_14;
+ /* 18 */ s32 mUnk_18;
+ /* 1c */ s32 mUnk_1c;
+ /* 20 */ s32 *mUnk_20;
+ /* 24 */ unk32 mUnk_24;
+ /* 28 */ s32 *mUnk_28;
+ /* 2c */ unk8 mUnk_2c[0x1c];
+ /* 48 */ DebugHierarchyBase *mDebug;
+ /* 4c */
+};
+
+extern UnkStruct_027e0c68 data_027e0c68;
diff --git a/include/DTCM/UnkStruct_027e0d38.hpp b/include/DTCM/UnkStruct_027e0d38.hpp
index a36af0fe..b2e50a89 100644
--- a/include/DTCM/UnkStruct_027e0d38.hpp
+++ b/include/DTCM/UnkStruct_027e0d38.hpp
@@ -3,6 +3,12 @@
#include "global.h"
#include "types.h"
+struct UnkStruct_027e0d38_Unk28 {
+ /* 00 */ unk8 mUnk_00[0x34];
+ /* 34 */ bool mUnk_34;
+ /* 35 */
+};
+
struct UnkStruct_027e0d38 {
/* 00 */ unk8 mUnk_00;
/* 01 */ unk8 mUnk_01[3]; // padding?
@@ -19,10 +25,10 @@ struct UnkStruct_027e0d38 {
/* 21 */ unk8 mUnk_21;
/* 22 */ unk8 mUnk_22[2]; // padding?
/* 24 */ void *mUnk_24;
- /* 28 */ void *mUnk_28;
+ /* 28 */ UnkStruct_027e0d38_Unk28 *mUnk_28;
/* 2c */
- unk32 func_ov000_02078b40();
+ s32 func_ov000_02078b40();
unk8 func_ov000_02078b64();
bool func_ov000_02078b88();
};
diff --git a/include/DTCM/UnkStruct_027e0e2c.hpp b/include/DTCM/UnkStruct_027e0e2c.hpp
new file mode 100644
index 00000000..b8923bde
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0e2c.hpp
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+struct UnkStruct_027e0e2c {
+ /* 00 */ unk32 mUnk_00;
+ /* 04 */ unk32 mUnk_04;
+ /* 08 */ unk32 mUnk_08;
+ /* 0c */ unk32 mUnk_0c;
+ /* 10 */ unk32 mUnk_10;
+ /* 14 */ unk16 mUnk_14;
+ /* 16 */ unk16 mUnk_16;
+ /* 18 */ unk32 mUnk_18;
+ /* 1c */ unk32 mUnk_1c;
+ /* 20 */ unk32 mUnk_20;
+ /* 24 */ unk32 mUnk_24;
+ /* 28 */ unk32 mUnk_28;
+ /* 2c */
+};
+
+extern UnkStruct_027e0e2c data_027e0e2c;
diff --git a/include/DTCM/UnkStruct_027e0f64.hpp b/include/DTCM/UnkStruct_027e0f64.hpp
new file mode 100644
index 00000000..33728a7e
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0f64.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+struct UnkStruct_027e0f64 {
+ /* 0 */ DebugHierarchyBase *mUnk_0;
+ /* 4 */ void *mUnk_4;
+ /* 8 */ void *mUnk_8;
+ /* c */
+
+ unk32 func_ov000_0208b180();
+};
+
+extern UnkStruct_027e0f64 *data_027e0f64;
diff --git a/include/DTCM/UnkStruct_027e0ffc.hpp b/include/DTCM/UnkStruct_027e0ffc.hpp
new file mode 100644
index 00000000..463d9ec8
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0ffc.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+struct UnkStruct_027e0ffc {
+ /* 00 */ unk32 mUnk_00;
+ /* 04 */ unk32 mUnk_04[0x4];
+ /* 14 */ unk32 mUnk_14;
+ /* 18 */ unk32 mUnk_18;
+ /* 1c */ unk32 mUnk_1c;
+ /* 20 */ unk32 mUnk_20;
+ /* 24 */ unk8 mUnk_24;
+ /* 25 */ unk8 mUnk_25[0x3];
+ /* 28 */ unk32 mUnk_28;
+ /* 2c */ unk32 mUnk_2c;
+ /* 30 */ unk32 mUnk_30;
+ /* 34 */ unk32 mUnk_34;
+ /* 38 */ unk8 mUnk_38;
+ /* 39 */
+
+ void func_ov000_020cebcc(u32 param1, unk16 param2, unk32 param3);
+ void func_ov000_020ced64(Cylinder *param1, u32 param2, u32 param3);
+ void func_ov000_020ced7c(Vec3p *param1, s32 param2, s32 param3, unk32 param4);
+};
+
+extern UnkStruct_027e0ffc data_027e0ffc;
diff --git a/include/DTCM/UnkStruct_027e1098.hpp b/include/DTCM/UnkStruct_027e1098.hpp
new file mode 100644
index 00000000..043e108a
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e1098.hpp
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "types.h"
+
+struct UnkStruct_027e1098 {
+ /* 00 */ unk8 mUnk_00[0x38];
+ /* 38 */ unk32 mUnk_38;
+ /* 3c */ unk32 mUnk_3c;
+ /* 40 */ unk32 mUnk_40;
+ /* 44 */ unk32 mUnk_44;
+ /* 48 */ unk8 mUnk_48;
+ /* 49 */ unk8 mUnk_49;
+ /* 4a */ unk8 mUnk_4a;
+ /* 4b */ unk8 mUnk_4b;
+ /* 4c */ unk32 mUnk_4c;
+ /* 50 */
+
+ void func_ov014_0211fd04();
+};
+
+extern UnkStruct_027e1098 *data_027e1098;
diff --git a/include/Debug/DebugHierarchyBase.hpp b/include/Debug/DebugHierarchyBase.hpp
index 5b4a175a..ca1e0eb7 100644
--- a/include/Debug/DebugHierarchyBase.hpp
+++ b/include/Debug/DebugHierarchyBase.hpp
@@ -19,14 +19,15 @@ public:
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
- /* 20 */ virtual void vfunc_20();
+ /* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2c */ virtual void vfunc_2c();
/* 30 */ virtual void vfunc_30();
- /* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4);
+ /* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
+ unk32 param6, unk32 param7, unk32 param8);
/* 38 */ virtual void vfunc_38();
- /* 3c */ virtual void vfunc_3c();
+ /* 3c */ virtual void vfunc_3c(unk32 param1, void *param2);
/* 40 */
DebugHierarchyBase();
diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp
index 4d70c9f1..cea5c551 100644
--- a/include/Item/Item.hpp
+++ b/include/Item/Item.hpp
@@ -50,7 +50,7 @@ enum ItemFlag_ {
/* 0x2d */ ItemFlag_SwordsmansScroll = 45,
/* 0x2e */ ItemFlag_CycloneSlate = 46,
- /* 0x2f */ ItemFlag_Unk_47 = 47,
+ /* 0x2f */ ItemFlag_BigCatchLure = 47,
/* 0x60 */ ItemFlag_TreasureChart1 = 96,
/* 0x61 */ ItemFlag_TreasureChart2 = 97,
@@ -224,7 +224,7 @@ enum ItemId_ {
/* 0x7d */ ItemId_Unk_125 = 125,
/* 0x7e */ ItemId_Unk_126 = 126,
/* 0x7f */ ItemId_CycloneSlate = 127,
- /* 0x80 */ ItemId_Unk_128 = 128,
+ /* 0x80 */ ItemId_BigCatchLure = 128,
/* 0x81 */ ItemId_Rupoor10 = 129,
/* 0x82 */ ItemId_Rupoor50 = 130,
/* 0x83 */ ItemId_Unk_131 = 131,
diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp
index c0a84aa7..34d5a636 100644
--- a/include/Item/ItemManager.hpp
+++ b/include/Item/ItemManager.hpp
@@ -8,7 +8,7 @@ extern "C" {
#include "nds/math.h"
#include "types.h"
-#include "Actor/Navi/ActorNavi.hpp"
+#include "Actor/Navi/ActorNaviBase.hpp"
#include "Item/Item.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
@@ -20,15 +20,6 @@ extern "C" {
#define MAX_AMMO_UPGRADE 2
#define MAX_UNK_0BA 9
-typedef s32 FairyId;
-enum FairyId_ {
- FairyId_None = -1,
- FairyId_Courage = 0,
- FairyId_Power = 1,
- FairyId_Wisdom = 2,
- FairyId_COUNT = 3,
-};
-
typedef u32 ItemModelId;
enum ItemModelId_ {
ItemModelId_OshusSword, // swA
@@ -60,13 +51,13 @@ enum DungeonItemModelId_ {
};
class ItemManager : public SysObject {
-private:
+public:
/* 000 */ ItemFlag mEquippedItem;
/* 004 */ ItemFlag mPrevEquippedItem;
/* 008 */ ItemFlag mForcedItem; // game crashes when any item besides this one is equipped
/* 00c */ u32 mHourglassSandFrames;
/* 010 */ FairyId mEquippedFairy;
- /* 014 */ ActorNavi *mFairies[FairyId_COUNT];
+ /* 014 */ ActorNaviBase *mFairies[FairyId_COUNT];
/* 020 */ u16 mEquipLoadTimer;
/* 022 */ u16 mNumRupees;
/* 024 */ u8 mNumGems[Gem_COUNT];
@@ -101,7 +92,6 @@ private:
/* 14e */ unk8 mUnk_14e[0x2]; // padding?
/* 150 */
-public:
static ItemManager *Create();
static void Destroy();
ItemManager();
@@ -114,7 +104,7 @@ public:
// Fairy
FairyId GetEquippedFairy() const;
- ActorNavi *GetFairy(FairyId id) const;
+ ActorNaviBase *GetFairy(FairyId id) const;
u32 GetActiveFairyLevel(FairyId id) const;
u32 GetFairyLevel(FairyId id) const;
void SpawnFairies();
@@ -144,7 +134,7 @@ public:
// Ammo
u16 GetAmmo(ItemFlag equipId) const;
- void GiveAmmo(ItemFlag equipId, u16 amount);
+ void GiveAmmo(ItemFlag equipId, u32 amount);
u16 GetMaxAmmo(ItemFlag equipId) const;
void UpgradeQuiver();
void UpgradeBombBag();
diff --git a/include/Item/ItemModelLoader.hpp b/include/Item/ItemModelLoader.hpp
index 6b06893a..3eb3e157 100644
--- a/include/Item/ItemModelLoader.hpp
+++ b/include/Item/ItemModelLoader.hpp
@@ -27,3 +27,5 @@ public:
static void Create();
static void Destroy();
};
+
+extern ItemModelLoader *gItemModelLoader;
diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp
index c92060a3..4c061620 100644
--- a/include/Map/MapBase.hpp
+++ b/include/Map/MapBase.hpp
@@ -113,8 +113,7 @@ public:
/* 188 */ unk8 mUnk_188[0x14];
/* 19c */ unk32 mUnk_19c;
/* 1a0 */ unk8 mUnk_1a0[0xc];
- /* 1ac */ s16 mUnk_1ac;
- /* 1ae */ unk8 mUnk_1ae[2];
+ /* 1ac */ unk32 mUnk_1ac;
/* 1b0 */
/* 00 */ virtual ~MapBase();
diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp
index 13ca4348..91e958d8 100644
--- a/include/Map/MapManager.hpp
+++ b/include/Map/MapManager.hpp
@@ -158,7 +158,7 @@ public:
bool func_ov00_020839c4(s32 param_2);
static unk8 func_ov00_020839d4();
static unk8 func_ov00_020839f8();
- static void func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3);
+ static void func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3);
static unk8 func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5);
static unk8 func_ov00_02083b84();
static unk8 func_ov00_02083bac();
@@ -166,7 +166,7 @@ public:
static unk8 func_ov00_02083bfc();
unk8 func_ov00_02083c24(unk32 param_2);
unk8 func_ov00_02083c50(unk32 param_2);
- unk8 func_ov00_02083c7c(Vec3p *param_2, unk32 param_3);
+ unk8 func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3);
static unk8 func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5);
unk8 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4);
unk8 MapData_vfunc_60();
@@ -180,7 +180,7 @@ public:
void GetTileWorldBounds(Vec2b *tile, AABB *tileBounds);
unk8 MapData_vfunc_54();
unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4);
- unk8 MapData_vfunc_78();
+ unk32 MapData_vfunc_78(Vec2b *param1);
static unk8 func_ov00_020840dc();
static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2);
unk8 GetMapData_Unk_48();
@@ -210,7 +210,7 @@ public:
unk8 func_ov00_0208499c();
unk8 func_ov00_020849c0();
unk8 func_ov00_020849dc();
- static bool func_ov00_020849f8(unk32 param_1);
+ bool func_ov00_020849f8();
unk8 func_ov00_02084a50();
void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4);
bool func_ov00_02084ac4(u32 actorId);
@@ -232,10 +232,10 @@ public:
unk8 func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4);
s32 func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4);
unk8 func_ov00_02084ebc(unk32 param_2);
- s32 func_ov00_02085108(s32 *param_2);
+ s32 func_ov00_02085108(Vec3p *param_2);
static unk8 func_ov00_0208527c();
static unk8 func_ov00_020853fc();
- static unk8 func_ov00_02085594();
+ unk8 func_ov00_02085594(Vec3p *param_1);
static void func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3);
static unk8 func_ov00_020858b0();
s32 func_ov00_02085a34(unk32 param_2, unk32 param_3);
diff --git a/include/Map/MapOverworld.hpp b/include/Map/MapOverworld.hpp
new file mode 100644
index 00000000..482b3ad1
--- /dev/null
+++ b/include/Map/MapOverworld.hpp
@@ -0,0 +1,75 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "Map/MapBase.hpp"
+#include "Render/ModelRender.hpp"
+#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
+
+class MapOverworld_Unk1 : public UnkStruct_ov000_020c0c08 {
+public:
+ /* 00 (base) */
+ /* 24 */
+
+ MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3);
+};
+
+class MapOverworld : public MapBase {
+public:
+ /* 000 (base) */
+ /* 1b0 */ void *mUnk_1b0;
+ /* 1b4 */ unk8 mUnk_1b4;
+ /* 1b5 */ unk8 mUnk_1b5;
+ /* 1b6 */ unk8 mUnk_1b6;
+ /* 1b7 */ unk8 mUnk_1b7;
+ /* 1b8 */ u8 mUnk_1b8;
+ /* 1b9 */ unk8 mUnk_1b9;
+ /* 1ba */ unk8 mUnk_1ba;
+ /* 1bb */ unk8 mUnk_1bb;
+ /* 1bc */ s32 mUnk_1bc;
+ /* 1c0 */ ModelRender *mUnk_1c0;
+ /* 1c4 */ void *mUnk_1c4;
+ /* 1c8 */ void *mUnk_1c8;
+ /* 1cc */ unk8 mUnk_1cc;
+ /* 1cd */ unk8 mUnk_1cd;
+ /* 1ce */ unk8 mUnk_1ce[0x2];
+ /* 1d0 */ unk32 mUnk_1d0;
+ /* 1d4 */ unk32 mUnk_1d4;
+ /* 1d8 */ s16 mUnk_1d8;
+ /* 1da */ s16 mUnk_1da;
+ /* 1dc */
+
+ /* 00 */ virtual ~MapOverworld() override;
+ /* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4) override;
+ /* 14 */ virtual void vfunc_14() override;
+ /* 1c */ virtual void vfunc_1c(bool param_2) override;
+ /* 20 */ virtual void vfunc_20(s32 param_2) override;
+ /* 2c */ virtual void vfunc_2c() override;
+ /* 4c */ virtual void vfunc_4c() override;
+ /* 54 */ virtual unk32 vfunc_54() override;
+ /* 58 */ virtual unk32 vfunc_58() override;
+ /* 5c */ virtual unk32 vfunc_5c() override;
+ /* 60 */ virtual unk32 vfunc_60() override;
+ /* 64 */ virtual unk32 vfunc_64() override;
+ /* 78 */ virtual unk32 vfunc_78() override;
+ /* 7c */ virtual unk32 vfunc_7c() override;
+ /* 80 */ virtual unk32 vfunc_80() override;
+ /* 94 */ virtual void vfunc_94() override;
+ /* 98 */ virtual void vfunc_98() override;
+ /* a4 */ virtual unk32 vfunc_a4() override;
+ /* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3) override;
+ /* bc */ virtual void vfunc_bc() override;
+ /* c0 */ virtual void vfunc_c0() override;
+ /* c4 */
+
+ MapOverworld(u32 width, u32 height);
+ void func_ov018_0215bfc8();
+ u32 func_ov018_0215c34c();
+ u32 func_ov018_0215c368();
+ s32 func_ov018_0215c380(u8 *param1);
+ void func_ov018_0215c650();
+ void func_ov018_0215c6ac();
+ void func_ov018_0215c6d0();
+ void func_ov018_0215c9ac();
+};
diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp
index bca6c796..14f4603d 100644
--- a/include/Player/LinkStateBase.hpp
+++ b/include/Player/LinkStateBase.hpp
@@ -14,13 +14,13 @@
typedef unk32 LinkStateId;
enum LinkStateId_ {
- LinkStateId_Move = 0,
- LinkStateId_Item = 1,
- LinkStateId_Grab = 2,
- LinkStateId_Unk3 = 3,
- LinkStateId_Unk4 = 4,
- LinkStateId_Damage = 5,
- LinkStateId_ItemGet = 6,
+ LinkStateId_Move = 0,
+ LinkStateId_Item = 1,
+ LinkStateId_Interact = 2,
+ LinkStateId_Follow = 3,
+ LinkStateId_Roll = 4,
+ LinkStateId_Damage = 5,
+ LinkStateId_Cutscene = 6,
LinkStateId_COUNT
};
@@ -60,7 +60,7 @@ public:
void func_ov00_020a81b8(unk32 param1, unk32 param2);
LinkStateItem *GetLinkItemState();
void LookAt(Vec3p *target);
- void func_ov00_020a81fc();
+ void func_ov00_020a81fc(Vec3p *param1, unk32 param2);
void AddHealth(s16 amount);
void func_ov00_020a8224(unk32 param1);
void TurnTo(s16 angle, unk32 param2, unk32 speed);
@@ -82,7 +82,7 @@ public:
void Clear_PlayerLinkBase_Unk48(u16 flags);
void func_ov00_020a8680(unk32 param1, unk16 param2, bool param3);
void PlayerLinkBase_func_ov00_020bccc8();
- bool PlayerLinkBase_vfunc_58();
+ bool PlayerLinkBase_vfunc_58(unk32 param1, ActorRef *param2);
bool func_ov00_020a8704(s16 *pAngle);
bool func_ov00_020a8774(Vec3p *param1, s32 angle);
void func_ov00_020a8844(Vec3p *param1, bool param2, bool param3);
@@ -90,7 +90,7 @@ public:
void func_ov00_020a8994();
void func_ov00_020a89bc(unk32 param1, unk32 param2);
void func_ov00_020a8a08(unk32 param1);
- void func_ov00_020a8a4c(unk32 param1, unk32 param2);
+ void func_ov00_020a8a4c(const void *param1, unk32 param2);
void func_ov00_020a8a90(unk32 param1);
void func_ov00_020a8ab0(unk32 param1);
void func_ov00_020a8ad0(unk32 param1);
@@ -152,6 +152,6 @@ public:
void func_ov005_021113c4(bool param1);
};
-LinkStateBase *GetLinkState(s32 index);
+LinkStateBase *GetLinkState(LinkStateId index);
extern LinkStateBase **gLinkStates;
diff --git a/include/Player/LinkStateDamage.hpp b/include/Player/LinkStateDamage.hpp
index 0e3a70a7..02e2c526 100644
--- a/include/Player/LinkStateDamage.hpp
+++ b/include/Player/LinkStateDamage.hpp
@@ -8,6 +8,7 @@
#include "Render/ModelRender.hpp"
class LinkStateDamage : public LinkStateBase {
+public:
/* 00 (base) */
/* 0c */ void *mUnk_0c;
/* 10 */ unk32 mUnk_10;
diff --git a/include/Player/LinkStateMove.hpp b/include/Player/LinkStateMove.hpp
index 9b369e9c..a782b22d 100644
--- a/include/Player/LinkStateMove.hpp
+++ b/include/Player/LinkStateMove.hpp
@@ -7,13 +7,16 @@
class LinkStateMove : public LinkStateBase {
public:
+ static unk32 data_ov000_020e56f0;
+
/* 00 (base) */
/* 0c */ s32 mUnk_0c;
/* 10 */ unk16 mUnk_10;
/* 12 */ unk16 mUnk_12;
/* 14 */ bool mUnk_14;
- /* 14 */ bool mUnk_15;
- /* 16 */ unk8 mUnk_16[2];
+ /* 15 */ bool mUnk_15;
+ /* 16 */ bool mUnk_16;
+ /* 17 */ bool mUnk_17;
/* 18 */
/* 00 */ virtual void vfunc_00() override;
diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp
index 354e1078..744ff464 100644
--- a/include/Player/PlayerBase.hpp
+++ b/include/Player/PlayerBase.hpp
@@ -29,7 +29,7 @@ public:
/* 0c */ virtual bool CanMove();
/* 10 */ virtual void vfunc_10(Cylinder *param1) = 0;
/* 14 */ virtual void vfunc_14(Cylinder *param1) = 0;
- /* 18 */ virtual void vfunc_18() = 0;
+ /* 18 */ virtual bool vfunc_18(s32 param1) = 0;
/* 1c */ virtual void Init() = 0;
/* 20 */ virtual void vfunc_20() = 0;
/* 24 */ virtual void UpdatePos() = 0;
@@ -48,8 +48,8 @@ public:
void SetUpdatePos(bool updatePos);
void SetVisible(bool visible);
- EquipSword *GetEquipSword();
- EquipShield *GetEquipShield();
+ static EquipSword *GetEquipSword();
+ static EquipShield *GetEquipShield();
void LookAt(Vec3p *target);
bool func_ov00_020a7c00(s32 param1);
bool CollidesWith(Cylinder *cylinder);
@@ -64,4 +64,4 @@ public:
extern PlayerBase *gPlayer;
extern Vec3p gPlayerPos;
extern Vec3p gPlayerVel;
-extern s16 gPlayerAngle;
+extern u16 gPlayerAngle;
diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp
index f2cc23eb..11dd6488 100644
--- a/include/Player/PlayerControl.hpp
+++ b/include/Player/PlayerControl.hpp
@@ -11,7 +11,7 @@
#include "Player/TouchControl.hpp"
#include "Player/TouchGesture.hpp"
-typedef u16 TouchEdge;
+typedef s16 TouchEdge;
enum TouchEdge_ {
TouchEdge_Right = 0,
TouchEdge_Left = 1,
@@ -28,7 +28,7 @@ public:
/* 50 */ q20 mTouchSpeedX; // how fast the stylus moves
/* 54 */ q20 mTouchSpeedY;
/* 58 */ q20 mTouchDist; // pixel distance from touch to link, deadzone is 20 pixels
- /* 5c */ unk32 mUnk_5c;
+ /* 5c */ q20 mTouchSpeed;
/* 60 */ s16 mTouchDuration;
/* 62 */ s16 mTouchSlowDuration; // resets to 0 if stylus is fast enough
/* 64 */ s16 mTouchFastTime; // gets set to mTouchDuration if stylus is fast enough
@@ -46,24 +46,23 @@ public:
/* 79 */ bool mUsingEquipItem;
/* 7a */ bool mUnk_7a;
/* 7b */ bool mUnk_7b;
- /* 7c */ s8 mUnk_7c;
+ /* 7c */ u8 mUnk_7c;
/* 7d */ bool mUnk_7d;
- /* 7e */ s8 mUnk_7e;
+ /* 7e */ u8 mUnk_7e;
/* 7f */ bool mUnk_7f;
/* 80 */ bool mUnk_80;
/* 81 */ bool mFollowing;
- /* 82 */ unk8 mUnk_82;
+ /* 82 */ bool mUnk_82;
/* 83 */ bool mUnk_83;
/* 84 */ ActorRef mFollowRef;
/* 8c */ ActorRef mNextFollowRef;
/* 94 */ ActorRef mLastFollowRef;
- /* 9c */ unk8 mUnk_9c;
- /* 9d */ unk8 mUnk_9d;
+ /* 9c */ Vec2b mUnk_9c;
/* 9e */ unk8 mUnk_9e[2];
- /* a0 */ void *mFollowActor;
+ /* a0 */ void *mFollowObject;
/* a4 */ q20 mFollowDist;
- /* a8 */ u16 mFollowStuckTimer;
- /* aa */ u16 mCutsceneEndTimer;
+ /* a8 */ s16 mFollowStuckTimer;
+ /* aa */ s16 mCutsceneEndTimer;
/* ac */ s16 mUnk_ac;
/* ae */ unk16 mUnk_ae;
/* b0 */ Vec3p mAim; // used by boomerang, bow and rope
@@ -75,11 +74,11 @@ public:
/* d8 */
static bool func_ov00_020aeeac();
- void func_ov00_020aeef8();
+ static bool func_ov00_020aeef8();
void func_ov00_020aef30();
void UpdateAim();
Actor *GetFollowActor();
- bool func_ov00_020af01c(unk8 *param1);
+ bool func_ov00_020af01c(Vec2b *param1);
void SetUnk_80();
void StopFollowing();
void func_ov00_020af06c();
@@ -90,30 +89,30 @@ public:
bool CheckTouching(u32 param1);
bool CheckTouchFast(u32 param1);
bool func_ov00_020af4a4();
- void func_ov00_020af538();
+ void func_ov00_020af538(bool param1, u8 param2);
void func_ov00_020af6e4(Vec3p *param1, s32 param3, s32 param4);
bool func_ov00_020af778();
bool func_ov00_020afad8(Vec3p *param1);
void func_ov00_020afb6c();
bool func_ov00_020afe88(s32 param1, bool param2);
bool func_ov00_020afeec(unk32 param1, bool param2);
- void func_ov00_020aff90(unk32 param1, unk32 param2);
+ void func_ov00_020aff90(Vec3p *param1, unk32 param2);
void func_ov00_020affec(Vec3p *param1, s32 y, s32 param3, Vec3p *param4);
- void func_ov00_020b014c();
- void SetAim();
+ void func_ov00_020b014c(Vec3p *param1);
+ void ResetAim();
bool UpdateAimWorld(Vec3p *param1);
s16 GetTouchAngle();
u32 func_ov00_020b034c();
s32 func_ov00_020b0418();
bool func_ov00_020b049c(Vec3p *param1, bool param2);
bool func_ov00_020b05e8(Vec3p *param1);
- bool func_ov00_020b0778(Vec3p *param1, u32 param2, unk32 param3);
+ bool func_ov00_020b0778(Vec3p *param1, u32 param2, unk32 *param3);
bool CheckNotTouching();
bool func_ov00_020b0ad0(Actor *actor);
bool func_ov00_020b0b0c(s16 *pAngle, ItemFlag *pEquipId, unk32 *pCardinal, bool *pFast);
bool func_ov00_020b0de8(Vec3p *param1);
bool func_ov00_020b0e54(Vec3p *param1, Vec3p *param2);
- bool func_ov00_020b0f88(Vec3p *param1, unk32 param2, Vec3p *param3);
+ bool func_ov00_020b0f88(Vec3p *param1, unk32 scale, Vec3p *param3);
bool func_ov00_020b1058(Vec3p *param1, unk32 param2, Vec3p *param3, Vec3p *param4);
bool IsUntouchedNow();
bool IsNotUntouchedNow();
@@ -138,6 +137,8 @@ public:
void Init();
void func_ov004_0210b1d0();
static void func_ov004_0210b1f0();
+
+ bool func_ov024_02178348(Vec3p *param1);
};
extern PlayerControl *gPlayerControl;
diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp
index 3527810c..cdcd8db8 100644
--- a/include/Player/PlayerControlData.hpp
+++ b/include/Player/PlayerControlData.hpp
@@ -87,8 +87,8 @@ public:
/* 68 */ virtual void vfunc_68(unk32 param1, unk32 param2);
/* 6c */ virtual void vfunc_6c(s32 param1, Vec3p *param2);
/* 70 */ virtual void vfunc_70(s32 param1);
- /* 74 */ virtual unk32 vfunc_74();
- /* 78 */ virtual unk32 vfunc_78();
+ /* 74 */ virtual unk32 vfunc_74(s32 param1);
+ /* 78 */ virtual unk32 vfunc_78(s32 param1);
/* 7c */ virtual unk32 vfunc_7c();
/* 80 */
@@ -105,3 +105,5 @@ public:
PlayerControlData();
};
+
+extern PlayerControlData *gPlayerControlData;
diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp
index 2a208365..b5bf77ed 100644
--- a/include/Player/PlayerLinkBase.hpp
+++ b/include/Player/PlayerLinkBase.hpp
@@ -50,7 +50,7 @@ public:
/* 0c */ virtual bool CanMove() override;
/* 10 */ virtual void vfunc_10(Cylinder *param1) override;
/* 14 */ virtual void vfunc_14(Cylinder *param1) override;
- /* 18 */ virtual void vfunc_18(s32 param1) override;
+ /* 18 */ virtual bool vfunc_18(s32 param1) override;
/* 1c */ virtual void Init() override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void UpdatePos() override;
diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp
index 1301e144..8970c032 100644
--- a/include/Player/TouchControl.hpp
+++ b/include/Player/TouchControl.hpp
@@ -5,6 +5,8 @@
#include "nds/math.h"
#include "types.h"
+extern u16 *data_0207aecc;
+
typedef u16 TouchFlags;
enum TouchFlag_ {
TouchFlag_TouchedNow = 0x0001,
@@ -42,9 +44,11 @@ public:
void Update(TouchState *state, u16 speed);
bool func_ov00_0207aeac();
void UpdateConditionally(TouchState *state, u16 speed);
- void func_ov00_0207af38(u16 speed, bool param2);
+ void func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease);
~TouchControl();
static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3);
static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3);
};
+
+void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file
diff --git a/include/Player/TouchGesture.hpp b/include/Player/TouchGesture.hpp
index 5009525e..0ed897a7 100644
--- a/include/Player/TouchGesture.hpp
+++ b/include/Player/TouchGesture.hpp
@@ -22,7 +22,8 @@ public:
class TouchGesture : public TouchGestureBase {
public:
/* 00 (base) */
- /* 05 */ unk8 mUnk_05[7];
+ /* 05 */ unk8 mUnk_05[3];
+ /* 08 */ s32 mUnk_08;
/* 0c */ u16 mIndex;
/* 0e */ unk16 mUnk_0e;
/* 10 */ u16 mUnk_10[GESTURE_BUFFER_LENGTH];
diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp
index b076cd73..39d2e409 100644
--- a/include/Save/AdventureFlags.hpp
+++ b/include/Save/AdventureFlags.hpp
@@ -23,6 +23,10 @@ enum AdventureFlag_ {
/* 0x30 */ AdventureFlag_Cannon = 48,
+ /* 0x33 */ AdventureFlag_RegalNecklace = 51,
+
+ /* 0x7a */ AdventureFlag_CourageCrest = 122,
+
/* 0x7d */ AdventureFlag_Azurine = 125,
/* 0x7e */ AdventureFlag_Crimsonine = 126,
/* 0x7f */ AdventureFlag_Aquanine = 127,
@@ -30,11 +34,26 @@ enum AdventureFlag_ {
/* 0x8c */ AdventureFlag_SalvageArm = 140,
+ /* 0xa2 */ AdvantureFlag_HerosNewClothes = 162,
+ /* 0xa3 */ AdvantureFlag_Kaleidoscope = 163,
+ /* 0xa4 */ AdventureFlag_GuardNotebook = 164,
+
+ /* 0xa7 */ AdventureFlag_WoodHeart = 167,
+
+ /* 0xb6 */ AdventureFlag_SpawnFinalPhantoms = 182,
+
/* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
/* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
/* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
/* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
+ /* 0x137 */ AdventureFlag_FrogGlyph_MercayIsland = 311,
+ /* 0x138 */ AdventureFlag_FrogGlyph_MolidaIsland = 312,
+ /* 0x139 */ AdventureFlag_FrogGlyph_BannanIsland = 313,
+ /* 0x13a */ AdventureFlag_FrogGlyph_DeeEssIsland = 314,
+ /* 0x13b */ AdventureFlag_FrogGlyph_IsleOfFrost = 315,
+ /* 0x13c */ AdventureFlag_FrogGlyph_NorthEast = 316,
+
/* 0x187 */ AdventureFlag_COUNT = 391,
};
@@ -104,19 +123,19 @@ public:
bool func_ov00_02097bcc();
bool func_ov00_02097bcc(s32 param2);
s32 func_ov00_02097c08();
- bool Get_FlagsUnk_30_Flag(int index);
- unk8 Get_FlagsUnk_49(int index);
- unk8 Get_FlagsUnk_48(int index);
- unk8 Get_FlagsUnk_4a(int index);
- unk16 Get_FlagsUnk_42(int index);
- unk16 Get_FlagsUnk_40(int index);
- unk32 Get_FlagsUnk_38(int index);
- unk32 Get_FlagsUnk_34(int index);
- unk32 Get_FlagsUnk_44(int index);
- static unk32 Get_FlagsUnk_30(int index);
- static bool Get_FlagsUnk_00(int index, FlagsUnk2 *result);
- bool Get_FlagsUnk_18(int index, FlagsUnk2 *result);
- FlagsUnk *Get_FlagsUnk(int index);
+ bool Get_FlagsUnk_30_Flag(s32 index);
+ u8 Get_FlagsUnk_49(s32 index);
+ u8 Get_FlagsUnk_48(s32 index);
+ u8 Get_FlagsUnk_4a(s32 index);
+ u16 Get_FlagsUnk_42(s32 index);
+ u16 Get_FlagsUnk_40(s32 index);
+ unk32 Get_FlagsUnk_38(s32 index);
+ unk32 Get_FlagsUnk_34(s32 index);
+ unk32 Get_FlagsUnk_44(s32 index);
+ static unk32 Get_FlagsUnk_30(s32 index);
+ static bool Get_FlagsUnk_00(s32 index, FlagsUnk2 *result);
+ bool Get_FlagsUnk_18(s32 index, FlagsUnk2 *result);
+ FlagsUnk *Get_FlagsUnk(s32 index);
bool func_ov00_02097e6c();
bool func_ov00_02097e7c();
bool func_ov00_02097ea4();
diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp
index 636208fc..42118b57 100644
--- a/include/System/OverlayManager.hpp
+++ b/include/System/OverlayManager.hpp
@@ -2,73 +2,137 @@
#include "types.h"
+#include <nds/overlay.h>
+
#include "Item/Item.hpp"
+EXTERN_OVERLAY_ID(0);
+EXTERN_OVERLAY_ID(1);
+EXTERN_OVERLAY_ID(2);
+EXTERN_OVERLAY_ID(3);
+EXTERN_OVERLAY_ID(4);
+EXTERN_OVERLAY_ID(5);
+EXTERN_OVERLAY_ID(6);
+EXTERN_OVERLAY_ID(7);
+EXTERN_OVERLAY_ID(8);
+EXTERN_OVERLAY_ID(9);
+EXTERN_OVERLAY_ID(10);
+EXTERN_OVERLAY_ID(11);
+EXTERN_OVERLAY_ID(12);
+EXTERN_OVERLAY_ID(13);
+EXTERN_OVERLAY_ID(14);
+EXTERN_OVERLAY_ID(15);
+EXTERN_OVERLAY_ID(16);
+EXTERN_OVERLAY_ID(17);
+EXTERN_OVERLAY_ID(18);
+EXTERN_OVERLAY_ID(19);
+EXTERN_OVERLAY_ID(20);
+EXTERN_OVERLAY_ID(21);
+EXTERN_OVERLAY_ID(22);
+EXTERN_OVERLAY_ID(23);
+EXTERN_OVERLAY_ID(24);
+EXTERN_OVERLAY_ID(25);
+EXTERN_OVERLAY_ID(26);
+EXTERN_OVERLAY_ID(27);
+EXTERN_OVERLAY_ID(28);
+EXTERN_OVERLAY_ID(29);
+EXTERN_OVERLAY_ID(30);
+EXTERN_OVERLAY_ID(31);
+EXTERN_OVERLAY_ID(32);
+EXTERN_OVERLAY_ID(33);
+EXTERN_OVERLAY_ID(34);
+EXTERN_OVERLAY_ID(35);
+EXTERN_OVERLAY_ID(36);
+EXTERN_OVERLAY_ID(37);
+EXTERN_OVERLAY_ID(38);
+EXTERN_OVERLAY_ID(39);
+EXTERN_OVERLAY_ID(40);
+EXTERN_OVERLAY_ID(41);
+EXTERN_OVERLAY_ID(42);
+EXTERN_OVERLAY_ID(43);
+EXTERN_OVERLAY_ID(44);
+EXTERN_OVERLAY_ID(45);
+EXTERN_OVERLAY_ID(46);
+EXTERN_OVERLAY_ID(47);
+EXTERN_OVERLAY_ID(48);
+EXTERN_OVERLAY_ID(49);
+EXTERN_OVERLAY_ID(50);
+EXTERN_OVERLAY_ID(51);
+EXTERN_OVERLAY_ID(52);
+EXTERN_OVERLAY_ID(53);
+EXTERN_OVERLAY_ID(54);
+EXTERN_OVERLAY_ID(55);
+EXTERN_OVERLAY_ID(56);
+EXTERN_OVERLAY_ID(57);
+EXTERN_OVERLAY_ID(58);
+EXTERN_OVERLAY_ID(59);
+EXTERN_OVERLAY_ID(60);
+EXTERN_OVERLAY_ID(61);
+
typedef u32 OverlayId;
-enum OverlayId_ {
- OverlayId_Core,
- OverlayId_01,
- OverlayId_02,
- OverlayId_03,
- OverlayId_Memory,
- OverlayId_05,
- OverlayId_06,
- OverlayId_07,
- OverlayId_08,
- OverlayId_09,
- OverlayId_10,
- OverlayId_11,
- OverlayId_12,
- OverlayId_13,
- OverlayId_Land,
- OverlayId_15,
- OverlayId_16,
- OverlayId_17,
- OverlayId_18,
- OverlayId_19,
- OverlayId_20,
- OverlayId_21,
- OverlayId_22,
- OverlayId_23,
- OverlayId_24,
- OverlayId_25,
- OverlayId_26,
- OverlayId_27,
- OverlayId_28,
- OverlayId_29,
- OverlayId_30,
- OverlayId_31,
- OverlayId_32,
- OverlayId_33,
- OverlayId_34,
- OverlayId_35,
- OverlayId_36,
- OverlayId_37,
- OverlayId_38,
- OverlayId_39,
- OverlayId_40,
- OverlayId_41,
- OverlayId_42,
- OverlayId_43,
- OverlayId_44,
- OverlayId_45,
- OverlayId_46,
- OverlayId_47,
- OverlayId_48,
- OverlayId_49,
- OverlayId_50,
- OverlayId_51,
- OverlayId_52,
- OverlayId_PlayerBoomerang,
- OverlayId_PlayerScoop,
- OverlayId_PlayerBomb,
- OverlayId_PlayerBow,
- OverlayId_PlayerRope,
- OverlayId_PlayerBombchu,
- OverlayId_PlayerHammer,
- OverlayId_60,
- OverlayId_61,
-};
+#define OverlayId_None -1
+#define OverlayId_Core OVERLAY_ID(0)
+#define OverlayId_01 OVERLAY_ID(1)
+#define OverlayId_02 OVERLAY_ID(2)
+#define OverlayId_03 OVERLAY_ID(3)
+#define OverlayId_Memory OVERLAY_ID(4)
+#define OverlayId_05 OVERLAY_ID(5)
+#define OverlayId_06 OVERLAY_ID(6)
+#define OverlayId_07 OVERLAY_ID(7)
+#define OverlayId_08 OVERLAY_ID(8)
+#define OverlayId_09 OVERLAY_ID(9)
+#define OverlayId_10 OVERLAY_ID(10)
+#define OverlayId_11 OVERLAY_ID(11)
+#define OverlayId_12 OVERLAY_ID(12)
+#define OverlayId_13 OVERLAY_ID(13)
+#define OverlayId_Land OVERLAY_ID(14)
+#define OverlayId_15 OVERLAY_ID(15)
+#define OverlayId_16 OVERLAY_ID(16)
+#define OverlayId_17 OVERLAY_ID(17)
+#define OverlayId_18 OVERLAY_ID(18)
+#define OverlayId_19 OVERLAY_ID(19)
+#define OverlayId_20 OVERLAY_ID(20)
+#define OverlayId_21 OVERLAY_ID(21)
+#define OverlayId_22 OVERLAY_ID(22)
+#define OverlayId_23 OVERLAY_ID(23)
+#define OverlayId_24 OVERLAY_ID(24)
+#define OverlayId_25 OVERLAY_ID(25)
+#define OverlayId_26 OVERLAY_ID(26)
+#define OverlayId_27 OVERLAY_ID(27)
+#define OverlayId_28 OVERLAY_ID(28)
+#define OverlayId_29 OVERLAY_ID(29)
+#define OverlayId_30 OVERLAY_ID(30)
+#define OverlayId_31 OVERLAY_ID(31)
+#define OverlayId_32 OVERLAY_ID(32)
+#define OverlayId_33 OVERLAY_ID(33)
+#define OverlayId_34 OVERLAY_ID(34)
+#define OverlayId_35 OVERLAY_ID(35)
+#define OverlayId_36 OVERLAY_ID(36)
+#define OverlayId_37 OVERLAY_ID(37)
+#define OverlayId_38 OVERLAY_ID(38)
+#define OverlayId_39 OVERLAY_ID(39)
+#define OverlayId_40 OVERLAY_ID(40)
+#define OverlayId_41 OVERLAY_ID(41)
+#define OverlayId_42 OVERLAY_ID(42)
+#define OverlayId_43 OVERLAY_ID(43)
+#define OverlayId_44 OVERLAY_ID(44)
+#define OverlayId_45 OVERLAY_ID(45)
+#define OverlayId_46 OVERLAY_ID(46)
+#define OverlayId_47 OVERLAY_ID(47)
+#define OverlayId_48 OVERLAY_ID(48)
+#define OverlayId_49 OVERLAY_ID(49)
+#define OverlayId_50 OVERLAY_ID(50)
+#define OverlayId_51 OVERLAY_ID(51)
+#define OverlayId_52 OVERLAY_ID(52)
+#define OverlayId_PlayerBoomerang OVERLAY_ID(53)
+#define OverlayId_PlayerScoop OVERLAY_ID(54)
+#define OverlayId_PlayerBomb OVERLAY_ID(55)
+#define OverlayId_PlayerBow OVERLAY_ID(56)
+#define OverlayId_PlayerRope OVERLAY_ID(57)
+#define OverlayId_PlayerBombchu OVERLAY_ID(58)
+#define OverlayId_PlayerHammer OVERLAY_ID(59)
+#define OverlayId_60 OVERLAY_ID(60)
+#define OverlayId_61 OVERLAY_ID(61)
typedef u32 OverlayIndex;
enum OverlayIndex_ {
diff --git a/include/System/Random.hpp b/include/System/Random.hpp
index 4506466d..cc1f2a12 100644
--- a/include/System/Random.hpp
+++ b/include/System/Random.hpp
@@ -19,4 +19,4 @@ struct Random {
}
};
-extern Random *gRandom;
+extern Random gRandom;
diff --git a/include/Unknown/UnkStruct_02037750.hpp b/include/Unknown/UnkStruct_02037750.hpp
index 5fe84a89..2e5ea7b6 100644
--- a/include/Unknown/UnkStruct_02037750.hpp
+++ b/include/Unknown/UnkStruct_02037750.hpp
@@ -31,7 +31,7 @@ public:
/* 34 */
UnkStruct_02037750(unk32 param1, unk32 param2);
- LinkStateInteract *GetLinkStateInteract();
+ static LinkStateInteract *GetLinkStateInteract();
void func_020385d0(s32 param1, unk32 *param2);
};
diff --git a/include/Unknown/UnkStruct_ov000_020c0c08.hpp b/include/Unknown/UnkStruct_ov000_020c0c08.hpp
new file mode 100644
index 00000000..69054538
--- /dev/null
+++ b/include/Unknown/UnkStruct_ov000_020c0c08.hpp
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+#include "System/SysNew.hpp"
+#include "Unknown/UnkStruct_0202e1a0.hpp"
+
+class UnkStruct_ov000_020c0c08 : public SysObject {
+public:
+ /* 00 (vtable) */
+ /* 04 */ unk32 mUnk_04;
+ /* 08 */ u8 *mUnk_08;
+ /* 0c */ UnkStruct_0202e1a0 mUnk_0c;
+ /* 24 */
+
+ /* 00 */ virtual ~UnkStruct_ov000_020c0c08();
+ /* 08 */
+
+ UnkStruct_ov000_020c0c08(unk32 param1, u8 *param2);
+};
diff --git a/libs/c/include/stddef.h b/libs/c/include/stddef.h
index 4986043a..4858fe46 100644
--- a/libs/c/include/stddef.h
+++ b/libs/c/include/stddef.h
@@ -5,4 +5,6 @@
typedef unsigned int size_t;
+#define offsetof(type, member) ((size_t) &((type *) NULL)->member)
+
#endif
diff --git a/libs/c/include/stdio.h b/libs/c/include/stdio.h
new file mode 100644
index 00000000..3b49b3aa
--- /dev/null
+++ b/libs/c/include/stdio.h
@@ -0,0 +1,6 @@
+#ifndef _C_STDIO_H
+#define _C_STDIO_H
+
+int sprintf(char *__restrict s, const char *__restrict format, ...);
+
+#endif
diff --git a/libs/nds/include/nds/math.h b/libs/nds/include/nds/math.h
index 517cbde2..18332db1 100644
--- a/libs/nds/include/nds/math.h
+++ b/libs/nds/include/nds/math.h
@@ -8,6 +8,8 @@
extern "C" {
#endif
+#define ABS(x) ((x) < 0 ? -(x) : (x))
+
// Q20.12 fixed point number
typedef s32 q20;
// Q4.12 fixed point number
@@ -19,6 +21,7 @@ typedef s16 q4;
#define FLOAT_TO_Q19(n) ((s32) (((n) * 8192 + 1)))
#define ROUND_Q20(n) (((s32) (n) + 0x800) >> 12)
#define MUL_Q20(a, b) (q20)((((s64) (a)) * ((s64) (b)) + 0x800) >> 12)
+#define DIV_Q20(a, b) (((a) << 12) / (b))
#define DEG_TO_ANG(n) ((n) * 0x10000 / 360)
#define SIN(n) (gSinCosTable[2 * ((n) >> 4)])
@@ -31,7 +34,7 @@ u32 SoftDivide(u32 a, u32 b);
u32 CoDivide64By32(u32 a, u32 b);
u32 func_01ff98f0(u32 a, u32 b);
u32 CoReciprocal(u32 x);
-u32 func_01ff992c(u32 x);
+u64 func_01ff992c(u32 x);
u32 CoSqrt(u32 x);
u32 CoInvSqrt(u32 x);
u32 AwaitDivisionResult();
@@ -49,8 +52,8 @@ bool Approach_thunk(unk32 *src, unk32 dest, unk32 step);
extern q4 gSinCosTable[];
typedef struct {
- /* 0 */ s8 x;
- /* 1 */ s8 y;
+ /* 0 */ u8 x;
+ /* 1 */ u8 y;
/* 2 */
} Vec2b;
diff --git a/libs/nds/include/nds/Overlay.h b/libs/nds/include/nds/overlay.h
index 7a8c6fa9..254253bd 100644
--- a/libs/nds/include/nds/Overlay.h
+++ b/libs/nds/include/nds/overlay.h
@@ -1,6 +1,13 @@
#ifndef _NDS_OVERLAY_H
#define _NDS_OVERLAY_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define EXTERN_OVERLAY_ID(name_or_index) extern u32 OVERLAY_##name_or_index##_ID;
+#define OVERLAY_ID(name_or_index) ((u32) & OVERLAY_##name_or_index##_ID)
+
typedef struct Overlay {
/* 00 */ unk32 mId;
/* 04 */ void *mBaseAddress;
@@ -27,4 +34,8 @@ bool Overlay_Destroy(Overlay *overlay);
bool Overlay_Load(Overlay *overlay, unk32 param2);
bool Overlay_Unload(Overlay *overlay, unk32 param2);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/libs/nds/src/itcm/math_1.c b/libs/nds/src/itcm/math_1.c
index ee452869..bbc5f740 100644
--- a/libs/nds/src/itcm/math_1.c
+++ b/libs/nds/src/itcm/math_1.c
@@ -37,7 +37,7 @@ void Mat4p_Multiply(Mat4p *a, Mat4p *b, Mat4p *out) {}
u32 CoDivide64By32(u32 a, u32 b) {}
u32 func_01ff98f0(u32 a, u32 b) {}
u32 CoReciprocal(u32 x) {}
-u32 func_01ff992c(u32 x) {}
+u64 func_01ff992c(u32 x) {}
u32 CoSqrt(u32 x) {}
u32 CoInvSqrt(u32 x) {}
u32 AwaitDivisionResult() {}
diff --git a/src/00_Core/Actor/Actor.cpp b/src/00_Core/Actor/Actor.cpp
index f008064d..85f58869 100644
--- a/src/00_Core/Actor/Actor.cpp
+++ b/src/00_Core/Actor/Actor.cpp
@@ -5,6 +5,8 @@ extern "C" {
#include "Actor/Actor.hpp"
#include "Actor/ActorManager.hpp"
#include "Actor/ActorPlayerDummy.hpp"
+#include "DTCM/UnkStruct_027e077c.hpp"
+#include "DTCM/UnkStruct_027e103c.hpp"
#include "Item/ItemManager.hpp"
#include "Map/MapManager.hpp"
#include "Player/EquipSword.hpp"
@@ -46,8 +48,7 @@ ARM Actor::Actor() :
mUnk_010(0),
mUnk_011(0),
mUnk_012(0),
- mUnk_034(-1),
- mUnk_038(-1),
+ mUnk_034(-1, -1),
mUnk_03c(-1),
mUnk_040(-1, -1),
mGravity(FLOAT_TO_Q20(0.0498)),
@@ -111,11 +112,11 @@ ARM Actor::Actor() :
ARM Actor::~Actor() {}
-ARM bool Actor::vfunc_08() {
+ARM bool Actor::Init() {
return true;
}
-ARM void Actor::vfunc_0c() {}
+ARM bool Actor::vfunc_0c() {}
ARM void Actor::vfunc_10(u32 param1) {}
ARM void Actor::vfunc_24() {}
ARM void Actor::vfunc_28() {}
@@ -255,20 +256,9 @@ ARM bool Actor::func_ov00_020c195c() {
return true;
}
-struct UnkStruct2 {
- /* 0 */ u32 mUnk_0;
- /* 4 */ u32 mUnk_4;
- /* 8 */
-};
-extern UnkStruct2 data_027e077c;
-extern u8 data_02056be4[];
-extern "C" bool func_ov05_02103f4c(s32 param1);
-extern s32 data_027e103c;
ARM bool Actor::func_ov00_020c198c() {
- u32 unk1 = data_027e077c.mUnk_0;
- u32 unk2 = data_027e077c.mUnk_4;
- if (data_027e077c.mUnk_0 != data_027e077c.mUnk_4 || (data_02056be4[unk1] & 1) != 0 || (data_02056be4[unk2] & 4) != 0 ||
- func_ov05_02103f4c(data_027e103c) || gPlayer->mHealth <= 0)
+ if (data_027e077c.GetUnk0() != data_027e077c.GetUnk4() || (data_02056be4[data_027e077c.GetUnk0()] & 1) != 0 ||
+ (data_02056be4[data_027e077c.GetUnk4()] & 4) != 0 || data_027e103c->func_ov005_02103f4c() || gPlayer->mHealth <= 0)
{
return false;
}
@@ -318,8 +308,8 @@ ARM void Actor::SetTransform(Transform *transform) {
ARM void Actor::vfunc_a8() {}
-ARM void Actor::func_Ov00_020c1bfc(s32 param1) {
- gMapManager->func_ov00_02084be0(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1]);
+ARM bool Actor::func_ov00_020c1bfc(s32 param1) {
+ return gMapManager->func_ov00_02084be0(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1]);
}
ARM void Actor::func_ov00_020c1c20(s32 param1, unk32 param2) {
diff --git a/src/00_Core/Actor/ActorManager.cpp b/src/00_Core/Actor/ActorManager.cpp
index 73ab6bbb..955c447d 100644
--- a/src/00_Core/Actor/ActorManager.cpp
+++ b/src/00_Core/Actor/ActorManager.cpp
@@ -1,4 +1,5 @@
#include "Actor/ActorManager.hpp"
+#include "DTCM/UnkStruct_027e077c.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Map/MapManager.hpp"
@@ -8,8 +9,6 @@ extern "C" Cylinder *func_ov000_020c3ef0(void *, u32 index);
extern "C" bool func_ov000_020c3f08(void *, u32 index);
extern "C" void func_ov000_020c3f3c(void *, u32 index, Cylinder *cylinder);
extern "C" void func_ov000_020c3f54(void *, u32 param2);
-extern s32 data_027e077c;
-extern u8 data_02056be4[];
ARM void ActorManager::DeleteActor(u32 index, bool param2) {
if (!param2) {
@@ -52,7 +51,7 @@ ARM void ActorManager::func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr,
q20 minDistance = 0x7fffffff;
Actor **actorIter = actorMgr->mActorTable;
- u8 unkByte = data_02056be4[data_027e077c];
+ u8 unkByte = data_02056be4[data_027e077c.GetUnk0()];
bool unk1 = (unkByte & 1) != 0;
Actor **actorTableEnd = actorIter + actorMgr->mMaxActorIndex;
@@ -155,7 +154,7 @@ ARM Actor *ActorManager::GetActor(ActorRef *ref) {
ARM bool FilterActor::Filter(Actor *actor) {
if (mType != actor->mType) return false;
- if (mUnk_08 != -1 && mUnk_08 != actor->mUnk_034) return false;
+ if (mUnk_08 != -1 && mUnk_08 != actor->mUnk_034.id) return false;
if (mExcludeRefs != NULL) {
for (s32 i = 0; mExcludeRefs[i].id != -1; ++i) {
ActorRef *ref = &mExcludeRefs[i];
diff --git a/src/00_Core/Actor/ActorSpawner.cpp b/src/00_Core/Actor/ActorSpawner.cpp
index 76b4ae74..55cf1a57 100644
--- a/src/00_Core/Actor/ActorSpawner.cpp
+++ b/src/00_Core/Actor/ActorSpawner.cpp
@@ -1,10 +1,98 @@
#include "Actor/ActorSpawner.hpp"
+#include "Actor/ActorManager.hpp"
+#include "Map/MapManager.hpp"
-ActorSpawner *ActorSpawner::Create() {}
-void ActorSpawner::Destroy() {}
-ActorSpawner::ActorSpawner() {}
-ActorSpawner::~ActorSpawner() {}
-void ActorSpawner::func_ov000_020c4014() {}
-void ActorSpawner::func_ov000_020c4018() {}
-Actor *ActorSpawner::CreateActor(ActorTypeId type) {}
-s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref) {}
+extern u32 *data_027e0ce0[];
+ARM ActorSpawner *ActorSpawner::Create() {
+ gActorSpawner = new(data_027e0ce0[1], 4) ActorSpawner();
+}
+
+ARM void ActorSpawner::Destroy() {
+ delete gActorSpawner;
+ gActorSpawner = NULL;
+}
+
+ARM ActorSpawner::ActorSpawner() {}
+
+ARM ActorSpawner::~ActorSpawner() {}
+
+ARM void ActorSpawner::func_ov000_020c4014() {}
+
+ARM void ActorSpawner::func_ov000_020c4018() {}
+
+ARM Actor *ActorSpawner::CreateActor(ActorTypeId typeId) {
+ Actor *actor = NULL;
+ ActorType *type = ActorType::Find(typeId);
+ if (type != NULL) {
+ actor = type->create();
+ }
+ return actor;
+}
+
+extern "C" unk32 GetCardinal(s16 angle);
+ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *options, ActorRef *ref) {
+ ActorManager *actorManager = gActorManager;
+ u16 maxActors = actorManager->mMaxActors;
+ s32 id = -1;
+ s32 index;
+ Actor **actorSlot = actorManager->mActorTable;
+ for (index = 0; index < maxActors; index++, actorSlot++) {
+ if (*actorSlot != NULL) {
+ continue;
+ }
+
+ Actor *actor = this->CreateActor(type);
+ *actorSlot = actor;
+ if (actor == NULL) {
+ if (ref != NULL) {
+ ref->Reset();
+ }
+ return -1;
+ }
+ actor->mType = type;
+ (*actorSlot)->mRef.id = actorManager->mNextActorId;
+ (*actorSlot)->mRef.index = index;
+ (*actorSlot)->mUnk_014 = *pos;
+ (*actorSlot)->mUnk_020 = options->mUnk_00;
+ (*actorSlot)->mAngle = options->mAngle;
+ (*actorSlot)->mUnk_012 = options->mAngle;
+ (*actorSlot)->mUnk_074 = GetCardinal(options->mAngle);
+ if (options->mUnk_18 >= 0xffff) {
+ (*actorSlot)->mUnk_03c = -1;
+ } else {
+ (*actorSlot)->mUnk_03c = options->mUnk_18;
+ }
+ (*actorSlot)->mUnk_034 = options->mUnk_1c;
+ (*actorSlot)->mUnk_140 = options->mUnk_24;
+ (*actorSlot)->mUnk_144 = options->mUnk_28;
+ Actor *actor2 = *actorSlot;
+ actor2->mPos = *pos;
+ actor2->mPrevPos = *pos;
+ (*actorSlot)->mUnk_010 = gMapManager->GetCourseData_Unk_1c();
+ (*actorSlot)->mUnk_011 = gMapManager->GetCourseData_Unk_1d();
+ u16 nextIndex = index + 1;
+ if (actorManager->mMaxActorIndex < nextIndex) {
+ actorManager->mMaxActorIndex = nextIndex;
+ }
+ actorManager->mCacheEmptyActorIndex = index;
+
+ id = actorManager->mNextActorId;
+ if (ref != NULL) {
+ *ref = ActorRef(id, index);
+ }
+ actorManager->mNextActorId += 1;
+ actorManager->mNumActors += 1;
+ if (!(*actorSlot)->Init()) {
+ (*actorSlot)->mAlive = false;
+ if (ref != NULL) {
+ ref->Reset();
+ }
+ return -1;
+ }
+ break;
+ }
+ if ((id == -1) && (ref != NULL)) {
+ ref->Reset();
+ }
+ return id;
+}
diff --git a/src/00_Core/Actor/Dungeon/ActorActionObject.cpp b/src/00_Core/Actor/Dungeon/ActorActionObject.cpp
new file mode 100644
index 00000000..ea2dfec2
--- /dev/null
+++ b/src/00_Core/Actor/Dungeon/ActorActionObject.cpp
@@ -0,0 +1,85 @@
+#include "Actor/Dungeon/ActorActionObject.hpp"
+#include "Map/MapManager.hpp"
+#include "Player/LinkStateBase.hpp"
+#include "Player/PlayerLinkBase.hpp"
+#include "Save/AdventureFlags.hpp"
+
+#pragma section sbss begin
+ActorType ActorActionObject::gType = ActorType(ActorTypeId_ActionObject, (ActorCreateFunc) ActorActionObject::Create, NULL);
+#pragma section sbss end
+
+extern u32 **data_027e0fe0[];
+ARM ActorActionObject *ActorActionObject::Create() {
+ return new(*data_027e0fe0[0], 4) ActorActionObject();
+}
+
+ARM ActorActionObject::ActorActionObject() {}
+
+ARM ActorActionObject::~ActorActionObject() {}
+
+// non-matching
+ARM bool ActorActionObject::Init() {
+ mGravity = 0;
+ mHitbox.pos = gVec3p_ZERO;
+ mHitbox.size = -1;
+ mUnk_08c.pos = mHitbox.pos;
+ mUnk_08c.size = mHitbox.size;
+ mUnk_0a4.mUnk_04 = gVec3p_ZERO;
+ mUnk_0a4.mUnk_10 = -1;
+ mVisible = false;
+ mUnk_130 = 0;
+ return true;
+}
+
+ARM void ActorActionObject::vfunc_14(u32 param1) {
+ if (!this->func_ov00_020c313c(param1)) {
+ return;
+ }
+
+ u32 flag = mUnk_020.mUnk_00[2];
+ bool bVar3;
+ switch (mUnk_020.mUnk_00[0]) {
+ case 0: bVar3 = true; break;
+ case 1:
+ if (gPlayerLink->mGrabActor.id != -1 && gPlayerLink->GetStateId() == LinkStateId_Move) {
+ bVar3 = true;
+ } else {
+ bVar3 = false;
+ }
+ break;
+ case 2:
+ if (gPlayerLink->mGrabActor.id == -1 && gPlayerLink->GetStateId() == LinkStateId_Move) {
+ bVar3 = true;
+ } else {
+ bVar3 = false;
+ }
+ break;
+ default: bVar3 = false; break;
+ }
+
+ if (!bVar3) {
+ return;
+ }
+ if (!gMapManager->func_ov00_020836dc((u32) mUnk_020.mUnk_00[1], 0)) {
+ return;
+ }
+ if (mUnk_020.mUnk_0a[0] != 0 && !this->func_ov00_020c1bfc(0)) {
+ return;
+ }
+ if (flag != 0 && !gAdventureFlags->Get(flag)) {
+ return;
+ }
+
+ PlayerLinkBase *link = gPlayerLink;
+ if (link != NULL && link->vfunc_18(7)) {
+ if (mUnk_020.mUnk_00[3] == 1) {
+ link->func_ov000_020bcf50(&mPos, 0x800);
+ }
+ this->func_ov00_020c1c20(1, 1);
+ this->Kill();
+ }
+}
+
+ARM void ActorActionObject::vfunc_18(u32 param1) {
+ this->func_ov00_020c313c(param1);
+}
diff --git a/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp b/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp
index 8e943095..22e35d8e 100644
--- a/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp
+++ b/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp
@@ -4,10 +4,10 @@ ActorType ActorEventIcon::gType = ActorType(ActorTypeId_EventIcon, (ActorCreateF
ActorEventIcon *ActorEventIcon::Create() {}
ActorEventIcon::ActorEventIcon() {}
-bool ActorEventIcon::vfunc_08() {}
+bool ActorEventIcon::Init() {}
void ActorEventIcon::vfunc_14(u32 param1) {}
void ActorEventIcon::vfunc_18(u32 param1) {}
u32 ActorEventIcon::func_ov000_02090648(u32 param1) {}
-bool func_ov000_02090774(u32 param1) {}
+bool ActorEventIcon::func_ov000_02090774(u32 param1) {}
void ActorEventIcon::vfunc_1c(u16 *param1) {}
ActorEventIcon::~ActorEventIcon() {}
diff --git a/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp b/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp
index 37c4511c..78e229db 100644
--- a/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp
+++ b/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp
@@ -1,15 +1,110 @@
#include "Actor/Dungeon/ActorSwitchObject.hpp"
+#include "Map/MapManager.hpp"
ActorType ActorSwitchObject::gType = ActorType(ActorTypeId_SwitchObject, (ActorCreateFunc) ActorSwitchObject::Create, NULL);
ActorSwitchObject *ActorSwitchObject::Create() {}
-bool ActorSwitchObject::vfunc_08() {}
-void ActorSwitchObject::vfunc_0c() {}
-void ActorSwitchObject::vfunc_14(u32 param1) {}
-void ActorSwitchObject::vfunc_18(u32 param1) {}
-bool ActorSwitchObject::func_ov000_0208fc10(s32 param1) {}
-void ActorSwitchObject::func_ov000_0208fc7c() {}
+
+bool ActorSwitchObject::Init() {
+ Actor::Init();
+ this->func_ov000_0208fc7c();
+ this->mUnk_130 = 0;
+ return true;
+}
+
+bool ActorSwitchObject::vfunc_0c() {
+ return this->func_ov00_020c1bfc(0) ? this->func_ov000_0208fc10(1) : this->func_ov000_0208fc10(0);
+}
+
+void ActorSwitchObject::vfunc_14(u32 param1) {
+ bool bVar1;
+ u32 uVar2;
+ u32 uVar3;
+ s32 iVar4;
+ s32 iVar5;
+
+ bVar1 = this->func_ov00_020c313c(param1);
+ if (bVar1 == NULL) {
+ return;
+ }
+ uVar2 = this->mUnk_130;
+ switch (uVar2) {
+ default:
+ if (uVar2 == 2) {
+ break;
+ }
+ return;
+ case 0:
+ uVar3 = this->func_ov000_0208fcb4();
+ switch (uVar3) {
+ case 1: this->func_ov000_0208fc10(1); return;
+ case 2: this->func_ov000_0208fc10(2); return;
+ default: return;
+ }
+ bVar1 = this->func_ov000_0208fc10(2);
+ return;
+ case 1:
+ iVar4 = this->func_ov000_0208fcb4();
+ if (iVar4 == 1) {
+ return;
+ }
+ bVar1 = this->func_ov000_0208fc10(0);
+ return;
+ }
+
+ iVar5 = this->mActiveFrames + 1;
+ this->mActiveFrames = iVar5;
+ if (iVar5 < 0x1e) {
+ return;
+ }
+
+ this->func_ov000_0209032c();
+ bVar1 = this->func_ov000_0208fc10(0);
+
+ return;
+}
+
+void ActorSwitchObject::vfunc_18(u32 param1) {
+ this->vfunc_14(param1);
+}
+
+bool ActorSwitchObject::func_ov000_0208fc10(s32 param1) {
+ this->mUnk_130 = param1;
+
+ switch (param1) {
+ case 0: this->func_ov00_020c1c20(0, 0); break;
+ case 1:
+ this->func_ov00_020c1c20(0, 1);
+ if (this->mUnk_158 == 0) {
+ this->mAlive = false;
+ }
+ break;
+ case 2:
+ this->func_ov000_0208fef8();
+ this->mActiveFrames = 0;
+ break;
+ }
+
+ return true;
+}
+
+void ActorSwitchObject::func_ov000_0208fc7c() {
+ this->mUnk_158 = this->mUnk_020.mUnk_00[1];
+ this->mUnk_15c = this->mUnk_020.mUnk_00[2];
+ this->mUnk_164 = this->mUnk_020.mUnk_0a[1];
+ this->mUnk_168 = this->mUnk_164 + this->mUnk_020.mUnk_00[0];
+ this->mUnk_16c = this->mUnk_020.mUnk_08[1];
+ this->mUnk_160 = this->mUnk_164;
+}
+
bool ActorSwitchObject::func_ov000_0208fcb4() {}
void ActorSwitchObject::func_ov000_0208fef8() {}
-void ActorSwitchObject::func_ov000_0209032c() {}
+
+void ActorSwitchObject::func_ov000_0209032c() {
+ unk32 i;
+ for (i = this->mUnk_164; i < this->mUnk_168; i++) {
+ gMapManager->func_ov00_02084b38(i, this->mUnk_16c, 0);
+ }
+}
+
ActorSwitchObject::~ActorSwitchObject() {}
diff --git a/src/00_Core/Actor/Navi/ActorForceNavi.cpp b/src/00_Core/Actor/Navi/ActorForceNavi.cpp
new file mode 100644
index 00000000..04b83c13
--- /dev/null
+++ b/src/00_Core/Actor/Navi/ActorForceNavi.cpp
@@ -0,0 +1,14 @@
+#include "Actor/Navi/ActorForceNavi.hpp"
+
+#pragma section sbss begin
+ActorType ActorForceNavi::gType = ActorType(ActorTypeId_ForceNavi, (ActorCreateFunc) ActorForceNavi::Create, NULL);
+#pragma section sbss end
+
+extern u32 **data_027e0fe0[];
+ActorForceNavi *ActorForceNavi::Create() {
+ return new(*data_027e0fe0[0], 4) ActorForceNavi();
+}
+
+ARM FairyId ActorForceNavi::GetFairyId() {
+ return FairyId_Power;
+}
diff --git a/src/00_Core/Actor/Navi/ActorNavi.cpp b/src/00_Core/Actor/Navi/ActorNavi.cpp
new file mode 100644
index 00000000..7c195178
--- /dev/null
+++ b/src/00_Core/Actor/Navi/ActorNavi.cpp
@@ -0,0 +1,32 @@
+#include "Actor/Navi/ActorNavi.hpp"
+#include "Player/EquipHammer.hpp"
+
+ActorType ActorNavi::gType = ActorType(ActorTypeId_Navi, (ActorCreateFunc) ActorNavi::Create, NULL);
+UnkStruct_ov000_020b8110 data_ov000_020ee1cc;
+
+ActorNavi *ActorNavi::Create() {}
+UnkStruct_ov000_020b8110::UnkStruct_ov000_020b8110() :
+ UnkStruct_ov000_020beba8(7) {}
+UnkStruct_ov000_020b8110::~UnkStruct_ov000_020b8110() {}
+void UnkStruct_ov000_020b8110::vfunc_08(unk16 *param1) {}
+void UnkStruct_ov000_020b8110::vfunc_18(s32 *param1) {}
+void UnkStruct_ov000_020b8110::vfunc_14(u16 *param1) {}
+void ActorNavi::func_ov000_020b8200() {}
+void ActorNavi::vfunc_c4() {}
+void ActorNavi::vfunc_c8() {}
+FairyId ActorNavi::GetFairyId() {}
+s32 ActorNavi::vfunc_b8() {}
+void ActorNavi::vfunc_d4() {}
+void ActorNavi::vfunc_d0() {}
+void ActorNavi::SetActive(bool active) {}
+void ActorNavi::vfunc_e0() {}
+void ActorNavi::vfunc_d8() {}
+void ActorNavi::vfunc_20(bool param1) {}
+bool ActorNavi::vfunc_cc(unk32 *param1) {}
+bool ActorNavi::vfunc_c0(Vec3p *param1) {}
+void ActorNavi::vfunc_e8() {}
+bool ActorNavi::vfunc_8c() {}
+void ActorNavi::vfunc_ec() {}
+EquipHammer *GetEquipHammer() {}
+void ActorNavi::func_ov000_020b853c() {}
+ActorNavi::~ActorNavi() {}
diff --git a/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp b/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp
new file mode 100644
index 00000000..84c02e33
--- /dev/null
+++ b/src/00_Core/Actor/Navi/ActorWisdomNavi.cpp
@@ -0,0 +1,14 @@
+#include "Actor/Navi/ActorWisdomNavi.hpp"
+
+#pragma section sbss begin
+ActorType ActorWisdomNavi::gType = ActorType(ActorTypeId_WisdomNavi, (ActorCreateFunc) ActorWisdomNavi::Create, NULL);
+#pragma section sbss end
+
+extern u32 **data_027e0fe0[];
+ARM ActorWisdomNavi *ActorWisdomNavi::Create() {
+ return new(*data_027e0fe0[0], 4) ActorWisdomNavi();
+}
+
+ARM FairyId ActorWisdomNavi::GetFairyId() {
+ return FairyId_Wisdom;
+}
diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp
index 96fbad4c..3c77b0ab 100644
--- a/src/00_Core/Item/ItemManager.cpp
+++ b/src/00_Core/Item/ItemManager.cpp
@@ -1,6 +1,8 @@
#include "Item/ItemManager.hpp"
#include "DTCM/UnkStruct_027e0d38.hpp"
#include "DTCM/UnkStruct_027e0f78.hpp"
+#include "DTCM/UnkStruct_027e103c.hpp"
+#include "Item/ItemModelLoader.hpp"
#include "Map/MapManager.hpp"
#include "Player/PlayerLinkBase.hpp"
#include "Player/PlayerManager.hpp"
@@ -126,7 +128,7 @@ ARM FairyId ItemManager::GetEquippedFairy() const {
return fairy;
}
-ARM ActorNavi *ItemManager::GetFairy(FairyId id) const {
+ARM ActorNaviBase *ItemManager::GetFairy(FairyId id) const {
return mFairies[id];
}
@@ -158,17 +160,15 @@ ARM ItemModel *ItemManager::GetItemModel(ItemModelId id) {
return mItemModels[id];
}
-extern unk32 gItemModelLoader;
-extern "C" void *func_ov00_020bb3a8(unk32 param1, u32 index);
-extern "C" void func_ov00_020c0bdc(void *param1, unk32 param2);
+extern "C" void func_ov000_020c0bdc(unk32 param1, unk32 param2);
ARM void ItemManager::func_ov00_020ad538(unk32 param1) const {
- void *unk1 = func_ov00_020bb3a8(gItemModelLoader, 6);
- func_ov00_020c0bdc(unk1, param1);
+ unk32 unk1 = gItemModelLoader->func_ov000_020bb3a8(6);
+ func_ov000_020c0bdc(unk1, param1);
}
ARM void ItemManager::func_ov00_020ad560(unk32 param1) const {
- void *unk1 = func_ov00_020bb3a8(gItemModelLoader, 7);
- func_ov00_020c0bdc(unk1, param1);
+ unk32 unk1 = gItemModelLoader->func_ov000_020bb3a8(7);
+ func_ov000_020c0bdc(unk1, param1);
}
ARM ItemModel *ItemManager::GetDungeonItemModel(u32 index) {
@@ -176,8 +176,8 @@ ARM ItemModel *ItemManager::GetDungeonItemModel(u32 index) {
}
ARM void ItemManager::func_ov00_020ad594(unk32 param1) const {
- void *unk1 = func_ov00_020bb3a8(gItemModelLoader, 11);
- func_ov00_020c0bdc(unk1, param1);
+ unk32 unk1 = gItemModelLoader->func_ov000_020bb3a8(11);
+ func_ov000_020c0bdc(unk1, param1);
}
ARM void ItemManager::Sword_vfunc_38(unk32 param1) {
@@ -231,30 +231,25 @@ ARM u16 ItemManager::GetAmmo(ItemFlag equipId) const {
return (*mAmmo)[equipId];
}
-ARM void ItemManager::GiveAmmo(ItemFlag equipId, u16 amount) {
+ARM void ItemManager::GiveAmmo(ItemFlag equipId, u32 amount) {
(*mAmmo)[equipId] += amount;
if ((*mAmmo)[equipId] <= this->GetMaxAmmo(equipId)) return;
(*mAmmo)[equipId] = this->GetMaxAmmo(equipId);
}
-extern "C" unk32 func_ov00_02078b40(UnkStruct_027e0d38 *param1);
extern void *data_027e10a4;
-extern "C" bool func_ov15_02136670(void *param1);
-extern unk8 data_ov29_0217a4ac[];
-extern "C" bool _ZN14PlayerLinkBase18func_ov00_020bbd80Ei(unk32 param1, unk32 param2);
-extern "C" bool _ZNK11ItemManager7HasItemEi();
-extern "C" void _ZN11ItemManager12GetEquipItemEi();
+extern "C" bool func_ov015_02136670(void *param1);
+extern u8 data_ov022_0217a4ac[];
ARM bool ItemManager::func_ov00_020ad790(unk32 param1) {
- unk32 unk1 = func_ov00_02078b40(data_027e0d38);
- if (unk1 == 2) return func_ov15_02136670(data_027e10a4);
+ unk32 unk1 = data_027e0d38->func_ov000_02078b40();
+ if (unk1 == 2) return func_ov015_02136670(data_027e10a4);
if (data_027e0d38->mUnk_14 == 1) return false;
- // NONMATCH: OverlayId_29 should be in constant pool
- if (gOverlayManager.mLoadedOverlays[OverlayIndex_6] == OverlayId_29 && data_ov29_0217a4ac[0x54] != 0) {
+ if (gOverlayManager.mLoadedOverlays[OverlayIndex_6] == OverlayId_29 && data_ov022_0217a4ac[0x54] != 0) {
return false;
}
ItemFlag equipId = mForcedItem;
- bool unk2 = !gMapManager->func_ov00_020849f8(equipId);
+ bool unk2 = !gMapManager->func_ov00_020849f8();
if (mEquippedItem != ItemFlag_None && (unk2 || (u32) mEquippedItem - 9 <= 1) &&
(gPlayerLink == 0 || gPlayerLink->func_ov000_020bbd80(param1)) && this->HasItem(mEquippedItem))
{
@@ -320,7 +315,7 @@ THUMB void ItemManager::SetUnk_09e(u32 index, u16 value) {
}
const u16 sQuiverSizes[] = {20, 20, 30, 50};
-const u16 sBombBagSizes[] = {10, 20, 30};
+const u16 sBombBagSizes[] = {10, 20, 30, 0};
THUMB u16 ItemManager::GetMaxAmmo(ItemFlag equipId) const {
switch (equipId) {
@@ -379,8 +374,8 @@ THUMB void ItemManager::RemoveItem(ItemFlag item) {
extern ItemModel **data_027e1058;
extern ItemModel **data_027e105c;
-extern "C" ItemModel *func_ov00_02079ffc(void *, const char *modelName, const char *textureName, unk32 param4, unk8 param5,
- unk8 param6, bool param7);
+extern "C" ItemModel *LoadNsbTexturedModel(void *, const char *modelName, const char *textureName, unk32 param4, unk8 param5,
+ unk8 param6, bool param7);
extern "C" ItemModel *LoadTreasureItemFanfare(ItemModel **, s32 treasureType, bool, bool);
static char *sDefaultItemModel = "key";
static char *sItemModelNames[70] = {
@@ -391,47 +386,47 @@ static char *sItemModelNames[70] = {
[ItemId_WoodenShield] = "shA",
[ItemId_Unk_5] = NULL,
[ItemId_Unk_6] = "force_y",
- [ItemId_BombBag] = "bomb\0\0\0",
+ [ItemId_BombBag] = "bomb",
[ItemId_Bow] = "bow",
[ItemId_BigGreenRupee] = "rupee_g",
- [ItemId_HeartContainer] = "heart_utu\0\0",
+ [ItemId_HeartContainer] = "heart_utu",
[ItemId_Unk_11] = NULL,
- [ItemId_Boomerang] = "boomerang\0\0",
+ [ItemId_Boomerang] = "boomerang",
[ItemId_Scoop] = "scp",
- [ItemId_BombchuBag] = "bomchu\0",
+ [ItemId_BombchuBag] = "bomchu",
[ItemId_BossKey] = "bosskey",
[ItemId_Unk_16] = "rev_bin",
[ItemId_Unk_17] = NULL,
[ItemId_PhantomHourglass] = NULL,
- [ItemId_SWSeaChart] = "mapSea\0",
- [ItemId_NWSeaChart] = "mapSea\0",
- [ItemId_SESeaChart] = "mapSea\0",
- [ItemId_NESeaChart] = "mapSea\0",
+ [ItemId_SWSeaChart] = "mapSea",
+ [ItemId_NWSeaChart] = "mapSea",
+ [ItemId_SESeaChart] = "mapSea",
+ [ItemId_NESeaChart] = "mapSea",
[ItemId_Unk_23] = NULL,
[ItemId_BlueRupee] = "rupee_b",
[ItemId_RedRupee] = "rupee_r",
[ItemId_BigRedRupee] = "rupee_r",
- [ItemId_GoldRupee] = "rupee_go\0\0\0",
+ [ItemId_GoldRupee] = "rupee_go",
[ItemId_Unk_28] = "force_y",
[ItemId_Unk_29] = "force_r",
[ItemId_Unk_30] = "force_b",
[ItemId_Hammer] = "ham",
- [ItemId_Rope] = "rope\0\0\0",
- [ItemId_SquareCrystal] = "cstl_c\0",
- [ItemId_RoundCrystal] = "cstl_s\0",
- [ItemId_TriangleCrystal] = "cstl_t\0",
- [ItemId_FishingRod] = "fp\0",
+ [ItemId_Rope] = "rope",
+ [ItemId_SquareCrystal] = "cstl_c",
+ [ItemId_RoundCrystal] = "cstl_s",
+ [ItemId_TriangleCrystal] = "cstl_t",
+ [ItemId_FishingRod] = "fp",
[ItemId_Cannon] = NULL,
- [ItemId_SunKey] = "key_su\0",
+ [ItemId_SunKey] = "key_su",
[ItemId_Unk_39] = NULL,
- [ItemId_Quiver] = "arrowpod\0\0\0",
- [ItemId_BigBombBag] = "bmbagM\0",
- [ItemId_BigBombchuBag] = "bcbagM\0",
+ [ItemId_Quiver] = "arrowpod",
+ [ItemId_BigBombBag] = "bmbagM",
+ [ItemId_BigBombchuBag] = "bcbagM",
[ItemId_Unk_43] = NULL,
- [ItemId_KingsKey] = "key_ki\0",
- [ItemId_PowerGem] = "minaP\0\0",
- [ItemId_WisdomGem] = "minaC\0\0",
- [ItemId_CourageGem] = "minaY\0\0",
+ [ItemId_KingsKey] = "key_ki",
+ [ItemId_PowerGem] = "minaP",
+ [ItemId_WisdomGem] = "minaC",
+ [ItemId_CourageGem] = "minaY",
[ItemId_PinkCoral] = NULL,
[ItemId_WhitePearlLoop] = NULL,
[ItemId_DarkPearlLoop] = NULL,
@@ -440,44 +435,40 @@ static char *sItemModelNames[70] = {
[ItemId_RutoCrown] = NULL,
[ItemId_HelmarocPlume] = NULL,
[ItemId_RegalRing] = NULL,
- [ItemId_GhostKey] = "key_gh\0",
- [ItemId_FreebieCard] = "tic_tada\0\0\0",
- [ItemId_ComplimentCard] = "tic_ohome\0\0",
- [ItemId_ComplimentaryCard] = "tic_rare\0\0\0",
- [ItemId_RegalNecklace] = "neckl\0\0",
- [ItemId_SalvageArm] = "slvarm\0",
+ [ItemId_GhostKey] = "key_gh",
+ [ItemId_FreebieCard] = "tic_tada",
+ [ItemId_ComplimentCard] = "tic_ohome",
+ [ItemId_ComplimentaryCard] = "tic_rare",
+ [ItemId_RegalNecklace] = "neckl",
+ [ItemId_SalvageArm] = "slvarm",
[ItemId_HerosNewClothes] = NULL,
- [ItemId_Kaleidoscope] = "telescope\0\0",
- [ItemId_GuardNotebook] = "notebook\0\0\0",
- [ItemId_JolenesLetter] = "letter\0",
- [ItemId_PrizePostcard] = "card\0\0\0",
- [ItemId_WoodHeart] = "marron\0",
+ [ItemId_Kaleidoscope] = "telescope",
+ [ItemId_GuardNotebook] = "notebook",
+ [ItemId_JolenesLetter] = "letter",
+ [ItemId_PrizePostcard] = "card",
+ [ItemId_WoodHeart] = "marron",
[ItemId_PhantomSwordBlade] = "swBedge",
[ItemId_PhantomSword] = NULL,
};
static char *sItemModelNames2[8] = {
- [ItemId_SwordsmanScroll - ItemId_SwordsmanScroll] = "makimono\0\0\0",
- [ItemId_Crimsonine - ItemId_SwordsmanScroll] = "hagaH\0\0",
- [ItemId_Azurine - ItemId_SwordsmanScroll] = "hagaK\0\0",
- [ItemId_Aquanine - ItemId_SwordsmanScroll] = "hagaS\0\0",
+ [ItemId_SwordsmanScroll - ItemId_SwordsmanScroll] = "makimono",
+ [ItemId_Crimsonine - ItemId_SwordsmanScroll] = "hagaH",
+ [ItemId_Azurine - ItemId_SwordsmanScroll] = "hagaK",
+ [ItemId_Aquanine - ItemId_SwordsmanScroll] = "hagaS",
[ItemId_RedPotion - ItemId_SwordsmanScroll] = "rev_bin",
- [ItemId_PurplePotion - ItemId_SwordsmanScroll] = "rev_binP\0\0\0",
- [ItemId_YellowPotion - ItemId_SwordsmanScroll] = "rev_binY\0\0\0",
- [ItemId_SandOfHours - ItemId_SwordsmanScroll] = "sand_m\0",
+ [ItemId_PurplePotion - ItemId_SwordsmanScroll] = "rev_binP",
+ [ItemId_YellowPotion - ItemId_SwordsmanScroll] = "rev_binY",
+ [ItemId_SandOfHours - ItemId_SwordsmanScroll] = "sand_m",
};
static char *sItemModelNames3[9] = {
- [ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass",
- [ItemId_Unk_128 - ItemId_CycloneSlate] = "lure\0\0\0",
- [ItemId_Rupoor10 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
- [ItemId_Rupoor50 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
- [ItemId_Unk_131 - ItemId_CycloneSlate] = NULL,
- [ItemId_Unk_132 - ItemId_CycloneSlate] = NULL,
- [ItemId_Unk_133 - ItemId_CycloneSlate] = NULL,
- [ItemId_Unk_134 - ItemId_CycloneSlate] = NULL,
- [ItemId_Unk_135 - ItemId_CycloneSlate] = NULL,
+ [ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass", [ItemId_BigCatchLure - ItemId_CycloneSlate] = "lure",
+ [ItemId_Rupoor10 - ItemId_CycloneSlate] = "rupee_bb", [ItemId_Rupoor50 - ItemId_CycloneSlate] = "rupee_bb",
+ [ItemId_Unk_131 - ItemId_CycloneSlate] = NULL, [ItemId_Unk_132 - ItemId_CycloneSlate] = NULL,
+ [ItemId_Unk_133 - ItemId_CycloneSlate] = NULL, [ItemId_Unk_134 - ItemId_CycloneSlate] = NULL,
+ [ItemId_Unk_135 - ItemId_CycloneSlate] = NULL,
};
char *sSpecialItemModelNames[7] = {
- "mapTakara\0\0", "arrowpodL\0\0", "bmbagL\0", "bcbagL\0", "Player/get/gd_\0", ".nsbmd\0", ".nsbtx\0",
+ "mapTakara", "arrowpodL", "bmbagL", "bcbagL", "Player/get/gd_", ".nsbmd", ".nsbtx",
};
THUMB void ItemManager::LoadFanfareItem(ItemId id) {
mFanfareItem = id;
@@ -521,7 +512,7 @@ THUMB void ItemManager::LoadFanfareItem(ItemId id) {
strcat(textureName, sSpecialItemModelNames[4]);
strcat(textureName, itemName);
strcat(textureName, sSpecialItemModelNames[6]);
- model = func_ov00_02079ffc(mFanfareItemModel, modelName, textureName, 0, 0, 0, true);
+ model = LoadNsbTexturedModel(mFanfareItemModel, modelName, textureName, 0, 0, 0, true);
}
mUnk_114->vfunc_0c(model);
}
@@ -787,8 +778,8 @@ THUMB void ItemManager::GiveItem(ItemId id) {
SET_FLAG(mItemFlags.flags, ItemFlag_CycloneSlate);
} break;
- case ItemId_Unk_128: {
- SET_FLAG(mItemFlags.flags, ItemFlag_Unk_47);
+ case ItemId_BigCatchLure: {
+ SET_FLAG(mItemFlags.flags, ItemFlag_BigCatchLure);
} break;
case ItemId_Rupoor10: {
@@ -841,9 +832,6 @@ ARM s32 ItemManager::GetMaxRupees() const {
return 9999;
}
-extern void *data_027e103c;
-extern "C" s32 func_ov00_020cf374(void *param1, bool param2);
-extern "C" void func_ov05_02104004(void *param1);
ARM void ItemManager::GiveRupees(s32 amount, bool param2) {
s32 newRupees = mNumRupees + amount;
if (newRupees > this->GetMaxRupees()) {
@@ -852,11 +840,11 @@ ARM void ItemManager::GiveRupees(s32 amount, bool param2) {
newRupees = 0;
}
- s32 currRupees = func_ov00_020cf374(data_027e103c, true);
+ s32 currRupees = data_027e103c->func_ov000_020cf374(true);
if (param2) {
currRupees = mNumRupees;
if (currRupees != newRupees) {
- func_ov05_02104004(data_027e103c);
+ data_027e103c->WalletFull();
}
}
mNumRupees = newRupees;
@@ -994,7 +982,7 @@ THUMB void ItemManager::LoadDungeonItemModels() {
}
}
-extern unk32 data_ov00_020eec68;
+extern unk32 data_ov000_020eec68;
extern "C" void PlaySoundEffect(void *param1, SfxId sfx);
THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) {
if (gItemManager->mMuteNextFanfare == true) {
@@ -1043,7 +1031,7 @@ THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) {
gItemManager->mFanfareSfx = SfxId_None;
}
- PlaySoundEffect(&data_ov00_020eec68, sfx);
+ PlaySoundEffect(&data_ov000_020eec68, sfx);
}
THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) const {
diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp
index 9c23a95b..6abb27cc 100644
--- a/src/00_Core/Map/MapManager.cpp
+++ b/src/00_Core/Map/MapManager.cpp
@@ -113,7 +113,7 @@ bool MapManager::func_ov00_020839b4(s32 param_2) {}
bool MapManager::func_ov00_020839c4(s32 param_2) {}
unk8 MapManager::func_ov00_020839d4() {}
unk8 MapManager::func_ov00_020839f8() {}
-void MapManager::func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3) {}
+void MapManager::func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3) {}
unk8 MapManager::func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5) {}
unk8 MapManager::func_ov00_02083b84() {}
unk8 MapManager::func_ov00_02083bac() {}
@@ -121,7 +121,7 @@ unk8 MapManager::func_ov00_02083bd4() {}
unk8 MapManager::func_ov00_02083bfc() {}
unk8 MapManager::func_ov00_02083c24(unk32 param_2) {}
unk8 MapManager::func_ov00_02083c50(unk32 param_2) {}
-unk8 MapManager::func_ov00_02083c7c(Vec3p *param_2, unk32 param_3) {}
+unk8 MapManager::func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3) {}
unk8 MapManager::func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) {}
unk8 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) {}
unk8 MapManager::MapData_vfunc_60() {}
@@ -135,7 +135,7 @@ unk8 MapManager::func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *pa
void MapManager::GetTileWorldBounds(Vec2b *tile, AABB *tileBounds) {}
unk8 MapManager::MapData_vfunc_54() {}
unk8 MapManager::func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4) {}
-unk8 MapManager::MapData_vfunc_78() {}
+unk32 MapManager::MapData_vfunc_78(Vec2b *param1) {}
unk8 MapManager::func_ov00_020840dc() {}
unk8 MapManager::func_ov00_02084100(unk32 param_1, MapManager *param_2) {}
unk8 MapManager::GetMapData_Unk_48() {}
@@ -165,7 +165,7 @@ unk8 MapManager::GetMapData_Unk_07() {}
unk8 MapManager::func_ov00_0208499c() {}
unk8 MapManager::func_ov00_020849c0() {}
unk8 MapManager::func_ov00_020849dc() {}
-bool MapManager::func_ov00_020849f8(unk32 param_1) {}
+bool MapManager::func_ov00_020849f8() {}
unk8 MapManager::func_ov00_02084a50() {}
void MapManager::SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4) {}
bool MapManager::func_ov00_02084ac4(u32 actorId) {}
@@ -187,10 +187,10 @@ unk8 MapManager::GetMapData_Unk_09() {}
unk8 MapManager::func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4) {}
s32 MapManager::func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4) {}
unk8 MapManager::func_ov00_02084ebc(unk32 param_2) {}
-s32 MapManager::func_ov00_02085108(s32 *param_2) {}
+s32 MapManager::func_ov00_02085108(Vec3p *param_2) {}
unk8 MapManager::func_ov00_0208527c() {}
unk8 MapManager::func_ov00_020853fc() {}
-unk8 MapManager::func_ov00_02085594() {}
+unk8 MapManager::func_ov00_02085594(Vec3p *param_1) {}
void MapManager::func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3) {}
unk8 MapManager::func_ov00_020858b0() {}
s32 MapManager::func_ov00_02085a34(unk32 param_2, unk32 param_3) {}
diff --git a/src/00_Core/Player/LinkStateBase.cpp b/src/00_Core/Player/LinkStateBase.cpp
index 7479667e..37215e6f 100644
--- a/src/00_Core/Player/LinkStateBase.cpp
+++ b/src/00_Core/Player/LinkStateBase.cpp
@@ -16,7 +16,7 @@ void LinkStateBase::UpdateSwordShieldInUse() {}
void LinkStateBase::func_ov00_020a81b8(unk32 param1, unk32 param2) {}
LinkStateItem *LinkStateBase::GetLinkItemState() {}
void LinkStateBase::LookAt(Vec3p *target) {}
-void LinkStateBase::func_ov00_020a81fc() {}
+void LinkStateBase::func_ov00_020a81fc(Vec3p *param1, unk32 param2) {}
void LinkStateBase::AddHealth(s16 amount) {}
void LinkStateBase::func_ov00_020a8224(unk32 param1) {}
void LinkStateBase::TurnTo(s16 angle, unk32 param2, unk32 speed) {}
@@ -38,7 +38,7 @@ bool LinkStateBase::func_ov00_020a8638(unk32 param1) {}
void LinkStateBase::Clear_PlayerLinkBase_Unk48(u16 flags) {}
void LinkStateBase::func_ov00_020a8680(unk32 param1, unk16 param2, bool param3) {}
void LinkStateBase::PlayerLinkBase_func_ov00_020bccc8() {}
-bool LinkStateBase::PlayerLinkBase_vfunc_58() {}
+bool LinkStateBase::PlayerLinkBase_vfunc_58(unk32 param1, ActorRef *param2) {}
bool LinkStateBase::func_ov00_020a8704(s16 *pAngle) {}
bool LinkStateBase::func_ov00_020a8774(Vec3p *param1, s32 angle) {}
void LinkStateBase::func_ov00_020a8844(Vec3p *param1, bool param2, bool param3) {}
@@ -46,7 +46,7 @@ void LinkStateBase::func_ov00_020a8954(bool param1, unk32 *param2) {}
void LinkStateBase::func_ov00_020a8994() {}
void LinkStateBase::func_ov00_020a89bc(unk32 param1, unk32 param2) {}
void LinkStateBase::func_ov00_020a8a08(unk32 param1) {}
-void LinkStateBase::func_ov00_020a8a4c(unk32 param1, unk32 param2) {}
+void LinkStateBase::func_ov00_020a8a4c(const void *param1, unk32 param2) {}
void LinkStateBase::func_ov00_020a8a90(unk32 param1) {}
void LinkStateBase::func_ov00_020a8ab0(unk32 param1) {}
void LinkStateBase::func_ov00_020a8ad0(unk32 param1) {}
diff --git a/src/00_Core/Player/LinkStateItem.cpp b/src/00_Core/Player/LinkStateItem.cpp
index 240b94c8..9e42961f 100644
--- a/src/00_Core/Player/LinkStateItem.cpp
+++ b/src/00_Core/Player/LinkStateItem.cpp
@@ -1,5 +1,6 @@
#include "Player/LinkStateItem.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
+#include "DTCM/UnkStruct_027e1098.hpp"
#include "Item/ItemManager.hpp"
#include "Player/EquipBomb.hpp"
#include "Player/EquipHammer.hpp"
@@ -8,13 +9,8 @@
#include "Player/PlayerControl.hpp"
#include "Save/AdventureFlags.hpp"
-extern void func_ov000_020cf9dc(s32 param1, s32 param2, s32 param3);
-extern void func_ov014_0213ec64(s32 param1);
-extern void func_ov014_0211fd04(s32 *param1);
extern void func_ov000_020b7e6c(s32 *param1);
-extern s32 *data_027e1098;
-
THUMB void LinkStateItem::vfunc_00() {}
ARM LinkStateId LinkStateItem::GetId() {
@@ -42,7 +38,7 @@ ARM void LinkStateItem::OnStateLeave(s32 param1) {
if (*(u8 *) (iVar3 + 0xe0) == '\0') {
GetEquipBombchu()->func_ov014_0213ec64();
}
- func_ov014_0211fd04(data_027e1098);
+ data_027e1098->func_ov014_0211fd04();
break;
case ItemFlag_OshusSword: break;
case ItemFlag_WoodenShield: break;
diff --git a/src/00_Core/Player/LinkStateMove.cpp b/src/00_Core/Player/LinkStateMove.cpp
index 918a92fe..5509be66 100644
--- a/src/00_Core/Player/LinkStateMove.cpp
+++ b/src/00_Core/Player/LinkStateMove.cpp
@@ -1,10 +1,71 @@
#include "Player/LinkStateMove.hpp"
-void LinkStateMove::vfunc_00() {}
-LinkStateId LinkStateMove::GetId() {}
-void LinkStateMove::CreateDebugHierarchy() {}
-void LinkStateMove::OnStateEnter() {}
-void LinkStateMove::OnStateLeave(s32 param1) {}
-bool LinkStateMove::vfunc_24(s32 param1) {}
-bool LinkStateMove::func_ov00_020a8f2c() {}
-bool LinkStateMove::func_ov00_020a8f4c() {}
+unk32 LinkStateMove::data_ov000_020e56f0 = 0x800;
+
+THUMB void LinkStateMove::vfunc_00() {}
+
+ARM LinkStateId LinkStateMove::GetId() {
+ return LinkStateId_Move;
+}
+
+THUMB void LinkStateMove::CreateDebugHierarchy() {
+ unk32 id = 'LMOV';
+ // Breath volume decay rate "息吹きボリューム低下率"
+ const char *description = "\x91\xa7\x90\x81\x82\xab\x83{\x83\x8a\x83\x85\x81[\x83\x80\x92\xe1\x89\xba\x97\xa6";
+
+ DebugHierarchy *debugHierarchy = this->GetDebugHierarchy0();
+ debugHierarchy->vfunc_3c(id, &data_ov000_020e56f0);
+
+ debugHierarchy->GetChildNode(1, description, id, &data_ov000_020e56f0, 8, 0, 0x1000, 0);
+}
+
+extern u32 data_ov000_020eec9c;
+extern "C" void func_ov000_020d77e4(void *param1, s32 param2);
+
+ARM void LinkStateMove::OnStateEnter() {
+ this->mUnk_0c = 0;
+ this->mUnk_10 = 0;
+ this->mUnk_12 = 0;
+ if (this->mUnk_14 == 0) {
+ return;
+ }
+
+ EquipItem *sword = this->GetEquipItem(ItemFlag_OshusSword);
+ sword->UpdateInUse(1);
+ EquipItem *shield = this->GetEquipItem(ItemFlag_WoodenShield);
+ shield->UpdateInUse(1);
+
+ PlayerBase::GetEquipSword()->func_ov000_020c06b0(-1);
+ func_ov000_020d77e4(&data_ov000_020eec9c, 0xD);
+}
+
+ARM void LinkStateMove::OnStateLeave(s32 param1) {
+ LinkStateBase::OnStateLeave(param1);
+ this->mUnk_14 = 0;
+ this->mUnk_15 = 0;
+ this->mUnk_16 = 0;
+}
+
+ARM bool LinkStateMove::vfunc_24(s32 param1) {
+ if (this->GetHealth() > 0) {
+ return LinkStateBase::vfunc_24(param1);
+ }
+ switch (param1) {
+ case 2: return true;
+ default: return false;
+ }
+}
+
+ARM bool LinkStateMove::func_ov00_020a8f2c() {
+ static unk32 data_ov000_020e56f4 = 0x100;
+ return this->mUnk_0c > data_ov000_020e56f4;
+}
+
+ARM bool LinkStateMove::func_ov00_020a8f4c() {
+ if (this->mUnk_15) {
+ return false;
+ }
+ this->mUnk_15 = true;
+ this->mUnk_16 = false;
+ return true;
+}
diff --git a/src/00_Core/Player/PlayerControl.cpp b/src/00_Core/Player/PlayerControl.cpp
index 6cf39bda..406fe1da 100644
--- a/src/00_Core/Player/PlayerControl.cpp
+++ b/src/00_Core/Player/PlayerControl.cpp
@@ -1,52 +1,1066 @@
#include "Player/PlayerControl.hpp"
+#include "Actor/ActorManager.hpp"
+#include "Actor/Navi/ActorNaviBase.hpp"
+#include "DTCM/UnkStruct_027e05f8.hpp"
+#include "DTCM/UnkStruct_027e077c.hpp"
+#include "DTCM/UnkStruct_027e0c68.hpp"
+#include "DTCM/UnkStruct_027e0d38.hpp"
+#include "DTCM/UnkStruct_027e0e2c.hpp"
+#include "DTCM/UnkStruct_027e0f64.hpp"
+#include "DTCM/UnkStruct_027e0ffc.hpp"
+#include "DTCM/UnkStruct_027e103c.hpp"
+#include "Item/ItemManager.hpp"
+#include "Map/MapManager.hpp"
+#include "Player/PlayerBase.hpp"
+#include "Player/PlayerLinkBase.hpp"
+#include "Save/AdventureFlags.hpp"
-bool PlayerControl::func_ov00_020aeeac() {}
-void PlayerControl::func_ov00_020aeef8() {}
-void PlayerControl::func_ov00_020aef30() {}
-void PlayerControl::UpdateAim() {}
-Actor *PlayerControl::GetFollowActor() {}
-bool PlayerControl::func_ov00_020af01c(unk8 *param1) {}
-void PlayerControl::SetUnk_80() {}
-void PlayerControl::StopFollowing() {}
-void PlayerControl::func_ov00_020af06c() {}
-void PlayerControl::UpdateUsingEquipItem() {}
-bool PlayerControl::func_ov00_020af2d4(u32 param1, bool param2) {}
-bool PlayerControl::CheckTouchedNow(u32 param1) {}
-bool PlayerControl::CheckUntouchedNow(u32 param1) {}
-bool PlayerControl::CheckTouching(u32 param1) {}
-bool PlayerControl::CheckTouchFast(u32 param1) {}
-bool PlayerControl::func_ov00_020af4a4() {}
-void PlayerControl::func_ov00_020af538() {}
-void PlayerControl::func_ov00_020af6e4(Vec3p *param1, s32 param3, s32 param4) {}
-bool PlayerControl::func_ov00_020af778() {}
-bool PlayerControl::func_ov00_020afad8(Vec3p *param1) {}
-void PlayerControl::func_ov00_020afb6c() {}
-bool PlayerControl::func_ov00_020afe88(s32 param1, bool param2) {}
-bool PlayerControl::func_ov00_020afeec(unk32 param1, bool param2) {}
-void PlayerControl::func_ov00_020aff90(unk32 param1, unk32 param2) {}
-void PlayerControl::func_ov00_020affec(Vec3p *param1, s32 y, s32 param3, Vec3p *param4) {}
-void PlayerControl::func_ov00_020b014c() {}
-void PlayerControl::SetAim() {}
-bool PlayerControl::UpdateAimWorld(Vec3p *param1) {}
-s16 PlayerControl::GetTouchAngle() {}
-u32 PlayerControl::func_ov00_020b034c() {}
-s32 PlayerControl::func_ov00_020b0418() {}
-bool PlayerControl::func_ov00_020b049c(Vec3p *param1, bool param2) {}
-bool PlayerControl::func_ov00_020b05e8(Vec3p *param1) {}
-bool PlayerControl::func_ov00_020b0778(Vec3p *param1, u32 param2, unk32 param3) {}
-bool PlayerControl::CheckNotTouching() {}
-bool PlayerControl::func_ov00_020b0ad0(Actor *actor) {}
-bool PlayerControl::func_ov00_020b0b0c(s16 *pAngle, ItemFlag *pEquipId, unk32 *pCardinal, bool *pFast) {}
-bool PlayerControl::func_ov00_020b0de8(Vec3p *param1) {}
-bool PlayerControl::func_ov00_020b0e54(Vec3p *param1, Vec3p *param2) {}
-bool PlayerControl::func_ov00_020b0f88(Vec3p *param1, unk32 param2, Vec3p *param3) {}
-bool PlayerControl::func_ov00_020b1058(Vec3p *param1, unk32 param2, Vec3p *param3, Vec3p *param4) {}
-bool PlayerControl::IsUntouchedNow() {}
-bool PlayerControl::IsNotUntouchedNow() {}
-bool PlayerControl::func_ov00_020b1248(unk32 *param1) {}
-bool PlayerControl::func_ov00_020b129c() {}
-bool PlayerControl::func_ov00_020b12d0(s16 *pAngle) {}
-bool PlayerControl::IsNotTouching() {}
-bool PlayerControl::IsTouchingFast() {}
-bool PlayerControl::IsTappedNow() {}
-bool PlayerControl::func_ov00_020b13c4() {}
+static char *sShipTypes[] = {"brg", "anc", "pdl", "hul", "can", "dco", "bow", "fnl"};
+
+ARM bool PlayerControl::func_ov00_020aeeac() {
+ if (((data_02056be4[data_027e077c.GetUnk0()] & 1) != 0) || ((data_02056be4[data_027e077c.GetUnk0()] & 4) != 0)) {
+ return false;
+ }
+ return data_027e077c.GetUnk0() == data_027e077c.GetUnk4();
+}
+
+ARM bool PlayerControl::func_ov00_020aeef8() {
+ if (data_027e077c.GetUnk0() == 0x37 || data_027e077c.GetUnk0() == 0x3b) {
+ return false;
+ }
+ if (data_027e077c.GetUnk0() == 0x3d) {
+ return true;
+ }
+ return func_ov00_020aeeac();
+}
+
+THUMB void PlayerControl::func_ov00_020aef30() {
+ this->ResetTouchWorld();
+ if (mDebug) {
+ // 操作 = Operation
+ mDebug->vfunc_20(0, "\x91\x80\x8d\xec", 'PCTL', 'PLYR', 0, 0);
+ }
+}
+
+// NONMATCH: Instruction ordering
+THUMB void PlayerControl::UpdateAim() {
+ ResetTouchWorld();
+ mAimWorld.x = 0;
+ mAimWorld.y = 0;
+ mAimWorld.z = 0;
+ mUnk_80 = false;
+ mUnk_82 = 0;
+ mFollowRef.Reset();
+ mNextFollowRef.Reset();
+ mFollowing = false;
+ mAim = gVec3p_ZERO;
+ s32 iVar2 = data_027e0d38->func_ov000_02078b40();
+ if (iVar2 == 2) {
+ data_027e103c->func_ov000_020cf2b8();
+ }
+ mUnk_c8 = -1;
+ mUnk_cc = -1;
+}
+
+ARM Actor *PlayerControl::GetFollowActor() {
+ return gActorManager->GetActor(&mFollowRef);
+}
+
+ARM bool PlayerControl::func_ov00_020af01c(Vec2b *param1) {
+ if (mFollowing) {
+ *param1 = mUnk_9c;
+ return true;
+ }
+ return false;
+}
+
+ARM void PlayerControl::SetUnk_80() {
+ mUnk_80 = true;
+}
+
+ARM void PlayerControl::StopFollowing() {
+ mFollowRef.Reset();
+ mFollowing = false;
+ mFollowObject = NULL;
+}
+
+ARM void PlayerControl::func_ov00_020af06c() {
+ if (!mUnk_78) {
+ mUsingEquipItem = false;
+ return;
+ }
+ ItemFlag equippedItem;
+ bool usingEquipItem = mUsingEquipItem;
+ if (mUnk_7a) {
+ mUnk_7b = usingEquipItem;
+ }
+ if (gAdventureFlags->func_ov00_02097738() || data_027e0c68.mUnk_04 != 0) {
+ if (data_027e0d38->func_ov000_02078b40() != 2) {
+ mUsingEquipItem = false;
+ }
+ return;
+ }
+ ItemManager *itemManager = gItemManager;
+ equippedItem = itemManager->mEquippedItem;
+ if (equippedItem == ItemFlag_PotionA) {
+ if (itemManager->HasPotion(0)) {
+ mUsingEquipItem = true;
+ return;
+ }
+ } else if (equippedItem == ItemFlag_PotionB) {
+ if (itemManager->HasPotion(1)) {
+ mUsingEquipItem = true;
+ return;
+ }
+ }
+ if (data_027e0d38->func_ov000_02078b40() == 2) {
+ mUnk_7b = true;
+ mUnk_7b = (mUnk_7b & gItemManager->func_ov00_020ad790(1)) != 0;
+ } else {
+ if (((data_027e05f8.mUnk_0 & 0x300) != 0) && mUnk_7e != 0 && func_ov00_020aeef8()) {
+ mUnk_7b = true;
+ } else {
+ if (((data_027e05f8.mUnk_0 & 0x300) == 0) && mUnk_83) {
+ mUnk_7b = false;
+ } else {
+ if (data_027e103c->mUnk_20 == 2 && !mTouch && func_ov00_020aeef8()) {
+ mUnk_7b = !mUnk_7b;
+ mUnk_7c = 0;
+ }
+ }
+ }
+ mUnk_7b = (mUnk_7b & gItemManager->func_ov00_020ad790(1)) != 0;
+
+ if (equippedItem == ItemFlag_Hammer && !usingEquipItem && mUnk_7b == true) {
+ ActorNaviBase *courageFairy = gItemManager->GetFairy(FairyId_Courage);
+ if (courageFairy != NULL) {
+ q20 x = courageFairy->mPos.x;
+ q20 y = gPlayerPos.y + FLOAT_TO_Q20(0.5);
+ q20 z = courageFairy->mPos.z;
+ mAimWorld.x = x;
+ mAimWorld.y = y;
+ mAimWorld.z = z;
+ }
+ }
+ }
+ if (mUnk_7a) {
+ mUsingEquipItem = mUnk_7b;
+ }
+}
+
+void PlayerControl::UpdateUsingEquipItem() {
+ if ((data_027e05f8.mUnk_0 & 0x300) != 0 && this->func_ov00_020aeef8()) {
+ mUsingEquipItem = true;
+ return;
+ }
+ mUsingEquipItem = false;
+}
+
+struct UnkStruct_ov015_0213ce4c {
+ /* 00 */ unk8 mUnk_00[0x3d];
+ /* 3d */ bool mUnk_3d;
+ /* 3e */ unk8 mUnk_3e[0x1];
+ /* 3f */ bool mUnk_3f;
+ /* 40 */ bool mUnk_40;
+ /* 41 */
+
+ static UnkStruct_ov015_0213ce4c *GetInstance();
+
+ bool GetUnk3f();
+ bool GetUnk40();
+};
+
+bool PlayerControl::func_ov00_020af2d4(u32 param1, bool param2) {
+ if (data_027e0d38->func_ov000_02078b40() == 2 && param2) {
+ if (UnkStruct_ov015_0213ce4c::GetInstance()->mUnk_3d) {
+ return false;
+ }
+ if (UnkStruct_ov015_0213ce4c::GetInstance()->GetUnk3f() || UnkStruct_ov015_0213ce4c::GetInstance()->GetUnk40()) {
+ return false;
+ }
+ }
+
+ if (mUnk_7c) {
+ bool unk1 = true;
+ bool unk2 = false;
+ if ((param1 & 0x2) != 0 && (data_02056be4[data_027e077c.GetUnk0()] & 0x1) != 0) {
+ unk2 = true;
+ }
+ if (!unk2 && ((param1 & 0x1) == 0 || !this->func_ov00_020aeef8() || !data_027e103c->mUnk_24)) {
+ unk1 = false;
+ }
+ return unk1;
+ } else {
+ return (param1 & 0x4) != 0;
+ }
+}
+
+ARM bool PlayerControl::CheckTouchedNow(u32 param1) {
+ bool result = false;
+ if (this->func_ov00_020af2d4(param1, true)) {
+ result = (mFlags & TouchFlag_TouchedNow) != 0;
+ }
+ return result;
+}
+
+ARM bool PlayerControl::CheckUntouchedNow(u32 param1) {
+ bool result = false;
+ if (this->func_ov00_020af2d4(param1, true)) {
+ result = (mFlags & TouchFlag_UntouchedNow) != 0;
+ }
+ return result;
+}
+
+ARM bool PlayerControl::CheckTouching(u32 param1) {
+ return this->func_ov00_020af2d4(param1, true) && mTouch;
+}
+
+ARM bool PlayerControl::CheckTouchFast(u32 param1) {
+ if (this->func_ov00_020af2d4(param1, true)) {
+ if (mTouchSpeed > FLOAT_TO_Q20(0.5) && mTouchFastTime > 0) {
+ if (mTouchFastTime <= mTouchDuration) {
+ if (mTouchDuration < mTouchFastTime + 15) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+}
+
+ARM bool PlayerControl::func_ov00_020af4a4() {
+ if (!data_027e0d38->mUnk_28->mUnk_34 && data_027e0e2c.mUnk_04 == -1 && !data_027e103c->func_ov005_02103f4c()) {
+ if (this->func_ov00_020aeeac()) {
+ return true;
+ }
+ switch (data_027e077c.GetUnk0()) {
+ case 0x1a:
+ case 0x1b:
+ case 0x1c: return true;
+ default: return false;
+ }
+ }
+ return false;
+}
+
+ARM void PlayerControl::func_ov00_020af538(bool param1, u8 param2) {
+ mUnk_7c = param1;
+ mUnk_7e = param2;
+ mUnk_7d = param1;
+
+ bool unk = !mUnk_78 || gAdventureFlags->func_ov00_02097738() || data_027e0c68.mUnk_04;
+ if (unk || !this->func_ov00_020af4a4()) {
+ mUnk_7c = false;
+ }
+ if (unk || !this->func_ov00_020aeef8()) {
+ mUnk_7d = false;
+ }
+
+ this->func_ov000_020b7924(mUnk_7c);
+ if (mUnk_7c) {
+ if (mTouchDuration == 0) {
+ if (this->GetFollowActor() != NULL || mFollowing) {
+ data_027e0ffc.func_ov000_020cebcc(0x10a, gPlayerAngle, 0);
+ this->StopFollowing();
+ }
+
+ Vec3p vec;
+ s32 unk = gMapManager->func_ov00_02085108(&vec);
+ mUnk_82 = unk == 0x3 || unk == 0x7;
+ }
+ }
+
+ bool usingEquipBefore = mUsingEquipItem;
+ this->func_ov00_020af06c();
+ if (usingEquipBefore && !mUsingEquipItem) {
+ data_027e103c->func_ov000_020cf20c();
+ }
+
+ for (s32 i = 0; i < 2; ++i) {
+ if (mTouchGesture[i] != NULL) {
+ mTouchGesture[i]->Update(this);
+ }
+ }
+
+ mUnk_7f = false;
+ mUnk_83 = data_027e05f8.mUnk_0 & 0x300;
+}
+
+ARM void PlayerControl::func_ov00_020af6e4(Vec3p *param1, s32 param3, s32 param4) {
+ if (param4 == 4) {
+ return;
+ }
+ if (param3 > 0) {
+ q20 distance = Vec3p_Distance(&gPlayerPos, param1);
+ if (distance >= param3) {
+ return;
+ }
+ mFollowRef.Reset();
+ }
+
+ Vec2b unk;
+ MapManager::func_ov00_02083a1c(&unk, gMapManager, param1);
+ mUnk_9c = unk;
+ mFollowing = true;
+ mUnk_80 = false;
+ mFollowStuckTimer = 15;
+}
+
+ARM bool PlayerControl::func_ov00_020af778() {
+ if (!mUnk_78 || gAdventureFlags->func_ov00_02097738() || gAdventureFlags->func_ov00_02097750()) {
+ mCutsceneEndTimer = 15;
+ return false;
+ }
+ if (mCutsceneEndTimer > 0) {
+ mCutsceneEndTimer -= 1;
+ return false;
+ }
+ if (!this->func_ov00_020aeef8()) {
+ mNextFollowRef.Reset();
+ return false;
+ }
+
+ bool bVar1 = false;
+ EquipItem *equipItem = NULL;
+ if ((mFlags & TouchFlag_UntouchedNow) != 0 && mTouchDuration < 21) {
+ s32 dx = mTouchLastX - mTouchFastX;
+ s32 dy = mTouchLastY - mTouchFastY;
+ if (dx * dx + dy * dy < 100) {
+ if (this->func_ov00_020af2d4(7, true)) {
+ bVar1 = true;
+ if (mUsingEquipItem) {
+ ItemFlag equipId = gPlayer->GetEquipId();
+ if (equipId != ItemFlag_None) {
+ equipItem = gItemManager->GetEquipItem(equipId);
+ }
+ }
+ }
+ }
+ }
+
+ bool isGrabbing = gPlayerLink != NULL && gActorManager->GetActor(&gPlayerLink->mGrabActor) != NULL;
+ q20 followDistance = 0;
+ if (bVar1) {
+ Actor *nextFollowActor = gActorManager->GetActor(&mNextFollowRef);
+ unk32 uVar4 = 0;
+ if (nextFollowActor != NULL) {
+ uVar4 = nextFollowActor->mUnk_12c;
+ if (this->func_ov00_020afe88(uVar4, isGrabbing) && (equipItem == NULL || equipItem->vfunc_44(uVar4))) {
+ mFollowRef = mNextFollowRef;
+ mNextFollowRef.Reset();
+ mUnk_80 = false;
+ mFollowStuckTimer = 15;
+ followDistance = nextFollowActor->XzDistanceToLink();
+ }
+ }
+
+ Vec3p vec;
+ s32 iVar4 = gMapManager->func_ov00_02085108(&vec);
+ vec.y = gPlayerPos.y;
+ if (equipItem == NULL) {
+ if (iVar4 != 0 && this->func_ov00_020afeec(iVar4, isGrabbing)) {
+ this->func_ov00_020af6e4(&vec, followDistance, uVar4);
+ return true;
+ }
+ } else {
+ if (equipItem->vfunc_48(iVar4)) {
+ this->func_ov00_020af6e4(&vec, followDistance, uVar4);
+ return true;
+ }
+ if (followDistance == 0 && equipItem->vfunc_40()) {
+ this->ApplyTouchWorld(&vec, 0);
+ this->func_ov00_020af6e4(&vec, followDistance, uVar4);
+ return true;
+ }
+ }
+ } else {
+ ActorRef ref;
+ ActorManager::func_ov00_020c3484(&ref, gActorManager, 0);
+ mNextFollowRef = ref;
+ if (mTouchDuration == 0) {
+ mLastFollowRef = mNextFollowRef;
+ }
+ }
+ return followDistance > 0;
+}
+
+ARM bool PlayerControl::func_ov00_020afad8(Vec3p *param1) {
+ if (param1->y >= gPlayerPos.y) {
+ return false;
+ }
+ if (mUsingEquipItem) {
+ if (gPlayer->GetEquipId() == ItemFlag_Shovel) {
+ Vec3p vec;
+ return gMapManager->func_ov00_02085594(&vec);
+ }
+ return false;
+ }
+ return false;
+}
+
+ARM void PlayerControl::func_ov00_020afb6c() {
+ bool iVar1 = this->func_ov00_020af778();
+ Actor *followActor = gActorManager->GetActor(&mFollowRef);
+ ItemManager *itemMgr = gItemManager;
+ FairyId fairyId = itemMgr->GetEquippedFairy();
+ ActorNaviBase *fairy = itemMgr->GetFairy(fairyId);
+
+ if (followActor == NULL && !mFollowing && fairy != NULL) {
+ fairy->func_ov000_020bad18();
+ }
+
+ q20 followDist = mFollowDist;
+ if (followActor != NULL) {
+ followDist = Vec3p_Distance(&gPlayerPos, &followActor->mPos);
+ Cylinder followHitbox;
+ followActor->GetHitbox(&followHitbox);
+ followHitbox.pos.y += FLOAT_TO_Q20(0.4);
+
+ s32 iVar8 = 0;
+ u32 uVar9 = 3;
+ switch (followActor->mUnk_12c) {
+ case 0: mFollowRef.Reset(); break;
+ case 1: iVar8 = 1; break;
+ case 5:
+ iVar8 = 2;
+ uVar9 = 1;
+ followHitbox.pos.y += followActor->mYOffset;
+ break;
+ case 2:
+ iVar8 = 3;
+ followHitbox.pos.y += followHitbox.size;
+ uVar9 = 0;
+ break;
+ default:
+ iVar8 = 2;
+ followHitbox.pos.y += followHitbox.size;
+ uVar9 = 2;
+ break;
+ }
+ if (iVar8 != 0 && gPlayerLink->GetCurrentCharacter() == PlayerCharacter_Link) {
+ this->func_ov00_020aff90(&followHitbox.pos, iVar8);
+ if (iVar1) {
+ data_027e0ffc.func_ov000_020ced64(&followHitbox, followActor->mRef.id, uVar9);
+ }
+ }
+ } else {
+ mFollowRef.Reset();
+ }
+
+ if (mFollowing) {
+ mFollowObject = (void *) gMapManager->MapData_vfunc_78(&mUnk_9c);
+ Vec3p local_3c;
+ s32 iVar2;
+ s32 iVar7;
+ if (mFollowObject != NULL) {
+ local_3c = *(Vec3p *) ((u32) mFollowObject + 0x18);
+ void *piVar4 = (*(void *(**) (void *) )((*(u32 *) mFollowObject) + 0x54))(mFollowObject);
+ if (piVar4 == NULL) {
+ iVar7 = 0;
+ } else {
+ iVar7 = (*(s32(**)(void *))((*(u32 *) piVar4) + 0x44))(piVar4);
+ }
+ local_3c.y += iVar7;
+ if (*(s8 *) ((u32) mFollowObject + 0x12) == 1) {
+ iVar2 = 1;
+ iVar7 = 3;
+ } else {
+ iVar2 = 2;
+ iVar7 = 2;
+ }
+ } else {
+ local_3c.y = gPlayerPos.y;
+ Vec2b local_44 = mUnk_9c;
+ gMapManager->func_ov00_02083c7c(&local_3c, local_44);
+ iVar2 = 2;
+ iVar7 = 3;
+ }
+
+ if (iVar2 != 0 && gPlayerLink->GetCurrentCharacter() == PlayerCharacter_Link) {
+ this->func_ov00_020aff90(&local_3c, iVar2);
+ if (iVar1) {
+ data_027e0ffc.func_ov000_020ced7c(&local_3c, mUnk_9c.x, mUnk_9c.y, iVar7);
+ }
+ }
+ followDist = Vec3p_Distance(&gPlayerPos, &local_3c);
+ } else {
+ mFollowObject = NULL;
+ }
+
+ if (mFollowStuckTimer > 0 && mFollowDist - followDist <= FLOAT_TO_Q20(0.01)) {
+ mFollowStuckTimer -= 1;
+ if (mFollowStuckTimer <= 0) {
+ this->StopFollowing();
+ }
+ }
+
+ mFollowDist = followDist;
+}
+
+ARM bool PlayerControl::func_ov00_020afe88(s32 param1, bool param2) {
+ if (!mUnk_7d || !gPlayerControlData->vfunc_74(param1)) {
+ return false;
+ }
+ if (!param2) {
+ return true;
+ }
+ return param1 == 2 || param1 == 6;
+}
+
+ARM bool PlayerControl::func_ov00_020afeec(unk32 param1, bool param2) {
+ if (!mUnk_7d) {
+ return false;
+ }
+ if (!gPlayerControlData->vfunc_78(param1)) {
+ return false;
+ }
+ switch (param1) {
+ case 1:
+ case 2:
+ case 7:
+ case 13: return true;
+
+ case 10:
+ case 11: return param2;
+
+ default: return !param2;
+ }
+}
+
+ARM void PlayerControl::func_ov00_020aff90(Vec3p *param1, unk32 param2) {
+ if (data_027e0d38->func_ov000_02078b40() == 2) {
+ return;
+ }
+ ItemManager *itemMgr = gItemManager;
+ FairyId fairyId = itemMgr->GetEquippedFairy();
+ ActorNaviBase *fairy = itemMgr->GetFairy(fairyId);
+ if (fairy == NULL) {
+ return;
+ }
+ fairy->func_ov000_020baca8(param1, param2);
+}
+
+ARM void PlayerControl::func_ov00_020affec(Vec3p *param1, s32 y, s32 param3, Vec3p *param4) {
+ if (mUnk_44.x != 0 || mUnk_44.z != 0) {
+ Vec3p local_24;
+ Vec3p_Axpy(y, &mUnk_44, &mTouchWorld, &local_24);
+
+ Vec3p local_30 = {param4->x - local_24.x, 0, param4->z - local_24.z};
+ q20 iVar2 = Vec3p_Length(&local_30);
+ if (iVar2 <= param3) {
+ *param1 = local_24;
+ return;
+ }
+
+ Vec3p local_3c = {mUnk_44.x, 0, mUnk_44.z};
+ q20 lengthInv = CoReciprocal(Vec3p_Length(&local_3c));
+ local_3c.x = MUL_Q20(local_3c.x, lengthInv);
+ local_3c.z = MUL_Q20(local_3c.z, lengthInv);
+ iVar2 = Vec3p_Dot(&local_30, &local_3c);
+
+ Vec3p local_48 = local_3c;
+ local_48.y = lengthInv;
+ Vec3p_Axpy(iVar2 - param3, &local_48, &local_24, param1);
+ return;
+ }
+
+ param1->x = mTouchWorld.x;
+ param1->y = y;
+ param1->z = mTouchWorld.z;
+}
+
+#pragma section sbss begin
+static u32 data_ov000_020ee198;
+static u32 data_ov000_020ee19c;
+#pragma section sbss end
+
+ARM void PlayerControl::func_ov00_020b014c(Vec3p *param1) {
+ if ((data_ov000_020ee198 & 1) == 0) {
+ data_ov000_020ee198 |= 1;
+ }
+ if (*(s32 *) ((s32) data_027e0f64->mUnk_4 + 0x15c) == 0x16) {
+ return;
+ }
+ if (!this->func_ov00_020aeef8()) {
+ return;
+ }
+ if (mTouchDuration > 0) {
+ ItemManager *itemMgr = gItemManager;
+ FairyId fairyId = itemMgr->GetEquippedFairy();
+ ActorNaviBase *fairy = itemMgr->GetFairy(fairyId);
+ if (fairy != NULL) {
+ Vec3p auStack_1c;
+ this->func_ov00_020affec(&auStack_1c, FLOAT_TO_Q20(0.5), FLOAT_TO_Q20(8.0), param1);
+ fairy->func_ov000_020ba204(&auStack_1c, &mUnk_44, mTouchWorld.y + FLOAT_TO_Q20(4.2));
+ }
+ }
+}
+
+ARM void PlayerControl::ResetAim() {
+ mAim = gVec3p_ZERO;
+}
+
+extern "C" s32 func_ov000_020a5e9c(unk32 *param1);
+
+ARM bool PlayerControl::UpdateAimWorld(Vec3p *param1) {
+ Vec3p pos = gPlayerPos;
+
+ s32 iVar2 = func_ov000_020a5e9c(&data_027e0d38->mUnk_0c);
+ if (iVar2 == 0x2f && *(s32 *) (*(s32 *) ((s32) data_027e0f64 + 0x4) + 0x15c) == 0x31) {
+ return this->func_ov024_02178348(param1);
+ }
+
+ if (this->CheckTouching(1)) {
+ this->func_ov00_020affec(param1, 0, FLOAT_TO_Q20(8.0), &pos);
+ mAimWorld = *param1;
+ return true;
+ }
+ *param1 = mAimWorld;
+ return false;
+}
+
+ARM s16 PlayerControl::GetTouchAngle() {
+ if (mTouchDuration >= 0) {
+ return mTouchAngle;
+ }
+ if (!mUnk_7f) {
+ return 0;
+ }
+ return mUnk_ac;
+}
+
+static q20 data_ov000_020e6144 = FLOAT_TO_Q20(80.0);
+
+ARM u32 PlayerControl::func_ov00_020b034c() {
+ if ((mTouchDuration >= 0) && (this->func_ov00_020af2d4(1, 1) != 0)) {
+ u64 temp_r0_r1 = func_01ff992c(data_ov000_020e6144); // 0x03333333
+ s32 temp_r3 = (temp_r0_r1 * mTouchDist + 0x80000000) >> 32;
+ s32 temp_r1_r0 = MUL_Q20(temp_r3, temp_r3);
+ if (mTouchDuration < 4) {
+ s32 temp_r2_2 = (4 - mTouchDuration) << 0xc;
+ temp_r1_r0 -= (s32) (temp_r2_2 + ((u32) (temp_r2_2 >> 1) >> 0x1e)) >> 2;
+ }
+ if (temp_r1_r0 < 0) {
+ return 0;
+ }
+ if (temp_r1_r0 > FLOAT_TO_Q20(1.0)) {
+ temp_r1_r0 = FLOAT_TO_Q20(1.0);
+ }
+ return temp_r1_r0;
+ }
+ if ((mUnk_7f != 0) && (data_027e05f8.mUnk_0 & 0xf0)) {
+ return FLOAT_TO_Q20(1.0);
+ }
+ return 0;
+}
+
+extern unk32 data_ov000_020eec60;
+extern "C" unk32 func_ov000_020d6be4(unk32 *param1);
+
+ARM s32 PlayerControl::func_ov00_020b0418() {
+ unk32 unk = func_ov000_020d6be4(&data_ov000_020eec60);
+ if (unk < 10) {
+ return 0;
+ }
+ if (unk < 25) {
+ return (unk * FLOAT_TO_Q20(0.6666)) / 25;
+ }
+ if (unk < 150) {
+ return (unk - 25) * FLOAT_TO_Q20(0.3334) / 125 + FLOAT_TO_Q20(0.6666);
+ }
+ return FLOAT_TO_Q20(1.0);
+}
+
+extern "C" void func_0202d95c(Vec3p *param1, q20 param2);
+// NONMATCH: Register allocation, instruction ordering
+ARM bool PlayerControl::func_ov00_020b049c(Vec3p *param1, bool param2) {
+ if (this->CheckUntouchedNow(1) && mTouchDuration >= 0 && mTouchDuration < 21) {
+ this->ApplyTouchWorld(param1, FLOAT_TO_Q20(0.25));
+ Vec3p_Sub(param1, &gPlayerPos, param1);
+ q20 length = Vec3p_Length(param1);
+ if (length >= FLOAT_TO_Q20(1.25)) {
+ return true;
+ }
+ if (param2) {
+ if (length < FLOAT_TO_Q20(0.25)) {
+ *param1 = gVec3p_ZERO;
+ param1->x += MUL_Q20(SIN(gPlayerAngle), FLOAT_TO_Q20(1.25));
+ param1->z += MUL_Q20(COS(gPlayerAngle), FLOAT_TO_Q20(1.25));
+ } else {
+ func_0202d95c(param1, FLOAT_TO_Q20(1.25));
+ }
+ return true;
+ }
+ }
+ return false;
+}
+
+ARM bool PlayerControl::func_ov00_020b05e8(Vec3p *param1) {
+ if (this->CheckUntouchedNow(1) && mTouchDuration >= 0 && mTouchDuration < 21) {
+ Vec3p *playerPos = &gPlayerPos;
+
+ Vec3p VStack_1c;
+ this->ApplyTouchWorld(&VStack_1c, FLOAT_TO_Q20(0.2));
+ VStack_1c.y = gPlayerPos.y;
+
+ q20 distance = Vec3p_Distance(&VStack_1c, playerPos);
+ if (distance > FLOAT_TO_Q20(1.25)) {
+ return false;
+ }
+
+ if (distance < FLOAT_TO_Q20(0.25)) {
+ VStack_1c = *playerPos;
+ VStack_1c.x += MUL_Q20(SIN(gPlayerAngle), FLOAT_TO_Q20(0.25));
+ VStack_1c.z += MUL_Q20(COS(gPlayerAngle), FLOAT_TO_Q20(0.25));
+ }
+
+ Vec2b VStack_20;
+ MapManager::func_ov00_02083a1c(&VStack_20, gMapManager, &VStack_1c);
+ VStack_1c.x += (gMapManager->func_ov00_02083c24(VStack_20.x) - VStack_1c.x) / 2;
+ VStack_1c.z += (gMapManager->func_ov00_02083c50(VStack_20.y) - VStack_1c.z) / 2;
+ Vec3p_Sub(&VStack_1c, playerPos, param1);
+ return true;
+ }
+ return false;
+}
+
+extern "C" bool func_01ffe468(unk32 param1, Vec3p *param2, s32 *param3, s32 *param4, bool param5);
+
+ARM bool PlayerControl::func_ov00_020b0778(Vec3p *param1, u32 angle, unk32 *param3) {
+ Vec3p spC;
+ *param3 = 0;
+ spC = *param1;
+
+ s32 sp8;
+ s32 sp4;
+ bool var_r0 = !func_01ffe468(data_027e0f64->func_ov000_0208b180(), &spC, &sp8, &sp4, 0);
+ if (var_r0) {
+ return 0;
+ }
+
+ // NONMATCH: Register allocation
+ q20 temp_r2 = SIN((u16) angle) * 0x30;
+ q20 temp_r3 = COS((u16) angle) * 0x30;
+ s32 temp_r4;
+ s32 temp_r5;
+ q20 var_r6;
+ q20 var_r7;
+ var_r6 = (s32) (temp_r2 + ((u32) (temp_r2 >> 11) >> 20)) >> 0xC;
+ var_r7 = (s32) (temp_r3 + ((u32) (temp_r3 >> 11) >> 20)) >> 0xC;
+ temp_r4 = mTouchX - sp8;
+ temp_r5 = mTouchY - sp4;
+ if (this->CheckTouchedNow(1) != 0) {
+ if (((var_r6 - 0x18) <= temp_r4) && (temp_r4 <= (var_r6 + 0x18)) && ((var_r7 - 0x18) <= temp_r5) &&
+ (temp_r5 <= (var_r7 + 0x18)))
+ {
+ *param3 = FLOAT_TO_Q20(1.0);
+ return true;
+ }
+ if (((-0x18 - var_r6) <= temp_r4) && (temp_r4 <= (0x18 - var_r6)) && ((-0x18 - var_r7) <= temp_r5) &&
+ (temp_r5 <= (0x18 - var_r7)))
+ {
+ *param3 = -FLOAT_TO_Q20(1.0);
+ return true;
+ }
+ s32 temp_r1_2 = 0 - var_r6;
+ s32 var_r0_2 = var_r6 < temp_r1_2 ? var_r6 : temp_r1_2;
+ if (temp_r4 >= (var_r0_2 - 0x18)) {
+ if (var_r6 <= temp_r1_2) {
+ var_r6 = temp_r1_2;
+ }
+ if ((var_r6 + 0x18) >= temp_r4) {
+ s32 temp_r1_3 = 0 - var_r7;
+ s32 var_r0_3 = var_r7 < temp_r1_3 ? var_r7 : temp_r1_3;
+ if (temp_r5 >= (var_r0_3 - 0x18)) {
+ if (var_r7 <= temp_r1_3) {
+ var_r7 = temp_r1_3;
+ }
+ if ((var_r7 + 0x18) >= temp_r5) {
+ goto ret_true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+ if (this->CheckTouching(1) != 0) {
+ if (((var_r6 < 0) && (temp_r4 < (var_r6 + 0x18))) || ((var_r6 > 0) && (temp_r4 > (var_r6 - 0x18))) ||
+ ((var_r7 < 0) && (temp_r5 < (var_r7 + 0x18))) || ((var_r7 > 0) && (temp_r5 > (var_r7 - 0x18))))
+ {
+ *param3 = FLOAT_TO_Q20(1.0);
+ return true;
+ }
+ if (((var_r6 > 0) && (temp_r4 < (0x18 - var_r6))) || ((var_r6 < 0) && (temp_r4 > (-0x18 - var_r6))) ||
+ ((var_r7 > 0) && (temp_r5 < (0x18 - var_r7))) || ((var_r7 < 0) && (temp_r5 > (-0x18 - var_r7))))
+ {
+ *param3 = -FLOAT_TO_Q20(1.0);
+ return true;
+ }
+ } else if (this->CheckUntouchedNow(1) != 0) {
+ if (var_r6 < 0) {
+ var_r6 = -var_r6;
+ }
+ if (var_r7 < 0) {
+ var_r7 = -var_r7;
+ }
+ s32 var_r2 = mTouchPrevX - sp8;
+ s32 var_r1 = mTouchPrevY - sp4;
+ // NONMATCH: Instruction ordering
+ if (var_r6 > 0x18) {
+ if (var_r2 < 0) {
+ var_r2 = -var_r2;
+ }
+ if (var_r2 > (var_r6 - 0x18)) {
+ goto ret_false;
+ }
+ }
+ if (var_r7 > 0x18) {
+ if (var_r1 < 0) {
+ var_r1 = -var_r1;
+ }
+ if (var_r1 > (var_r7 - 0x18)) {
+ ret_false:
+ return false;
+ }
+ }
+ }
+ret_true:
+ return true;
+}
+
+ARM bool PlayerControl::CheckNotTouching() {
+ return !this->CheckTouching(1);
+}
+
+ARM bool PlayerControl::func_ov00_020b0ad0(Actor *actor) {
+ if (actor != NULL && actor->mRef.id == mLastFollowRef.id) {
+ return mTouchDuration >= 15 && mTouchDuration < 30;
+ }
+ return false;
+}
+
+ARM bool PlayerControl::func_ov00_020b0b0c(s16 *pAngle, ItemFlag *pEquipId, unk32 *pCardinal, bool *pFast) {
+ if (mUsingEquipItem && gItemManager->func_ov00_020ad790(1)) {
+ ItemFlag equipId = gItemManager->GetEquippedItem();
+ *pEquipId = equipId;
+ data_027e103c->func_ov000_020cf330();
+ return *pEquipId != ItemFlag_None;
+ }
+
+ *pEquipId = ItemFlag_OshusSword;
+ if (this->func_ov00_020b1248(pCardinal)) {
+ *pEquipId = ItemFlag_OshusSword;
+ return true;
+ }
+
+ if ((this->CheckUntouchedNow(1) && mTouchDuration >= 0 && mTouchDuration < 21) ||
+ (this->CheckTouchFast(1) && mTouchSlowDuration > 21))
+ {
+ s32 dy = INT_TO_Q20(mTouchLastY - mTouchFastY);
+ s32 dx = INT_TO_Q20(mTouchLastX - mTouchFastX);
+ Vec3p local_20;
+ local_20.x = dx;
+ local_20.y = 0;
+ local_20.z = dy;
+ q20 length = Vec3p_Length(&local_20);
+ if (length < FLOAT_TO_Q20(10.0)) {
+ return false;
+ }
+ if (mUnk_82 && length < FLOAT_TO_Q20(20.0)) {
+ return false;
+ }
+
+ *pEquipId = ItemFlag_OshusSword;
+ *pAngle = mTouchAngle + ((s16) (mTouchFastAngle - mTouchAngle)) / 2;
+
+ if (mTouchSpeed > FLOAT_TO_Q20(0.5)) {
+ q4 touchMoveAngle = Atan2(mTouchSpeedX, mTouchSpeedY) - *pAngle;
+ if (pFast != NULL) {
+ *pFast = true;
+ }
+ *pCardinal = touchMoveAngle >= 0 ? 1 : 2;
+ return true;
+ }
+
+ s32 unkAngle = Atan2(local_20.x, local_20.z);
+
+ s32 unkAngle2 = (s16) ((s16) unkAngle - *pAngle);
+ Vec3p VStack_2c = {INT_TO_Q20(mTouchFastX), INT_TO_Q20(mTouchFastY), 0};
+ Vec3p VStack_38 = {INT_TO_Q20(mTouchLastX), INT_TO_Q20(mTouchLastY), 0};
+
+ Vec3p_Sub(&VStack_38, &VStack_2c, &VStack_38);
+ if (mTouchDist <= FLOAT_TO_Q20(10.0)) {
+ *pCardinal = 0;
+ *pAngle = mTouchFastAngle;
+ return true;
+ }
+ if (unkAngle2 >= 0x6000 || unkAngle2 <= -0x6000) {
+ *pCardinal = 0;
+ } else if (unkAngle2 >= 0x2000) {
+ *pCardinal = 1;
+ } else if (unkAngle2 < -0x2000) {
+ *pCardinal = 2;
+ } else {
+ *pCardinal = 3;
+ }
+ return true;
+ }
+ return false;
+}
+
+// NONMATCH: Instruction ordering
+ARM bool PlayerControl::func_ov00_020b0de8(Vec3p *param1) {
+ if (!this->CheckTouching(1)) {
+ return false;
+ }
+ s32 z = (mTouchLastY - 96) * FLOAT_TO_Q20(10.625) / 192;
+ s32 x = (mTouchLastX - 128) * (FLOAT_TO_Q20(10.625) / 256);
+ param1->x = x;
+ param1->y = 0;
+ param1->z = z;
+ return true;
+}
+
+ARM bool PlayerControl::func_ov00_020b0e54(Vec3p *param1, Vec3p *param2) {
+ Vec3p local_20;
+ if (mTouchDuration >= 16 && this->func_ov00_020b0de8(&local_20)) {
+ this->ApplyTouchWorld(param1, FLOAT_TO_Q20(0.5));
+ q20 length = Vec3p_Length(&local_20);
+ if (length > FLOAT_TO_Q20(4.0)) {
+ local_20.x = DIV_Q20(local_20.x * 4, length);
+ local_20.z = DIV_Q20(local_20.z * 4, length);
+ }
+ mAim = local_20;
+ *param2 = local_20;
+ return true;
+ }
+
+ if (mTouchDuration >= 0 && this->func_ov00_020af2d4(1, true)) {
+ if (mTouchDist > FLOAT_TO_Q20(24.0)) {
+ this->ApplyTouchWorld(param1, FLOAT_TO_Q20(0.5));
+ } else {
+ *param1 = gPlayerPos;
+ }
+ return true;
+ }
+
+ return false;
+}
+
+extern "C" bool func_0202b2e8(Vec3p *param1, Vec3p *param2, q20 param3);
+ARM bool PlayerControl::func_ov00_020b0f88(Vec3p *param1, unk32 scale, Vec3p *param3) {
+ Vec3p local_20;
+ if (this->func_ov00_020b0de8(&local_20)) {
+ this->ApplyTouchWorld(param1, scale);
+ q20 length = Vec3p_Length(&local_20);
+ if (length > FLOAT_TO_Q20(4.0)) {
+ local_20.x = DIV_Q20(local_20.x * 4, length);
+ local_20.z = DIV_Q20(local_20.z * 4, length);
+ }
+ q20 touchSpeed = CoSqrt((mTouchDiffX * mTouchDiffX + mTouchDiffY * mTouchDiffY + 4) * 0x10);
+ func_0202b2e8(param3, &local_20, touchSpeed);
+ mAim = local_20;
+ return true;
+ }
+ return false;
+}
+
+ARM bool PlayerControl::func_ov00_020b1058(Vec3p *param1, unk32 param2, Vec3p *param3, Vec3p *param4) {
+ Vec3p local_24;
+ if (this->func_ov00_020b0de8(&local_24)) {
+ this->ApplyTouchWorld(param1, param2);
+ if (param4 != NULL) {
+ Vec3p local_30;
+ Vec3p_Sub(param4, &gPlayerPos, &local_30);
+ local_30.x = MUL_Q20(local_30.x, FLOAT_TO_Q20(0.5));
+ local_30.y = MUL_Q20(local_30.y, FLOAT_TO_Q20(0.5));
+ local_30.z = MUL_Q20(local_30.z, FLOAT_TO_Q20(0.5));
+ func_0202b2e8(&local_30, &local_24, FLOAT_TO_Q20(2.5));
+ local_24 = local_30;
+ }
+ q20 length = Vec3p_Length(&local_24);
+ if (length > FLOAT_TO_Q20(4.0)) {
+ local_24.x = DIV_Q20(local_24.x * 4, length);
+ local_24.z = DIV_Q20(local_24.z * 4, length);
+ }
+ q20 touchSpeed = CoSqrt((mTouchDiffX * mTouchDiffX + mTouchDiffY * mTouchDiffY + 4) * 0x10);
+ func_0202b2e8(param3, &local_24, touchSpeed);
+ mAim = *param3;
+ return true;
+ }
+ return false;
+}
+
+ARM bool PlayerControl::IsUntouchedNow() {
+ return this->CheckUntouchedNow(7) && data_027e103c->mUnk_1c == 0;
+}
+
+ARM bool PlayerControl::IsNotUntouchedNow() {
+ if (!this->CheckUntouchedNow(7)) {
+ return (data_027e05f8.mUnk_2 & 3) != 0;
+ }
+ return true;
+}
+
+ARM bool PlayerControl::func_ov00_020b1248(unk32 *param1) {
+ if (*this->mTouchGesture != NULL && (*this->mTouchGesture)->mUnk_4) {
+ *param1 = (*this->mTouchGesture)->mUnk_08 == 0 ? 5 : 6;
+ (*this->mTouchGesture)->ResetTouchHistory();
+ return true;
+ }
+ return false;
+}
+
+ARM bool PlayerControl::func_ov00_020b129c() {
+ return mTouchDuration < 2 || mTouchDuration > 10 || mTouchDuration != mTimeSinceTouch;
+}
+
+ARM bool PlayerControl::func_ov00_020b12d0(s16 *pAngle) {
+ if (!this->func_ov00_020af2d4(1, true)) {
+ return false;
+ }
+ if (mTouchSlowDuration <= 15 && this->func_ov000_020b7d6c() && mTouchEdge == mTouchLastEdge) {
+ *pAngle = mTouchAngle;
+ return true;
+ }
+ return false;
+}
+
+ARM bool PlayerControl::IsNotTouching() {
+ return !mTouch;
+}
+
+extern u32 data_ov000_020eec9c[];
+extern "C" void func_ov000_020d77e4(u32 *param1, u32 param2);
+ARM bool PlayerControl::IsTouchingFast() {
+ if (this->CheckTouchFast(1)) {
+ func_ov000_020d77e4(data_ov000_020eec9c, 0x17);
+ return true;
+ }
+ return false;
+}
+
+ARM bool PlayerControl::IsTappedNow() {
+ return mTouchDuration < 10 && this->func_ov00_020af2d4(1, true) && this->CheckUntouchedNow(1);
+}
+
+ARM bool PlayerControl::func_ov00_020b13c4() {
+ if (!this->CheckTouching(1)) {
+ return false;
+ }
+ func_01ff992c(data_ov000_020e6144);
+ q20 touchDist = mTouchDist;
+ s32 iVar2 = mTouchDuration;
+ if (mTouchFastTime > 0 && mTouchFastTime < iVar2) {
+ iVar2 = (iVar2 - mTouchFastTime) << 16 >> 16;
+ }
+ if (touchDist >= FLOAT_TO_Q20(80.0)) {
+ return iVar2 >= 2;
+ }
+ if (mTouchDist < FLOAT_TO_Q20(16.0)) {
+ return false;
+ }
+ q20 uVar4 = CoReciprocal(FLOAT_TO_Q20(64.0));
+ q20 unk1 = MUL_Q20(mTouchDist - FLOAT_TO_Q20(16.0), uVar4);
+ return iVar2 >= MUL_Q20(FLOAT_TO_Q20(1.0) - unk1, FLOAT_TO_Q20(0.0058)) + 2;
+}
diff --git a/src/00_Core/Player/PlayerControlData.cpp b/src/00_Core/Player/PlayerControlData.cpp
index 50e6c853..1485048a 100644
--- a/src/00_Core/Player/PlayerControlData.cpp
+++ b/src/00_Core/Player/PlayerControlData.cpp
@@ -18,8 +18,8 @@ void PlayerControlData::vfunc_2c() {}
void PlayerControlData::vfunc_30() {}
void PlayerControlData::vfunc_34() {}
unk32 PlayerControlData::vfunc_7c() {}
-unk32 PlayerControlData::vfunc_74() {}
-unk32 PlayerControlData::vfunc_78() {}
+unk32 PlayerControlData::vfunc_74(s32 param1) {}
+unk32 PlayerControlData::vfunc_78(s32 param1) {}
void PlayerControlData::func_ov000_020b484c(s32 param1, s32 param2, s32 param3) {}
void PlayerControlData::vfunc_6c(s32 param1, Vec3p *param2) {}
void PlayerControlData::vfunc_5c() {}
diff --git a/src/00_Core/Player/PlayerLinkBase.cpp b/src/00_Core/Player/PlayerLinkBase.cpp
index 897932c8..bc248044 100644
--- a/src/00_Core/Player/PlayerLinkBase.cpp
+++ b/src/00_Core/Player/PlayerLinkBase.cpp
@@ -20,7 +20,7 @@ bool PlayerLinkBase::func_ov000_020bba00() {}
bool PlayerLinkBase::func_ov000_020bba14() {}
bool PlayerLinkBase::func_ov000_020bba28() {}
void PlayerLinkBase::func_ov000_020bba48() {}
-void PlayerLinkBase::vfunc_18(s32 param1) {}
+bool PlayerLinkBase::vfunc_18(s32 param1) {}
bool PlayerLinkBase::CanMove() {}
bool PlayerLinkBase::vfunc_58() {}
bool PlayerLinkBase::vfunc_5c() {}
diff --git a/src/00_Core/Player/TouchControl.cpp b/src/00_Core/Player/TouchControl.cpp
index 5cae75a5..9630de1a 100644
--- a/src/00_Core/Player/TouchControl.cpp
+++ b/src/00_Core/Player/TouchControl.cpp
@@ -1,11 +1,39 @@
#include "Player/TouchControl.hpp"
TouchControl::TouchControl() {}
-void TouchControl::IncreaseSpeed(s16 increase) {}
+
+void TouchControl::IncreaseSpeed(s16 increase) {
+ this->mFlags = 0;
+ this->mSpeed += increase;
+}
+
void TouchControl::UpdateFlags(u16 speed) {}
void TouchControl::UpdateWithStateFlags(TouchStateFlags *state, u16 speed) {}
void TouchControl::Update(TouchState *state, u16 speed) {}
-bool TouchControl::func_ov00_0207aeac() {}
+bool TouchControl::func_ov00_0207aeac() {
+ return ((*data_0207aecc & 0x8000) >> 15) == 1;
+}
void TouchControl::UpdateConditionally(TouchState *state, u16 speed) {}
-void TouchControl::func_ov00_0207af38(u16 speed, bool param2) {}
+
+void TouchControl::func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease) {
+ TouchStateFlags touchState;
+
+ if (shouldIncrease) {
+ IncreaseSpeed(speedIncrease); /* TODO: IncreaseSpeed expects an s16 variable,
+ while speedIncrease is a u16. As a result, the function
+ performs a conversion that is not present in the binary. */
+ return;
+ }
+
+ u32 result = TouchControl::func_ov00_0207aeac();
+ if (result != 0) {
+ Fill16(0, &touchState.touchX, 8);
+ } else {
+
+ GetTouchStateFlags(&touchState);
+ }
+
+ UpdateWithStateFlags(&touchState, speedIncrease);
+}
+
TouchControl::~TouchControl() {}
diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp
index 7ba5f7c6..012e9efa 100644
--- a/src/00_Core/Save/AdventureFlags.cpp
+++ b/src/00_Core/Save/AdventureFlags.cpp
@@ -1,9 +1,34 @@
#include "Save/AdventureFlags.hpp"
+#include "Cutscene/CutsceneHandler.hpp"
+
+extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler);
+extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler);
+extern bool func_ov000_02098114(CutsceneHandler *cutsceneHandler);
+extern u8 data_ov000_020e310c[];
+extern u8 data_ov000_020e313c[];
+extern u8 data_ov000_020e3140[];
+extern u8 data_ov000_020e3144[];
+extern u8 data_ov000_020e314c[];
+extern u8 data_ov000_020e314e[];
+extern u8 data_ov000_020e3150[];
+extern u8 data_ov000_020e3154[];
+extern u8 data_ov000_020e3155[];
+extern u8 data_ov000_020e3156[];
+
+bool AdventureFlags::Exists() {
+ return gAdventureFlags != NULL;
+}
-bool AdventureFlags::Exists() {}
void AdventureFlags::CopyTo(unk32 *flags) {}
-void AdventureFlags::func_ov00_02097674() {}
-s32 AdventureFlags::func_ov00_02097684() {}
+
+void AdventureFlags::func_ov00_02097674() {
+ func_ov000_020980f8(this->mCutsceneHandler);
+}
+
+s32 AdventureFlags::func_ov00_02097684() {
+ return func_ov000_020980fc(this->mCutsceneHandler);
+}
+
void AdventureFlags::Load() {}
void AdventureFlags::func_ov00_020976c8() {}
void AdventureFlags::func_ov00_02097700() {}
@@ -20,22 +45,83 @@ bool AdventureFlags::func_ov00_02097bbc() {}
bool AdventureFlags::func_ov00_02097bcc() {}
bool AdventureFlags::func_ov00_02097bcc(s32 param2) {}
s32 AdventureFlags::func_ov00_02097c08() {}
-bool AdventureFlags::Get_FlagsUnk_30_Flag(int index) {}
-unk8 AdventureFlags::Get_FlagsUnk_49(int index) {}
-unk8 AdventureFlags::Get_FlagsUnk_48(int index) {}
-unk8 AdventureFlags::Get_FlagsUnk_4a(int index) {}
-unk16 AdventureFlags::Get_FlagsUnk_42(int index) {}
-unk16 AdventureFlags::Get_FlagsUnk_40(int index) {}
-unk32 AdventureFlags::Get_FlagsUnk_38(int index) {}
-unk32 AdventureFlags::Get_FlagsUnk_34(int index) {}
-unk32 AdventureFlags::Get_FlagsUnk_44(int index) {}
-unk32 AdventureFlags::Get_FlagsUnk_30(int index) {}
-bool AdventureFlags::Get_FlagsUnk_00(int index, FlagsUnk2 *result) {}
-bool AdventureFlags::Get_FlagsUnk_18(int index, FlagsUnk2 *result) {}
-FlagsUnk *AdventureFlags::Get_FlagsUnk(int index) {}
-bool AdventureFlags::func_ov00_02097e6c() {}
-bool AdventureFlags::func_ov00_02097e7c() {}
-bool AdventureFlags::func_ov00_02097ea4() {}
+
+bool AdventureFlags::Get_FlagsUnk_30_Flag(s32 index) {
+ unk32 unk30 = this->Get_FlagsUnk_30(index);
+
+ return this->Get(unk30);
+}
+
+u8 AdventureFlags::Get_FlagsUnk_49(s32 index) {
+ return data_ov000_020e3155[index * 0x4C];
+}
+
+u8 AdventureFlags::Get_FlagsUnk_48(s32 index) {
+ return data_ov000_020e3154[index * 0x4C];
+}
+
+u8 AdventureFlags::Get_FlagsUnk_4a(s32 index) {
+ return data_ov000_020e3156[index * 0x4C];
+}
+
+u16 AdventureFlags::Get_FlagsUnk_42(s32 index) {
+ return *(u16 *) (data_ov000_020e314e + index * 0x4C);
+}
+
+u16 AdventureFlags::Get_FlagsUnk_40(s32 index) {
+ return *(unk16 *) (data_ov000_020e314c + index * 0x4C);
+}
+
+unk32 AdventureFlags::Get_FlagsUnk_38(s32 index) {
+ return *(unk32 *) (data_ov000_020e3144 + index * 0x4C);
+}
+
+unk32 AdventureFlags::Get_FlagsUnk_34(s32 index) {
+ return *(unk32 *) (data_ov000_020e3140 + index * 0x4C);
+}
+
+unk32 AdventureFlags::Get_FlagsUnk_44(s32 index) {
+ return *(unk32 *) (data_ov000_020e3150 + index * 0x4C);
+}
+
+unk32 AdventureFlags::Get_FlagsUnk_30(s32 index) {
+ return *(unk32 *) (data_ov000_020e313c + index * 0x4C);
+}
+
+bool AdventureFlags::Get_FlagsUnk_00(s32 index, FlagsUnk2 *result) {}
+bool AdventureFlags::Get_FlagsUnk_18(s32 index, FlagsUnk2 *result) {}
+
+FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) {
+ return (FlagsUnk *) (data_ov000_020e310c + index * 0x4C);
+}
+
+bool AdventureFlags::func_ov00_02097e6c() {
+ return func_ov000_02098114(this->mCutsceneHandler);
+}
+
+bool AdventureFlags::func_ov00_02097e7c() {
+ bool bVar1;
+
+ bVar1 = this->func_ov00_02097e6c();
+ if (bVar1) {
+ bVar1 = this->mCutsceneHandler->SkipCutscene(0);
+ return bVar1;
+ }
+
+ return false;
+}
+
+bool AdventureFlags::func_ov00_02097ea4() {
+ bool bVar1;
+
+ bVar1 = this->func_ov00_02097e6c();
+ if (bVar1) {
+ bVar1 = this->mCutsceneHandler->SkipCutscene(1);
+ return bVar1;
+ }
+
+ return false;
+}
unk32 AdventureFlags::func_ov00_02097ecc() {}
void *AdventureFlags::func_ov00_02097f8c() {}
void *AdventureFlags::func_ov00_02097fac() {}
diff --git a/src/04_Load/Actor/Navi/ActorNavi.cpp b/src/04_Load/Actor/Navi/ActorNavi.cpp
new file mode 100644
index 00000000..12939c04
--- /dev/null
+++ b/src/04_Load/Actor/Navi/ActorNavi.cpp
@@ -0,0 +1,3 @@
+#include "Actor/Navi/ActorNavi.hpp"
+
+ActorNavi::ActorNavi() {}
diff --git a/src/04_Load/Actor/Navi/ActorNaviBase.cpp b/src/04_Load/Actor/Navi/ActorNaviBase.cpp
index c4f5a069..21d91459 100644
--- a/src/04_Load/Actor/Navi/ActorNaviBase.cpp
+++ b/src/04_Load/Actor/Navi/ActorNaviBase.cpp
@@ -3,4 +3,4 @@
ActorNaviBase::ActorNaviBase() {}
ActorNaviBase::~ActorNaviBase() {}
void func_ov004_021079d4(unk32 *param1) {}
-bool ActorNaviBase::vfunc_08() {}
+bool ActorNaviBase::Init() {}
diff --git a/src/04_Load/Player/LinkStateMove.cpp b/src/04_Load/Player/LinkStateMove.cpp
index ffd5c89e..a844ddd2 100644
--- a/src/04_Load/Player/LinkStateMove.cpp
+++ b/src/04_Load/Player/LinkStateMove.cpp
@@ -1,5 +1,10 @@
#include "Player/LinkStateMove.hpp"
-LinkStateMove::LinkStateMove(PlayerLinkBase *link) :
- LinkStateBase(link) {}
-LinkStateMove::~LinkStateMove() {}
+THUMB LinkStateMove::LinkStateMove(PlayerLinkBase *link) :
+ LinkStateBase(link),
+ mUnk_0c(0),
+ mUnk_14(false),
+ mUnk_15(false),
+ mUnk_16(false) {}
+
+THUMB LinkStateMove::~LinkStateMove() {}
diff --git a/src/05/Player/LinkStateMove.cpp b/src/05/Player/LinkStateMove.cpp
index 367fd3f9..0ca48089 100644
--- a/src/05/Player/LinkStateMove.cpp
+++ b/src/05/Player/LinkStateMove.cpp
@@ -1,5 +1,247 @@
#include "Player/LinkStateMove.hpp"
+#include "DTCM/UnkStruct_027e0d38.hpp"
+#include "Player/LinkStateDamage.hpp"
+#include "Player/LinkStateFollow.hpp"
+#include "Player/LinkStateInteract.hpp"
+#include "Player/LinkStateItem.hpp"
+#include "Player/LinkStateRoll.hpp"
+#include "Player/PlayerControl.hpp"
+#include "Save/AdventureFlags.hpp"
+#include "Unknown/UnkStruct_02037750.hpp"
-void LinkStateMove::func_ov005_021113d0() {}
-void LinkStateMove::vfunc_1c() {}
-bool LinkStateMove::vfunc_3c() {}
+class UnkFilterActor : public FilterActorBase {
+public:
+ /* 00 (base) */
+ /* 04 */ Actor *mActor;
+ /* 08 */ q20 mUnk_08;
+ /* 0c */ Vec3p mPos;
+ /* 18 */ s16 mAngle;
+ /* 1a */
+
+ /* 0 */ virtual bool Filter(Actor *actor) override;
+ /* 4 */
+};
+
+struct UnkStruct_ov005_021123ac {
+ /* 00 */ unk32 mUnk_00;
+ /* 04 */ unk32 mUnk_04;
+ /* 08 */ unk32 mUnk_08;
+ /* 0c */ unk32 mUnk_0c;
+ /* 10 */
+};
+
+ARM void LinkStateMove::func_ov005_021113d0() {
+ mUnk_12 = 10;
+}
+
+static q4 data_ov005_02112be4 = FLOAT_TO_Q20(16 / 15.0);
+static q20 data_ov005_02112be8 = FLOAT_TO_Q20(1 / 64.0);
+static q20 data_ov005_02112bec = FLOAT_TO_Q20(1 / 3.0);
+static const Vec3p data_ov005_021123ac = {
+ FLOAT_TO_Q20(0.0122),
+ FLOAT_TO_Q20(1.0),
+ FLOAT_TO_Q20(0.0),
+};
+static Vec3p data_ov005_02112bf0 = {
+ FLOAT_TO_Q20(0.3),
+ FLOAT_TO_Q20(0.25),
+ FLOAT_TO_Q20(0.01),
+};
+static const volatile q20 data_ov005_021123b8 = FLOAT_TO_Q20(15.0);
+
+extern LinkStateFollow *GetLinkStateFollow();
+extern unk32 data_027e0618;
+extern "C" bool Lerp(s32 *pValue, s32 dest, s32 factor, unk32 param4, u32 step);
+extern unk32 data_027e0ffc;
+extern "C" void func_ov000_020ceacc(unk32 *param1, unk32 param2, Vec3p *param3, unk32 param4);
+ARM void LinkStateMove::vfunc_1c() {
+ Actor *grabActor = this->GetGrabActor();
+ Vec3p sp4C;
+ s32 temp_r7 = GetLinkStateFollow()->func_ov00_020a9180(&sp4C);
+ s32 temp_r0 = UnkStruct_02037750::GetLinkStateInteract()->func_ov00_020ab770(&sp4C);
+ bool var_r9;
+ if ((temp_r0 == 0) && (temp_r7 == 0)) {
+ var_r9 = false;
+ } else {
+ var_r9 = true;
+ }
+ LinkStateDamage *damage = (LinkStateDamage *) GetLinkState(LinkStateId_Damage);
+ if (damage->vfunc_20(var_r9) != 0) {
+ this->ChangeLinkState(LinkStateId_Damage);
+ return;
+ }
+ if ((gAdventureFlags->func_ov00_02097738() == 0) && (data_027e0d38->mUnk_14 != 1)) {
+ LinkStateInteract *interact = (LinkStateInteract *) GetLinkState(LinkStateId_Interact);
+ if (interact->vfunc_20(var_r9) != 0) {
+ this->ChangeLinkState(LinkStateId_Interact);
+ return;
+ }
+ LinkStateFollow *follow = (LinkStateFollow *) GetLinkState(LinkStateId_Follow);
+ if (follow->vfunc_20(var_r9) != 0) {
+ this->ChangeLinkState(LinkStateId_Follow);
+ return;
+ }
+ LinkStateRoll *roll = (LinkStateRoll *) GetLinkState(LinkStateId_Roll);
+ if (roll->vfunc_20(var_r9) != 0) {
+ this->ChangeLinkState(LinkStateId_Roll);
+ return;
+ }
+ LinkStateItem *item = (LinkStateItem *) GetLinkState(LinkStateId_Item);
+ if (item->vfunc_20(var_r9) != 0) {
+ this->ChangeLinkState(LinkStateId_Item);
+ return;
+ }
+ }
+ if ((temp_r0 == 2) || (temp_r7 == 8)) {
+ this->UpdateSwordShieldInUse();
+ } else {
+ if ((temp_r0 == 3) || (temp_r0 == 4) || (temp_r0 == 5) || (temp_r7 == 3) || (temp_r7 == 4) || (temp_r7 == 5) ||
+ (temp_r7 == 9) || ((temp_r7 - 0xD) <= 1U))
+ {
+ this->EquipItem_vfunc_28();
+ }
+ }
+ if (data_027e0618 != 6) {
+ s32 temp_r7_2 = gPlayerControl->func_ov00_020b0418();
+ if ((this->func_ov00_020a8f2c() == 0) && (temp_r7_2 > 0)) {
+ mUnk_0c = temp_r7_2;
+ }
+ if (mUnk_0c > 0) {
+
+ q4 temp_r8 = data_ov005_02112be4;
+ s16 temp_r1 = *this->GetPlayerAngle() + this->Get_PlayerControlData_Unk32();
+ this->TurnTo(temp_r1, temp_r1, temp_r8);
+ s32 temp_r1_2 = mUnk_0c;
+ if (temp_r7_2 > temp_r1_2) {
+ temp_r1_2 = temp_r7_2 - temp_r1_2;
+ Lerp(&mUnk_0c, temp_r7_2 + temp_r1_2, data_ov005_02112bec, MUL_Q20(data_ov005_02112be8, data_ov005_02112bec),
+ 0x7FFFFFFF);
+ if (mUnk_0c > FLOAT_TO_Q20(1.0)) {
+ mUnk_0c = FLOAT_TO_Q20(1.0);
+ }
+ } else {
+ Lerp(&mUnk_0c, temp_r7_2, data_ov000_020e56f0, MUL_Q20(data_ov005_02112be8, data_ov000_020e56f0), 0x7FFFFFFF);
+ }
+ }
+ }
+ s32 var_r4;
+ if (mUnk_16 != 1) {
+ if (var_r9 != 0) {
+ Vec3p sp40 = {0, 0, 0};
+ sp40.x = sp4C.x - this->GetPlayerPos()->x;
+ sp40.z = sp4C.z - this->GetPlayerPos()->z;
+ if (Vec3p_Length(&sp40) > FLOAT_TO_Q20(0.2)) {
+ var_r4 = this->func_ov005_0210f808(FLOAT_TO_Q20(1.0), &sp4C, grabActor != NULL);
+ } else {
+ gPlayerControl->StopFollowing();
+ }
+ } else {
+ s32 temp_r1_3 = gPlayerControl->func_ov00_020b034c();
+ var_r4 = this->func_ov005_0210f808(temp_r1_3, NULL, grabActor != NULL);
+ if (gAdventureFlags->func_ov00_02097750() == 0) {
+ UnkFilterActor filter;
+ filter.mActor = NULL;
+ filter.mUnk_08 = FLOAT_TO_Q20(4.0);
+ Vec3p pos = *this->GetPlayerPos();
+ filter.mPos = pos;
+ filter.mAngle = *this->GetPlayerAngle();
+ if (gActorManager->FilterActors(&filter, NULL) > 0) {
+ q20 temp_r1_4 = FLOAT_TO_Q20(4.0) - filter.mUnk_08;
+ Vec3p spC = filter.mActor->mPos;
+ spC.y += filter.mActor->mYOffset;
+ q20 var_r2 = MUL_Q20(temp_r1_4, FLOAT_TO_Q20(0.25)) + FLOAT_TO_Q20(0.1);
+ if (var_r2 >= FLOAT_TO_Q20(1.0)) {
+ var_r2 = FLOAT_TO_Q20(1.0);
+ }
+ this->func_ov00_020a81fc(&spC, var_r2);
+ this->func_ov005_021113d0();
+ }
+ }
+ if (mUnk_12 > 0) {
+ this->func_ov005_021107fc();
+ mUnk_12 -= 1;
+ } else if ((this->Get_PlayerLinkBase_Unk5e() != 0) && (var_r4 == 0)) {
+ this->func_ov00_020a8294(0, FLOAT_TO_Q20(0.2));
+ this->func_ov00_020a827c(0, FLOAT_TO_Q20(0.2));
+ }
+ if ((grabActor != NULL) && (grabActor->mType == ActorTypeId_Cucco)) {
+ if (this->func_ov00_020a8b80() != 0) {
+ mUnk_10 = 0x19;
+ } else if (mUnk_10 > 0) {
+ *(unk16 *) ((u32) this->func_ov00_020a8d40() + 0xa8) = 0x4CD;
+ if (mUnk_10 == 0x19) {
+ func_ov000_020ceacc(&data_027e0ffc, 0x23D, this->GetPlayerPos(), 0);
+ }
+ mUnk_10 -= 1;
+ } else {
+ LinkStateInteract *interact = UnkStruct_02037750::GetLinkStateInteract();
+ interact->SetGrabActorVelocity(this->GetPlayerVel());
+ }
+ }
+ }
+ }
+ if (this->GetGrabActor() == NULL) {
+ if (var_r4 <= data_ov005_02112bf0.x) {
+ this->func_ov005_021112ec();
+ }
+ if (mUnk_15) {
+ if (!mUnk_16) {
+ this->func_ov00_020a8a4c(&data_ov005_021123ac, 0);
+ this->func_ov00_020a8ad0(0);
+ mUnk_16 = true;
+ } else if (mUnk_0c > 0) {
+ q20 temp_r4 = data_ov005_021123b8;
+ if (this->func_ov00_020a8d6c() >= temp_r4) {
+ this->func_ov00_020a8ad0(this->func_ov00_020a8d6c() - (temp_r4 - FLOAT_TO_Q20(7.0)));
+ }
+ } else {
+ mUnk_15 = false;
+ mUnk_16 = false;
+ }
+ }
+ ActorRef sp4;
+ sp4.Reset();
+ this->PlayerLinkBase_vfunc_58(0, &sp4);
+ return;
+ }
+ this->PlayerLinkBase_vfunc_58(1, this->GetGrabActorRef());
+}
+
+ARM bool LinkStateMove::vfunc_3c() {
+ if ((gPlayerControl->GetFollowActor() == NULL) && (gPlayerControl->mFollowObject == NULL) &&
+ (this->Get_PlayerControlData_Unk120() != 2) && (this->Get_PlayerControlData_Unk120() != 3))
+ {
+ return true;
+ }
+ return false;
+}
+
+ARM bool UnkFilterActor::Filter(Actor *actor) {
+ if (!actor->mVisible) {
+ return false;
+ }
+
+ s32 temp_r0 = actor->mUnk_12c;
+ if ((temp_r0 != 2) && (temp_r0 != 5)) {
+ return false;
+ }
+
+ Vec3p sp0;
+ Vec3p_Sub(&actor->mPos, &mPos, &sp0);
+ s16 angle2 = mAngle;
+ s16 angle1 = (s16) Atan2(sp0.x, sp0.z);
+ s32 var_r6 = (s16) (angle1 - angle2) >> 3;
+ if (var_r6 < 0) {
+ var_r6 = -var_r6;
+ }
+
+ q20 length = Vec3p_Length(&sp0);
+ s32 temp_r2 = length + MUL_Q20(var_r6, FLOAT_TO_Q20(4.0));
+ if (temp_r2 < mUnk_08) {
+ mActor = actor;
+ mUnk_08 = temp_r2;
+ return true;
+ }
+
+ return false;
+}
diff --git a/src/14_Land/Actor/ActorRupee.cpp b/src/14_Land/Actor/ActorRupee.cpp
index 80857246..23ac82dc 100644
--- a/src/14_Land/Actor/ActorRupee.cpp
+++ b/src/14_Land/Actor/ActorRupee.cpp
@@ -5,7 +5,6 @@
#include "System/Random.hpp"
extern "C" {
-void func_ov000_0207a1c8(bool *param_1, unk32 param_2, Vec3p *param_3);
void func_0202bc38(unk32 param_1, Vec3p *param_2, u32 param_3, Actor_UnkStruct_012 *param_4, bool);
void func_ov005_02102c2c(u32 *param_1, int param_2, Vec3p *param_3, int param_4, int param_5, u32 param_6, int param_7,
char param_8, char param_9, char param_10);
@@ -37,7 +36,7 @@ ActorRupee::ActorRupee() {
}
// https://decomp.me/scratch/1qjCc
-bool ActorRupee::vfunc_08() {
+bool ActorRupee::Init() {
u32 dVar5;
u32 iVar7;
@@ -71,9 +70,9 @@ bool ActorRupee::vfunc_08() {
func_ov14_0213b204(0);
break;
case 1:
- q20 x = gRandom->Next(FLOAT_TO_Q20(0.1335));
- q20 y = gRandom->Next(FLOAT_TO_Q20(0.2));
- q20 z = gRandom->Next(FLOAT_TO_Q20(0.1335));
+ q20 x = gRandom.Next(FLOAT_TO_Q20(0.1335));
+ q20 y = gRandom.Next(FLOAT_TO_Q20(0.2));
+ q20 z = gRandom.Next(FLOAT_TO_Q20(0.1335));
mVel.x = x - FLOAT_TO_Q20(0.0666);
mVel.y = y + FLOAT_TO_Q20(0.3333);
@@ -263,14 +262,14 @@ void ActorRupee::vfunc_14(u32 param1) {
if (func_ov00_020c313c(param1)) {
Update(false);
}
- func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
+ mUnk_0a4.func_ov000_0207a1c8(param1, &mPos);
}
void ActorRupee::vfunc_18(u32 param1) {
if (func_ov00_020c313c(param1)) {
Update(true);
}
- func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
+ mUnk_0a4.func_ov000_0207a1c8(param1, &mPos);
}
#define VFUNC20_COND (param1 ? mUnk_0a4.mUnk_01 : mUnk_0a4.mUnk_00)
diff --git a/src/14_Land/Actor/Player/ActorArrow.cpp b/src/14_Land/Actor/Player/ActorArrow.cpp
index 48d27797..96529bf4 100644
--- a/src/14_Land/Actor/Player/ActorArrow.cpp
+++ b/src/14_Land/Actor/Player/ActorArrow.cpp
@@ -11,7 +11,7 @@ void ActorArrow::func_ov014_0211fd80(unk32 param1) {}
void ActorArrow::func_ov014_0211fd90() {}
ActorArrow::ActorArrow() {}
ActorArrow::~ActorArrow() {}
-bool ActorArrow::vfunc_08() {}
+bool ActorArrow::Init() {}
bool ActorArrow::CollidesWith(Actor *other) {}
void ActorArrow::func_ov014_021200d4() {}
void ActorArrow::func_ov014_02120118() {}
diff --git a/src/14_Land/Actor/Player/ActorBlast.cpp b/src/14_Land/Actor/Player/ActorBlast.cpp
index 0f892335..06f82f63 100644
--- a/src/14_Land/Actor/Player/ActorBlast.cpp
+++ b/src/14_Land/Actor/Player/ActorBlast.cpp
@@ -6,7 +6,7 @@ ActorBlast *ActorBlast::Create() {}
void ActorBlast_Unk1::vfunc_10(s32 *param1) {}
ActorBlast::ActorBlast() {}
ActorBlast::~ActorBlast() {}
-bool ActorBlast::vfunc_08() {}
+bool ActorBlast::Init() {}
void ActorBlast::vfunc_14(u32 param1) {}
ActorBlast_Unk1::~ActorBlast_Unk1() {}
void ActorBlast::vfunc_18(u32 param1) {}
diff --git a/src/14_Land/Actor/Player/ActorBomb.cpp b/src/14_Land/Actor/Player/ActorBomb.cpp
index 1ee7c1bc..91224f12 100644
--- a/src/14_Land/Actor/Player/ActorBomb.cpp
+++ b/src/14_Land/Actor/Player/ActorBomb.cpp
@@ -9,7 +9,7 @@ ActorBomb::ActorBomb() {}
ActorBomb_Unk2::~ActorBomb_Unk2() {}
ActorBomb::~ActorBomb() {}
ActorBomb_Unk2::ActorBomb_Unk2() {}
-bool ActorBomb::vfunc_08() {}
+bool ActorBomb::Init() {}
void ActorBomb::vfunc_14(u32 param1) {}
ActorBomb_Unk1::~ActorBomb_Unk1() {}
void ActorBomb::vfunc_18(u32 param1) {}
diff --git a/src/14_Land/Actor/Player/ActorRefill.cpp b/src/14_Land/Actor/Player/ActorRefill.cpp
new file mode 100644
index 00000000..91efd351
--- /dev/null
+++ b/src/14_Land/Actor/Player/ActorRefill.cpp
@@ -0,0 +1,340 @@
+#include "Actor/Player/ActorRefill.hpp"
+#include "DTCM/UnkStruct_027e0d38.hpp"
+#include "DTCM/UnkStruct_027e103c.hpp"
+#include "Item/ItemManager.hpp"
+#include "System/Random.hpp"
+
+static char *sShipTypes[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
+
+extern u32 **data_027e0fe0[];
+ARM ActorRefillBombs *ActorRefillBombs::Create() {
+ return new(*data_027e0fe0[0], 4) ActorRefillBombs();
+}
+ActorType ActorRefillBombs::gType = ActorType(ActorTypeId_RefillBombs, (ActorCreateFunc) ActorRefillBombs::Create, NULL);
+
+ARM ActorRefillBombchus *ActorRefillBombchus::Create() {
+ return new(*data_027e0fe0[0], 4) ActorRefillBombchus();
+}
+ActorType ActorRefillBombchus::gType =
+ ActorType(ActorTypeId_RefillBombchus, (ActorCreateFunc) ActorRefillBombchus::Create, NULL);
+
+ARM ActorRefillArrows *ActorRefillArrows::Create() {
+ return new(*data_027e0fe0[0], 4) ActorRefillArrows();
+}
+ActorType ActorRefillArrows::gType = ActorType(ActorTypeId_RefillArrows, (ActorCreateFunc) ActorRefillArrows::Create, NULL);
+
+ARM ActorRefillTime *ActorRefillTime::Create() {
+ return new(*data_027e0fe0[0], 4) ActorRefillTime();
+}
+ActorType ActorRefillTime::gType = ActorType(ActorTypeId_RefillTime, (ActorCreateFunc) ActorRefillTime::Create, NULL);
+
+ARM ActorLSTM *ActorLSTM::Create() {
+ return new(*data_027e0fe0[0], 4) ActorLSTM();
+}
+ActorType ActorLSTM::gType = ActorType(ActorTypeId_LSTM, (ActorCreateFunc) ActorLSTM::Create, NULL);
+
+ARM ActorRefill::ActorRefill(unk32 param1) :
+ mUnk_158(0),
+ mUnk_15c(0x56),
+ mUnk_160(param1),
+ mUnk_164(0x1f) {}
+
+ARM ActorRefill::~ActorRefill() {}
+
+ARM bool ActorRefill::Init() {
+ ItemManager *itemManager;
+
+ if (this->GetAmmoItem() == ItemFlag_None) {
+ if (data_027e0d38->func_ov000_02078b40() != 3) {
+ return false;
+ }
+ } else {
+ ItemManager *itemManager = gItemManager;
+ ItemFlag item = this->GetAmmoItem();
+ if (!itemManager->HasItem(item)) {
+ return false;
+ }
+ }
+ mHitbox.pos.x = 0;
+ mHitbox.pos.y = FLOAT_TO_Q20(0.3);
+ mHitbox.pos.z = 0;
+ mHitbox.size = FLOAT_TO_Q20(0.3);
+ mUnk_08c.pos.x = mHitbox.pos.x;
+ mUnk_08c.pos.y = mHitbox.pos.y;
+ mUnk_08c.pos.z = mHitbox.pos.z;
+ mUnk_08c.size = mHitbox.size;
+ mUnk_0a4.mUnk_04.x = 0;
+ mUnk_0a4.mUnk_04.y = FLOAT_TO_Q20(0.3);
+ mUnk_0a4.mUnk_04.z = 0;
+ mUnk_0a4.mUnk_10 = FLOAT_TO_Q20(1.3);
+ mUnk_09c.mUnk_0 &= ~0xa4;
+ mUnk_09c.mUnk_3 = 1;
+ mMaxFall = mUnk_08c.size + -1;
+ this->func_ov014_02135364(0);
+ return true;
+}
+
+extern unk32 data_ov000_020eec9c;
+extern "C" void func_ov000_020d7ad4(unk32 *param1, unk32 param2);
+ARM void ActorRefill::vfunc_14(u32 param1) {
+ s32 temp_r0_4;
+ s32 temp_r6;
+ s8 var_r0;
+ u32 temp_r0;
+ u32 temp_r0_3;
+ u32 temp_r1;
+ Vec3p *temp_r0_2;
+
+ if (this->func_ov00_020c313c(param1) != 0) {
+ this->IncreaseActiveFrames();
+ temp_r0 = mUnk_130;
+ switch (temp_r0) {
+ case 0:
+ this->ApplyGravity();
+ temp_r0_2 = &mPos;
+ Vec3p_Add(temp_r0_2, &mVel, temp_r0_2);
+ this->func_01fffd04(0);
+ if (mUnk_110 || mUnk_112 || mUnk_113) {
+ mVel.x = 0;
+ mVel.z = 0;
+ }
+ if (mUnk_111) {
+ this->func_ov014_02135364(1);
+ } else if (this->func_ov00_020c2c0c()) {
+ this->func_ov014_02135364(4);
+ } else if (this->func_ov00_020c2d54()) {
+ this->func_ov014_02135364(5);
+ }
+ break;
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ if (this->CollidesWithPlayer(PlayerCollide_PickupFlags) != 0) {
+ if (this->GetAmmoItem() == -1) {
+ data_027e103c->func_ov000_020cfbf0(mUnk_158 * 60, 1, 0);
+ } else {
+ ItemManager *itemManager = gItemManager;
+ itemManager->GiveAmmo(this->GetAmmoItem(), mUnk_158);
+ }
+ func_ov000_020d7ad4(&data_ov000_020eec9c, 0x100);
+ this->func_ov014_02135364(3);
+ } else {
+ temp_r0_3 = mUnk_130;
+ switch (temp_r0_3) {
+ case 0:
+ case 3: break;
+ case 1:
+ if (this->func_ov00_020c2c0c()) {
+ this->func_ov014_02135364(4);
+ } else if (this->func_ov00_020c2d54()) {
+ this->func_ov014_02135364(5);
+ } else if (mActiveFrames >= 180) {
+ this->func_ov014_02135364(2);
+ }
+ break;
+ case 2:
+ if (mActiveFrames % 8 < 4) {
+ mUnk_164 = 0;
+ } else {
+ mUnk_164 = 31;
+ }
+ if (this->func_ov00_020c2c0c()) {
+ this->func_ov014_02135364(4);
+ } else if (this->func_ov00_020c2d54()) {
+ this->func_ov014_02135364(5);
+ } else if (mActiveFrames >= 60) {
+ this->func_ov014_02135364(3);
+ }
+ break;
+ case 4:
+ if (!this->func_ov00_020c2c70()) {
+ this->func_ov014_02135364(1);
+ }
+ break;
+ case 5:
+ if (!this->func_ov00_020c2de4()) {
+ this->func_ov014_02135364(1);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ this->KillInBounds();
+ }
+ mUnk_0a4.func_ov000_0207a1c8(param1, &mPos);
+}
+
+ARM bool ActorRefill::func_ov014_02135364(unk32 param1) {
+ mUnk_130 = param1;
+ mUnk_164 = 31;
+ mActiveFrames = 0;
+ switch (mUnk_130) {
+ case 0:
+ case 2: break;
+ case 1:
+ mVel.x = 0;
+ mVel.y = 0;
+ mVel.z = 0;
+ break;
+ case 3: this->Kill(); break;
+ }
+ return true;
+}
+
+extern "C" void func_0202bc38(bool param1, Vec3p *pos, unk32 param2, Actor_UnkStruct_012 *param3, unk32 param4);
+extern u32 data_ov000_020e9370[];
+extern "C" void func_ov005_02102c2c(u32 *param_1, int param_2, Vec3p *param_3, int param_4, int param_5, u32 param_6,
+ int param_7, char param_8, char param_9, char param_10);
+ARM void ActorRefill::vfunc_20(bool param1) {
+ bool var_r0;
+
+ if (param1) {
+ var_r0 = mUnk_0a4.mUnk_01;
+ } else {
+ var_r0 = mUnk_0a4.mUnk_00;
+ }
+ if (var_r0 && mUnk_164 != 0) {
+ Actor_UnkStruct_012 sp18;
+ sp18.mUnk_04 = 5;
+ sp18.mUnk_08 = 2;
+ sp18.mUnk_0c = 2;
+ sp18.mUnk_14 = 0x800;
+ sp18.mUnk_18 = 0x1000;
+ sp18.mUnk_02 = mUnk_164;
+ func_0202bc38(param1, &mPos, mUnk_15c, &sp18, 0);
+ func_ov005_02102c2c(&data_ov000_020e9370[0], 0, &mPos, 0x400, 0x400, 0, mUnk_164, 0, 0, 1);
+ }
+}
+
+extern unk32 *data_027e0e58;
+extern "C" void func_ov000_0207c1b0(unk32 *param1, unk32 param2, Vec3p *param3, unk32 param4, unk32 param5, unk32 param6);
+ARM void ActorRefill::func_ov014_02135474() {
+ s32 iVar1 = mUnk_130;
+ if (iVar1 != 4 && iVar1 != 5) {
+ func_ov000_0207c1b0(data_027e0e58, 0x241, &mPos, 2, 0, 0);
+ func_ov000_0207c1b0(data_027e0e58, 0x242, &mPos, 2, 0, 0);
+ mAlive = false;
+ }
+}
+
+ARM ActorRefillBombs::ActorRefillBombs() :
+ ActorRefill(0) {
+ mUnk_158 = 3;
+ mUnk_15c = 0x2e;
+}
+
+ARM ActorRefillBombs::~ActorRefillBombs() {}
+
+ARM ItemFlag ActorRefillBombs::GetAmmoItem() {
+ return ItemFlag_BombBag;
+}
+
+ARM ActorRefillBombchus::ActorRefillBombchus() :
+ ActorRefill(1) {
+ mUnk_158 = 3;
+ mUnk_15c = 0x2f;
+}
+
+ARM ActorRefillBombchus::~ActorRefillBombchus() {}
+
+ARM ItemFlag ActorRefillBombchus::GetAmmoItem() {
+ return ItemFlag_BombchuBag;
+}
+
+ARM ActorRefillArrows::ActorRefillArrows() :
+ ActorRefill(2) {
+ mUnk_158 = 5;
+ mUnk_15c = 0x2d;
+}
+
+ARM ActorRefillArrows::~ActorRefillArrows() {}
+
+ARM ItemFlag ActorRefillArrows::GetAmmoItem() {
+ return ItemFlag_Bow;
+}
+
+ARM ActorRefillTime::ActorRefillTime() :
+ ActorRefill(3) {
+ mUnk_158 = 5;
+ mUnk_15c = 0x44;
+}
+
+ARM ActorRefillTime::~ActorRefillTime() {}
+
+ARM bool ActorRefillTime::Init() {
+ if (!ActorRefill::Init()) {
+ return false;
+ }
+ switch (mUnk_020.mUnk_00[0]) {
+ case 2: mUnk_158 = 5; break;
+ case 4: mUnk_158 = 15; break;
+ case 5: mUnk_158 = 30; break;
+ default:
+ case 0:
+ case 1:
+ case 3:
+ s32 temp_ip = gRandom.Next(10);
+ if (temp_ip >= 9) {
+ mUnk_158 = 30;
+ } else if (temp_ip >= 6) {
+ mUnk_158 = 15;
+ } else {
+ mUnk_158 = 5;
+ }
+ break;
+ }
+ switch (mUnk_158) {
+ case 15: mUnk_15c = 0x45; break;
+ case 30: mUnk_15c = 0x46; break;
+ default: mUnk_15c = 0x44; break;
+ }
+ return true;
+}
+
+ARM ItemFlag ActorRefillTime::GetAmmoItem() {
+ return ItemFlag_None;
+}
+
+ARM ActorLSTM::ActorLSTM() :
+ ActorRefill(3) {
+ mUnk_158 = -5;
+ mUnk_15c = 0x47;
+}
+
+ARM ActorLSTM::~ActorLSTM() {}
+
+ARM bool ActorLSTM::Init() {
+ if (!ActorRefill::Init()) {
+ return false;
+ }
+ switch (mUnk_020.mUnk_00[0]) {
+ case 2: mUnk_158 = -5; break;
+ case 4: mUnk_158 = -15; break;
+ case 5: mUnk_158 = -30; break;
+ default:
+ case 0:
+ case 1:
+ case 3:
+ s32 temp_ip = gRandom.Next(10);
+ if (temp_ip >= 9) {
+ mUnk_158 = -30;
+ } else if (temp_ip >= 6) {
+ mUnk_158 = -15;
+ } else {
+ mUnk_158 = -5;
+ }
+ break;
+ }
+ switch (mUnk_158) {
+ case -15: mUnk_15c = 0x48; break;
+ case -30: mUnk_15c = 0x49; break;
+ default: mUnk_15c = 0x47; break;
+ }
+ return true;
+}
+
+ARM ItemFlag ActorLSTM::GetAmmoItem() {
+ return ItemFlag_None;
+}
diff --git a/src/18_Overworld/Map/MapOverworld.cpp b/src/18_Overworld/Map/MapOverworld.cpp
new file mode 100644
index 00000000..5737ea54
--- /dev/null
+++ b/src/18_Overworld/Map/MapOverworld.cpp
@@ -0,0 +1,38 @@
+#include "Map/MapOverworld.hpp"
+
+MapOverworld::MapOverworld(u32 width, u32 height) :
+ MapBase(width, height) {}
+MapOverworld::~MapOverworld() {}
+void MapOverworld::vfunc_08(u32 param_2, u32 param_3, Course *param_4) {}
+void MapOverworld::vfunc_14() {}
+void MapOverworld::vfunc_1c(bool param_2) {}
+void MapOverworld::func_ov018_0215bfc8() {}
+void MapOverworld::vfunc_20(s32 param_2) {}
+void MapOverworld::vfunc_2c() {}
+void MapOverworld::vfunc_94() {}
+unk32 MapOverworld::vfunc_a4() {}
+unk32 MapOverworld::vfunc_54() {}
+unk32 MapOverworld::vfunc_58() {}
+unk32 MapOverworld::vfunc_5c() {}
+unk32 MapOverworld::vfunc_60() {}
+unk32 MapOverworld::vfunc_64() {}
+u32 MapOverworld::func_ov018_0215c34c() {}
+u32 MapOverworld::func_ov018_0215c368() {}
+s32 MapOverworld::func_ov018_0215c380(u8 *param1) {}
+void MapOverworld::vfunc_bc() {}
+void MapOverworld::vfunc_98() {}
+void MapOverworld::vfunc_c0() {}
+unk32 MapOverworld::vfunc_78() {}
+unk32 MapOverworld::vfunc_7c() {}
+unk32 MapOverworld::vfunc_80() {}
+unk8 MapOverworld::vfunc_b0(unk32 param_2, unk32 param_3) {}
+void MapOverworld::func_ov018_0215c650() {}
+void MapOverworld::func_ov018_0215c6ac() {}
+void MapOverworld::func_ov018_0215c6d0() {}
+MapOverworld_Unk1::MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3) :
+ UnkStruct_ov000_020c0c08(0, param2) {}
+void MapOverworld::func_ov018_0215c9ac() {}
+void func_ov018_0215ca24(s32 param1) {}
+void func_ov018_0215ca3c(s32 param1, s32 param2, unk32 param3, unk32 param4) {}
+void func_ov018_0215ca8c(s32 param1) {}
+void MapOverworld::vfunc_4c() {}
diff --git a/src/57_Rope/Actor/Player/ActorRope.cpp b/src/57_Rope/Actor/Player/ActorRope.cpp
index 023f134b..40ab1aa4 100644
--- a/src/57_Rope/Actor/Player/ActorRope.cpp
+++ b/src/57_Rope/Actor/Player/ActorRope.cpp
@@ -5,7 +5,7 @@ ActorRope_Unk_0219a3b0 gUnk_0219a3b0;
void ActorRope_Unk_0219a3b0::vfunc_08(unk16 *param1) {}
void ActorRope_Unk_0219a3b0::vfunc_10(s32 *param1) {}
ActorRope::ActorRope() {}
-bool ActorRope::vfunc_08() {}
+bool ActorRope::Init() {}
q20 ActorRope::func_ov057_0219a5ac() {}
void ActorRope::func_ov057_0219a6b8() {}
void ActorRope::func_ov057_0219a850() {}
diff --git a/src/Main/Debug/DebugHierarchyBase.cpp b/src/Main/Debug/DebugHierarchyBase.cpp
index 75b2f444..cdcb1fb7 100644
--- a/src/Main/Debug/DebugHierarchyBase.cpp
+++ b/src/Main/Debug/DebugHierarchyBase.cpp
@@ -3,17 +3,18 @@
DebugHierarchyBase::DebugHierarchyBase() {}
DebugHierarchyBase::~DebugHierarchyBase() {}
DebugHierarchyNode *DebugHierarchyBase::FindNode(u32 id) {}
-bool DebugHierarchyBase::GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4) {}
+bool DebugHierarchyBase::GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
+ unk32 param6, unk32 param7, unk32 param8) {}
void DebugHierarchyBase::vfunc_08() {}
void DebugHierarchyBase::vfunc_0c() {}
void DebugHierarchyBase::vfunc_10() {}
void DebugHierarchyBase::vfunc_14() {}
void DebugHierarchyBase::vfunc_18() {}
void DebugHierarchyBase::vfunc_1c() {}
-void DebugHierarchyBase::vfunc_20() {}
+void DebugHierarchyBase::vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) {}
void DebugHierarchyBase::vfunc_24() {}
void DebugHierarchyBase::vfunc_28() {}
void DebugHierarchyBase::vfunc_2c() {}
void DebugHierarchyBase::vfunc_30() {}
void DebugHierarchyBase::vfunc_38() {}
-void DebugHierarchyBase::vfunc_3c() {}
+void DebugHierarchyBase::vfunc_3c(unk32 param1, void *param2) {}
diff --git a/src/Main/Player/LinkState.cpp b/src/Main/Player/LinkState.cpp
index b5e5621e..940f126e 100644
--- a/src/Main/Player/LinkState.cpp
+++ b/src/Main/Player/LinkState.cpp
@@ -1,5 +1,5 @@
#include "Player/LinkStateBase.hpp"
-LinkStateBase *GetLinkState(s32 index) {
+LinkStateBase *GetLinkState(LinkStateId index) {
return gLinkStates[index];
}
diff --git a/src/Main/System/OverlayManager.cpp b/src/Main/System/OverlayManager.cpp
index 9c50ebb6..5295fa2d 100644
--- a/src/Main/System/OverlayManager.cpp
+++ b/src/Main/System/OverlayManager.cpp
@@ -1,7 +1,88 @@
#include "System/OverlayManager.hpp"
+#include "global.h"
+#include "nds/overlay.h"
-void OverlayManager::Load(OverlayIndex index, OverlayId id) {}
-void OverlayManager::LoadIfNotLoaded(OverlayIndex index, OverlayId id) {}
-void OverlayManager::Unload(OverlayIndex index) {}
-void OverlayManager::LoadOverlaySetup(s32 index) {}
-void OverlayManager::UnloadOverlaySetup() {}
+struct UnkStruct_020ee698 {
+ /* 00 */ unk8 mUnk_00[0x2C];
+ /* 2c */ unk32 mUnk_2c;
+ /* 30 */
+};
+extern UnkStruct_020ee698 data_ov000_020ee698;
+
+struct OverlaySetup {
+ /* 00 */ unk8 mUnk_00;
+ /* 01 */ unk8 mUnk_01;
+ /* 02 */ unk8 mUnk_02;
+ /* 03 */ unk8 mUnk_03;
+ /* 04 */ OverlayId slot1Overlay;
+ /* 08 */ OverlayId slot2Overlay;
+ /* 0c */ OverlayId slot3Overlay;
+ /* 10 */ OverlayId slot12Overlay;
+ /* 14 */ void *mUnk_14;
+ /* 18 */ void *mUnk_18;
+ /* 1c */
+};
+extern OverlaySetup gOverlaySetups[];
+
+extern u32 *data_027e0ce0[];
+extern "C" void func_ov007_02102850(u32 **);
+extern "C" void func_ov007_021028a0(u32 **);
+
+THUMB void OverlayManager::Load(OverlayIndex index, OverlayId id) {
+ if (id != OverlayId_None) {
+ Overlay_Load(NULL, id);
+ }
+
+ this->mLoadedOverlays[index] = id;
+}
+
+THUMB void OverlayManager::LoadIfNotLoaded(OverlayIndex index, OverlayId id) {
+ OverlayId loadedId = this->mLoadedOverlays[index];
+
+ if (loadedId != id) {
+ this->Unload(index);
+ this->Load(index, id);
+ }
+}
+
+THUMB void OverlayManager::Unload(OverlayIndex index) {
+ if (this->mLoadedOverlays[index] != OverlayId_None) {
+ Overlay_Unload(NULL, this->mLoadedOverlays[index]);
+ this->mLoadedOverlays[index] = OverlayId_None;
+ }
+}
+
+//! TODO: solve the .word issue with the overlay IDs
+//! both functions should match otherwise
+THUMB void OverlayManager::LoadOverlaySetup(s32 index) {
+ OverlayId overlayId;
+ OverlaySetup *pSetup;
+
+ pSetup = &gOverlaySetups[index];
+
+ this->LoadIfNotLoaded(OverlayIndex_1, pSetup->slot1Overlay);
+ this->LoadIfNotLoaded(OverlayIndex_2, pSetup->slot2Overlay);
+
+ if (index == 5) {
+ func_ov007_02102850(data_027e0ce0);
+ } else {
+ overlayId = pSetup->slot12Overlay;
+
+ if (index == 6 && data_ov000_020ee698.mUnk_2c == 2) {
+ overlayId = OverlayId_61;
+ }
+
+ this->Load(OverlayIndex_3, pSetup->slot3Overlay);
+ this->Load(OverlayIndex_12, overlayId);
+ }
+}
+
+THUMB void OverlayManager::UnloadOverlaySetup() {
+ this->Unload(OverlayIndex_12);
+ this->Unload(OverlayIndex_3);
+
+ if (this->mLoadedOverlays[2] == OverlayId_07) {
+ func_ov007_021028a0(data_027e0ce0);
+ this->Unload(OverlayIndex_2);
+ }
+}
diff --git a/src/Main/Unknown/UnkStruct_02063220.cpp b/src/Main/Unknown/UnkStruct_02063220.cpp
index b61fc49c..76d62651 100644
--- a/src/Main/Unknown/UnkStruct_02063220.cpp
+++ b/src/Main/Unknown/UnkStruct_02063220.cpp
@@ -238,7 +238,7 @@ THUMB void UnkStruct_02063220::func_0202f754(unk32 param1) {
data_027e08f8.func_0202f9a0(1);
}
- uVar1 = data_027e05f8.mUnk_02;
+ uVar1 = data_027e05f8.mUnk_2;
uVar4 = data_020562e2[this->mUnk_04];
bVar5 = (uVar1 & uVar4) != 0;
diff --git a/tools/configure.py b/tools/configure.py
index f3c34311..0662b332 100644..100755
--- a/tools/configure.py
+++ b/tools/configure.py
@@ -1,22 +1,34 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
+import json
import os
from pathlib import Path
-import platform
import argparse
import sys
+import subprocess
+from typing import Any
import ninja_syntax
+from get_platform import Platform, get_platform
+
+
+DEFAULT_WIBO_PATH = "./wibo"
parser = argparse.ArgumentParser(description="Generates build.ninja")
-parser.add_argument('-w', type=str, default="./wibo", dest="wine", required=False, help="Path to Wine/Wibo (linux only)")
+parser.add_argument('-w', type=str, default=DEFAULT_WIBO_PATH, dest="wine", required=False, help="Path to Wine/Wibo (linux only)")
+parser.add_argument("--compiler", type=Path, required=False, help="Path to pre-installed compiler root directory")
+parser.add_argument("--no-extract", action="store_true", help="Skip extract step")
+parser.add_argument("--dsd", type=Path, required=False, help="Path to pre-installed dsd CLI")
parser.add_argument('version', help='Game version')
args = parser.parse_args()
# Config
GAME = "ph"
+DSD_VERSION = 'v0.9.1'
+WIBO_VERSION = '0.6.16'
+OBJDIFF_VERSION = 'v2.7.1'
MWCC_VERSION = "2.0/sp1p5"
DECOMP_ME_COMPILER = "mwcc_30_131"
CC_FLAGS = " ".join([
@@ -38,20 +50,32 @@ CC_FLAGS = " ".join([
"-nolink", # Do not link
"-msgstyle gcc", # Use GCC-like messages (some IDEs will make file names clickable)
])
+# Passed to all modules and final arm9.o link
LD_FLAGS = " ".join([
"-proc arm946e", # Target processor
+ "-dead", # Strip unused code
"-nostdlib", # No C/C++ standard library
"-interworking", # Enable ARM/Thumb interworking
- "-m Entry", # Set entry function
"-map closure,unused", # Generate map file
"-msgstyle gcc", # Use GCC-like messages (some IDEs will make file names clickable)
])
+# Only passed to the module links
+MODULE_LD_FLAGS = " ".join([
+ "-library", # Link as a static library
+])
+# Only passed to the final arm9.o link
+ARM9_LD_FLAGS = " ".join([
+ "-m Entry", # Set entry function
+])
DSD_OBJDIFF_ARGS = " ".join([
"--scratch", # Metadata for creating decomp.me scratches
f"--compiler {DECOMP_ME_COMPILER}", # decomp.me compiler name
f'--c-flags "{CC_FLAGS} -lang=c++"',# decomp.me compiler flags
"--custom-make ninja", # Command for rebuilding files
])
+DSD_BASE_FLAGS = " ".join([
+ "--force-color", # Force color output
+])
# Paths
@@ -65,12 +89,13 @@ src_path = root_path / "src"
libs_path = root_path / "libs"
extract_path = root_path / "extract"
tools_path = root_path / "tools"
-mwcc_path = tools_path / "mwccarm" / MWCC_VERSION
+mwcc_root = args.compiler or tools_path / "mwccarm"
+mwcc_path = mwcc_root / MWCC_VERSION
# Includes
includes = [
- str(root_path / "include")
+ root_path / "include"
]
for root, dirs, _ in os.walk(libs_path):
for dir in dirs:
@@ -80,38 +105,141 @@ CC_INCLUDES = " ".join(f"-i {include}" for include in includes)
# Platform info
-EXE = ""
-WINE = ""
-system = platform.system()
-if system == "Windows":
- system = "windows"
- EXE = ".exe"
-elif system == "Linux":
- system = "linux"
- WINE = args.wine
-else:
- print(f"Unknown system '{system}'")
+platform = get_platform()
+if platform is None:
exit(1)
-match platform.machine().lower():
- case "amd64" | "x86_64": machine = "x86_64"
- case machine:
- print(f"Unknown machine: {machine}")
- exit(1)
+EXE = platform.exe
+WINE = args.wine if platform.system != "windows" else ""
+DSD = str(args.dsd or os.path.join('.', str(root_path / f"dsd{EXE}")))
+OBJDIFF = os.path.join('.', str(root_path / f"objdiff-cli{EXE}"))
+CC = os.path.join('.', str(mwcc_path / "mwccarm.exe"))
+LD = os.path.join('.', str(mwcc_path / "mwldarm.exe"))
+PYTHON = sys.executable
-PYTHON = sys.executable
+class Project:
+ def __init__(self, game_version: str, *, platform: Platform, delinks_json: Any | None):
+ self.game_version = game_version
+ '''Version of the game'''
+ self.game_config = config_path / game_version
+ '''Root directory for dsd configs'''
+
+ if not self.game_config.is_dir():
+ print(f"Version '{game_version}' not recognized")
+ exit(1)
+
+ self.platform = platform
+ '''Host platform information'''
+ self.delinks_json = delinks_json
+ '''Delinks JSON data from dsd'''
+
+ self.game_build = build_path / game_version
+ '''Path to build directory'''
+ self.game_extract = extract_path / game_version
+ '''Path to extract directory'''
+
+ self.delinks_files = get_config_files(self.game_config, "delinks.txt")
+ '''Paths to every delinks.txt file'''
+ self.relocs_files = get_config_files(self.game_config, "relocs.txt")
+ '''Paths to every relocs.txt file'''
+ self.symbols_files = get_config_files(self.game_config, "symbols.txt")
+ '''Paths to every symbols.txt file'''
+
+ def dsd_configs(self) -> list[str]:
+ return self.delinks_files + self.relocs_files + self.symbols_files
+
+ def arm9_config_yaml(self) -> Path:
+ return self.game_config / "arm9" / "config.yaml"
+
+ def baserom(self) -> Path:
+ return extract_path / f'baserom_{GAME}_{self.game_version}.nds'
+
+ def build_rom(self) -> str:
+ return f"{GAME}_{self.game_version}.nds"
+
+ def baserom_config(self) -> Path:
+ return self.game_extract / 'config.yaml'
+
+ def build_rom_config(self) -> Path:
+ return self.game_build / "build" / "rom_config.yaml"
+
+ def source_object_files(self) -> list[str]:
+ return [
+ str(self.game_build / source_file.with_suffix(".o"))
+ for source_file in get_c_cpp_files([src_path, libs_path])
+ ]
+
+ def arm9_o(self) -> Path:
+ return self.game_build / "arm9.o"
+
+ def arm9_disassembly_dir(self) -> Path:
+ return self.game_build / "asm"
+
+ def objdiff_report(self) -> Path:
+ return self.game_build / "report.json"
+
+ def modules(self) -> list[Any]:
+ if self.delinks_json is None:
+ return []
+ return self.delinks_json['modules']
+
+ def delink_files(self) -> list[str]:
+ if self.delinks_json is None:
+ return []
+ return [file['delink_file'] for module in self.delinks_json['modules'] for file in module['files']]
+
+ def arm9_lcf_file(self) -> str:
+ if self.delinks_json is None:
+ return ""
+ return self.delinks_json['arm9_lcf_file']
+
+ def module_lcf_files(self) -> list[str]:
+ if self.delinks_json is None:
+ return []
+ return [module['lcf_file'] for module in self.delinks_json['modules']]
+
+
+def can_run_dsd() -> bool:
+ try:
+ output = subprocess.run([DSD, "--version"], capture_output=True, text=True, check=True)
+ version = output.stdout.strip().split(" ")[-1]
+ if not version.startswith("v"):
+ version = "v" + version
+
+ # If it's not the correct version, Ninja will download it and then rerun this script
+ return version == DSD_VERSION
+ except subprocess.CalledProcessError:
+ return False
+ except FileNotFoundError:
+ return False
def main():
- game_version: str = args.version
- game_config = config_path / game_version
- if not game_config.is_dir():
- print(f"Version '{game_version}' not recognized")
- return
+ if platform is None: return
+
+ delinks_json = None
+ if can_run_dsd():
+ out = subprocess.run([
+ DSD,
+ "--force-color",
+ "json",
+ "delinks",
+ "--config-path", config_path / args.version / "arm9" / "config.yaml"
+ ], capture_output=True, text=True, check=True)
+ delinks_json = json.loads(out.stdout)
+
+ project = Project(args.version, platform=platform, delinks_json=delinks_json)
+
with build_ninja_path.open("w") as file:
n = ninja_syntax.Writer(file)
+ n.rule(
+ name="download_tool",
+ command=f'{PYTHON} tools/download_tool.py $tool $tag --path $path'
+ )
+ n.newline()
+
if arm7_bios_path.is_file():
n.variable("arm7_bios_flag", f"--arm7-bios {arm7_bios_path.relative_to(root_path)}")
else:
@@ -120,20 +248,26 @@ def main():
n.rule(
name="extract",
- command="./dsd rom extract --rom $in --output-path $output_path $arm7_bios_flag"
+ command=f"{DSD} {DSD_BASE_FLAGS} rom extract --rom $in --output-path $output_path $arm7_bios_flag"
)
n.newline()
n.rule(
name="delink",
- command="./dsd delink --config-path $config_path"
+ command=f"{DSD} {DSD_BASE_FLAGS} delink --config-path $config_path"
+ )
+ n.newline()
+
+ n.rule(
+ name="disassemble",
+ command=f"{DSD} {DSD_BASE_FLAGS} dis --config-path $config_path --asm-path $output_path --ual"
)
n.newline()
# -MMD excludes all includes instead of just system includes for some reason, so use -MD instead.
- mwcc_cmd = f'{WINE} "{mwcc_path}/mwccarm.exe" {CC_FLAGS} {CC_INCLUDES} $cc_flags -d $game_version -MD -c $in -o $basedir'
- mwcc_implicit = []
- if system != "windows":
+ mwcc_cmd = f'{WINE} "{CC}" {CC_FLAGS} {CC_INCLUDES} $cc_flags -d $game_version -MD -c $in -o $basedir'
+ mwcc_implicit = [CC]
+ if platform.system != "windows":
transform_dep = "tools/transform_dep.py"
mwcc_cmd += f" && $python {transform_dep} $basefile.d $basefile.d"
mwcc_implicit.append(transform_dep)
@@ -146,31 +280,37 @@ def main():
n.rule(
name="lcf",
- command="./dsd lcf -c $config_path --lcf-file $lcf_file --objects-file $objects_file"
+ command=f"{DSD} {DSD_BASE_FLAGS} lcf -c $config_path"
)
n.newline()
n.rule(
name="mwld",
- command=f'{WINE} "{mwcc_path}/mwldarm.exe" {LD_FLAGS} @$objects_file $lcf_file -o $out'
+ command=f'{WINE} "{LD}" {LD_FLAGS} $extra_ld_flags $in -o $out'
)
n.newline()
n.rule(
name="rom_config",
- command="./dsd rom config --elf $in --config $config_path"
+ command=f"{DSD} {DSD_BASE_FLAGS} rom config --elf $in --config $config_path"
)
n.newline()
n.rule(
name="rom_build",
- command="./dsd rom build --config $in --rom $out $arm7_bios_flag"
+ command=f"{DSD} {DSD_BASE_FLAGS} rom build --config $in --rom $out $arm7_bios_flag"
)
n.newline()
n.rule(
name="objdiff",
- command=f"./dsd objdiff --config-path $config_path {DSD_OBJDIFF_ARGS}"
+ command=f"{DSD} {DSD_BASE_FLAGS} objdiff --config-path $config_path {DSD_OBJDIFF_ARGS}"
+ )
+ n.newline()
+
+ n.rule(
+ name="objdiff_report",
+ command=f"{OBJDIFF} report generate -o $out"
)
n.newline()
@@ -181,69 +321,170 @@ def main():
n.newline()
n.rule(
+ name="check_modules",
+ command=f"{DSD} {DSD_BASE_FLAGS} check modules --config-path $config_path --fail"
+ )
+ n.newline()
+
+ n.rule(
+ name="check_symbols",
+ command=f"{DSD} {DSD_BASE_FLAGS} check symbols --config-path $config_path --elf-path $elf_path --fail --max-lines 20"
+ )
+ n.newline()
+
+ n.rule(
+ name="apply",
+ command=f"{DSD} {DSD_BASE_FLAGS} apply --config-path $config_path --elf-path $elf_path"
+ )
+ n.newline()
+
+ n.rule(
name="sha1",
command=f"{PYTHON} tools/sha1.py $in -c $sha1_file"
)
n.newline()
- game_build = build_path / game_version
- game_extract = extract_path / game_version
+ configure_cmdline = subprocess.list2cmdline(sys.argv[1:])
+ n.rule(
+ name="configure",
+ command=f"{PYTHON} tools/configure.py {configure_cmdline}",
+ generator=True
+ )
+ n.newline()
+
+ add_download_tool_builds(n, project)
+ add_extract_build(n, project)
+ add_delink_and_lcf_builds(n, project)
+ add_disassemble_builds(n, project)
+ add_mwcc_builds(n, project, mwcc_implicit)
+ add_mwld_and_rom_builds(n, project)
+ add_check_builds(n, project)
+ add_objdiff_builds(n, project)
+ add_configure_build(n, project)
+ add_apply_build(n, project)
+
+ n.default(["objdiff", "check", "sha1"])
- add_extract_build(n, game_extract, game_version)
- add_delink_and_lcf_builds(n, game_config, game_build, game_extract)
- add_mwcc_builds(n, game_version, game_build, mwcc_implicit)
- add_mwld_and_rom_builds(n, game_build, game_config, game_version)
+def add_download_tool_builds(n: ninja_syntax.Writer, project: Project):
+ if args.dsd is None:
+ n.build(
+ rule="download_tool",
+ outputs=DSD,
+ variables={
+ "tool": "dsd",
+ "tag": DSD_VERSION,
+ "path": DSD,
+ },
+ )
+ n.newline()
-def add_extract_build(n: ninja_syntax.Writer, game_extract: Path, game_version: str):
- rom_path = extract_path / f'baserom_{GAME}_{game_version}.nds'
- rom_config = game_extract / 'config.yaml'
n.build(
- inputs=str(rom_path),
- rule="extract",
- outputs=str(rom_config),
+ rule="download_tool",
+ outputs=OBJDIFF,
variables={
- "output_path": str(game_extract)
+ "tool": "objdiff",
+ "tag": OBJDIFF_VERSION,
+ "path": OBJDIFF,
}
)
n.newline()
+ if args.compiler is None:
+ n.build(
+ rule="download_tool",
+ outputs=[CC, LD],
+ variables={
+ "tool": "mwccarm",
+ "tag": "latest",
+ "path": str(tools_path),
+ },
+ )
+ n.newline()
+
+ if project.platform.system != "windows" and WINE == DEFAULT_WIBO_PATH:
+ n.build(
+ rule="download_tool",
+ outputs=WINE,
+ variables={
+ "tool": "wibo",
+ "tag": WIBO_VERSION,
+ "path": WINE,
+ },
+ )
+ n.newline()
+
+
+def add_extract_build(n: ninja_syntax.Writer, project: Project):
+ if not args.no_extract:
+ n.build(
+ inputs=str(project.baserom()),
+ implicit=DSD,
+ rule="extract",
+ outputs=str(project.baserom_config()),
+ variables={
+ "output_path": str(project.game_extract)
+ }
+ )
+ n.newline()
+
+
+def add_mwld_and_rom_builds(n: ninja_syntax.Writer, project: Project):
+ n.comment("Link each module separately")
+ for module in project.modules():
+ lcf_file = module['lcf_file']
+ objects_to_link = [file['object_to_link'] for file in module['files']]
+ elf_file = module['elf_file']
+ n.build(
+ inputs=objects_to_link + [lcf_file],
+ implicit=LD,
+ rule="mwld",
+ outputs=elf_file,
+ variables={
+ 'extra_ld_flags': MODULE_LD_FLAGS,
+ }
+ )
+ n.newline()
+
+ n.comment("Link all modules together")
+ module_elf_files = [module['elf_file'] for module in project.modules()]
+ elf_file = str(project.arm9_o())
+ lcf_file = project.arm9_lcf_file()
+ if len(module_elf_files) > 0:
+ n.build(
+ inputs=module_elf_files + [lcf_file],
+ implicit=LD,
+ rule="mwld",
+ outputs=elf_file,
+ variables={
+ 'extra_ld_flags': ARM9_LD_FLAGS,
+ }
+ )
+ n.newline()
-def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_config: Path, game_version: str):
- source_object_files = [
- str(game_build / source_file.with_suffix(".o"))
- for source_file in get_c_cpp_files([src_path, libs_path])
- ]
- lcf_file = str(game_build / "linker_script.lcf")
- objects_file = str(game_build / "objects.txt")
- delink_file = str(game_build / "delinks" / "delink.yaml")
- elf_file = str(game_build / "arm9.o")
n.build(
- inputs=source_object_files + [lcf_file, objects_file, delink_file],
- rule="mwld",
- outputs=elf_file,
- variables={
- "target_dir": game_build,
- "objects_file": objects_file,
- "lcf_file": lcf_file,
- }
+ inputs=elf_file,
+ rule="phony",
+ outputs="arm9",
)
n.newline()
- rom_config_file = str(game_build / "build" / "rom_config.yaml")
+ rom_config_file = str(project.build_rom_config())
n.build(
inputs=elf_file,
+ implicit=DSD,
rule="rom_config",
outputs=rom_config_file,
variables={
- "config_path": game_config / "arm9" / "config.yaml",
+ "config_path": str(project.arm9_config_yaml()),
}
)
n.newline()
- rom_file = f"{GAME}_{game_version}.nds"
+ rom_file = project.build_rom()
n.build(
- inputs=[rom_config_file],
+ inputs=rom_config_file,
+ implicit=DSD,
rule="rom_build",
outputs=rom_file,
)
@@ -267,28 +508,28 @@ def add_mwld_and_rom_builds(n: ninja_syntax.Writer, game_build: Path, game_confi
n.newline()
-def add_mwcc_builds(n: ninja_syntax.Writer, game_version: str, game_build: Path, mwcc_implicit: list[Path]):
+def add_mwcc_builds(n: ninja_syntax.Writer, project: Project, mwcc_implicit: list[str]):
for source_file in get_c_cpp_files([src_path, libs_path]):
- src_obj_path = game_build / source_file
- cc_flags = []
+ src_obj_path = project.game_build / source_file
+ cc_flags: list[str] = []
if is_cpp(source_file): cc_flags.append("-lang=c++")
elif is_c(source_file): cc_flags.append("-lang=c")
n.build(
inputs=str(source_file),
+ implicit=mwcc_implicit,
rule="mwcc",
outputs=str(src_obj_path.with_suffix(".o")),
variables={
- "game_version": game_version,
+ "game_version": project.game_version,
"cc_flags": " ".join(cc_flags),
"basedir": os.path.dirname(src_obj_path),
"basefile": str(src_obj_path.with_suffix("")),
},
- implicit=mwcc_implicit,
)
n.newline()
extension = source_file.suffix
- ctx_file = str(game_build / source_file.with_suffix(f".ctx{extension}"))
+ ctx_file = str(project.game_build / source_file.with_suffix(f".ctx{extension}"))
n.build(
inputs=str(source_file),
rule="m2ctx",
@@ -306,58 +547,103 @@ def get_c_cpp_files(dirs: list[Path]):
yield root / file
-def is_cpp(name: str):
+def is_cpp(name: str | Path):
return Path(name).suffix in [".cpp"]
-def is_c(name: str):
+def is_c(name: str | Path):
return Path(name).suffix in [".c"]
-def add_delink_and_lcf_builds(n: ninja_syntax.Writer, game_config: Path, game_build: Path, game_extract: Path):
- n.comment("Delink ELF binaries when any delinks.txt file is modified")
- delinks_files = get_config_files(game_config, "delinks.txt")
- relocs_files = get_config_files(game_config, "relocs.txt")
- symbols_files = get_config_files(game_config, "symbols.txt")
- rom_config = str(game_extract / 'config.yaml')
- delinks_path = game_build / "delinks"
+def add_delink_and_lcf_builds(n: ninja_syntax.Writer, project: Project):
+ rom_config = str(project.baserom_config())
+ delink_files = project.delink_files()
+ if len(delink_files) > 0:
+ n.comment("Delink ELF binaries when any delinks.txt file is modified")
+ n.build(
+ inputs=project.dsd_configs() + [rom_config],
+ implicit=DSD,
+ rule="delink",
+ outputs=delink_files,
+ variables={
+ "config_path": str(project.arm9_config_yaml()),
+ }
+ )
+ n.newline()
+
+ n.build(
+ inputs=delink_files,
+ rule="phony",
+ outputs="delink"
+ )
+ n.newline()
+
+ lcf_files = project.module_lcf_files() + [project.arm9_lcf_file()]
+ if len(lcf_files) > 1:
+ n.build(
+ inputs=project.delinks_files + [str(rom_config)],
+ implicit=DSD,
+ rule="lcf",
+ outputs=lcf_files,
+ variables={
+ "config_path": str(project.arm9_config_yaml()),
+ }
+ )
+ n.newline()
+
+
+def add_disassemble_builds(n: ninja_syntax.Writer, project: Project):
n.build(
- inputs=delinks_files + relocs_files + symbols_files + [rom_config],
- rule="delink",
- outputs=str(delinks_path / "delink.yaml"),
+ inputs=project.dsd_configs(),
+ implicit=DSD,
+ rule="disassemble",
+ outputs="dis",
variables={
- "config_path": game_config / "arm9" / "config.yaml",
+ "config_path": str(project.arm9_config_yaml()),
+ "output_path": str(project.arm9_disassembly_dir()),
}
)
n.newline()
+
+def add_check_builds(n: ninja_syntax.Writer, project: Project):
n.build(
- inputs=str(delinks_path / "delink.yaml"),
- rule="phony",
- outputs="delink"
+ inputs=str(project.arm9_o()),
+ rule="check_modules",
+ outputs="check_modules",
+ variables={
+ "config_path": str(project.arm9_config_yaml()),
+ },
)
n.newline()
- lcf_file = game_build / "linker_script.lcf"
- objects_file = game_build / "objects.txt"
n.build(
- inputs=delinks_files + [str(rom_config)],
- rule="lcf",
- outputs=[str(lcf_file), str(objects_file)],
+ inputs=str(project.arm9_o()),
+ rule="check_symbols",
+ outputs="check_symbols",
variables={
- "config_path": game_config / "arm9" / "config.yaml",
- "lcf_file": lcf_file,
- "objects_file": objects_file,
- }
+ "config_path": str(project.arm9_config_yaml()),
+ "elf_path": str(project.arm9_o()),
+ },
)
n.newline()
n.build(
- inputs=delinks_files + relocs_files + symbols_files,
+ inputs=["check_modules", "check_symbols"],
+ rule="phony",
+ outputs="check",
+ )
+ n.newline()
+
+
+def add_objdiff_builds(n: ninja_syntax.Writer, project: Project):
+ n.build(
+ inputs=project.dsd_configs(),
+ implicit=DSD,
rule="objdiff",
outputs="objdiff.json",
variables={
- "config_path": game_config / "arm9" / "config.yaml",
+ "config_path": str(project.arm9_config_yaml()),
}
)
n.newline()
@@ -369,8 +655,52 @@ def add_delink_and_lcf_builds(n: ninja_syntax.Writer, game_config: Path, game_bu
)
n.newline()
+ delink_files = [file['delink_file'] for module in project.modules() for file in module['files']]
+ n.build(
+ inputs=["objdiff.json"],
+ implicit=[OBJDIFF] + delink_files + project.source_object_files(),
+ rule="objdiff_report",
+ outputs=str(project.objdiff_report()),
+ )
+ n.newline()
+
+ n.build(
+ inputs=str(project.objdiff_report()),
+ rule="phony",
+ outputs="report",
+ )
+ n.newline()
+
+
+def add_configure_build(n: ninja_syntax.Writer, project: Project):
+ this_file = str(Path(__file__).resolve())
+ n.build(
+ outputs="build.ninja",
+ rule="configure",
+ implicit=[
+ this_file,
+ # Require dsd to exist when rerunning configure.py
+ DSD,
+ *project.dsd_configs(),
+ ]
+ )
+
+
+def add_apply_build(n: ninja_syntax.Writer, project: Project):
+ n.build(
+ inputs=project.dsd_configs() + [str(project.arm9_o())],
+ implicit=DSD,
+ rule="apply",
+ outputs="apply",
+ variables={
+ "config_path": str(project.arm9_config_yaml()),
+ "elf_path": str(project.arm9_o()),
+ }
+ )
+ n.newline()
+
-def get_config_files(game_config: Path, name: str):
+def get_config_files(game_config: Path, name: str) -> list[str]:
return [
f"{root}/{file}"
for root, _, files in os.walk(game_config)
diff --git a/tools/download_tool.py b/tools/download_tool.py
new file mode 100644
index 00000000..755acd8f
--- /dev/null
+++ b/tools/download_tool.py
@@ -0,0 +1,53 @@
+import argparse
+from pathlib import Path
+from get_platform import get_platform
+import zipfile
+import io
+import requests
+import stat
+
+root_path = Path(__file__).parent.parent
+
+
+platform = get_platform()
+if platform is None:
+ exit(1)
+
+parser = argparse.ArgumentParser()
+parser.add_argument("tool")
+parser.add_argument("tag")
+parser.add_argument("--path", type=Path, required=True)
+args = parser.parse_args()
+
+
+def dsd_url(tag: str) -> str:
+ return f'https://github.com/AetiasHax/ds-decomp/releases/download/{tag}/dsd-{platform.system}-{platform.machine}{platform.exe}'
+
+def mwccarm_url(tag: str) -> str:
+ return 'http://decomp.aetias.com/files/mwccarm.zip'
+
+def wibo_url(tag: str) -> str:
+ return f'https://github.com/decompals/wibo/releases/download/{tag}/wibo'
+
+def objdiff_url(tag: str) -> str:
+ return f'https://github.com/encounter/objdiff/releases/download/{tag}/objdiff-cli-{platform.system}-{platform.machine}{platform.exe}'
+
+TOOLS = {
+ "dsd": dsd_url,
+ "mwccarm": mwccarm_url,
+ "wibo": wibo_url,
+ "objdiff": objdiff_url,
+}
+
+
+download_url = TOOLS[args.tool](args.tag)
+print(f'\nDownloading {args.tool} {args.tag}...')
+response = requests.get(download_url)
+if download_url.endswith('.zip'):
+ zip_file = zipfile.ZipFile(io.BytesIO(response.content))
+ zip_file.extractall(args.path)
+else:
+ out_path: Path = args.path
+ with out_path.open('wb') as f:
+ f.write(response.content)
+ out_path.chmod(out_path.stat().st_mode | stat.S_IEXEC)
diff --git a/tools/get_platform.py b/tools/get_platform.py
new file mode 100644
index 00000000..a4fe40d8
--- /dev/null
+++ b/tools/get_platform.py
@@ -0,0 +1,31 @@
+import platform
+
+
+class Platform:
+ def __init__(self, *, system: str, machine: str, exe: str):
+ self.system = system
+ '''Name of operating system: "windows" or "linux"'''
+ self.machine = machine
+ '''Name of machine architecture: "x86_64"'''
+ self.exe = exe
+ '''Executable file extension: ".exe" for Windows, "" otherwise'''
+
+
+def get_platform() -> Platform | None:
+ exe = ""
+ system = platform.system()
+ if system == "Windows":
+ system = "windows"
+ exe = ".exe"
+ elif system == "Linux":
+ system = "linux"
+ else:
+ print(f"Unknown system '{system}'")
+ return None
+ match platform.machine().lower():
+ case "amd64" | "x86_64": machine = "x86_64"
+ case machine:
+ print(f"Unknown machine: {machine}")
+ return None
+
+ return Platform(system=system, machine=machine, exe=exe)
diff --git a/tools/m2ctx.py b/tools/m2ctx.py
index f2275e33..9684424f 100755
--- a/tools/m2ctx.py
+++ b/tools/m2ctx.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import sys
import pyperclip
@@ -36,7 +36,7 @@ INCLUDE_REGEX = r'^\s*#\s*include\s*([<"][\S ]+[>"])\s*$'
# Finds all line comments and multiline comments
COMMENT_REGEX = r'\/\/.*$|\/\*(?:.|\r|\n)+?\*\/'
-with open(args.file, 'r') as f:
+with open(args.file, 'r', encoding=args.encoding) as f:
contents = f.read()
contents = re.sub(COMMENT_REGEX, '', contents, count=0, flags=re.MULTILINE)
includes = re.findall(INCLUDE_REGEX, contents, flags=re.MULTILINE)
diff --git a/tools/ninja_syntax.py b/tools/ninja_syntax.py
index 2aa8456e..e0716e8a 100644
--- a/tools/ninja_syntax.py
+++ b/tools/ninja_syntax.py
@@ -1,5 +1,3 @@
-#!/usr/bin/python
-
# Copyright 2011 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/tools/setup.py b/tools/setup.py
deleted file mode 100644
index f81ca25d..00000000
--- a/tools/setup.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import requests
-import zipfile
-import io
-from pathlib import Path
-import platform
-import stat
-
-DSD_VERSION = 'v0.4.0'
-WIBO_VERSION = '0.6.16'
-
-
-tools_path = Path(__file__).parent
-root_path = tools_path.parent
-
-
-EXE = ""
-system = platform.system()
-if system == "Windows":
- system = "windows"
- EXE = ".exe"
-elif system == "Linux":
- system = "linux"
-else:
- print(f"Unknown system '{system}'")
- exit(1)
-match platform.machine().lower():
- case 'amd64' | 'x86_64': machine = 'x86_64'
- case machine:
- print(f'Unknown machine: {machine}')
- exit(1)
-
-
-print('\nInstalling dsd...')
-response = requests.get(f'https://github.com/AetiasHax/ds-decomp/releases/download/{DSD_VERSION}/dsd-{system}-{machine}{EXE}')
-dsd_path = root_path / f'dsd{EXE}'
-with open(dsd_path, 'wb') as f:
- f.write(response.content)
-dsd_path.chmod(dsd_path.stat().st_mode | stat.S_IEXEC)
-
-
-print('\nInstalling toolchain...')
-response = requests.get('http://decomp.aetias.com/files/mwccarm.zip')
-zip_file = zipfile.ZipFile(io.BytesIO(response.content))
-zip_file.extractall(tools_path)
-
-
-if system == "linux":
- print('\nInstalling wibo...')
- response = requests.get(f'https://github.com/decompals/wibo/releases/download/{WIBO_VERSION}/wibo')
- wibo_path = root_path / 'wibo'
- with open(wibo_path, 'wb') as f:
- f.write(response.content)
- wibo_path.chmod(wibo_path.stat().st_mode | stat.S_IEXEC)
-
diff --git a/tools/sha1.py b/tools/sha1.py
index 8cd6edd8..fd1cbda8 100644..100755
--- a/tools/sha1.py
+++ b/tools/sha1.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
from pathlib import Path
import argparse